summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/acmart/README3
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx29
-rw-r--r--macros/latex/contrib/acmart/acmart.pdfbin918998 -> 949483 bytes
-rw-r--r--macros/latex/contrib/acmart/acmguide.pdfbin439778 -> 439879 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmcp.pdfbin214495 -> 214844 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmengage.pdfbin400681 -> 399476 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmlarge.pdfbin611542 -> 613884 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdfbin634239 -> 636571 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdfbin1056847 -> 1059143 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdfbin624039 -> 626360 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall.pdfbin621531 -> 623848 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdfbin569299 -> 571812 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog.pdfbin569061 -> 571575 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-manuscript.pdfbin623030 -> 625334 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdfbin1048751 -> 1051244 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdfbin622065 -> 624415 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdfbin1060242 -> 1062362 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf.pdfbin1044964 -> 1047421 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigplan.pdfbin1053423 -> 1053423 bytes
-rw-r--r--macros/latex/contrib/aomart/README9
-rw-r--r--macros/latex/contrib/aomart/aom_orcid_logo.eps518
-rw-r--r--macros/latex/contrib/aomart/aom_orcid_logo.pdfbin0 -> 1704 bytes
-rw-r--r--macros/latex/contrib/aomart/aomart.bib16
-rw-r--r--macros/latex/contrib/aomart/aomart.dtx71
-rw-r--r--macros/latex/contrib/aomart/aomart.pdfbin443455 -> 510462 bytes
-rw-r--r--macros/latex/contrib/aomart/aomfrench.pdfbin219930 -> 220195 bytes
-rw-r--r--macros/latex/contrib/aomart/aomsample.bib1
-rw-r--r--macros/latex/contrib/aomart/aomsample.pdfbin507784 -> 518091 bytes
-rw-r--r--macros/latex/contrib/aomart/aomsample.tex5
-rw-r--r--macros/latex/contrib/aomart/aomsample1.pdfbin507775 -> 518086 bytes
-rw-r--r--macros/latex/contrib/aomart/aomsample1.tex5
-rw-r--r--macros/latex/contrib/babel-contrib/french/README.md7
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.pdfbin190506 -> 208890 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.tex159
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.dtx1341
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.pdfbin366313 -> 345846 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md8
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty6
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty6
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty8
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty6
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty11
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdfbin1762744 -> 1762744 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex4
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md15
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/README.md8
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx187
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx19
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx42
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx58
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdfbin276169 -> 295500 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex58
-rw-r--r--macros/latex/contrib/beautybook/Beautybook-EN.cls1166
-rw-r--r--macros/latex/contrib/beautybook/README.md6
-rw-r--r--macros/latex/contrib/beautybook/beautybook-cn.pdf (renamed from macros/latex/contrib/beautybook/Beautybook-cn.pdf)bin6210741 -> 6154021 bytes
-rw-r--r--macros/latex/contrib/beautybook/beautybook-cn.tex (renamed from macros/latex/contrib/beautybook/Beautybook-cn.tex)79
-rw-r--r--macros/latex/contrib/beautybook/beautybook-en.pdfbin3706871 -> 3608208 bytes
-rw-r--r--macros/latex/contrib/beautybook/beautybook-en.tex353
-rw-r--r--macros/latex/contrib/beautybook/beautybook.cls (renamed from macros/latex/contrib/beautybook/Beautybook-CN.cls)572
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/beautybook-logo.pngbin0 -> 34323 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpgbin0 -> 5569816 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/logo.pngbin25086 -> 0 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpgbin0 -> 1688394 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdfbin0 -> 3365 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdfbin0 -> 3672 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdfbin0 -> 3827 bytes
-rw-r--r--macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty125
-rw-r--r--macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty103
-rw-r--r--macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty87
-rw-r--r--macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty55
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty (renamed from macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty)8
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty190
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty162
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty149
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty88
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/README15
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdfbin412844 -> 419434 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex227
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx55
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx136
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx62
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/README.md2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.pdfbin165128 -> 166491 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl-paper.pdfbin79100 -> 79178 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl.cbx3
-rw-r--r--macros/latex/contrib/bxpdfver/LICENSE2
-rw-r--r--macros/latex/contrib/bxpdfver/README-ja.md39
-rw-r--r--macros/latex/contrib/bxpdfver/README.md27
-rw-r--r--macros/latex/contrib/bxpdfver/bxpdfver.sty94
-rw-r--r--macros/latex/contrib/changebar/CATALOG2
-rw-r--r--macros/latex/contrib/changebar/README2
-rw-r--r--macros/latex/contrib/changebar/changebar.bug4
-rw-r--r--macros/latex/contrib/changebar/changebar.dtx158
-rw-r--r--macros/latex/contrib/changebar/changebar.pdfbin486497 -> 483890 bytes
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.pdfbin167712 -> 167985 bytes
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.sty24
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.tex41
-rw-r--r--macros/latex/contrib/cjs-rcs-article/README.md12
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdfbin112323 -> 120472 bytes
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx979
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdfbin176709 -> 190173 bytes
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs6
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs6
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs3
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdfbin38737 -> 38874 bytes
-rw-r--r--macros/latex/contrib/colortbl/colortbl-DE.pdfbin346445 -> 346756 bytes
-rw-r--r--macros/latex/contrib/colortbl/colortbl.dtx38
-rw-r--r--macros/latex/contrib/colortbl/colortbl.pdfbin312112 -> 313437 bytes
-rw-r--r--macros/latex/contrib/count1to/README.md28
-rw-r--r--macros/latex/contrib/count1to/count1to.dtx (renamed from macros/latex/contrib/ms/count1to.dtx)195
-rw-r--r--macros/latex/contrib/count1to/count1to.ins47
-rw-r--r--macros/latex/contrib/count1to/count1to.pdfbin0 -> 552995 bytes
-rw-r--r--macros/latex/contrib/cpssp/README19
-rwxr-xr-xmacros/latex/contrib/cpssp/cpssp412
-rw-r--r--macros/latex/contrib/cpssp/cpssp.dtx1773
-rw-r--r--macros/latex/contrib/cpssp/cpssp.ins82
-rw-r--r--macros/latex/contrib/cpssp/cpssp.pdfbin546864 -> 0 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdfbin183174 -> 191562 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex63
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdfbin1446315 -> 1472616 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex172
-rw-r--r--macros/latex/contrib/customenvs/tex/customenvs.sty408
-rw-r--r--macros/latex/contrib/dashrulex/README.md12
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.pdfbin58940 -> 57722 bytes
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.sty180
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.tex192
-rw-r--r--macros/latex/contrib/delimset/README.txt4
-rw-r--r--macros/latex/contrib/delimset/delimset.dtx1202
-rw-r--r--macros/latex/contrib/delimset/delimset.ins4
-rw-r--r--macros/latex/contrib/delimset/delimset.pdfbin327877 -> 376509 bytes
-rw-r--r--macros/latex/contrib/doibanner/CHANGELOG.md51
-rw-r--r--macros/latex/contrib/doibanner/README.md26
-rw-r--r--macros/latex/contrib/doibanner/doibanner.dtx353
-rw-r--r--macros/latex/contrib/doibanner/doibanner.ins62
-rw-r--r--macros/latex/contrib/doibanner/doibanner.pdfbin0 -> 375402 bytes
-rw-r--r--macros/latex/contrib/easybook/README.md12
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx518
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin632797 -> 626752 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex386
-rw-r--r--macros/latex/contrib/elpres/README.md11
-rw-r--r--macros/latex/contrib/elpres/doc/elpres-example.pdfbin216833 -> 250623 bytes
-rw-r--r--macros/latex/contrib/elpres/doc/elpres-example.tex146
-rw-r--r--macros/latex/contrib/elpres/doc/elpres-manual.pdfbin161486 -> 118410 bytes
-rw-r--r--macros/latex/contrib/elpres/doc/elpres-manual.tex517
-rw-r--r--macros/latex/contrib/elpres/tex/elpres.cls13
-rw-r--r--macros/latex/contrib/ensps-colorscheme/LICENSE415
-rw-r--r--macros/latex/contrib/ensps-colorscheme/Makefile54
-rw-r--r--macros/latex/contrib/ensps-colorscheme/README.md32
-rw-r--r--macros/latex/contrib/ensps-colorscheme/ensps-colorscheme-doc.pdfbin0 -> 212493 bytes
-rw-r--r--macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.dtx171
-rw-r--r--macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.ins60
-rw-r--r--macros/latex/contrib/esami/README6
-rw-r--r--macros/latex/contrib/esami/VERSION2
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-en.pdfbin483307 -> 500412 bytes
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-en.tex4
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-it.pdfbin492308 -> 508695 bytes
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-it.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex84
-rw-r--r--macros/latex/contrib/esami/esami.sty1
-rw-r--r--macros/latex/contrib/fancyhdr/README2
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.dtx244
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.pdfbin875225 -> 880898 bytes
-rw-r--r--macros/latex/contrib/heria/README.md2
-rw-r--r--macros/latex/contrib/heria/heria-proposal.pdfbin313877 -> 311049 bytes
-rw-r--r--macros/latex/contrib/heria/heria.dtx151
-rw-r--r--macros/latex/contrib/heria/heria.ins4
-rw-r--r--macros/latex/contrib/heria/heria.pdfbin303966 -> 301201 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/Changes1
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.pdfbin118777 -> 122767 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.tex28
-rw-r--r--macros/latex/contrib/hvqrurl/latex/hvqrurl.sty12
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt24
-rw-r--r--macros/latex/contrib/hyperref/README.md2
-rw-r--r--macros/latex/contrib/hyperref/doc/backref.pdfbin206469 -> 206469 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.html54
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.pdfbin318424 -> 318416 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.tex2
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc2.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc3.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc4.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc5.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc6.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc7.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc8.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc9.html4
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdfbin439699 -> 438491 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref.pdfbin2343152 -> 2341312 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/nameref.pdfbin172475 -> 172475 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/xr-hyper.pdfbin318270 -> 303974 bytes
-rw-r--r--macros/latex/contrib/hyperref/hluatex.dtx5
-rw-r--r--macros/latex/contrib/hyperref/hyperref-linktarget.dtx2
-rw-r--r--macros/latex/contrib/hyperref/hyperref-patches.dtx2
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx88
-rw-r--r--macros/latex/contrib/hyperref/xr-hyper.dtx8
-rw-r--r--macros/latex/contrib/iwonamath/Makefile6
-rw-r--r--macros/latex/contrib/iwonamath/README7
-rw-r--r--macros/latex/contrib/iwonamath/iwonamath.dtx6
-rw-r--r--macros/latex/contrib/iwonamath/iwonamath.pdfbin502258 -> 503042 bytes
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathcm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/sample.pdfbin382573 -> 379195 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-a-answer.pdfbin112749 -> 113078 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-a-blank.pdfbin98857 -> 99214 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-b-answer.pdfbin112707 -> 112978 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-b-blank.pdfbin98922 -> 99233 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-a-answer.pdfbin69901 -> 69509 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-a-blank.pdfbin66139 -> 65749 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-b-answer.pdfbin69943 -> 69556 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-b-blank.pdfbin66167 -> 65775 bytes
-rw-r--r--macros/latex/contrib/jnuexam/jnuexam.cls8
-rw-r--r--macros/latex/contrib/jnuexam/jnuexam.pdfbin85122 -> 85441 bytes
-rw-r--r--macros/latex/contrib/l3build/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/l3build/README.md2
-rw-r--r--macros/latex/contrib/l3build/l3build-aux.lua16
-rw-r--r--macros/latex/contrib/l3build/l3build-check.lua9
-rw-r--r--macros/latex/contrib/l3build/l3build-help.lua2
-rw-r--r--macros/latex/contrib/l3build/l3build-typesetting.lua5
-rw-r--r--macros/latex/contrib/l3build/l3build.1154
-rw-r--r--macros/latex/contrib/l3build/l3build.dtx8
-rwxr-xr-xmacros/latex/contrib/l3build/l3build.lua2
-rw-r--r--macros/latex/contrib/l3build/l3build.pdfbin750889 -> 750224 bytes
-rw-r--r--macros/latex/contrib/lastpage/README2
-rw-r--r--macros/latex/contrib/lastpage/lastpage-example.pdfbin130201 -> 130263 bytes
-rw-r--r--macros/latex/contrib/lastpage/lastpage.dtx179
-rw-r--r--macros/latex/contrib/lastpage/lastpage.pdfbin440278 -> 465434 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdfbin13371 -> 13371 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdfbin128252 -> 128252 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdfbin168279 -> 168395 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex8
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdfbin73166 -> 73164 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine.pdfbin131712 -> 138232 bytes
-rw-r--r--macros/latex/contrib/lettrine/lettrine.dtx32
-rw-r--r--macros/latex/contrib/linearregression/README.txt41
-rw-r--r--macros/latex/contrib/linearregression/linearregression.dtx1235
-rw-r--r--macros/latex/contrib/linearregression/linearregression.pdfbin0 -> 391146 bytes
-rw-r--r--macros/latex/contrib/linearregression/linearregressionpkg.ins20
-rw-r--r--macros/latex/contrib/listings/listings-devel.pdfbin1451842 -> 1454841 bytes
-rw-r--r--macros/latex/contrib/listings/listings.dtx210
-rw-r--r--macros/latex/contrib/listings/listings.pdfbin1026586 -> 1028632 bytes
-rw-r--r--macros/latex/contrib/listings/lstdrvrs.dtx190
-rw-r--r--macros/latex/contrib/listings/lstdrvrs.pdfbin761854 -> 790575 bytes
-rw-r--r--macros/latex/contrib/lni/CHANGELOG.md16
-rw-r--r--macros/latex/contrib/lni/README.md2
-rw-r--r--macros/latex/contrib/lni/lni-author-template.tex13
-rw-r--r--macros/latex/contrib/lni/lni.dtx108
-rw-r--r--macros/latex/contrib/lni/lni.pdfbin377695 -> 377655 bytes
-rw-r--r--macros/latex/contrib/mailing/CATALOG15
-rw-r--r--macros/latex/contrib/mailing/MANIFEST (renamed from macros/latex/contrib/mailing/manifest.txt)4
-rw-r--r--macros/latex/contrib/mailing/README14
-rw-r--r--macros/latex/contrib/mailing/mailing.dtx38
-rw-r--r--macros/latex/contrib/mailing/mailing.ins42
-rw-r--r--macros/latex/contrib/mailing/mailing.pdfbin66516 -> 148418 bytes
-rw-r--r--macros/latex/contrib/mathastext/README.md142
-rw-r--r--macros/latex/contrib/mathastext/mathastext.dtx5812
-rw-r--r--macros/latex/contrib/mathastext/mathastext.pdfbin661328 -> 739148 bytes
-rw-r--r--macros/latex/contrib/mismath/mismath.dtx707
-rw-r--r--macros/latex/contrib/mismath/mismath.pdfbin438746 -> 454706 bytes
-rw-r--r--macros/latex/contrib/mitthesis/MIT-Thesis.pdfbin486984 -> 484200 bytes
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex119
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex5
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex23
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex7
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex6
-rw-r--r--macros/latex/contrib/mitthesis/README.md27
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdfbin116903 -> 116979 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdfbin118312 -> 118460 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdfbin0 -> 118656 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdfbin118803 -> 118959 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdfbin118681 -> 118821 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdfbin121664 -> 121794 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdfbin132021 -> 132181 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex123
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex3
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex13
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex9
-rwxr-xr-xmacros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh31
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdfbin486372 -> 480892 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdfbin319692 -> 349865 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdfbin151566 -> 152948 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdfbin455381 -> 461124 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdfbin171619 -> 173088 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdfbin269937 -> 278894 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdfbin316317 -> 320084 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdfbin159877 -> 162721 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdfbin161667 -> 164333 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdfbin158014 -> 160667 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex15
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex10
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex15
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt2
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex14
-rwxr-xr-xmacros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh72
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdfbin94846 -> 108977 bytes
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex369
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis.cls257
-rw-r--r--macros/latex/contrib/moderncv/CHANGELOG622
-rw-r--r--macros/latex/contrib/moderncv/KNOWN_BUGS27
-rw-r--r--macros/latex/contrib/moderncv/README.md43
-rw-r--r--macros/latex/contrib/moderncv/manual/moderncv_userguide.pdfbin320611 -> 123425 bytes
-rw-r--r--macros/latex/contrib/moderncv/manual/moderncv_userguide.tex1449
-rw-r--r--macros/latex/contrib/moderncv/moderncv.cls142
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyi.sty45
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyiii.sty50
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyiv.sty39
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyv.sty48
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyvi.sty203
-rw-r--r--macros/latex/contrib/moderncv/moderncvcollection.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorblack.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorblue.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorburgundy.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorcerulean.sty32
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorgreen.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorgrey.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolororange.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorpurple.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorred.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolors.tex35
-rw-r--r--macros/latex/contrib/moderncv/moderncvcompatibility.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncvdebugtools.sty8
-rw-r--r--macros/latex/contrib/moderncv/moderncvfooti.sty14
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadi.sty54
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadii.sty40
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadiii.sty60
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadiv.sty30
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadv.sty57
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadvi.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadvii.sty226
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsacademic.sty26
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsawesome.sty91
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsletters.sty17
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsmarvosym.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncviconssymbols.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncviconstikz.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvskillmatrix.sty408
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylebanking.sty42
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylecasual.sty44
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleclassic.sty42
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylecontemporary.sty63
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleempty.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylefancy.sty47
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty47
-rw-r--r--macros/latex/contrib/moderncv/moderncvverticaltimeline.sty79
-rw-r--r--macros/latex/contrib/moderncv/signature.pngbin0 -> 13746 bytes
-rw-r--r--macros/latex/contrib/moderncv/template.tex71
-rw-r--r--macros/latex/contrib/moderncv/tweaklist.sty2
-rw-r--r--macros/latex/contrib/moremath/MANIFEST.md26
-rw-r--r--macros/latex/contrib/moremath/README.md48
-rw-r--r--macros/latex/contrib/moremath/moremath-doc.pdfbin0 -> 945345 bytes
-rw-r--r--macros/latex/contrib/moremath/moremath.dtx5515
-rw-r--r--macros/latex/contrib/moremath/moremath.ins66
-rw-r--r--macros/latex/contrib/ms/README.md11
-rw-r--r--macros/latex/contrib/ms/count1to.ins112
-rw-r--r--macros/latex/contrib/ms/count1to.pdfbin545999 -> 0 bytes
-rw-r--r--macros/latex/contrib/ms/multitoc.asc12
-rw-r--r--macros/latex/contrib/ms/multitoc.bug11
-rw-r--r--macros/latex/contrib/ms/multitoc.ins116
-rw-r--r--macros/latex/contrib/ms/multitoc.pdfbin110362 -> 0 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/README.md3
-rw-r--r--macros/latex/contrib/msu-thesis/docs/msu-thesis.tex20
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.cls26
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.pdfbin117097 -> 117738 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdfbin139419 -> 140074 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex2
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex23
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdfbin214979 -> 210105 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex8
-rw-r--r--macros/latex/contrib/multitoc/README.md44
-rw-r--r--macros/latex/contrib/multitoc/multitoc.dtx (renamed from macros/latex/contrib/ms/multitoc.dtx)165
-rw-r--r--macros/latex/contrib/multitoc/multitoc.ins47
-rw-r--r--macros/latex/contrib/multitoc/multitoc.pdfbin0 -> 285181 bytes
-rw-r--r--macros/latex/contrib/nicematrix/README.md2
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.dtx1064
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.pdf52976
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdf11210
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex325
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdf11414
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.tex638
-rw-r--r--macros/latex/contrib/orcidlink/README.md19
-rw-r--r--macros/latex/contrib/orcidlink/orcidlink.dtx91
-rw-r--r--macros/latex/contrib/orcidlink/orcidlink.ins4
-rw-r--r--macros/latex/contrib/orcidlink/orcidlink.pdfbin180848 -> 188242 bytes
-rw-r--r--macros/latex/contrib/overarrows/README.md4
-rw-r--r--macros/latex/contrib/overarrows/overarrows.dtx1142
-rw-r--r--macros/latex/contrib/overarrows/overarrows.pdfbin554421 -> 597885 bytes
-rw-r--r--macros/latex/contrib/parnotes/CHANGELOG-from-2016.md17
-rw-r--r--macros/latex/contrib/parnotes/README.md21
-rw-r--r--macros/latex/contrib/parnotes/changes.txt14
-rw-r--r--macros/latex/contrib/parnotes/parnotes.pdfbin57719 -> 57764 bytes
-rw-r--r--macros/latex/contrib/parnotes/parnotes.sty27
-rw-r--r--macros/latex/contrib/parnotes/parnotes.tex8
-rw-r--r--macros/latex/contrib/passopt/README.md18
-rw-r--r--macros/latex/contrib/passopt/passopt.pdfbin0 -> 52494 bytes
-rw-r--r--macros/latex/contrib/passopt/passopt.sty56
-rw-r--r--macros/latex/contrib/passopt/passopt.tex103
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md7
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx18
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin988498 -> 988776 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx31
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin710596 -> 711669 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin602231 -> 602769 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin515190 -> 515851 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin558195 -> 558756 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin541346 -> 541897 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin542807 -> 543358 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin537794 -> 538339 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin593846 -> 594389 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin516025 -> 516578 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin753165 -> 753718 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin567628 -> 568304 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin685171 -> 685930 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx8
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin847957 -> 848504 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx14
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin529823 -> 530707 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin427235 -> 428064 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin586990 -> 587757 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin434032 -> 434746 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin463888 -> 464617 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfpages/pdfpages.dtx29
-rw-r--r--macros/latex/contrib/pdfpages/pdfpages.pdfbin302167 -> 302686 bytes
-rw-r--r--macros/latex/contrib/pdfx/pdfx.pdfbin2442175 -> 2674056 bytes
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.dtx1536
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.ins4
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.xmpdata33
-rw-r--r--macros/latex/contrib/photobook/Makefile22
-rw-r--r--macros/latex/contrib/photobook/README.md7
-rw-r--r--macros/latex/contrib/photobook/photobook.cls92
-rw-r--r--macros/latex/contrib/photobook/photobook.pdfbin145475 -> 146661 bytes
-rw-r--r--macros/latex/contrib/preview/preview.dtx14
-rw-r--r--macros/latex/contrib/preview/preview.pdfbin343466 -> 343806 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/profcollege-doc.pdf (renamed from macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf)bin10330568 -> 10823654 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex543
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex20
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex60
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex244
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex26
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex18
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty538
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCMulJap.tex1
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex10
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex22
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex501
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPixelArt.tex8
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex185
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex62
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCSolides.tex114
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCTortueBase.tex6
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCUrneProba.tex928
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty50
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCMonde.mp75
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCObjets.mp53
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin1783164 -> 1793092 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdfbin74004 -> 80800 bytes
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty5
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex11
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex144
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex63
-rw-r--r--macros/latex/contrib/prtec/PRTEC19-template.pdfbin355572 -> 0 bytes
-rw-r--r--macros/latex/contrib/prtec/PRTEC24-template.pdfbin0 -> 391935 bytes
-rw-r--r--macros/latex/contrib/prtec/PRTEC24-template.tex (renamed from macros/latex/contrib/prtec/PRTEC19-template.tex)63
-rw-r--r--macros/latex/contrib/prtec/README.md10
-rw-r--r--macros/latex/contrib/prtec/prtec.cls204
-rw-r--r--macros/latex/contrib/prtec/sample-figure.pdfbin171646 -> 149248 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-a-answer.pdfbin49886 -> 49579 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-a-blank.pdfbin41751 -> 41376 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-b-answer.pdfbin49948 -> 49565 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-b-blank.pdfbin41687 -> 41319 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam.cls13
-rw-r--r--macros/latex/contrib/randexam/randexam.pdfbin63636 -> 63481 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam.tex2
-rw-r--r--macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdfbin40800 -> 40803 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdfbin201562 -> 201562 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalnotes.pdfbin197818 -> 197818 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-sidenotes.pdfbin295212 -> 295212 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-tabular.pdfbin285559 -> 285559 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdfbin198959 -> 198959 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses.pdfbin198796 -> 198796 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-antilabe.pdfbin210970 -> 210970 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-cross_referencing.pdfbin198303 -> 198303 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdfbin201445 -> 201445 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-glossaries.pdfbin285501 -> 285501 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-indexing.pdfbin278069 -> 278069 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdfbin276219 -> 276219 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdfbin292435 -> 292435 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-linespacing.pdfbin286624 -> 286624 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdfbin288122 -> 288122 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-notes-width.pdfbin204669 -> 204669 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdfbin212239 -> 212239 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-performances.pdfbin284580 -> 284580 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdfbin36941 -> 36941 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdfbin310601 -> 310601 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin288795 -> 288795 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199919 -> 199919 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23444 -> 23442 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdfbin175645 -> 175645 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32049 -> 32049 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin289211 -> 289211 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin200045 -> 200045 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199281 -> 199281 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177110 -> 177110 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199684 -> 199684 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198615 -> 198615 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198673 -> 198673 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198798 -> 198798 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin214375 -> 214375 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin210491 -> 210491 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdfbin204973 -> 204973 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin298425 -> 298425 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin204015 -> 204015 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin225554 -> 225554 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdfbin251039 -> 251039 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin202382 -> 202382 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin198565 -> 198565 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin302779 -> 302779 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206948 -> 206948 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdfbin194201 -> 194201 bytes
-rw-r--r--macros/latex/contrib/reledmac/migration.pdfbin368433 -> 368426 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledmac.dtx4
-rw-r--r--macros/latex/contrib/reledmac/reledmac.pdfbin2162033 -> 2161963 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledpar.dtx49
-rw-r--r--macros/latex/contrib/reledmac/reledpar.pdfbin1041243 -> 1040784 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdfbin196228 -> 200069 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex110
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdfbin126738 -> 126842 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex16
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdfbin158189 -> 160890 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex16
-rw-r--r--macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty192
-rw-r--r--macros/latex/contrib/responsive/README4
-rw-r--r--macros/latex/contrib/responsive/responsive-doc.pdfbin77546 -> 75970 bytes
-rw-r--r--macros/latex/contrib/responsive/responsive-doc.tex5
-rw-r--r--macros/latex/contrib/responsive/responsive.sty12
-rw-r--r--macros/latex/contrib/rub-kunstgeschichte/README.md11
-rw-r--r--macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte-example.pdfbin0 -> 36684 bytes
-rw-r--r--macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.dtx192
-rw-r--r--macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.ins70
-rw-r--r--macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.pdfbin0 -> 232043 bytes
-rw-r--r--macros/latex/contrib/scontents/README.md6
-rw-r--r--macros/latex/contrib/scontents/scontents.dtx638
-rw-r--r--macros/latex/contrib/scontents/scontents.ins8
-rw-r--r--macros/latex/contrib/scontents/scontents.pdfbin385642 -> 429100 bytes
-rw-r--r--macros/latex/contrib/se2thesis/CHANGELOG.md49
-rw-r--r--macros/latex/contrib/se2thesis/se2colors.dtx2
-rw-r--r--macros/latex/contrib/se2thesis/se2fonts.dtx2
-rw-r--r--macros/latex/contrib/se2thesis/se2packages.dtx34
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdfbin232642 -> 231949 bytes
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex4
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.dtx67
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.pdfbin357376 -> 362259 bytes
-rw-r--r--macros/latex/contrib/sepfootnotes/README7
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.pdfbin218406 -> 223965 bytes
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.sty132
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.tex16
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md18
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin646201 -> 645802 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx3
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin703731 -> 703908 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex1
-rw-r--r--macros/latex/contrib/sjtutex/sjtutex.dtx31
-rw-r--r--macros/latex/contrib/sjtutex/sjtutex.pdfbin723329 -> 724629 bytes
-rw-r--r--macros/latex/contrib/spbmark/README.md10
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin91750 -> 92984 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty55
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex127
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-1.oggbin0 -> 39213 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-2.oggbin0 -> 9865 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-3.oggbin0 -> 12011 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.oggbin0 -> 14175 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-1.oggbin0 -> 33072 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-2.oggbin0 -> 58385 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-3.oggbin0 -> 36458 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.oggbin0 -> 15489 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-1.oggbin0 -> 92122 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-2.oggbin0 -> 45754 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.oggbin0 -> 16077 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-1.oggbin0 -> 38925 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-2.oggbin0 -> 53387 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.oggbin0 -> 13645 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.oggbin0 -> 15843 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0-1.oggbin0 -> 33768 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.oggbin0 -> 18610 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-1.oggbin0 -> 41577 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-star-1.oggbin0 -> 8290 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.oggbin0 -> 19424 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/author.oggbin0 -> 16874 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/date.oggbin0 -> 13533 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example-spel/title.oggbin0 -> 14301 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example.pdfbin0 -> 84377 bytes
-rw-r--r--macros/latex/contrib/spelatex/Example/example.tex112
-rw-r--r--macros/latex/contrib/spelatex/LICENSE9
-rw-r--r--macros/latex/contrib/spelatex/README61
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.m3u31
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.oggbin0 -> 11987 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-1.oggbin0 -> 110781 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-2.oggbin0 -> 119565 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-3.oggbin0 -> 133965 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.oggbin0 -> 16461 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.m3u13
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.oggbin0 -> 17181 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-1.oggbin0 -> 269613 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-2.oggbin0 -> 94077 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-3.oggbin0 -> 121293 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.oggbin0 -> 20349 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-1.oggbin0 -> 107613 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-2.oggbin0 -> 55773 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-3.oggbin0 -> 24237 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-4.oggbin0 -> 25965 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-5.oggbin0 -> 19341 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.oggbin0 -> 21069 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-1.oggbin0 -> 54333 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-10.oggbin0 -> 156141 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-11.oggbin0 -> 123021 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-12.oggbin0 -> 103869 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-2.oggbin0 -> 201069 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-3.oggbin0 -> 83277 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-4.oggbin0 -> 69597 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-5.oggbin0 -> 44829 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-6.oggbin0 -> 75645 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-7.oggbin0 -> 181773 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-8.oggbin0 -> 127485 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-9.oggbin0 -> 88173 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.m3u15
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.oggbin0 -> 19341 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.m3u59
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.oggbin0 -> 14010 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-1.oggbin0 -> 34173 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-2.oggbin0 -> 13034 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-3.oggbin0 -> 12487 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-4.oggbin0 -> 40506 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-5.oggbin0 -> 49604 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-6.oggbin0 -> 86733 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.m3u10
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.oggbin0 -> 17542 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.m3u39
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.oggbin0 -> 19955 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-1.oggbin0 -> 39501 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-2.oggbin0 -> 20925 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-3.oggbin0 -> 21933 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-4.oggbin0 -> 28269 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.oggbin0 -> 22720 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-1.oggbin0 -> 62109 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-10.oggbin0 -> 61965 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-11.oggbin0 -> 52461 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-12.oggbin0 -> 166509 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-2.oggbin0 -> 61764 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-3.oggbin0 -> 130653 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-4.oggbin0 -> 112797 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-5.oggbin0 -> 104013 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-6.oggbin0 -> 118845 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-7.oggbin0 -> 440685 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-8.oggbin0 -> 97101 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-9.oggbin0 -> 30717 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.m3u16
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.oggbin0 -> 19907 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-1.oggbin0 -> 153261 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-2.oggbin0 -> 186237 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.oggbin0 -> 22940 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-1.oggbin0 -> 251757 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-2.oggbin0 -> 29567 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-3.oggbin0 -> 26498 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-4.oggbin0 -> 18524 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-5.oggbin0 -> 140974 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-6.oggbin0 -> 47150 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.oggbin0 -> 22754 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-1.oggbin0 -> 177309 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-2.oggbin0 -> 80829 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.oggbin0 -> 19849 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-1.oggbin0 -> 81405 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-2.oggbin0 -> 183645 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-3.oggbin0 -> 141597 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.oggbin0 -> 23853 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-1.oggbin0 -> 91773 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-2.oggbin0 -> 97677 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-3.oggbin0 -> 36303 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-4.oggbin0 -> 30646 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.oggbin0 -> 19292 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-1.oggbin0 -> 41229 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-2.oggbin0 -> 55341 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-3.oggbin0 -> 300141 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-4.oggbin0 -> 64604 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-5.oggbin0 -> 37835 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.oggbin0 -> 17518 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.m3u26
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.oggbin0 -> 14092 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-1.oggbin0 -> 29997 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-2.oggbin0 -> 183501 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-3.oggbin0 -> 106029 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.oggbin0 -> 21933 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.m3u16
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.oggbin0 -> 25383 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-1.oggbin0 -> 85124 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-2.oggbin0 -> 46989 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-3.oggbin0 -> 31449 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-4.oggbin0 -> 64989 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-5.oggbin0 -> 33266 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.oggbin0 -> 19502 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-1.oggbin0 -> 142605 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-2.oggbin0 -> 74205 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-3.oggbin0 -> 94797 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-4.oggbin0 -> 81837 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-5.oggbin0 -> 74925 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-6.oggbin0 -> 145485 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.oggbin0 -> 21918 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0-1.oggbin0 -> 139725 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.oggbin0 -> 18675 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-1.oggbin0 -> 81405 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-2.oggbin0 -> 130365 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.oggbin0 -> 18399 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.m3u53
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.oggbin0 -> 13016 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-1.oggbin0 -> 52029 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-2.oggbin0 -> 20882 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-3.oggbin0 -> 15532 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-4.oggbin0 -> 13888 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-5.oggbin0 -> 15770 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-6.oggbin0 -> 28759 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-7.oggbin0 -> 29062 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-8.oggbin0 -> 84905 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.m3u46
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.oggbin0 -> 22299 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-1.oggbin0 -> 91917 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-2.oggbin0 -> 59984 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-3.oggbin0 -> 63693 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-4.oggbin0 -> 97379 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.oggbin0 -> 24669 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-1.oggbin0 -> 104589 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-2.oggbin0 -> 39789 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.oggbin0 -> 25389 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-1.oggbin0 -> 81166 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-2.oggbin0 -> 60545 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-3.oggbin0 -> 39789 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-4.oggbin0 -> 92093 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-5.oggbin0 -> 39789 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.oggbin0 -> 27981 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-1.oggbin0 -> 99435 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-2.oggbin0 -> 53793 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-3.oggbin0 -> 56626 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-4.oggbin0 -> 94077 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.oggbin0 -> 27772 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-1.oggbin0 -> 100656 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-2.oggbin0 -> 47203 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-3.oggbin0 -> 71665 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-4.oggbin0 -> 41316 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.oggbin0 -> 30051 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-1.oggbin0 -> 71887 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-2.oggbin0 -> 31328 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-3.oggbin0 -> 44852 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-4.oggbin0 -> 50015 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-5.oggbin0 -> 9840 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.oggbin0 -> 45999 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-1.oggbin0 -> 31747 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-2.oggbin0 -> 60813 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-3.oggbin0 -> 33885 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-4.oggbin0 -> 52605 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.oggbin0 -> 22597 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-1.oggbin0 -> 46989 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-2.oggbin0 -> 58653 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-3.oggbin0 -> 46125 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-4.oggbin0 -> 74882 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-5.oggbin0 -> 84137 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.m3u8
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.oggbin0 -> 18821 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0-1.oggbin0 -> 43898 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.oggbin0 -> 13841 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0-1.oggbin0 -> 102717 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.m3u48
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.oggbin0 -> 12260 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0-1.oggbin0 -> 75917 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.oggbin0 -> 16938 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.oggbin0 -> 17935 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0-1.oggbin0 -> 37825 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.oggbin0 -> 25563 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0-1.oggbin0 -> 63840 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.oggbin0 -> 28873 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.m3u14
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.oggbin0 -> 20614 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0-1.oggbin0 -> 58385 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.oggbin0 -> 22293 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-1.oggbin0 -> 12478 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-2.oggbin0 -> 47027 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-3.oggbin0 -> 10589 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-4.oggbin0 -> 31558 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-5.oggbin0 -> 10566 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-6.oggbin0 -> 23508 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.oggbin0 -> 24466 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0-1.oggbin0 -> 45532 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.oggbin0 -> 25778 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-1.oggbin0 -> 32724 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-2.oggbin0 -> 64241 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.oggbin0 -> 16275 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-1.oggbin0 -> 11565 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-2.oggbin0 -> 115389 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.oggbin0 -> 18681 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.oggbin0 -> 21352 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-1.oggbin0 -> 24864 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-2.oggbin0 -> 84898 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-3.oggbin0 -> 15991 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.m3u6
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.oggbin0 -> 20878 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0-1.oggbin0 -> 63161 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.m3u4
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.oggbin0 -> 18744 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-1.oggbin0 -> 92122 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-10.oggbin0 -> 106855 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-11.oggbin0 -> 61395 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-2.oggbin0 -> 45754 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-3.oggbin0 -> 37065 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-4.oggbin0 -> 44904 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-5.oggbin0 -> 55034 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-6.oggbin0 -> 94428 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-7.oggbin0 -> 27027 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-8.oggbin0 -> 24810 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-9.oggbin0 -> 22771 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.m3u14
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.oggbin0 -> 20436 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0-1.oggbin0 -> 62253 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.m3u27
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.oggbin0 -> 15114 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.oggbin0 -> 20646 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.m3u7
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.oggbin0 -> 26219 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.oggbin0 -> 27910 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.oggbin0 -> 26519 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.oggbin0 -> 28484 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.oggbin0 -> 28780 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.oggbin0 -> 22365 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.oggbin0 -> 19694 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.oggbin0 -> 16575 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.oggbin0 -> 17551 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.oggbin0 -> 19804 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.oggbin0 -> 22080 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.oggbin0 -> 21182 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.oggbin0 -> 25282 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.oggbin0 -> 21077 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.oggbin0 -> 20091 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.oggbin0 -> 22221 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.oggbin0 -> 21213 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.oggbin0 -> 18621 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.oggbin0 -> 27261 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.m3u5
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.oggbin0 -> 26916 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.oggbin0 -> 30677 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.m3u3
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.oggbin0 -> 23949 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-1.oggbin0 -> 22653 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-2.oggbin0 -> 46413 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-3.oggbin0 -> 16749 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-1.oggbin0 -> 6381 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-2.oggbin0 -> 7101 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-3.oggbin0 -> 5517 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.m3u9
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.oggbin0 -> 10701 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/author.oggbin0 -> 29582 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/date.oggbin0 -> 26829 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/footnote-1.oggbin0 -> 53151 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/footnote-2.oggbin0 -> 27434 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex-spel/title.oggbin0 -> 22509 bytes
-rw-r--r--macros/latex/contrib/spelatex/spelatex.dtx2456
-rw-r--r--macros/latex/contrib/spelatex/spelatex.ins58
-rw-r--r--macros/latex/contrib/spelatex/spelatex.pdfbin0 -> 332348 bytes
-rw-r--r--macros/latex/contrib/standardsectioning/LICENSE.md19
-rw-r--r--macros/latex/contrib/standardsectioning/README.md174
-rw-r--r--macros/latex/contrib/standardsectioning/standardsectioning.dtx929
-rw-r--r--macros/latex/contrib/standardsectioning/standardsectioning.pdfbin0 -> 231166 bytes
-rw-r--r--macros/latex/contrib/subeqn/CATALOG17
-rw-r--r--macros/latex/contrib/subeqn/MANIFEST19
-rw-r--r--macros/latex/contrib/subeqn/README14
-rw-r--r--macros/latex/contrib/subeqn/manifest.txt16
-rw-r--r--macros/latex/contrib/subeqn/subeqn-sample.pdfbin0 -> 80142 bytes
-rw-r--r--macros/latex/contrib/subeqn/subeqn.dtx57
-rw-r--r--macros/latex/contrib/subeqn/subeqn.ins49
-rw-r--r--macros/latex/contrib/subeqn/subeqn.pdfbin91698 -> 216768 bytes
-rw-r--r--macros/latex/contrib/subeqnarray/CATALOG17
-rw-r--r--macros/latex/contrib/subeqnarray/MANIFEST (renamed from macros/latex/contrib/subeqnarray/manifest.txt)8
-rw-r--r--macros/latex/contrib/subeqnarray/README16
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray-sample.pdfbin0 -> 68356 bytes
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.dtx85
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.ins56
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.pdfbin126532 -> 212013 bytes
-rw-r--r--macros/latex/contrib/supertabular/CATALOG6
-rw-r--r--macros/latex/contrib/supertabular/MANIFEST6
-rw-r--r--macros/latex/contrib/supertabular/README4
-rw-r--r--macros/latex/contrib/supertabular/supertabular.bug (renamed from macros/latex/contrib/supertabular/ChangeLog)69
-rw-r--r--macros/latex/contrib/supertabular/supertabular.dtx323
-rw-r--r--macros/latex/contrib/supertabular/supertabular.pdfbin254349 -> 291267 bytes
-rw-r--r--macros/latex/contrib/synthslant/LICENSE6
-rw-r--r--macros/latex/contrib/synthslant/Makefile133
-rw-r--r--macros/latex/contrib/synthslant/README.md3
-rw-r--r--macros/latex/contrib/synthslant/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/synthslant/docs/index.md4
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant-gauge.pdfbin181403 -> 181403 bytes
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant.pdfbin796407 -> 840480 bytes
-rw-r--r--macros/latex/contrib/synthslant/synthslant.dtx752
-rw-r--r--macros/latex/contrib/synthslant/synthslant.ins21
-rw-r--r--macros/latex/contrib/tabulary/README.txt (renamed from macros/latex/contrib/tabulary/README)0
-rw-r--r--macros/latex/contrib/tabulary/tabulary-v010.sty455
-rw-r--r--macros/latex/contrib/tabulary/tabulary.dtx127
-rw-r--r--macros/latex/contrib/tabulary/tabulary.pdfbin256360 -> 327251 bytes
-rw-r--r--macros/latex/contrib/tagpdf/README.md4
-rw-r--r--macros/latex/contrib/tagpdf/ex-AF-file.pdf56
-rw-r--r--macros/latex/contrib/tagpdf/ex-alt-actualtext.pdfbin34295 -> 34295 bytes
-rw-r--r--macros/latex/contrib/tagpdf/ex-attribute.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-formula-problem.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-list.pdf156
-rw-r--r--macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf50
-rw-r--r--macros/latex/contrib/tagpdf/ex-softhyphen.pdf72
-rw-r--r--macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf64
-rw-r--r--macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf98
-rw-r--r--macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf92
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-backend.dtx16
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-checks.dtx8
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-code.pdfbin1713045 -> 1716291 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-data.dtx20
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx10
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx8
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-roles.dtx36
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-space.dtx8
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-struct.dtx23
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-tree.dtx10
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-user.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx13
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.pdfbin1171785 -> 1172067 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.tex16
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty20
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex2
-rw-r--r--macros/latex/contrib/tblr-extras/README.md2
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdfbin29492 -> 32727 bytes
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex52
-rw-r--r--macros/latex/contrib/tblr-extras/tblr-extras.sty246
-rw-r--r--macros/latex/contrib/tblr-extras/test-tblr-extras.pdfbin0 -> 16343 bytes
-rw-r--r--macros/latex/contrib/tblr-extras/test-tblr-extras.tex24
-rw-r--r--macros/latex/contrib/tcolorbox/CHANGES.md40
-rw-r--r--macros/latex/contrib/tcolorbox/README.md2
-rw-r--r--macros/latex/contrib/tcolorbox/tcbbreakable.code.tex23
-rw-r--r--macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex48
-rw-r--r--macros/latex/contrib/tcolorbox/tcbexternal.code.tex8
-rw-r--r--macros/latex/contrib/tcolorbox/tcbfitting.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbhooks.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistings.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbmagazine.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbminted.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbposter.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbprocessing.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbraster.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskins.code.tex21
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbtheorems.code.tex36
-rw-r--r--macros/latex/contrib/tcolorbox/tcbvignette.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdfbin274323 -> 137729 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.pdfbin447103 -> 287734 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdfbin438130 -> 247127 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.bib6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex12
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex18
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex43
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex8
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex7
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex37
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex23
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex21
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex137
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.pdfbin4859487 -> 4856594 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.sty140
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.tex20
-rw-r--r--macros/latex/contrib/texvc/Makefile17
-rw-r--r--macros/latex/contrib/texvc/texvc.dtx48
-rw-r--r--macros/latex/contrib/texvc/texvc.ins84
-rw-r--r--macros/latex/contrib/texvc/texvc.pdfbin246091 -> 307351 bytes
-rw-r--r--macros/latex/contrib/thermodynamics/thermodynamics.dtx1686
-rw-r--r--macros/latex/contrib/thermodynamics/thermodynamics.ins4
-rw-r--r--macros/latex/contrib/thermodynamics/thermodynamics.pdfbin270368 -> 333889 bytes
-rw-r--r--macros/latex/contrib/thuthesis/CHANGELOG.md14
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis-example.pdfbin407055 -> 407059 bytes
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis.dtx46
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis.pdfbin1190791 -> 1193751 bytes
-rw-r--r--macros/latex/contrib/tiet-question-paper/LICENSE26
-rw-r--r--macros/latex/contrib/tiet-question-paper/README.md151
-rw-r--r--macros/latex/contrib/tiet-question-paper/images/sample.pngbin0 -> 10575 bytes
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.org182
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.pdfbin0 -> 27901 bytes
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.tex204
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.pdfbin0 -> 38647 bytes
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.tex180
-rw-r--r--macros/latex/contrib/tiet-question-paper/tiet-question-paper.cls337
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/README.md13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex1648
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex45
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex789
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex355
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex2050
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex2360
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdfbin704147 -> 817269 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty29
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua20
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua49
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua4
-rw-r--r--macros/latex/contrib/tqft/README.txt8
-rw-r--r--macros/latex/contrib/tqft/tqft.pdfbin460464 -> 476908 bytes
-rw-r--r--macros/latex/contrib/tqft/tqft.tex (renamed from macros/latex/contrib/tqft/tqft_doc.tex)57
-rw-r--r--macros/latex/contrib/tqft/tqft_code.dtx (renamed from macros/latex/contrib/tqft/tqft.dtx)120
-rw-r--r--macros/latex/contrib/tqft/tqft_code.pdfbin281351 -> 292287 bytes
-rw-r--r--macros/latex/contrib/tramlines/README5
-rw-r--r--macros/latex/contrib/tramlines/tramlines-documentation.pdfbin58619 -> 60656 bytes
-rw-r--r--macros/latex/contrib/tramlines/tramlines-documentation.tex17
-rw-r--r--macros/latex/contrib/tramlines/tramlines.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/README.md10
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin551934 -> 551956 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin601729 -> 601729 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdfbin561720 -> 561720 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin570473 -> 570469 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin559914 -> 559903 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin567042 -> 571306 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin616232 -> 622755 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin536048 -> 536366 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin662470 -> 655625 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin527496 -> 527804 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin563701 -> 563701 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin615311 -> 621493 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex14
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex12
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex15
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex14
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex15
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo18
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls23
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls289
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo84
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls118
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls42
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg21
-rw-r--r--macros/latex/contrib/typog/LICENSE415
-rw-r--r--macros/latex/contrib/typog/Makefile183
-rw-r--r--macros/latex/contrib/typog/README.md4
-rw-r--r--macros/latex/contrib/typog/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/typog/docs/index.md5
-rw-r--r--macros/latex/contrib/typog/docs/typog-example.pdfbin392419 -> 402037 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1428
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1.pdfbin511632 -> 514141 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog.pdfbin902362 -> 996908 bytes
-rw-r--r--macros/latex/contrib/typog/typog.dtx3217
-rw-r--r--macros/latex/contrib/typog/typog.ins30
-rw-r--r--macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdfbin3225054 -> 3225047 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdfbin127166 -> 127160 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdfbin81413 -> 81407 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx20
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdfbin505252 -> 505385 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdfbin57741 -> 62547 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdfbin59684 -> 65647 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdfbin27558 -> 27549 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdfbin188533 -> 179332 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdfbin137149 -> 132771 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdfbin175940 -> 175932 bytes
-rw-r--r--macros/latex/contrib/ulthese/README.md63
-rw-r--r--macros/latex/contrib/ulthese/ulthese.dtx2046
-rw-r--r--macros/latex/contrib/ulthese/ulthese.ins43
-rw-r--r--macros/latex/contrib/ulthese/ulthese.pdfbin256822 -> 132685 bytes
-rw-r--r--macros/latex/contrib/unbtex/README.md8
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.pdfbin581659 -> 592915 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.tex27
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex3
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex10
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex10
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex4
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/referencias.bib4
-rw-r--r--macros/latex/contrib/unbtex/unbtex.cls85
-rw-r--r--macros/latex/contrib/unicodefonttable/changes.txt8
-rw-r--r--macros/latex/contrib/unicodefonttable/l3doc-TUB2024.cls (renamed from macros/latex/contrib/unicodefonttable/l3doc-TUB.cls)1027
-rw-r--r--macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdfbin930902 -> 939865 bytes
-rw-r--r--macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdfbin763241 -> 765261 bytes
-rw-r--r--macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdfbin674199 -> 674199 bytes
-rw-r--r--macros/latex/contrib/unicodefonttable/unicodefonttable.dtx47
-rw-r--r--macros/latex/contrib/univie-ling/README23
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx2
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx2
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdfbin132626 -> 132716 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdfbin127848 -> 127947 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdfbin201366 -> 201366 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdfbin200967 -> 200967 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdfbin172478 -> 172712 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdfbin167579 -> 167812 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdfbin227174 -> 227180 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdfbin224980 -> 224983 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdfbin190196 -> 190497 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdfbin186339 -> 186645 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdfbin250470 -> 250474 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdfbin250366 -> 250365 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdfbin458151 -> 461588 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex40
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdfbin448221 -> 450553 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex40
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdfbin455332 -> 459207 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex40
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdfbin454323 -> 457851 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex44
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdfbin459107 -> 462143 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex41
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdfbin345852 -> 350542 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex47
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.pdfbin365602 -> 365821 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.tex2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls22
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls22
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls22
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls61
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls24
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls24
-rw-r--r--macros/latex/contrib/xfrac/CHANGELOG.md10
-rw-r--r--macros/latex/contrib/xfrac/README.md2
-rw-r--r--macros/latex/contrib/xfrac/xfrac.dtx12
-rw-r--r--macros/latex/contrib/xfrac/xfrac.pdfbin658541 -> 658638 bytes
-rw-r--r--macros/latex/contrib/xint-regression/README.md7
-rw-r--r--macros/latex/contrib/xint-regression/doc/xint-regression-doc.pdfbin0 -> 360019 bytes
-rw-r--r--macros/latex/contrib/xint-regression/doc/xint-regression-doc.tex447
-rw-r--r--macros/latex/contrib/xint-regression/tex/xint-regression.sty662
1320 files changed, 119961 insertions, 34350 deletions
diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README
index 22919f31f8..7d79e34935 100644
--- a/macros/latex/contrib/acmart/README
+++ b/macros/latex/contrib/acmart/README
@@ -12,6 +12,9 @@ The production version is the one on CTAN and ACM sites.
Changes
+Version 2.08. Section titles are in lowercase now.
+ Documentation updates.
+
Version 2.07. Corrected typo in TELO eISSN.
Version 2.06. Added eISSN for a number of journals.
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index baebaccaab..0ff7a902b7 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -386,11 +386,13 @@
%
% The option |balance| determines whether the last page in the two
% column mode has balanced columns. By default it is |true|; however,
-% it may lead to problems for some documents. Set it to |false| if
-% you encounter compilation errors. Note that for one page documents
-% \cs{balance} command might cause problems. An alternative is the
+% it may lead to problems for some documents. When there are many
+% figures near the end of the document, the attempts to balance
+% columns may lead to the loss of the figures. Set this option to |false| if
+% you encounter problems. An alternative is the
% (experimental) option |pbalance|, which uses the new package
-% |pbalance| for this end.
+% |pbalance|. You may want to try |pbalance=true| to see if you get
+% better results.
%
% The option |urlbreakonhyphens| determines whether URLs can be split
% between lines after hyphens. By default it is true. Set it to
@@ -2262,7 +2264,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2024/04/17 v2.07 Typesetting articles for the Association for Computing Machinery]
+[2024/05/27 v2.08 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -8178,9 +8180,10 @@
% \cs{sffamily}\cs{bfseries}}
% \changes{v1.67}{2020/01/11}{Deleted redefinitions of sections}
% \changes{1.85}{2022/05/08}{Added: acmengage}
+% \changes{2.08}{2024/05/27}{Deleted uppercasing}
% Fonts for sections etc. are different for different formats.
% \begin{macrocode}
-\def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+\def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\def\@subsubsecfont{\sffamily\itshape}
\def\@parfont{\itshape}
@@ -8189,16 +8192,16 @@
\relax % manuscript
\or % acmsmall
\or % acmlarge
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\large\section@raggedright}
\def\@subsecfont{\sffamily\large\section@raggedright}
\or % acmtog
- \def\@secfont{\sffamily\large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\large\section@raggedright}
\def\@subsecfont{\sffamily\large\section@raggedright}
\or % sigconf
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\bfseries\Large\section@raggedright}
\def\@subsecfont{\bfseries\Large\section@raggedright}
\or % siggraph
- \def\@secfont{\sffamily\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\Large\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\Large\section@raggedright}
\or % sigplan
\def\@secfont{\bfseries\Large\section@raggedright}
@@ -8208,14 +8211,14 @@
\def\@subparfont{\itshape}
\or % sigchi
\setcounter{secnumdepth}{1}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\or % sigchi-a
\setcounter{secnumdepth}{0}
- \def\@secfont{\sffamily\bfseries\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\sffamily\bfseries\section@raggedright}
\def\@subsecfont{\sffamily\bfseries\section@raggedright}
\or % acmengage
- \def\@secfont{\bfseries\Large\section@raggedright\MakeTextUppercase}
+ \def\@secfont{\bfseries\Large\section@raggedright}
\def\@subsecfont{\bfseries\Large\section@raggedright}
\or %acmcp
\fi
diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf
index c19fdf3a8b..9a91d07bf7 100644
--- a/macros/latex/contrib/acmart/acmart.pdf
+++ b/macros/latex/contrib/acmart/acmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf
index bd2ce2d7ba..927dd7c750 100644
--- a/macros/latex/contrib/acmart/acmguide.pdf
+++ b/macros/latex/contrib/acmart/acmguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
index 3f02d1ac9c..c57d1898d1 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
index aa7fea6b41..366843b28e 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
index 2637448012..25a90ec394 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
index dce1688580..d644e32874 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
index f4fd622fcf..6e1488235e 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
index 4086b70e26..e0471c8a27 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
index 6c3fbbb20a..17c719abda 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
index 5493a7abf7..71e87b73b1 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
index be5a4b8e1c..1e39a159d3 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
index a594aaec45..301caf80cb 100644
--- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
index 87c7559042..a465c8463e 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
index 26d05c90b6..b4052f9363 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
index 4404065b41..dc0e0fe12e 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
index a29449278f..ab5954e602 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
index 7edc0c62bd..534e00da12 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/README b/macros/latex/contrib/aomart/README
index 4bdab51407..7032de24a7 100644
--- a/macros/latex/contrib/aomart/README
+++ b/macros/latex/contrib/aomart/README
@@ -1,12 +1,19 @@
LaTeX Class for The Annals of Mathematics
Boris Veytsman
- Version 1.27
+ Version 1.28
This package provides the class for typesetting articles for The Annals
of Mathematics, http://annals.princeton.edu/.
Changes:
+ Version 1.28
+ Now we typeset orcid logo. This package includes
+ orcid icon aom_orcid_logo[.eps|pdf]. The name uses
+ aom_ preffix to avoid clash with other orcid packages,
+ but the icon can be used outside of aomart. The
+ original icon was released in SVG format under CC0 license.
+
Version 1.27
New command: \funding
diff --git a/macros/latex/contrib/aomart/aom_orcid_logo.eps b/macros/latex/contrib/aomart/aom_orcid_logo.eps
new file mode 100644
index 0000000000..067a8f185a
--- /dev/null
+++ b/macros/latex/contrib/aomart/aom_orcid_logo.eps
@@ -0,0 +1,518 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%Produced by poppler pdftops version: 24.04.0 (http://poppler.freedesktop.org)
+%%Creator: TeX
+%%LanguageLevel: 2
+%%DocumentSuppliedResources: (atend)
+%%BoundingBox: 0 0 194 193
+%%HiResBoundingBox: 0 0 194 193
+%%DocumentSuppliedResources: (atend)
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset xpdf 3.00 0
+%%Copyright: Copyright 1996-2011, 2022 Glyph & Cog, LLC
+/xpdf 75 dict def xpdf begin
+% PDF special state
+/pdfDictSize 15 def
+/pdfSetup {
+ /setpagedevice where {
+ pop 2 dict begin
+ /Policies 1 dict dup begin /PageSize 6 def end def
+ { /Duplex true def } if
+ currentdict end setpagedevice
+ } {
+ pop
+ } ifelse
+} def
+/pdfSetupPaper {
+ % Change paper size, but only if different from previous paper size otherwise
+ % duplex fails. PLRM specifies a tolerance of 5 pts when matching paper size
+ % so we use the same when checking if the size changes.
+ /setpagedevice where {
+ pop currentpagedevice
+ /PageSize known {
+ 2 copy
+ currentpagedevice /PageSize get aload pop
+ exch 4 1 roll
+ sub abs 5 gt
+ 3 1 roll
+ sub abs 5 gt
+ or
+ } {
+ true
+ } ifelse
+ {
+ 2 array astore
+ 2 dict begin
+ /PageSize exch def
+ /ImagingBBox null def
+ currentdict end
+ setpagedevice
+ } {
+ pop pop
+ } ifelse
+ } {
+ pop
+ } ifelse
+} def
+/pdfStartPage {
+ pdfDictSize dict begin
+ /pdfFillCS [] def
+ /pdfFillXform {} def
+ /pdfStrokeCS [] def
+ /pdfStrokeXform {} def
+ /pdfFill [0] def
+ /pdfStroke [0] def
+ /pdfFillOP false def
+ /pdfStrokeOP false def
+ /pdfLastFill false def
+ /pdfLastStroke false def
+ /pdfTextMat [1 0 0 1 0 0] def
+ /pdfFontSize 0 def
+ /pdfCharSpacing 0 def
+ /pdfTextRender 0 def
+ /pdfPatternCS false def
+ /pdfTextRise 0 def
+ /pdfWordSpacing 0 def
+ /pdfHorizScaling 1 def
+ /pdfTextClipPath [] def
+} def
+/pdfEndPage { end } def
+% PDF color state
+/cs { /pdfFillXform exch def dup /pdfFillCS exch def
+ setcolorspace } def
+/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def
+ setcolorspace } def
+/sc { pdfLastFill not { pdfFillCS setcolorspace } if
+ dup /pdfFill exch def aload pop pdfFillXform setcolor
+ /pdfLastFill true def /pdfLastStroke false def } def
+/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if
+ dup /pdfStroke exch def aload pop pdfStrokeXform setcolor
+ /pdfLastStroke true def /pdfLastFill false def } def
+/op { /pdfFillOP exch def
+ pdfLastFill { pdfFillOP setoverprint } if } def
+/OP { /pdfStrokeOP exch def
+ pdfLastStroke { pdfStrokeOP setoverprint } if } def
+/fCol {
+ pdfLastFill not {
+ pdfFillCS setcolorspace
+ pdfFill aload pop pdfFillXform setcolor
+ pdfFillOP setoverprint
+ /pdfLastFill true def /pdfLastStroke false def
+ } if
+} def
+/sCol {
+ pdfLastStroke not {
+ pdfStrokeCS setcolorspace
+ pdfStroke aload pop pdfStrokeXform setcolor
+ pdfStrokeOP setoverprint
+ /pdfLastStroke true def /pdfLastFill false def
+ } if
+} def
+% build a font
+/pdfMakeFont {
+ 4 3 roll findfont
+ 4 2 roll matrix scale makefont
+ dup length dict begin
+ { 1 index /FID ne { def } { pop pop } ifelse } forall
+ /Encoding exch def
+ currentdict
+ end
+ definefont pop
+} def
+/pdfMakeFont16 {
+ exch findfont
+ dup length dict begin
+ { 1 index /FID ne { def } { pop pop } ifelse } forall
+ /WMode exch def
+ currentdict
+ end
+ definefont pop
+} def
+% graphics state operators
+/q { gsave pdfDictSize dict begin } def
+/Q {
+ end grestore
+ /pdfLastFill where {
+ pop
+ pdfLastFill {
+ pdfFillOP setoverprint
+ } {
+ pdfStrokeOP setoverprint
+ } ifelse
+ } if
+} def
+/cm { concat } def
+/d { setdash } def
+/i { setflat } def
+/j { setlinejoin } def
+/J { setlinecap } def
+/M { setmiterlimit } def
+/w { setlinewidth } def
+% path segment operators
+/m { moveto } def
+/l { lineto } def
+/c { curveto } def
+/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+ neg 0 rlineto closepath } def
+/h { closepath } def
+% path painting operators
+/S { sCol stroke } def
+/Sf { fCol stroke } def
+/f { fCol fill } def
+/f* { fCol eofill } def
+% clipping operators
+/W { clip newpath } def
+/W* { eoclip newpath } def
+/Ws { strokepath clip newpath } def
+% text state operators
+/Tc { /pdfCharSpacing exch def } def
+/Tf { dup /pdfFontSize exch def
+ dup pdfHorizScaling mul exch matrix scale
+ pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put
+ exch findfont exch makefont setfont } def
+/Tr { /pdfTextRender exch def } def
+/Tp { /pdfPatternCS exch def } def
+/Ts { /pdfTextRise exch def } def
+/Tw { /pdfWordSpacing exch def } def
+/Tz { /pdfHorizScaling exch def } def
+% text positioning operators
+/Td { pdfTextMat transform moveto } def
+/Tm { /pdfTextMat exch def } def
+% text string operators
+/xyshow where {
+ pop
+ /xyshow2 {
+ dup length array
+ 0 2 2 index length 1 sub {
+ 2 index 1 index 2 copy get 3 1 roll 1 add get
+ pdfTextMat dtransform
+ 4 2 roll 2 copy 6 5 roll put 1 add 3 1 roll dup 4 2 roll put
+ } for
+ exch pop
+ xyshow
+ } def
+}{
+ /xyshow2 {
+ currentfont /FontType get 0 eq {
+ 0 2 3 index length 1 sub {
+ currentpoint 4 index 3 index 2 getinterval show moveto
+ 2 copy get 2 index 3 2 roll 1 add get
+ pdfTextMat dtransform rmoveto
+ } for
+ } {
+ 0 1 3 index length 1 sub {
+ currentpoint 4 index 3 index 1 getinterval show moveto
+ 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get
+ pdfTextMat dtransform rmoveto
+ } for
+ } ifelse
+ pop pop
+ } def
+} ifelse
+/cshow where {
+ pop
+ /xycp {
+ 0 3 2 roll
+ {
+ pop pop currentpoint 3 2 roll
+ 1 string dup 0 4 3 roll put false charpath moveto
+ 2 copy get 2 index 2 index 1 add get
+ pdfTextMat dtransform rmoveto
+ 2 add
+ } exch cshow
+ pop pop
+ } def
+}{
+ /xycp {
+ currentfont /FontType get 0 eq {
+ 0 2 3 index length 1 sub {
+ currentpoint 4 index 3 index 2 getinterval false charpath moveto
+ 2 copy get 2 index 3 2 roll 1 add get
+ pdfTextMat dtransform rmoveto
+ } for
+ } {
+ 0 1 3 index length 1 sub {
+ currentpoint 4 index 3 index 1 getinterval false charpath moveto
+ 2 copy 2 mul get 2 index 3 2 roll 2 mul 1 add get
+ pdfTextMat dtransform rmoveto
+ } for
+ } ifelse
+ pop pop
+ } def
+} ifelse
+/Tj {
+ fCol
+ 0 pdfTextRise pdfTextMat dtransform rmoveto
+ currentpoint 4 2 roll
+ pdfTextRender 1 and 0 eq {
+ 2 copy xyshow2
+ } if
+ pdfTextRender 3 and dup 1 eq exch 2 eq or {
+ 3 index 3 index moveto
+ 2 copy
+ currentfont /FontType get 3 eq { fCol } { sCol } ifelse
+ xycp currentpoint stroke moveto
+ } if
+ pdfTextRender 4 and 0 ne {
+ 4 2 roll moveto xycp
+ /pdfTextClipPath [ pdfTextClipPath aload pop
+ {/moveto cvx}
+ {/lineto cvx}
+ {/curveto cvx}
+ {/closepath cvx}
+ pathforall ] def
+ currentpoint newpath moveto
+ } {
+ pop pop pop pop
+ } ifelse
+ 0 pdfTextRise neg pdfTextMat dtransform rmoveto
+} def
+/TJm { 0.001 mul pdfFontSize mul pdfHorizScaling mul neg 0
+ pdfTextMat dtransform rmoveto } def
+/TJmV { 0.001 mul pdfFontSize mul neg 0 exch
+ pdfTextMat dtransform rmoveto } def
+/Tclip { pdfTextClipPath cvx exec clip newpath
+ /pdfTextClipPath [] def } def
+/Tclip* { pdfTextClipPath cvx exec eoclip newpath
+ /pdfTextClipPath [] def } def
+% Level 2/3 image operators
+/pdfImBuf 100 string def
+/pdfImStr {
+ 2 copy exch length lt {
+ 2 copy get exch 1 add exch
+ } {
+ ()
+ } ifelse
+} def
+/skipEOD {
+ { currentfile pdfImBuf readline
+ not { pop exit } if
+ (%-EOD-) eq { exit } if } loop
+} def
+/pdfIm { image skipEOD } def
+/pdfImM { fCol imagemask skipEOD } def
+/pr { 2 index 2 index 3 2 roll putinterval 4 add } def
+/pdfImClip {
+ gsave
+ 0 2 4 index length 1 sub {
+ dup 4 index exch 2 copy
+ get 5 index div put
+ 1 add 3 index exch 2 copy
+ get 3 index div put
+ } for
+ pop pop rectclip
+} def
+/pdfImClipEnd { grestore } def
+% shading operators
+/colordelta {
+ false 0 1 3 index length 1 sub {
+ dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt {
+ pop true
+ } if
+ } for
+ exch pop exch pop
+} def
+/funcCol { func n array astore } def
+/funcSH {
+ dup 0 eq {
+ true
+ } {
+ dup 6 eq {
+ false
+ } {
+ 4 index 4 index funcCol dup
+ 6 index 4 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ 5 index 5 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ 6 index 8 index funcCol dup
+ 3 1 roll colordelta 3 1 roll
+ colordelta or or or
+ } ifelse
+ } ifelse
+ {
+ 1 add
+ 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch
+ 6 index 6 index 4 index 4 index 4 index funcSH
+ 2 index 6 index 6 index 4 index 4 index funcSH
+ 6 index 2 index 4 index 6 index 4 index funcSH
+ 5 3 roll 3 2 roll funcSH pop pop
+ } {
+ pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul
+ funcCol sc
+ dup 4 index exch mat transform m
+ 3 index 3 index mat transform l
+ 1 index 3 index mat transform l
+ mat transform l pop pop h f*
+ } ifelse
+} def
+/axialCol {
+ dup 0 lt {
+ pop t0
+ } {
+ dup 1 gt {
+ pop t1
+ } {
+ dt mul t0 add
+ } ifelse
+ } ifelse
+ func n array astore
+} def
+/axialSH {
+ dup 0 eq {
+ true
+ } {
+ dup 8 eq {
+ false
+ } {
+ 2 index axialCol 2 index axialCol colordelta
+ } ifelse
+ } ifelse
+ {
+ 1 add 3 1 roll 2 copy add 0.5 mul
+ dup 4 3 roll exch 4 index axialSH
+ exch 3 2 roll axialSH
+ } {
+ pop 2 copy add 0.5 mul
+ axialCol sc
+ exch dup dx mul x0 add exch dy mul y0 add
+ 3 2 roll dup dx mul x0 add exch dy mul y0 add
+ dx abs dy abs ge {
+ 2 copy yMin sub dy mul dx div add yMin m
+ yMax sub dy mul dx div add yMax l
+ 2 copy yMax sub dy mul dx div add yMax l
+ yMin sub dy mul dx div add yMin l
+ h f*
+ } {
+ exch 2 copy xMin sub dx mul dy div add xMin exch m
+ xMax sub dx mul dy div add xMax exch l
+ exch 2 copy xMax sub dx mul dy div add xMax exch l
+ xMin sub dx mul dy div add xMin exch l
+ h f*
+ } ifelse
+ } ifelse
+} def
+/radialCol {
+ dup t0 lt {
+ pop t0
+ } {
+ dup t1 gt {
+ pop t1
+ } if
+ } ifelse
+ func n array astore
+} def
+/radialSH {
+ dup 0 eq {
+ true
+ } {
+ dup 8 eq {
+ false
+ } {
+ 2 index dt mul t0 add radialCol
+ 2 index dt mul t0 add radialCol colordelta
+ } ifelse
+ } ifelse
+ {
+ 1 add 3 1 roll 2 copy add 0.5 mul
+ dup 4 3 roll exch 4 index radialSH
+ exch 3 2 roll radialSH
+ } {
+ pop 2 copy add 0.5 mul dt mul t0 add
+ radialCol sc
+ encl {
+ exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ 0 360 arc h
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ 360 0 arcn h f
+ } {
+ 2 copy
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a1 a2 arcn
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a2 a1 arcn h
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a1 a2 arc
+ dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
+ a2 a1 arc h f
+ } ifelse
+ } ifelse
+} def
+end
+%%EndResource
+%%EndProlog
+%%BeginSetup
+xpdf begin
+%%EndSetup
+pdfStartPage
+%%EndPageSetup
+[] 0 d
+1 i
+0 j
+0 J
+10 M
+1 w
+/DeviceGray {} cs
+[0] sc
+/DeviceGray {} CS
+[0] SC
+false op
+false OP
+{} settransfer
+0 0 194 193 re
+W
+q
+q
+[1 0 0 1 1 0] cm
+q
+[1 0 0 1 0 0] cm
+0 0 191.99999 192.000012 re
+W
+[1 0 0 -1 0 192.000012] cm
+q
+/DeviceRGB {} cs
+[0.651 0.8078 0.2235] sc
+192 96 m
+192 149.023 149.023 192 96 192 c
+42.977 192 0 149.023 0 96 c
+0 42.977 42.977 0 96 0 c
+149.023 0 192 42.977 192 96 c
+h
+f
+/DeviceRGB {} cs
+[1 1 1] sc
+53.176 59.324 11.551 80.324 re
+f
+81.676 59.324 m
+112.875 59.324 l
+142.574 59.324 155.625 80.551 155.625 99.523 c
+155.625 120.148 139.5 139.727 113.023 139.727 c
+81.676 139.727 l
+81.676 59.324 l
+h
+93.227 129.301 m
+111.602 129.301 l
+137.773 129.301 143.773 109.426 143.773 99.523 c
+143.773 83.398 133.5 69.75 111 69.75 c
+93.227 69.75 l
+93.227 129.301 l
+h
+f
+66.523 42.602 m
+66.523 46.727 63.148 50.176 58.949 50.176 c
+54.75 50.176 51.375 46.727 51.375 42.602 c
+51.375 38.398 54.75 35.023 58.949 35.023 c
+63.148 35.023 66.523 38.477 66.523 42.602 c
+h
+f
+Q
+Q
+Q
+Q
+showpage
+%%PageTrailer
+pdfEndPage
+%%Trailer
+end
+%%DocumentSuppliedResources:
+%%EOF
diff --git a/macros/latex/contrib/aomart/aom_orcid_logo.pdf b/macros/latex/contrib/aomart/aom_orcid_logo.pdf
new file mode 100644
index 0000000000..97fb31c038
--- /dev/null
+++ b/macros/latex/contrib/aomart/aom_orcid_logo.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/aomart.bib b/macros/latex/contrib/aomart/aomart.bib
index 75db470db4..35faadf074 100644
--- a/macros/latex/contrib/aomart/aomart.bib
+++ b/macros/latex/contrib/aomart/aomart.bib
@@ -1,9 +1,3 @@
-Generated on Sun Jan 2 17:18:36 2011 (1294006716).
-
-
-,-------------------.
-| BIBTEX ENTRIES |
-`-------------------'
@book{Graetzer00:MathIntoLaTeX,
address = {Boston},
@@ -129,3 +123,13 @@ c.pdf}},
year = 2005,
note = {\url{http://mirrors.ctan.org/macros/latex/required/babel}}
}
+
+@manual{orcidlink,
+ title = {The orcidlink package},
+ subtitle = {Insert hyperlinked ORCiD logo},
+ author = {Stein, Leo},
+ url = {https://ctan.org/pkg/orcidlink},
+ urldate = {2024-06-08},
+ yar = 2020,
+ version = {1.0.5},
+}
diff --git a/macros/latex/contrib/aomart/aomart.dtx b/macros/latex/contrib/aomart/aomart.dtx
index 0af4820992..7d66ce495e 100644
--- a/macros/latex/contrib/aomart/aomart.dtx
+++ b/macros/latex/contrib/aomart/aomart.dtx
@@ -1,7 +1,7 @@
% \iffalse
-% $Id: aomart.dtx,v 1.80 2022/05/01 03:07:24 boris Exp $
+% $Id: aomart.dtx,v 1.81 2024/06/09 00:29:48 boris Exp $
%
-% Copyright 2010-2022, Princeton University (Mathematics Department)
+% Copyright 2010-2024, Princeton University (Mathematics Department)
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3 of this license or (at your option) any
@@ -66,7 +66,7 @@
% \GetFileInfo{aomart.dtx}
% \newcommand{\progname}[1]{\textsf{#1}}
% \title{\LaTeX{} Class for The \emph{Annals of
-% Mathematics}\thanks{\copyright 2010--2022, Princeton University
+% Mathematics}\thanks{\copyright 2010--2024, Princeton University
% (Mathematics Department)}}
% \author{Boris Veytsman\thanks{%
% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
@@ -306,7 +306,7 @@
% \DescribeMacro{\email}%
% \DescribeMacro{\address} \DescribeMacro{\curraddr}%
% \DescribeMacro{\urladdr}%
-% \DescribeMacro{\orccid}%
+% \DescribeMacro{\orcid}%
% The interface for specifying the authors and their affiliations is
% close the the one of \progname{amsart}~\cite{instr-l} (and different
% from the standard \LaTeX). For each author a separate command
@@ -843,7 +843,7 @@
\ProvidesFile{aomart.dtx}
%</gobble>
%<class>\ProvidesClass{aomart}
-[2022/04/30 v1.27 Typesetting articles for the Annals of Mathematics]
+[2024/06/08 v1.28 Typesetting articles for the Annals of Mathematics]
% \end{macrocode}
%
%
@@ -986,9 +986,9 @@
% settings}
% \changes{v1.1}{2010/12/31}{In manuscript mode the links are always
% blue}
-% \changes{v1.22}{2018/05/21}{In screen mode we no longer crop pages}
+% \changes{v1.22}{2018/05/21}{In screen mode we no longer crop pages}
% \begin{macrocode}
-\RequirePackage{fancyhdr, lastpage, ifpdf}
+\RequirePackage{fancyhdr, lastpage, ifpdf, graphicx}
\RequirePackage[breaklinks,colorlinks]{hyperref}
\if@aom@screen@mode
\hypersetup{linkcolor=blue,citecolor=blue,
@@ -1221,7 +1221,13 @@
% \begin{macrocode}
\setlength{\headsep}{14pt}
% \end{macrocode}
-%
+% \begin{macro}{\headheight}
+% \changes{v2.28}{2024/06/08}{Increased}
+% Slightly increasing head height
+% \begin{macrocode}
+\setlength{\headheight}{18.0pt}
+% \end{macrocode}
+% \end{macro}
% \end{macro}
% \begin{macro}{\headrulewidth}
% \begin{macro}{\footrulewidth}
@@ -1405,6 +1411,7 @@
\g@addto@macro\@names{\and author=#2;}%
\g@addto@macro\addresses{\author{}}%
\fi
+ \gdef\aom@current@orcid@target{\authors}%
\@ifnotempty{#1}{%
\ifx\@empty\shortauthors
\gdef\shortauthors{#1}%
@@ -1477,12 +1484,14 @@
%
% \begin{macro}{\contrib}
% \changes{v1.26}{2022/01/19}{Redefined amsart macro}
+% \changes{v1.28}{2024/06/08}{Added typesetting orcids}
% The processing of contributors. Contributors are separated into
% groups with the same contribution. Within the group one can omit
% the contribution.
% \begin{macrocode}
\renewcommand{\contrib}[2][]{%
\def\@tempa{#1}%
+ \gdef\aom@current@orcid@target{\@currentcontributors}%
\@startcontribgrouptrue
\ifx\@tempa\@empty\relax
\ifx\@currentcontribution\@empty\relax
@@ -1508,6 +1517,7 @@
\expandafter\g@addto@macro\expandafter%
\@names\expandafter{\@currentcontribution}%
\g@addto@macro\@names{;}%
+ \g@addto@macro\addresses{\author{}}%
}
% \end{macrocode}
%
@@ -1536,18 +1546,41 @@
%
% \end{macro}
%
+%
+% \begin{macro}{\aom@current@orcid@target}
+% \changes{v1.28}{2024/06/08}{Added macro}
+% Each new orcid can be added either to the authors or to the
+% contributors. This macro defines where it goes
+% \begin{macrocode}
+\def\aom@current@orcid@target{\authors}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\orcid}
-% \changes{v1.18}{2017/02/15}{Added macro}
+% \changes{v1.18}{2017/02/15}{Added macro}
+% \changes{v1.28}{2024/06/08}{Added typesetting orcid}
% Orcid also outputs metadata
% \begin{macrocode}
-\newcommand{\orcid}[2][]{%
- \g@addto@macro\addresses{\orcid{#1}{#2}}%
- \g@addto@macro\@names{orcid=#2;}%
+\newcommand{\orcid}[1]{%
+ \g@addto@macro\addresses{\orcid{#1}}%
+ \g@addto@macro\@names{orcid=#1;}%
+ \expandafter\g@addto@macro\aom@current@orcid@target{\aom@orcidlink{#1}}%
}
% \end{macrocode}
%
% \end{macro}
%
+% \begin{macro}{\aom@orcidlink}
+% \changes{v1.28}{2024/06/08}{Added macro}
+% The package orcidlink~\cite{orcidlink} requires TikZ, so here we
+% reproduce its functionality using our own version of orcid logo.
+% Note that the original logo is licenses under CC0, see
+% \url{https://orcid.figshare.com/articles/figure/ORCID_iD_icon_graphics/5008697}
+% \begin{macrocode}
+\newcommand\aom@orcidlink[1]{\kern0.2ex\href{https://orcid.org/#1}{\includegraphics[height=2ex]{aom_orcid_logo}}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\keyword}
% Actually \progname{amsart} has |\kewords| macro. It redefines
% |\@keywords|. Our macro adds to the stack instead.
@@ -1949,6 +1982,7 @@
% \begin{macro}{\@setauthors}
% \changes{v0.6}{2010/11/04}{'By' and 'and' are in Roman font now}
% \changes{v1.10}{2011/06/21}{Internationalization}
+% \changes{v1.28}{2024/06/08}{Added treatment of orcids}
% Now we typeset authors according to our specs. Again, we use this
% occasion to set some PDF information:
% \begin{macrocode}
@@ -1963,7 +1997,11 @@
\def\@@and{{\upshape \@aom@and}}%
\author@andify\authors
\ifpdf
- \hypersetup{pdfauthor=\authors}%
+ \bgroup
+ \def\aom@orcidlink##1{}%
+ \xdef\@tempa{\authors}%
+ \egroup
+ \hypersetup{pdfauthor=\@tempa}%
\fi
\def\\{\protect\linebreak}%
\small \@aom@by{} \scshape\authors%
@@ -2147,10 +2185,9 @@
\@ifnotempty{##2}{\nobreak\indent
\@ifnotempty{##1}{, \ignorespaces##1\unskip}%
\url{##2}\par}\endgroup}%
- \def\orcid##1##2{\begingroup
- \@ifnotempty{##2}{\nobreak\indent
- \@ifnotempty{##1}{, \ignorespaces##1\unskip}%
- ORCID: ##2\par}\endgroup}%
+ \def\orcid##1{\begingroup
+ \@ifnotempty{##1}{\nobreak\indent
+ ORCID: ##1\par}\endgroup}%
\addresses
\endgroup
}
diff --git a/macros/latex/contrib/aomart/aomart.pdf b/macros/latex/contrib/aomart/aomart.pdf
index ec0a495c5d..0c7d7e9373 100644
--- a/macros/latex/contrib/aomart/aomart.pdf
+++ b/macros/latex/contrib/aomart/aomart.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/aomfrench.pdf b/macros/latex/contrib/aomart/aomfrench.pdf
index 91b285a449..2c517705c2 100644
--- a/macros/latex/contrib/aomart/aomfrench.pdf
+++ b/macros/latex/contrib/aomart/aomfrench.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/aomsample.bib b/macros/latex/contrib/aomart/aomsample.bib
index 178a434963..d0f8f4c0d4 100644
--- a/macros/latex/contrib/aomart/aomsample.bib
+++ b/macros/latex/contrib/aomart/aomsample.bib
@@ -176,6 +176,7 @@ Constrained Convex Programming},
}
@article{Lenstra74,
+key = {LHO},
author= {Lenstra, Jr., Hendrik W. and Oort, Frans},
title= {Simple abelian varieties having a prescribed formal isogeny type.},
journal="J. Pure Appl. Algebra ",
diff --git a/macros/latex/contrib/aomart/aomsample.pdf b/macros/latex/contrib/aomart/aomsample.pdf
index 9b17f576a9..d336f62f2b 100644
--- a/macros/latex/contrib/aomart/aomsample.pdf
+++ b/macros/latex/contrib/aomart/aomsample.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/aomsample.tex b/macros/latex/contrib/aomart/aomsample.tex
index f827924670..d968f37125 100644
--- a/macros/latex/contrib/aomart/aomsample.tex
+++ b/macros/latex/contrib/aomart/aomsample.tex
@@ -116,6 +116,7 @@ Fairfax, Virginia}
\fulladdress{School of Systems Biology\\
George Mason University\\
Fairfax, VA 22030}
+\orcid{0000-0003-4674-8113}
\email{borisv@lk.net}
\urladdr{http://borisv.lk.net}
\givenname{Boris}
@@ -126,11 +127,13 @@ Fairfax, VA 22030}
\givenname{Frodo}
\surname{Baggins}
\contrib{Bilbo Baggins}
+\orcid{000-0000-0000-00000}
\givenname{Bilbo}
\surname{Baggins}
\contrib[with afterword by]{Bilbo Baggins}
\givenname{Bilbo}
\surname{Baggins}
+\orcid{000-0000-0000-00000}
\address{The Unseen Univeresity}
\thanks{The class was commissioned by Annals of Mathematics}
@@ -1752,7 +1755,7 @@ agencies]{Department of Defense}{Special project Secret Defense}.
\bibliography{aomsample}
-\bibliographystyle{aomplain}
+\bibliographystyle{aomalpha}
\end{document}
\endinput
diff --git a/macros/latex/contrib/aomart/aomsample1.pdf b/macros/latex/contrib/aomart/aomsample1.pdf
index c8a115f533..23ba1d6efe 100644
--- a/macros/latex/contrib/aomart/aomsample1.pdf
+++ b/macros/latex/contrib/aomart/aomsample1.pdf
Binary files differ
diff --git a/macros/latex/contrib/aomart/aomsample1.tex b/macros/latex/contrib/aomart/aomsample1.tex
index 920c6971ef..64f966cbdd 100644
--- a/macros/latex/contrib/aomart/aomsample1.tex
+++ b/macros/latex/contrib/aomart/aomsample1.tex
@@ -116,6 +116,7 @@ Fairfax, Virginia}
\fulladdress{School of Systems Biology\\
George Mason University\\
Fairfax, VA 22030}
+\orcid{0000-0003-4674-8113}
\email{borisv@lk.net}
\urladdr{http://borisv.lk.net}
\givenname{Boris}
@@ -126,11 +127,13 @@ Fairfax, VA 22030}
\givenname{Frodo}
\surname{Baggins}
\contrib{Bilbo Baggins}
+\orcid{000-0000-0000-00000}
\givenname{Bilbo}
\surname{Baggins}
\contrib[with afterword by]{Bilbo Baggins}
\givenname{Bilbo}
\surname{Baggins}
+\orcid{000-0000-0000-00000}
\address{The Unseen Univeresity}
\thanks{The class was commissioned by Annals of Mathematics}
@@ -1751,7 +1754,7 @@ agencies]{Department of Defense}{Special project Secret Defense}.
\bibliography{aomsample}
-\bibliographystyle{aomplain}
+\bibliographystyle{aomalpha}
\end{document}
\endinput
diff --git a/macros/latex/contrib/babel-contrib/french/README.md b/macros/latex/contrib/babel-contrib/french/README.md
index 5f6d25139a..0ab51bc7ac 100644
--- a/macros/latex/contrib/babel-contrib/french/README.md
+++ b/macros/latex/contrib/babel-contrib/french/README.md
@@ -23,7 +23,7 @@ The bundle consists of the following files:
License
-------
-Released under the LaTeX Project Public License v1.3 or later
+Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
## Installation
@@ -31,7 +31,8 @@ See http://www.latex-project.org/lppl.txt
If the latest version of this package is not included in your LaTeX
distribution, do the following:
-* issue "luatex frenchb.dtx" to unpack the language definition files;
+* execute the command "luatex frenchb.dtx" in a terminal to unpack
+ the language definition files;
* copy the files frenchb.lua, french.ldf, frenchb.ldf, francais.ldf,
acadian.ldf and canadien.ldf to a location where TeX can find them
(default location: $TEXMF/tex/generic/babel-french/);
@@ -49,5 +50,5 @@ Changes
See the included manual frenchb.pdf, section "Change History".
---
-Copyright 1996--2023 Daniel Flipo
+Copyright 1996--2024 Daniel Flipo
E-mail: daniel (dot) flipo (at) free (dot) fr
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
index 4b901cdf3e..2eb2bb0a71 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
index 9434072bd6..701df1e896 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
@@ -120,7 +120,7 @@
\title{Mode d’emploi du module \ext{babel-french}}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\latestversion}{3.5s}
+\newcommand*{\latestversion}{3.6b}
\date{Version {\latestversion} -- \today}
\begin{document}
@@ -135,7 +135,7 @@
trouve à la section~\ref{sec:changes-3.0} p.~\pageref{sec:changes-3.0}.
La version actuelle de frenchb (\latestversion), dont le nom officiel est
- \ext{babel-french}, est prévue pour fonctionner aussi bien avec les anciens
+ \ext{babel-french}, est conçue pour fonctionner aussi bien avec les anciens
formats TeX comme pdf(La)TeX qu’avec les nouveaux Lua(La)TeX et Xe(La)TeX.
Les mises à jour de \ext{babel-french} sont désormais affichées très
@@ -157,11 +157,6 @@
\vspace{-\baselineskip}\noindent
\descindentFB=0pt
\begin{description}
- \item[30 avril 2017] Utiliser |\frenchsetup{}| de préférence à
- |\frenchbsetup{}|, voir p.~\pageref{sec:Perso}.
- Personnalisation de la commande |\part{}|, voir p.~\pageref{ssec:captions}.
- \item[31 août 2017] Ajout de l’option \fbo{UnicodeNoBreakSpaces},
- voir p.~\pageref{ucs-nbsp}.
\item[30 janvier 2018] Adaptation à la version 3.4a, voir
section~\ref{ssec:changes-3.4}.
\item[24 février 2018] Regroupement par thèmes des options de \fbsetup{}.
@@ -183,6 +178,8 @@
voir p.~\pageref{par-in-lists}.
\item[19 déc. 2023] \ext{babel-french} est maintenant compatible
avec \pkg{ucharclasses} (XeLaTeX). \file{frenchb.ins} supprimée.
+ \item[22 mai 2024] Adaptation à la version 3.6a, voir
+ section~\ref{ssec:changes-3.6}.
\end{description}
\end{abstract}
\egroup
@@ -880,8 +877,9 @@ La liste étant longue, les options sont regroupées par thèmes.
\item [AutoSpaceFootnotes=false (true*)] supprime l’espace fine
insécable ajoutée par défaut avant l’appel de chaque note dans le texte
- courant. Cette option affecte la totalité du document.
-
+ courant. Cette option affecte la totalité du document.
+ L’espace éventuellement ajoutée peut être ajustée, la commande par défaut
+ est : |\newcommand*{\FBfnmarkspace}{\kern .5\fontdimen2\font}|
\end{description}
\subsubsection*{Ponctuation haute}
@@ -1123,10 +1121,10 @@ La liste étant longue, les options sont regroupées par thèmes.
section~\ref{sec:description}, p.~\pageref{sec:description}.
\item [LowercaseSuperscripts=false (true)] rend possible d’avoir des lettres
- supérieures en capitales (est-ce bien utile ?). Par défaut, la nouvelle
- commande |\up| (sauf si elle est redéfinie en |\textsuperscript| par l’option
- précédente) empêche le passage en capitales des lettres supérieures dans les
- hauts de pages par exemple.
+ supérieures en capitales (est-ce bien utile ?). Par défaut, la commande
+ |\up| (sauf si elle est redéfinie en |\textsuperscript| par l’option
+ précédente) empêche le passage en capitales des lettres supérieures dans
+ les hauts de pages par exemple.
\item [SuppressWarning=true (false)] peut être utilisée pour supprimer les
avertissements non essentiels émis par \ext{babel-french}.
@@ -1521,10 +1519,31 @@ aurait :
}
%\newpage
-\section{Changements entre les versions 3.5 et 2.6}
+\section{Changements entre les versions \latestversion{} et 3.4 (2018)}
\label{sec:changes-3.0}
-\subsection{Changements entre les versions \latestversion{} et 3.4d}
+\subsection{Changements entre les versions \latestversion{} et 3.5s}
+\label{ssec:changes-3.6}
+
+Un bug affectant l’utilisation de la commande |\NoAutoSpacing| dans les
+signets \pkg{hyperref} a été corrigé en version 3.6b.
+
+La version 3.6a n’a plus recours à l’extension \pkg{keyval} pour gérer les
+options, les commandes internes du noyau LaTeX (\pkg{l3keys})
+|\DeclareKeys{}| et |\SetKeys{}| sont utilisées.\\
+L’espace fine ajoutée avant l’appel des notes de bas de pages est maintenant
+personnalisable (suggestion de Thomas Savary) ; le nom de la commande est
+|\FBfnmarkspace{}|, c’est une \emph{vraie} espace fine (demie espace-mot de la
+police courante) contrairement à la commande LaTeX |\,| alias |\thinspace|%
+\footnote{Elles sont définies pour fonctionner aussi en mode mathématique.}
+précédemment utilisée qui chasse toujours 1/6em. Les deux définitions
+coïncident pour les polices dont l’espace-mot vaut 1/3em, (cas le plus
+courant), l’écart est infime pour celles qui chassent moins : il est par
+exemple de $(1/6-1/8)12=0,5$pt en 12pt pour une police dont l’espace-mot
+chasse 1/4em. Il est toujours possible de revenir à l’ancien comportement en
+codant |\renewcommand\FBfnmarkspace{\,}|.
+
+\subsection{Changements entre les versions 3.5a et 3.4d}
\label{ssec:changes-3.5}
La version 3.5a propose une nouvelle option \fbo{ListItemsAsPar} qui permet
@@ -1671,116 +1690,6 @@ judicieux de renommer la commande de personnalisation |\frenchbsetup{}| en
De nouvelles possibilités de personnalisation de la commande |\part{}| ont été
introduites, voir page~\pageref{ssec:captions}.
-\subsection{Changements entre les versions 3.2h et 3.1m}
-\label{ssec:changes-3.2}
-
-La version 3.2g modifie le comportement par défaut de la commande |\frquote{}|
-sous LuaTeX qui est maintenant le même que sous XeTeX ou pdfTeX.
-Il suffit d’ajouter l’option \fbo{EveryLineGuill=open} pour retrouver le
-comportement des versions précédentes.
-
-Depuis la version 3.2f, \ext{babel-french} est compatible avec l’extension
-\ext{icomma} qui offre une solution alternative à la commande
-|\DecimalMathComma|.
-
-La construction des notes de bas de page a été revue pour les classes
-\cls{beamer}, \cls{memoir} et koma-script (\cls{scrartcl}, \cls{scrreprt}
-et \cls{scrbook}). Le rendu final est conservé mais les possibilités de
-personnalisation offertes par ces classes pour la présentation des notes de
-bas de page (changement de police, de couleur, etc.) sont désormais
-disponibles même lorsque l’option \fbo{FrenchFootnotes} est activée.
-
-Un vieux bug affectant le comportement de |\frquote{}| lorsque l’extension
-\ext{xspace} est chargée, a été corrigé.
-
-Les commandes |\NoAutoSpacing|, |\ttfamilyFB|, |\rmfamilyFB| et |\sffamilyFB|
-ont été complètement réécrites dans la version~3.2c afin de leur assurer un
-comportement identique quel que soit le moteur utilisé, pdfTeX, XeTeX ou
-LuaTeX.
-
-\textbf{{babel-french} v.3.2b et suivantes, mise en garde pour les
- utilisateurs de Lua(La)TeX :}
-\nopagebreak
-La version~3.2b est la première compatible avec la version~0.95 de LuaTeX
-incluse dans TeXLive~2016. Les changements intervenus dans la structure des
-nœuds de type \textit{glue} rendent cette nouvelle version de LuaTeX
-incompatible avec les précédentes. Le code lua contenu dans les versions 3.2b
-et suivantes de \file{frenchb.lua} ne fonctionne pas avec les versions de
-LuaTeX antérieures à 0.95, aussi à partir de la version~3.2b \ext{babel-french}
-revient aux caractères actifs pour la gestion de la ponctuation haute avec les
-moteurs LuaTeX antérieurs à 0.95 !
-La bonne solution consiste à installer rapidement TeXLive~2016 ou une autre
-distribution contenant LuaTeX~0.95.
-En revanche il n’y a aucun problème de compatibilité ascendante avec les
-moteurs XeTeX et pdfTeX.
-
-\subsection{Changements entre les versions 3.1m et 3.0c}
-\label{ssec:changes-3.1}
-
-{\sloppy
- Ajout de la commande |\frquote{}| et de sa variante |\frquote*{}|
- recommandées pour saisir les citations, notamment les citations imbriquées
- ou celles s’étendant sur plusieurs paragraphes, voir p.~\pageref{frquote}
- et les nouvelles options \fbo{EveryParGuill}, \fbo{EveryLineGuill} et
- \fbo{InnerGuillSingle}.
-\par}
-
-Nouvelle option \fbo{SmallCapsFigTabCaptions}, voir p.~\pageref{scfigtab}.
-
-\subsection{Changements entre les versions 3.0c et 2.6h}
-\label{ssec:changes-3.0}
-
-Plusieurs modifications de fond ont motivé le passage à la version~3.0.
-
-\begin{itemize}
-
-\item \ext{babel-french} ne fonctionne désormais qu’avec la version~3.9
- de Babel ce qui donne accès à une syntaxe plus agréable pour modifier les
- \textit{captions}, voir p.~\pageref{captionsfrench}.
- Le séparateur utilisé dans les légendes de figures et de tableaux est
- choisi de manière globale pour toutes les langues, voir
- p.~\pageref{captionseparator}.
-
-\item La gestion des options par \fbsetup{} a été complètement remaniée ; deux
- nouvelles options ont été ajoutées.
-
-\item La variante « canadien » du français fonctionne désormais comme un vrai
- \textit{dialect} au sens de Babel ; parallèlement le français ne devrait
- plus être désigné que sous le nom \opt{french}, à la fois en option de
- |\usepackage[...]{babel}|%
- \footnote{Le mieux est encore de mettre toutes les déclarations de langues
- en option de \cs{documentclass}.}
- et en argument de |\selectlanguage{}| et consorts.
- Les variantes \opt{frenchb} et \opt{francais} sont encore tolérées mais
- sans aucune garantie de pérennité.
-
-\item \ext{babel-french} ne charge plus le fichier \file{frenchb.cfg} ; la
- personnalisation passe par l’utilisation exclusive de \fbsetup{}.
-
-\item Les étiquettes des listes \env{description} sont positionnées comme
- celles des listes \env{itemize} et \env{enumerate} avec un retrait
- paramétrable |\listindentFB| par rapport à la marge gauche.
-
-\item Enfin et c’est probablement le plus important, le recours aux
- caractères actifs est supprimé pour la gestion de la ponctuation haute
- lorsqu’un format basé sur LuaTeX%
- \footnote{C’est déjà le cas pour XeTeX depuis la version~2.5 de
- \ext{babel-french}.}
- est utilisé (LuaLaTeX par exemple).
- Le mécanisme des caractères actifs est remplacé par un appel aux
- \textit{callbacks} |pre_linebreak_filter| et |hpack_filter|%
- \footnote{Depuis la version 3.1g c’est le\textit{callbacks} \texttt{kerning}
- qui est mis en œuvre à la place.}.
-
- La base du code |lua| se trouve dans l’exposé de Paul Isambert
- à la journée GUT’2010. Un grand merci à Paul pour cette source d’inspiration
- et pour ses suggestions lors de la relecture finale de \file{frenchb.lua}.
-
-\end{itemize}
-
-À partir de la version 3.0c, \ext{babel-french} laisse le contrôle total des
-listes à la classe \cls{beamer} (option \fbo{StandardLists} automatiquement
-activée) ; nouvelle option \fbo{INGuillSpace} (voir p.~\pageref{INGuillspace}).
\subsection{Comment recompiler un document écrit pour
{babel-french}~2.x ?}
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.dtx b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
index 71171ba2bf..1ec34d6f5b 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.dtx
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
@@ -27,11 +27,11 @@ to be used with the Babel system.
-------------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+and version 1.3c or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This work has the LPPL maintenance status "maintained".
@@ -75,7 +75,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%<frenchb>\ProvidesLanguage{frenchb}
%<lua>--[[
%<lua> File `frenchb.lua’ generated from frenchb.dtx
- [2024-02-29 v3.5s French support from the babel system]
+ [2024-06-26 v3.6b French support from the babel system]
%<lua> Copyright © 2014-2024 Daniel Flipo
%<lua> <daniel (dot) flipo (at) free (dot) fr>
%<lua> License LPPL: see french.ldf.
@@ -101,17 +101,24 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
\usepackage[dvipsnames]{xcolor}
\usepackage[no-math]{fontspec}
\usepackage{realscripts}
-\setmainfont{Vera.ttf}[
- ItalicFont = VeraIt.ttf,
- BoldFont = VeraBd.ttf,
- BoldItalicFont = VeraBI.ttf,
- Scale = 0.92
- ]
-\setmonofont{VeraMono.ttf}[
- ItalicFont = VeraMoIt.ttf,
- BoldFont = VeraMoBd.ttf,
- BoldItalicFont = VeraMoBI.ttf,
- Scale = MatchLowercase,
+\usepackage{setspace}
+\setstretch{1.15}
+\setmainfont{SourceSansPro}[
+ Scale = 1.13 ,
+ Extension = .otf ,
+ UprightFont = *-Regular ,
+ ItalicFont = *-RegularIt ,
+ BoldFont = *-Bold ,
+ BoldItalicFont = *-BoldIt ]
+\setmonofont{iosevka}[%
+ Scale = MatchLowercase ,
+ FakeStretch = 1.05 ,
+ Extension = .ttf,
+ UprightFont = *-medium,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic,
+% RawFeatures = -dlig;-clig % ligature >= (l.1314)
]
%
\def\PrintMacroName#1{%
@@ -149,8 +156,8 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
\clearpage
\section{Change History}%
\GlossaryPrologue{}%
- Changes are listed in reverse order (latest first) and limited to
- \frenchb{}~v3.
+ Changes listed in reverse order (latest first) and not older
+ than~v3.3 (2018).
\PrintChanges
}
\begin{document}
@@ -298,8 +305,8 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% the quotation either an opening French guillemet («), or
% a closing one (») or nothing depending on option
% \fbo{EveryParGuill=open} or \fbo{=close} or \fbo{=none},
-% see p.~\pageref{everyparguill}.
-% Command |\NoEveryParQuote| is provided to locally suppress
+% see p.~\pageref{everyparguill}.\\
+% The command |\NoEveryParQuote| is provided to locally suppress
% unwanted guillemets (typically when lists are embedded in
% |\frquote{}|), it is meant to be used inside an environment
% or a group.
@@ -355,7 +362,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% Usage: |Albert~\bsc{Camus}|.
%
% \item Commands |\primo|, |\secundo|, |\tertio| and |\quarto|
-% print 1\up{o}, 2\up{o}, 3\up{o}, 4\up{o}.
+% print 1\up{o}, 2\up{o}, 3\up{o}, 4\up{o}.\linebreak
% |\FrenchEnumerate{6}| prints 6\up{o}.
% \item Abbreviations for ``Numéro(s)’’ and ``numéro(s)’’
% (N\up{o} N\up{os} n\up{o} and n\up{os}~) are obtained
@@ -403,7 +410,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% Customisation of \frenchb{} relies on command \fbsetup{}
% (formerly called |\frenchbsetup{}|, the latter name will be kept
% for ever to ensure backwards compatibility), options are entered
-% using the \file{keyval} syntax.
+% using the \file{l3keys} syntax.
% The command \fbsetup{} is to appear in the preamble only
% (after loading \babel).
%
@@ -418,7 +425,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%
% \fbsetup{ShowOptions} prints all available options to
% the \file{.log} file, it is just meant as a remainder of the
-% list of offered options. As usual with \file{keyval} syntax,
+% list of offered options. As usual with \file{l3keys} syntax,
% boolean options (as \fbo{ShowOptions}) can be entered as
% \fbo{ShowOptions=true} or just \fbo{ShowOptions}, the
% \fbo{=true} part can be omitted.
@@ -453,9 +460,10 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% first paragraph of sections. When French is the main language,
% this option applies to all languages.
%
-% \item [PartNameFull=false (true)]; when true, \frenchb{} numbers
-% the title of |\part{}| commands as ``Première partie’’,
-% ``Deuxième partie’’ and so on. With some classes which
+% \item [PartNameFull=false (true)]; when true (the default),
+% \frenchb{} numbers the title of |\part{}| commands as
+% ``Première partie’’, ``Deuxième partie’’ and so on.
+% With some classes which
% change the |\part{}| command (AMS classes do so), you could
% get ``Première partie~1’’, ``Deuxième partie~2’’ in the toc;
% when this occurs, this option should be set to
@@ -506,9 +514,9 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% you had to set \fbo{ReduceListSpacing=false} to revert to the
% class settings which actually reduce list’s spacings even more
% than \frenchb! \fbo{StandardListSpacing=true} replaces
-% \fbo{ReduceListSpacing=false}.}; \frenchb{} customises
+% \fbo{ReduceListSpacing=false}.}; \frenchb{} usually customises
% the vertical spaces in the \env{list} environment, this affects
-% all lists, including \env{itemize} \env{enumerate},
+% all lists, including \env{itemize}, \env{enumerate},
% \env{description}, but also \env{abstract}, \env{quote},
% \env{quotation}, \env{verse}, etc. which are based on \env{list}.
% Setting this option to \fbo{true} reverts to the standard
@@ -552,12 +560,14 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% \cs{ding\{43\}} (\cs{textemdash}*)]\hfill
%
% \item [StandardLists=true (false*)] forbids \frenchb{} to
-% customise any kind of list. Try the option \fbo{StandardLists}
-% in case of conflicts with classes or packages that customise
+% customise any kind of list. The option \fbo{StandardLists=true}
+% should be used in case of conflicts with classes or packages that
+% customise
% lists too. This option is just a shorthand setting all four
% options \fbo{StandardListSpacing=true},
-% \fbo{StandardItemizeEnv=true}, \fbo{StandardEnumerateEnv=true}
-% and \fbo{StandardItemLabels=true}.
+% \fbo{StandardItemizeEnv=true},\linebreak
+% \fbo{StandardEnumerateEnv=true} and
+% \fbo{StandardItemLabels=true}.
%
% \item [ListOldLayout=true (false)]; starting with version~2.6a,
% the layout of lists has changed regarding leftmargins’ sizes
@@ -576,9 +586,11 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% instance).
%
% \item [AutoSpaceFootnotes=false (true*)]; by default \frenchb{}
-% adds a thin space in the running text before the number or
-% symbol calling the footnote. Making this option \fbo{false}
-% reverts to the standard setting (no space added).
+% adds a (customisable) thin space in the running text before the
+% number or symbol calling the footnote. Making this option
+% \fbo{false} reverts to the standard setting (no space added).
+% The default definition of this thin space is:\\
+% |\newcommand*{\FBfnmarkspace}{\kern .5\fontdimen2\font}|
%
% \item [AutoSpacePunctuation=false (true)]; in French, the user
% \hlabel{autospacepunctuation}
@@ -677,7 +689,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% always surrounded by « and », the next option is ineffective.
%
% \item [InnerGuillSingle=true (false)];
-% if \fbo{InnerGuillSingle=false} (default), inner quotations
+% if \fbo{InnerGuillSingle=false} (the default), inner quotations
% entered with |\frquote{}| start with~\texttt{``} and end
% with~\texttt{’’}.
% If \fbo{InnerGuillSingle=true}, \texttt{\guilsinglleft} and
@@ -693,7 +705,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% |\npthousandsep| is defined as a non-breaking space (|~|)%
% \footnote{Actually without stretch nor shrink.} in French;
% when set to true, this option redefines |\npthousandsep|
-% as a thin space (|\,|).
+% as a thin space (|\FBthinspace|).
%
% \item [SmallCapsFigTabCaptions=false (true*)]; when set to
% \fbo{false}, |\figurename| and |\tablename| will be printed in
@@ -702,8 +714,8 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% achieved by defining |\FBfigtabshape| as |\relax| before
% loading \frenchb{} (in a document class f.i.).
%
-% \item [CustomiseFigTabCaptions=false (true*)]; when \fbo{false}
-% the default separator (colon) is used instead of
+% \item [CustomiseFigTabCaptions=false (true*)]; when set to
+% \fbo{false} the default separator (colon) is used instead of
% |\CaptionSeparator|. Anyway, \frenchb{} tries hard to insert
% a proper space before it in French and warns if it fails to do
% so.
@@ -735,23 +747,23 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% in the order they appear in the \fbsetup{} command.
% Someone wishing that \frenchb{} leaves the layout of lists
% and footnotes untouched but caring for indentation of first
-% paragraph of sections should choose\\
-% \fbsetup{StandardLayout,IndentFirst} to get the expected
-% layout. The reverse order
-% \fbsetup{IndentFirst,StandardLayout} would lead to option
-% \fbo{IndentFirst} being overwritten by \fbo{StandardLayout}.
+% paragraph of sections should choose
+% \fbsetup{StandardLayout,IndentFirst}\par
+% The reverse order \fbsetup{IndentFirst,StandardLayout}
+% would lead to option \fbo{IndentFirst} being overwritten by
+% \fbo{StandardLayout}.
%
% \subsubsection{Caption names}
% \label{sssec-captions-name}
%
-% All caption names can easily be customised in French using the
-% simplified syntax introduced by \babel~3.9, for instance
-% |\def\frenchproofname{Preuve}| or
+% {\sloppy All caption names can easily be customised in French
+% using the simplified syntax introduced by \babel~3.9,
+% for instance |\def\frenchproofname{Preuve}| or
% |\def\acadianproofname{Preuve}| for the \opt{acadian} dialect.
% The older syntax |\addto\captionsfrench{\def\proofname{Preuve}}|
% still works. Keep in mind that \emph{only} |french| can be used
% to redefine captions, even if \babel{}’s option was entered as
-% |frenchb| or |francais|.
+% |frenchb| or |francais|.\par}
%
% \subsubsection{Figure and table captions}
% \label{sssec-captions-fig}
@@ -839,6 +851,13 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% \subsection{Changes}
% \label{ssec-changes}
%
+% \subsubsection*{What’s new in version 3.6?}
+%
+% Version 3.6a no longer loads the \pkg{keyval} package, replaced by
+% core LaTeX commands (\pkg{l3keys}). The thin space added before
+% footnote’s calls is now customisable (suggested by Thomas Savary),
+% the command’s name is |\FBfnmarkspace|.
+%
% \subsubsection*{What’s new in version 3.5?}
%
% Version 3.5a offers a new option \fbo{ListItemsAsPar}. The default
@@ -864,7 +883,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% kerning was disabled for Type1 fonts since v3.1g (2015).
%
% Version 3.5j also fixes a long standing bug affecting koma-script,
-% \cls{memoir} et \cls{beamer} classes: redefintions of the caption
+% \cls{memoir} and \cls{beamer} classes: redefintions of the caption
% separator (commands |\captionformat|, |\captiondelim|, etc.) are
% now taken into account properly.
%
@@ -958,92 +977,6 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% three new commands |\frenchpartfirst|, |\frenchpartsecond| and
% |\frenchpartnameord|.
%
-% \subsubsection*{What’s new in version 3.2?}
-%
-% Version 3.2g changes the default behaviour of |\frquote{}|
-% with LuaTeX based engines, the output is now the same with
-% all engines; to recover the former behaviour, add option
-% \fbo{EveryLineGuill=open}.
-%
-% The handling of footnotes has been redesigned for the
-% \cls{beamer}, \cls{memoir} and koma-script classes.
-% The layout of footnotes ``à la française’’ should be unchanged
-% but footnotes’ customisations offered by these classes
-% (i.e.\ font or color changes) are now available even when option
-% \fbo{FrenchFootnotes} is \fbo{true}.
-%
-% A long standing bug regarding the \pkg{xspace} package has been
-% fixed: |\xspace| has been moved up from the internal command
-% |\FB@fg| to |\fg|; |\frquote{}| now works properly when the
-% \pkg{xspace} package is loaded.
-%
-% Version 3.2b is the first one designed to work with LuaTeX
-% v.~0.95 as included in TeXLive 2016 (LuaTeX’s new glue node
-% structure is not compatible with previous versions).
-%
-% \textbf{Warning to Lua(La)TeX users:} starting with version~3.2b
-% the lua code included in \file{frenchb.lua} will \emph{not work}
-% on older installations (TL2015 f.i.), so \frenchb{} reverts to
-% active characters while handling high punctuation with LuaTeX
-% engines older than 0.95!
-% The best way to go is to upgrade to TL2016 or equivalent asap.
-% Xe(La)TeX and pdf(La)TeX users can safely use \frenchb{} v.~3.2b
-% and later on older installations too.
-%
-% The internals of commands |\NoAutoSpacing|, |\ttfamilyFB|,
-% |\rmfamilyFB| and |\sffamilyFB| have been completely redesigned
-% in version~3.2c, they behave now consistently with all engines.
-%
-% \subsubsection*{What’s new in version 3.1?}
-%
-% New command |\frquote{}| meant to enter French quotations,
-% especially long ones (spreading over several paragraphs) and/or
-% embedded ones. see p.~\pageref{frquote} for details.
-%
-% \subsubsection*{What’s new in version 3.0?}
-%
-% Many deep changes lead me to step \frenchb’s version number
-% to~3.0a:
-% \begin{itemize}
-% \item \babel{}~3.9 is required now to process
-% \file{frenchb.ldf}, this change allows for cleaner definitions
-% of dates and captions for the Unicode engines LuaTeX and
-% XeTeX and also provides a simpler syntax for end-users, see
-% section~\ref{sssec-captions-name}
-% p.\pageref{sssec-captions-name}.
-% \item \fbsetup{} options management has been completely
-% reworked; two new options added.
-% \item Canadian French didn’t work as a normal \babel’s dialect,
-% it should now; btw. the French language should now be loaded
-% as \opt{french}, \emph{not as} \opt{frenchb} or
-% \opt{francais} and preferably as a \emph{global} option of
-% |\documentclass|. Some tolerance still exists in v3.0, but
-% do not rely on it.
-% \item \frenchb{} no longer loads \file{frenchb.cfg}:
-% customisation should definitely be done using \fbsetup{}
-% options.
-% \item Description lists labels are now indented; try setting
-% |\descindentFB=0pt| (or |\listindentFB=0pt| for all lists)
-% in the preamble if you don’t like it.
-% \item The last but not least change affects the (recent)
-% LuaTeX-based engines, (this means version 0.76 as included in
-% TL2013 and up): active characters are no longer used in French
-% for `high punctuation’%
-% \footnote{The current \frenchb{} version requires LuaTeX
-% v.~1.0.4 as included in TL2017, see above.}.
-% Functionalities and user interface are unchanged.
-%
-% Many thanks to Paul Isambert who provided the basis for the
-% lua code (see his presentation at GUT’2010) and kindly
-% reviewed my first drafts suggesting significant improvements.
-%
-% \end{itemize}
-%
-% Starting with version~3.0c, \frenchb{} no longer customises
-% lists with the \cls{beamer} class and offers a new option
-% (\fbo{INGuillSpace}) to follow French `Imprimerie Nationale’
-% recommendations regarding quotes’ spacing.
-%
% \StopEventually{}
%
% \changes{v2.6c}{2013/05/20}{Dummy file frenchb.cfg is no longer
@@ -1217,7 +1150,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ifFBunicode}
+%\begin{macro}{\ifFBunicode}
% \begin{macro}{\ifFBLuaTeX}
% \begin{macro}{\ifFBXeTeX}
% French hyphenation patterns are now coded in Unicode, see file
@@ -1460,8 +1393,8 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%
% \begin{macro}{\FBsetspaces}
% This command makes it easy to fine tune |\FBguillspace|,
-% |\FBcolonspace| and |\FBthinspace| in French (defaut) or
-% independently in a French dialect using the optional argument.
+% |\FBcolonspace| and\linebreak |\FBthinspace| in French (defaut)
+% or independently in a French dialect using the optional argument.
% They are meant for LaTeX2e \emph{only} and can only be used
% in the preamble.
% Four mandatory arguments are expected besides the optional one:
@@ -1469,8 +1402,8 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
% "thin", the last four are decimal numbers specifying
% \textit{width}, \textit{stretch} and \textit{shrink} relative to
% \textit{fontdimens}.\hlabel{FBsetspaces}
-% For instance |\FBsetspaces[acadian]{colon}{0.5}{0}{0}| defines
-% |\acadianFBcolonspace| as a thinspace which will be used for
+% For \kern0pt instance |\FBsetspaces[acadian]{colon}{0.5}{0}{0}|
+% defines |\acadianFBcolonspace| as a thinspace which will be used for
% the Acadian dialect only. When used without optional argument or
% with argument `french’, the same command would tune the basic
% |\FBcolonspace| command.
@@ -1687,13 +1620,16 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
with this version of LuaTeX!}
\fi
% \end{macrocode}
-% The next command will be used in the first call of |\extrasfrench|
-% to convert |\FBcolonspace|, |\FBthinspace| and |\FBguillspace|
-% into a table usable by LuaTeX. This way, any customisation done
-% in the preamble (by \fbsetup{}, redefinitions or |\FBsetspaces|
-% commands) are taken into account. Values not explicitly set for
-% Acadian by |\FBsetspaces[|\textit{acadian}|]| commands are copied
-% from the French ones.
+%
+% {\sloppy The next command will be used in the first call of
+% |\extrasfrench| to convert |\FBcolonspace|, |\FBthinspace| and
+% |\FBguillspace| into a table usable by LuaTeX.
+% This way, any customisation done in the preamble (by \fbsetup{},
+% redefinitions or |\FBsetspaces| commands) are taken into account.
+% Values not explicitly set for Acadian by
+% |\FBsetspaces[|\textit{acadian}|]| commands are copied from the
+% French ones.\par}
+
% In case parsing by the Lua function |FBget_glue| (defined in file
% \file{frenchb.lua}) fails due to unexpected syntax in |\FB...space|
% the table remains unchanged and a warning is issued.
@@ -2744,13 +2680,13 @@ return french_punctuation
% tex4ht, pointed out by MPG.}
%
% {\sloppypar |\autospace@beforeFDP| and |\noautospace@beforeFDP| are
-% internal commands. |\autospace@beforeFDP| defines |\FDP@thinspace|
-% and |\FDP@colonspace| as non-breaking spaces and sets LuaTeX
-% attribute |\FB@addDPspace| to 1 (true), while
-% |\noautospace@beforeFDP| lets these spaces empty and sets flag
+% internal commands. |\autospace@beforeFDP| defines commands
+% |\FDP@thinspace| and |\FDP@colonspace| as non-breaking spaces and
+% sets LuaTeX attribute |\FB@addDPspace| to 1 (true), while
+% |\noautospace@beforeFDP| makes them no-op and sets flag
% |\FB@addDPspace| to 0 (false). User commands |\AutoSpaceBeforeFDP|
% and |\NoAutoSpaceBeforeFDP| do the same and take care of the flag
-% |\ifFBAutoSpacePunctuation| in \LaTeX{}.\par}
+% |\ifFBAutoSpacePunctuation| in LaTeX{}.\par}
%
% Set the default now for Plain (done later for LaTeX).
% \begin{macrocode}
@@ -2838,16 +2774,22 @@ return french_punctuation
% active punctuation characters (if any).
% It is engine independent (works for TeX, LuaTeX and
% XeTeX based engines) and is meant to be used inside a group.
+% The faked definition of |\texorpdfstring| will be overwritten
+% by \file{hyperref.sty}.
%
% \changes{v3.2b}{2016/04/18}{\cs{NoAutoSpacing} made robust.}
%
% \changes{v3.2c}{2016/05/14}{New definition based on
% \cs{FB@spacing@off} common to all engines.}
%
+% \changes{v3.6b}{2024/06/25}{\cs{NoAutoSpacing} must be inhibited
+% in bookmarks.}
+%
% \begin{macrocode}
+\providecommand\texorpdfstring[2]{#1}
\DeclareRobustCommand*{\NoAutoSpacing}{%
- \FB@spacing@off
- \ifFB@active@punct\shorthandoff{;:!?}\fi
+ \texorpdfstring{\FB@spacing@off
+ \ifFB@active@punct\shorthandoff{;:!?}\fi}{}%
}
% \end{macrocode}
% \end{macro}
@@ -2919,7 +2861,6 @@ return french_punctuation
%
% |\FB@og| and |\FB@fg| are now designed to work in bookmarks.
% \begin{macrocode}
-\providecommand\texorpdfstring[2]{#1}
\newcommand*{\FB@og}{\texorpdfstring{\@FB@og}{\guillemotleft\space}}
\newcommand*{\FB@fg}{\texorpdfstring{\@FB@fg}{\space\guillemotright}}
% \end{macrocode}
@@ -3600,64 +3541,41 @@ return french_punctuation
\providecommand*{\textbackslash}{{\char"005C}}
\providecommand*{\textasciicircum}{{\char"005E}}
\providecommand*{\textasciitilde}{{\char"007E}}
- \newcommand*{\FB@degre}{°}
+ \DeclareRobustCommand*{\degre}{°}
\else
- \ifLaTeXe
- \newcommand*{\FB@degre}{\r{}}
- \fi
+ \DeclareRobustCommand*{\degre}{\textdegree}
\fi
\DeclareRobustCommand*{\boi}{\textbackslash}
\DeclareRobustCommand*{\circonflexe}{\textasciicircum}
\DeclareRobustCommand*{\tild}{\textasciitilde}
-\DeclareRobustCommand*{\degre}{%
- \texorpdfstring{\FB@degre}{\textdegree}}
\newcommand*{\at}{@}
% \end{macrocode}
%
% \begin{macro}{\degres}
% We now define a macro |\degres| for typesetting the abbreviation
-% for `degrees’ (as in `degrees Celsius’). As the bounding box of
-% the character `degree’ has \emph{very} different widths in CM/EC
-% and PostScript fonts, we fix the width of the bounding box of
-% |\degres| to 0.3\,em, this lets the symbol `degree’ stick to the
-% preceding (e.g., |45\degres|) or following character
-% (e.g., |20~\degres C|). |\degres| works in math-mode (angles).
+% for `degrees’ (as in `°C’ or `°K’) in text fonts which also works
+% in math mode for angles.
%
% \changes{v2.6e}{2013/07/06}{Refrain from redefining \cs{textdegree}
% from latin1.def, applemac.def, etc. as \cs{degres} because it
% loops in hyperref’s bookmarks. Pointed out by Eddy Flas on fctt.}
%
-% If \TeX{} Companion fonts are available (\file{textcomp.sty}),
-% we pick up |\textdegree| from them instead of emulating `degrees’
-% from the |\r{}| accent. Otherwise we advise the user (once only)
-% to use TS1-encoding.
-%
% \changes{v2.1c}{2008/04/29}{Provide a temporary definition (hyperref
% safe) of \cs{degres} in case it has to be expanded in the preamble
% (by beamer’s \cs{title} command for instance).}
%
+% \changes{v3.6a}{2024/05/20}{Simplify \cs{degres} definition for text
+% and math mode: \cs{textdegree} always defined (TS1) since 2019.}
+%
% \begin{macrocode}
\DeclareRobustCommand*{\degres}{\degre}
\ifLaTeXe
\AtBeginDocument{%
- \@ifpackageloaded{fontspec}{}{%
- \ifdefined\DeclareEncodingSubset
- \DeclareRobustCommand*{\degres}{%
+ \@ifpackageloaded{fontspec}{}%
+ {\DeclareRobustCommand*{\degres}{%
\texorpdfstring{\hbox{\UseTextSymbol{TS1}{\textdegree}}}%
{\textdegree}}%
- \else
- \def\Warning@degree@TSone{\FBWarning
- {Degrees would look better in TS1-encoding:%
- \MessageBreak add \protect
- \usepackage{textcomp} to the preamble.%
- \MessageBreak Degrees used}}
- \DeclareRobustCommand*{\degres}{%
- \texorpdfstring{\hbox to 0.3em{\hss\degre\hss}%
- \Warning@degree@TSone
- \global\let\Warning@degree@TSone\relax}%
- {\textdegree}}%
- \fi
- }%
+ }%
}
\fi
% \end{macrocode}
@@ -4056,9 +3974,10 @@ return french_punctuation
% ua-thesis.cls… change it).
% If they are identical, \frenchb{} just adds a hook called
% |\FBCaption@Separator| to |\@makecaption|; |\FBCaption@Separator|
-% defaults to `:~’ as in the standard |\@makecaption| and will be
-% changed to `~:~’ in French `AtBeginDocument’; it can be also set to
-% |\CaptionSeparator| (` -- ’) using \fbo{CustomiseFigTabCaptions}.
+% defaults to `:~’ as in the standard definition of |\@makecaption|
+% and will be changed to `~:~’ in French `AtBeginDocument’;
+% it can be also set to |\CaptionSeparator| (` -- ’) using
+% \fbo{CustomiseFigTabCaptions}.
%
% \changes{v2.6c}{2013/05/18}{Former \cs{CaptionSeparator}
% has been renamed as \cs{FBCaption@Separator};
@@ -4076,7 +3995,7 @@ return french_punctuation
% active).
% \begin{macrocode}
\bgroup
- \catcode`:=12 \catcode`>=12 \relax
+ \catcode`: =12 \catcode`> =12 \relax
\long\gdef\STD@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
@@ -4256,7 +4175,7 @@ return french_punctuation
% with XeTeX and LuaTeX.
%
% \changes{v2.0}{2006/11/06}{Added special case for LY1 encoding,
-% see bug report from Bruno Voisin (2004/05/18).}
+% see bug report from Bruno Voisin (2004/05/18).}
%
% \changes{v2.5f}{2011/06/18}{Unicode fonts also provide a ready made
% character for \cs{textellipsis}, let’s just use it!
@@ -4345,7 +4264,7 @@ return french_punctuation
}
% \end{macrocode}
%
-% \subsection{Setup options: keyval stuff}
+% \subsection{Setup options: key/value stuff (l3keys)}
% \label{ssec-keyval}
%
% \changes{v2.0}{2006/11/06}{New command \cs{frenchbsetup} added
@@ -4355,125 +4274,38 @@ return french_punctuation
% reorganised, now \cs{babel@save} and\cs{babel@savevariable} are
% usable for French.}
%
-% All setup options are handled by command \fbsetup{} using the
-% keyval syntax. A list of flags is defined and set to a default
-% value which will possibly be changed `AtEndOfPackage’ if French is
-% the main language. After this, \fbsetup{} eventually modifies the
-% preset values of these flags.
+% \changes{v3.6a}{2024/05/16}{Internal `l3keys’ replaces package
+% `keyval’ for options’ management.}
+%
+% Check LaTeX2e version (support for \pkg{l3keys} required).
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+% \end{macrocode}
+% All setup options are handled by command \fbsetup{} based on
+% the \file{l3keys}’ |\SetKeys{}| command. A list of flags is
+% defined beforehand and set to default values which will possibly
+% be changed `AtEndOfPackage’ in case French is the main language.
+% After this, \fbsetup{} eventually modifies the preset values of
+% these flags.
%
-% {\sloppypar Option processing can occur either in \fbsetup{}, but
-% \emph{only for options explicitly set} by \fbsetup{}, or
+% {\sloppypar Some options processing occurs in \fbsetup{},
+% \emph{only for options explicitly set} by \fbsetup{}, the rest
% `AtBeginDocument’; any option affecting |\extrasfrench{}|
-% \emph{must} be processed by \fbsetup{}: when French is the main
-% language, |\extrasfrench{}| is executed by \babel{} when it
-% switches the main language and this occurs \emph{before} reading
+% \emph{must} be immediatelt processed by \fbsetup{}: when French is
+% the main language, |\extrasfrench{}| is executed by \babel{} when
+% it switches the main language and this occurs \emph{before} reading
% the stuff postponed by \frenchb{} `AtBeginDocument’. Reexecuting
-% |\extrasfrench{}| is an option which was used up to v2.6h, it has
-% been dropped in v3.0a because of its side-effects (f.i.\
-% |\babel@save| and |\babel@savevariable| did not work for
+% |\extrasfrench{}| is not an option because of its side-effects
+% (f.i.\ |\babel@save| and |\babel@savevariable| did not work for
% French).\par}
%
-% \begin{macro}{\frenchsetup}
-% Let’s now define this command which reads and sets the options
-% to be processed either immediately (i.e.\ just after setting the
-% key) or later (at |\begin{document}|) by |\FBprocess@options|.
-% \fbsetup{} can only be called in the preamble.
-%
-% \changes{v2.0c}{2007/06/25}{Option ThinSpaceInFrenchNumbers added.}
-%
-% \changes{v2.0d}{2007/07/15}{Options og and fg changed: limit
-% the definition to French so that quote characters can be used
-% in German.}
-%
-% \changes{v2.0e}{2007/10/05}{New option: StandardLists.}
-%
-% \changes{v2.0f}{2008/03/23}{Two typos corrected in
-% option StandardLists.}
-%
-% \changes{v2.0f}{2008/03/23}{StandardLayout option had no
-% effect on lists. Test moved to \cs{FBprocess@options}.}
-%
-% \changes{v2.0g}{2008/03/23}{Revert previous change to
-% StandardLayout. This option must set the three flags
-% \cs{FBReduceListSpacingfalse}, \cs{FBCompactItemizefalse},
-% and \cs{FBStandardItemLabeltrue} instead of
-% \cs{FBStandardListstrue}, so that later options can still
-% change their value before executing \cs{FBprocess@options}.
-% Same thing for option StandardLists.}
-%
-% \changes{v2.1a}{2008/03/24}{New option: FrenchSuperscripts
-% to define \cs{up} as \cs{fup} or as \cs{textsuperscript}.}
-%
-% \changes{v2.1a}{2008/03/30}{New option: LowercaseSuperscripts.}
-%
-% \changes{v2.2a}{2008/05/08}{The global layout of the document is
-% no longer changed when frenchb is not the last option of babel
-% (\cs{bbl@main@language}). Suggested by Ulrike Fischer.}
-%
-% \changes{v2.2a}{2008/05/08}{Default values of flags changed:
-% default now means `StandardLayout’, they will be changed to
-% `FrenchLayout’ AtEndOfPackage only if french is
-% \cs{bbl@main@language}.}
-%
-% \changes{v2.2a}{2008/05/08}{When frenchb is babel’s last option,
-% French becomes the document’s main language, so
-% GlobalLayoutFrench applies.}
-%
-% \changes{v2.4a}{2009/11/23}{New option SuppressWarning.}
-%
-% \changes{v2.6a}{2013/01/30}{New options ListOldLayout,
-% StandardItemizeEnv and StandardEnumerateEnv (CompactItemize is
-% deprecated).}
-%
-% \changes{v3.0a}{2014/02/28}{New options OldFigTabCaptions and
-% CustomiseFigTabCaptions.}
-%
-% \changes{v3.0c}{2014/04/18}{New option INGuillSpace.}
-%
-% \changes{v3.1a}{2014/05/20}{New options InnerGuillSingle,
-% EveryParGuill and EveryLineGuill to control \cs{frquote}.}
-%
-% \changes{v3.1b}{2014/09/15}{New option SmallCapsFigTabCaptions.}
-%
-% \changes{v3.1e}{2015/04/10}{Corrected typo: SmallCapsFigTabcaptions
-% instead of SmallCapsFigTabCaptions. Pointed out by Céline
-% Chevalier.}
-%
-% \changes{v3.1g}{2015/05/10}{PartNameFull now just sets the flag,
-% nothing to add to \cs{captionsfrench} when false.}
-%
-% \changes{v3.3a}{2017/04/30}{\cs{frenchbsetup} is now an alias for
-% \cs{frenchsetup}.}
-%
-% \changes{v3.3a}{2017/04/30}{Options INGuillSpace, ThinColonSpace no
-% longer delayed AtBeginDocument.}
-%
-% \changes{v3.5a}{2018/07/04}{New option ListItemsAsPar for displaying
-% lists’ items ``as paragraphs’’.}
-%
-% \changes{v3.5d}{2019/01/24}{ReduceListSpacing option depreciated: see
-% StandardListSpacing.}
-%
-% \begin{macrocode}
-\newcommand*{\frenchsetup}[1]{%
- \setkeys{FB}{#1}%
-}%
-\@onlypreamble\frenchsetup
-% \end{macrocode}
-% Keep the former name |\frenchbsetup| working for compatibility.
-% \begin{macrocode}
-\let\frenchbsetup\frenchsetup
-\@onlypreamble\frenchbsetup
-% \end{macrocode}
-%
-% We define a collection of conditionals with their defaults
-% (true or false).
+% We first define a collection of conditionals and set their
+% defaults (true or false).
%
% \begin{macrocode}
\newif\ifFBShowOptions
\newif\ifFBStandardLayout \FBStandardLayouttrue
\newif\ifFBGlobalLayoutFrench \FBGlobalLayoutFrenchtrue
-\newif\ifFBReduceListSpacing
\newif\ifFBStandardListSpacing \FBStandardListSpacingtrue
\newif\ifFBListOldLayout
\newif\ifFBListItemsAsPar
@@ -4498,25 +4330,6 @@ return french_punctuation
\newif\ifFBINGuillSpace
% \end{macrocode}
%
-% The defaults values of these flags have been choosen so that
-% \frenchb{} does not change anything regarding the global layout.
-% |\bbl@main@language|, set by the last option of \babel, controls
-% the global layout of the document. `AtEndOfPackage’ we check the
-% main language in |\bbl@main@language|; if it is French (or a
-% French dialect) the values of some flags have to be changed to
-% ensure a French looking layout for the whole document (even in
-% parts written in languages other than French); the end-user will
-% then be able to customise the values of all these flags with
-% \fbsetup{}.
-%
-% \changes{v2.5b}{2010/10/30}{Do not use the
-% test \cs{iflanguage}\{french\} to check whether French is the
-% main language or not, as it might be be erroneously positive
-% when English is the main language and no hyphenation patterns
-% are available for French.
-% In this case \cs{l@french} and \cs{l@english} are 0.
-% Pointed out by Günter Milde.}
-%
% \changes{v3.1g}{2015/05/10}{Bug fix for koma-scripts classes:
% a spurious dot was added by the \cs{partformat} command.}
%
@@ -4540,6 +4353,14 @@ return french_punctuation
\fi
% \end{macrocode}
%
+% \changes{v2.5b}{2010/10/30}{Do not use the
+% test \cs{iflanguage}\{french\} to check whether French is the
+% main language or not, as it might be be erroneously positive
+% when English is the main language and no hyphenation patterns
+% are available for French.
+% In this case \cs{l@french} and \cs{l@english} are 0.
+% Pointed out by Günter Milde.}
+%
% \changes{v3.0c}{2014/03/30}{No list customisation when beamer
% class is loaded.}
%
@@ -4553,6 +4374,13 @@ return french_punctuation
% options can no longer be toggled when French is not the main
% language.}
%
+% The defaults values of these flags are choosen so that
+% \frenchb{} does not change anything regarding the global layout.
+% Some of them must be toogled when French (or a French dialect) is
+% the main language. The latter (last option of \babel, stored in
+% |\bbl@main@language|) will be known `AtEndOfPackage’.
+% So we postpone the |\bbl@main@language| checking until then.
+%
% Our list customisation conflicts with the \cls{beamer} class and
% with the \pkg{beamerarticle} package. The patch provided in
% \pkg{beamerbasecompatibility} solves the conflict except in case
@@ -4600,206 +4428,304 @@ return french_punctuation
\FBAutoSpaceFootnotestrue
\FBCustomiseFigTabCaptionstrue
\fi
+}
% \end{macrocode}
-% \frenchb{} being an option of \babel, it cannot load a package
-% (\pkg{keyval}) while \file{french.ldf} is read, so we defer the
-% loading of \file{keyval} and the options setup at the end of
-% \babel’s loading.
+%
+% \begin{macro}{\frenchsetup}
+% Let’s define the keys to be used in \fbsetup{}.
+% \begin{macrocode}
+\DeclareKeys[FBsetup]
+ {
+ ShowOptions.if = FBShowOptions ,
+ StandardLayout.default:n = {true} ,
+ StandardLayout.code = \FBStandardLayout@setup{#1} ,
+ GlobalLayoutFrench.default:n = {true} ,
+ GlobalLayoutFrench.code = \FBGlobalLayout@setup{#1} ,
+ StandardListSpacing.if = FBStandardListSpacing ,
+ ReduceListSpacing.ifnot = FBStandardListSpacing ,
+ ListOldLayout.default:n = {true} ,
+ ListOldLayout.code = \FBListOldLayout@setup{#1} ,
+ CompactItemize.default:n = {true} ,
+ CompactItemize.code = \FBCompactItemize@setup{#1} ,
+ StandardItemizeEnv.if = FBStandardItemizeEnv ,
+ StandardEnumerateEnv.if = FBStandardEnumerateEnv ,
+ StandardItemLabels.if = FBStandardItemLabels ,
+ ItemLabels.store = \FrenchLabelItem ,
+ ItemLabeli.store = \Frlabelitemi ,
+ ItemLabelii.store = \Frlabelitemii ,
+ ItemLabeliii.store = \Frlabelitemiii ,
+ ItemLabeliv.store = \Frlabelitemiv ,
+ StandardLists.default:n = {true} ,
+ StandardLists.code = \FBStandardLists@setup{#1} ,
+ ListItemsAsPar.if = FBListItemsAsPar ,
+ IndentFirst.if = FBIndentFirst ,
+ FrenchFootnotes.if = FBFrenchFootnotes ,
+ AutoSpaceFootnotes.if = FBAutoSpaceFootnotes ,
+ AutoSpacePunctuation.if = FBAutoSpacePunctuation ,
+ OriginalTypewriter.if = FBOriginalTypewriter ,
+ ThinColonSpace.default:n = {true} ,
+ ThinColonSpace.code = \FBThinColonSpace@setup{#1} ,
+ ThinSpaceInFrenchNumbers.if = FBThinSpaceInFrenchNumbers ,
+ FrenchSuperscripts.if = FBFrenchSuperscripts ,
+ LowercaseSuperscripts.if = FBLowercaseSuperscripts ,
+ PartNameFull.if = FBPartNameFull ,
+ CustomiseFigTabCaptions.if = FBCustomiseFigTabCaptions ,
+ OldFigTabCaptions.default:n = {true} ,
+ OldFigTabCaptions.code = \FBOldFigTabCaptions@setup{#1} ,
+ SmallCapsFigTabCaptions.default:n = {true} ,
+ SmallCapsFigTabCaptions.code = \FBSmallCapsFigTabCaptions@setup{#1} ,
+ SuppressWarning.default:n = {true} ,
+ SuppressWarning.code = \FBSuppressWarning@setup{#1} ,
+ INGuillSpace.default:n = {true} ,
+ INGuillSpace.code = \FBINGuillSpace@setup{#1} ,
+ InnerGuillSingle.if = FBInnerGuillSingle ,
+ EveryParGuill.default:n = {open} ,
+ EveryParGuill.code = \FBEveryParGuill@setup{#1} ,
+ EveryLineGuill.default:n = {open} ,
+ EveryLineGuill.code = \FBEveryLineGuill@setup{#1} ,
+ UnicodeNoBreakSpaces.default:n = {true} ,
+ UnicodeNoBreakSpaces.code = \FBUnicodeNoBreakSpaces@setup{#1} ,
+ og.code = \FBog@setup{#1} ,
+ fg.code = \FBfg@setup{#1} ,
+}
+% \end{macrocode}
+%
+% Let’s now define this command which reads and sets the options
+% to be processed either immediately (i.e.\ just after setting the
+% key) or later (at |\begin{document}|) by |\FBprocess@options|.
+% \fbsetup{} can only be called in the preamble.
+%
+% \changes{v2.0c}{2007/06/25}{Option ThinSpaceInFrenchNumbers added.}
+%
+% \changes{v2.0d}{2007/07/15}{Options og and fg changed: limit
+% the definition to French so that quote characters can be used
+% in German.}
+%
+% \changes{v2.0e}{2007/10/05}{New option: StandardLists.}
+%
+% \changes{v2.0f}{2008/03/23}{Two typos corrected in
+% option StandardLists.}
+%
+% \changes{v2.0f}{2008/03/23}{StandardLayout option had no
+% effect on lists. Test moved to \cs{FBprocess@options}.}
+%
+% \changes{v2.0g}{2008/03/23}{Revert previous change to
+% StandardLayout. This option must set the three flags
+% \cs{FBReduceListSpacingfalse}, \cs{FBCompactItemizefalse},
+% and \cs{FBStandardItemLabeltrue} instead of
+% \cs{FBStandardListstrue}, so that later options can still
+% change their value before executing \cs{FBprocess@options}.
+% Same thing for option StandardLists.}
+%
+% \changes{v2.1a}{2008/03/24}{New option: FrenchSuperscripts
+% to define \cs{up} as \cs{fup} or as \cs{textsuperscript}.}
+%
+% \changes{v2.1a}{2008/03/30}{New option: LowercaseSuperscripts.}
+%
+% \changes{v2.2a}{2008/05/08}{The global layout of the document is
+% no longer changed when frenchb is not the last option of babel
+% (\cs{bbl@main@language}). Suggested by Ulrike Fischer.}
+%
+% \changes{v2.2a}{2008/05/08}{Default values of flags changed:
+% default now means `StandardLayout’, they will be changed to
+% `FrenchLayout’ AtEndOfPackage only if french is
+% \cs{bbl@main@language}.}
+%
+% \changes{v2.2a}{2008/05/08}{When frenchb is babel’s last option,
+% French becomes the document’s main language, so
+% GlobalLayoutFrench applies.}
+%
+% \changes{v2.4a}{2009/11/23}{New option SuppressWarning.}
+%
+% \changes{v2.6a}{2013/01/30}{New options ListOldLayout,
+% StandardItemizeEnv and StandardEnumerateEnv (CompactItemize is
+% deprecated).}
+%
+% \changes{v3.0a}{2014/02/28}{New options OldFigTabCaptions and
+% CustomiseFigTabCaptions.}
+%
+% \changes{v3.0c}{2014/04/18}{New option INGuillSpace.}
+%
+% \changes{v3.1a}{2014/05/20}{New options InnerGuillSingle,
+% EveryParGuill and EveryLineGuill to control \cs{frquote}.}
+%
+% \changes{v3.1b}{2014/09/15}{New option SmallCapsFigTabCaptions.}
+%
+% \changes{v3.1e}{2015/04/10}{Corrected typo: SmallCapsFigTabcaptions
+% instead of SmallCapsFigTabCaptions. Pointed out by Céline
+% Chevalier.}
+%
+% \changes{v3.1g}{2015/05/10}{PartNameFull now just sets the flag,
+% nothing to add to \cs{captionsfrench} when false.}
+%
+% \changes{v3.3a}{2017/04/30}{\cs{frenchbsetup} is now an alias for
+% \cs{frenchsetup}.}
+%
+% \changes{v3.3a}{2017/04/30}{Options INGuillSpace, ThinColonSpace no
+% longer delayed AtBeginDocument.}
+%
+% \changes{v3.5a}{2018/07/04}{New option ListItemsAsPar for displaying
+% lists’ items ``as paragraphs’’.}
+%
+% \changes{v3.5d}{2019/01/24}{ReduceListSpacing option depreciated: see
+% StandardListSpacing.}
+%
% \begin{macrocode}
- \RequirePackage{keyval}%
- \define@key{FB}{ShowOptions}[true]%
- {\csname FBShowOptions#1\endcsname}%
+\newcommand*{\frenchsetup}[1]{%
+ \SetKeys[FBsetup]{#1}%
+}%
+\@onlypreamble\frenchsetup
% \end{macrocode}
-% The next two keys can only be toggled when French is the main
-% language.
+% Keep the former name |\frenchbsetup| working for compatibility.
% \begin{macrocode}
- \define@key{FB}{StandardLayout}[true]%
- {\ifFB@mainlanguage@FR
- \csname FBStandardLayout#1\endcsname
- \else
- \PackageWarning{french.ldf}%
- {Option `StandardLayout' skipped:\MessageBreak
- French is *not* babel's last option.\MessageBreak
- Reported}%
- \fi
- \ifFBStandardLayout
- \FBStandardListSpacingtrue
- \FBStandardItemizeEnvtrue
- \FBStandardItemLabelstrue
- \FBStandardEnumerateEnvtrue
- \FBIndentFirstfalse
- \FBFrenchFootnotesfalse
- \FBAutoSpaceFootnotesfalse
- \else
- \FBStandardListSpacingfalse
- \FBStandardItemizeEnvfalse
- \FBStandardItemLabelsfalse
- \FBStandardEnumerateEnvfalse
- \FBIndentFirsttrue
- \FBFrenchFootnotestrue
- \FBAutoSpaceFootnotestrue
- \fi}%
- \define@key{FB}{GlobalLayoutFrench}[true]%
- {\ifFB@mainlanguage@FR
- \csname FBGlobalLayoutFrench#1\endcsname
- \else
- \PackageWarning{french.ldf}%
- {Option `GlobalLayoutFrench' skipped:\MessageBreak
- French is *not* babel's last option.\MessageBreak
- Reported}%
- \fi}%
+\let\frenchbsetup\frenchsetup
+\@onlypreamble\frenchbsetup
% \end{macrocode}
-% If this key is set to \fbo{true} when French is the main language,
-% nothing to do: all flags keep their default value.
-% If this key is set to \fbo{false}, nothing to do either:
-% |\babel@save| will do the job at every language’s switch.
-% \begin{macrocode}
- \define@key{FB}{ReduceListSpacing}[true]%
- {\csname FBReduceListSpacing#1\endcsname
- \ifFBReduceListSpacing \FBStandardListSpacingfalse
- \else \FBStandardListSpacingtrue\fi
- }%
- \define@key{FB}{StandardListSpacing}[true]%
- {\csname FBStandardListSpacing#1\endcsname}%
- \define@key{FB}{ListOldLayout}[true]%
- {\csname FBListOldLayout#1\endcsname
- \ifFBListOldLayout
- \FBStandardEnumerateEnvtrue
- \renewcommand*{\FrenchLabelItem}{\textendash}%
- \fi}%
- \define@key{FB}{CompactItemize}[true]%
- {\csname FBCompactItemize#1\endcsname
- \ifFBCompactItemize
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \else
- \FBStandardItemizeEnvtrue
- \FBStandardEnumerateEnvtrue
- \fi}%
- \define@key{FB}{StandardItemizeEnv}[true]%
- {\csname FBStandardItemizeEnv#1\endcsname}%
- \define@key{FB}{StandardEnumerateEnv}[true]%
- {\csname FBStandardEnumerateEnv#1\endcsname}%
- \define@key{FB}{StandardItemLabels}[true]%
- {\csname FBStandardItemLabels#1\endcsname}%
- \define@key{FB}{ItemLabels}%
- {\renewcommand*{\FrenchLabelItem}{#1}}%
- \define@key{FB}{ItemLabeli}%
- {\renewcommand*{\Frlabelitemi}{#1}}%
- \define@key{FB}{ItemLabelii}%
- {\renewcommand*{\Frlabelitemii}{#1}}%
- \define@key{FB}{ItemLabeliii}%
- {\renewcommand*{\Frlabelitemiii}{#1}}%
- \define@key{FB}{ItemLabeliv}%
- {\renewcommand*{\Frlabelitemiv}{#1}}%
- \define@key{FB}{StandardLists}[true]%
- {\csname FBStandardLists#1\endcsname
- \ifFBStandardLists
- \FBStandardListSpacingtrue
- \FBStandardItemizeEnvtrue
- \FBStandardEnumerateEnvtrue
- \FBStandardItemLabelstrue
- \else
- \FBStandardListSpacingfalse
- \FBStandardItemizeEnvfalse
- \FBStandardEnumerateEnvfalse
- \FBStandardItemLabelsfalse
- \fi}%
- \define@key{FB}{ListItemsAsPar}[true]%
- {\csname FBListItemsAsPar#1\endcsname}
- \define@key{FB}{IndentFirst}[true]%
- {\csname FBIndentFirst#1\endcsname}%
- \define@key{FB}{FrenchFootnotes}[true]%
- {\csname FBFrenchFootnotes#1\endcsname}%
- \define@key{FB}{AutoSpaceFootnotes}[true]%
- {\csname FBAutoSpaceFootnotes#1\endcsname}%
- \define@key{FB}{AutoSpacePunctuation}[true]%
- {\csname FBAutoSpacePunctuation#1\endcsname}%
- \define@key{FB}{OriginalTypewriter}[true]%
- {\csname FBOriginalTypewriter#1\endcsname}%
- \define@key{FB}{ThinColonSpace}[true]%
- {\csname FBThinColonSpace#1\endcsname
- \ifFBThinColonSpace
- \renewcommand*{\FBcolonspace}{\FBthinspace}%
- \fi}%
- \define@key{FB}{ThinSpaceInFrenchNumbers}[true]%
- {\csname FBThinSpaceInFrenchNumbers#1\endcsname}%
- \define@key{FB}{FrenchSuperscripts}[true]%
- {\csname FBFrenchSuperscripts#1\endcsname}
- \define@key{FB}{LowercaseSuperscripts}[true]%
- {\csname FBLowercaseSuperscripts#1\endcsname}
- \define@key{FB}{PartNameFull}[true]%
- {\csname FBPartNameFull#1\endcsname}%
- \define@key{FB}{CustomiseFigTabCaptions}[true]%
- {\csname FBCustomiseFigTabCaptions#1\endcsname}%
- \define@key{FB}{OldFigTabCaptions}[true]%
- {\csname FBOldFigTabCaptions#1\endcsname
- \ifFBOldFigTabCaptions
- \def\FB@capsep@fix{\babel@save\FBCaption@Separator
- \def\FBCaption@Separator{\CaptionSeparator}}%
+%
+% The following commands, defined with property |.code| in
+% |DeclareKeys{}|, execute some post-treatment required to
+% immediately take the flags value into account.
+% \begin{macrocode}
+\newcommand*{\FBStandardLayout@setup}[1]%
+ {\ifFB@mainlanguage@FR
+ \csname FBStandardLayout#1\endcsname
+ \else
+ \PackageWarning{french.ldf}%
+ {Option `StandardLayout' skipped:\MessageBreak
+ French is *not* babel's last option.\MessageBreak
+ Reported}%
+ \fi
+ \ifFBStandardLayout
+ \FBStandardListSpacingtrue
+ \FBStandardItemizeEnvtrue
+ \FBStandardItemLabelstrue
+ \FBStandardEnumerateEnvtrue
+ \FBIndentFirstfalse
+ \FBFrenchFootnotesfalse
+ \FBAutoSpaceFootnotesfalse
+ \else
+ \FBStandardListSpacingfalse
+ \FBStandardItemizeEnvfalse
+ \FBStandardItemLabelsfalse
+ \FBStandardEnumerateEnvfalse
+ \FBIndentFirsttrue
+ \FBFrenchFootnotestrue
+ \FBAutoSpaceFootnotestrue
+ \fi
+ }
+\newcommand*{\FBGlobalLayout@setup}[1]%
+ {\ifFB@mainlanguage@FR
+ \csname FBGlobalLayoutFrench#1\endcsname
+ \else
+ \PackageWarning{french.ldf}%
+ {Option `GlobalLayoutFrench' skipped:\MessageBreak
+ French is *not* babel's last option.\MessageBreak
+ Reported}%
+ \fi
+ }
+\newcommand*{\FB@ListOldLayout@setup}[1]%
+ {\csname FBListOldLayout#1\endcsname
+ \ifFBListOldLayout
+ \FBStandardEnumerateEnvtrue
+ \renewcommand*{\FrenchLabelItem}{\textendash}%
+ \fi
+ }
+\newcommand*{\FB@CompactItemize@setup}[1]%
+ {\csname FBCompactItemize#1\endcsname
+ \ifFBCompactItemize
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \else
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \fi
+ }
+\newcommand*{\FBStandardLists@setup}[1]%
+ {\csname FBStandardLists#1\endcsname
+ \ifFBStandardLists
+ \FBStandardListSpacingtrue
+ \FBStandardItemizeEnvtrue
+ \FBStandardEnumerateEnvtrue
+ \FBStandardItemLabelstrue
+ \else
+ \FBStandardListSpacingfalse
+ \FBStandardItemizeEnvfalse
+ \FBStandardEnumerateEnvfalse
+ \FBStandardItemLabelsfalse
+ \fi
+ }
+\newcommand*{\FBThinColonSpace@setup}[1]%
+ {\csname FBThinColonSpace#1\endcsname
+ \ifFBThinColonSpace
+ \renewcommand*{\FBcolonspace}{\FBthinspace}%
+ \fi
+ }
+\newcommand*{\FBOldFigTabCaptions@setup}[1]%
+ {\csname FBOldFigTabCaptions#1\endcsname
+ \ifFBOldFigTabCaptions
+ \def\FB@capsep@fix{\babel@save\FBCaption@Separator
+ \def\FBCaption@Separator{\CaptionSeparator}}%
\addto\extrasfrench{\FB@capsep@fix}%
\ifdefined\extrasacadian
\addto\extrasacadian{\FB@capsep@fix}%
\fi
- \fi}%
- \define@key{FB}{SmallCapsFigTabCaptions}[true]%
- {\csname FBSmallCapsFigTabCaptions#1\endcsname
- \ifFBSmallCapsFigTabCaptions
- \else \let\FBfigtabshape\relax \fi}%
- \define@key{FB}{SuppressWarning}[true]%
- {\csname FBSuppressWarning#1\endcsname
- \ifFBSuppressWarning
- \renewcommand{\FBWarning}[1]{}%
- \fi}%
-% \end{macrocode}
-% Here are the options controlling French guillemets spacing
-% and the output of |\frquote{}|.
-%
-% \changes{v3.2g}{2017/01/30}{Warn when wrong values are provided to
-% options EveryParGuill or EveryLineGuill.}
-%
-% \begin{macrocode}
- \define@key{FB}{INGuillSpace}[true]%
- {\csname FBINGuillSpace#1\endcsname
- \ifFBINGuillSpace
- \renewcommand*{\FBguillspace}{\space}%
- \fi}%
- \define@key{FB}{InnerGuillSingle}[true]%
- {\csname FBInnerGuillSingle#1\endcsname}%
- \define@key{FB}{EveryParGuill}[open]%
- {\expandafter\let\expandafter
- \FBeveryparguill\csname FBguill#1\endcsname
- \ifx\FBeveryparguill\FBguillopen
- \else\ifx\FBeveryparguill\FBguillclose
- \else\ifx\FBeveryparguill\FBguillnone
- \else
- \let\FBeveryparguill\FBguillopen
- \FBWarning{Wrong value for `EveryParGuill':
- try `open',\MessageBreak
- `close' or `none'. Reported}%
- \fi
- \fi
- \fi}%
- \define@key{FB}{EveryLineGuill}[open]%
- {\ifFB@luatex@punct
- \expandafter\let\expandafter
- \FBeverylineguill\csname FBguill#1\endcsname
- \ifx\FBeverylineguill\FBguillopen
- \else\ifx\FBeverylineguill\FBguillclose
- \else\ifx\FBeverylineguill\FBguillnone
- \else
- \let\FBeverylineguill\FBguillnone
- \FBWarning{Wrong value for `EveryLineGuill':
- try `open',\MessageBreak
- `close' or `none'. Reported}%
- \fi
- \fi
- \fi
- \else
- \FBWarning{Option `EveryLineGuill' skipped:%
- \MessageBreak this option is for
- LuaTeX *only*.\MessageBreak Reported}%
- \fi}%
+ \fi
+ }
+\newcommand*{\FBSmallCapsFigTabCaptions@setup}[1]%
+ {\csname FBSmallCapsFigTabCaptions#1\endcsname
+ \ifFBSmallCapsFigTabCaptions
+ \else
+ \let\FBfigtabshape\relax
+ \fi
+ }
+\newcommand*{\FBSuppressWarning@setup}[1]%
+ {\csname FBSuppressWarning#1\endcsname
+ \ifFBSuppressWarning
+ \renewcommand{\FBWarning}[1]{}%
+ \fi
+ }
+\newcommand*{\FBINGuillSpace@setup}[1]%
+ {\csname FBINGuillSpace#1\endcsname
+ \ifFBINGuillSpace
+ \renewcommand*{\FBguillspace}{\space}%
+ \fi
+ }
+\newcommand*{\FBEveryParGuill@setup}[1]%
+ {\expandafter\let\expandafter
+ \FBeveryparguill\csname FBguill#1\endcsname
+ \ifx\FBeveryparguill\FBguillopen
+ \else\ifx\FBeveryparguill\FBguillclose
+ \else\ifx\FBeveryparguill\FBguillnone
+ \else
+ \let\FBeveryparguill\FBguillopen
+ \FBWarning{Wrong value for `EveryParGuill':
+ try `open',\MessageBreak
+ `close' or `none'. Reported}%
+ \fi
+ \fi
+ \fi
+ }
+\newcommand*{\FBEveryLineGuill@setup}[1]%
+ {\ifFB@luatex@punct
+ \expandafter\let\expandafter
+ \FBeverylineguill\csname FBguill#1\endcsname
+ \ifx\FBeverylineguill\FBguillopen
+ \else\ifx\FBeverylineguill\FBguillclose
+ \else\ifx\FBeverylineguill\FBguillnone
+ \else
+ \let\FBeverylineguill\FBguillnone
+ \FBWarning{Wrong value for `EveryLineGuill':
+ try `open',\MessageBreak
+ `close' or `none'. Reported}%
+ \fi
+ \fi
+ \fi
+ \else
+ \FBWarning{Option `EveryLineGuill' skipped:%
+ \MessageBreak this option is for
+ LuaTeX *only*.\MessageBreak Reported}%
+ \fi
+ }
% \end{macrocode}
%
% \changes{v3.3c}{2017/07/23}{New option `UnicodeNoBreakSpaces’ for
@@ -4807,20 +4733,21 @@ return french_punctuation
%
% Option \fbo{UnicodeNoBreakSpaces} (LuaLaTeX only) is meant for
% HTML translators: when true, all non-breaking spaces added by
-% \frenchb{} are coded in the PDF file as Unicode characters, namely
-% U+A0 or U+202F, instead of penalties and glues.
+% \frenchb{} are coded in the PDF file as Unicode characters,
+% namely U+A0 or U+202F, instead of penalties and glues.
% \begin{macrocode}
- \define@key{FB}{UnicodeNoBreakSpaces}[true]%
- {\ifFB@luatex@punct
- \csname FBucsNBSP#1\endcsname
- \ifFBucsNBSP \FB@ucsNBSP=\@ne \fi
- \else
- \FBWarning{Option `UnicodeNoBreakSpaces' skipped:%
- \MessageBreak this option is for
- LuaTeX *only*.\MessageBreak Reported}%
- \fi
- }%
+\newcommand*{\FBUnicodeNoBreakSpaces@setup}[1]%
+ {\ifFB@luatex@punct
+ \csname FBucsNBSP#1\endcsname
+ \ifFBucsNBSP \FB@ucsNBSP=\@ne \fi
+ \else
+ \FBWarning{Option `UnicodeNoBreakSpaces' skipped:%
+ \MessageBreak this option is for
+ LuaTeX *only*.\MessageBreak Reported}%
+ \fi
+ }%
% \end{macrocode}
+%
% Inputing French quotes as \emph{single characters} when they are
% available on the keyboard (through a compose key for instance)
% is more comfortable than typing |\og| and |\fg|.
@@ -4861,145 +4788,145 @@ return french_punctuation
% it can be single-byte (latin1, latin9, applemac,…) or
% multi-bytes (utf-8, utf8x); the next command is meant for checking
% whether a character is single-byte (|\FB@second| is empty) or not.
-% \begin{macrocode}
- \def\FB@parse#1#2\endparse{\def\FB@second{#2}}%
-% \end{macrocode}
%
% \begin{macrocode}
- \define@key{FB}{og}%
- {\ifFBunicode
+\def\FB@parse#1#2\endparse{\def\FB@second{#2}}%
+\newcommand*{\FB@@og}%
+ {\ifFBfrench
+ \ifFB@spacing \FB@og\ignorespaces
+ \else \guillemotleft
+ \fi
+ \else \guillemotleft
+ \fi
+ }
+\newcommand*{\FB@@fg}%
+ {\ifFBfrench
+ \ifFB@spacing \FB@fg
+ \else \guillemotright
+ \fi
+ \else \guillemotright
+ \fi
+ }
+\newcommand*{\FBog@setup}[1]%
+ {\ifFBunicode
% \end{macrocode}
% LuaTeX or XeTeX in use, first try modern LuaTeX: we just need
% to set LuaTeX’s attribute |\FB@addGUILspace| to 1,
% \begin{macrocode}
- \ifFB@luatex@punct
- \FB@addGUILspace=1 \relax
- \fi
+ \ifFB@luatex@punct
+ \FB@addGUILspace=1 \relax
+ \fi
% \end{macrocode}
% then with XeTeX it is a bit more tricky:
% \begin{macrocode}
- \ifFB@xetex@punct
+ \ifFB@xetex@punct
% \end{macrocode}
% |\XeTeXinterchartokenstate| is defined, we just need to set
% |\XeTeXcharclass| to |\FB@guilo| for the French opening quote
% in T1 and Unicode encoding (see subsection~\ref{ssec-punct}).
% \begin{macrocode}
- \XeTeXcharclass"13 = \FB@guilo
- \XeTeXcharclass"AB = \FB@guilo
- \XeTeXcharclass"A0 = \FB@guilnul
- \XeTeXcharclass"202F = \FB@guilnul
- \fi
+ \XeTeXcharclass"13 = \FB@guilo
+ \XeTeXcharclass"AB = \FB@guilo
+ \XeTeXcharclass"A0 = \FB@guilnul
+ \XeTeXcharclass"202F = \FB@guilnul
+ \fi
% \end{macrocode}
% Issue a warning with older Unicode engines requiring active
% characters.
% \begin{macrocode}
- \ifFB@active@punct
- \FBWarning{Option og=« not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
+ \ifFB@active@punct
+ \FBWarning{Option og=« not supported with this version of
+ \MessageBreak LuaTeX/XeTeX; reported}% »
+ \fi
+ \else
% \end{macrocode}
% This is for conventional TeX engines:
% \begin{macrocode}
- \newcommand*{\FB@@og}{%
- \ifFBfrench
- \ifFB@spacing\FB@og\ignorespaces
- \else\guillemotleft
- \fi
- \else\guillemotleft\fi}%
- \AtBeginDocument{%
- \ifdefined\uc@dclc
+ \AtBeginDocument{%
+ \ifdefined\uc@dclc
% \end{macrocode}
% Package \pkg{inputenc} with utf8x (ucs) encoding loaded,
% use |\uc@dclc|:
% \begin{macrocode}
- \uc@dclc{171}{default}{\FB@@og}%
- \else
+ \uc@dclc{171}{default}{\FB@@og}%
+ \else
% \end{macrocode}
% if encoding is not utf8x, check if the argument of |og|
% is a single-byte character:
% \begin{macrocode}
- \FB@parse#1\endparse
- \ifx\FB@second\@empty
+ \FB@parse#1\endparse
+ \ifx\FB@second\@empty
% \end{macrocode}
% This means 8-bit character encoding.
% Package \pkg{MULEenc} (from CJK) defines |\mule@def|
% to map characters to control sequences.
% \begin{macrocode}
- \ifdefined\mule@def
- \mule@def{11}{\FB@@og}%
- \else
- \ifdefined\DeclareInputText
- \@tempcnta`#1\relax
- \DeclareInputText{\the\@tempcnta}{\FB@@og}%
- \else
+ \ifdefined\mule@def
+ \mule@def{11}{\FB@@og}%
+ \else
+ \ifdefined\DeclareInputText
+ \@tempcnta`#1\relax
+ \DeclareInputText{\the\@tempcnta}{\FB@@og}%
+ \else
% \end{macrocode}
% Package \pkg{inputenc} not loaded, no way…
% \begin{macrocode}
- \FBWarning{Option `og' requires package
- inputenc;\MessageBreak reported}%
- \fi
- \fi
- \else
+ \FBWarning{Option `og' requires package
+ inputenc;\MessageBreak reported}%
+ \fi
+ \fi
+ \else
% \end{macrocode}
% This means multi-byte character encoding, we assume UTF-8
% \begin{macrocode}
- \DeclareUnicodeCharacter{00AB}{\FB@@og}%
- \fi
- \fi}%
- \fi
- }%
+ \DeclareUnicodeCharacter{00AB}{\FB@@og}%
+ \fi
+ \fi}%
+ \fi
+ }
% \end{macrocode}
%
% Same code for the closing quote.
% \begin{macrocode}
- \define@key{FB}{fg}%
- {\ifFBunicode
- \ifFB@luatex@punct
- \FB@addGUILspace=1 \relax
- \fi
- \ifFB@xetex@punct
- \XeTeXcharclass"14 = \FB@guilf
- \XeTeXcharclass"BB = \FB@guilf
- \XeTeXcharclass"A0 = \FB@guilnul
- \XeTeXcharclass"202F = \FB@guilnul
- \fi
- \ifFB@active@punct
- \FBWarning{Option fg=» not supported with this version
- of\MessageBreak LuaTeX/XeTeX; reported}%
- \fi
- \else
- \newcommand*{\FB@@fg}{%
- \ifFBfrench
- \ifFB@spacing\FB@fg
- \else\guillemotright
- \fi
- \else\guillemotright\fi}%
- \AtBeginDocument{%
- \ifdefined\uc@dclc
- \uc@dclc{187}{default}{\FB@@fg}%
- \else
- \FB@parse#1\endparse
- \ifx\FB@second\@empty
- \ifdefined\mule@def
- \mule@def{27}{{\FB@@fg}}%
- \else
- \ifdefined\DeclareInputText
- \@tempcnta`#1\relax
- \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
- \else
- \FBWarning{Option `fg' requires package
- inputenc;\MessageBreak reported}%
- \fi
- \fi
- \else
- \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
- \fi
- \fi}%
- \fi
- }%
-}
-% \end{macrocode}
+\newcommand*{\FBfg@setup}[1]%
+ {\ifFBunicode
+ \ifFB@luatex@punct
+ \FB@addGUILspace=1 \relax
+ \fi
+ \ifFB@xetex@punct
+ \XeTeXcharclass"14 = \FB@guilf
+ \XeTeXcharclass"BB = \FB@guilf
+ \XeTeXcharclass"A0 = \FB@guilnul
+ \XeTeXcharclass"202F = \FB@guilnul
+ \fi
+ \ifFB@active@punct
+ \FBWarning{Option fg=» not supported with this version of
+ \MessageBreak LuaTeX/XeTeX; reported}%
+ \fi
+ \else
+ \AtBeginDocument{%
+ \ifdefined\uc@dclc
+ \uc@dclc{187}{default}{\FB@@fg}%
+ \else
+ \FB@parse#1\endparse
+ \ifx\FB@second\@empty
+ \ifdefined\mule@def
+ \mule@def{27}{{\FB@@fg}}%
+ \else
+ \ifdefined\DeclareInputText
+ \@tempcnta`#1\relax
+ \DeclareInputText{\the\@tempcnta}{\FB@@fg}%
+ \else
+ \FBWarning{Option `fg' requires package
+ inputenc;\MessageBreak reported}%
+ \fi
+ \fi
+ \else
+ \DeclareUnicodeCharacter{00BB}{\FB@@fg}%
+ \fi
+ \fi}%
+ \fi
+ }
% \end{macro}
%
% \begin{macro}{\FBprocess@options}
@@ -5113,8 +5040,8 @@ return french_punctuation
%
% When package \pkg{numprint} is loaded with option
% \opt{autolanguage}, \pkg{numprint}’s command |\npstylefrench| has
-% to be redefined differently according to the value of flag
-% \fbo{ThinSpaceInFrenchNumbers}.
+% to be redefined differently according to the value of
+% flag\linebreak \fbo{ThinSpaceInFrenchNumbers}.
% As |\npstylefrench| was undefined in old versions of
% \pkg{numprint}, we provide this command.
% \begin{macrocode}
@@ -5122,17 +5049,16 @@ return french_punctuation
{\ifnprt@autolanguage
\providecommand*{\npstylefrench}{}%
\ifFBThinSpaceInFrenchNumbers
- \renewcommand*{\FBthousandsep}{\,}%
+ \renewcommand*{\FBthousandsep}{\FBthinspace}%
\fi
\g@addto@macro\npstylefrench{\npthousandsep{\FBthousandsep}}%
\fi
}{}%
% \end{macrocode}
% \fbo{FrenchSuperscripts}: if \fbo{true} |\up=\fup|, else
-% |\up=\textsuperscript|. Anyway |\up*=\FB@up@fake|. The star-form
-% |\up*{}| is provided for fonts that lack some superior letters:
-% Adobe Jenson Pro and Utopia Expert have no ``g superior’’ for
-% instance.
+% |\up=\textsuperscript|. The star-form |\up*=\FB@up@fake| is
+% provided for fonts that lack some superior letters: Adobe Jenson
+% Pro and Utopia Expert have no ``g superior’’ for instance.
% \begin{macrocode}
\ifFBFrenchSuperscripts
\DeclareRobustCommand*{\up}{%
@@ -5275,9 +5201,8 @@ return french_punctuation
% Reported by Sébastien Gouezel.}
%
% At |\begin{document}|, we have to provide an |\xspace| command
-% in case the \pkg{xspace} package is not loaded, do some setup for
-% \file{hyperref}’s bookmarks, execute |\FBprocess@options|, switch
-% LuaTeX punctuation on and issue some warnings if necessary.
+% in case the \pkg{xspace} package is not loaded and execute
+% |\FBprocess@options|.
% \begin{macrocode}
\AtBeginDocument{%
\providecommand*{\xspace}{\relax}%
@@ -5426,13 +5351,14 @@ return french_punctuation
% \begin{macro}{\Frlabelitemii}
% \begin{macro}{\Frlabelitemiii}
% \begin{macro}{\Frlabelitemiv}
-% Default labels for French itemize-lists (same label for all levels):
+% Default labels for French itemize-lists ---same label for all
+% levels---, (already defined as empty by |\DeclareKey{}|):
% \begin{macrocode}
-\newcommand*{\FrenchLabelItem}{\textemdash}
-\newcommand*{\Frlabelitemi}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemii}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemiii}{\FrenchLabelItem}
-\newcommand*{\Frlabelitemiv}{\FrenchLabelItem}
+\renewcommand*{\FrenchLabelItem}{\textemdash}
+\renewcommand*{\Frlabelitemi}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemii}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemiii}{\FrenchLabelItem}
+\renewcommand*{\Frlabelitemiv}{\FrenchLabelItem}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5444,14 +5370,14 @@ return french_punctuation
% \begin{macro}{\descindentFB}
% \begin{macro}{\labelindentFB}
% \begin{macro}{\labelwidthFB}
-% Let’s define four dimens |\listindentFB|, |\descindentFB|,
+% {\sloppy Let’s define four dimens |\listindentFB|, |\descindentFB|,
% |\labelindentFB| and |\labelwidthFB| to customise lists’ horizontal
% indentations.
% They are given silly negative values here in order to eventually
% enable their customisation in the preamble. They will get
% reasonnable defaults later when entering French (see
% |\setlabelitemsFB| and |\setlistindentFB|) unless they have been
-% customised.
+% customised.\par}
% \begin{macrocode}
\newdimen\listindentFB
\setlength{\listindentFB}{-1pt}
@@ -5784,20 +5710,6 @@ return french_punctuation
% \changes{v2.0}{2006/11/06}{Footnotes are now printed
% by default `à la française’ for the whole document.}
%
-% \changes{v2.0b}{2007/04/18}{Footnotes: Just do nothing
-% (except warning) when the bigfoot package is loaded.}
-%
-% \changes{v3.5s}{2024/01/05}{Footnotes: no customising of
-% \cs{@footnotetext} when the footnotebackref package is loaded.
-% Just warn the user.}
-%
-% The \pkg{bigfoot} package deeply changes the way footnotes are
-% handled. When \file{bigfoot} is loaded, we just warn the user
-% that \frenchb{} will not customise footnotes at all.
-% When the \pkg{footnotebackref} package is loaded, \frenchb{}
-% will not customise |\@footnotetext| in order to keep back
-% referencing working.
-%
% The layout of footnotes is controlled by two flags
% |\ifFBAutoSpaceFootnotes| and |\ifFBFrenchFootnotes| which are
% set by options of \fbsetup{} (see section~\ref{ssec-keyval}).
@@ -5806,40 +5718,9 @@ return french_punctuation
% different because one was called in a French part, the other one
% in English!).
%
-% We save the original definition of |\@footnotemark| at the
-% |\begin{document}| in order to include any customisation that
-% packages might have done; we define a variant |\@footnotemarkFB|
-% which just adds a thin space before the number or symbol calling
-% a footnote (any space typed in is removed first). The choice
-% between the two definitions (valid for the whole document) is
-% controlled by flag |\ifFBAutoSpaceFootnotes|.
-%
% \changes{v2.4a}{2009/11/23}{\cs{PackageWarning} changed to
% \cs{PackageInfo} (when bigfoot package in use).}
%
-% \begin{macrocode}
-\AtBeginDocument{%
- \@ifpackageloaded{bigfoot}%
- {\PackageWarning{french.ldf}%
- {bigfoot package in use.\MessageBreak
- babel-french will NOT customise footnotes;%
- \MessageBreak reported}}%
- {\let\@footnotemarkORI\@footnotemark
- \def\@footnotemarkFB{\leavevmode\unskip\unkern
- \,\@footnotemarkORI}%
- \ifFBAutoSpaceFootnotes
- \let\@footnotemark\@footnotemarkFB
- \fi}%
- \@ifpackageloaded{footnotebackref}%
- {\FBFrenchFootnotesfalse
- \PackageWarning{french.ldf}%
- {footnotebackref package loaded.\MessageBreak
- babel-french will NOT customise footnotes;%
- \MessageBreak reported}}%
- {}%
- }
-% \end{macrocode}
-%
% \begin{macro}{\@makefntextFB}
% We then define |\@makefntextFB|, a variant of |\@makefntext|
% which is responsible for the layout of footnotes, to match the
@@ -5880,10 +5761,9 @@ return french_punctuation
\newcommand*{\kernFFN}{\kern .5em}
\newdimen\FBfnindent
% \end{macrocode}
-% |\@makefntextFB|’s definition is now tuned according to the
-% document’s class for better compatibility.
+% |\@makefntextFB|’s definition depends on the document’s class.
%
-% Koma-script classes provide |\deffootnote|, a handy command
+% Koma-script classes: they provide |\deffootnote|, a handy command
% to customise the footnotes’ layout (see English manual
% \file{scrguien.pdf}); it redefines |\@makefntext| and
% |\@@makefnmark|. First, save the original definitions.
@@ -5929,19 +5809,17 @@ return french_punctuation
\makefootmark #1}%
}{}
% \end{macrocode}
-% Definitions for the \cls{beamer} class:
-% \begin{macrocode}
-\@ifclassloaded{beamer}
-% \end{macrocode}
-% (see original definition in \file{beamerbaseframecomponents.sty}),
-% note that for the \cls{beamer} class footnotes are LR-boxes, not
-% paragraphs, so |\parindentFFN| is irrelevant.
-% class.
+% Definitions for the \cls{beamer} class:\par
+% the original definition is in
+% \file{beamerbaseframecomponents.sty}, note that for the
+% \cls{beamer} class footnotes are LR-boxes, not paragraphs,
+% so |\parindentFFN| is irrelevant.
%
% \changes{v3.2h}{2016/04/09}{With beamer.cls, add \cs{llap} to
% \cs{@thefnmark} for notes numbered over 99.}
%
% \begin{macrocode}
+\@ifclassloaded{beamer}
{\def\@makefntextFB#1{%
\def\insertfootnotetext{#1}%
\def\insertfootnotemark{\insertfootnotemarkFB}%
@@ -5952,9 +5830,9 @@ return french_punctuation
\llap{\@thefnmark}\dotFFN\kernFFN}%
}{}
% \end{macrocode}
+%
% Now the default definition of |\@makefntextFB| for standard LaTeX
% and AMS classes.
-%
% The next command prints the footnote mark according to the
% specifications of the French `Imprimerie Nationale’.
% Keep in mind that |\@thefnmark| might be empty (i.e.\ in
@@ -5971,11 +5849,36 @@ return french_punctuation
% \end{macrocode}
% \end{macro}
%
-% The rest of |\@makefntext|’s customisation is done at the
-% |\begin{document}|. We save the original definition of
-% |\@makefntext|, and then redefine |\@makefntext| according
+% The rest of |\@makefntext|’s customisation will be done at
+% the |\begin{document}|: saving the original definition of
+% |\@makefntext|, then redefining |\@makefntext| according
% to the value of flag |\ifFBFrenchFootnotes| (true or false).
-% Koma-script classes require a special treatment.
+%
+% \begin{macro}{\@footnotemark}
+%
+% \changes{v3.6a}{2024/05/13}{Allow customisation of the space added
+% in \cs{\@footnotemarkFB}.}
+%
+% We will save the original definition of |\@footnotemark| at the
+% |\begin{document}| in order to include any customisation that
+% packages might have done; we define a variant |\@footnotemarkFB|
+% which just adds a (customisable) thin space before the number or
+% symbol calling a footnote (any space typed in is removed first).
+% The choice between the two definitions (valid for the whole
+% document) is controlled by flag |\ifFBAutoSpaceFootnotes|.
+%
+% |\@footnotemark|’s customisation: let’s define a customisable
+% thin space which will be added before footnote’s call by
+% |\@footnotemarkFB|.
+% \begin{macrocode}
+\newcommand*{\FBfnmarkspace}{\kern .5\fontdimen2\font}
+\def\@footnotemarkFB{\leavevmode\unskip\unkern
+ \protect\FBfnmarkspace\@footnotemarkORI}%
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v2.0b}{2007/04/18}{Footnotes: Just do nothing
+% (except warning) when the bigfoot package is loaded.}
%
% \changes{v3.3c}{2017/07/28}{Reset \cs{localleftbox} locally
% inside \cs{@makefntext}. Needed by \cs{frquote} with LuaTeX.}
@@ -5987,14 +5890,49 @@ return french_punctuation
% \cs{localleftbox} and \cs{FBeverypar@quote} saved and restored
% instead.}
%
+% \changes{v3.5s}{2024/01/05}{Footnotes: no customising of
+% \cs{@footnotetext} when the footnotebackref package is loaded.
+% Just warn the user.}
+%
+% Switching between French or Standard layout for footnotes is done
+% `AtBeginDocument’.
% The LuaTeX command |\localleftbox| and |\FBeverypar@quote| used
% by |\frquote{}| have to be reset inside footnotes; done for LaTeX
% based formats only.
% \begin{macrocode}
\providecommand\localleftbox[1]{}
\AtBeginDocument{%
- \@ifpackageloaded{bigfoot}{}%
- {\ifdim\parindentFFN<10in
+% \end{macrocode}
+% When the \pkg{footnotebackref} package is loaded, \frenchb{}
+% will not customise |\@footnotetext| in order to keep back
+% referencing working.
+% \begin{macrocode}
+ \@ifpackageloaded{footnotebackref}%
+ {\FBFrenchFootnotesfalse
+ \PackageWarning{french.ldf}%
+ {footnotebackref package loaded.\MessageBreak
+ babel-french will NOT customise footnotes;%
+ \MessageBreak reported}}%
+ {}%
+% \end{macrocode}
+% The \pkg{bigfoot} package deeply changes the way footnotes are
+% handled. When \file{bigfoot} is loaded, we just warn the user
+% that \frenchb{} will not customise footnotes at all.
+% \begin{macrocode}
+ \@ifpackageloaded{bigfoot}%
+ {\PackageWarning{french.ldf}%
+ {bigfoot package in use.\MessageBreak
+ babel-french will NOT customise footnotes;%
+ \MessageBreak reported}}%
+% \end{macrocode}
+% Otherwise, footnotes may be customised according to the
+% \fbsetup{} options.
+% \begin{macrocode}
+ {\let\@footnotemarkORI\@footnotemark
+ \ifFBAutoSpaceFootnotes
+ \let\@footnotemark\@footnotemarkFB
+ \fi
+ \ifdim\parindentFFN<10in
\else
\parindentFFN=\parindent
\ifdim\parindentFFN<1.5em \parindentFFN=1.5em \fi
@@ -6002,14 +5940,15 @@ return french_punctuation
\settowidth{\FBfnindent}{\dotFFN\kernFFN}%
\addtolength{\FBfnindent}{\parindentFFN}%
\let\@makefntextORI\@makefntext
- \ifFB@koma
% \end{macrocode}
+% Koma-script classes require a special treatment.\par
% Definition of |\@makefntext| for koma-script classes: running
% \@makefntextORI inside a group to reset |\localleftbox{}| and
% |\FBeverypar@quote| would mess up the layout of footnotes whenever
% the first manadatory argument of |\deffootnote{}| (used as
% |\leftskip|) is non-nil (default is 1em, 0pt in French).
% \begin{macrocode}
+ \ifFB@koma
\let\@@makefnmarkORI\@@makefnmark
\long\def\@makefntext#1{%
\localleftbox{}%
@@ -6071,7 +6010,7 @@ return french_punctuation
\localleftbox{\FBeveryline@quote}}%
\fi
}%
-}
+ }
% \end{macrocode}
%
% For compatibility reasons, we provide definitions for the commands
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.pdf b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
index b0ab9ae43b..44cf3388f2 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
index 27e0b3069f..8e75d792d0 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
@@ -1,7 +1,7 @@
<!--
-arguelles v2.4.0
+arguelles v2.4.2
author: Michele Piazzai
-contact: michele.piazzai@uc3m.es
+https://github.com/piazzai
license: MIT
-->
@@ -48,7 +48,7 @@ It is possible to change parts of the theme by altering the style files. There a
### Colors
-The theme ships with the opencolor package, which provides color definitions for the [Open Color](https://yeun.github.io/open-color/) library. By default, the background is set to `oc-gray-0`. The foreground and body text are set to `oc-gray-9`. The color of accented text is `oc-red-9`.
+The theme ships with the [opencolor package](https://www.ctan.org/pkg/opencolor), which provides color definitions for the [Open Color library](https://yeun.github.io/open-color/). By default, the background is set to `oc-gray-0`. The foreground and body text are set to `oc-gray-9`. The color of accented text is `oc-red-9`.
These settings are provided in `beamercolortheme*.sty` and can be customized using any default or opencolor name. For example:
@@ -56,7 +56,7 @@ These settings are provided in `beamercolortheme*.sty` and can be customized usi
\setbeamercolor*{structure}{bg=oc-blue-0,fg=black!80}
```
-See the opencolor package documentation for additional details.
+See the [opencolor documentation](https://github.com/piazzai/opencolor/blob/master/README.md) for additional details.
### Font weights
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
index 608006da24..dfa7cb3b08 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamercolorthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
index af52cb0283..8f53b26198 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerfontthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
index 899cb052d4..aaf0f6d08c 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerinnerthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
@@ -62,7 +62,7 @@
\setbeamertemplate{background}{
\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);
- \ifnum\thepage>1\relax
+ \ifnum\theframenumber>0\relax
\fill[structure.bg] (0,.01\paperheight) rectangle (\paperwidth,.99\paperheight);
\fi
\end{tikzpicture}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
index bd4cfad4b7..5ec88744ed 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerouterthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
index c66f0bf591..417be618ac 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
@@ -1,10 +1,10 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthemeArguelles}[2024/02/27 Argüelles]
+\ProvidesPackage{beamerthemeArguelles}[2024/06/11 Argüelles]
\mode<presentation>
@@ -33,7 +33,7 @@
\patchcmd{\slideentry}{\usebeamertemplate{mini frame in other subsection of current section}}{\usebeamertemplate{mini frame in other subsection}}{}{}
\fi
-% dependencies
+% package dependencies
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[osf]{Alegreya}
@@ -48,6 +48,9 @@
\RequirePackage{tikz}
\RequirePackage[skins]{tcolorbox}
+% tikz libraries
+\usetikzlibrary{calc}
+
% components
\useinnertheme{Arguelles}
\useoutertheme{Arguelles}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
index 73eb2cd4e9..70a4b7fe16 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
index 037fc1d449..71ea791608 100644
--- a/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
@@ -1,6 +1,6 @@
-% arguelles v2.4.0
+% arguelles v2.4.2
% author: Michele Piazzai
-% contact: michele.piazzai@uc3m.es
+% https://github.com/piazzai
% license: MIT
\documentclass[compress,12pt]{beamer}
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md b/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
index 1d90d7617c..d1e8bc4d60 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
@@ -1,5 +1,20 @@
# Changelog
+## [0.4.0](https://github.com/jolars/moloch/compare/v0.3.0...v0.4.0) (2024-07-09)
+
+
+### Features
+
+* add a small amount of vertical space before subtitle ([b224a9b](https://github.com/jolars/moloch/commit/b224a9b5067187e64a7669b61aee029447535729))
+* support memoize package (closes [#16](https://github.com/jolars/moloch/issues/16)) ([1ca26e8](https://github.com/jolars/moloch/commit/1ca26e857a331fcb29296c4987b69aea0db90fae))
+* support title format modifications ([#18](https://github.com/jolars/moloch/issues/18)) ([46a4f49](https://github.com/jolars/moloch/commit/46a4f49e8bb95798c2d6f3b69a1b96128d95cb8b))
+
+
+### Bug Fixes
+
+* add % at the end of some commands ([33b9833](https://github.com/jolars/moloch/commit/33b9833f21d3e0654fe2452d0b8ac8e8eb3a47bb))
+* convert raw command in manual to text ([ac305e9](https://github.com/jolars/moloch/commit/ac305e9b547ce44e0573f333adc4e6684eb88b68))
+
## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06)
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/README.md b/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
index f3b7971303..c8d9b78f15 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
@@ -12,19 +12,23 @@ The fork was created for the following reasons:
- To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts.
- To strip away some features that added complexity to the code base without achieving valuable functionality for the majority of users, such as special code block designs and the pgfplots theme.
+[Here's a blog post](https://jolars.co/blog/2024-05-30-moloch/) in which I introduce the theme and write in more detail about the changes with respect to Metropolis.
+
Do not expect this theme to be backwards compatible with the Metropolis theme.
+![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg)
+
## Installation
Moloch is on [CTAN](https://ctan.org/pkg/moloch), so you can install it using your favorite LaTeX package manager. For example, with `tlmgr`:
-```sh
+```bash
tlmgr install moloch
```
You can also install the theme from source, in which case you need a working LaTeX installation with `l3build` installed. Then just follow these steps:
-```sh
+```bash
git clone https://github.com/jolars/moloch.git
cd moloch
l3build install
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
index d6a14105ca..f0f644acbd 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.0 Moloch color theme] % x-release-please-version
+\ProvidesPackage{beamercolorthememoloch}[2024-07-09 v0.4.0 Moloch color theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
index 4748387c3c..cc3396fe47 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font theme] % x-release-please-version
+\ProvidesPackage{beamerfontthememoloch}[2024-07-09 v0.4.0 Moloch font theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -27,9 +27,12 @@
%
% A |beamer| font theme sets the style of the font used in the document.
%
+%
+%
% \subsubsection{Package dependencies}
%
% \begin{macrocode}
+\RequirePackage{etoolbox}
\RequirePackage{pgfopts}
% \end{macrocode}
%
@@ -51,6 +54,188 @@
\setbeamerfont{standout}{size=\Large, series=\bfseries}
% \end{macrocode}
%
+%
+%
+% \subsubsection{Title format options}
+%
+% \begin{macro}{titleformat title}
+% Controls the format of the title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat title/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@titleformat\lowercase%
+ \setbeamerfont{title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@titleformat\uppercase%
+ \setbeamerfont{title}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat subtitle}
+% Control the format of the subtitle.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat subtitle/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@subtitleformat\MakeLowercase%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@subtitleformat\MakeUppercase%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat section}
+% Controls the format of the section title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat section/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeLowercase%
+ \setbeamerfont{section title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeUppercase%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{frametitleformat}
+% Control the format of the frame title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat frame/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@frametitleformat\MakeLowercase%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@frametitleformat\MakeUppercase%
+ \setbeamerfont{frametitle}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat aliases}
+% Allows |titleformat title| et al. to be used in the |\usetheme|
+% declaration, where \LaTeX{} automatically removes all spaces.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/.cd,
+ titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
+ titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
+ titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
+ titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\moloch@font@setdefaults}
+% Sets default values for font theme options.
+% \begin{macrocode}
+\newcommand{\moloch@font@setdefaults}{
+ \pgfkeys{/moloch/font/.cd,
+ titleformat title=regular,
+ titleformat subtitle=regular,
+ titleformat section=regular,
+ titleformat frame=regular,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We first define hooks to change the case format of the titles.
+%
+% \begin{macrocode}
+\def\moloch@titleformat#1{#1}
+\def\moloch@subtitleformat#1{#1}
+\def\moloch@sectiontitleformat#1{#1}
+\def\moloch@frametitleformat#1{#1}
+% \end{macrocode}
+%
+% To make the uppercase and lowercase macros work in the title, subtitle, etc.,
+% we have to patch the appropriate |beamer| commands that set their values.
+% This solution was suggested by Enrico Gregorio in an answer to
+% \href{http://tex.stackexchange.com/questions/112526/}{this StackExchange
+% question}.
+%
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\moloch@font@setdefaults
+\ProcessPgfPackageOptions{/moloch/font}
+% \end{macrocode}
% \iffalse
%</package>
% \fi
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
index 2b626d526d..9815a0995f 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner theme] % x-release-please-version
+\ProvidesPackage{beamerinnerthememoloch}[2024-07-09 v0.4.0 Moloch inner theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -173,7 +173,7 @@
% \begin{macrocode}
\setbeamertemplate{title}{
\raggedright%
- \inserttitle%
+ \moloch@titleformat{\inserttitle}%
\par%
\vspace*{0.2em}
}
@@ -184,8 +184,9 @@
% Set the subtitle on the title page.
% \begin{macrocode}
\setbeamertemplate{subtitle}{
+ \vspace*{0.1em}
\raggedright%
- \insertsubtitle%
+ \moloch@subtitleformat{\insertsubtitle}%
\par%
\vspace*{0.2em}
}
@@ -201,6 +202,7 @@
\setbeamertemplate{title separator}{
\tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[fg] (0,0) rectangle (\textwidth, \moloch@titleseparator@linewidth);
\end{tikzpicture}%
\tikzexternalenable%
@@ -256,7 +258,7 @@
\begin{center}
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\par
+ \moloch@sectiontitleformat{\insertsectionhead}\par
\ifx\insertsubsectionhead\@empty\else
\usebeamercolor[fg]{subsection title}
\usebeamerfont{subsection title}
@@ -270,7 +272,7 @@
\raggedright
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\\[-1ex]
+ \moloch@sectiontitleformat{\insertsectionhead}\\[-1ex]
\usebeamertemplate*{progress bar in section page}
\par
\ifx\insertsubsectionhead\@empty\else%
@@ -338,9 +340,10 @@
\setbeamertemplate{progress bar in section page}{
\pgfmathsetlength{\moloch@progressonsectionpage}{
\textwidth * min(1,\insertframenumber/\inserttotalframenumber)
- }
- \tikzexternaldisable
+ }%
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -350,7 +353,7 @@
rectangle
(\moloch@progressonsectionpage, \moloch@progressonsectionpage@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
index a5d5910831..a0ce0af580 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer theme] % x-release-please-version
+\ProvidesPackage{beamerouterthememoloch}[2024-07-09 v0.4.0 Moloch outer theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -160,23 +160,42 @@
% Templates for the frame title, which is optionally underlined with a
% progress bar.
% \begin{macrocode}
+\newlength{\moloch@frametitle@padding}
+\setlength{\moloch@frametitle@padding}{2.2ex}
+\newcommand{\moloch@frametitlestrut@start}{%
+ \rule{0pt}{\moloch@frametitle@padding +%
+ \totalheightof{%
+ \ifcsdef{moloch@frametitleformat}{\moloch@frametitleformat X}{X}%
+ }%
+}%
+}
+
+\newcommand{\moloch@frametitlestrut@end}{%
+ \vphantom{\rule[-\moloch@frametitle@padding]{0pt}{\moloch@frametitle@padding}}
+}
\defbeamertemplate{frametitle}{plain}{%
\nointerlineskip%
\begin{beamercolorbox}[%
wd=\paperwidth,%
- sep=1.1ex,%
- leftskip=0.5ex,%
- rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
+ leftskip=1.6ex,%
+ rightskip=\the\glueexpr 1.6ex plus 1fill\relax,%
]{frametitle}%
\usebeamerfont{frametitle}%
- \vbox{}\vskip-0.4ex%
- \strut\insertframetitle\nolinebreak\strut\par%
+ \moloch@frametitlestrut@start%
+ \moloch@frametitleformat{\insertframetitle}%
{%
\ifx\insertframesubtitle\@empty%
\else%
- {\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+ {%
+ \par%
+ \usebeamerfont{framesubtitle}%
+ \vspace{-0.8ex}%
+ \usebeamercolor[fg]{framesubtitle}%
+ \insertframesubtitle%
+ }%
\fi
}%
+ \moloch@frametitlestrut@end%
\end{beamercolorbox}%
}
\setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount}
@@ -192,13 +211,14 @@
\newlength{\moloch@progressinheadfoot@linewidth}
\setlength{\moloch@progressinheadfoot@linewidth}{0.4pt}
\setbeamertemplate{progress bar in head/foot}{
- \nointerlineskip
+ \nointerlineskip%
\pgfmathsetlength{\moloch@progressinheadfoot}{%
\paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
- }
+ }%
\begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
- \tikzexternaldisable
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -208,7 +228,7 @@
rectangle
(\moloch@progressinheadfoot, \moloch@progressinheadfoot@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
\end{beamercolorbox}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
index fcebef5a81..e6447ec791 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
@@ -12,7 +12,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer theme] % x-release-please-version
+\ProvidesPackage{beamerthememoloch}[2024-07-09 v0.4.0 Moloch Beamer theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -52,14 +52,69 @@
}
% \end{macrocode}
%
+% \begin{macro}{titleformat plain}
+% Controls the formatting of the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/titleformat plain/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@plaintitleformat\MakeLowercase%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allcaps/.code={%
+ \let\moloch@plaintitleformat\MakeUppercase%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat}
+% Sets a standard format for titles, subtitles, section titles, frame
+% titles, and the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/titleformat/.code=\pgfkeysalso{
+ font/titleformat title=#1,
+ font/titleformat subtitle=#1,
+ font/titleformat section=#1,
+ font/titleformat frame=#1,
+ titleformat plain=#1,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Set default values for options.
+%
+% \begin{macrocode}
+\newcommand{\moloch@setdefaults}{
+ \pgfkeys{/moloch/.cd,
+ titleformat plain=regular,
+ }
+}
+% \end{macrocode}
+%
% To avoid generating externalized figures of the progressbar we have to disable
% them with ``tikzexternalenable'' and ``tikzexternaldisable''. However, if the
% ``external'' libray is not loaded we would get undefined control sequence
% problems, hence we define them as no-ops if they are not defined yet.
+% We do the same for the ``mmzUnmemoizable'' command from the memoize package, in
+% order to avoid memoization of the progress bars.
%
% \begin{macrocode}
\providecommand{\tikzexternalenable}{}
\providecommand{\tikzexternaldisable}{}
+\providecommand{\mmzUnmemoizable}{}
% \end{macrocode}
%
% \subsubsection{Component sub-packages}
@@ -98,6 +153,7 @@
% \subsubsection{Process package options}
%
% \begin{macrocode}
+\moloch@setdefaults
\ProcessPgfOptions{/moloch}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
index 3607149cef..15f0652a6a 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
index a9eb326933..c8300607be 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
@@ -58,7 +58,7 @@
xrightmargin=0em,
aboveskip=1em,
belowskip=1em,
- morekeywords={usetheme,institute,maketitle,%
+ morekeywords={usetheme,institute,maketitle,@moloch@titleformat,%
plain,setbeamercolor,molochset,setsansfont,setmonofont},
}
\lstMakeShortInline|
@@ -82,7 +82,7 @@
\newcommand{\themename}{\textsf{moloch}\xspace}
-\def\molochversion{0.3.0} % x-release-please-version
+\def\molochversion{0.4.0} % x-release-please-version
\usepackage{readprov}
% \ReadPackageInfos{beamerthememoloch}
@@ -166,10 +166,10 @@ The following code shows a minimal example of a Beamer presentation using
\begin{lstlisting}
\documentclass{beamer}
\usetheme{moloch}
-\title{A minimal example}
+\title{A Minimal Example}
\date{\today}
\author{Johan Larsson}
-\institute{Centre for Modern Beamer Themes}
+\institute{Some University}
\begin{document}
\maketitle
\section{First Section}
@@ -187,6 +187,7 @@ The following code shows a minimal example of a Beamer presentation using
\begin{itemize}
\item |tikz|
\item |pgfopts|
+ \item |etoolbox|
\item |calc|
\end{itemize}
\end{multicols}
@@ -224,6 +225,27 @@ The list of options is structured as shown in the following example.
A short description of the option.
}
+
+\subsubsection{Main theme}
+
+\DescribeOption{titleformat}%
+{regular, smallcaps, allsmallcaps, allcaps}
+{regular}{
+ Changes the format of titles, subtitles, section titles, frame titles, and
+ the text on ``standout'' frames. The available options produce
+ Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or
+ \MakeUppercase{AllCaps} titles. Note that these commands do not
+ affect math and numbers, so may not work as you expect if your titles
+ contain these.
+}
+
+\DescribeOption{titleformat plain}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Changes the format of ``standout'' frames (see |titleformat|, above).
+}
+
+
\subsubsection{Inner theme}
\DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
@@ -270,6 +292,20 @@ The list of options is structured as shown in the following example.
of the reverse.
}
+
+\subsubsection{Font theme}
+
+\DescribeMacro{titleformat title}
+\DescribeMacro{titleformat subtitle}
+\DescribeMacro{titleformat section}
+\DescribeOption{titleformat frame}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Individually controls the format of titles, subtitles, section titles, and
+ frame titles (see |titleformat|, above).
+}
+
+
\subsection{Color Customization}
The included \themename color theme is used by default, but its colors can be
@@ -321,6 +357,18 @@ single sentence or image. To use it, add the key |standout| to the frame:
\section{Known Issues}
+\subsection{Title Formats}
+
+Be aware that not every font supports small caps, so the |smallcaps| or
+|allsmallcaps| options may not work for all fonts.
+In particular, the Computer Modern sans-serif typeface, which is used
+by default when \themename is compiled with pdf\LaTeX, does not have a
+small-caps variant.
+
+Note that title format options |allsmallcaps| and |allcaps| do not
+affect the sizes of numerals, punctuation, and math symbol, and are
+probably best avoided if your titles contain these characters.
+
\subsection{Interactions with other color themes}
\themename can be used along with any other Beamer color theme, such as
@@ -412,7 +460,7 @@ solution for Org mode users, using |org-set-property|.
\subsection{Standout frames with Pandoc}
-With Pandoc versions prior 1.17.2 it was not possible to create standout frames
+With Pandoc versions prior to 1.17.2 it was not possible to create standout frames
because Pandoc only supported a specific list of frame attributes thus ignoring
additional attributes such as |{.standout}|.
diff --git a/macros/latex/contrib/beautybook/Beautybook-EN.cls b/macros/latex/contrib/beautybook/Beautybook-EN.cls
deleted file mode 100644
index 63e3e038df..0000000000
--- a/macros/latex/contrib/beautybook/Beautybook-EN.cls
+++ /dev/null
@@ -1,1166 +0,0 @@
-%This Class is based on the default book class and options will be passed
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{Beautybook-EN}[02-10-2023 V8.0 Beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
-\ProcessOptions\relax
-\LoadClass[twoside]{book}
-\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\RequirePackage[utf8]{inputenc} % UTF-8编码
-\RequirePackage{times} % Times New Roman Font
-\RequirePackage[T1]{fontenc}
-\RequirePackage{microtype} % 字体间距调整
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
-\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
-\keys_define:nn {Beautybook/coverstyle}
- {
- cover-choose.choice:,
- cover-choose.value_required:n = true,
- cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}},
- cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}},
- cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}},
- cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}},
- %cover-choose .initial:n = en , % 设置 en 为初始值
- }
-\newtoks \l__Beautybook_tmpa_toks
-\cs_new_protected:Npn \coverstyle
- {
- \tex_afterassignment:D \__Beautybook_set_coverstyle:
- \l__Beautybook_tmpa_toks
- }
-\cs_new:Npn \__Beautybook_set_coverstyle:
- { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks }
-% Math fonts
-\keys_define:nn {Beautybook/mathstyle}
- {
- math-font.choice:,
- math-font.value_required:n = true,
- math-font/plain.code:n={},
- math-font/stix.code:n={
- \RequirePackage{stix}
- },
- math-font/mtpro2.code:n = {
- \RequirePackage{mtpro2}
- \RequirePackage{bm}
- \DeclareFontFamily{U}{nxlmi}{}
- \DeclareFontSubstitution{U}{nxlmi}{m}{it}
- \DeclareFontShape{U}{nxlmi}{m}{it}{
- <-6.3> nxlmi05
- <6.3-8.6> nxlmi07
- <8.6-> nxlmi0
- }{}
-
- \DeclareFontShape{U}{nxlmi}{b}{it}{
- <-6.3> nxlbmi05
- <6.3-8.6> nxlbmi07
- <8.6-> nxlbmi0
- }{}
- \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}}
- },
- %cover-choose .initial:n = plain , % 设置 en 为初始值
- }
-\cs_new_protected:Npn \mathstyle
- {
- \tex_afterassignment:D \__Beautybook_set_mathstyle:
- \l__Beautybook_tmpa_toks
- }
-\cs_new:Npn \__Beautybook_set_mathstyle:
- { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks }
-\ExplSyntaxOff
-\RequirePackage{stys/Beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
-% 关于图片 graphicx
-% 如果图片没有指定后缀, 依次按下列顺序搜索
-\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
-% 设置图表搜索路径, 可以给图表文件夹取如下名字
-\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{amssymb,amsfonts,upgreek}
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
-\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\newcommand\bookseries[1]{\def\@bookseries{#1}}
-\newcommand\subtitle[1]{\def\@subtitle{#1}}
-\newcommand\edition[1]{\def\@edition{#1}}
-\newcommand\presslogo[1]{\def\@presslogo{#1}}
-\newcommand\pressname[1]{\def\@pressname{#1}}
-\newcommand\coverimage[1]{\def\@coverimage{#1}}
-\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
-\RequirePackage{xpatch}%修正章节编号
-\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
-\RequirePackage[explicit]{titlesec}
-\RequirePackage{titletoc}
-
-\newcommand\boxednum[1]
-{
-\tcbsidebyside[sidebyside adapt=left,
-nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth,
-top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]{% left hand side % adjust from this side
-\thecontentslabel
-}{% right hand side
-\textbf{#1} \hfill \thecontentspage
-}% end
-}
-
-\newcommand\boxednonum[1]
-{
-\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm,
-top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]
-\tcblower \textbf{#1}\hfill \thecontentspage
-\end{tcolorbox}
-}
-%
-\titlecontents{chapter}[0mm]
- {\addvspace{-.5em}}
- {\contentsmargin{0pt}\boxednum}
- {\contentsmargin{0pt}\boxednonum}
- {}
- [\addvspace{-.5em}]
-%
- \titlecontents{section}
- [4.5em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}}
- {\hspace*{-2.2em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsection}
- [7.3em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}}
- {\hspace*{-2.7em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsubsection}
- [10.7em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
- {\hspace*{-3.3em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
-\makeatletter
-% titleimage
-\ExplSyntaxOn
-\seq_new:N \g__Beautybook_chapter_oimage_seq % odd
-\seq_new:N \g__Beautybook_chapter_eimage_seq % even
-\seq_new:N \g__Beautybook_part_oimage_seq % odd
-\seq_new:N \g__Beautybook_part_eimage_seq % even
-%
-\keys_define:nn { Beautybook/titleimage }
- {
- chapteroddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} ,
- chapterevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} ,
- partoddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} ,
- partevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} ,
- }
-\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number
- { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号
-\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
- {
- \int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } }
- }
-\cs_new:Npn \Beautybook@partimagename
- {
- \int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } }
- }
-\cs_new_protected:Npn \titleimage #1
- { \keys_set:nn { Beautybook/titleimage } {#1} }
-\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \path[fill=outermarginfgcolor]node[append after command={
- ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart};
- \begin{pgfonlayer}{bottom}
- \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
- }
-\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
-}
-\titlespacing{\chapter}{0pt}{0pt}{80pt}
-\makeatother
-% -------- Part定制
-\tikzfading[name=middle, top color=transparent!90, bottom
-color=transparent!90, middle color=transparent!20]
-\makeatletter
-\newcommand\partabstract[1]{\def\@partabstract{#1}}
-\newcommand\partimage[1]{\def\@partimage{#1}}
-\titleformat{\part}
-{\normalfont\huge\filcenter}
-{}
-{20pt}
-{\begin{tikzpicture}[remember picture,overlay]
- \def\barwidth{2cm}
- \fill[outermarginbgcolor,opacity=0.6]
- (current page.north west) rectangle (current page.south east);
- \ifodd\value{page}
- \fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- \end{pgfonlayer}
- \else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- \end{pgfonlayer}
- \fi
- \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
- \end{tikzpicture}}
-\makeatother
-\assignpagestyle{\part}{empty}
-\assignpagestyle{\chapter}{empty}
-
-
-%% -- Section
-\titleformat{\section}
-{}
-{}
-{-.5em} %左右移动\thesection标签位置
-{\mysectionformat{#1}}
-
-\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}}
-
-\newcommand{\mysectionformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\newcommand{\mysectionnonumformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
-\newlength\chapternumbersize
-\setlength\chapternumbersize{36pt}
-\setlength{\headheight}{40pt} % 页眉高度
-\renewcommand\chaptermarkformat{}
-% define a new mark for the chapter number
-\newmarks\chapternum
-\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed}
-\newmarks\secnum
-\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed}
-
-\newcommand*\outermarginpagemark{%
-\tikzoverlay{
- \begin{pgfonlayer}{top}
- \ifodd\value{page}
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线
- \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \else
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线
- \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \fi
- \end{pgfonlayer}}
-}
-\newlength\baryshift
-\setlength\baryshift{-2.5\outermarginwidth}
-\makeatletter
-% Add A Side-Bar Box For The Chapter Number
-\newcommand*\outermarginchapternumberbox{%
- \if@mainmatter
- \tikzoverlay{
- \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
- (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm);
- \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};%
- }
- \fi
- \vfill
-}
-\makeatother
-
-\newkomafont{chapternumber}{%页边章节编号字体
- \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont
-}%
-\makeatletter
-\newcommand\outermarginmark{
- \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi
- \rotatebox{90}{\parbox{\layerheight}{
- \raggedleft
- \usekomafont{outermargin}{%
- \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}%
- }}%
- \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi%
-}
-\newcommand*\even@outermargin{}
-\newcommand*\odd@outermargin{}
-\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容
-\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容
-\makeatother
-%
-\newkomafont{outermargin}{%页边章节名称字体
- \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor}
-}
-% declare new page style using layers
-\DeclareNewPageStyleByLayers{scth}{%
- scth.outermargin.bg.even,%
- scth.outermargin.bg.odd,%
- scth.outermargin.fg.even,%
- scth.outermargin.fg.odd,%
- scth.outermargin.pn.even,%
- scth.outermargin.pn.odd,%
- scth.outermargin.cn.even,%
- scth.outermargin.cn.odd,%
- scth.outermargin.text.even,%
- scth.outermargin.text.odd%
-}
-% define the layers for even pages
-\DeclareNewLayer[
- background, % 下层(背景)
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条
-]{scth.outermargin.bg.even}%
-%%=============% 页边条颜色 %=======================%%
-\tikzfading[name=fade south,
- top color =transparent!0,
- bottom color=transparent!80]
-\tikzfading[name=fade north,
- top color =transparent!100,
- bottom color=transparent!0]
-%偶数页边纹理效果设置
-\newcommand{\evensidbardeepcolor}{%
-\tikzoverlay{
-\ifodd\value{page}
-\fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east);
-\else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west);
- \fi
-}
-}
-%%==============偶数页页边条颜色========================%%
-\DeclareNewLayer[
- foreground, %
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents=\evensidbardeepcolor %色彩装饰条
-]{scth.outermargin.fg.even}%
-%%==============偶数页页脚页码========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- foot, % 页脚
- contents=\outermarginpagemark
-]{scth.outermargin.pn.even}%
-%%==============偶数页章节编号========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- head, %页眉
- hoffset=0pt,
- width=\outermarginwidth,
- align=t,
- addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax,
- height=\chapternumbersize+\headheight,
- contents=\outermarginchapternumberbox%章节编号
-]{scth.outermargin.cn.even}%
-%%======================章节名称===================================%%
-\DeclareNewLayer[
- clone=scth.outermargin.cn.even,
- addheight=\dimexpr\headheight+\headsep+\textheight\relax,
- addvoffset=\dimexpr+2\outermarginwidth\relax,
- hoffset=-2.5pt,
- contents=\outermarginmark %
-]{scth.outermargin.text.even}%
-
-% define the layers for odd page from the settings for even pages
-\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令
-\DeclareNewLayer[
- clone=#1.even,
- oddpage,
- align=r,
- hoffset=\paperwidth
-]{#1.odd}%
-}
-\DeclareOddFromEven{scth.outermargin.bg}
-\DeclareOddFromEven{scth.outermargin.pn}
-\DeclareOddFromEven{scth.outermargin.cn}
-\DeclareOddFromEven{scth.outermargin.text}
-\DeclareOddFromEven{scth.outermargin.fg}
-
-% add the layers to page style scrheadings and page style plain
-\ForEachLayerOfPageStyle*{scth}{%
- \AddLayersToPageStyle{scrheadings}{#1}%
- \AddLayersToPageStyle{plain.scrheadings}{#1}%
-}
-%----------------------------------------------
-\KOMAoptions{markcase=upper} %页眉
-% for page styles scrheadings and plain
-\clearpairofpagestyles
-\ohead{}
-\cfoot{}
-\ofoot{}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
-\makeatletter
-\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
-\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
-\newdimen\ys@frame@linewidth
-\newdimen\ys@frame@radius
-\newdimen\ys@frame@sep
-\def\ys@frame@fill@opacity{0.2}
-
-\pgfdeclarehorizontalshading{ys@fade@circle}{500bp}
-{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100);
-color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0);
-color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
-\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}}
-
-\def\ys@frame@star@list@t{%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north east,%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north west}
-\def\ys@frame@star@list@b{%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south west,%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south east}
-\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b}
-
-%region outer
-\def\ys@frame@remove@middleline#1#2{}
-\def\ys@frame@draw@middleline#1#2{%
- \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)--
- ([xshift=\ys@frame@linewidth,#1]frame.north east)--
- ([xshift=\ys@frame@linewidth,#2]frame.south east)--
- ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;}
-\def\ys@frame@unbrokenouter{%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@firstouter{%
- \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--
- (frame.south east)--
- (frame.south west)--
- ([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@middleouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--(frame.south east)--
- (frame.south west)--cycle;}
-\def\ys@frame@lastouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--
- ([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--
- (frame.north west)--cycle;}
-%endregion
-%region inner
-\def\ys@frame@unbrokeninner{%
-\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
-%
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
---([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
-([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@firstinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@sep]frame.south east)
-
- ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
- --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@middleinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east)
- ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@lastinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- %
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@sep]frame.north west)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-%endregion
-%region corner
-\def\ys@frame@unbrokencorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-\def\ys@frame@firstcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);}
-\def\ys@frame@middlecorner{}
-\def\ys@frame@lastcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-%endregion
-\def\ys@frame@star#1#2#3{%
- \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1]
- \path[draw=framegolden,fill=white,
- line width=.7\ys@frame@linewidth,line join=round]
- (1,1)..controls(0.3,0.5) and (-0.3,0.5)..
- (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3)..
- (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5)..
- (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle;
- \path[scale=0.45,fill=framegolden,line join=round]
- (1,1)..controls(0.3,0.7) and (-0.3,0.7)..
- (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3)..
- (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7)..
- (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle;
- \end{scope}}
-\def\ys@frame@segmentation{%
- \draw[color=framegolden,path fading=ys circle]
- ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88]
- ([xshift=-5\ys@frame@radius]segmentation.east);}
-
-\tcbset{
- % 控制是否在断点处的线不画出来
- ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline,
- ys/frame/fill opacity/.store in=\ys@frame@fill@opacity,
- ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo,
- % 控制线宽
- ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}},
- ys/frame/line width=1.4pt,
- % 控制圆弧大小,应为数字,而非长度
- ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult
- \pgfmathsetlength\ys@frame@radius{(#1)*1em}%
- \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}},
- ys/frame/radius=2,
- ys/frame/unbroken/.style={
- interior code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- },
- interior titled code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- }
- },
- ys/frame/first/.style={
- interior code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- interior titled code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- },
- ys/frame/middle/.style={
- interior code={%
- \ys@frame@middleouter
- \ys@frame@middleinner
- \ys@frame@middlecorner}
- },
- ys/frame/last/.style={
- interior code={%
- \ys@frame@lastouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@lastinner
- \ys@frame@lastcorner}
- },
- ys/frame style/unbroken/.style={
- boxsep=2\ys@frame@sep,
- left={.8\ys@frame@radius},right={.8\ys@frame@radius},
- ys/frame/unbroken,title hidden,
- segmentation code=\ys@frame@segmentation
- },
- ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation},
- ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation},
- ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation},
- ys style/.style={frame hidden,
- ys/frame style/unbroken,
- extras first={ys/frame style/first},
- extras middle={ys/frame style/middle},
- extras last={ys/frame style/last},
- },
-}
-\makeatother
-\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
- ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
-\makeatletter
-\definecolor{CyaN}{HTML}{dbe1e5}
-\colorlet{OrangE}{yellow!20!orange}
-\colorlet{BluE}{cyan!70!blue}
-\colorlet{ReD}{red!20!orange}
-\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
-\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
- enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
- top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
-\newcommand{\@my@newtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}}
-\NewDocumentCommand{\@my@newtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}%
- \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}}
-\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}}
-%
-% ---------------------------------------------------------------------------------- %
-% 第二种定理
-\tcbset{my@basic@tcbthm/.style={detach title,}}
-\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtcbtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}}
-\newcommand{\@my@newtcbtheorem}[2]{%
- \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称
- \mytcbtheoremset{#2}%
- \NewTColorBox{#1}{ O{} O{} o }
- {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}}
-\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}}
-
-% 键值设置
-\pgfkeys{/mytcbtheorem/.is family}
-\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}}
-\mytcbtheoremset{
- name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效
- counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on
- the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1},
- autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1},
- style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}},
- thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效
- lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效
-}
-% 存储键值 (LaTeX3)
-\ExplSyntaxOn
-\cs_new_protected:Npn \mynewtheorem
- { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn }
-\cs_new_protected:Npn \mynewtcbtheorem
- { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
-\ExplSyntaxOff
-\makeatother
-
-% 第二种定理
-\makeatletter
-%% Overlay Settings
-\newcommand{\my@theorem@overlay@unbroken}[2]{
- %%============== First ==============%%
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2,
-anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
- %%============== End ==============%%
- \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-\newcommand{\my@theorem@overlay@first}[2]{
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
-}
-\newcommand{\my@theorem@overlay@last}[1]{
- \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-% Second theorem style overlay settings
-\newcommand{\my@lemma@overlay@unbroken}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- %%============== End ==============%%
- \def\tlen{1.5cm}
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@first}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@last}[1]{
- %%============== End ==============%%
- \def\Rad{3.5pt}
- \def\rad{7pt}%
- \def\theight{0.57cm}
- \def\tlen{1.5cm}
- \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\makeatother
-%%
-
-% proof
-\newcommand{\itbf}[1]{\textit{\textbf{#1}}}
-\declaretheoremstyle[
- spaceabove=3pt,spacebelow=3pt,
- headfont=\normalfont\bfseries,
- notefont=\normalfont\bfseries,notebraces={(}{)},
- bodyfont=\normalfont,
- postheadspace=.5em,
- headpunct={.},
- qed=$\blacksquare$,%\qedsymbol
-]{Proofstyle}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
-\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
-
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
diff --git a/macros/latex/contrib/beautybook/README.md b/macros/latex/contrib/beautybook/README.md
index c738ffd950..0057185325 100644
--- a/macros/latex/contrib/beautybook/README.md
+++ b/macros/latex/contrib/beautybook/README.md
@@ -10,14 +10,14 @@
-Beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com.
+beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com.
-If you are an English user, then please use a cls file with the "-EN" suffix and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, use a cls file with the "-CN" suffix and compile the chinese tex file with the XeLaTeX engine!
+If you are an English user, then please write '\documentclass[lang=en]{beautybook}' in the premble and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, write '\documentclass[lang=cn]{beautybook}' in the premble and compile the chinese tex file with the XeLaTeX engine!
---
## Version
-Release 2024-03-17.
+Release 2024-07-03.
---
## License
diff --git a/macros/latex/contrib/beautybook/Beautybook-cn.pdf b/macros/latex/contrib/beautybook/beautybook-cn.pdf
index 924e220ab7..23690e698d 100644
--- a/macros/latex/contrib/beautybook/Beautybook-cn.pdf
+++ b/macros/latex/contrib/beautybook/beautybook-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/Beautybook-cn.tex b/macros/latex/contrib/beautybook/beautybook-cn.tex
index 4e0e850bf4..7e30e04814 100644
--- a/macros/latex/contrib/beautybook/Beautybook-cn.tex
+++ b/macros/latex/contrib/beautybook/beautybook-cn.tex
@@ -1,16 +1,17 @@
%% This work is released under the LaTeX Project Public License, v1.3c or later.
% This template is made by Ethan Lu.
% Please use XeLaTeX engine!
-\documentclass[zihao=-4,fontset=windows]{Beautybook-CN}
+\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
% ---------------------------------------------------------------------------- %
\definecolor{coverbgcolor}{HTML}{e0e0e0}
-\definecolor{coverfgcolor}{HTML}{826e68} % The color of the background
+\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
-\definecolor{bottomcolor}{HTML}{826e68}
+\definecolor{bottomcolor}{HTML}{2c4f54}
+\definecolor{nuanbai}{HTML}{f5f5f5}
\coverstyle={ % 封面键值列表
- cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar
+ cover-choose=cn, % cn ; en ; enfig ; birkar
}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
@@ -18,7 +19,10 @@
\mathstyle={ % 数学字体键值列表
math-font=plain, %plain (默认数学字体); stix; mtpro2
}
-\setmainfont{Times New Roman}
+\RequirePackage{fontspec}
+\setmainfont{XITS}
+\setsansfont{DejaVu Sans}
+\setmonofont{Latin Modern Mono}
\renewcommand{\partial}{∂}
%% First one
\mynewtheorem{
@@ -235,16 +239,19 @@ sorting=nty
texcl=true,
fontadjust
}%
-
+% 设置1.25倍行距
+\linespread{1.25}
+\setlist[itemize]{itemsep=1pt, parsep=1pt} % 对所有itemize环境生效
+\setlist[enumerate]{itemsep=1pt, parsep=1pt} % 对所有enumerate环境生效
\begin{document}
\thispagestyle{empty}
\title{Beautybook模板简介}
-\subtitle{}
+\subtitle{这是一个副标题!}
\edition{First Edition}
-\bookseries{Illustrated by Ethan Lu}
+\bookseries{Ilustrated by Ethan Lu}
\author{Ethan Lu}
\pressname{Beautybook}
-\presslogo{inner_pics/logo.png}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
@@ -275,8 +282,8 @@ sorting=nty
%
partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11},
}
-\chapimage{\Beautybook@chapterimagename} % 会自动改变
-\partimage{\Beautybook@partimagename} % 会自动改变
+\chapimage{\beautybook@chapterimagename} % 会自动改变
+\partimage{\beautybook@partimagename} % 会自动改变
\makeatother
% ---------------------------------------------------------------------------- %
% The images used in the title %
@@ -331,6 +338,7 @@ Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{B
本文将介绍本模板的一些设置内容以及基本使用方法。如果您有其他问题,建议或者意见,欢迎在 GitHub 上给我提交 \href{https://github.com/BeautyLaTeX/latex-template/issues}{issues} 或者邮件\href{h1479840692@163.com}{163邮箱}或者\href{1479840692@qq.com}{qq邮箱}联系我。我的联系方式如下,建议加入用户 QQ 群提问,这样能更快获得准确的反馈,加群时请备注 \LaTeX{} 或者 Beauty\LaTeX{} 相关内容。
\begin{itemize}
\item GitHub 地址:\href{https://github.com/BeautyLaTeX/latex-template}{https://github.com/BeautyLaTeX/latex-template}
+ \item Texpage 地址: \href{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}
\item 下载地址:\href{https://github.com/BeautyLaTeX/latex-template/releases}{正式发行版}
\item 用户 QQ 群:809237593
\item 我的outlook邮箱:\href{https://h1479840692@outlook.com}{Outlook Email}
@@ -350,9 +358,31 @@ Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{B
以下是最小工作示例:
\begin{lstlisting}
-\documentclass[zihao=-4,fontset=windows]{Beautybook-CN}
+\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook}
+% ---------------------------------------------------------------------------- %
+% The Cover Theme Chosen %
+% ---------------------------------------------------------------------------- %
+\definecolor{coverbgcolor}{HTML}{e0e0e0}
+\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
+\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
+\definecolor{bottomcolor}{HTML}{2c4f54}
+\definecolor{nuanbai}{HTML}{f5f5f5}
\coverstyle={ % 封面键值列表
- cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar
+ cover-choose=cn, % cn ; en ; enfig ; birkar
+}
+% ---------------------------------------------------------------------------- %
+% The Cover Theme Chosen %
+% ---------------------------------------------------------------------------- %
+\mathstyle={ % 数学字体键值列表
+ math-font=plain, %plain (默认数学字体); stix; mtpro2
+}
+\RequirePackage{fontspec}
+\setmainfont{XITS}
+\setsansfont{DejaVu Sans}
+\setmonofont{Latin Modern Mono}
+\renewcommand{\partial}{∂}
+\coverstyle={ % 封面键值列表
+ cover-choose=cn, % cn ; en ; enfig ; birkar
}
\mathstyle={ % 数学字体键值列表
math-font=plain, %plain (默认数学字体); stix; mtpro2
@@ -606,8 +636,8 @@ sorting=nty
%
partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11},
}
-\chapimage{\Beautybook@chapterimagename} % 会自动改变
-\partimage{\Beautybook@partimagename} % 会自动改变
+\chapimage{\beautybook@chapterimagename} % 会自动改变
+\partimage{\beautybook@partimagename} % 会自动改变
\makeatother
%
\frontmatter
@@ -622,8 +652,8 @@ Introduction to Beatybook template.
\hfill
\begin{tabular}{lr}
- &---- Ethan Lu\\
- &2024-03-17
+ &-- Ethan Lu\\
+ &2024-06-30
\end{tabular}
\clearpage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -678,15 +708,15 @@ tlmgr update --self --all --reinstall-forcibly-removed
-\chapter{Beautybook 设置说明}
+\chapter{beautybook 设置说明}
-本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。
+本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者 ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。
\section{语言模式}
-本模板内含两套基础语言环境, 分别为 中文的\lstinline{Beautybook-CN.cls}、英文的\lstinline{Beautybook-EN.cls}。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下:
+本模板内含两套基础语言环境, 分别为中文和英文。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下:
\begin{lstlisting}
-\documentclass{Beautybook-CN} % 中文
-\documentclass{Beautybook-EN} % 英文
+ \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % 中文
+ \documentclass[lang=en]{beautybook} % 英文
\end{lstlisting}
除模板自带的两套语言设定之外,如果您需要使用其他语言, 可以通过更改cls文件中这几处解决, 分别为
@@ -695,7 +725,6 @@ tlmgr update --self --all --reinstall-forcibly-removed
\item 更改 part环境的名称 \lstinline{Part \thepart}为 \lstinline{(你的语言中part的翻译) \thepart}
\item 主文件,即当前文件导言区中的定理引导词
\item 更改chapter环境中的part名称如第一条所示
- \item 记住, 仅有亚洲语言环境可以使用ctexbook文类, 即基于\lstinline{Beautybook-CN.cls}更改, 其他西语环境需要基于\lstinline{Beautybook-EN.cls}更改.
\end{enumerate}
@@ -751,7 +780,7 @@ tlmgr update --self --all --reinstall-forcibly-removed
\subsection{徽标}
-本文用到的 Logo 为wiki随意找的springer经典马标, 可以自己查询下载出版社logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。
+本文用到的 Logo 为作者自行制作的beautybook专用Logo, 另外还可以使用自己的logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。
\subsection{自定义封面}
@@ -808,7 +837,7 @@ tlmgr update --self --all --reinstall-forcibly-removed
\subsubsection{个人版权的盒子共两种}
\begin{definition}[][名称][def label]
- 这是个人定制的盒子定制的定理环境,这是其中定义环境示例。注意:使用方法如下
+ 这是采用个人定制的盒子制作的定理环境,这是其中定义环境示例。注意:使用方法如下
\begin{itemize}
\item 如果你没有名称和标签,使用方法为
\begin{lstlisting}
diff --git a/macros/latex/contrib/beautybook/beautybook-en.pdf b/macros/latex/contrib/beautybook/beautybook-en.pdf
index e8f4618ed8..e91e8bbe01 100644
--- a/macros/latex/contrib/beautybook/beautybook-en.pdf
+++ b/macros/latex/contrib/beautybook/beautybook-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/beautybook-en.tex b/macros/latex/contrib/beautybook/beautybook-en.tex
index 1e5dd8438e..c9c6b9405d 100644
--- a/macros/latex/contrib/beautybook/beautybook-en.tex
+++ b/macros/latex/contrib/beautybook/beautybook-en.tex
@@ -1,13 +1,21 @@
-\documentclass[12pt]{Beautybook-EN}
+\documentclass[lang=en,12pt]{beautybook}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{times} % Times New Roman Font
+\RequirePackage[T1]{fontenc}
+\RequirePackage{microtype}
+\RequirePackage{pgfplots}
+\tikzset{>=Stealth}
+\pgfplotsset{compat=1.18}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
% ---------------------------------------------------------------------------- %
\definecolor{coverbgcolor}{HTML}{e0e0e0}
-\definecolor{coverfgcolor}{HTML}{826e68} % The color of the background
+\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
-\definecolor{bottomcolor}{HTML}{826e68}
-\coverstyle={ % 封面键值列表
- cover-choose=cn, % cn (需新增项\entitle{#}); en ; enfig ; birkar
+\definecolor{bottomcolor}{HTML}{2c4f54}
+\definecolor{nuanbai}{HTML}{f5f5f5}
+\coverstyle={ % cover-keys
+ cover-choose=en, % cn ; en ; enfig ; birkar
}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
@@ -16,6 +24,11 @@
math-font=plain, % plain; stix; mtpro2
}
\usepackage{bm}
+\renewcommand*{\textfraction}{0.05}
+\renewcommand*{\topfraction}{0.9}
+\renewcommand*{\bottomfraction}{0.8}
+\renewcommand*{\floatpagefraction}{0.85}
+
% \overfullrule=1pt
% \RequirePackage[fontsize=13.5pt]{fontsize}
%% First one
@@ -31,17 +44,17 @@
%% Second one
\makeatletter
\mynewtcbtheorem{
- % 这个 theorem 是环境名
+ % theorem-environment
problem={
counter=tcbprob,
the counter=\thesection.\arabic{tcbprob},
- name=Problem, % 它保存到 \theorem@name 里
+ name=Problem, % it will be saved in \theorem@name
thmcolor=绛紫,
autoref name=\bfseries Problem,
style={
arc=3pt,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},boxrule=0pt,top=8mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% up
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%down
opacityframe=0, opacityback=0.98,
fontupper=\itshape, step={tcbprob},
before pre=\smallskip, after app=\smallskip,
@@ -58,8 +71,8 @@
autoref name=\bfseries Lemma,
style={
arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\itshape,step={tcblem},
before pre=\smallskip, after app=\smallskip,
@@ -74,8 +87,8 @@
autoref name=\bfseries Corollary,
style={
arc=0mm,breakable,enhanced,interior style={top color=茶色!9 ,middle color=茶色!6, bottom color=茶色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\itshape,step={tcbcor},
before pre=\smallskip, after app=\smallskip,
@@ -90,8 +103,8 @@
autoref name=\bfseries Proposition,
style={
arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\itshape,step={tcbprop},
before pre=\smallskip, after app=\smallskip,
@@ -106,8 +119,8 @@
autoref name=\bfseries Definition,
style={
arc=0mm,breakable,enhanced,interior style={top color=茜色!9 ,middle color=茜色!6, bottom color=茜色!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\normalsize,step={tcbdefi},
before pre=\smallskip, after app=\smallskip,
@@ -122,8 +135,8 @@
autoref name=\bfseries Example,
style={
arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\normalsize,step={tcbexam},
before pre=\smallskip, after app=\smallskip,
@@ -138,8 +151,8 @@
autoref name=\bfseries Exercise,
style={
arc=0mm,breakable,enhanced,interior style={top color=绛紫!9 ,middle color=绛紫!6, bottom color=绛紫!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.9,
fontupper=\normalsize,step={tcbexer},
before pre=\smallskip, after app=\smallskip,
@@ -154,8 +167,8 @@
autoref name=\bfseries Theorem,
style={
arc=0mm,breakable,enhanced,interior style={top color=黛绿!9 ,middle color=黛绿!6, bottom color=黛绿!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\itshape,step={tcbthm},
before pre=\smallskip, after app=\smallskip,
@@ -172,8 +185,8 @@
autoref name=\bfseries Conjecture,
style={
arc=0mm,breakable,enhanced,interior style={top color=靛蓝!9 ,middle color=靛蓝!6, bottom color=靛蓝!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
- fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% 上
- fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%下
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
opacityframe=0, opacityback=0.98,
fontupper=\itshape,step={tcbconj},
before pre=\smallskip, after app=\smallskip,
@@ -187,7 +200,7 @@
%
-%% --------参考文献
+%% --------reference
\RequirePackage[
backend=biber,
style=numeric,
@@ -238,13 +251,13 @@ sorting=nty
\begin{document}
\thispagestyle{empty}
-\title{An Introduction to Beautybook template}
-\subtitle{}
+\title{An Introduction to beautybook template}
+\subtitle{A subtitle here}
\edition{First Edition}
-\bookseries{Illustrated by Ethan Lu}
+\bookseries{Ilustrated by Ethan Lu}
\author{Ethan Lu}
-\pressname{Beautybook}
-\presslogo{inner_pics/logo.png}
+\pressname{beautybook}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
@@ -275,8 +288,8 @@ sorting=nty
%
partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11},
}
-\chapimage{\Beautybook@chapterimagename}
-\partimage{\Beautybook@partimagename}
+\chapimage{\beautybook@chapterimagename}
+\partimage{\beautybook@partimagename}
\makeatother
% ---------------------------------------------------------------------------- %
% The images used in the title %
@@ -303,8 +316,8 @@ An introduction to the beautybook template.
\hfill
\begin{tabular}{lr}
- &--- Ethan Lu\\
- &2024-03-17
+ &-- Ethan Lu\\
+ & 2024-06-30
\end{tabular}
\clearpage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -317,13 +330,13 @@ An introduction to the beautybook template.
\pagenumbering{arabic}
\partabstract{\hspace*{2em} Here is the introduction area of each part, where you can write a concise overview of the part, of course, if there is nothing to say, you can leave it blank.}
-\part{The template usage introduction of \textbf{Beautybook}}
+\part{The template usage introduction of \textbf{beautybook}}
-\chapter{A short introduction of \textbf{Beautybook}}
+\chapter{A short introduction of \textbf{beautybook}}
\section{Introduction}
-The Beauty\LaTeX{} collection is a series of templates authored by a humble, unknown individual. In fact, there are only two series, one is the custom book template \textbf{fancybook } , which is dedicated to the fresh and elegant style, the other is my flagship product-\textbf{ Beautybook } ! Why did I choose such an unusual name? My answer is, originally I wanted to name it elegantboook, but there is already the famous elegantbook template. Inspired by the old poem "There is a jade-like beauty waiting for you in the book", the template is named ``Beautybook", which means a beautiful woman in your arms and the fragrance of a book overflowing! Therefore, this is the origin of the name \textbf{Beautybook } !
+The Beauty\LaTeX{} collection is a series of templates authored by a humble, unknown individual. In fact, there are only two series, one is the custom book template \textbf{fancybook } , which is dedicated to the fresh and elegant style, the other is my flagship product-\textbf{ beautybook } ! Why did I choose such an unusual name? My answer is, originally I wanted to name it elegantboook, but there is already the famous elegantbook template. Inspired by the old poem "There is a jade-like beauty waiting for you in the book", the template is named ``beautybook", which means a beautiful woman in your arms and the fragrance of a book overflowing! Therefore, this is the origin of the name \textbf{beautybook } !
I am committed to creating a series of beautiful, elegant, simple template to facilitate the use of users and myself. Version changes frequently, please pay attention to version information. Before starting to use templates, it is recommended to choose the latest official version! The latest test version will usually be released in the QQ Group, you can download it and try it yourself!
@@ -336,6 +349,7 @@ This article covers some of the setup and basic usage of this template. If you h
The Project Addresses are the following.
\begin{itemize}
\item GitHub repository: \href{https://github.com/BeautyLaTeX/latex-template}{https://github.com/BeautyLaTeX/latex-template},
+ \item Texpage : \href{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}{https://www.texpage.com/template/8dc933fc-6579-44c9-b660-ea58409d193b}
\item Download Release: \href{https://github.com/BeautyLaTeX/latex-template/releases}{Official release},
\item User QQ Group: 809237593. (!If you are not in China, please e-mail me at \href{h1479840692@outlook.com}{outlook-email}.)
\end{itemize}
@@ -344,7 +358,7 @@ The Project Addresses are the following.
\section{Installation and Maintenance of Template}
-There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``Beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply.
+There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply.
Note that if you choose the second way, you must write \lstinline{math-font=plain} in the premble of the main file!
@@ -357,16 +371,31 @@ To install locally, follow above steps to download the latest version from GitHu
The following is an example of a minimal work:
\begin{lstlisting}
-\documentclass[12pt]{Beautybook-EN}
-\coverstyle={
- cover-choose=enfig, % cn (en ; enfig ; birkar)
+\documentclass[lang=en,12pt]{beautybook}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{times} % Times New Roman Font
+\RequirePackage[T1]{fontenc}
+\RequirePackage{microtype}
+\RequirePackage{pgfplots}
+\tikzset{>=Stealth}
+\pgfplotsset{compat=1.18}
+% ------------------------------------------------- %
+% The Cover Theme Chosen %
+% ------------------------------------------------- %
+\definecolor{coverbgcolor}{HTML}{e0e0e0}
+\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
+\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
+\definecolor{bottomcolor}{HTML}{2c4f54}
+\definecolor{nuanbai}{HTML}{f5f5f5}
+\coverstyle={ % cover-keys
+ cover-choose=cn, % cn ; en ; enfig ; birkar
}
+% ---------------------------------------------------------------------------- %
+% The Cover Theme Chosen %
+% ---------------------------------------------------------------------------- %
\mathstyle={
math-font=plain, % plain; stix; mtpro2
}
-\usepackage{bm}
-% \overfullrule=1pt
-% \RequirePackage[fontsize=13.5pt]{fontsize}
%% First one
\mynewtheorem{
defi={\textbf{Definition}}[section]{interior style={left color=ReD!8,right color=ReD!5!CyaN!50}, borderline west={1.5mm}{0mm}{ReD}},
@@ -377,6 +406,162 @@ The following is an example of a minimal work:
cor={\textbf{Corollary}}[chapter]{interior style={left color=violet!8,right color=violet!5!CyaN!50}, borderline west={1.5mm}{0mm}{violet}},
}
\newtheorem*{remark}{\textbf{Remark}}
+%% Second one
+\makeatletter
+\mynewtcbtheorem{
+ % theorem environment
+ problem={
+ counter=tcbprob,
+ the counter=\thesection.\arabic{tcbprob},
+ name=Problem,
+ thmcolor=purple,
+ autoref name=\bfseries Problem,
+ style={
+ arc=3pt,breakable,enhanced,interior style={top color=purplepurplepurplegreen!9 ,middle color=purplepurplepurplegreen!6, bottom color=purplepurplepurplegreen!3},boxrule=0pt,top=8mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},% up
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%down
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape, step={tcbprob},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@theorem@overlay@unbroken{Problem\ \thetcbprob}{purplepurplepurplegreen},
+ overlay first=\my@theorem@overlay@first{Problem\ \thetcbprob}{purplepurplepurplegreen},
+ overlay last=\my@theorem@overlay@last{purplepurplepurplegreen},
+ }
+ },
+ lemma={
+ counter=tcblem,
+ the counter=\thesection.\arabic{tcblem},
+ name=Lemma,
+ lemcolor=purplepurplegreen,
+ autoref name=\bfseries Lemma,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=purplepurplegreen!9 ,middle color=purplepurplegreen!6, bottom color=purplepurplegreen!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape,step={tcblem},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{\lemma@name\ \thetcblem}{\lemma@lemcolor},
+ overlay first=\my@lemma@overlay@first{\lemma@name\ \thetcblem}{\lemma@lemcolor},
+ overlay last=\my@lemma@overlay@last{\lemma@lemcolor},
+ }
+ },
+ corollary={
+ counter=tcbcor,
+ the counter=\thesection.\arabic{tcbcor},
+ autoref name=\bfseries Corollary,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=purplegreen!9 ,middle color=purplegreen!6, bottom color=purplegreen!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape,step={tcbcor},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Corollary\ \thetcbcor}{purplegreen},
+ overlay first=\my@lemma@overlay@first{Corollary\ \thetcbcor}{purplegreen},
+ overlay last=\my@lemma@overlay@last{purplegreen},
+ }
+ },
+ proposition={
+ counter=tcbprop,
+ the counter=\thesection.\arabic{tcbprop},
+ autoref name=\bfseries Proposition,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=green!9 ,middle color=green!6, bottom color=green!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape,step={tcbprop},purplered
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Proposition\ \thetcbprop}{green},
+ overlay first=\my@lemma@overlay@first{Proposition\ \thetcbprop}{green},
+ overlay last=\my@lemma@overlay@last{green},
+ }
+ },
+ definition={
+ counter=tcbdefi,
+ the counter=\thesection.\arabic{tcbdefi},
+ autoref name=\bfseries Definition,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=purplered!9 ,middle color=purplered!6, bottom color=purplered!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\normalsize,step={tcbdefi},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Definition\ \thetcbdefi}{purplered},
+ overlay first=\my@lemma@overlay@first{Definition\ \thetcbdefi}{purplered},
+ overlay last=\my@lemma@overlay@last{purplered},
+ }
+ },
+ example={
+ counter=tcbexam,
+ the counter=\thesection.\arabic{tcbexam},
+ autoref name=\bfseries Example,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=red!9 ,middle color=red!6, bottom color=red!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\normalsize,step={tcbexam},redpurple
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Example\ \thetcbexam}{red},
+ overlay first=\my@lemma@overlay@first{Example\ \thetcbexam}{red},
+ overlay last=\my@lemma@overlay@last{red},
+ }
+ },
+ Exercise={
+ counter=tcbexer,
+ the counter=\thechapter.\arabic{tcbexer},
+ autoref name=\bfseries Exercise,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=redpurple!9 ,middle color=redpurple!6, bottom color=redpurple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.9,
+ fontupper=\normalsize,step={tcbexer},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Exercise\ \thetcbexer}{redpurple},
+ overlay first=\my@lemma@overlay@first{Exercise\ \thetcbexer}{redpurple},
+ overlay last=\my@lemma@overlay@last{redpurple},
+ }
+ },
+ theorem={
+ counter=tcbthm,
+ the counter=\thesection.\arabic{tcbthm},
+ autoref name=\bfseries Theorem,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=purple!9 ,middle color=purple!6, bottom color=purple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape,step={tcbthm},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Theorem\ \thetcbthm}{purple},
+ overlay first=\my@lemma@overlay@first{Theorem\ \thetcbthm}{purple},
+ overlay last=\my@lemma@overlay@last{purple},
+ }
+ },
+ conjecture={
+ counter=tcbconj,
+ the counter=\thesection.\arabic{tcbconj},
+ name=Conjecture,
+ lemcolor=purple,
+ autoref name=\bfseries Conjecture,
+ style={
+ arc=0mm,breakable,enhanced,interior style={top color=purple!9 ,middle color=purple!6, bottom color=purple!3},arc=3pt,boxrule=0pt,top=6mm,bottom=5mm,
+ fuzzy shadow={-0.6mm}{0.6mm}{0mm}{0.3mm}{white!50!gray},%
+ fuzzy shadow={0.6mm}{-0.6mm}{0mm}{0.3mm}{fill=white!40!gray},%
+ opacityframe=0, opacityback=0.98,
+ fontupper=\itshape,step={tcbconj},
+ before pre=\smallskip, after app=\smallskip,
+ overlay unbroken=\my@lemma@overlay@unbroken{Conjecture\ \thetcblem}{purple},
+ overlay first=\my@lemma@overlay@first{Conjecture\ \thetcblem}{purple},
+ overlay last=\my@lemma@overlay@last{purple},
+ }
+ },
+}
+\makeatother
%
@@ -430,29 +615,34 @@ sorting=nty
\begin{document}
\thispagestyle{empty}
-\title{An Introduction to Beautybook template}
+\title{Your title}
\subtitle{}
-\edition{First Edition}
-\bookseries{Illustrated by Ethan Lu}
-\author{Ethan Lu}
-\pressname{Beautybook}
-\presslogo{inner_pics/logo.png}
+\edition{The Edition}
+\bookseries{Illustrated by author}
+\author{author}
+\pressname{beautybook}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
-
+\makeatletter
+% ---------------------------------------------------------------------------- %
+% The Sidebar Theme Chosen %
+% ---------------------------------------------------------------------------- %
\definecolor{bg}{HTML}{e0e0e0}
\definecolor{fg}{HTML}{2c4f54}
\colorlet{outermarginbgcolor}{bg}
\colorlet{outermarginfgcolor}{fg}
-\colorlet{framegolden}{fg}
-\colorlet{framegray}{bg!50}
-
-\makeatletter
% set the contents of the outer margin on even and odd pages for scrheadings, plain and scth
-\oddoutermargin{\sffamily \leftmark} % Odd page
-\evenoutermargin{\sffamily\@title} % Even page
-%
+\oddoutermargin{\sffamily \leftmark} % Odd sidebar text
+\evenoutermargin{\sffamily\@title} % Even sidebar text
+% ---------------------------------------------------------------------------- %
+% The Sidebar Theme Chosen %
+% ---------------------------------------------------------------------------- %
+
+% ---------------------------------------------------------------------------- %
+% The images used in the title %
+% ---------------------------------------------------------------------------- %
\titleimage{
chapteroddimage={odd1,odd2,odd3,odd4,odd5,odd6,odd7,odd8,odd9,odd10,odd11,odd12,odd13,odd14,odd15,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11},
%
@@ -462,10 +652,22 @@ sorting=nty
%
partevenimage={songeven,even1,even2,even3,even4,mid1,mid2,mid3,mid4,mid5,mid6,mid7,mid8,mid9,mid10,mid11},
}
-\chapimage{\Beautybook@chapterimagename}
-\partimage{\Beautybook@partimagename}
+\chapimage{\beautybook@chapterimagename}
+\partimage{\beautybook@partimagename}
\makeatother
-%
+% ---------------------------------------------------------------------------- %
+% The images used in the title %
+% ---------------------------------------------------------------------------- %
+
+% ---------------------------------------------------------------------------- %
+% The Color Chosen for The Magic Box %
+% ---------------------------------------------------------------------------- %
+\colorlet{framegolden}{fg} % The line color of the magic box
+\colorlet{framegray}{bg!50} % The background color of the magic box
+% ---------------------------------------------------------------------------- %
+% The Color Chosen for The Magic Box %
+% ---------------------------------------------------------------------------- %
+
\frontmatter
\pagenumbering{Roman}
@@ -478,8 +680,8 @@ An introduction to the beautybook template.
\hfill
\begin{tabular}{lr}
- &--- Ethan Lu\\
- &2024-03-17
+ &-- author\\
+ & 2024-06-30
\end{tabular}
\clearpage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -492,11 +694,11 @@ An introduction to the beautybook template.
\pagenumbering{arabic}
\partabstract{\hspace*{2em} Here is the introduction area of each part, where you can write a concise overview of the part, of course, if there is nothing to say, you can leave it blank.}
-\part{The template usage introduction of \textbf{Beautybook}}
+\part{Part}
-\chapter{A short introduction of \textbf{Beautybook}}
+\chapter{Chapter}
-\section{Introduction}
+\section{Section}
% your main contents here!
@@ -528,17 +730,17 @@ tlmgr update --self --all --reinstall-forcibly-removed
Please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?} for more information.
-\chapter{The setting of Beautybook Template}
+\chapter{The setting of beautybook Template}
The English version of this template is based on the basic ``book" class, and the Chinese version is based on the ``ctexbook" class, so the option of book or ctexbook is also valid for this template. The default encoding is \texttt{UTF-8}, and it is recommended to compile with \TeX{} Live.
\section{Language Mode}
-This template includes two basic locales: \lstinline{Beautybook-CN.cls} in Chinese and \lstinline{Beautybook-EN.cls} in English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble:
+This template includes two basic locales: Chinese and English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble:
\begin{lstlisting}
-\documentclass{Beautybook-CN} % chinese
-\documentclass{Beautybook-EN} % english
+ \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % chinese
+ \documentclass[lang=en,12pt]{beautybook} % english
\end{lstlisting}
In addition to the two language settings that come with the template, if you need to use another language, you can do so by modifying the \texttt{.cls} file as follows
@@ -546,7 +748,6 @@ In addition to the two language settings that come with the template, if you nee
\begin{enumerate}
\item Change the name of the part environment \lstinline{Part\ \thepart} to \lstinline{(translation of part in your language)\ \thepart}
\item Theorem environment guide words in premble, such as Theorem.
- \item Please remember that only Asian languages can be modified based on \lstinline{Beautybook-CN.cls}, other foreign languages need to be modified based on \lstinline{Beautybook-EN.cls}.
\end{enumerate}
\section{Theme Color}
@@ -697,19 +898,19 @@ Here is the effect of the theorem environment provided by amsthm.
\end{definition}
\begin{theorem}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{theorem}
\begin{lemma}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{lemma}
\begin{corollary}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{corollary}
\newpage
\begin{example}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{example}
\subsection*{Ancient style box}
\begin{fancybox}
diff --git a/macros/latex/contrib/beautybook/Beautybook-CN.cls b/macros/latex/contrib/beautybook/beautybook.cls
index d3ab12a333..73959a7594 100644
--- a/macros/latex/contrib/beautybook/Beautybook-CN.cls
+++ b/macros/latex/contrib/beautybook/beautybook.cls
@@ -1,143 +1,161 @@
-%This Class is based on the default book class and options will be passed
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{Beautybook-CN}[02-10-2023 V8.0 Beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
-\ProcessOptions\relax
-\LoadClass[twoside,a4paper]{ctexbook}
+\ProvidesClass{beautybook}[02-07-2024 V10.0 beautybook Class]
+% /* -------------------------------------------------------------------------- */
+% /* 切换文类 */
+% /* -------------------------------------------------------------------------- */
+\DeclareKeys{% = \DeclareKeys[autoclass]
+ lang .choice: ,
+ lang/en .code:n = \def\beautybook@class{book} ,
+ lang/cn .code:n = \def\beautybook@class{ctexbook} ,
+ lang .initial:n = en ,
+ unknown .code:n = \beautybook@unknown ,
+}
+
+\ExplSyntaxOn
+\clist_new:N \beautybook@unknownoptions
+\cs_new_protected:Npn \beautybook@unknown
+ {
+ \bool_if:NTF \l__keys_no_value_bool
+ { % eg. 12pt, twoside
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str }
+ }
+ { % eg. zihao=4, fontset=windows
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str = { \exp_not:o \l_keys_value_tl } }
+ }
+ }
+\ExplSyntaxOff
+
+\ProcessKeyOptions % = \ProcessKeyOptions[beautybook]
+\PassOptionsToClass\beautybook@unknownoptions\beautybook@class
+%% 如果不需要过滤上面定义的 lang 等键,可以直接使用
+%% \PassOptionsToClass\@raw@classoptionslist\beautybook@class
+
+\LoadClass{\beautybook@class}
+% /* ---------------------------------- 切换文类 ---------------------------------- */
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 判断 A4 paper程序 */
+% /* -------------------------------------------------------------------------- */
+\makeatletter
+\ExplSyntaxOn
+\cs_new:Npn \ifaivpaper@TF
+ {
+ \bool_lazy_and:nnTF
+ { \dim_compare_p:nNn { 297mm } = { \paperheight } } % 不能是 29.7cm
+ { \dim_compare_p:nNn { 210mm } = { \paperwidth } }
+ }
+\ExplSyntaxOff
+% \ifaivpaper@TF{a4paper内容}{not a4paper内容} % 这个用在想要判断a4paper的地方
+\makeatother
+% /* -------------------------------------------------------------------------- */
+% /* 判断 A4 paper程序 */
+% /* -------------------------------------------------------------------------- */
+
+
\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\setmainfont{Times New Roman}
-\setsansfont{HONOR Sans}
-\setmonofont{Latin Modern Mono}
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
+\RequirePackage{tikz} %%页面样式设计核心包 %提供\pgfonlayer命令
+\usetikzlibrary{cd,calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
+
+% /* --------------------------------- 模板默认颜色 --------------------------------- */
+\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深的前景色
+\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅的背景色
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 封面切换程序 */
+% /* -------------------------------------------------------------------------- */
+
\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
-\keys_define:nn {Beautybook/coverstyle}
+\keys_define:nn {beautybook/coverstyle}
{
cover-choose.choice:,
cover-choose.value_required:n = true,
- cover-choose/cn.code:n = {\RequirePackage{stys/Beautybook-cover-cn}},
- cover-choose/en.code:n = {\RequirePackage{stys/Beautybook-cover-en}},
- cover-choose/enfig.code:n = {\RequirePackage{stys/Beautybook-cover-enfig}},
- cover-choose/birkar.code:n = {\RequirePackage{stys/Beautybook-cover-birkar}},
+ cover-choose/cn.code:n = {\RequirePackage{stys/beautybook-cover-cn}},
+ cover-choose/en.code:n = {\RequirePackage{stys/beautybook-cover-en}},
+ cover-choose/enfig.code:n = {\RequirePackage{stys/beautybook-cover-enfig}},
+ cover-choose/birkar.code:n = {\RequirePackage{stys/beautybook-cover-birkar}},
%cover-choose .initial:n = en , % 设置 en 为初始值
}
-\newtoks \l__Beautybook_tmpa_toks
+\newtoks \l__beautybook_tmpa_toks
\cs_new_protected:Npn \coverstyle
{
- \tex_afterassignment:D \__Beautybook_set_coverstyle:
- \l__Beautybook_tmpa_toks
+ \tex_afterassignment:D \__beautybook_set_coverstyle:
+ \l__beautybook_tmpa_toks
}
-\cs_new:Npn \__Beautybook_set_coverstyle:
- { \keys_set:nV { Beautybook / coverstyle } \l__Beautybook_tmpa_toks }
+\cs_new:Npn \__beautybook_set_coverstyle:
+ { \keys_set:nV { beautybook / coverstyle } \l__beautybook_tmpa_toks }
% Math fonts
-\keys_define:nn {Beautybook/mathstyle}
+\keys_define:nn {beautybook/mathstyle}
{
math-font.choice:,
math-font.value_required:n = true,
- math-font/plain.code:n={},
- math-font/stix.code:n={
- \RequirePackage{stix}
- },
+ math-font/plain.code:n={
+ \RequirePackage{amssymb,amsfonts,upgreek}
+ },
math-font/mtpro2.code:n = {
+ \RequirePackage{amssymb,amsfonts,upgreek}
+ \let\Bbbk\relex
\RequirePackage{mtpro2}
\RequirePackage{bm}
- \DeclareFontFamily{U}{nxlmi}{}
- \DeclareFontSubstitution{U}{nxlmi}{m}{it}
- \DeclareFontShape{U}{nxlmi}{m}{it}{
- <-6.3> nxlmi05
- <6.3-8.6> nxlmi07
- <8.6-> nxlmi0
- }{}
-
- \DeclareFontShape{U}{nxlmi}{b}{it}{
- <-6.3> nxlbmi05
- <6.3-8.6> nxlbmi07
- <8.6-> nxlbmi0
- }{}
- \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}}
},
%cover-choose .initial:n = plain , % 设置 en 为初始值
}
\cs_new_protected:Npn \mathstyle
{
- \tex_afterassignment:D \__Beautybook_set_mathstyle:
- \l__Beautybook_tmpa_toks
+ \tex_afterassignment:D \__beautybook_set_mathstyle:
+ \l__beautybook_tmpa_toks
}
-\cs_new:Npn \__Beautybook_set_mathstyle:
- { \keys_set:nV { Beautybook / mathstyle } \l__Beautybook_tmpa_toks }
+\cs_new:Npn \__beautybook_set_mathstyle:
+ { \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks }
\ExplSyntaxOff
-\RequirePackage{stys/Beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
+\RequirePackage{stys/beautybook-bottompage} %封底
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 宏包导入 */
+% /* -------------------------------------------------------------------------- */
+\RequirePackage{cncolours,ninecolors}
+\RequirePackage{appendix} % 附录
+\RequirePackage{etoolbox} % 判断函数
+\RequirePackage{imakeidx}
+\RequirePackage{varwidth}
+\RequirePackage{caption}\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+\RequirePackage{indentfirst}
+\RequirePackage{amsmath,amsthm,mathrsfs,extarrows,bropd}
+\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
+\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+\RequirePackage{tabularray}
+\RequirePackage{enumitem}\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
+\RequirePackage[normalem]{ulem} % 用于参考文献
% 关于图片 graphicx
+\RequirePackage{graphicx}
% 如果图片没有指定后缀, 依次按下列顺序搜索
\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
% 设置图表搜索路径, 可以给图表文件夹取如下名字
\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{amssymb,amsfonts,upgreek}
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+
+\RequirePackage{anyfontsize} % 消除字体大小警告
+\RequirePackage[colorlinks,linkcolor = purple,anchorcolor = purple,urlcolor = purple,citecolor= purple]{hyperref}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置pgflayers */
+% /* -------------------------------------------------------------------------- */
+\pgfdeclarelayer{background} %背景%底层
+\pgfdeclarelayer{foreground} %上层
+\pgfdeclarelayer{top} %顶部
+\pgfdeclarelayer{bottom} %底部
+\pgfsetlayers{bottom,background,main,foreground,top}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置封面元素 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\newcommand\bookseries[1]{\def\@bookseries{#1}}
\newcommand\subtitle[1]{\def\@subtitle{#1}}
\newcommand\edition[1]{\def\@edition{#1}}
@@ -145,52 +163,34 @@ citecolor = purple, %%修改此处为你想要的颜色
\newcommand\pressname[1]{\def\@pressname{#1}}
\newcommand\coverimage[1]{\def\@coverimage{#1}}
\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 模板用到的距离标尺 */
+% /* -------------------------------------------------------------------------- */
+\newlength\outermarginwidth % 页边栏宽度
+\setlength\outermarginwidth{1.5cm}
+
+\newlength\covershift % 自定义的距离标尺
+\setlength\covershift{5cm}
+% /* -------------------------------------------------------------------------- */
+\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
+
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 目录样式设置 */
+% /* -------------------------------------------------------------------------- */
\RequirePackage{xpatch}%修正章节编号
\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
\RequirePackage[explicit]{titlesec}
\RequirePackage{titletoc}
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{breakable, skins,theorems}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{3}%增加编号深度
\newcommand\boxednum[1]
{
@@ -242,98 +242,52 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
{\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
{\hspace*{-3.3em}}
{\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
+% /* -------------------------------------------------------------------------- */
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
+
+% /* -------------------------------------------------------------------------- */
+% /* 章节样式 */
+% /* -------------------------------------------------------------------------- */
+
+% /* ---------------------------- titleimage自动导入程序 ---------------------------- */
\makeatletter
-% titleimage
+
\ExplSyntaxOn
-\seq_new:N \g__Beautybook_chapter_oimage_seq % odd
-\seq_new:N \g__Beautybook_chapter_eimage_seq % even
-\seq_new:N \g__Beautybook_part_oimage_seq % odd
-\seq_new:N \g__Beautybook_part_eimage_seq % even
+\seq_new:N \g__beautybook_chapter_oimage_seq % odd
+\seq_new:N \g__beautybook_chapter_eimage_seq % even
+\seq_new:N \g__beautybook_part_oimage_seq % odd
+\seq_new:N \g__beautybook_part_eimage_seq % even
%
-\keys_define:nn { Beautybook/titleimage }
+\keys_define:nn { beautybook/titleimage }
{
chapteroddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_oimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_chapter_oimage_seq {#1} ,
chapterevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_chapter_eimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_chapter_eimage_seq {#1} ,
partoddimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_oimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_part_oimage_seq {#1} ,
partevenimage .code:n =
- \seq_gset_from_clist:Nn \g__Beautybook_part_eimage_seq {#1} ,
+ \seq_gset_from_clist:Nn \g__beautybook_part_eimage_seq {#1} ,
}
-\cs_new:Npn \__Beautybook_title_image:Nn #1#2 % image seq, number
+\cs_new:Npn \__beautybook_title_image:Nn #1#2 % image seq, number
{ \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号
-\cs_new:Npn \Beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
+\cs_new:Npn \beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
{
\int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_oimage_seq { \value{chapter} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_chapter_eimage_seq { \value{chapter} } }
+ { \__beautybook_title_image:Nn \g__beautybook_chapter_oimage_seq { \value{chapter} } }
+ { \__beautybook_title_image:Nn \g__beautybook_chapter_eimage_seq { \value{chapter} } }
}
-\cs_new:Npn \Beautybook@partimagename
+\cs_new:Npn \beautybook@partimagename
{
\int_if_odd:nTF { \value{page} }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_oimage_seq { \value{part} } }
- { \__Beautybook_title_image:Nn \g__Beautybook_part_eimage_seq { \value{part} } }
+ { \__beautybook_title_image:Nn \g__beautybook_part_oimage_seq { \value{part} } }
+ { \__beautybook_title_image:Nn \g__beautybook_part_eimage_seq { \value{part} } }
}
\cs_new_protected:Npn \titleimage #1
- { \keys_set:nn { Beautybook/titleimage } {#1} }
+ { \keys_set:nn { beautybook/titleimage } {#1} }
\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% /* -------------------------------- Chatper样式 ------------------------------- */
\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
\makebox[0pt][l]{\def\rad{7pt}%
\begin{tikzpicture}[remember picture, overlay]%
@@ -398,14 +352,14 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\end{pgfonlayer}
\ifodd\value{page}
\begin{pgfonlayer}{top}
- \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
+ \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}};
\end{pgfonlayer}
\begin{pgfonlayer}{bottom}
\node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
\end{pgfonlayer}
\else
\begin{pgfonlayer}{top}
- \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
+ \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=25pt #1\end{varwidth}};
\end{pgfonlayer}
\begin{pgfonlayer}{background}
\node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
@@ -417,8 +371,20 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\end{tikzpicture}}
}
\titlespacing{\chapter}{0pt}{0pt}{70pt}
+
+
+% /* --------------------------------- Part定制 --------------------------------- */
\makeatother
-% -------- Part定制
+
+%%定义标题文字长度%%
+\newlength{\partstarlen}
+%%设置临界长度%%
+\newlength{\criticstarlen}
+\setlength{\criticstarlen}{\textwidth}
+% 定义垂直方向的渐变
+\tikzfading[name=fade bottom to top,
+ bottom color=transparent!0, % 底部完全透明
+ top color=transparent!100] % 顶部不透明
\tikzfading[name=middle, top color=transparent!90, bottom
color=transparent!90, middle color=transparent!20]
\makeatletter
@@ -428,7 +394,8 @@ color=transparent!90, middle color=transparent!20]
{\normalfont\huge\filcenter}
{}
{20pt}
-{\begin{tikzpicture}[remember picture,overlay]
+{\settowidth{\partstarlen}{\sc\huge #1} % 计算\partabstract的长度并写入到\partstarlen中
+ \begin{tikzpicture}[remember picture,overlay]
\def\barwidth{2cm}
\fill[outermarginbgcolor,opacity=0.6]
(current page.north west) rectangle (current page.south east);
@@ -448,8 +415,10 @@ color=transparent!90, middle color=transparent!20]
\fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
\node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
\begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line --------------------%%
+ \fill[outermarginbgcolor!70]
+ (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line -------------------%%
\fill[outermarginbgcolor]
(0,-.25cm) rectangle ++(\paperwidth,-.5cm);
\fill[outermarginfgcolor]
@@ -461,10 +430,19 @@ color=transparent!90, middle color=transparent!20]
\end{tikzpicture}
};
\node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below,left,font=\sc\huge,shift={(.146\linewidth,-1.5*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
+ \node[below left,font=\sc\huge,shift={(.146\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
\begin{pgfonlayer}{background}
\node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
+ % % 应用渐变效果
+\fill[path fading=fade bottom to top, fill=nuanbai] (current page.north west) rectangle ([xshift=-\outermarginwidth]current page.south east);
\end{pgfonlayer}
+%判断标题文字长度与临界长度的关系
+\ifdim\partstarlen<\criticstarlen
+%如果标题长度小于临界长度则使用(hbar)定位
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\else
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\fi
\else
\fill [outermarginfgcolor!20]%
(current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
@@ -481,8 +459,10 @@ color=transparent!90, middle color=transparent!20]
\fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
\node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
\begin{tikzpicture}
- \fill[white]
- (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line --------------------%%
+ \fill[outermarginbgcolor!70]
+ (0,0) rectangle ++(\paperwidth,-1cm);
+ %%--------------- Horizontal Line -------------------%%
\fill[outermarginbgcolor]
(0,-.25cm) rectangle ++(\paperwidth,-.5cm);
\fill[outermarginfgcolor]
@@ -494,19 +474,27 @@ color=transparent!90, middle color=transparent!20]
\end{tikzpicture}
};
\node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below right,font=\sc\huge,shift={(-.125\linewidth,-1.2*\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.8\linewidth}\raggedright\baselineskip=2ex #1 \end{varwidth}}; % 标题名称
+ \node[below right,font=\sc\huge,shift={(-.125\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
\begin{pgfonlayer}{background}
\node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
+ % % 应用渐变效果
+ \fill[path fading=fade bottom to top, fill=nuanbai] (current page.north east) rectangle ([xshift=\outermarginwidth]current page.south west);
\end{pgfonlayer}
+%判断标题文字长度与临界长度的关系
+\ifdim\partstarlen<\criticstarlen
+%如果标题长度小于临界长度则使用(hbar)定位
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\else
+\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
+\fi
\fi
- \node[below,,font=\itshape\fontsize{13}{13}\selectfont,shift={(0\linewidth,-1.65*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.85\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
\end{tikzpicture}}
\makeatother
\assignpagestyle{\part}{empty}
\assignpagestyle{\chapter}{empty}
-%% -- Section
+% /* -------------------------------- Section样式 ------------------------------- */
\titleformat{\section}
{}
{}
@@ -535,8 +523,65 @@ color=transparent!90, middle color=transparent!20]
\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
+
+% /* ------------------------------ Subsection样式 ------------------------------ */
+\usepackage{pifont}
+\newcommand{\subsectionnumstyle}[2]{
+\makebox[0pt][l]{\def\rad{5pt}%
+\def\inrad{3pt}
+ \begin{tikzpicture}[remember picture]
+ \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={
+ % 主体
+ ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad]--cycle
+ },
+ text=white,font=\sffamily\large\bfseries,align=center,inner ysep=1.5mm,inner xsep=1mm] (sec) at (0,0) {\thesubsection};
+ % 阴影
+ \begin{pgfonlayer}{bottom}
+ \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle;
+ \end{pgfonlayer}
+ \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}};
+ \begin{pgfonlayer}{bottom}
+ \draw[gray,dashed,opacity=0.5] ([xshift=0]sec.north west) --([xshift=4*\rad]sec.north east);
+ \end{pgfonlayer}
+ \end{tikzpicture}}
+}
+
+\newcommand{\subsectionnonumstyle}[2]{
+\makebox[0pt][l]{\def\rad{5pt}%
+\def\inrad{3pt}
+ \begin{tikzpicture}[remember picture]
+ \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=0.5mm,shadow yshift=-0.5mm}]node[append after command={
+ % 主体
+ ([shift={(\rad,\rad)}]sec.north west) arc[start angle=90, end angle=180, radius=\rad] {[rounded corners=\inrad]--(sec.south west)}--([yshift=-3mm]$(sec.south west)!0.5!(sec.south east)$) {[rounded corners=\inrad]--(sec.south east)} -- (sec.north east) arc[start angle=180, end angle=90, radius=\rad] --cycle
+ },
+ text=white,font=\sffamily\large\bfseries,align=center,inner ysep=0.5mm,inner xsep=1.5mm] (sec) at (0,0) {\Huge\ding{99}};
+ % 阴影
+ \begin{pgfonlayer}{bottom}
+ \fill[#2!30!black!70,opacity=0.8] ([xshift=\rad,yshift=\rad]sec.north east) to[out=0,in=-81,looseness=1.5] ([xshift=1.8*\rad]sec.north east)--(sec.north east) |-cycle;
+ \end{pgfonlayer}
+ \node[text=black,font=\large,below right] (sectitle) at ([shift={(2mm,6.5mm)}]sec.south east) {\begin{varwidth}{.9\linewidth}\setlength\baselineskip{18pt}#1\end{varwidth}};
+ \begin{pgfonlayer}{bottom}
+ \draw[gray,dashed,opacity=0.5] (sec.north west) --([xshift=4*\rad]sec.north east);
+ \end{pgfonlayer}
+ \end{tikzpicture}}
+}
+
+\titleformat{\subsection}
+{}
+{}
+{-.5em} %左右移动\thesection标签位置
+{\subsectionnumstyle{#1}{outermarginfgcolor}}
+
+\titleformat{name=\subsection,numberless}{}{}{-.5em}{\subsectionnonumstyle{#1}{outermarginfgcolor}}
+
+% \titlespacing*{\subsection}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
+
+
+
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
+% /* -------------------------------------------------------------------------- */
+% /* SIDE-BAR配置 */
+% /* -------------------------------------------------------------------------- */
\newlength\chapternumbersize
\setlength\chapternumbersize{36pt}
\setlength{\headheight}{40pt} % 页眉高度
@@ -574,7 +619,7 @@ color=transparent!90, middle color=transparent!20]
\newcommand*\outermarginchapternumberbox{%
\if@mainmatter
\tikzoverlay{
- \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
+ \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
(\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm);
\node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};%
}
@@ -627,12 +672,24 @@ color=transparent!90, middle color=transparent!20]
contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条
]{scth.outermargin.bg.even}%
%%=============% 页边条颜色 %=======================%%
+% /* -------------------------------------------------------------------------- */
+% /* 透明度渐变填充设定 */
+% /* -------------------------------------------------------------------------- */
\tikzfading[name=fade south,
top color =transparent!0,
bottom color=transparent!80]
\tikzfading[name=fade north,
top color =transparent!100,
bottom color=transparent!0]
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!0]
+% /* -------------------------------------------------------------------------- */
+% /* 透明度渐变填充设定 */
+% /* -------------------------------------------------------------------------- */
%偶数页边纹理效果设置
\newcommand{\evensidbardeepcolor}{%
\tikzoverlay{
@@ -723,7 +780,12 @@ color=transparent!90, middle color=transparent!20]
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
+% /* -------------------------------------------------------------------------- */
+% /* 中国风盒子 */
+% /* -------------------------------------------------------------------------- */
+
+%% Begin The Most Beautiful Box (STYLE : ys style)
+
\makeatletter
\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
@@ -993,15 +1055,19 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\makeatother
\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
+% /* -------------------------------------------------------------------------- */
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 定理环境设置 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
+% /* ---------------------------------- 第一种定理 --------------------------------- */
\definecolor{CyaN}{HTML}{dbe1e5}
\colorlet{OrangE}{yellow!20!orange}
\colorlet{BluE}{cyan!70!blue}
\colorlet{ReD}{red!20!orange}
\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
@@ -1015,9 +1081,9 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
{\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
\tcbset{my@#1@thmstyle/.style={#4}}}
-%
+
% ---------------------------------------------------------------------------------- %
-% 第二种定理
+% /* ---------------------------------- 第二种定理 --------------------------------- */
\tcbset{my@basic@tcbthm/.style={detach title,}}
\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
\newcommand{\@my@newtcbtheorem@nn}[2]{%
@@ -1048,10 +1114,7 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\cs_new_protected:Npn \mynewtcbtheorem
{ \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
\ExplSyntaxOff
-\makeatother
-% 第二种定理
-\makeatletter
%% Overlay Settings
\newcommand{\my@theorem@overlay@unbroken}[2]{
%%============== First ==============%%
@@ -1147,19 +1210,6 @@ anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshif
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
+% /* -------------------------------------------------------------------------- */
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png b/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png
new file mode 100644
index 0000000000..9a1c819103
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg b/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg
new file mode 100644
index 0000000000..424cd0909f
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/logo.png b/macros/latex/contrib/beautybook/inner_pics/logo.png
deleted file mode 100644
index 470edd8a51..0000000000
--- a/macros/latex/contrib/beautybook/inner_pics/logo.png
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg b/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg
new file mode 100644
index 0000000000..19c0518b00
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf
new file mode 100644
index 0000000000..76256c2f82
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf
new file mode 100644
index 0000000000..b100782f85
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf
new file mode 100644
index 0000000000..98d9e6a864
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty
deleted file mode 100644
index 8a2c51aa08..0000000000
--- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-birkar.sty
+++ /dev/null
@@ -1,125 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-birkar}[2022/05/21,v1.0]
-\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
-\usepackage{etoolbox} %提供自定义封面选项接口
-\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
-\usepackage{tikz}
-\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings,
-decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库
-\usepackage{graphicx} %插图
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-
-% Define the layers to be used in document.
-% *****************************************************
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\definecolor{RED}{RGB}{220, 41, 26}
-\definecolor{arc color}{HTML}{546E7A}
-
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!0]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \begin{pgfonlayer}{bottom}
- \fill[coverfgcolor]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \fill[RED]
- ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
- \fill[coverfgcolor!80,opacity=0.5]
- ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
- \fill[coverfgcolor!80,opacity=0.5]
- ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
- \fill[coverfgcolor!80]
- (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
- \begin{scope}[opacity=0.8]
- \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
- \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
- \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
- \draw[name path=triangle,very thick,coverfgcolor!70!white]
- (triangleA)--(triangleB)--(triangleC)--cycle;
- \draw[name path=circle,very thick,coverfgcolor!70!white]
- ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
- %标注每个交点坐标
- \fill [name intersections={of=triangle and circle, name=i, total=\t}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
- \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
- \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
- \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
- \fill[name intersections={of=l and circle,name=j,total=\l}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
-
- \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
- \end{scope}
- \end{pgfonlayer}
- \begin{pgfonlayer}{foreground}
- \fill[coverbar,opacity=.5]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \end{pgfonlayer}
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sffamily\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-
-\endinput
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty
deleted file mode 100644
index b151d4e5fc..0000000000
--- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-cn.sty
+++ /dev/null
@@ -1,103 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-cn}[2023/05/10,v1.0]
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-%%%%===============================================================%%%%%
-% \definecolor{coverbgcolor}{HTML}{9CCCDA}
-% \definecolor{coverfgcolor}{HTML}{508E99}
-% \definecolor{coverbar}{HTML}{305756}
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!50]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
-top color =transparent!100,
-bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \fill[coverfgcolor!75]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \fill[coverfgcolor!50]
- ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
- \fill[coverfgcolor]
- ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
- \fill[coverbar]
- ([yshift=.44\covershift]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
- \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
- \parbox{3\covershift}{
- \raggedleft
- \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
- {\parbox{.8\paperwidth}{%
- \filright%
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1.6ex]
- \begin{tikzpicture}
- \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
- \end{tikzpicture}\\[-.5ex]
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}
- }};% 封面英文书名与中文书名
- \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
- {%
- \adjustbox{valign=t}{
- \begin{minipage}{.25\textwidth}
- \begin{tikzpicture}
- \foreach \x/\r in {1.2/6,.8/4} {
- \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
- \fill[white] (0,0) circle [radius=2.5pt];
- \end{tikzpicture}
- \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
- \end{minipage}}
- \hfill
- \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
- \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
- \end{minipage}}
- };% 封面作者信息栏
- \fill [path picture={ \node at (path picture bounding box.center)
- {\includegraphics[height=1.1\linewidth]{\@coverimage}};}]
- ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
- \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
- ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade right]%
- ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade left]%
- ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-2cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}}
-\makeatother
-\endinput
-% %%%%===============================================================%%%%%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty
deleted file mode 100644
index 2279661d94..0000000000
--- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-en.sty
+++ /dev/null
@@ -1,87 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-en}[2022/05/21,v1.0]
-\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
-\usepackage{etoolbox} %提供自定义封面选项接口
-\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
-\usepackage{tikz}
-\usepackage{graphicx} %插图
-\usetikzlibrary{calc,fadings,patterns}
-\usepackage{adjustbox} %修正minipage顶部对齐问题
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!50]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \fill[coverfgcolor]
- (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
- \coordinate (end) at (current page.north west);
- \foreach \i in {0,0.01,...,1}
- {
- \coordinate (point) at ($(start)!\i!(end)$);
- \draw[coverfgcolor!50]
- ($(point)+(310*\i:6)$)--
- ($(point)+(310*\i+120:6)$)--
- ($(point)+(310*\i+240:6)$)--
- ($(point)+(310*\i:6)$);
- }
- \coordinate (start) at (current page.south west);
- \coordinate (end) at (current page.east);
- \foreach \i in {0,0.02,...,1}
- {
- \coordinate (point) at ($(start)!\i!(end)$);
- \draw[coverfgcolor!50]
- ($(point)+(310*\i:10)$)--
- ($(point)+(310*\i+120:10)$)--
- ($(point)+(310*\i+240:10)$)--
- ($(point)+(310*\i:10)$);
- }
- \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
- ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \fill[coverbar!90,opacity=0.8]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \foreach \lx/\rx/\ry/\bc/\tc in {
- 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
- }{
- \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
- ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
- }
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sffamily\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-%%%%===============================================================%%%%%
-%%------------------------------------------------------封面设计--------------------------------------------------------%%
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty b/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty
deleted file mode 100644
index 005518a6d9..0000000000
--- a/macros/latex/contrib/beautybook/stys/Beautybook-cover-enfig.sty
+++ /dev/null
@@ -1,55 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-cover-enfig}[2023/02/03,v1.0]
-\definecolor{coverbgcolor}{HTML}{004183}
-\definecolor{coverfgcolor}{HTML}{826e68}
-\definecolor{coverbar}{HTML}{7c9092}
-\tikzfading[name=fade right,
- right color =transparent!100,
- left color=transparent!0]
-\tikzfading[name=fade left,
- left color =transparent!100,
- right color=transparent!50]
-\tikzfading[name=fade up,
- top color =transparent!100,
- bottom color=transparent!50]
-\tikzfading[name=fade down,
- bottom color =transparent!100,
- top color=transparent!50]
-\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
- \begin{tikzpicture}[remember picture,overlay]
- \begin{pgfonlayer}{bottom}
- \node[opacity=0.8,inner sep=0pt] at (current
- page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
- \end{pgfonlayer}
- \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
- ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
- \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
- ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
- \fill[coverbar,opacity=0.8]
- ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
- \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
- \parbox{.8\paperwidth}{
- \filright
- \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
- }; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.55\paperheight]current page.north)
- {\parbox{.8\paperwidth}{%
- \raggedright%
- {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sc\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
- }};% 封面标题与副标题
- \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
- \node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
- \end{tikzpicture}%
- {\newpage\thispagestyle{empty}}
-}
-\makeatother
-\endinput
diff --git a/macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty
index 892cf4fbac..814b929bb6 100644
--- a/macros/latex/contrib/beautybook/stys/Beautybook-bottompage.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/Beautybook-bottompage}[2023/01/18,v2.0]
+\ProvidesPackage{stys/beautybook-bottompage}[2024/07/01,v2.0]
\usepackage[ISBN=978-80-85955-35-4,SC0]{ean13isbn}
\makeatletter
%%----------------------------------封面信息定义--------------------------------------------------------%%
@@ -45,9 +45,9 @@
\raggedright
\sc\fontsize{20}{23}\selectfont\@bookseries}
}; %系列丛书名称
- \node[right,text=white,font=\rmfamily\Large,] at
- ([shift={(-.5cm,1.5cm)}]current page.south west) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(5.6cm,2cm)}]current page.south west) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\ifdefvoid{\@ISBNcode}{}{
\node[scale=1.5] (isbn) at ([shift={(-1.85\outermarginwidth,.5\covershift)}]current page.south east) {\@ISBNcode};%
\begin{pgfonlayer}{bottom}
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty
new file mode 100644
index 0000000000..6668db854b
--- /dev/null
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty
@@ -0,0 +1,190 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-birkar}[2024/07/01,v2.0]
+\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
+\usepackage{etoolbox} %提供自定义封面选项接口
+\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
+\usepackage{tikz}
+\usetikzlibrary{intersections, positioning, fit, backgrounds, shapes, fadings,
+decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} % %Tikz指令库
+\usepackage{graphicx} %插图
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+
+% Define the layers to be used in document.
+% *****************************************************
+\pgfdeclarelayer{background} %背景%底层
+\pgfdeclarelayer{foreground} %上层
+\pgfdeclarelayer{top} %顶部
+\pgfdeclarelayer{bottom} %底部
+\pgfsetlayers{bottom,background,main,foreground,top}
+\definecolor{RED}{RGB}{220, 41, 26}
+\definecolor{arc color}{HTML}{546E7A}
+
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[RED]
+ ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
+ \fill[coverfgcolor!80]
+ (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
+ \begin{scope}[opacity=0.8]
+ \coordinate (triangleA) at ([shift={(1cm,-1.5cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.75\linewidth,-.44\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.5\linewidth,-.44\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.65cm,-7.8cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+\end{tikzpicture}%
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[RED]
+ ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
+ \fill[coverfgcolor!80]
+ (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
+ \begin{scope}[opacity=0.8]
+ \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+\end{tikzpicture}%
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+
+\endinput
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty
new file mode 100644
index 0000000000..399246d97a
--- /dev/null
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty
@@ -0,0 +1,162 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-cn}[2024/07/01,v2.0]
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+%%%%===============================================================%%%%%
+% \definecolor{coverbgcolor}{HTML}{9CCCDA}
+% \definecolor{coverfgcolor}{HTML}{508E99}
+% \definecolor{coverbar}{HTML}{305756}
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!50]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor!75]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor]
+ ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift+0.05cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
+ \parbox{3\covershift}{
+ \raggedleft
+ \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
+ \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
+ {%
+ \adjustbox{valign=t}{
+ \begin{minipage}{.25\textwidth}
+ \begin{tikzpicture}
+ \foreach \x/\r in {1.2/6,.8/4} {
+ \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
+ \fill[white] (0,0) circle [radius=2.5pt];
+ \end{tikzpicture}
+ \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
+ \end{minipage}}
+ \hfill
+ \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
+ \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
+ \end{minipage}}
+ };% 封面作者信息栏
+ \fill [path picture={ \node at (path picture bounding box.center)
+ {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}]
+ ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
+ \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
+ ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade right]%
+ ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ }
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor!75]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.2\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor]
+ ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift-0.1cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
+ \parbox{3\covershift}{
+ \raggedleft
+ \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
+ \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
+ {%
+ \adjustbox{valign=t}{
+ \begin{minipage}{.25\textwidth}
+ \begin{tikzpicture}
+ \foreach \x/\r in {1.2/6,.8/4} {
+ \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
+ \fill[white] (0,0) circle [radius=2.5pt];
+ \end{tikzpicture}
+ \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
+ \end{minipage}}
+ \hfill
+ \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
+ \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
+ \end{minipage}}
+ };% 封面作者信息栏
+ \fill [path picture={ \node at (path picture bounding box.center)
+ {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}]
+ ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
+ \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
+ ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade right]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ }
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+\endinput
+% %%%%===============================================================%%%%%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty
new file mode 100644
index 0000000000..76d358c627
--- /dev/null
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty
@@ -0,0 +1,149 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-en}[2024/07/01,v2.0]
+\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
+\usepackage{etoolbox} %提供自定义封面选项接口
+\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
+\usepackage{tikz}
+\usepackage{graphicx} %插图
+\usetikzlibrary{calc,fadings,patterns}
+\usepackage{adjustbox} %修正minipage顶部对齐问题
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!50]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100, % 完全透明
+ bottom color=transparent!50] % 半透明
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
+ \coordinate (end) at (current page.north west);
+ \foreach \i in {0,0.01,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:6)$)--
+ ($(point)+(310*\i+120:6)$)--
+ ($(point)+(310*\i+240:6)$)--
+ ($(point)+(310*\i:6)$);
+ }
+ \coordinate (start) at (current page.south west);
+ \coordinate (end) at (current page.east);
+ \foreach \i in {0,0.02,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:10)$)--
+ ($(point)+(310*\i+120:10)$)--
+ ($(point)+(310*\i+240:10)$)--
+ ($(point)+(310*\i:10)$);
+ }
+ \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar!90,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \foreach \lx/\rx/\ry/\bc/\tc in {
+ 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
+ }{
+ \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
+ ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
+ }
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sffamily\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
+ \coordinate (end) at (current page.north west);
+ \foreach \i in {0,0.01,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:6)$)--
+ ($(point)+(310*\i+120:6)$)--
+ ($(point)+(310*\i+240:6)$)--
+ ($(point)+(310*\i:6)$);
+ }
+ \coordinate (start) at (current page.south west);
+ \coordinate (end) at (current page.east);
+ \foreach \i in {0,0.02,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:10)$)--
+ ($(point)+(310*\i+120:10)$)--
+ ($(point)+(310*\i+240:10)$)--
+ ($(point)+(310*\i:10)$);
+ }
+ \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar!90,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \foreach \lx/\rx/\ry/\bc/\tc in {
+ 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
+ }{
+ \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
+ ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
+ }
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sffamily\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+%%%%===============================================================%%%%%
+%%------------------------------------------------------封面设计--------------------------------------------------------%%
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty
new file mode 100644
index 0000000000..9c24de8b3e
--- /dev/null
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty
@@ -0,0 +1,88 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{stys/beautybook-cover-enfig}[2024/07/01,v2.0]
+\tikzfading[name=fade right,
+ right color =transparent!100,
+ left color=transparent!0]
+\tikzfading[name=fade left,
+ left color =transparent!100,
+ right color=transparent!50]
+\tikzfading[name=fade up,
+ top color =transparent!100,
+ bottom color=transparent!50]
+\tikzfading[name=fade down,
+ bottom color =transparent!100,
+ top color=transparent!50]
+\makeatletter
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \node[opacity=0.8,inner sep=0pt] at (current
+ page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
+ \end{pgfonlayer}
+ \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \node[opacity=0.8,inner sep=0pt] at (current
+ page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
+ \end{pgfonlayer}
+ \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
+\makeatother
+\endinput
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
index 3cebed7b7b..f452a57a9f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
@@ -46,7 +46,20 @@ instructions.
== CHANGES ==
-* V. 2.9 (2025-05-09):
+* V. 2.12 (2024-07-16):
+ - Externalize localization to *.lbx files.
+ - Add \citeitemrange and \citesecitemrange commands.
+ - Fix error with section count on first run.
+
+* V. 2.11 (2024-07-02):
+ - Add \citesecitem and \citesecitem* commands.
+ - Support multiple sections in \GetSectionCount.
+
+* V. 2.10 (2024-06-17):
+ - Add bibchecks to show only/no peer-reviewed items.
+ - Fix bibchecks to work with braced and non-braced values.
+
+* V. 2.9 (2024-05-09):
- Add bibchecks to exclude (specific kinds of) unpublished work.
* V. 2.8 (2024-03-08):
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
index fb8333ecf7..1d58e50fd5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
index aa64fc9861..a140ad0133 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
@@ -115,7 +115,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 2.9, 2025/05/09}
+\date{Version 2.12, 2024/07/16}
\maketitle
\begin{abstract}
@@ -200,7 +200,7 @@ forms of citing may break or not produce the expected result. The reason is that
The standard way of using the package is to load the style file via
\begin{lstlisting}[moretexcs={[1]{plauthorname}}]
-\usepackage[bibstyle=publist]{biblatex}
+\usepackage[style=publist]{biblatex}
\plauthorname[first name][von-part]{surname}
\end{lstlisting}
The \jcsmacro*{plauthorname} macro\footnote{The macro was named \jfcsmacro{omitname} until v.\,1.4
@@ -213,31 +213,27 @@ it defines the name(s) of the person(s) whose publications are listed.
By default, the author\slash editor name(s) will be omitted completely
for all publications which are authored or edited only by the specified person(s), as in:
-\begin{quote}
-\textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
-Practice} 56, pp.~34--86.
-\end{quote}
+\begin{itemize}
+\item[{[1]}] \textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
+ Practice} 56, pp.~34--86.
+\end{itemize}
If there are co-authors\slash co-editors, your name(s) will be filtered
out and the collaborators added in parentheses, as in:
-\begin{quote}
-\textbf{1987} (with John Doe and Mary Hall). Are there new trends
-in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
-\end{quote}
+\begin{itemize}
+\item[{[2]}] \textbf{1987} (with John Doe and Mary Hall). Are there new trends
+ in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
+\end{itemize}
If \joption{plauthorhandling=highlight} is used (see next section), the plauthor(s)
will be printed in bold face instead, as in:
-\begin{quote}
- Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends
- in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
-\end{quote}
+\begin{itemize}
+\item[{[2]}] Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends
+ in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
+\end{itemize}
%
Note that \jcsmacro{plauthorname} expects the name constituents as they are recorded in the
database (special characters are handled). The option \joption{plauthorfirstinit} (see next section),
however, allows you to pass only an initial character instead of a first name.
-If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key>\}} within your publication list.
-This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
-but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.
-
\subsection{Additional Options}\label{sec:addopts}
@@ -374,8 +370,8 @@ See section~\ref{sec:clicktitles} for details.
All options listed here should be passed directly to \bibltx\ via \jfcsmacro{usepackage} when loading \bibltx, and they apply to the whole
document.
-For most options, it is possible to change them (repeatedly) within the document. To this end, the macro
-\jcsmacro*[-3]{ExecutePublistOptions} is provided. It takes a comma-separated list of options as its mandatory argument
+For most options, it is possible to change them within the document via the macro
+\jcsmacro*[-3]{ExecutePublistOptions}. It takes a comma-separated list of options as mandatory argument
and can be used (repeatedly) in preamble or anywhere in the document body.
The executed options apply as of the next bibliography (\jfcsmacro{printbibliography}) that follows.
Options that \emph{cannot} be changed within a document that way are \joption{plnumbering} and \joption{pubstateextra},
@@ -385,6 +381,57 @@ Also note that with the \joption{plauthor*} options, as opposed to repeated \jcs
repeated setting of these name options respectively \emph{overwrite}, and not extend, the previous name settings.
+\subsection{Referring to Entries}\label{sec:citeitems}
+
+Even though publication lists usually do not include citations, there might be cases where you need to refer
+to specific entries within it. Especially with sectioned lists, it is arguably most advisable to refer to the items
+by their number, as otherwise your readers will have a hard time to find the item you are referring to.
+Of course, if you do not use global numbering, you should also specify the section the item is in, as in:
+``see [13] (sec.~4)''.
+
+Since \bpl\ plays all sorts of tricks with the numbering (see sec.~\ref{sec:numbers}), the reference needs to take these
+into account. The normal citation commands will often produce inadequate or even wrong output particularly in numeric
+style.
+To account for these peculiarities, the package ships its own cite style which is used if you load \bpl\ via
+\joption{style=publist} (but not with \joption{bibstyle=publist}!). The features described in what follows require
+this particular cite style.
+
+If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key(s)>\}} within your publication list.%
+\footnote{As with the normal citation commands, the argument might also be a comma-separated list of keys.}
+This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
+but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.
+Note, however, that with refsections (see sec.~\ref{sec:example}) \jcsmacro{citeitem} only works within a given
+refsection because the references in a refsection are unknown outside of its scope.
+
+If you want to refer to an item number from outside a refsection, you can use \jcsmacro*{citesecitem}\jmacro{\{<key(s)>\}}.
+This will try to access the number of the given entry from a stored list that is generated by \bpl.
+References of this kind only make sense, of course, with global numbering and if an entry only occurs once in the bibliography,
+since otherwise they would be too ambiguous. However, for locally numbered lists, there is the starred variant
+\jcsmacro*{citesecitem*}\jmacro{\{<key(s)>\}} which will append a reference to the section the item is in.
+By default, the form of this addition is ``(sec.~<no.>)'', with ``sec.'' being localized (see sec.~\ref{sec:auxmacros}
+on how to customize this).
+
+All these commands have counterparts which can be used to refer to a range of entries:
+\begin{itemize}
+ \setlength\itemsep{0pt}
+ \item \jcsmacro*{citeitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange*}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+\end{itemize}
+%
+The range will by default be indicated by an en-dash ([12]--[17]), you can change this by redefining the
+macro \jcsmacro*{itemrangesep}.
+
+Note that due to the design of refsections, no hyperlinks can be generated for the item number with \jcsmacro{citesecitem}
+(or its starred and range counterparts) and the \textsf{hyperref} package being loaded; the section reference of the starred
+commands, however, is hyperlinked in this case.
+If you need hyperlinked item references, consider refsegments rather than refsections and the \jcsmacro{citeitem} command
+(although this will have other drawbacks).
+
+Of course, both \jcsmacro{citeitem} and \jcsmacro{citesecitem} presuppose that you do not disable numbering, and
+\jcsmacro{citesecitem*} requires numbered section headers.
+
+
\subsection{Numbers Games}\label{sec:numbers}
Among the peculiarities of publication lists is the greater variety of numbering conventions, as compared
@@ -474,12 +521,14 @@ The macro \jcsmacro*{GetTotalCount} outputs the total number of entries in your
If you want to output the number of publications per section (when employing \jfcsmacro{refsection}),
you can use the macro \jcsmacro*{GetSectionCount} which takes one optional argument, the section
-number. For instance,
+number or a comma-separated list of section numbers. For instance,
\begin{lstlisting}[moretexcs={[4]{GetSectionCount}}]
\GetSectionCount[1]
\end{lstlisting}
-outputs the number of items in the first section. If the optional argument is not given, the
-statistics for the current section is output (this requires the macro to be within a \jfcsmacro{refsection}).
+outputs the number of items in the first section, whereas \lstinline!\GetSectionCount[1,2]! outputs
+the sum of the numbers of items in the first and second section.
+If the optional argument is not given, the statistic for the current section is output
+(this requires the macro to be within a \jfcsmacro{refsection}).
Note that both values might require additional \LaTeX\ runs to get properly set. You will
get a package warning if additional runs are needed.
@@ -526,16 +575,16 @@ taken care of specifically.
With \joption{plauthorhandling=omit}, the \jfoption{maxnames} value specifies how many co-authors are added in parenthesis (the omitted
author name is not counted here). If the treshold is reached, \emph{et al.}\ (or the corresponding localized string) is appended (and the list truncated
to the \jfoption{minnames} value, \jfoption{1} by default). So you get something like:
-\begin{quote}
- \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
-\end{quote}
+\begin{itemize}
+ \item[{[3]}] \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{itemize}
%
With \joption{plauthorhandling=highlight}, \bpl\ outputs all publist authors, even if the \jfoption{maxnames} treshold has been reached.
However, other authors (beyond \jfoption{minnames}) are omitted. If they come before a publist author, this is indicated by [\ldots\unkern],
if authors follow after all publication list authors, \emph{et al.} is appended, as in:
-\begin{quote}
- Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
-\end{quote}
+\begin{itemize}
+ \item[{[3]}] Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{itemize}
%
The omission indicator, \jcsmacro*{plnameomission}, can be redefined. The default definition is:
\begin{lstlisting}[moretexcs={[4]{plnameomission,bibellipsis,addcomma,addspace}}]
@@ -663,6 +712,16 @@ The default definition is:
\newcommand*\plextrainfosep{\addsemicolon\addspace}
\end{lstlisting}
%
+The\jmcsmacro{secitemsecref} section reference with \jcsmacro{citesecitem*} is determined by
+\jcsmacro{secitemsecref}, which has the following default definition:
+\begin{lstlisting}[moretexcs={[2]{mkbibparens,secitemsecref,bibstring,addnbspace}}]
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+\end{lstlisting}
+%
+Redefine this macro if you need a different output.
+
The indendation of the bibliographic entries (lines > 1) can be adjusted by setting the length
\jmacro*{extralabel\-numberwidth} via \jfcsmacro{setlength} (default is \texttt{0pt}).
This might be needed for long bibliographies (> 99 entries) in order to adjust to the extra
@@ -715,31 +774,52 @@ are printed, so you might get redundant output. To control (e.\,g., omit) them,
\section{Localization}\label{sec:localization}
Since the package draws on \bibltx, it supports localization.
-The following additional localization keys (\jfcsmacro{bibstrings})
-are added by the package:
-\begin{itemize}
+The following additional localization keys (\texttt{bibstrings})
+are added by the package, in verbose and abbreviated form (depending
+on your setting of the \bibltx\ option \joption{abbreviate}):
+
+\begin{description}
\setlength{\itemsep}{0pt}
-\item \emph{impactfactor}: the expression \enquote{impact factor}.
-\item \emph{openaccess:true}: the expression \enquote{OpenAccess}.
-\item \emph{openaccess:gold}: the phrase \enquote{OpenAccess (gold)}.
-\item \emph{openaccess:green}: the phrase \enquote{OpenAccess (green)}.
-\item \emph{parttranslationof}: the expression \enquote{partial translation of}
+\item[impactfactor] the expression \enquote{impact factor} (short form: \enquote{JIF}).
+\item[openaccess:true] the expression \enquote{OpenAccess} (short form: \enquote{OA}).
+\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)} (short form: \enquote{OA (gold)}).
+\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)} (short form: \enquote{OA (green)}).
+\item[{parttranslationof}] the phrase \enquote{partial translation of} (short form: \enquote{part.\ trans.\ of})
for entries referring to partially translated work via \bibltx's
\enquote*{related entries} feature (see sec.~\ref{sec:partial-translations}).
-\item \emph{peerreview:sb}: the phrase \enquote{single blind peer review}.
-\item \emph{peerreview:db}: the phrase \enquote{double blind peer review}.
-\item \emph{peerreview:op}: the phrase \enquote{open peer review}.
-\item \emph{peerreview:co}: the phrase \enquote{collaborative peer review}.
-\item \emph{peerreview:cc}: the phrase \enquote{cascading peer review}.
-\item \emph{peerreview:tp}: the phrase \enquote{third-party peer review}.
-\item \emph{peerreview:pp}: the phrase \enquote{post-publication peer review}.
-\item \emph{peerreview:no}: the phrase \enquote{no peer review}.
-\item \emph{with}: the preposition \enquote{with} that precedes the list of
- co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
+\item[{peerreview:sb}] the phrase \enquote{single blind peer review} (short form: \enquote{single blind peer rev.}).
+\item[{peerreview:db}] the phrase \enquote{double blind peer review} (short form: \enquote{double blind peer rev.}).
+\item[{peerreview:op}] the phrase \enquote{open peer review} (short form: \enquote{open peer rev}).
+\item[{peerreview:co}] the phrase \enquote{collaborative peer review} (short form: \enquote{collab.\ peer rev.}).
+\item[{peerreview:cc}] the phrase \enquote{cascading peer review} (short form: \enquote{casc.\ peer rev.}).
+\item[{peerreview:tp}] the phrase \enquote{third-party peer review} (short form: \enquote{3rd-party peer rev.}).
+\item[{peerreview:pp}] the phrase \enquote{post-publication peer review} (short form: \enquote{post-pub.\ peer rev.}).
+\item[{peerreview:no}] the phrase \enquote{no peer review} (short form: \enquote{no peer rev.}).
+\item[{with}] the preposition \enquote{with} that precedes the list of
+ co-authors by default (i.\,e., with \joption{plauthorhandling=omit}) (short and verbose forms identical).
+\end{description}
+%
+Localization is provided in dedicated language definition files which follow
+the naming scheme, \texttt{<language>-publist.lbx}.
+The package currently ships such files for the following languages and their varieties:
+
+\begin{flushleft}
+\begin{itemize}
+\setlength{\itemsep}{0pt}
+ \item English (\texttt{american}, \texttt{australian}, \texttt{british},
+ \texttt{canadian}, \texttt{english}, \texttt{newzealand},
+ \texttt{UKenglish}, \texttt{USenglish})
+ \item French (\texttt{french})
+ \item German (\texttt{austrian}, \texttt{german}, \texttt{naustrian}, \texttt{ngerman},
+ \texttt{nswissgerman}, \texttt{swissgerman})
\end{itemize}
-Currently, these additional localization keys are available in the following
-languages: English, French and German.%
-\footnote{Please send suggestions for other languages to the package author.}
+\end{flushleft}
+%
+If you want to add support for other languages, you can simply copy one of the existing
+lbx files, name it \texttt{<yourlanguage>-publist.lbx} and adapt the localization keys.
+
+If you are confident enough, please send me your file so I can consider adding it to
+the package.
\section{Further Extensions}
@@ -840,6 +920,8 @@ Note that the \jfcsmacro{printbibliography} option
\section{Filtering\label{sec:filtering}}
+\subsection{Filter out own work}
+
If you have a bibliographic database consisting not only of your own
publications, you can extract yours with the bibliography filter \joption{mine},
which has to be passed to \jfcsmacro{printbibliography}, as in:
@@ -862,13 +944,16 @@ entries of diverse type and authors, specify:
Note that this method sometimes requires several reruns of \texttt{latex}
to fix the numbering.
+\subsection{Filter on publication or peer-review status}\label{sec:filterbc}
+
Sometimes you might also want to omit some publications from the list which are not yet
published or not yet accepted (e.g., because they are under blind review and you do not
want to reveal your identity yet). To this end, \bpl\ features some \joption{bibchecks}
(for the concept, please refer to \cite[sec.~3.8.2]{bibltx}). Bibchecks can be activated
-by passing \joption{check=<bibcheck>} to the optional argument of \jfcsmacro{printbibliography}.
+by passing \joption{check=<bibcheck>} to the optional argument of \jfcsmacro{printbibliography}
+(see example~\ref{bibcheckex}).
-The following bibchecks are available:
+The following bibchecks are available to this end:
\begin{itemize}
\item \joption{nosubmitted}: omits all entries with pubstate \joption{submitted}.
\item \joption{noprepared}: omits all entries with pubstate \joption{inpreparation}.
@@ -879,8 +964,18 @@ The following bibchecks are available:
(and thus accepted) entries.
\end{itemize}
%
+The bibchecks below let you filter out publications depending on their peer-review
+setting. This is helpful if you want to differentiate peer-reviewed from non-peer-reviewed
+work in your publication list:
+\begin{itemize}
+ \item \joption{onlypr}: include only peer-reviewed entries (displays only titles which have
+ the \texttt{peerreview} field set and do not have it set to \texttt{no}).
+ \item \joption{nopr}: exclude peer-reviewed entries (omits all entries which have the
+ \texttt{peerreview} field set, except for those which have it set to \texttt{no}).
+\end{itemize}
+%
Several of these bibchecks might be used in a row, e.g.:
-\begin{lstlisting}[moretexcs={[1]{printbibliography}}]
+\begin{lstlisting}[moretexcs={[1]{printbibliography}},caption={Using bibchecks},label={bibcheckex}]
\printbibliography[heading=none,filter=mine,check=nosubmitted,check=noprepared]
\end{lstlisting}
@@ -964,10 +1059,32 @@ until further change).
\section{Revision Log}
\begin{description}
- \item [{V. 2.9 (2025/05/09):}]~
+ \item [{V. 2.12 (2024/07/16):}]~
+ \begin{itemize}
+ \item Externalize localization to \texttt{*.lbx} files.
+ \item Add \jcsmacro{citeitemrange} and \jcsmacro{citesecitemrange} commands
+ (see sec.~\ref{sec:citeitems}).
+ \item Fix error with section count on first run.
+ \end{itemize}
+
+ \item [{V. 2.11 (2024/07/02):}]~
+ \begin{itemize}
+ \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands
+ (see sec.~\ref{sec:citeitems}).
+ \item Support multiple sections in \jcsmacro{GetSectionCount}.
+ \end{itemize}
+
+ \item [{V. 2.10 (2024/06/17):}]~
+ \begin{itemize}
+ \item Add bibchecks to show only/no peer-reviewed items
+ (see sec.~\ref{sec:filterbc}).
+ \item Fix bibchecks to work with braced and non-braced values.
+ \end{itemize}
+
+ \item [{V. 2.9 (2024/05/09):}]~
\begin{itemize}
\item Add bibchecks to exclude (specific kinds of) unpublished work
- (see sec.~\ref{sec:filtering}).
+ (see sec.~\ref{sec:filterbc}).
\end{itemize}
\item [{V. 2.8 (2024/03/08):}]~
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx
new file mode 100644
index 0000000000..320c493f40
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx
@@ -0,0 +1,37 @@
+% UKenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{UKenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx
new file mode 100644
index 0000000000..f20be86b76
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx
@@ -0,0 +1,37 @@
+% USenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{USenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx
new file mode 100644
index 0000000000..ae889e0216
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx
@@ -0,0 +1,37 @@
+% american-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{american-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx
new file mode 100644
index 0000000000..ae6d96e932
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx
@@ -0,0 +1,37 @@
+% australian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{australian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist AU English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx
new file mode 100644
index 0000000000..0ad5c4119e
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx
@@ -0,0 +1,55 @@
+% austrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{austrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{austrian}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {austrian},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx
new file mode 100644
index 0000000000..dbfe613118
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx
@@ -0,0 +1,55 @@
+% british-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{british-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{british}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {british},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx
new file mode 100644
index 0000000000..f92334b5ba
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx
@@ -0,0 +1,37 @@
+% canadian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{canadian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist CDN English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx
new file mode 100644
index 0000000000..a51deb5583
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx
@@ -0,0 +1,55 @@
+% english-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{english-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{english}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {english},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx
new file mode 100644
index 0000000000..e49a00b8c8
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx
@@ -0,0 +1,55 @@
+% french-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{french-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist French localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{french}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {french},
+ parttranslationof = {{traduction partielle de}{trad\adddotspace part\adddotspace de}},
+ with = {{avec}{avec}},
+ impactfactor = {{facteur d'impact}{FI}},
+ openaccess:true = {{libre acc\`es}{libre acc\`es}},
+ openaccess:gold = {{libre acc\`es (dorée)}{libre acc\`es (dorée)}},
+ openaccess:green = {{libre acc\`es (verte)}{libre acc\`es (verte)}},
+ peerreview:sb = {{\'{e}valuation par des pairs anonymis\'{e}s}{\'{e}val\adddotspace par des pairs anon\adddot}},
+ peerreview:db = {{\'{e}valuation par les pairs en double aveugle}{\'{e}val\adddotspace par les pairs en double aveugle}},
+ peerreview:op = {{\'{e}valuation par les pairs ouverte}{\'{e}val\adddotspace par les pairs ouverte}},
+ peerreview:co = {{\'{e}valuation par les pairs collaborative}{\'{e}val\adddotspace par les pairs collab\adddot}},
+ peerreview:cc = {{\'{e}valuation par les pairs en cascade}{\'{e}val\adddotspace par les pairs en cascade}},
+ peerreview:tp = {{\'{e}valuation par des pairs ext\'{e}rieurs}{\'{e}val\adddotspace par des pairs ext\adddot}},
+ peerreview:pp = {{\'{e}valuation par les pairs apr\`{e}s publication}{\'{e}val\adddotspace par les pairs apr\`{e}s pub\adddot}},
+ peerreview:no = {{pas d'\'{e}valuation par les pairs}{pas d'\'{e}val\adddotspace par les pairs}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx
new file mode 100644
index 0000000000..c7b4570f06
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx
@@ -0,0 +1,55 @@
+% german-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{german-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{german}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {german},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx
new file mode 100644
index 0000000000..85e0c9a92c
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx
@@ -0,0 +1,37 @@
+% naustrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{naustrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit austrian
+\InheritBibliographyStrings{austrian}
+\InheritBibliographyExtras{austrian}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx
new file mode 100644
index 0000000000..4f9d872e9d
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx
@@ -0,0 +1,55 @@
+% newzealand-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{newzealand-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist NZ English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{newzealand}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {newzealand},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx
new file mode 100644
index 0000000000..54f65ef383
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx
@@ -0,0 +1,37 @@
+% ngerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{ngerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit german
+\InheritBibliographyStrings{german}
+\InheritBibliographyExtras{german}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx
new file mode 100644
index 0000000000..be8a9d148a
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx
@@ -0,0 +1,37 @@
+% nswissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{nswissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit swissgerman
+\InheritBibliographyStrings{swissgerman}
+\InheritBibliographyExtras{swissgerman}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx
new file mode 100644
index 0000000000..5d4be275ab
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx
@@ -0,0 +1,55 @@
+% swissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
+
+\ProvidesFile{swissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{swissgerman}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {swissgerman},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
index c7d385b452..371a06232b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.9}
-\def\bpl@rdate{2025/05/09}
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -552,16 +552,31 @@
{}{\PackageWarning{biblatex-publist}{Patching refsection failed!}}
}{}
-\newcommand*\GetSectionCount[1][\empty]{%
- \edef\bpl@secno{#1}%
- \ifx\bpl@secno\empty%
- \csnumdef{bpltmprefsection}{\c@refsection}%
- \csuse{bpl@secitems:\bpltmprefsection}%
- \else%
- \csuse{bpl@secitems:#1}%
- \fi%
+% Section count. We use l3 here to split the argument and do calculations
+\ExplSyntaxOn
+
+\int_new:N \l_bpl_sec_cnt_int
+
+\NewDocumentCommand \GetSectionCount { >{\SplitList{,}} o }
+{
+ \IfNoValueTF{#1}{%
+ \csnumdef{bpltmprefsection}{\c@refsection}
+ \ifcsdef{bpl@secitems:\bpltmprefsection}{\csuse{bpl@secitems:\bpltmprefsection}}{}%
+ }{
+ \int_zero:N \l_bpl_sec_cnt_int
+ \ProcessList{#1}{\__bpl_add_section_count}
+ \int_use:N \l_bpl_sec_cnt_int
+ }
+}
+
+\cs_new:Npn \__bpl_add_section_count #1
+{
+ \cs_if_exist:cT {bpl@secitems:#1}
+ { \int_add:Nn \l_bpl_sec_cnt_int { \use:c{bpl@secitems:#1} } }
}
+\ExplSyntaxOff
+
\newcommand*\GetTotalCount{%
\csuse{bpl@items}%
}
@@ -897,7 +912,15 @@
\newrobustcmd{\mkbibdesc}[1]{%
% Print labelnumber as actual number, plus item total
- \number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax%
+ \edef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax}%
+ \bpl@current@item@no%
+ % Store number in pbx file
+ \if@filesw%
+ \protected@write\bpl@bpxfile{}{%
+ \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}%
+ \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}%
+ }%
+ \fi%
}%
% Way to manually shift the numbering
@@ -1112,21 +1135,25 @@
% from publist
\defbibcheck{nosubmitted}{%
\edef\tmpps{\bibstring{submitted}}%
- \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{pubstate}{submitted}{\skipentry}{}}%
}
% check to exclude work in preparation
% from publist
\defbibcheck{noprepared}{%
\edef\tmpps{\bibstring{inpreparation}}%
- \iffieldequals{pubstate}{\tmpps}{\skipentry}{}%
+ \iffieldequals{pubstate}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{pubstate}{inpreparation}{\skipentry}{}}%
}
% check to exclude all work which is not (pre-)published
\defbibcheck{onlypublished}{%
\iffieldundef{pubstate}{}{%
\edef\tmpps{\bibstring{prepublished}}%
- \iffieldequals{pubstate}{\tmpps}{}{\skipentry}%
+ \iffieldequals{pubstate}{\tmpps}{%
+ \iffieldequalstr{pubstate}{prepublished}{}{\skipentry}%
+ }{\skipentry}%
}%
}
@@ -1137,12 +1164,37 @@
\edef\tmppss{\bibstring{forthcoming}}%
\iffieldequals{pubstate}{\tmpps}{}{%
\iffieldequals{pubstate}{\tmppss}{}{%
- \skipentry}%
- }%
+ \iffieldequalstr{pubstate}{prepublished}{}{%
+ \iffieldequalstr{pubstate}{forthcoming}{}{%
+ \skipentry}%
+ }%
+ }%
+ }%
+ }%
+}
+
+% check to exclude all work which is not peer-reviewed
+\defbibcheck{onlypr}{%
+ \iffieldundef{peerreview}{\skipentry}{%
+ \edef\tmppr{\bibstring{no}}%
+ \iffieldequals{peerreview}{\tmpps}{\skipentry}{%
+ \iffieldequalstr{peerreview}{no}{\skipentry}{}%
+ }%
+ }%
+}
+
+% check to exclude all work which *is* peer-reviewed
+\defbibcheck{nopr}{%
+ \iffieldundef{peerreview}{}{%
+ \edef\tmppr{\bibstring{no}}%
+ \iffieldequals{peerreview}{\tmpps}{}{%
+ \iffieldequalstr{peerreview}{no}{}{\skipentry}
+ }%
}%
}
+
%
% Count non-plauthors
%
@@ -1739,6 +1791,10 @@
%
% l7n
%
+
+\DeclareLanguageMappingSuffix{-publist}
+
+% publist-specific bibstrings
\NewBibliographyString{with}
\NewBibliographyString{parttranslationof}
\NewBibliographyString{impactfactor}
@@ -1753,54 +1809,6 @@
\NewBibliographyString{peerreview:tp}
\NewBibliographyString{peerreview:pp}
\NewBibliographyString{peerreview:no}
-\DefineBibliographyStrings{english}{%
- parttranslationof = {partial translation of},
- with = {with},
- impactfactor = {impact factor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (green)},
- peerreview:sb = {single blind peer review},
- peerreview:db = {double blind peer review},
- peerreview:op = {open peer review},
- peerreview:co = {collaborative peer review},
- peerreview:cc = {cascading peer review},
- peerreview:tp = {third-party peer review},
- peerreview:pp = {post-publication peer review},
- peerreview:no = {no peer review}
-}
-\DefineBibliographyStrings{french}{%
- parttranslationof = {traduction partielle de},
- with = {avec},
- impactfactor = {facteur d'impact},
- openaccess:true = {libre acc\`es},
- openaccess:gold = {libre acc\`es (dorée)},
- openaccess:green = {libre acc\`es (verte)},
- peerreview:sb = {\'{e}valuation par des pairs anonymis\'{e}s},
- peerreview:db = {\'{e}valuation par les pairs en double aveugle},
- peerreview:op = {\'{e}valuation par les pairs ouverte},
- peerreview:co = {\'{e}valuation par les pairs collaborative},
- peerreview:cc = {\'{e}valuation par les pairs en cascade},
- peerreview:tp = {\'{e}valuation par des pairs ext\'{e}rieurs},
- peerreview:pp = {\'{e}valuation par les pairs apr\`{e}s publication},
- peerreview:no = {pas d'\'{e}valuation par les pairs}
-}
-\DefineBibliographyStrings{german}{%
- parttranslationof = {Teil\"ubersetzung von},
- with = {mit},
- impactfactor = {Impactfaktor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (gr\"un)},
- peerreview:sb = {Blindbegutachtung},
- peerreview:db = {Doppelblindbegutachtung},
- peerreview:op = {Offene Begutachtung},
- peerreview:co = {Kollaborative Begutachtung},
- peerreview:cc = {Cascading-Begutachtung},
- peerreview:tp = {Begutachtung durch Dritte},
- peerreview:pp = {Post-Publication-Begutachtung},
- peerreview:no = {keine Begutachtung}
-}
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
index bfc159a131..8176810996 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
@@ -26,14 +26,50 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.9}
-\def\bpl@rdate{2025/05/09}
+\def\bpl@version{2.12}
+\def\bpl@rdate{2024/07/16}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]
\RequireCitationStyle{numeric}
+\DeclareCiteCommand{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}%
+ \usebibmacro{bpl:cite:secitemsec}%
+ }
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\newbibmacro*{bpl:cite:secitem}{%
+ \ifcsdef{bpl@itemnumber:\thefield{entrykey}}%
+ {\mkbibbrackets{\csuse{bpl@itemnumber:\thefield{entrykey}}}}%
+ {\textbf{\mkbibbrackets{???}}}%
+}
+
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+
+\newbibmacro*{bpl:cite:secitemsec}{%
+ \ifcsdef{bpl@itemsec:\thefield{entrykey}}%
+ {\addspace\secitemsecref{\csuse{bpl@itemsec:\thefield{entrykey}}}}%
+ {}%
+}
+
\DeclareCiteCommand{\citeitem}
{\defcounter{maxnames}{999}%
\boolfalse{citetracker}%
@@ -55,6 +91,28 @@
\printtext[labelnumberwidth]{\mkrefdesc{\thefield{labelnumber}}}%
}
+\newcommand*\itemrangesep{\bibrangedash}
+
+\newcommand*\citeitemrange[2]{%
+ \citeitem{#1}\itemrangesep\citeitem{#2}%
+}
+
+\NewDocumentCommand\citesecitemrange{s m m}
+{%
+ \IfBooleanTF{#1}%
+ {\ifcsdef{bpl@itemsec:#2}%
+ {\ifcsdef{bpl@itemsec:#3}%
+ {\ifcsequal{bpl@itemsec:#2}{bpl@itemsec:#3}%
+ {\citesecitem{#2}\itemrangesep}%
+ {\citesecitem*{#2}\,\itemrangesep\,}%
+ \citesecitem*{#3}}%
+ {\citesecitem*{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem{#3}}%
+}
+
% Manual way to adjust numbering
\csdef{bpl@secstartshift}{0}
\newcommand*\shiftciteitem[1]{\csdef{bpl@secstartshift}{#1}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
index d43f60a465..9e4b798f8c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
@@ -1,5 +1,5 @@
% publist.dbx, biblatex data model specification for the biblatex-publist
-% package, version 2.9 (2025/05/09).
+% package, version 2.12 (2024/07/16).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/README.md b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/README.md
index 9e24dd6d71..4127cbf6dd 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/README.md
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/README.md
@@ -50,7 +50,7 @@ The following packages are required:
## Licence
```
-Copyright 2015-2022 David Purton
+Copyright 2015-2024 David Purton
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
index cd3217de21..cb422456bf 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.def
@@ -15,8 +15,8 @@
% VERSION STRINGS
% ------------------------------------------------------------------
-\def\sbl@abx@date{2022/06/18}
-\def\sbl@abx@version{0.14}
+\def\sbl@abx@date{2024/06/09}
+\def\sbl@abx@version{0.15}
\def\sbl@abx@bbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl bibliography style (DCP)}
\def\sbl@abx@cbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl citation style (DCP)}
\def\sbl@abx@lbxid{\sbl@abx@date\space v\sbl@abx@version\space biblatex-sbl localization (DCP)}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.pdf
index adeb515305..f25b34c868 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/biblatex-sbl.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl-paper.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl-paper.pdf
index c6ef3cc58a..dd5cf607a6 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl-paper.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl.cbx
index 73007e67e6..afaa5b1767 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-sbl/sbl.cbx
@@ -395,7 +395,8 @@
{\usebibmacro{textcite:init}%
\gdef\cbx@savedkeys{}%
\DeferNextCitekeyHook}
- {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}
+ {\ifboolexpr{test {\iffirstcitekey}
+ and test {\ifnumgreater{\value{multicitetotal}}{0}}}
{\protected@xappto\cbx@footcite@args{%
(\thefield{multiprenote})(\thefield{multipostnote})}}
{}%
diff --git a/macros/latex/contrib/bxpdfver/LICENSE b/macros/latex/contrib/bxpdfver/LICENSE
index b6b8b92330..f6ebffefca 100644
--- a/macros/latex/contrib/bxpdfver/LICENSE
+++ b/macros/latex/contrib/bxpdfver/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR")
+Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/latex/contrib/bxpdfver/README-ja.md b/macros/latex/contrib/bxpdfver/README-ja.md
index 0f0955d378..5cc0505780 100644
--- a/macros/latex/contrib/bxpdfver/README-ja.md
+++ b/macros/latex/contrib/bxpdfver/README-ja.md
@@ -52,7 +52,8 @@ bxpdfver パッケージ
* `lenient+`: サポートしない機能に対するエラーを完全に抑止する。
* `nolenient`(既定): `lenient(+)` の否定。
* `new-dvipdfmx`: dvipdfmx に対するバージョン検査を省略し、常に最新の
- バージョンであると仮定する。
+ バージョンであると仮定する。
+ ※ドライバオプションが `dvipdfmx` に変更される。
`compress`、`objcompress` はこのパッケージによる抑止を行わないという意味
であり、既に抑止されている場合にそれを再び有効化するものではない。
@@ -72,6 +73,8 @@ bxpdfver パッケージ
* `\preservepdfdestinations`: PDF 目的地(PDF destination)の名前の
短縮を抑止し、TeX 文書で指定された名前を用いる。異なる PDF 文書間で
のリンクを正常に機能させるために必要である。
+ * `\setpdfpkresolution{<解像度>}`: PDF に埋め込まれる PK フォントの
+ 解像度(dpi 値)を指定する。
### ドライバ指定に関する補足
@@ -83,30 +86,42 @@ bxpdfver パッケージ
\suppresspdfobjcompression Yes Maybe(*2) No
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. pdfTeX/LuaTeX では PDF 目的地の名前が短縮されるることはない。つまり
`\preservepdfdestinations` は常に有効になっていると見なせる。
- 2. これらの機能を使用するためには、(x)dvipdfmx のバージョンが 20160307
- 以上である必要がある。
- - バージョン判定のために kpsewhich と extractbb の起動を利用する
- ため、少なくともこれらのプログラムについて、シェルエスケープが
- 許可されている必要がある。
- - dvipdfmx のバージョン情報は補助ファイル(.aux)中にキャッシュ
- される。このため、何か状況が変わった場合は、一旦補助ファイルを
- 削除する必要が生じる。
+ 2. (x)dvipdfmx のバージョンが 20160307 以上である必要がある。
+ 3. (x)dvipdfmx のバージョンが 20211016 以上である必要がある。
+
+dvipdfmx のバージョン判定について:
+
+ - 必要が生じた場合にのみバージョン判定が実行される。
+ - `new-dvipdfmx` オプションを指定した場合は、バージョン判定を全て
+ 省略した上で、最新の dvipdfmx を使用していると見なす。
+ - バージョン判定のために kpsewhich と extractbb の起動を利用するため、
+ 少なくともこれらのプログラムについて、シェル実行が許可されている
+ 必要がある。
+ - バージョン判定は少し時間がかかるため、dvipdfmx のバージョン情報は
+ 補助ファイル(.aux)中にキャッシュされる。このため、何か状況が変化
+ した場合は、一旦補助ファイルを削除する必要が生じる。
以下のことにも注意されたい。
- * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ ※`lenient` オプションが指定された場合はエラーが警告に変更され、
+ また `lenient+` が指定された場合はエラーも警告も抑止される。
* `dvips` 等の“全く対応していない”若干のドライバオプションを認識
する。この場合、全ての機能の呼出でエラーが発生する。
- * `nodvidriver` は特殊で、これを指定した場合は、どの機能の呼出でも
- エラーは発生しないが、全く何の動作も行わない。
+ * `nodvidriver` オプションは既定で `lenient+` を指定する。つまり、
+ どの機能の呼出でもエラーは発生しないが、全く何の動作も行わない。
更新履歴
--------
+ * Version 0.7 ‹2024/07/24›
+ - `\setpdfpkresolution` を(正式に)サポート。(dvipdfmx/XeTeX
+ でも使用可能になった。)
* Version 0.6 ‹2022/04/28›
- `lenient+`/`nolenient` オプションを追加。
- 非サポートのドライバでも読込自体はエラーにしない。
diff --git a/macros/latex/contrib/bxpdfver/README.md b/macros/latex/contrib/bxpdfver/README.md
index 332b6215f1..df7995de21 100644
--- a/macros/latex/contrib/bxpdfver/README.md
+++ b/macros/latex/contrib/bxpdfver/README.md
@@ -72,6 +72,8 @@ when it is already suppressed by other means.
* `\preservepdfdestinations`: Stops shortening the PDF destination
names and uses the original names given in the LaTeX documents. This
is necessary for cross-document links to work correctly.
+ * `\setpdfpkresolution{<resolution>}`: Sets the resolution (in dpi)
+ of the PK fonts embedded in the PDF file.
### NOTE ON DRIVERS
@@ -83,29 +85,42 @@ when it is already suppressed by other means.
\suppresspdfobjcompression Yes Maybe(*2) No
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. In pdfTeX and LuaTeX, PDF destination names are never shortened;
that is, it can be thought as if `\preservepdfdestinations` were
always in effect.
2. These features are available only when the version of (x)dvipdfmx
- is 20160307 or later. Also shell escape must be accepted (with or
- without restriction) so that `kpsewhich` and `extractbb` will be
- allowed to run, because those programs are used in order to detect
- the dvipdfmx version.
+ is 20160307 or later.
+ 2. These features are available only when the version of (x)dvipdfmx
+ is 20211016 or later.
+
+On the detection of dvipdfmx version:
+
+ * Shell escape must be accepted (with or without restriction) so that
+ `kpsewhich` and `extractbb` will be allowed to run, because those
+ programs are used in order to detect the dvipdfmx version.
+ * The detection process is slow, so the result is cached in the
+ auxiliary file (`.aux`). When the environment is changed, you need
+ to delete the auxiliary file.
More notices:
- * If you try to use unavailable features, an error will occur.
+ * If you try to use unavailable features, an error will occur.
+ NB. Option `lenient` turns the errors into warnings, and `lenient+`
+ completely suppresses the errors.
* The package recognizes some “unsupported” driver options such as
`dvips`; when such drivers are used, use of any feature will cause
an error.
- * The use of `nodvidriver` sets `lenient*` by default; use of any
+ * The use of `nodvidriver` sets `lenient+` by default; use of any
feature will do nothing (nor issue an error).
REVISION HISTORY
----------------
+ * Version 0.7 ‹2024/07/24›
+ - Support (officialy) `\setpdfpkresolution`.
* Version 0.6 ‹2022/04/28›
- Added the `lenient+` and `nolenient` options.
* Version 0.5a ‹2021/02/14›
diff --git a/macros/latex/contrib/bxpdfver/bxpdfver.sty b/macros/latex/contrib/bxpdfver/bxpdfver.sty
index ccc9825f6f..46c65cd9a2 100644
--- a/macros/latex/contrib/bxpdfver/bxpdfver.sty
+++ b/macros/latex/contrib/bxpdfver/bxpdfver.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'bxpdfver.sty'.
%%
-%% Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxpdfver}[2022/04/28 v0.6]
+\ProvidesPackage{bxpdfver}[2024/07/24 v0.7]
\def\bxpv@pkgname{bxpdfver}
%% preparations
@@ -144,6 +144,13 @@
\def#3{#2}%
}
+%% \bxpv@info{<message>}
+% Issues an info message.
+\@onlypreamble\bxpv@info
+\def\bxpv@info#1{%
+ \PackageInfo\bxpv@pkgname{#1\@gobble}%
+}
+
%% \bxpv@warn{<message>}
% Issues a warning.
\@onlypreamble\bxpv@warn
@@ -175,10 +182,10 @@
}
%% \ifbxpv@defined
-\let\ifbxpv@defined\ifdefined
-\ifx\ifbxpv@defined\@undefined \expandafter\@firstofone
-\else \expandafter\@gobble
-\fi{\let\ifbxpv@defined\iffalse}
+% Identical to \ifdefined, and is used only in e-TeX-aware code.
+% On non-e-TeX engines it is made \iffalse to keep \if-balancedness.
+\bxpv@csletcs{ifbxpv@defined}{%
+ if\ifx\ifdefined\@undefined false\else defined\fi}
%% \ifbxpv@old@hook@system
\newif\ifbxpv@old@hook@system
@@ -186,6 +193,9 @@
%--------------------------------------- internal dispatchers
+% Initially all dispatchers are "unavailable".
+% They are later redefined according to the driver type.
+
%% \bxpv@suppress@compress
\@onlypreamble\bxpv@suppress@compress
\def\bxpv@suppress@compress{%
@@ -242,7 +252,7 @@
\fi
\fi
-%% adjust internal dispatchers
+%% Redefine internal dispatchers.
\ifx 0\bxpv@drv@type\else %--------
\begingroup
@@ -386,12 +396,14 @@
\bxpv@warn
{Unsupported engine}%
\else\if d\bxpv@drv@type % 'dvipdfmx'
+ % All the real settings are done in the begin-document hook,
+ % so the dispatchers themselves will do nothing (if available).
\global\let\bxpv@suppress@compress\relax
\global\let\bxpv@suppress@obj@compress\relax
\global\let\bxpv@check@version\relax
\global\let\bxpv@set@version\relax
\global\let\bxpv@set@decimaldigits\relax
- %\global\let\bxpv@set@pkresolution\relax
+ \global\let\bxpv@set@pkresolution\relax
\global\let\bxpv@preserve@destinations\relax
\g@addto@macro\bxpv@begin@document@hook{%
\bxpv@begin@document@dvipdfmx
@@ -671,6 +683,7 @@
\fi
%% variables
+\let\bxpv@dvipdfmx@known@min\relax
\let\bxpv@C@value\relax
%% \bxpv@C@bits
@@ -689,6 +702,7 @@
%% \bxpv@begin@document@dvipdfmx
\@onlypreamble\bxpv@begin@document@dvipdfmx
\def\bxpv@begin@document@dvipdfmx{%
+ \bxpv@get@dvipdfmx@known@min
% PDF version
\ifx\bxpdfverMajorVersion\tw@
\bxpv@check@dvipdfmx@version{20180217}%
@@ -701,8 +715,8 @@
\bxpv@put@special{pdf:minorversion \the\bxpdfverMinorVersion}%
\fi
\ifx\bxpdfverMinorVersion\relax\else
- \bxpv@cache@fetch{dvipdfmxver}%
- \ifnum\bxpv@cache@@dvipdfmxver<20180217 \else
+ \bxpv@at@least@dvipdfmx@version{20180217}%
+ \ifbxpv@ok
\bxpv@put@special{pdf:majorversion \the\bxpdfverMajorVersion}%
\fi
\fi
@@ -734,7 +748,9 @@
\fi
% PK resolution
\ifx\bxpdfverPkResolution\relax\else
- \iffalse % This will never work....
+ \bxpv@check@dvipdfmx@version{20211016}%
+ {Cannot set PK resolution}%
+ \ifbxpv@ok
\bxpv@put@special{dvipdfmx:config r \the\bxpdfverPkResolution}%
\fi
\fi
@@ -748,10 +764,9 @@
\fi
% C option value
\ifx\bxpv@C@bits\@empty\else
- \bxpv@cache@fetch{dvipdfmxcfg}%
- \def\bxpv@next##1##2\bxpv@mk{\def\bxpv@C@value{##1}}%
- \expandafter\bxpv@next\bxpv@cache@@dvipdfmxcfg{0}\bxpv@mk
- \bxpv@rc@bitset{\bxpv@C@value}{64}%
+ % When C option is used, its value is automatically OR'ed with
+ % the current value, so we need read the config for that.
+ \def\bxpv@C@value{0}%
\def\do##1{%
\bxpv@rc@bitset{\bxpv@C@value}{##1}%
\let\bxpv@C@value\bxpv@rc@num}%
@@ -776,25 +791,58 @@
\fi
}
+%% \bxpv@get@dvipdfmx@known@min
+\@onlypreamble\bxpv@get@dvipdfmx@known@min
+\def\bxpv@get@dvipdfmx@known@min{%
+ \def\bxpv@dvipdfmx@known@min{0}%
+ \def\bxpv@tmpa{def}%
+ \let\bxpv@tmpb\@gobbletwo
+ \@ifl@aded\bxpv@tmpa{l3backend-dvipdfmx}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvipdfmx}}%
+ }{}%
+ \@ifl@aded\bxpv@tmpa{l3backend-dvips}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvips}}%
+ }{}%
+ \bxpv@tmpb{2022/04/10}{%
+ \def\bxpv@dvipdfmx@known@min{20201111}%
+ }{}%
+ \bxDebug{dvipdfmx-known-min:\bxpv@dvipdfmx@known@min}%
+}
+
+%% \bxpv@at@least@dvipdfmx@version{<version>}
+% Checks if dvipdfmx >= <version> and sets bxpv@ok.
+\@onlypreamble\bxpv@at@least@dvipdfmx@version
+\def\bxpv@at@least@dvipdfmx@version#1{%
+ % first check using known-min
+ \ifnum\bxpv@dvipdfmx@known@min<#1
+ % get real version
+ \bxpv@cache@fetch{dvipdfmxver}%
+ \bxpv@info
+ {dvipdfmx version is \bxpv@cache@@dvipdfmxver}%
+ \bxpv@oktrue
+ \ifnum\bxpv@cache@@dvipdfmxver<#1
+ \bxpv@okfalse
+ \fi
+ \else % new enough
+ \bxpv@oktrue
+ \fi
+}
+
%% \bxpv@check@dvipdfmx@version
\@onlypreamble\bxpv@check@dvipdfmx@version
\def\bxpv@check@dvipdfmx@version#1#2{%
- \bxpv@cache@fetch{dvipdfmxver}%
- \bxpv@okfalse
- \ifnum\bxpv@cache@@dvipdfmxver=\z@
+ \bxpv@at@least@dvipdfmx@version{#1}%
+ \ifbxpv@ok % no-op
+ \else\ifnum\bxpv@cache@@dvipdfmxver=\z@
\bxpv@fail
{#2, because the\MessageBreak
version of dvipdfmx in use is unknown
\MessageBreak (v.#1 or later is required)}%
- \else\ifnum\bxpv@cache@@dvipdfmxver<#1
+ \else
\bxpv@fail
{#2, because the\MessageBreak
version of dvipdfmx in use (v.\bxpv@cache@@dvipdfmxver) is too old
\MessageBreak (v.#1 or later is required)}%
- \else
- \PackageInfo\bxpv@pkgname
- {dvipdfmx version is \bxpv@cache@@dvipdfmxver\@gobble}%
- \bxpv@oktrue
\fi\fi
}
diff --git a/macros/latex/contrib/changebar/CATALOG b/macros/latex/contrib/changebar/CATALOG
index 50cd35da78..5483fa9c13 100644
--- a/macros/latex/contrib/changebar/CATALOG
+++ b/macros/latex/contrib/changebar/CATALOG
@@ -1,7 +1,7 @@
Name: ChangeBar
Problems-To: johannes.braams(at)texniek.nl
Author: J.L. Braams
-Version: 3.7d
+Version: 3.7e
Description:
diff --git a/macros/latex/contrib/changebar/README b/macros/latex/contrib/changebar/README
index 2a9c69bad7..bcd9ab0bbb 100644
--- a/macros/latex/contrib/changebar/README
+++ b/macros/latex/contrib/changebar/README
@@ -1,6 +1,6 @@
changebar bundle
- January 9, 2024
+ July 19, 2024
This bundle contains a package that I maintain to add changebars to a
LaTeX document.
diff --git a/macros/latex/contrib/changebar/changebar.bug b/macros/latex/contrib/changebar/changebar.bug
index d661332150..aa476a2224 100644
--- a/macros/latex/contrib/changebar/changebar.bug
+++ b/macros/latex/contrib/changebar/changebar.bug
@@ -219,6 +219,10 @@
% v3.7d JLB: Arash Esbati reported a simlar phenomenon when \nochangebars
% is used. Similar solution was needed.
%
+% v3.7e JLB: Daniel Flipo and Bruno Winckler reported that changebar no longer
+% works when \usepackage[french]{babel} is used. This was caused by the
+% solution implemented in v3.7b. This time use "/" is chosen as separator.
+%
% Known problems
% - changebars for marginal paragraphs collide with changebars
% for the main body of text
diff --git a/macros/latex/contrib/changebar/changebar.dtx b/macros/latex/contrib/changebar/changebar.dtx
index 406ccf5290..58df74102c 100644
--- a/macros/latex/contrib/changebar/changebar.dtx
+++ b/macros/latex/contrib/changebar/changebar.dtx
@@ -24,7 +24,7 @@
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{2954}
+% \CheckSum{2948}
%
%\iffalse
% This file is built for \LaTeXe, so we make sure an error is
@@ -39,7 +39,7 @@
\ProvidesFile{changebar.dtx}
%</dtx>
%<+package>\ProvidesPackage{changebar}
- [2024/01/09 v3.7d Indicate changes with marginal bars]
+ [2024/07/17 v3.7e Indicate changes with marginal bars]
% \end{macrocode}
%
% \section{A driver for this document}
@@ -137,7 +137,10 @@
% \changes{v3.6e}{2023/08/13}{Added supprt for luaTeX}
% \changes{v3.7b}{2023/12/28}{Added a few lines that were inadvertantly removed}
% \changes{v3.7b}{2023/12/30}{the cb2-file use delimiting chars may
-% change meaning when they end up in the wrong situation}
+% change meaning when they end up in the wrong situation}
+% \changes{v3.7e}{2024/07/17}{The us of the character `;´ as a string
+% separator clashes with it's active variant when babel/french has
+% been loaded}
%
% \title{The Changebar package
% \thanks{This file has version number \fileversion,
@@ -229,9 +232,7 @@
% \changes{v3.6a}{2011/04/30}{XeTeX added}
% \item Xe\TeX
% \changes{3.6e}{2023/08/13}{luaTeX added}
-% \begin{changebar}
% \item lua\TeX
-% \end{changebar}
% \end{itemize}
% The drivers are represented in the normal typewriter method of
% typing these names, or by the same entirely in lower case.
@@ -752,7 +753,7 @@
% \item V\TeX
% \item PDF\TeX
% \item Xe\TeX
-% \cbstart\item luaTeX\cbend
+% \item luaTeX
% \end{itemize}
%
% The intent is that the driver names should be case-insensitive,
@@ -799,10 +800,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\else\cb@pdftexerror\fi\fi\fi}
% \end{macrocode}
@@ -837,10 +845,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\gdef\sec@nd@ftw@##1 ##2{##2}
\fi}
@@ -854,7 +869,6 @@
{You are not using XeLaTeX}}
% \end{macrocode}
%
-% \begin{changebar}
% \begin{macrocode}
\DeclareOption{luaTeX}{\cb@luatexcheck}
\DeclareOption{luatex}{\cb@luatexcheck}
@@ -877,10 +891,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of ",¨ as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\fi}
% \end{macrocode}
@@ -892,7 +913,6 @@
{luaTeX option cannot be used}%
{You are not using luaLaTeX}}
% \end{macrocode}
-% \end{changebar}
%
% The new features of \LaTeXe\ make it possible to implement the
% \Lopt{outerbars} option.
@@ -1120,6 +1140,8 @@
% compatibility mode}
% \changes{v3.3e}{1998/02/24}{Added \cs{Textures}}
% \changes{v3.5a}{2005/05/23}{Added 'PDFtex' option}
+% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
+% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
% \begin{macrocode}
\if@compatibility
\def\driver#1{%
@@ -1132,17 +1154,9 @@
\def\Textures{TEXTURES}%
\def\VTeX{VTEX}%
\def\pdfTeX{PDFTEX}%
-% \end{macrocode}
-% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
-% \begin{macrocode}
\def\xeTeX{XETEX}
-% \end{macrocode}
-% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
-% \begin{changebar}
-% \begin{macrocode}
\def\luaTeX{LUATEX}
% \end{macrocode}
-% \end{changebar}
%
% The choice has to be communicated to the macro
% \verb=\cb@setup@specials= that will be called from within
@@ -1150,6 +1164,7 @@
% \verb=\cb@driver@setup= is used. It receives a numeric value
% using \verb=\chardef=.
% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
+% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
% \begin{macrocode}
\global\chardef\cb@driver@setup=0\relax
\ifx\tempa\LN \global\chardef\cb@driver@setup=0\fi
@@ -1160,14 +1175,7 @@
\ifx\tempa\VTeX \global\chardef\cb@driver@setup=5\fi
\ifx\tempa\pdfTeX \cb@pdftexcheck\fi
\ifx\tempa\xeTeX \cb@xetexcheck\fi
-% \end{macrocode}
-% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
-% \begin{changebar}
-% \begin{macrocode}
\ifx\tempa\luaTeX \cb@luatexcheck\fi
-% \end{macrocode}
-% \end{changebar}
-% \begin{macrocode}
\egroup}
% \end{macrocode}
% We add \verb+\driver+ to \verb+\@preamblecmds+, which is a
@@ -1464,11 +1472,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -1519,8 +1538,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -1565,7 +1589,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -1636,14 +1660,12 @@
% \begin{macrocode}
\gdef\cb@checkPdfxy##1##2##3##4##5{%
\cb@@findpdfpoint{##1}{##2}%
-% \end{macrocdode}
-% \begin{changebar}
-% \begin{macrocode
+% \end{macrocode}
+% \begin{macrocode}
\ifdim##3sp=\cb@pdfx\relax
\ifdim##4sp=\cb@pdfy\relax
-% \end{macrocdode}
-% \end{changebar}
-% \begin{macrocode
+% \end{macrocode}
+% \begin{macrocode}
\ifdim##5=\cb@pdfz\relax
\else
\cb@error
@@ -1741,11 +1763,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -1796,8 +1829,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -1842,7 +1880,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -1934,7 +1972,6 @@
\let\cb@resetpoints\relax
% \end{macrocode}
%
-% \begin{changebar}
% \changes{v3.6e}{2023/08/13}{lua\TeX{} support added}
% The code for lua\TeX{}, like for pdf\TeX\ and Xe\TeX,
% is more elaborate as the calculations have to
@@ -2012,11 +2049,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -2067,8 +2115,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -2113,7 +2166,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -2203,7 +2256,6 @@
\def\cb@maxpoint{9999999}
\let\cb@resetpoints\relax
% \end{macrocode}
-%\end{changebar}
%
% When code for other drivers should be added it can be inserted
% here. When someone makes a mistake and somehow selects an
@@ -2296,7 +2348,7 @@
\newcommand*{\nochangebars}{%
\def\cb@start[##1]{\ignorespaces}%
\def\cb@delete[##1]{}%
- \def\cb@end{\ignorespacesafterend}
+ \def\cb@end{\ignorespacesafterend}%
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/changebar/changebar.pdf b/macros/latex/contrib/changebar/changebar.pdf
index b313fe1c53..9025ebb624 100644
--- a/macros/latex/contrib/changebar/changebar.pdf
+++ b/macros/latex/contrib/changebar/changebar.pdf
Binary files differ
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
index 09126f6cc1..bed9614116 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
Binary files differ
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.sty b/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
index f1df3002c1..32b6e23fa1 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
@@ -1,5 +1,5 @@
%% The chemformula-ru package eliminates an incompatibility
-%% between the chemformula package and Russian settings (russian.ldf) of the babel package.
+%% between the chemformula package and Russian settings (russian.ldf) for the babel package.
%%
%% Copyright (c) 2024 by Alexey Kuznetsov (mailtokuznetsov at gmail.com)
%%
@@ -12,21 +12,21 @@
%% version 2008/05/04 or later.
%%
-\ProvidesPackage{chemformula-ru}[2024-03-01 Using chemformula package with babel-russian]
+\ProvidesPackage{chemformula-ru}[2024-07-10 Using chemformula package with babel-russian]
\DeclareOption{cosh2ch}{\def\cosh@ch{\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
\DeclareOption{ch2Ch}{\def\ch@Ch{\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
\endinput
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.tex b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
index 02edcbca41..192da90cb4 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
@@ -3,7 +3,6 @@
\geometry{total={180mm, 267mm}, centering}
\usepackage[russian]{babel}
-\usepackage{chemformula}
\usepackage[ch2Ch,cosh2ch]{chemformula-ru}
\usepackage{array,multicol}
@@ -11,7 +10,7 @@
\title{The \textsf{chemformula-ru} package}
\author{Alexey Kuznetsov}
-\date{01.03.2024}
+\date{10.07.2024}
\maketitle
\begin{multicols}{2}
@@ -23,9 +22,8 @@ Russian settings of the \textsf{babel} package \textsf{(russianb.ldf)} define th
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Loading packages together leads to the error\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-The \textsf{chemformula-ru} package ``neutralizes'' it by making the babel's command undefined.
-
-The package has two parameters to configure the printing of the hyperbolic cosine in Russian notation:\\[1ex]
+The \textsf{chemformula-ru} package loads the \textsf{chemformula} and ``neutralizes'' the error by making the babel's command undefined.
+Two it's parameters configure printing of the hyperbolic cosine in Russian notation:\\[1ex]
\begin{tabular}{>\sf l @{ ---\quad } p{.75\linewidth}}
cosh2ch & overrides the \verb|\cosh| command for printing:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -37,13 +35,12 @@ ch2Ch & defines a new \verb|\Ch| command for printing:\linebreak
\mbox{}\hfil\verb|\сh{|\textit{химическая фоормула}\verb|}|\\[.5ex]
для верстки химических формул:\\[.5ex]
\mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex]
-Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.5ex]
+Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.85\baselineskip]
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Cовместная загрузка пакетов ведет к ошибке\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-Пакет \textsf{chemformula-ru} <<нейтрализует>> ее, делая команду пакета \textsf{babel} неопределенной.
-
-Пакет имеет два параметра, настраивающих печать гиперболического косинуса в русских нотациях:\\[1ex]
+Пакет \textsf{chemformula-ru} загружает \textsf{chemformula} и <<нейтрализует>> ошибку, делая команду пакета \textsf{babel} неопределенной.
+Два его параметра настраивают печать гиперболического косинуса в русских нотациях:\\[1ex]
\begin{tabular}{>\sf l @{ --- } p{.8\linewidth}}
cosh2ch & переопределяет для печати команду \verb|\cosh|:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -52,10 +49,11 @@ ch2Ch & определяет для печати новую команду \verb
\end{tabular}
\end{multicols}
+\thispagestyle{empty}
+
\noindent\hrulefill
\begin{verbatim}
-
%% Redefine \cosh to print ch.
\DeclareOption{cosh2ch}{\def\cosh@ch{%
\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
@@ -64,19 +62,22 @@ ch2Ch & определяет для печати новую команду \verb
\DeclareOption{ch2Ch}{\def\ch@Ch{%
\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+%% Pass all other options to the chemformula package.
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
+
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ @ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
+\endinput
\end{verbatim}
\end{document}
diff --git a/macros/latex/contrib/cjs-rcs-article/README.md b/macros/latex/contrib/cjs-rcs-article/README.md
index 69c983dbb7..e28620a02d 100644
--- a/macros/latex/contrib/cjs-rcs-article/README.md
+++ b/macros/latex/contrib/cjs-rcs-article/README.md
@@ -16,11 +16,12 @@ compatible with the traditional engine pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c or (at your option) any
-later version.
+later version. The documentation is also licensed under CC BY-SA 4.0
+International.
## Version
-1.0 (2023-11-29)
+
## Author
@@ -103,7 +104,7 @@ version history of the bibliographic styles appears in
## Comments or suggestions
-The Gitlab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
+The GitLab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
is the best place to report bugs or to propose improvements to the
project.
@@ -127,11 +128,12 @@ grande partie compatible avec le moteur pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c ou (à votre choix) toute
-version ultérieure.
+version ultérieure. La documentation est également publiée sous
+licence CC BY-SA 4.0 International.
## Version
-1.0 (2023-11-29)
+
## Auteur
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
index 5ec31c2669..c64b7fa0a2 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
index 9376ddbbf3..cab40dfb50 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
@@ -3,7 +3,7 @@
% Article class for The Canadian Journal of Statistics | La revue
% canadienne de statistique
%
-% Copyright (C) Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% The class file and templates derived from this file are licenced
@@ -25,10 +25,10 @@
%<*driver>
\ProvidesFile{cjs-rcs-article.dtx}
%</driver>
-%<class>\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+%<class>\NeedsTeXFormat{LaTeX2e}[2021/06/01]
%<class>\ProvidesClass{cjs-rcs-article}%
%<*class>
- [2023/11/29 v1.0 Article class for The Canadian Journal of
+[2024/07/14 v1.1 Article class for The Canadian Journal of
Statistics | La revue canadienne de statistique]
%</class>
%<*driver>
@@ -122,6 +122,10 @@
\OnlyDescription
\fi
+ %% Additional colors
+ \colorlet{codebg}{LightYellow1} % code background
+ \colorlet{prompt}{Orchid4} % command prompt
+
%% New \DescribeMacro type environments for class options and lengths
\NewDocElement[envlike,notoplevel,printtype=\emph{option}]{Option}{option}
\NewDocElement[macrolike,notoplevel,printtype=$\ell$]{Length}{length}
@@ -139,9 +143,12 @@
\newcommand*\CJSbstfr{\code{cjs-rcs-fr}}
\makeatother
+ %% URL of the project repository
+ \newcommand*\reposurl{https://gitlab.com/cjs-rcs/cjs-rcs-article}
+
%% Redefine \year using information from \filedate instead of using
%% compilation time
- \def\parsedate#1/#2/#3\relax{\def\year{#1}}
+ \def\parsedate#1/#2/#3\relax{\def\year{#1}\def\isodate{#1-#2-#3}}
%% Definition of a shorthand to either hyphenate a word or insert a
%% regular dash. Use in the long names of Creative Commons licences.
@@ -149,6 +156,26 @@
\useshorthands*{"}
\defineshorthand{"-}{\discretionary{-}{}{-}}
+ %% Source code
+ \usepackage{listings}
+ \lstset{%
+ basicstyle=\ttfamily\NoAutoSpacing,
+ moredelim=[is][\color{prompt}]{---}{-},
+ escapeinside=`',
+ showstringspaces=false,
+ backgroundcolor=\color{codebg},
+ frame=leftline,
+ framerule=2pt,
+ framesep=5pt,
+ xleftmargin=7.4pt
+ }
+
+ %% The \meta command from memoir needs an additionnel \normalfont to
+ %% use the document font in listings.
+ \makeatletter
+ \def\meta@font@select{\normalfont\itshape}
+ \makeatother
+
\begin{document}
\DocInput{cjs-rcs-article.dtx}
\end{document}
@@ -257,6 +284,18 @@
% CTAN.}
% \changes{1.0}{2023-11-29}{Fix various typos and cosmetic issues in
% the documentation.}
+% \changes{1.1}{2024-06-26}{Provide support to acknowledge usage of
+% data from the Alzheimer’s Disease Neuroimaging Initiative (ADNI) and
+% the Alzheimer’s Disease Neuroimaging Metabolomics Consortium
+% (ADMC).}
+% \changes{1.1}{2024-06-26}{Introduce new commands \cs{specialack} and
+% \cs{specialackmark} for the editors.}
+% \changes{1.1}{2024-06-23}{Improve the documentation, in particular
+% the installation instructions and access to the templates.}
+% \changes{1.1}{2024-07-02}{Add the References section to the table of
+% contents of the PDF.}
+% \changes{1.1}{2024-07-13}{Add the command \cs{matit} to typeset bold
+% italic in math in a portable way.}
%
% \ifenglish%
% \title[Guide to the class {\CJSclass}]{%
@@ -353,11 +392,9 @@
% {\CJSclass} requiert une distribution {\TeX} récente et
% à jour. Nous recommandons les distributions %
% \fi
-% \href{https://tug.org/texlive}{{\TeX}~Live} %
-% --- %
+% \href{https://tug.org/texlive}{{\TeX}~Live}\ifenglish---\else~--- \fi%
% \ifenglish or its variant for macOS \else ou sa variante pour macOS \fi%
-% \href{https://tug.org/mactex}{Mac{\TeX}} %
-% --- %
+% \href{https://tug.org/mactex}{Mac{\TeX}}\ifenglish---\else~--- \fi%
% \ifenglish and \else et \fi%
% \href{https://miktex.org}{MiK{\TeX}}. %
% \ifenglish%
@@ -425,17 +462,28 @@
% \section{Démarrage rapide}
% \fi
% \label{sec:quick-start}
+% \changes{1.1}{2024-06-05}{Documentation: add a link to obtain the
+% templates in the \emph{Quick start} section.}
%
% \ifenglish%
% The class ships with templates for articles in English and in
% French. In {\TeX}~Live, these are located with the
-% documentation of the class. To quickly start writing your article,
-% copy the appropriate template to your working directory and follow
-% the brief instructions therein. %
+% documentation of the class. You may also obtain the templates from
+% the %
% \else%
% La classe est livrée avec des gabarits pour des articles en français
% et en anglais. Dans la distribution {\TeX}~Live, ceux-ci sont
-% classés avec la documentation. Pour débuter rapidement la rédaction
+% classés avec la documentation. Vous pouvez aussi les récupérer
+% depuis le %
+% \fi%
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}. %
+% \ifenglish%
+% To quickly start writing your article, copy the appropriate template
+% to your working directory and follow the brief instructions
+% therein. %
+% \else%
+% Pour débuter rapidement la rédaction
% de votre article, copiez le gabarit approprié dans votre dossier de
% travail et suivez les directives succinctes qui s'y trouvent. %
% \fi
@@ -490,6 +538,9 @@
% \changes{0.91}{2023-10-16}{Change the name of the archive containing
% a ``local'' installation of the class from
% \texttt{-no-local-tex.zip} to \texttt{-project-install.zip}.}
+% \changes{1.1}{2024-06-05}{Documentation: provide a direct link to
+% the release corresponding to the version of the documentation in the
+% \emph{Installation} section.}
%
% \ifenglish%
% The class {\CJSclass} is distributed as the package %
@@ -507,21 +558,33 @@
% the command line: %
% \else%
% via le réseau de sites \emph{Comprehensive {\TeX} Archive Network}
-% (CTAN). Elle fait partie des distributions {\TeX} standards telles
-% que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons fortement
-% d'installer ou de mettre à jour le paquetage à l'aide du
+% (CTAN). Celui-ci fait partie des distributions {\TeX} standards
+% telles que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons
+% fortement d'installer ou de mettre à jour le paquetage à l'aide du
% gestionnaire de paquetages de votre distribution {\TeX}. Par
-% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations dans
-% l'assistant graphique, ou encore avec l'une ou l'autre des commandes
-% ci-dessous: %
+% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations
+% dans l'assistant graphique, ou encore avec l'une ou l'autre des
+% commandes ci-dessous: %
+% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+---$- tlmgr install cjs-rcs-article
+\end{lstlisting}
+% \iffalse
+%</example>
% \fi
-% \begin{quote}
-% \code{tlmgr install cjs-rcs-article}
-% \end{quote}
% \ifenglish or\else ou\fi
-% \begin{quote}
-% \code{tlmgr update cjs-rcs-article}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+---$- tlmgr update cjs-rcs-article
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% \ifenglish%
% If you are not in position to install packages or update the {\TeX}
@@ -530,23 +593,23 @@
% limited in scope to your project. Download the archive %
% \else%
% S'il vous est impossible d'installer des paquetages ou de mettre à
-% jour la distribution {\TeX} --- notamment si vous utilisez une
-% plateforme de rédaction en ligne --- vous pouvez procéder à une
+% jour la distribution {\TeX}~--- notamment si vous utilisez une
+% plateforme de rédaction en ligne~--- vous pouvez procéder à une
% installation simplifiée de la classe, mais dont la portée sera
% limitée à votre projet. Pour ce faire, téléchargez l'archive %
% \fi%
% \code{cjs-rcs-article-project-install.zip} %
% \ifenglish from the \else depuis le \fi%
-% \href{https://gitlab.com/cjs-rcs/cjs-rcs-article/-/releases}{%
-% \ifenglish project repository\else dépôt du projet\fi} %
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}, %
% \ifenglish%
-% and uncompress it in the directory of your project. You will then
-% have access to all the essential files of the class within this
-% project. %
+% uncompress it and place its contents in the directory of your
+% project. You will then have access to all the essential files of the
+% class within this project. %
% \else%
-% et décompressez celle-ci dans le répertoire de votre projet. Vous
-% disposerez alors de tous les fichiers essentiels de la classe à
-% l'intérieur de ce projet. %
+% décompressez celle-ci et placez son contenu dans le répertoire de
+% votre projet. Vous disposerez alorsà l'intérieur de ce projet de
+% tous les fichiers essentiels de la classe. %
% \fi
%
% \ifenglish%
@@ -631,7 +694,7 @@
% {pdf\LaTeX} utilise les versions Type~1 des polices STIX~Two et
% Fira. Or, la technologie Type~1 PostScript étant aujourd'hui
% obsolète, ces polices ne sont plus mises à jour. Le moteur
-% {\XeLaTeX} utilise les plus modernes --- et complètes --- versions
+% {\XeLaTeX} utilise les plus modernes~--- et complètes~--- versions
% OpenType des polices.}, %
% nous recommandons de compiler votre manuscript avec le plus moderne
% moteur {\XeLaTeX}. %
@@ -643,24 +706,34 @@
% \subsection{Gabarits}
% \fi
% \label{sec:usage:templates}
+% \changes{1.1}{2024-06-05}{Documentation: add a link to the templates
+% in the \emph{Templates} sub-section.}
%
% \ifenglish%
% The class is distributed with templates for articles in English
% and in French. If you are using the version of the class included
% with your {\TeX} distribution, the templates may be located with the
-% documentation (this is the case in {\TeX}~Live). If you installed
-% the class manually by following the instructions in
-% \autoref{sec:installation}, the templates reside in your working
-% directory. %
+% documentation (this is the case in {\TeX}~Live). You may also obtain
+% them from the %
% \else
% La classe est distribuée avec des gabarits pour des articles en français
% et en anglais. Si vous utilisez la version de la classe fournie avec
% votre distribution {\TeX}, les gabarits peuvent être classés avec
-% la documentation (c'est le cas dans {\TeX}~Live). Si vous avez
+% la documentation (c'est le cas dans {\TeX}~Live). Vous pouvez aussi
+% les récupérer depuis le %
+% \fi
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}. %%
+% \ifenglish
+% If you installed the class manually by following the instructions in
+% \autoref{sec:installation}, the templates reside in your working
+% directory. %
+% \else%
+% Si vous avez
% plutôt installé la classe manuellement en suivant les instructions
% de la \autoref{sec:installation}, les gabarits se trouvent dans
% votre dossier de travail. %
-% \fi
+% \fi%
%
% \ifenglish%
% We strongly encourage to start from a template to write your
@@ -705,13 +778,19 @@
% \label{sec:usage:options}
%
% \ifenglish%
-% The class is loaded with the command %
+% The class is loaded with the command: %
% \else%
-% On charge la classe avec la commande %
+% On charge la classe avec la commande: %
+% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\documentclass`\oarg{options}\marg{cjs-rcs-article}'
+\end{lstlisting}
+% \iffalse
+%</example>
% \fi
-% \begin{quote}
-% \cmdprint{\documentclass}\oarg{options}\code{\{cjs-rcs-article\}}
-% \end{quote}
% \ifenglish%
% Some \meta{options} of the class are intended for the authors,
% whereas others are instead intended for the editors of {\TheCJS*}.
@@ -931,22 +1010,28 @@
% du titre qui sera utilisée dans les entêtes. La syntaxe de la
% commande est donc: %
% \fi
-% \begin{quote}
-% \def\OPT{\ifenglish Short title\else Titre court\fi}
-% \def\ARG{\ifenglish Full title\else Titre complet\fi}
-% \cmdprint{\title}\oarg{\OPT}\marg{\ARG}
-% \end{quote}
-% \ifenglish%
-% Write the title in sentence style, that is, with only an initial
-% capital. In English, also capitalize the first word after a colon.
-% Break a long title needing more than one line using \code{\bs\bs}
-% or \cmdprint{\newline}. %
-% \else%
-% Entrez le titre en minuscules (sauf pour la majuscule initiale).
-% En anglais, utilisez toutefois une majuscule initiale après un
-% deux-points. Vous devez couper manuellement avec \code{\bs\bs} ou
-% \cmdprint{\newline} un titre qui nécessite plus d'une ligne.
-% \fi
+% \iffalse
+%<*example>
+% \fi
+\def\OPT{\ifenglish Short title\else Titre court\fi}
+\def\ARG{\ifenglish Full title\else Titre complet\fi}
+\begin{lstlisting}
+\title`\oarg{\OPT}\marg{\ARG}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% Write the title in sentence style, that is, with only an initial
+% capital. In English, also capitalize the first word after a colon.
+% Break a long title needing more than one line using \code{\bs\bs}
+% or \cmdprint{\newline}. %
+% \else%
+% Entrez le titre en minuscules (sauf pour la majuscule initiale).
+% En anglais, utilisez toutefois une majuscule initiale après un
+% deux-points. Vous devez couper manuellement avec \code{\bs\bs} ou
+% \cmdprint{\newline} un titre qui nécessite plus d'une ligne.
+% \fi
% \end{DescribeMacro}
%
% \ifenglish%
@@ -994,11 +1079,17 @@
% informations relatives à un auteur de l'article. Sa syntaxe
% générale est la suivante: %
% \fi
-% \begin{quote}
-% \def\FORENAME{\ifenglish Forename\else Prénom\fi}
-% \def\SURNAME{\ifenglish Surname\else Nom\fi}
-% \cmdprint{\author}\oarg{options}\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\FORENAME{\ifenglish Forename\else Prénom\fi}
+\def\SURNAME{\ifenglish Surname\else Nom\fi}
+\begin{lstlisting}
+\author`\oarg{options}'{`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% The \meta{Surname} must be entered using the command
% \cmd{\surname}. Write the \meta{Forename} and \meta{Surname} in
@@ -1113,15 +1204,27 @@
% \def\FORENAME{\ifenglish Forename\else Prénom\fi}
% \def\SURNAME{\ifenglish Surname\else Nom\fi}
% \item \ifenglish For the corresponding author\else Pour l'auteur correspondant\fi:
-% \begin{quote}
-% \cmdprint{\author}\code{[orcid=}\meta{id}\code{, email=}\meta{\EMAIL}\code{, corresponding]} \\
-% \verb+ +\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\author[orcid=`\meta{id}', email=`\meta{\EMAIL}', corresponding]
+ {`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \item \ifenglish For all other authors\else Pour tous les autres auteurs\fi:
-% \begin{quote}
-% \cmdprint{\author}\code{[orcid=}\meta{id}\code{, email=}\meta{\EMAIL}\code{]} \\
-% \verb+ +\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\author[orcid=`\meta{id}', email=`\meta{\EMAIL}']
+ {`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{itemize}
% \end{DescribeMacro}
% \end{DescribeMacro}
@@ -1136,11 +1239,17 @@
% mentionné dans la commande \cmd{\author} qui la précède. La forme
% générale de l'affiliation est: %
% \fi
-% \begin{quote}
-% \def\AFFIL{\ifenglish Department, University, City, Country\else%
-% Département, Université, Ville, Pays\fi}
-% \cmd{\affil}\marg{\AFFIL}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\AFFIL{\ifenglish Department, University, City, Country\else%
+ Département, Université, Ville, Pays\fi}
+\begin{lstlisting}
+\affil`\marg{\AFFIL}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% Give the country name in the main language of the article. %
% \else%
@@ -1164,13 +1273,19 @@
% premier auteur suivi de la locution «et collab.» (en français) ou
% «et al.» (en anglais): %
% \fi
-% \begin{quote}
-% \def\SURNAME{\ifenglish Surname\else Nom\fi}
-% \def\ETAL{\ifenglish et al.\else et collab.\fi}
-% \def\ETCOLLAB{\ifenglish et collab.\else et al.\fi}
-% \cmdprint{\runningauthor}\code{\{}\meta{\SURNAME}\code{ \ETAL\}} \\
-% \cmdprint{\runningauthor}\code{\{}\meta{\SURNAME}\code{ \ETCOLLAB\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\SURNAME{\ifenglish Surname\else Nom\fi}
+\def\ETAL{\ifenglish et al.\else et collab.\fi}
+\def\ETCOLLAB{\ifenglish et collab.\else et al.\fi}
+\begin{lstlisting}
+\runningauthor{`\meta{\SURNAME} \ETAL'}
+\runningauthor{`\meta{\SURNAME} \ETCOLLAB'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{DescribeMacro}
%
% \ifenglish%
@@ -1224,16 +1339,22 @@
% mots-clés de l'article. Il s'utilise comme une liste
% \code{itemize} ou \code{enumerate}: %
% \fi
-% \begin{quote}
-% \def\KEYWORDC{\ifenglish Key word\else Mot-clé\fi}
-% \def\KEYWORD{\ifenglish key word\else mot-clé\fi}
-% \cmdprint{\begin}\code{\{keywords\}} \\
-% \cmdprint{\item} \emph{{\KEYWORDC} 1} \\
-% \cmdprint{\item} \emph{{\KEYWORD} 2} \\
-% \cmdprint{\item} \emph{{\KEYWORD} 3} \\
-% \code{...} \\
-% \cmdprint{\end}\code{\{keywords\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\KEYWORDC{\ifenglish Key word\else Mot-clé\fi}
+\def\KEYWORD{\ifenglish key word\else mot-clé\fi}
+\begin{lstlisting}
+\begin{keywords}
+\item `\normalfont\itshape{\KEYWORDC} 1'
+\item `\normalfont\itshape{\KEYWORD} 2'
+\item `\normalfont\itshape{\KEYWORD} 3'
+...
+\end{keywords}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% As shown above, use an initial capital for the first key word
% only. Punctuation will be added automatically. %
@@ -1261,15 +1382,21 @@
% classification mathématique par matières de l'article. Son
% interface est la suivante: %
% \fi
-% \begin{quote}
-% \def\LEVEL{\ifenglish level\else niveau\fi}
-% \def\CODE{\ifenglish code\else rubrique\fi}
-% \cmdprint{\begin}\code{\{classification\}}\oarg{type} \\
-% \cmdprint{\item}\oarg{\LEVEL} \emph{{\CODE} 1}, \emph{{\CODE} 2}, \dots \\
-% \cmdprint{\item}\oarg{\LEVEL} \emph{{\CODE} 1}, \emph{{\CODE} 2}, \dots \\
-% \code{...} \\
-% \cmdprint{\end}\code{\{classification\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\LEVEL{\ifenglish level\else niveau\fi}
+\def\CODE{\ifenglish code\else rubrique\fi}
+\begin{lstlisting}
+\begin{classification}`\oarg{type}'
+\item`\oarg{\LEVEL} \normalfont\itshape{\CODE} 1, {\CODE} 2, \dots'
+\item`\oarg{\LEVEL} \normalfont\itshape{\CODE} 1, {\CODE} 2, \dots'
+...
+\end{classification}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% The classification system used is %
% \else%
@@ -1331,7 +1458,53 @@
% les options \code{review}, \code{supplement} et \code{nocjs},
% l'espace est remplacé par un pied de page contenant le numéro de
% page. %
-% \fi%
+% \fi
+%
+% \ifenglish%
+% \subsubsection{ADNI data use agreement}
+% \else%
+% \subsubsection{Contrat d'utilisation des données de l'ADNI}
+% \fi
+% \label{sec:usage:titling:adni}
+%
+% \ifenglish%
+% The Alzheimer’s Disease Neuroimaging Initiative (ADNI) %
+% \else%
+% Le %
+% \fi
+% \href{https://adni.loni.usc.edu/wp-content/uploads/how_to_apply/ADNI_DSP_Policy.pdf}{\ifenglish Data Sharing and Publication Policy\else contrat d'utilisation des données\fi} %
+% \ifenglish%
+% requires authors using their data to acknowledge ADNI in the list of
+% authors and give a specific statement on the title page. %
+% \else%
+% de l'Alzheimer’s Disease Neuroimaging Initiative (ADNI) stipule que
+% les auteurs qui ont recours à leurs données doivent reconnaitre la
+% contribution de l'ADNI parmi les auteurs et inclure une déclaration
+% spécifique sur la page de titre de l'article. %
+% \fi
+%
+% \begin{DescribeMacro}{\ADNIacknowledgement}
+% \ifenglish%
+% The command \cmd{\ADNIacknowledgement} adds these two
+% requirements. The command has no arguments; simply insert it after
+% the declarations of the authors. %
+% \else%
+% La commande \cmd{\ADNIacknowledgement} ajoute ces deux exigences.
+% La commande n'a aucun argument; insérez simplement celle-ci après
+% toutes les autres définitions des auteurs. %
+% \fi
+% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\ADMCacknowledgement}
+% \ifenglish%
+% Similarly, the command \cmd{\ADMCacknowledgement} acknowledges the
+% Alzheimer’s Disease Meta\-bo\-lomics Consortium (ADMC). %
+% \else%
+% De manière analogue, la commande \cmd{\ADMCacknowledgement}
+% reconnait la contribution du
+% Alzheimer’s Disease Metabolomics Consortium (ADMC). %
+% \fi
+% \end{DescribeMacro}
%
% \ifenglish%
% \subsection{Back matter information}
@@ -1342,17 +1515,19 @@
%
% \ifenglish%
% Articles in {\TheCJS} end with elements forming the so-called back
-% matter: supplementary material available online, acknowledgements,
-% etc. The class {\CJSclass} provides specialized environments to
-% enter this information. See \autoref{tab:titling} for a summary; the
-% detailed descriptions follow. %
+% matter: supplementary material available online, data sharing
+% statement, acknowledgements, etc. The class {\CJSclass} provides
+% specialized environments to enter this information. See
+% \autoref{tab:titling} for a summary; the detailed descriptions
+% follow. %
% \else%
% Un article de {\LaRevue} se termine par la présentation d'un
% ensemble d'informations dans des parties annexes: matériel
-% additionnel disponible en ligne, remerciements, etc. La classe
-% {\CJSclass} définit des environnements pour entrer ce type
-% d'information de manière uniforme. Le \autoref{tab:backmatter} en
-% présente un sommaire; les descriptions détaillées suivent. \fi
+% additionnel disponible en ligne, conditions de partage des données,
+% remerciements, etc. La classe {\CJSclass} définit des environnements
+% pour entrer ce type d'information de manière uniforme. Le
+% \autoref{tab:backmatter} en présente un sommaire; les descriptions
+% détaillées suivent. \fi
%
% \begin{table}[t]
% \centering
@@ -1428,18 +1603,34 @@
% \fi
% \end{DescribeEnv}
%
+% \changes{1.1}{2024-01-23}{Documentation: revise the description of
+% the \texttt{sharing} environment now that the CJS adhered to the
+% Expects Data Sharing editorial policy of Wiley.}
% \begin{DescribeEnv}{sharing}
+% \def\POLICYNAME{\ifenglish Expects Data Sharing\else \emph{Expects Data Sharing}\fi}
+% \ifenglish%
+% {\TheCJS} adheres to the %
+% \else%
+% {\LaRevue} respecte la politique éditoriale %
+% \fi%
+% \href{https://authorservices.wiley.com/author-resources/Journal-Authors/open-access/data-sharing-citation/data-sharing-policy.html}{\POLICYNAME} %
% \ifenglish%
-% If you wish to share data or the code, use the environment
-% \code{sharing} to describe how to access this material, providing
-% a persistent identifier, such as a digital object identifier (DOI)
-% or a URL. %
+% editorial policy of Wiley. Therefore, you must use the environment
+% \code{sharing} to make a statement about the availability or
+% absence of shared data. In case of ethical or legal concerns, we
+% encourage you to provide synthetic data instead if possible.
+% Provide a persistent identifier to access the data, such as a
+% digital object identifier (DOI) or a URL. You may also use the
+% environment to describe how to access shared computer code. %
% \else%
-% Si vous mettez les données ou le code de votre article à
-% disposition, utilisez l'environnement \code{sharing} pour
-% expliquer comment accéder à ce matériel et pour indiquer un lien
-% permanent, comme un identificateur d'objets numériques (DOI) ou
-% une adresse URL. %
+% de Wiley. Par conséquent, vous devez utiliser l'environnement
+% \code{sharing} pour préciser les conditions de partage des données
+% de recherche, ou encore leur absence, le cas échéant. En cas
+% d'enjeux éthiques ou légaux, veuillez utiliser si possible des
+% données de synthèse. Indiquez un lien permanent pour accéder aux
+% données, comme un identificateur d'objets numériques (DOI) ou une
+% adresse URL. Vous pouvez aussi utiliser l'environnement pour
+% indiquer comment accéder à du code informatique partagé. %
% \fi
% \end{DescribeEnv}
%
@@ -1644,10 +1835,16 @@
% la page de titre du présent document a été composée avec la commande
% suivante: %
% \fi
-% \begin{quote}
-% \cmd{\licence}\code{\{\{}\cmdprint{\ccbysa*}\code{\} {\year}, Statistical Society of Canada \{}\cmdprint{\textbar}\code{\}} \\
-% \verb+ +\code{Société canadienne de statistique\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\licence{{\ccbysa*} `\year', Statistical Society of Canada {\textbar}
+ Société canadienne de statistique}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% \ifenglish%
% \subsection{Mathematics}
@@ -1655,6 +1852,8 @@
% \subsection{Mathématiques}
% \fi
% \label{sec:usage:mathematics}
+% \changes{1.1}{2024-01-23}{Documentation: specify that the class is
+% not compatible with the package \textbf{amssymb}.}
%
% \ifenglish%
% The class automatically loads the packages %
@@ -1666,16 +1865,18 @@
% \ifenglish%
% and, when the document is compiled with {\XeLaTeX}, %
% \else%
-% et, lorsque le document est compilé avec {\XeLaTeX},
+% et, lorsque le document est compilé avec {\XeLaTeX}, %
% \fi%
% \href{https://ctan.org/pkg/unicode-math}{\pkg{unicode-math}}. %
% \ifenglish%
-% The class also defines a number of commands and environments to
-% standardize the typesetting of mathematical content in {\TheCJS}.
+% Note that it is not compatible with the package \pkg{amssymb}. The
+% class also defines a number of commands and environments to
+% standardize the typesetting of mathematical content in {\TheCJS}. %
% \else%
-% Elle définit également des commandes et des environnements pour
-% assurer une mise en forme standardisée des mathématiques dans
-% {\LaRevue}.
+% En revanche, elle n'est pas compatible avec le paquetage
+% \pkg{amssymb}. La classe définit également des commandes et des
+% environnements pour assurer une mise en forme standardisée des
+% mathématiques dans {\LaRevue}. %
% \fi
%
% \ifenglish%
@@ -1724,6 +1925,9 @@
% \cmd{\mat} &
% \ifenglish matrix or vector \else matrice ou vecteur \fi &
% \cmdprint{\mat}\code{\{A\}} & $\mat{A}$ \\
+% \cmd{\matit} &
+% \ifenglish matrix or vector (italic) \else matrice ou vecteur (italique) \fi &
+% \cmdprint{\matit}\code{\{x\}} & $\matit{x}$ \\
% \cmd{\trsp} &
% \ifenglish transposition \else transposée \fi &
% \cmdprint{\mat}\code{\{A\}}\cmdprint{\trsp} & $\mat{A}\trsp$ \\
@@ -1800,7 +2004,7 @@
% \begin{tabbing}
% \hspace*{2.5em}\=\cmd{\prdist}\code{\{E\}(\cmd{\lambda})}%
% \quad\=$\rightarrow$ \quad\=$\prdist{N}(0, 1)$ \quad\=\kill
-% \>\cmd{\prdist}\code{\{N\}(0, 1)}%
+% \>\cmd{\prdist}\code{\{N\}(0, 1)} %
% \>$\rightarrow$ %
% \>$\prdist{N}(0, 1)$ %
% \>(\ifenglish Normal\else normale\fi) \\
@@ -1816,26 +2020,36 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\mat}
-% \begin{DescribeMacro}{\trsp}
-% \begin{DescribeMacro}{\tr}
-% \begin{DescribeMacro}{\diag}
+% \begin{DescribeMacro}{\matit}
% \ifenglish%
% The command \cmd{\mat} typesets a variable in roman bold, a style
% often used for matrices and vectors (hence the name of the
-% command). To indicate matrix transposition, use only the command
-% \cmd{\trsp}. The commands \cmd{\tr} and \cmd{\diag} define two
-% other common linear algebra operators, the trace and the
-% diagonal. %
+% command). The command \cmd{\matit} is similar, but for a variable
+% in bold italic.
% \else%
% La commande \cmd{\mat} compose une variable en romain gras, ce qui
% est souvent utilisé pour les matrices et les vecteurs (d'où le nom
-% de la commande). Pour indiquer la transposée d'une matrice,
-% utilisez uniquement la commande \cmd{\trsp}. Les commandes
-% \cmd{\tr} et \cmd{\diag} définissent deux autres opérateurs
-% courants en algèbre linéaire, la trace et la diagonale. %
+% de la commande). La commande \cmd{\matit} produit plutôt une
+% variable en gras italique.
% \fi
% \end{DescribeMacro}
% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\trsp}
+% \begin{DescribeMacro}{\tr}
+% \begin{DescribeMacro}{\diag}
+% \ifenglish%
+% To indicate matrix transposition, use only the command
+% \cmd{\trsp}. The commands \cmd{\tr} and \cmd{\diag} define
+% two other common linear algebra operators, the trace and the
+% diagonal. %
+% \else%
+% Pour indiquer la transposée d'une matrice, utilisez uniquement la
+% commande \cmd{\trsp}. Les commandes \cmd{\tr} et \cmd{\diag}
+% définissent deux autres opérateurs courants en algèbre linéaire,
+% la trace et la diagonale. %
+% \fi
+% \end{DescribeMacro}
% \end{DescribeMacro}
% \end{DescribeMacro}
%
@@ -1999,6 +2213,23 @@
% Évitez si possible les indices doubles et n'utilisez jamais
% d'indices triples. %
% \fi
+% \changes{1.1}{2024-03-06}{Documentation: add an advice on the
+% typesetting of bold symbols in mathematics.}
+% \item %
+% \ifenglish%
+% Bold in mathematics is a tricky issue. Use the aforementioned
+% class commands \cmdprint{\mat} and \cmdprint{\matit} to generate
+% bold symbols reliably across {\TeX} engines. With {\XeLaTeX},
+% \cmdprint{\mat} also works with Greek letters (that will be
+% typeset in italic). %
+% \else%
+% La composition en gras en mathématiques est une opération
+% délicate. Utilisez les commandes de la classe \cmdprint{\mat} et
+% \cmdprint{\matit} mentionnées précédemment pour composer
+% automatiquement des symboles en gras quelque soit le moteur
+% {\TeX}. Avec {\XeLaTeX}, \cmdprint{\mat} fonctionne aussi avec les
+% lettres grecques (qui sont alors composées en italique). %
+% \fi
% \item %
% \ifenglish%
% Always use the command \cmdprint{\ell} to obtain the symbol
@@ -2094,13 +2325,19 @@
% («équation», «inégalité», «relation», etc.), ainsi que par une
% espace insécable: %
% \fi
-% \begin{quote}
-% \def\LABEL{\ifenglish label\else étiquette\fi}
-% \def\EQN{\ifenglish equation\else équation\fi}
-% \def\INEQ{\ifenglish inequalities\else inégalités\fi}
-% \code{\EQN~}\cmdprint{\eqref}\marg{\LABEL} \\
-% \code{\INEQ~}\cmdprint{\eqref}\marg{\LABEL}\code{{-}{-}}\cmdprint{\eqref}\marg{\LABEL}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+ \def\LABEL{\ifenglish label\else étiquette\fi}
+ \def\EQN{\ifenglish equation\else équation\fi}
+ \def\INEQ{\ifenglish inequalities\else inégalités\fi}
+\begin{lstlisting}
+`\EQN'~\eqref`\marg{\LABEL}'
+`\INEQ'~\eqref`\marg{\LABEL}'--\eqref`\marg{\LABEL}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{itemize}
%
% \ifenglish%
@@ -2533,72 +2770,137 @@
% description pour un nouvel environnement \meta{env}, insérez la
% commande suivante dans le préambule de votre document: %
% \fi
-% \begin{quote}
-% \cmdprint{\addto}\cmdprint{\extras}\code{\languagename}\code{\{}\cmdprint{\def}\code{\bs}\meta{env}\code{autorefname}\marg{description}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\addto\extras`\languagename'{\def\`\meta{env}'autorefname`\marg{description}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% (If the main language of the article is French, replace
% \cmdprint{\extras}\code{\languagename} by
-% \cmdprint{\extrasfrench}.)\footnote{%
+% \cmdprint{\extrasfrench}.\footnote{%
% For further details, see Section~6 of the documentation of
-% \pkg{hyperref}.} %
+% \pkg{hyperref}.}) %
% \else%
% (Si la langue principale de l'article est l'anglais, remplacez
% \cmdprint{\extras}\code{\languagename} par
-% \cmdprint{\extrasenglish}.)\footnote{%
+% \cmdprint{\extrasenglish}.\footnote{%
% Consultez au besoin la section~6 de la documentation de
-% \pkg{hyperref}.} %
+% \pkg{hyperref}.}) %
% \fi
%
% \begin{DescribeMacro}{\texorpdfstring}
% \changes{0.93}{2023-11-07}{Fix the name of a command from
% \cs{textorpdfstring} to the correct \cs{texorpdfstring} in the
-% documentation.}
+% documentation.}%
+% \changes{1.1}{2024-03-12}{Documentation: mention to also use
+% \cs{texorpdfstring} to fix \texttt{Token not allowed in a PDF
+% string} warnings.}
% \ifenglish%
-% The compilation of your manuscript may halt with the error message
+% The package \pkg{hyperref} builds the table of contents of the
+% PDF. If you use mathematical notation or symbols in a section
+% title, compilation of your manuscript may either result in
+% warnings of the form %
+% \else%
+% Le paquetage \pkg{hyperref} se charge de produire la table des
+% matières du fichier PDF. Si vous utilisez de la notation ou des
+% symboles mathématiques dans un titre de section, la compilation de
+% votre article pourrait soit résulter en des avertissements de la
+% forme %
+% \fi%
% \begin{quote}
-% \code{Improper alphabetic constant}
+% Token not allowed in a PDF string
% \end{quote}
-% The reason is most likely that you use a mathematical symbol in a
-% section title that \pkg{hyperref} is not able to properly
-% translate for the table of contents of the PDF. If you need
-% the symbol, try wrapping it in \cmd{\texorpdfstring}. This
-% command takes two arguments: the symbol that should appear in the
-% document, and the replacement text for the table of contents. For
-% example, you would replace %
+% \ifenglish%
+% or halt with the error message %
% \else%
-% Il se pourrait que la compilation de votre article échoue avec le
-% message d'erreur
+% ou échouer avec le message d'erreur %
+% \fi%
% \begin{quote}
% \code{Improper alphabetic constant}
% \end{quote}
-% La cause en est probablement un symbole mathématique placé dans un
-% titre de section que \pkg{hyperref} n'arrive pas à traduire pour
-% la table des matières du fichier PDF. Si vous ne pouvez vous
-% passer du symbole dans le titre, essayez d'utiliser la commande
-% \cmd{\texorpdfstring} dans celui-ci. Cette commande requiert deux
-% arguments: le texte qui doit apparaitre dans le document et celui
-% qui peut figurer dans la table des matières. Par exemple, vous
-% devriez remplacer %
+% \ifenglish%
+% If you need the notation or symbol in the title, wrap it in
+% \cmd{\texorpdfstring}. This command takes two arguments: the
+% notation or symbol that should appear in the document, and the
+% replacement text for the table of contents. For example, you would
+% replace %
+% \else%
+% Si vous ne pouvez vous passer de la notation ou du symbole dans le
+% titre, utilisez la commande \cmd{\texorpdfstring} dans celui-ci.
+% Cette commande requiert deux arguments: le texte qui doit
+% apparaitre dans le document et celui qui peut figurer dans la
+% table des matières. Par exemple, vous devriez remplacer %
% \fi%
-% \def\TEXT{Contribution \ifenglish of \else de \fi}
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT $}\cmdprint{\beta}\code{$\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\TEXT{\ifenglish Algorithm for\else Algorithme pour\fi}
+\begin{lstlisting}
+\section{`\TEXT' $U_n$}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% by something along the lines of %
+% \else%
+% par quelque chose comme %
+% \fi%
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\section{`\TEXT' \texorpdfstring{$U_n$}{U[n]}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% You would also replace %
+% \else
+% De même, vous devriez remplacer %
+% \fi%
+% \iffalse
+%<*example>
+% \fi
+\def\TEXT{Contribution \ifenglish of\else de\fi}
+\begin{lstlisting}
+\subsection{`\TEXT' $\beta$}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish by\else par\fi
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT}\cmdprint{\texorpdfstring}\code{\{$}\cmdprint{\beta}\code{$\}\{beta\}\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\subsection{`\TEXT' \texorpdfstring{$\beta$}{beta}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish or even\else ou encore\fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\subsection{`\TEXT' \texorpdfstring{$\beta$}{`β'}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
-% or, even better if you can enter Unicode characters on the
-% keyboard, by %
+% if you can enter Unicode characters on the keyboard. %
% \else%
-% ou même, si vous pouvez entrer des caractères Unicode au clavier,
-% par %
+% si vous êtes en mesure d'entrer des caractères Unicode au
+% clavier. %
% \fi
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT}\cmdprint{\texorpdfstring}\code{\{$}\cmdprint{\beta}\code{$\}\{β\}\}}
-% \end{quote}
% \end{DescribeMacro}
%
% \warningbox{%
@@ -2782,12 +3084,12 @@
% \fi
% \item %
% \ifenglish%
-% (Optional) Appendices --- sections numbered A, B, \dots\ after the
-% command \cmd{\appendix} --- for proofs and longer mathematical
+% (Optional) Appendices---sections numbered A, B, \dots\ after the
+% command \cmd{\appendix}---for proofs and longer mathematical
% arguments. Each appendix must be cited in the main article. %
% \else%
-% (Optionnel) Les annexes --- des sections numérotées A, B, \dots\
-% suite à la commande \cmd{\appendix} ---- pour les démontrations de
+% (Optionnel) Les annexes~--- des sections numérotées A, B, \dots\
+% suite à la commande \cmd{\appendix}~--- pour les démontrations de
% théorèmes ou autres longs développements mathématiques. Chaque
% annexe doit être citée dans l'article. %
% \fi
@@ -2871,10 +3173,11 @@
% \end{itemize}
% Les informations de la page de titre et des parties annexes peuvent
% toujours figurer dans le code source. Autrement dit, vous pouvez
-% créer le matérial additionnel directement à partir du même préambule
-% --- ou gabarit --- que votre article principal; il suffit d'ajouter
+% créer le matérial additionnel directement à partir du même
+% préambule que votre article principal; il suffit d'ajouter
% \code{supplement} aux options de la classe. %
-% \fi \endgroup
+% \fi
+% \endgroup
%
% \ifenglish%
% The option \code{supplement} is compatible with the option
@@ -2955,7 +3258,7 @@
% at the bottom of the first page. The option has no other effect on
% the rendering of the article. %
% \else%
-% L'option \code{final} --- qui a préséance sur \code{review} ---
+% L'option \code{final}~--- qui a préséance sur \code{review}~---
% active la vérification que les informations de publication et que
% l'historique de révision sont fournis. De plus, si les
% informations d'octroi de licence sont fournies à l'aide des
@@ -3006,10 +3309,79 @@
% \else%
% AAAA-MM-JJ. Par exemple: %
% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\received{`\isodate'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \end{DescribeMacro}
+% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\specialack}
+% \ifenglish%
+% The command \cmd{\specialack} provides a generic interface to
+% give special acknowledgement on the title page, such as the one
+% required by ADNI (\autoref{sec:usage:titling:adni}). The
+% command takes two arguments: %
+% \else%
+% La commande \cmd{\specialack} permet de reconnaitre une
+% contribution spéciale sur la page de titre, telle que celle exigée
+% par l'ADNI (\autoref{sec:usage:titling:adni}). La commande requiert
+% deux arguments: %
+% \fi%
% \begin{quote}
-% \cmdprint{\received}\code{\{2023-06-20\}}
+% \cmdprint{\specialack}\marg{\ifenglish by-line\else signature\fi}\marg{\ifenglish statement\else déclaration\fi}
% \end{quote}
+% \ifenglish%
+% The \meta{by-line} is inserted in the list of authors, whereas the
+% \meta{statement} is typeset at the bottom of the title page, with
+% the licensing information. Each argument may be empty, in which
+% case the corresponding information is not printed. For example,
+% the command \cmd{\ADNIacknowledgement} is effectively defined
+% as: %
+% \else%
+% La \meta{signature} est ajoutée à la liste des auteurs, alors que
+% la \meta{déclaration} est affichée au bas de la page de titre,
+% avec la déclaration de licence. Chaque argument peut être vide,
+% auquel cas l'information correspondante n'est pas affichée. À
+% titre d'exemple, la commande \cmd{\ADNIacknowledgement} est
+% définie ainsi: %
+% \fi%
+% \begin{quote}
+% \cmdprint{\specialack}\code{\{}\cmdprint{\CJS@adnibyline}\code{\}\{}\cmdprint{\CJS@adnistatement}\code{\}}
+% \end{quote}
+% \ifenglish%
+% (The internal commands \cmd{\CJS@adnibyline} and
+% \cmd{\CJS@adnistatement} typeset the official ADNI by-line and
+% statement. The analogous commands \cmd{\CJS@admcbyline} and
+% \cmd{\CJS@admcstatement} serve the same purpose for the
+% Alzheimer’s Disease Metabolomics Consortium.) %
+% \else%
+% (Les commandes internes \cmd{\CJS@adnibyline} et
+% \cmd{\CJS@adnistatement} contiennent le texte officiel de la
+% signature et de la déclaration de l'ADNI. Les commandes analogues
+% \cmd{\CJS@admcbyline} et \cmd{\CJS@admcstatement} pour
+% l'Alzheimer’s Disease Metabolomics Consortium sont également
+% définies dans la classe.) %
+% \fi%
% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\specialackmark}
+% \ifenglish%
+% The command \cmd{\specialackmark} sets the footnote marker used by
+% \cmd{\specialack}. The default definition of the marker is: %
+% \else%
+% La commande \cmd{\specialackmark} permet de modifier l'appel de
+% note de bas de page utilisé par \cmd{\specialack}. La définition
+% par défaut de l'appel de note est: %
+% \fi%
+% \begin{quote}
+% \cmdprint{\textsuperscript}\code{\{}\cmdprint{\ensuremath}\code{\{*\}\}}
+% \end{quote}
% \end{DescribeMacro}
%
% \ifenglish%
@@ -3118,6 +3490,7 @@
\newif\ifCJS@final \CJS@finalfalse % final version?
\newif\ifCJS@titlingfooter \CJS@titlingfooterfalse % footer on title page?
\newif\ifCJS@journalinfo \CJS@journalinfotrue % display journal info?
+\newif\ifCJS@specialack \CJS@specialackfalse % special acknowledgement?
\newif\ifCJS@fancybreak \CJS@fancybreaktrue % display fancy break?
\newif\ifCJS@history \CJS@historyfalse % history present?
\newif\ifCJS@corrauth \CJS@corrauthfalse % corresponding author?
@@ -3198,13 +3571,6 @@
% Useful packages like \pkg{iftex} and \pkg{etoolbox} are already
% loaded by \class{memoir}.
%
-% The package \pkg{iflang} provides expandable checks for the current
-% language based on the macro \cmdprint{\languagename} or hyphenation
-% patterns.
-% \begin{macrocode}
-\RequirePackage{iflang}
-% \end{macrocode}
-%
% We rely on \pkg{natbib} for author-year citations. This package must
% be loaded before \pkg{babel}. The option \code{sectionbib} ensures
% that the bibliography (or list of references) is typeset as a
@@ -3369,6 +3735,9 @@
% {\LuaTeX}, commands from \pkg{fontspec} and \pkg{unicode-math} load
% the OpenType variants of the fonts. The encoding is UTF-8 by default
% for these engines.
+% \changes{1.1}{2024-03-06}{Implementation: explicitly set the option
+% \texttt{bold-style!=TeX} when loading the math font with the modern
+% engines.}
% \begin{macrocode}
\iftutex
\RequirePackage[babel=true]{microtype}
@@ -3388,7 +3757,7 @@
[
Extension = .otf,
Scale = 1,
- Ligatures = TeX
+ bold-style = TeX
]
\setmathfont{FiraMath-Regular}
[
@@ -3436,7 +3805,8 @@
% \label{sec:implementation:layout:colours}
%
% We define some colours used by the class. First, the three main
-% colours of {\TheCJS} logo: %
+% colours of {\TheCJS} logo, hand-picked from the SVG code of the
+% latter: %
% \textcolor{CJSpink}{\rule{1.5em}{1.2ex}} %
% \textcolor{CJSred}{\rule{1.5em}{1.2ex}} %
% \textcolor{CJSyellow}{\rule{1.5em}{1.2ex}}\,.
@@ -3455,8 +3825,8 @@
\definecolor{CJSurl}{rgb}{0.6,0,0} % external links
\definecolor{CJScitation}{rgb}{0,0.5,0} % citations
% \end{macrocode}
-% Finally, the colour of the ORCID icon\footnote{%
-% See \url{https://info.orcid.org/brand-guidelines}.}: %
+% Finally, the colour of the %
+% \href{https://info.orcid.org/brand-guidelines}{ORCID icon}: %
% \textcolor{CJSorcid}{\rule{1.5em}{1.2ex}}\,.
% \begin{macrocode}
\definecolor{CJSorcid}{HTML}{A6CE39}
@@ -3535,7 +3905,7 @@
%
% First, a command to set the font.
% \begin{macrocode}
-\newcommand*\CJS@setheadfootfont{%
+\def\CJS@setheadfootfont{%
\firalining\fontsize{9}{13}\selectfont}
% \end{macrocode}
%
@@ -3545,7 +3915,7 @@
\newlength\CJS@headdivheight
\settoheight\CJS@headdivheight{\CJS@setheadfootfont 1}
\setlength\CJS@headdivheight{0.9\CJS@headdivheight}
-\newcommand*\CJS@headdivrule{%
+\def\CJS@headdivrule{%
\rule[0.05\CJS@headdivheight]{0.75\normalrulethickness}{\CJS@headdivheight}}
% \end{macrocode}
%
@@ -3614,7 +3984,7 @@
% \label{sec:implementation:layout:titles}
%
% The \class{memoir} class assumes that sectioning starts at the
-% chapter level --- even with the \code{article} option. To get around
+% chapter level---even with the \code{article} option. To get around
% this requirement, we disable the effect of \cmdprint{\chapter}. A
% desirable side effect is to make \cmd{\autoref} work correctly for
% appendices.
@@ -4160,6 +4530,11 @@
\fancybreak{\pfbreakdisplay}
\fi
% \end{macrocode}
+% \changes{1.1}{2024-06-19}{Implementation: fix the positioning of the
+% licensing information at the bottom of the title page.}
+% \changes{1.1}{2024-06-26}{Implementation: include the special
+% acknowledgement statement in the licensing information, if
+% required.}
% Finally, unless overridden by a class option, allocate space
% for the licence statement at the bottom of the title page. By
% default, a notice indicates that the licence will appear
@@ -4173,11 +4548,12 @@
\iflanguage{french}{Futur emplacement de la déclaration de licence.}%
{Licence statement to appear here.}}
\begin{figure}[!b]
- \raisebox{0pt}[0pt][\footskip]{%
+ \raisebox{0pt}[0pt][\dimexpr\CJS@licenceht-\footskip\relax]{%
\vbox{%
\CJS@setlicencefont
\rule{\textwidth}{\normalrulethickness}
\parbox[t][\CJS@licenceht][t]{\textwidth}{%
+ \ifCJS@specialack\CJS@specialackstatement\fi
\ifCJS@final\CJS@licence \else\textit\CJS@notice \fi}}}
\end{figure}
\fi
@@ -4185,6 +4561,45 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{ADNI data use agreement}
+% \label{sec:implementation:titling:adni}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new commands
+% \cs{ADNIacknowledgement} and \cs{ADMCacknowledgement}.}
+% \begin{macro}{\ADNIacknowledgement}
+% \begin{macro}{\ADMCacknowledgement}
+% The commands \cmd{\ADNIacknowledgement} and
+% \cmd{\ADMCacknowledgement} automatically create special
+% acknowledgements for the Alzheimer’s Disease Neuroimaging
+% Initiative (ADNI) and the Alzheimer’s Disease Metabolomics
+% Consortium (ADMC), respectively.
+% \begin{macrocode}
+\newcommand*\CJS@adnibyline{for the Alzheimer’s Disease Neuroimaging Initiative}
+\newcommand*\CJS@adnistatement{%
+ Data used in preparation of this article were obtained
+ from the \href{https://adni.loni.usc.edu}{Alzheimer’s Disease Neuroimaging Initiative}
+ (ADNI) database. As such, the investigators within the ADNI
+ contributed to the design and implementation of ADNI and/or provided
+ data but did not participate in the analysis or writing of this
+ report. A complete listing of ADNI investigators can be found at:
+ \url{https://adni.loni.usc.edu/wp-content/uploads/how_to_apply/ADNI_Acknowledgement_List.pdf}.}
+\newcommand*\CJS@admcbyline{for the Alzheimer’s Disease Metabolomics Consortium}
+\newcommand*\CJS@admcstatement{%
+ Data used in preparation of this article were generated by the
+ Alzheimer’s Disease Metabolomics Consortium (ADMC). As such, the
+ investigators within the ADMC provided data but did not participate
+ in analysis or writing of this report. A complete listing of ADMC
+ investigators can be found at:
+ \url{https://sites.duke.edu/adnimetab/team/}.}
+\newcommand*\ADNIacknowledgement{%
+ \specialack{\CJS@adnibyline}{\CJS@adnistatement}}
+\newcommand*\ADMCacknowledgement{%
+ \renewcommand*\CJS@specialackmark{\textsuperscript{\ensuremath{**}}}
+ \specialack{\CJS@admcbyline}{\CJS@admcstatement}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Back matter}
% \label{sec:implementation:backmatter}
%
@@ -4292,20 +4707,20 @@
%
% First, set the font for the licence statement.
% \begin{macrocode}
-\newcommand*\CJS@setlicencefont{%
+\def\CJS@setlicencefont{%
\firalining\fontsize{8pt}{9pt}\selectfont}
% \end{macrocode}
%
% \begin{macro}{\CJS@measurelicence}
-% We need to compute the required space for a licence statement. The
-% internal command \cmd{\CJS@measurelicence} measures the total
-% height of either the licence statement provided with
-% \cmd{\licence}, or the seemingly longest version of the license
-% statement used by the publisher. The command is used inside
-% \cmd{\maketitle}.
+% We need to compute the required space for a licence statement and,
+% possibly, the ADNI statement. The internal command
+% \cmd{\CJS@measurelicence} measures the total height required using
+% either the licence statement provided with \cmd{\licence}, or the
+% seemingly longest version of the license statement used by the
+% publisher. The command is used inside \cmd{\maketitle}.
% \begin{macrocode}
\newlength\CJS@licenceht
-\newcommand\CJS@licencesample{%
+\def\CJS@licencesample{%
{\ccbyncnd*} 2023 The Authors. The Canadian Journal of
Statistics~{\textbar}~La revue canadienne de statistique published
by Wiley Periodicals LLC on behalf of Statistical Society of
@@ -4319,6 +4734,7 @@
\newcommand\CJS@measurelicence{%
\setbox\CJS@licencebox=\vbox{%
\CJS@setlicencefont
+ \ifCJS@specialack\CJS@specialackstatement\fi
\ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}
\setlength\CJS@licenceht{\dimexpr\ht\CJS@licencebox+\dp\CJS@licencebox}}
% \end{macrocode}
@@ -4348,7 +4764,7 @@
% licence: {\ccby}.
% \begin{macrocode}
\newcommand*\ccby{\ccby@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccby@{\mbox{%
+\def\ccby@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em}}
% \end{macrocode}
@@ -4359,7 +4775,7 @@
% Attribution"-ShareAlike licence: {\ccbysa}.
% \begin{macrocode}
\newcommand*\ccbysa{\ccbysa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbysa@{\mbox{%
+\def\ccbysa@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsSa}}
@@ -4371,7 +4787,7 @@
% Attribution"-NonCommercial licence: {\ccbync}.
% \begin{macrocode}
\newcommand*\ccbync{\ccbync@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbync@{\mbox{%
+\def\ccbync@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc}}
@@ -4384,7 +4800,7 @@
% {\ccbyncsa}.
% \begin{macrocode}
\newcommand*\ccbyncsa{\ccbyncsa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncsa@{\mbox{%
+\def\ccbyncsa@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc\kern0.1em%
@@ -4397,7 +4813,7 @@
% Attribution"-NoDerivatives licence: {\ccbynd}.
% \begin{macrocode}
\newcommand*\ccbynd{\ccbynd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbynd@{\mbox{%
+\def\ccbynd@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNd}}
@@ -4409,7 +4825,7 @@
% Attribution"-NonCommercial"-NoDerivatives licence: {\ccbyncnd}.
% \begin{macrocode}
\newcommand*\ccbyncnd{\ccbyncnd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncnd@{\mbox{%
+\def\ccbyncnd@{\mbox{%
\faCreativeCommons\kern0.1em%
\faCreativeCommonsBy\kern0.1em%
\faCreativeCommonsNc\kern0.1em%
@@ -4447,16 +4863,20 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\mat,\trsp,\tr,\diag}
+% \changes{1.1}{2024-07-13}{Implementation: simpler definition of
+% \cs{mat} and \cs{matit} using \cs{let} instead of \cs{newcommand*}.}
+% \begin{macro}{\mat,\matit,\trsp,\tr,\diag}
% The class provides special commands to typeset matrix and vector
% names, a carefully designed transpose symbol, and the most common
% linear algebra operators.
% \begin{macrocode}
\iftutex
- \newcommand*\mat[1]{\symbf{#1}}
+ \let\mat\symbf
+ \let\matit\symbfit
\newcommand*\trsp{^{\mkern-1.5mu\symsfup{T}}}
\else
- \newcommand*\mat[1]{\mathbf{#1}}
+ \let\mat\mathbf
+ \let\matit\mathbfit
\newcommand*\trsp{^{\mkern-1.5mu\mathsf{T}}}
\fi
\DeclareMathOperator{\tr}{tr}
@@ -4545,13 +4965,13 @@
\newcommand*\Pylang{\proglang{Python}}
\newcommand*\Julialang{\proglang{Julia}}
\newcommand*\Clang{\proglang{C}}
-\newcommand*\CJS@plus{%
+\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
+\def\CJS@plus{%
\ifx\f@family\sfdefault%
\protect\hspace{-.04em}\protect\raisebox{-.125ex}{\larger+}%
\else%
\protect\hspace{-.03em}\protect\raisebox{.25ex}{\smaller+}%
\fi}
-\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
% \end{macrocode}
% \end{macro}
%
@@ -4595,10 +5015,18 @@
% is handled by \pkg{natbib}. We loaded the package with the option
% \code{sectionbib} to obtain the list of references as a section, but
% \class{memoir} will use \cmd{\section} in such instances. We want an
-% unnumbered section. To achieve this efficiently, we redefine
-% the internal command of \class{memoir}.
+% unnumbered section (yet showing in the virtual table of contents of
+% the PDF). To achieve this efficiently, we redefine the internal
+% command of \class{memoir}.
+% \changes{1.1}{2024-07-02}{Implementation: add a
+% \cs{addtocontentsline} command to the redefinition of
+% \cs{@memb@bsec} to include the References section in the virtual
+% table of contents of the PDF.}
% \begin{macrocode}
-\renewcommand{\@memb@bsec}{\section*{\bibname}\prebibhook}
+\renewcommand{\@memb@bsec}{%
+ \section*{\bibname}%
+ \addcontentsline{toc}{section}{\bibname}%
+ \prebibhook}
% \end{macrocode}
%
% Furthermore, we need to redefine the title of the section, because
@@ -4706,14 +5134,14 @@
% \end{macro}
%
% \begin{macro}{\received,\accepted}
-% The article history --- dates when the article was received and
-% accepted --- is printed at the very end of the article when present.
+% The article history---dates when the article was received and
+% accepted---is printed at the very end of the article when present.
% Its treatment involves a number of steps.
%
% First, the dates themselves are input in ISO format YYYY-MM-DD and
% converted in language dependent strings using the package
% \pkg{datetime2}. In English, we want to use the British format
-% without the ordinal for the day: ``1 January 1970''. In French, we
+% without the ordinal for the day: 1 January 1970. In French, we
% can simply rely on the default format.
% \begin{macrocode}
\DTMlangsetup[en-GB]{ord=omit}
@@ -4767,19 +5195,54 @@
% Finally, the history information, when present, is printed at the
% end of the article.
% \begin{macrocode}
-\newcommand*\CJS@historybox{
+\def\CJS@historybox{
\par\addvspace{2\baselineskip}\noindent%
\smash{\box\CJS@historyornament \CJS@history}\par%
\vspace*{40pt}}
\AtEndDocument{\ifCJS@journalinfo\ifCJS@history\CJS@historybox\fi\fi}
% \end{macrocode}
% \end{macro}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new command
+% \cs{specialack}.}
+% \begin{macro}{\specialack}
+% The command \cmd{\specialack} is the generic interface to give
+% special acknowledgement on the title page. The command inserts its
+% first argument in the list of authors, and its second argument at
+% the bottom of the title page, with the licensing information. Each
+% argument may be empty, in which case the corresponding information
+% is not displayed.
+% \begin{macrocode}
+\def\CJS@specialackstatement{}
+\newcommand*\specialack[2]{%
+ \ifstrempty{#1}{}{%
+ \author{#1\CJS@specialackmark}}
+ \ifstrempty{#2}{}{%
+ \CJS@specialacktrue
+ \renewcommand*\CJS@specialackstatement{\CJS@specialackmark\,#2\medskip\newline}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new command
+% \cs{specialackmark}.}
+% \begin{macro}{\specialackmark}
+% The command \cmd{\specialackmark} changes the footnote marker used
+% by \cmd{\specialack} from its default definition.
+% \begin{macrocode}
+\def\CJS@specialackmark{\textsuperscript{\ensuremath{*}}}
+\newcommand*\specialackmark[1]{%
+ \renewcommand*\CJS@specialackmark{#1}}
+% \end{macrocode}
+% \end{macro}
+%
%</class>
% ^^A <<<<< End of the code of the class
%
% ^^A Change notes for the templates must appear before \Finale
% \changes{0.93}{2023-11-07}{Templates: fix a missing closing brace in
% \cs{author} commands.}
+% \changes{1.1}{2024-01-23}{Templates: revise the description of the
+% \texttt{sharing} environment.}
% \Finale
%
% \iffalse
@@ -4893,18 +5356,18 @@
%<fr> %% la page de titre automatiquement.
\begin{englishabstract}
<Insert your English abstract here. The abstract should be concise
- --- up to 10 lines long --- and descriptive. Avoid symbols as much
- as possible. Formulas are strongly discouraged, and citations
- should be avoided.>
+ (up to 10 lines long) and descriptive. Avoid symbols as much as
+ possible. Formulas are strongly discouraged, and citations should
+ be avoided.>
%<fr> [Un résumé en anglais sera fourni pour les auteurs qui ne peuvent
%<fr> le préparer eux-mêmes.]
\end{englishabstract}
\begin{frenchabstract}
<Insérer le texte du résumé en français ici. Le résumé doit être
- concis --- une dizaine de lignes --- et descriptif. Éviter autant
- que possible les symboles. Les équations mathématiques sont
- fortement découragées et les citations sont à éviter.>
+ concis (une dizaine de lignes) et descriptif. Éviter autant que
+ possible les symboles. Les équations mathématiques sont fortement
+ déconseillées et les citations sont à éviter.>
%<en> [We will supply a French abstract for those authors who
%<en> can't prepare it themselves.]
\end{frenchabstract}
@@ -4958,13 +5421,15 @@
%<fr> <Texte libre>
\end{supplement}
-%<en> %% DATA SHARING (optional - comment out if unused). Describe how to
-%<en> %% access data that you wish to share. Provide a permanent link such
-%<en> %% as a Document Object Identifier (DOI) or an URL.
-%<fr> %% PARTAGE DES DONNÉES (optionnel - commenter si inutilisé).
-%<fr> %% Expliquer comment accéder à des données de l'article mises à
-%<fr> %% disposition. Fournir un lien permanent, comme un identificateur
-%<fr> %% d'objets numériques (DOI) ou une adresse URL.
+%<en> %% DATA SHARING (mandatory). In accordance with the Expect Data
+%<en> %% Sharing editorial policy of Wiley, make a statement about the
+%<en> %% availability or absence of shared data. Provide a permanent link
+%<en> %% such as a Document Object Identifier (DOI) or an URL.
+%<fr> %% PARTAGE DES DONNÉES (obligatoire). Conformément à la politique
+%<fr> %% éditoriale «Expect Data Sharing» de Wiley, vous devez indiquer
+%<fr> %% les conditions de partage des données de recherche, ou l'absence
+%<fr> %% de celles-ci, le cas échéant. Fournir un lien permanent, comme un
+%<fr> %% identificateur d'objets numériques (DOI) ou une adresse URL.
\begin{sharing}
%<en> <Free form text>
%<fr> <Texte libre>
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
index dc76f9053e..4d9c8ae4f8 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
index 38907626da..98372dceb7 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
@@ -6,7 +6,7 @@
\preamble
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
index 3ae793cf2b..13be31421c 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
@@ -6,7 +6,7 @@
\preamble
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
index c987b1e6a7..3ef16366bd 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
@@ -6,7 +6,7 @@
This is a generated file.
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
index e786d500bd..b23be11c43 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
@@ -4,7 +4,7 @@
% for The Canadian Journal of Statistics | La revue canadienne de
% statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-english.mbs}[2023/11/29 v1.0 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-english.mbs}[2024/07/14 v1.1 (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -125,6 +125,8 @@
% the main file.}
% \changes{1.0}{2023-11-29}{First official release distributed through
% CTAN.}
+% \changes{1.1}{2024-07-14}{No changes to the English language
+% definition file.}
%
% \title[English language definition file \filename]{%
% English language definition file \\
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
index eb60ab8a20..748d449383 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
@@ -4,7 +4,7 @@
% The Canadian Journal of Statistics | La revue canadienne de
% statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-french.mbs}[2023/11/29 v1.0 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-french.mbs}[2024/07/14 v1.1 (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -125,6 +125,8 @@
% the main file.}
% \changes{1.0}{2023-11-29}{First official release distributed through
% CTAN.}
+% \changes{1.1}{2024-07-14}{No changes to the French language
+% definition file.}
%
% \title[French language definition file \filename]{%
% French language definition file \\
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
index 10c84b1ff6..75ca76a256 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
@@ -3,7 +3,7 @@
% Master bibliography style for The Canadian Journal of Statistics |
% La revue canadienne de statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -133,6 +133,7 @@
% the main file.}
% \changes{1.0}{2023-11-29}{First official release distributed through
% CTAN.}
+% \changes{1.1}{2024-07-14}{No changes to the master bibliographic style.}
%
% \title[Master bibliographic style file \filename]{%
% Master bibliographic style file \\
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
index af76f1c69e..1cc15b18c7 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
Binary files differ
diff --git a/macros/latex/contrib/colortbl/colortbl-DE.pdf b/macros/latex/contrib/colortbl/colortbl-DE.pdf
index 1a4ea3ccea..879d4b3f5b 100644
--- a/macros/latex/contrib/colortbl/colortbl-DE.pdf
+++ b/macros/latex/contrib/colortbl/colortbl-DE.pdf
Binary files differ
diff --git a/macros/latex/contrib/colortbl/colortbl.dtx b/macros/latex/contrib/colortbl/colortbl.dtx
index 68c4bdbaf5..8e5f1e8be1 100644
--- a/macros/latex/contrib/colortbl/colortbl.dtx
+++ b/macros/latex/contrib/colortbl/colortbl.dtx
@@ -15,7 +15,7 @@
%<driver>\ProvidesFile{colortbl.drv}
% \fi
% \ProvidesFile{colortbl.dtx}
- [2024/02/20 v1.0g Color table columns (DPC)]
+ [2024/07/06 v1.0i Color table columns (DPC)]
%
% \iffalse
%<*driver>
@@ -1018,9 +1018,9 @@
%
% \begin{macro}{\endarray}
% \changes{v1.0b}{2012/21/06}{re-insert \cs{@arrayright} to match \textsf{array} definition, for \textsf{delarray}}
+% \changes{v1.0h}{2024/05/26}{Don't assume existing \cs{endarray} definition, to work with tagging code}
% \begin{macrocode}
-\def\endarray{%
- \crcr \egroup \egroup \@arrayright\gdef\@preamble{}\CT@end}
+\expandafter\def\expandafter\endarray\expandafter{\endarray\CT@end}
% \end{macrocode}
% \end{macro}
%
@@ -1505,9 +1505,21 @@
%
%
% longtable support.
+% \changes{v1.0i}{2024/07/06}{tagging code adjusments for longtable hline}
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% Stub tag support if tagging has not been enabled.
+% \begin{macrocode}
+\cs_if_exist:NF\tag_mc_begin:n{
+ \cs_new:Npn\tag_mc_begin:n#1{}
+ \cs_new:Npn\tag_mc_end:{}
+}
+% \end{macrocode}
+%
% \begin{macrocode}
\AtBeginDocument{
- \ifx\longtable\@undefined\else
\def\LT@@hline{%
\ifx\LT@next\hline
\global\let\LT@next\@gobble
@@ -1517,7 +1529,10 @@
\else
\gdef\CT@LT@sep{%
\multispan\LT@cols{%
- \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+ \tag_mc_begin:n{artifact}
+ \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr}%
\fi
\else
\global\let\LT@next\empty
@@ -1526,13 +1541,20 @@
\fi
\ifnum0=`{\fi}%
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\CT@LT@sep
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\noalign{\penalty\@M}%
\LT@next}
- \fi}
+ }
+\ExplSyntaxOff
% \end{macrocode}
%
%
diff --git a/macros/latex/contrib/colortbl/colortbl.pdf b/macros/latex/contrib/colortbl/colortbl.pdf
index b2ec8709a6..6ebe2525c3 100644
--- a/macros/latex/contrib/colortbl/colortbl.pdf
+++ b/macros/latex/contrib/colortbl/colortbl.pdf
Binary files differ
diff --git a/macros/latex/contrib/count1to/README.md b/macros/latex/contrib/count1to/README.md
new file mode 100644
index 0000000000..ac3bfc11de
--- /dev/null
+++ b/macros/latex/contrib/count1to/README.md
@@ -0,0 +1,28 @@
+# The LaTeX package `count1to`
+
+Copyright (C) 1995–2009 Martin Schröder
+
+count1to 2024-06-13 v2.11 Count1to LaTeX Package
+
+This is the original release of Count1to. The new upload has only been done to split the ms-bundle.
+
+The current maintainer of this package is Marei Peischl <marei@peitex.de>
+
+***************************************************************************
+
+ This material is subject to the LaTeX Project Public License version 1.3c
+ or later. See http://www.latex-project.org/lppl.txt for details.
+
+***************************************************************************
+
+## Provided files
+
+* README.md
+* count1to.dtx
+* count1to.ins
+
+The files
+* count1to.sty
+* count1to.drv
+can be generated from the count1to.dtx by processing the count1to.ins-file.
+
diff --git a/macros/latex/contrib/ms/count1to.dtx b/macros/latex/contrib/count1to/count1to.dtx
index 35918bce60..8dba871174 100644
--- a/macros/latex/contrib/ms/count1to.dtx
+++ b/macros/latex/contrib/count1to/count1to.dtx
@@ -1,11 +1,41 @@
+%% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Copyright (C) Martin Schröder, 1994–2009
+% Marei Peischl (peiTeX) <marei@peitex.de>, 2024
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% This package is maintained but will not receive any additional features.
+%
+% The Current Maintainer of this work is
+% Marei Peischl <marei@peitex.de>.
+%
+% This work consists of the files
+% README.md
+% count1to.dtx
+% count1to.ins
+% and the derived file
+% count1to.sty.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
% \iffalse
\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{count1to}
-%<package> [2009/05/24 v2.1 Count1to9 Package (MS)]
+%<package> [2024-06-13 v2.11 Count1to9 Package (MS)]
%
%<*driver>
\ProvidesFile{count1to.drv}
- [2009/05/24 v2.1 Driver for Count1to9 Package (MS)]
+ [2024-06-13 v2.111 Driver for Count1to9 Package]
\documentclass[a4paper]{ltxdoc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
@@ -14,7 +44,12 @@
\usepackage{url}
\usepackage{count1to}
\usepackage[toc]{multitoc}
-\usepackage{svn}
+\makeatletter
+\IfFileExists{gitHeadInfo.gin}{
+ \newcommand*{\GI@githeadinfo@file}{gitHeadInfo.gin}
+}{}
+\makeatother
+\usepackage{gitinfo2}
\usepackage{hypdoc}
\usepackage{geometry}
\GetFileInfo{count1to.sty}
@@ -41,74 +76,8 @@
\DocInput{count1to.dtx}
\end{document}
%</driver>
-%^^A $Id: count1to.dtx 1368 2009-05-24 16:02:57Z oneiros $
-%
-% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Martin Schr\"oder.
-%
-% This work consists of the files count1to.dtx and count1to.ins
-% and the derived file count1to.sty.
-%
% \fi
%
-% \CheckSum{112}
-%
-%% \CharacterTable
-%% {Upper-case \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
-%% Lower-case \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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-style-file{
-%% author = {Martin Schr\"oder},
-%% version = "2.1",
-%% date = "24 May 2009",
-%% filename = "count1to.sty",
-%% address = {Martin Schr\"oder
-%% Barmer Stra\"se 14
-%% 44137 Dortmund
-%% Germany}
-%% telephone = "+49-231-1206574",
-%% email = "martin@oneiros.de",
-% codetable = "ISO/ASCII",
-% keywords = "LaTeX, pages",
-% supported = "yes",
-%% docstring = "LaTeX package which sets count1 to count9,
-%% which can be used to select certain pages
-%% with a driver.
-%% Also provides access to the number of pages
-%% of the document.
-%% Uses the everyshi package."
-%% }
-%% ===================================================================
-%% \fi
-%
-% \SVN $Rev: 1368 $
-% \SVN $Date: 2009-05-24 18:02:57 +0200 (So, 24. Mai 2009) $
-%
% \changes{v1.00}{1994/12/07}{New}
% \changes{v1.01}{1994/12/09}{Documentation improved}
% \changes{v1.02}{1996/12/29}{Documentation improved}
@@ -116,6 +85,7 @@
% \changes{v1.22}{1999/06/08}{Moved to LPPL}
% \changes{v2.00}{2002/08/31}{Removed \texttt{TotalPages}}
% \changes{v2.1}{2009/05/24}{New address}
+% \changes{v2.11}{2024-06-13}{Maintainer changed + removed from ms bundle + move to git}
%
% \newcommand*{\Count}[1]{\texttt{\symbol{92}count#1}}
% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
@@ -129,19 +99,15 @@
% \title{\unskip
% The \package{count1to} package^^A
% \thanks{^^A
-% The version number of this file is \fileversion, subversion
-% revision~\#\SVNRev, last revised
-% \protect\SVNDate.\protect\newline
+% The version number of this file is \fileversion,
+% revision~\#\gitAbbrevHash, last revised \protect\gitAuthorIsoDate.\protect\newline
% The name \textsf{count1to} is a tribute to the $8+3$ file-naming
% convention of certain ancient ``operating systems''; strictly
% speaking it should be \textsf{count1to9}.}
% }
% \changes{v2.00}{2002/08/31}{Changed e-mail}
-% \author{Martin Schr\"oder\\[0.5ex]
-% \normalsize Barmer Stra\ss{}e 14\\
-% \normalsize 44137 Dortmund\\
-% \normalsize Germany\\
-% \normalsize martin@oneiros.de}
+% \author{Martin Schröder\\
+% \url{https://gitlab.com/TeXhackse/count1to}\thanks{maintained by Marei Peischl}}
% \date{\filedate}
% \maketitle
%
@@ -169,7 +135,7 @@
% \section{Introduction to version 2}
% ^^A
% The main change of this new version is the removal of the code for
-% the \texttt{TotalPages} label.
+% the \texttt{TotalPages} label.
% This code didn't work with the \package{hyperref}
% package\cite{package:hyperref} and better code to achieve the
% effect of it is contained in the \package{totpages}
@@ -184,15 +150,15 @@
%
% \section{Introduction}
% ^^A
-% Most of the time users want to print only certain parts of a
+% Most of the time users want to print only certain parts of a
% document; but these can only be selected by using the page numbers
% of these parts with most device drivers.
-% This can be dif\/ficult or impossible if pages in dif\/ferent
-% parts of the document have the same number---e.\,g. in the
+% This can be dif\/ficult or impossible if pages in dif\/ferent
+% parts of the document have the same number---e.\,g. in the
% frontmatter and the first text pages (iii vs. 3).
%
% \TeX{} provides an easy solution to this problem: whenever a page
-% is completed by the output routine and shipped out via
+% is completed by the output routine and shipped out via
% \cs{shipout}, it displayes the values of \Count{0} to \Count{9}
% on the display (e.\,g. \texttt{[1]}) \emph{and writes them to the
% \textsf{.dvi} file}.
@@ -201,10 +167,10 @@
% \begin{quote}
% ``The first ten \Count{} registers, \Count{0} to \Count{9},
% are reserved for a special purpose: \TeX{} displays these ten
-% counts on your terminal whenever ouputting a page, and it
+% counts on your terminal whenever ouputting a page, and it
% transmits them to the output file as an identification of that
% page.
-% The counts are separated by decimal points on your terminal,
+% The counts are separated by decimal points on your terminal,
% with trailing `\texttt{.0}' patterns suppressed.
% Thus, for example, if \Count{0=5} and \Count{2=7} when a
% page is shipped out to the \texttt{dvi} file, and if the other
@@ -218,14 +184,14 @@
% \end{quote}
%
% \noindent
-% Surprinsingly, until recently there existed no package for
-% \LaTeX{} that used these \Count{}ers although some drivers allow
-% the selection of pages based on other \Count{}s then \Count{0}
+% Surprinsingly, until recently there existed no package for
+% \LaTeX{} that used these \Count{}ers although some drivers allow
+% the selection of pages based on other \Count{}s then \Count{0}
% (e.\,g. em\TeX).
%
-% This package is the solution: It uses the \package{everyshi}
-% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
-% each \cs{shipout} with these values:
+% This package is the solution: It used the \package{everyshi}
+% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
+% each \cs{shipout} with these values. Today it is using the kernel's shipout hooks \cite{texdoc:ltshipout}.
%
% \begin{center}
% \begin{tabular}{cl}\toprule
@@ -239,7 +205,7 @@
% 6 & number of current \cs{subsubsection} \\
% 7 & number of current \cs{paragraph} \\
% 8 & number of current \cs{subparagraph} \\
-% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
+% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
% \bottomrule
% \end{tabular}
% \end{center}
@@ -248,25 +214,25 @@
%
% \noindent
% \textsf{count1to} also works with classes that do not define some
-% or all of the sectioning commands and their counters, like
+% or all of the sectioning commands and their counters, like
% \textsf{letter}.
% Although it is of somewhat little use then \texttt{:-)}.
%
% A note for users of this package: When you select the pages of
-% some part of your document with a lower structure than
+% some part of your document with a lower structure than
% \cs{chapter}, remember that only \cs{part}s and \cs{chapter}s
% start on a new page; if you want to print a complete
% \cs{section}, you should also select the first page of the next
% \cs{section}.
% Also note that \TeX{} ships out the values of the counters instead
-% of their visual representation (produced with
+% of their visual representation (produced with
% \cs{the}\emph{counter}), so appendix A sets \Count{4} to 1 in the
% article class.
%
% A note for developers of device drivers: Please add support for
% \Count{1} to~\texttt{9} to your programs.
-% It would also be nice if users could easily select the next
-% page(s) after a certain count (something like
+% It would also be nice if users could easily select the next
+% page(s) after a certain count (something like
% ``\texttt{*.*.*.*.2+1.*}'' should be possible for selecting all
% pages with $\Count{4}\mapsto\mathrm{section}=2$ plus the first
% page of section~3).
@@ -282,8 +248,7 @@
%
% \section{Required packages}
% ^^A
-% The package requires the \package{everyshi}
-% package\cite{package:everyshi}.
+% With \LaTeX2e{} releases newer than 2020/10/01 this package does not require any other package.
%
%
% ^^A -----------------------------
@@ -322,10 +287,14 @@
% \newblock Hypertext marks in \LaTeX.
% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/hyperref/}.
% \bibitem{package:everyshi}
-% Martin Schr\"oder.
+% Martin Schröder.
% \newblock The \package{everyshi} package.
% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
% \newblock \LaTeXe{} package.
+% \bibitem{texdoc:ltshipout}
+% \newblock Frank Mittelbach, \LaTeX{} Project Team.
+% \newblock The ltshipout documentation.
+% \newblock \url{https://mirrors.ctan.org/macros/latex/base/ltshipout-doc.pdf}
% \end{thebibliography}
%
% }
@@ -340,12 +309,9 @@
%<*package>
% \end{macrocode}
%
-% We need the \package{everyshi} package.
% \changes{v1.20}{1998/04/10}{don't require \textsf{ifthen}}
% \changes{v1.10}{1997/11/01}{require \textsf{ifthen}}
-% \begin{macrocode}
-\RequirePackage{everyshi}[1994/12/09]
-% \end{macrocode}
+% \changes{v2.11}{2024-06-13}{\package{everyshi} is obsolete}
%
% We need various \cs{if}s to check if the used counters
% are defined.
@@ -391,9 +357,9 @@
% not reset.
% This is normally no problem, but with this package, it is: If this
% bug is not fixed or worked-around, then whenever you use
-% \cs{subparagraph} or some other lower sectioning command, and
-% after that a sectioning command that is at least two levels higher
-% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
+% \cs{subparagraph} or some other lower sectioning command, and
+% after that a sectioning command that is at least two levels higher
+% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
% would not be reset and would still be displayed and shipped out.
% So we have to associate \emph{all} lower-level sectioning commands
% with the higher levels.
@@ -446,13 +412,13 @@
\@countItoIX@ifs\let\@countItoIX@ifs\undefined
\@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
}
-\AtBeginDocument{\@countItoIX@init}
+\AddToHook{begindocument}[count1to-init]{\@countItoIX@init}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\@countItoIX@shipout}
-% \cs{@countItoIX@shipout} is used for setting \Count{1} to
+% \cs{@countItoIX@shipout} is used for setting \Count{1} to
% \Count{9} at each \cs{shipout}.
% \begin{macrocode}
\newcommand*{\@countItoIX@shipout}{
@@ -464,7 +430,7 @@
% \end{macrocode}
% \Count{2} to \Count{8} are set with the values of
% \cs{part} to \cs{subparagraph}, if these commands are defined.^^A
-% \footnote{We should probably also check the value of
+% \footnote{We should probably also check the value of
% \texttt{secnumdepth}, but I don't think this is necessary.}
% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
@@ -481,7 +447,16 @@
% \begin{macrocode}
\ifodd\count1\count9=1 \else\count9=0 \fi
}
-\EveryShipout{\@countItoIX@shipout}
+% \end{macrocode}
+% \changes{v2.11}{2024-06-13}{Remove everyshi but add compatibility mode}
+% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{
+ \AddToHook{shipout/before}[count1to-shipout]{\@countItoIX@shipout}
+}{
+ \RequirePackage{everyshi}
+ \EveryShipount{\@countItoIX@shipout}
+}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/count1to/count1to.ins b/macros/latex/contrib/count1to/count1to.ins
new file mode 100644
index 0000000000..8dccfd0487
--- /dev/null
+++ b/macros/latex/contrib/count1to/count1to.ins
@@ -0,0 +1,47 @@
+\input docstrip.tex
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{count1to.ins}
+ [2024-06-13 v2.11 Installation script for Count1to9 Package]
+
+\preamble
+
+Copyright (c) 1994–2009 Martin Schröder, 2024 Marei Peischl (peiTeX) <marei@peitex.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is
+ Marei Peischl <marei@peitex.de>.
+
+This work consists of the files count1to.dtx and count1to.ins
+and the derived file count1to.sty.
+
+\endpreamble
+\keepsilent
+\askforoverwritefalse
+\generate{%
+ \file{count1to.sty}{\from{count1to.dtx}{package}}
+}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space count1to.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file count1to.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `count1to.ins'.
diff --git a/macros/latex/contrib/count1to/count1to.pdf b/macros/latex/contrib/count1to/count1to.pdf
new file mode 100644
index 0000000000..73f4923e9b
--- /dev/null
+++ b/macros/latex/contrib/count1to/count1to.pdf
Binary files differ
diff --git a/macros/latex/contrib/cpssp/README b/macros/latex/contrib/cpssp/README
deleted file mode 100644
index 4c51733db9..0000000000
--- a/macros/latex/contrib/cpssp/README
+++ /dev/null
@@ -1,19 +0,0 @@
-The cpssp package
-------------------------------------------------------------------------------
-This package is released under the LaTeX Project Public License v1.3c or later
-(see http://www.latex-project.org/lppl.txt).
-
-
-The cpssp package allows you to draw a two-dimensional representation of
-a protein’s secondary structure in LaTeX. Besides, it is possible to
-graphically compare protein secondary structure predictions. One can both
-compare predictions from a single program for several protein sequences
-(which have been aligned using any appropriate algorithm) and predictions
-from several programs for a single protein sequence.
-
-
-Installation: Run cpssp.ins through LaTeX and follow the instructions.
-
---
-Wolfgang Skala
-June 6th, 2009
diff --git a/macros/latex/contrib/cpssp/cpssp b/macros/latex/contrib/cpssp/cpssp
deleted file mode 100755
index 40d825f05a..0000000000
--- a/macros/latex/contrib/cpssp/cpssp
+++ /dev/null
@@ -1,412 +0,0 @@
-#!/usr/bin/python
-# CPSSP -- Compare Protein Secondary Structure Predictions
-# v1.0 20090606
-# Copyright (C) 2009 by Wolfgang Skala
-#
-# This work may be distributed and/or modified under the
-# conditions of the LaTeX Project Public License, either version 1.3
-# of this license or (at your option) any later version.
-# The latest version of this license is in
-# http://www.latex-project.org/lppl.txt
-# and version 1.3 or later is part of all distributions of LaTeX
-# version 2005/12/01 or later.
-
-import getopt, sys
-
-
-
-### 1. FUNCTIONS
-
-def readFasta(filename, alphabet):
- # reads a FASTA file containing one or several sequences/alignments/predictions
- # input: * (filename) the name of the FASTA file
- # * (alphabet) the allowed characters in the file, e.g. amino acids
- # output: * (names) a list of strings corresponding to the sequence names
- # * (allseqs) a list containing the sequences;
- # each sequence is a list of characters, where each character represents a
- # residue, gap or secondary structure element
- allseqs = []
- names = []
- seq = []
- f = file(filename, "r")
- for line in f.readlines():
- if line[0] == ">":
- if seq != []:
- allseqs.append(seq)
- seq = []
- names.append(line[1:-1])
- else:
- for c in line:
- c = c.upper()
- if c in alphabet:
- seq.append(c)
- if seq != []:
- allseqs.append(seq)
- f.close()
- return names, allseqs
-
-
-def removeGaps(allSeqs):
- # removes gaps from a list of sequences
- # if a position in each sequence is occupied exclusively by gaps
- # input: (allSeqs) a list of sequences as returned by readFasta()
- # output: same format as input with gaps removes
- gapPositions = []
- for i in range(len(allSeqs[0])-1, -1, -1):
- onlyGaps = True
- for j in range(len(allSeqs)):
- if allSeqs[j][i] not in GAP_SYMBOLS:
- onlyGaps = False
- if onlyGaps:
- for j in range(len(allSeqs)):
- allSeqs[j].pop(i)
- return allSeqs
-
-
-def commonSyntax(allStrucs):
- # make all structures a common syntax, i.e. a coil is represented by "C" and not by "-" or a space
- # input: (allStrucs) list of structures as returned by readFasta
- # output: same format as input
- for i in range(len(allStrucs)):
- for j in range(len(allStrucs[i])):
- if allStrucs[i][j] == "-" or allStrucs[i][j] == " ":
- allStrucs[i][j] = "C"
- return allStrucs
-
-
-def addGaps(allSeqs, allStrucs):
- # add gaps to the secondary structures so that they correspond to the gapped sequences
- # input: * (allSeqs) list of (degapped) sequences as returned by removeGaps() OR None,
- # indicating that no gaps should be added
- # * (allStrucs) list of structures as returned by readFasta/commonSyntax
- # output: list of gapped structures (same format as allStrucs)
- resultStrucs = []
- if allSeqs == None:
- for struc in allStrucs:
- curStruc = ""
- for res in struc:
- curStruc += res
- resultStrucs.append(curStruc)
- else:
- i = 0
- for seq in allSeqs:
- k = 0
- curStruc = ""
- for j in range(len(seq)):
- if seq[j] not in GAP_SYMBOLS:
- curStruc += allStrucs[i][k]
- k += 1
- else:
- curStruc += "-"
- resultStrucs.append(curStruc)
- i += 1
- return resultStrucs
-
-
-def breakLines(allStrucs, n):
- # break the structures into lines according to the number of residues per line specified by
- # the user if a line ends with a sheet (E) and the next line starts with a sheet, change the end
- # letter to "e" which indicates that no arrowhead should be drawn in the graphical representation
- # input: (allStrucs) list of gapped structures as returned by addGaps()
- # (n) residues per line
- # output: list of structures; each structure is list of 3-tuplets containing (1) a string which
- # specifies the residues on the line, (2) the number of the first and (3) the number of
- # the last residue on the line
- resultStrucs = []
- for struc in allStrucs:
- curStruc = []
- for i in range(len(struc) / n + 1):
- if i*n != len(struc):
- s = struc[i*n:(i+1)*n]
- if s[-1] == "E" and (i+1)*n < len(struc):
- if struc[(i+1)*n] == "E":
- curStruc.append(s[:-1] + "e")
- else:
- curStruc.append(s)
- else:
- curStruc.append(s)
- resultStrucs.append(curStruc)
- for struc in resultStrucs:
- startRes = 0
- endRes = 0
- for i in range(len(struc)):
- for j in range(len(struc[i])):
- if struc[i][j] != "-":
- endRes += 1
- struc[i] = (struc[i], startRes, endRes)
- startRes = endRes
- return resultStrucs
-
-
-def makeTikzDraw(ssType, block, line, start, end):
- # compose a TikZ command which draws a secondary structure element
- # input: * (ssType) secondary structure type (C, coil; H, helix; E, sheet; e, sheet at end of
- # the line; -, gap)
- # * (block) the current sequence block
- # * (line) the current line
- # * (start) the start position
- # * (end) the end position
- # output: a string containing the TikZ command
- result = "\t\t"
- if ssType == "B":
- result += "\\cpsspBridge{-"
- elif ssType == "C":
- result += "\\cpsspCoil{-"
- elif ssType == "E":
- result += "\\cpsspSheet{-"
- elif ssType == "e":
- result += "\\cpsspSheetT{-"
- elif ssType == "G":
- result += "\\cpsspThreeTenHelix{-"
- elif ssType == "H":
- result += "\\cpsspAlphaHelix{-"
- elif ssType == "I":
- result += "\\cpsspPiHelix{-"
- elif ssType == "S":
- result += "\\cpsspBend{-"
- elif ssType == "T":
- result += "\\cpsspTurn{-"
- else:
- result += "\\cpsspGap{-"
-
- result += str(block * (blockDistance + nStruc * lineDistance) + line * lineDistance) + "}{"
- result += str(lineIndent + resWidth * start) + "}{"
- result += str(lineIndent + resWidth * end) + "}\n"
- return result
-
-
-def makeTikzLabel(text, block, line):
- # compose a TikZ command which draws a label
- # input: * (text) the label text
- # * (block) the current sequence block
- # * (line) the current line
- # output: a string containing the TikZ command
- result = "\t\\cpsspLabel{-"
- result += str(block * (blockDistance + nStruc * lineDistance) + line * lineDistance) + "}{"
- result += text + "}\n"
- return result
-
-
-def makeTikzRes(number, block, line, isStart, pos=None):
- # compose a TikZ command which draws the number of the first residue in the line
- # input: * (number) the residue number
- # * (block) the current sequence block
- # * (line) the current line
- # * (isStart) True if the start residue number is to be drawn, False otherwise
- # * (pos) unused for the start residue; for the end residue, it indicates the x position
- result = "\t\t"
- if isStart:
- result +="\\cpsspStartRes{-"
- result += str(block * (blockDistance + nStruc * lineDistance) + line * lineDistance) + "}{"
- result += str(lineIndent) + "}{"
- else:
- result +="\\cpsspEndRes{-"
- result += str(block * (blockDistance + nStruc * lineDistance) + line * lineDistance) + "}{"
- result += str(lineIndent + resWidth * pos) + "}{"
- result += str(number) + "}\n"
- return result
-
-
-def usage():
- # print usage of the program
- print """CPSSP -- Compare Protein Secondary Structure Prediction v1.0
-Usage: cpssp
--h or --help prints this message
--s or --sequence-file (FASTA file containing the sequences)
--u or --structure-file (FASTA file containing the structures; mandatory)
--o or --output-file (outout filename without extension and numbering)
--w or --image-width (width of the image in cm)
--t or --image-height (maximal height of an image in cm)
--i or --line-indent (indentation at the beginning of the line in cm)
--r or --residues-per-line (number of residues per line)
--l or --line-distance (distance between lines in cm)
--b or --block-distance (distance between blocks in cm)"""
-
-
-def version():
- # print the program version
- print """CPSSP 1.0
-Copyright (C) 2009 Wolfgang Skala
-License LPPL v1.3c: The LaTeX project public license version 1.3c <http://www.latex-project.org/lppl.txt>
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law."""
-
-
-### 2. CONSTANTS AND VARIABLES
-
-AMINO_ACIDS = 'ARNDCQEGHILKMFPSTWYV-.' # the characters allowed in the FASTA file (AAs, gaps, structures)
-SS_ELEMENTS = "BCEGHIST- "
-GAP_SYMBOLS = "-." # possible gap symbols
-
-sequenceFile = None
-structureFile = None
-imageWidth = 15 # total line width (in cm)
-imageHeight = 20 # maximal height of the image (in cm); it will be split into separate files
- # if its natural height exceeds this value; 0 indicates an arbitrary height
-lineIndent = 2.5 # indentation at the left pof each line (in cm)
-resPerLine = 50 # number of residues per line
-lineDistance = .5 # distance between sequences within one line (in cm)
-blockDistance = 1 # distance between sequence blocks (in cm)
-outputFile = "cpsspresult"
-
-
-
-
-### 3. MAIN PART
-
-# process command line options
-try:
- opts, args = getopt.getopt(sys.argv[1:],
- "vhs:u:w:t:r:i:l:b:o:",
- ["version", "help", "sequence-file=", "structure-file=", "image-width=", "image-height=",
- "residues-per-line=", "line-indent=", "line-distance=", "block-distance=", "output-file="])
-except getopt.GetoptError:
- usage()
- sys.exit(2)
-
-for opt, arg in opts:
- if opt in ("-h", "--help"):
- usage()
- sys.exit()
- elif opt in ("-v", "--version"):
- version()
- sys.exit()
- elif opt in ("-s", "--sequence-file"):
- sequenceFile = arg
- elif opt in ("-u", "--structure-file"):
- structureFile = arg
- elif opt in ("-o", "--output-file"):
- outputFile = arg
- elif opt in ("-w", "--image-width"):
- try:
- imageWidth = float(arg)
- except ValueError:
- print "Invalid image width."
- sys.exit(1)
- elif opt in ("-t", "--image-height"):
- try:
- imageHeight = float(arg)
- except ValueError:
- print "Invalid image height."
- sys.exit(1)
- elif opt in ("r", "--residues-per-line"):
- try:
- resPerLine = int(arg)
- except ValueError:
- print "Invalid number of residues per line."
- sys.exit(1)
- elif opt in ("-i", "--line-indent"):
- try:
- lineIndent = float(arg)
- except ValueError:
- print "Invalid line indentation."
- sys.exit(1)
- elif opt in ("-l", "--line-distance"):
- try:
- lineDistance = float(arg)
- except ValueError:
- print "Invalid line distance."
- sys.exit(1)
- elif opt in ("-b", "--block-distance"):
- try:
- blockDistance = float(arg)
- except ValueError:
- print "Invalid block distance."
- sys.exit(1)
-
-if structureFile == None:
- usage()
- sys.exit(2)
-elif sequenceFile == None:
- # compare the predictions from multiple programs for a single protein
- # open FASTA file
- try:
- seqNames, structures = readFasta(structureFile, SS_ELEMENTS)
- except IOError as error:
- print "Could not open '" + error.filename + "'."
- sys.exit(1)
-
- # process structures
- try:
- structures = commonSyntax(structures)
- structures = addGaps(None, structures)
- brokenStructures = breakLines(structures, resPerLine)
- except IndexError:
- print "The structures seem to differ in length."
- sys.exit(1)
-else:
- # compare the predictions from a single program for multiple proteins
- # open FASTA files
- try:
- seqNames, sequences = readFasta(sequenceFile, AMINO_ACIDS)
- strucNames, structures = readFasta(structureFile, SS_ELEMENTS)
- except IOError as error:
- print "Could not open '" + error.filename + "'."
- sys.exit(1)
-
- # process sequences and structures read from the files
- try:
- sequences = removeGaps(sequences)
- structures = commonSyntax(structures)
- structures = addGaps(sequences, structures)
- brokenStructures = breakLines(structures, resPerLine)
- except IndexError:
- print "The sequences and structures seem to differ in length."
- sys.exit(1)
-
-
-# now for the common part
-# calculate or initiate some variables
-resWidth = float(imageWidth - lineIndent) / resPerLine # width of a single residue (in cm)
-nStruc = len(structures) # number of structures
-nBlocks = len(brokenStructures[0]) # number of blocks
-if imageHeight == 0:
- blocksPerImage = nBlocks # blocks per image (output file)
-else:
- blocksPerImage = int((imageHeight + blockDistance) / (nStruc * lineDistance + blockDistance))
-
-tikzCommands = [] # list of strings where each string contains all TikZ commands for an image
-for i in range(nBlocks / blocksPerImage + (1 if nBlocks % blocksPerImage != 0 else 0)):
- tikzCommands.append("")
-
-# determine the appropriate commands
-curLine = 0
-for struc in brokenStructures:
- curBlock = 0
- curImage = 0
- for line, startRes, endRes in struc:
- tikzCommands[curImage] += makeTikzLabel(seqNames[curLine], curBlock, curLine)
- curType = ""
- for i in range(len(line)):
- if i == 0:
- curType = line[i]
- startPos = i
- if line[i] != "-":
- tikzCommands[curImage] += makeTikzRes(startRes + 1, curBlock, curLine, True)
- else:
- tikzCommands[curImage] += makeTikzRes(startRes, curBlock, curLine, True)
- if i < len(line) - 1:
- if line[i+1].upper() != line[i]:
- tikzCommands[curImage] += makeTikzDraw(curType, curBlock, curLine, startPos, i + 1)
- curType = line[i+1]
- startPos = i + 1
- else:
- if line[i] == "e":
- tikzCommands[curImage] += makeTikzDraw("e", curBlock, curLine, startPos, i + 1)
- else:
- tikzCommands[curImage] += makeTikzDraw(curType, curBlock, curLine, startPos, i + 1)
- tikzCommands[curImage] += makeTikzRes(endRes, curBlock, curLine, False, i + 1)
- curBlock += 1
- if curBlock % blocksPerImage == 0:
- curImage += 1
- curBlock = 0
- curLine += 1
-
-# write the output files
-try:
- for i in range(len(tikzCommands)):
- f = file(outputFile + str(i) + ".tex", "w")
- f.write(tikzCommands[i])
- f.close()
-except IOError as error:
- print "Error while writing '" + error.filename + "'."
diff --git a/macros/latex/contrib/cpssp/cpssp.dtx b/macros/latex/contrib/cpssp/cpssp.dtx
deleted file mode 100644
index 3fbd1f304b..0000000000
--- a/macros/latex/contrib/cpssp/cpssp.dtx
+++ /dev/null
@@ -1,1773 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2009 by Wolfgang Skala
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% \fi
-%
-% \iffalse
-%<package>\ProvidesPackage{cpssp}[2009/06/06 v1.0 compare protein secondary structure predictions]
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%
-%<*driver>
-\documentclass[a4paper,draft]{ltxdoc}
-\usepackage[english]{babel}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{cpssp}
-\usepackage{xcolor}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-\begin{document}
- \DocInput{cpssp.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{403}
-%
-% \CharacterTable
-% {Upper-case \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
-% Lower-case \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
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-%
-% \changes{v1.0}{2009/06/06}{Initial version}
-%
-% \GetFileInfo{cpssp.sty}
-%
-% \DoNotIndex{\@ifundefined,\begin,\boolean,\clip,\colorlet,\csname,\DeclareBoolOption,\DeclareStringOption,\define@key,\draw,\endcsname,\end,\equal,\fill,\filldraw,\ifthenelse,\input,\MessageBreak,\newcommand,\newenvironment,\node,\PackageWarning,\pi,\ProcessKeyvalOptions,\providecolor,\real,\renewcommand,\RequirePackage,\scriptsize,\setboolean,\setkeys,\SetupKeyvalOptions,\sffamily,\shade,\tiny,\usetikzlibrary,}
-%
-% \title{The \textsf{cpssp} package\thanks{This document corresponds to \textsf{cpssp}~\fileversion, dated~\filedate.}}
-% \author{Wolfgang Skala \\ \texttt{Wolfgang.Skala@sbg.ac.at}}
-% \date{\filedate}
-% \maketitle
-%
-%
-% \section{Introduction}
-%
-% The \textsf{cpssp} package allows you to draw a two-dimensional representation of a protein's secondary structure in \LaTeX. Besides, it is possible to graphically \textbf{c}ompare \textbf{p}rotein \textbf{s}econdary \textbf{s}tructure \textbf{p}redictions (hence the name of the package). One can both compare predictions from a single program for several protein sequences (which have been aligned using any appropriate algorithm) and predictions from several programs for a single protein sequence.
-%
-% The following steps are necessary to obtain such a representation: First, input files for the |cpssp| program have to be prepared (§~\ref{sec:inputfiles}). Second, these input files are run through the |cpssp| program, which generates files that can be read by \LaTeX\ (§~\ref{sec:program}). Third, these files are included in a \LaTeX\ document which uses the |cpssp| package, thus providing the necessary commands (§~\ref{sec:latex}).
-%
-% A detailed description of these steps follows, and examples use sequences and predicted secondary structures for collagenases G (ColG) and H (ColH) from \textit{Clostridium histolyticum} and for collagenase T (ColT) from \textit{C. tetani}.
-%
-%
-% \section{Preparation of the Input Files}
-% \label{sec:inputfiles}
-%
-% |cpssp| is a Python 2.6 script and should run on any platform where Python is available. Start the program by either typing |python cpssp| \meta{options} or by making sure that the script is executable (e.g., |chmod u+x cpssp|) and then directly starting the file (|cpssp| \meta{options}).
-%
-% |cpssp| needs one or two input files, one containing the sequences and the other containing the secondary structure predictions. If you want to compare the secondary structure predictions from several programs of the same sequence, you only need the latter, whereas both are needed if you plan to compare the secondary structures predicted by a single program, but for two or more different sequences.
-%
-% The input files must be in FASTA format. Thus, each sequence or structure starts with a header line whose first character is |>| followed by a description of the sequence. Note that this description is used as a label in the graphical output (the description lines from the sequence file if several sequences are compared, and the description lines from the structure file if several prediction programs are compared), so it is advisable to keep it short (in our example below, the sequences have been named after the organism they are from, and the structures have been named after the program which predicted them).
-%
-% The FASTA file containing the sequences may be exported from any multiple sequence alignment program you like. Gaps in the sequences may be indicated by dashes (-) or periods (.); besides, the standard one letter abbreviations for amino acids (ARNDCQEGHILKMFPSTWYV) are allowed. In the structure FASTA file, the following letters are allowed: B ($\beta$-bridge), C (coil), E ($\beta$-strand), G ($3_{10}$-helix), H ($\alpha$-helix), I ($\pi$-helix), S (bend), and T ($\beta$-turn); in addition, a coil is indicated by a space ( ) or a dash (-) in the output of some prediction programs. All these secondary structure elements are supported; although most algorithms predict only coil, $\alpha$-helices and $\beta$-strands, the remaining elements occur in the output of secondary structure assignment programs such as STRIDE. |cpssp| has been tested with the output from STRIDE \cite{Frishman1995} and the following prediction algorithms: PSIPRED \cite{McGuffin2000}, Jpred \cite{Cole2008}, CDM \cite{Cheng2007}, SSpro \cite{Pollastri2002}, and SABLE \cite{Adamczak2005}.
-%
-% The order of the sequences or structures in the FASTA files determines their order in the graphical output. Note that if using both sequence and structure file, the order must be the same in these files. Furthermore, each sequence must be as long as the corresponding structure and all sequences or structures must have the same length (gaps included), or the input files can't be processed properly.
-%
-% In our first example, ClustalX \cite{Larkin2007} was used to align the catalytic domains of three clostridial collagenases (ColG, ColH and ColT) \cite{Ducka2009}. The aligned sequences were exported from the resulting multiple sequence alignment by using JalView \cite{Waterhouse2009}. The corresponding FASTA file is |colsequences.fasta|. The FASTA file containing the structures is |colstructures.fasta|; it was made by obtaining the predictions of the three sequences from PSIPRED followed by copying and pasting the prediction lines and adding headers.
-%
-% Our second example will compare the secondary structure of ColG predicted by five different programs (the ones mentioned above). Therefore, the same approach as for the structure file from the first example was made, yielding the file |colpredictions.fasta|.
-%
-% The third example makes use of another possibility provided by |cpssp|, namely to print a single secondary structure prediction for a single protein. The PSIPRED prediction for ColT was therefore copied into the file |coltprediction.fasta| as described above.
-%
-%
-% \section{Running the \texttt{cpssp} Program}
-% \label{sec:program}
-%
-% The |cpssp| program is a Python script and should run on every system where a Python implementation is available. Basically, it reads the input file(s) and decides whether to compare structures predicted by the same algorithm for different proteins or structures predicted by different algorithms for the same protein. Then, gaps appearing in each sequence at the same position are removed from the sequences. The structures read from the file get a common syntax (i.e., all spaces and dashes indicating a coil are converted to a C) and are gapped so that they possess the same gaps as their respective sequences. In a final step, structures are broke into lines and are translated to \LaTeX\ commands which are written to one or several output files.
-%
-% The |cpssp| command supports the following options:
-% \begin{itemize}
-% \item |-h| or |--help|: Prints a short description of the available parameters.
-% \item |-v| or |--version|: Prints the program version.
-% \item |-s| or |--sequence-file|: The name of the input file containing the sequence data. This option must be omitted
-% if structures predicted by different programs for a single sequence are to be compared.
-% \item |-u| or |--structure-file|: This is the only mandatory option, as the name of the input file containing the structure data
-% must be given in each case.
-% \item |-o| or |--output-file|: Depending on the size of the graphical output (see below), |cpssp| splits the output into several separate files.
-% This is a useful feature if you want to include your comparison in a paper and have to deal with a limited page size
-% (but can be turned off nevertheless as described below). The default output filename is |cpsspresultX.tex|, where |X| is the part that is
-% consecutively numbered. However, by specifying the |-o| option and its argument, you may change the filename before the number. For example,
-% |-o tpp2results| would give |tpp2results0.tex|, |tpp2results1.tex| and so on.
-% \item |-w| or |--image-width|: A number that sets the approximate width $w$ of the image in cm (the default value is 15). Note that the total width
-% is somewhat larger if you decide to include the number of the residues at the end of each line in the final image.
-% \item |-t| or |--image-height|: A number that sets the maximal height of each image in cm (the default value is 20). |cpssp| uses an algorithm
-% where a new output file is started if the total height exceeds the value given by this option, thereby breaking a comparison into several
-% images. While this feature is useful within the constraints of printing paper, is can be turned off by specifying a maximal height of zero
-% (|-t 0|). Note that the height specified is not reached in any case; this is due to the distances of lines and blocks (see below).
-% \item |-i| or |--line-indent|: A number that specifies the space that is left blank at the beginning of each line in cm (default is 2.5).
-% This space is reserved for the labels that tell the reader which protein is represented by the secondary structure shown and for the numbers
-% that indicate the residue at the start of each line.
-% \item |-r| or |--residues-per-line|: The number of amino acid residues that should fit on a single line (default is 50). The width $r$ of a single
-% residue is calculated from this number ($n$), from the indention $i$ at the beginning of each line and from the line width $w$ by $r = \frac{w - i}{n}$.
-% Therefore, $r$ is 0.25~cm for the default values.
-% \item |-l| or |--line-distance|: A number that gives the distance between lines (default is .5). In an image comparing secondary structure predictions,
-% each prediction resides on its own line; if the length of the comparison exceeds line width minus the indention, is it broken into several blocks
-% which have a distance given by
-% \item |-b| or |--block-distance| (default is 1).
-% \end{itemize}
-%
-% \newpage
-% In our first example, the program was invoked by
-% \begin{verbatim}
-% cpssp -s ColSequences.fasta -u ColStructures.fasta
-% -w 14 -i 1.5 -t 20 -o Collagenases
-% \end{verbatim}
-% to produce a total of 2 images comparing the collagenases. For the second example, the command was
-% \begin{verbatim}
-% cpssp -u ColGPredictions.fasta -w 14 -i 1.5 -t 10
-% -l .25 -b .5 -o ColGPredictions
-% \end{verbatim}
-% to produce a total of 3 images comparing the predicted structures for ColG from \textit{C. histolyticum}, and for the third example,
-% \begin{verbatim}
-% cpssp -u ColTPrediction.fasta -w 14 -i 0 -r 56 -t 20
-% -b .25 -o ColTPrediction
-% \end{verbatim}
-% produced a single output file.
-%
-%
-%
-% \section{Usage of the \textsf{cpssp} Package}
-% \label{sec:latex}
-%
-%
-% \subsection{Package Options}
-%
-% The image itself is plotted in \LaTeX\ using the Ti\textit{k}Z and \textsc{pgf} packages \cite{Tantau2008}. In order to use the output from |cpssp| in your \LaTeX\ document, you have to load the corresponding package by |\usepackage{cpssp}| in the preamble. The following options are known to the package; their values are set by using the \meta{key}=\meta{value} syntax.
-%
-% |style| governs the general appearance of the representation. Currently four styles are defined:
-% \begin{itemize}
-% \item |small| is the default value and gives an image as in fig.~\ref{fig:3StyleSmall}. Note that the default lengths in the |cpssp| program
-% have been optimized for this style, so you may need to specify different values when using one of the styles below (as was done in the examples).\\
-% \hspace*{-21pt}\begin{cpsspimage}[style=small, labels=false, numbers=false]{cpsspelements}
-% \node at (.25, 0) [anchor=north] {\sffamily C};
-% \node at (.875, 0) [anchor=north] {\sffamily G};
-% \node at (1.875, 0) [anchor=north] {\sffamily B};
-% \node at (3.25, 0) [anchor=north] {\sffamily E};
-% \node at (5, 0) [anchor=north] {\sffamily G};
-% \node at (6.75, 0) [anchor=north] {\sffamily H};
-% \node at (8.5, 0) [anchor=north] {\sffamily I};
-% \node at (9.875, 0) [anchor=north] {\sffamily S};
-% \node at (11.25, 0) [anchor=north] {\sffamily T};
-% \end{cpsspimage}
-% \item |large| is similar to the |small| style, but the secondary structure elements are about twice as large (see fig.~\ref{fig:3StyleLarge}).
-% This style is useful for short sequences.\\
-% \hspace*{-21pt}\begin{cpsspimage}[style=large, labels=false, numbers=false]{cpsspelements}
-% \node at (.25, 0) [anchor=north] {\sffamily C};
-% \node at (.875, 0) [anchor=north] {\sffamily G};
-% \node at (1.875, 0) [anchor=north] {\sffamily B};
-% \node at (3.25, 0) [anchor=north] {\sffamily E};
-% \node at (5, 0) [anchor=north] {\sffamily G};
-% \node at (6.75, 0) [anchor=north] {\sffamily H};
-% \node at (8.5, 0) [anchor=north] {\sffamily I};
-% \node at (9.875, 0) [anchor=north] {\sffamily S};
-% \node at (11.25, 0) [anchor=north] {\sffamily T};
-% \end{cpsspimage}
-% \item |graylines| is the style to use for black and white images when space runs out (see fig.~\ref{fig:3StyleGraylines}).\\
-% \hspace*{-22pt}\begin{cpsspimage}[style=graylines, labels=false, numbers=false]{cpsspelements}
-% \node at (.25, 0) [anchor=north] {\sffamily C};
-% \node at (.875, 0) [anchor=north] {\sffamily G};
-% \node at (1.875, 0) [anchor=north] {\sffamily B};
-% \node at (3.25, 0) [anchor=north] {\sffamily E};
-% \node at (5, 0) [anchor=north] {\sffamily G};
-% \node at (6.75, 0) [anchor=north] {\sffamily H};
-% \node at (8.5, 0) [anchor=north] {\sffamily I};
-% \node at (9.875, 0) [anchor=north] {\sffamily S};
-% \node at (11.25, 0) [anchor=north] {\sffamily T};
-% \end{cpsspimage}
-% \item |pdb| is similar to the output of the RCSB Protein Data Bank (under ``Sequence / Structure Details''; see fig.~\ref{fig:3StylePdb}).\\[.5cm]
-% \hspace*{-22pt}\begin{cpsspimage}[style=pdb, labels=false, numbers=false]{cpsspelements}
-% \node at (.25, 0) [anchor=north] {\sffamily C};
-% \node at (.875, 0) [anchor=north] {\sffamily G};
-% \node at (1.875, 0) [anchor=north] {\sffamily B};
-% \node at (3.25, 0) [anchor=north] {\sffamily E};
-% \node at (5, 0) [anchor=north] {\sffamily G};
-% \node at (6.75, 0) [anchor=north] {\sffamily H};
-% \node at (8.5, 0) [anchor=north] {\sffamily I};
-% \node at (9.875, 0) [anchor=north] {\sffamily S};
-% \node at (11.25, 0) [anchor=north] {\sffamily T};
-% \end{cpsspimage}
-% \end{itemize}
-%
-% |labels| can either be |true| or |false| and determines if the secondary structure names should be shown at the beginning of each line. It may be appropriate to turn off the labels if a single secondary structure of a single protein is shown.
-%
-% |numbers| is also a bool option and displays or hides the numbers at to left and right of each line which indicate the first an last residue in this line, respectively.
-%
-% |labelformat| controls the formatting of the structure labels; its default definition is |\sffamily\scriptsize|. The last control sequence may take a single mandatory argument, so |labelformat=\textit| is valid.
-%
-% |numberformat| formats the numbers that indicate the first and last residue on each line, default is |\sffamily\tiny|. The last control sequence may again take a single mandatory argument.
-%
-% |threehelixname| and |pihelixname| hold macros that print the name of the $3_{10}$-helix and the $\pi$-helix, respectively, above the corresponding secondary structure segments when using the |graylines| style. These macros are |\tiny$3_{10}$| and |\tiny$\pi$| by default, respectively.
-%
-% \bigskip
-% \DescribeMacro{\cpsspformat}
-% These options can be changed at any place within the document by changing their values within the argument of |\cpsspformat|\marg{options}.
-%
-%
-% \subsection{Including \texttt{cpssp} Files}
-%
-% The output \LaTeX\ files from |cpssp| may be included either directly in the text or inside a float environment such as |figure| by using one of the following:
-% \begin{itemize}
-% \item \DescribeMacro{\cpsspinput}
-% |\cpsspinput|\oarg{options}\marg{filename}\\
-% This command takes a single mandatory argument, the name of the |cpssp| output file without the |.tex| extension.
-% The optional argument takes the same options as the package and allows to change the format of the representation locally.
-% \item \DescribeEnv{cpsspimage}
-% |\begin{cpsspimage}|\oarg{options}\marg{filename}\\
-% $\ldots$\\
-% |\end{cpsspimage}|\\
-% This is the environment version of |\cpsspinput| with the same optional and mandatory argument.
-% The environment allows you to use additional graphical elements (e.g., comments and arrows) in the secondary structure image
-% by using standard Ti\textit{k}Z syntax (this was done in the small images beneath the style descriptions where additional letters indicate
-% the secondary structure element which is represented by each segment).
-% \end{itemize}
-%
-% \begin{figure}[p]
-% \centering
-% \hspace*{-32pt}\cpsspinput{Collagenases0}\hspace*{-32pt}
-% \caption{A secondary structure comparison from \texttt{Collagenases0.tex} using the \texttt{small} style and the default format for both residue
-% numbers and labels.}
-% \label{fig:3StyleSmall}
-% \end{figure}
-%
-% \begin{figure}[p]
-% \centering
-% \hspace*{-22pt}\cpsspinput[style=graylines, numbers=false, labelformat=\sffamily\tiny\textit]{ColGPredictions1}\hspace*{-22pt}
-% \caption{A secondary structure comparison from \texttt{ColGPredictions1.tex} using the \texttt{graylines} style. Residue numbers are turned off by
-% the option \texttt{numbers=false}. The label format is changed to \texttt{\textbackslash sffamily\textbackslash tiny\textbackslash textit}.}
-% \label{fig:3StyleGraylines}
-% \end{figure}
-%
-% \begin{figure}[p]
-% \centering
-% \hspace*{-43pt}\cpsspinput[style=large, labels=false, numbers=true, numberformat=\footnotesize\color{blue}]{ColTPrediction0}\hspace*{-43pt}
-% \caption{A secondary structure prediction from \texttt{ColTPrediction0.tex} using the \texttt{large} style. Labels are hidden by \texttt{labels=off}.
-% The number format is \texttt{\textbackslash footnotesize\textbackslash color\{blue\}}.}
-% \label{fig:3StyleLarge}
-% \end{figure}
-%
-% \begin{figure}[p]
-% \centering
-% \hspace*{-43pt}\cpsspinput[style=pdb, labels=false]{ColTPrediction0}\hspace*{-43pt}
-% \caption{A secondary structure prediction from \texttt{ColTPrediction0.tex} using the \texttt{pdb} style. Labels are hidden by \texttt{labels=off}.}
-% \label{fig:3StylePdb}
-% \end{figure}
-%
-% \clearpage
-% \begin{thebibliography}{10}
-% \providecommand{\url}[1]{\texttt{#1}}
-%
-% \bibitem{Frishman1995}
-% \textsc{Frishman, D.} \textit{\&} \textsc{Argos, P.}
-% \newblock Knowledge-based protein secondary structure assignment.
-% \newblock \emph{Proteins} \textbf{23}, 566--579 (1995).
-%
-% \bibitem{McGuffin2000}
-% \textsc{McGuffin, L.~J.}, \textsc{Bryson, K.} \textit{\&} \textsc{Jones, D.~T.}
-% \newblock The PSIPRED protein structure prediction server.
-% \newblock \emph{Bioinformatics} \textbf{16}, 404--405 (2000).
-%
-% \bibitem{Cole2008}
-% \textsc{Cole, C.}, \textsc{Barber, J.~D.} \textit{\&} \textsc{Barton, G.~J.}
-% \newblock The Jpred 3 secondary structure prediction server.
-% \newblock \emph{Nucleic Acids Res.} \textbf{36}, W197--W201 (2008).
-%
-% \bibitem{Cheng2007}
-% \textsc{Cheng, H.}, \textsc{Sen, T.~Z.} \emph{et~al.}
-% \newblock Consensus Data Mining (CDM) Protein Secondary Structure Prediction
-% Server: combining GOR V and Fragment Database Mining (FDM).
-% \newblock \emph{Bioinformatics} \textbf{23}, 2628--2630 (2007).
-%
-% \bibitem{Pollastri2002}
-% \textsc{Pollastri, G.}, \textsc{Przybylski, D.} \emph{et~al.}
-% \newblock Improving the prediction of protein secondary structure in three and
-% eight classes using recurrent neural networks and profiles.
-% \newblock \emph{Proteins} \textbf{47}, 228--235 (2002).
-%
-% \bibitem{Adamczak2005}
-% \textsc{Adamczak, R.}, \textsc{Porollo, A.} \textit{\&} \textsc{Meller, J.}
-% \newblock Combining prediction of secondary structure and solvent accessibility
-% in proteins.
-% \newblock \emph{Proteins} \textbf{59}, 467--475 (2005).
-%
-% \bibitem{Larkin2007}
-% \textsc{Larkin, M.~A.}, \textsc{Blackshields, G.} \emph{et~al.}
-% \newblock Clustal W and Clustal X version 2.0.
-% \newblock \emph{Bioinformatics} \textbf{23}, 2947--2948 (2007).
-%
-% \bibitem{Ducka2009}
-% \textsc{Ducka, P.}, \textsc{Eckhard, U.} \emph{et~al.}
-% \newblock A universal strategy for high-yield production of soluble and
-% functional clostridial collagenases in \textit{E. coli}.
-% \newblock \emph{Appl. Microbiol. Biotechnol.} in print (2009).
-%
-% \bibitem{Waterhouse2009}
-% \textsc{Waterhouse, A.~M.}, \textsc{Procter, J.~B.} \emph{et~al.}
-% \newblock Jalview Version 2--a multiple sequence alignment editor and analysis
-% workbench.
-% \newblock \emph{Bioinformatics} \textbf{25}, 1189--1191 (2009).
-%
-% \bibitem{Tantau2008}
-% \textsc{Tantau, T.}
-% \newblock The Ti\textit{k}Z and \textsc{pgf} Packages (2008).
-% \newline{\footnotesize\url{http://tug.ctan.org/tex-archive/graphics/pgf/base/}}
-%
-% \end{thebibliography}
-% \StopEventually{\PrintChanges\PrintIndex}
-%
-% \clearpage
-% \section{Implementation}
-%
-% \iffalse
-%<*package>
-% \fi
-%
-% \subsection{Package Options}
-%
-% The packages \textsf{ifthen} and \textsf{calc} are used for conditionals and calculation of some coordinates, respectively, while \textsf{kvoptions} handles the options specified when the package is loaded. These options and their default values are described in §~\ref{sec:latex}.
-% \begin{macrocode}
-\RequirePackage{ifthen,calc}
-\RequirePackage{kvoptions}
- \SetupKeyvalOptions{family=Cps, prefix=Cps@}
- \DeclareStringOption[small]{style}
- \DeclareBoolOption[true]{labels}
- \DeclareBoolOption[true]{numbers}
- \DeclareStringOption[\sffamily\scriptsize]{labelformat}
- \DeclareStringOption[\sffamily\tiny]{numberformat}
- \DeclareStringOption[\tiny$3_{10}$]{threehelixname}
- \DeclareStringOption[\tiny$\pi$]{pihelixname}
-\ProcessKeyvalOptions*
-% \end{macrocode}
-%
-% \subsection{Command Options}
-%
-% The options which can be set in the optional arguments of |\cpsspinput| and the |cpsspimage| environment and in the mandatory argument of |\cpsspformat| are the same as when loading the package and are set up with commands provided by the \textsf{keyval} package (which is not loaded explicitly because \textsf{kvoptions} takes care of that).
-% \begin{macrocode}
-\define@key{cpssp}{style}{\cpssp@style{#1}}
-\define@key{cpssp}{numbers}{%
- \ifthenelse{\equal{#1}{true}}%
- {\setboolean{Cps@numbers}{true}}%
- {\setboolean{Cps@numbers}{false}}%
-}
-\define@key{cpssp}{labels}{%
- \ifthenelse{\equal{#1}{true}}%
- {\setboolean{Cps@labels}{true}}%
- {\setboolean{Cps@labels}{false}}%
-}
-\define@key{cpssp}{labelformat}%
- {\renewcommand\cpssp@labelformat{#1}}
-\define@key{cpssp}{numberformat}%
- {\renewcommand\cpssp@numberformat{#1}}
-\define@key{cpssp}{threehelixname}%
- {\renewcommand\cpssp@threehelix{#1}}
-\define@key{cpssp}{pihelixname}%
- {\renewcommand\cpssp@pihelix{#1}}
-% \end{macrocode}
-%
-% \subsection{Ti\textit{k}Z Configuration}
-%
-% The Ti\textit{k}Z libraries |positioning| and |decorations.pathmorphing| are needed for additional positioning options for the |\node| command and for drawing of the helices in |pdb| style, respectively.
-% \begin{macrocode}
-\RequirePackage{tikz}
- \usetikzlibrary{positioning}
- \usetikzlibrary{decorations.pathmorphing}
-% \end{macrocode}
-% The package defines some additional colors which govern the appearance of the secondary structure elements in the |small|/|large| (the first nine) and |pdb| style (the last nine). In each color, the last letter indicates the structure element in which the color is used. You may change these colors by the commands provided by the \textsf{xcolor} package anywhere within the document. Note that the shades of gray used in the |graylines| style can not be changed.
-% \begin{macrocode}
- \colorlet {CpsspColorX} {black}
- \providecolor{CpsspColorB} {rgb}{0,.125,1}
- \colorlet {CpsspColorC} {black!80}
- \providecolor{CpsspColorE} {rgb}{0,.5,1}
- \providecolor{CpsspColorG} {rgb}{1,0,1}
- \providecolor{CpsspColorH} {rgb}{1,0,0}
- \providecolor{CpsspColorI} {rgb}{1,.75,0}
- \providecolor{CpsspColorS} {rgb}{0,.75,0}
- \providecolor{CpsspColorT} {rgb}{0,.5,0}
- \colorlet {CpsspColorPdbX} {black!33}
- \providecolor{CpsspColorPdbB}{rgb}{.49,.39,0}
- \colorlet {CpsspColorPdbC} {black}
- \providecolor{CpsspColorPdbE}{rgb}{1,.8,0}
- \providecolor{CpsspColorPdbG}{rgb}{1,.45,.45}
- \providecolor{CpsspColorPdbH}{rgb}{.71,.22,.22}
- \providecolor{CpsspColorPdbI}{rgb}{.5,0,0}
- \providecolor{CpsspColorPdbS}{rgb}{.4,0,.39}
- \providecolor{CpsspColorPdbT}{rgb}{.6,0,.59}
-% \end{macrocode}
-%
-% \subsection{User Interface, Part 1}
-%
-% The following commands are found in the output of the |cpssp| program, but may also be used anywhere within a |tikzpicture| environment.
-% \begin{macro}{\cpsspGap}
-% \begin{macro}{\cpsspBridge}
-% \begin{macro}{\cpsspCoil}
-% \begin{macro}{\cpsspSheet}
-% \begin{macro}{\cpsspSheetT}
-% \begin{macro}{\cpsspThreeTenHelix}
-% \begin{macro}{\cpsspAlphaHelix}
-% \begin{macro}{\cpsspPiHelix}
-% \begin{macro}{\cpsspBend}
-% \begin{macro}{\cpsspTurn}
-% These nine macros each take three mandatory arguments, the first specifying the $y$ coordinate and the second and third specifying the start and end $x$ coordinates, respectively (all coordinates should be given in centimeters). Each macro basically expands to another control sequence which contains the Ti\textit{k}Z drawing commands (see below). The names clearly indicate which secondary structure element is produced. |\cpsspSheetT| draws the \textit{N}-terminus of a $\beta$-sheet whithout the \textit{C}-terminal arrowhead; this is useful for $\beta$-sheets that continue past the end of a line.
-% \begin{macrocode}
-\newcommand\cpsspGap{\cpssp@makeX}
-\newcommand\cpsspBridge{\cpssp@makeB}
-\newcommand\cpsspCoil{\cpssp@makeC}
-\newcommand\cpsspSheet{\cpssp@makeE}
-\newcommand\cpsspSheetT{\cpssp@makeET}
-\newcommand\cpsspThreeTenHelix{\cpssp@makeG}
-\newcommand\cpsspAlphaHelix{\cpssp@makeH}
-\newcommand\cpsspPiHelix{\cpssp@makeI}
-\newcommand\cpsspBend{\cpssp@makeS}
-\newcommand\cpsspTurn{\cpssp@makeT}
-% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \begin{macro}{\cpsspLabel}
-% The |\cpsspLabel| macro first checks if the names of the structures should be printed at the beginning of each line and then either calls the appropriate internal macro or does nothing. The first mandatory argument takes the $y$ coordinate, the second the label text.
-% \begin{macrocode}
-\newcommand\cpsspLabel[2]{%
- \ifthenelse{\boolean{Cps@labels}}{\cpssp@makeLabel{#1}{#2}}{}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cpsspStartRes}
-% \begin{macro}{\cpsspStartRes}
-% These macros, which print the number of the first and the last residue in the line, first check if the numbers should appear at all and then either call the internal command or do nothing. The three arguments specify $y$ coordinate, $x$ coordinate and label text, respectively.
-% \begin{macrocode}
-\newcommand\cpsspStartRes[3]{%
- \ifthenelse{\boolean{Cps@numbers}}{\cpssp@makeStartRes{#1}{#2}{#3}}{}%
-}
-\newcommand\cpsspEndRes[3]{%
- \ifthenelse{\boolean{Cps@numbers}}{\cpssp@makeEndRes{#1}{#2}{#3}}{}%
-}
-% \end{macrocode}
-% \end{macro}\end{macro}
-%
-% \subsection{Styles}
-%
-% \begin{macro}{\cpssp@makeX}
-% \begin{macro}{\cpssp@makeB}
-% \begin{macro}{\cpssp@makeC}
-% \begin{macro}{\cpssp@makeE}
-% \begin{macro}{\cpssp@makeET}
-% \begin{macro}{\cpssp@makeG}
-% \begin{macro}{\cpssp@makeH}
-% \begin{macro}{\cpssp@makeI}
-% \begin{macro}{\cpssp@makeS}
-% \begin{macro}{\cpssp@makeT}
-% \begin{macro}{\cpssp@makeLabel}
-% \begin{macro}{\cpssp@makeStartRes}
-% \begin{macro}{\cpssp@makeEndRes}
-% First we define some empty internal macros which will be redefined when a particular style is chosen. These are the macros that are called by the user-level control sequences described above.
-% \begin{macrocode}
-\newcommand\cpssp@makeX{}
-\newcommand\cpssp@makeB{}
-\newcommand\cpssp@makeC{}
-\newcommand\cpssp@makeE{}
-\newcommand\cpssp@makeET{}
-\newcommand\cpssp@makeG{}
-\newcommand\cpssp@makeH{}
-\newcommand\cpssp@makeI{}
-\newcommand\cpssp@makeS{}
-\newcommand\cpssp@makeT{}
-\newcommand\cpssp@makeLabel{}
-\newcommand\cpssp@makeStartRes{}
-\newcommand\cpssp@makeEndRes{}
-% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \begin{macro}{\cpssp@labelformat}
-% \begin{macro}{\cpssp@numberformat}
-% The two macros below are used for formatting the structure labels and first/last residue numbers. As can be seen from the code, whenever they are used, the argument that follows is surrounded by braces. This allows one to use control sequences with a single mandatory argument at the end of the definition of both |\cpssp@labelformat| and |\cpssp@numberformat|.
-% \begin{macrocode}
-\newcommand\cpssp@labelformat{}
-\newcommand\cpssp@numberformat{}
-% \end{macrocode}
-% \end{macro}\end{macro}
-% \begin{macro}{\cpssp@threehelix}
-% \begin{macro}{\cpssp@pihelix}
-% These two commands contain the labels that are printed above $3_{10}$- and $\pi$-helices in the |graylines| style. They are set by the corresponding options.
-% \begin{macrocode}
-\newcommand\cpssp@threehelix{}
-\newcommand\cpssp@pihelix{}
-% \end{macrocode}
-% \end{macro}\end{macro}
-% \begin{macro}{\cpsstyle@small}
-% The |small| style is shown in fig.~\ref{fig:3StyleSmall}. The internal drawing commands described above are redefined so that they expand to Ti\textit{k}Z drawing commands. Note that coordinates are calculated by using the syntax from the \textsf{calc} package.
-% \begin{macrocode}
-\newcommand\cpsstyle@small{%
- \renewcommand\cpssp@makeX[3]{%
- \draw[dashed, thick, color=CpsspColorX]%
- (##2, ##1+.2) -- (##3, ##1+.2);%
- }%
- \renewcommand\cpssp@makeB[3]{%
- \cpssp@makeC{##1}{##2}{##3}%
- \fill[color=CpsspColorB]%
- (##2, ##1+.1) -- (##3-.23, ##1+.1) -- (##3-.23, ##1) --%
- (##3, ##1+.2) -- (##2, ##1+.2);%
- }%
- \renewcommand\cpssp@makeC[3]{%
- \shade[top color=CpsspColorC, bottom color=white]%
- (##2, ##1+.2375) rectangle (##3, ##1+.21875);%
- \shade[top color=white, bottom color=CpsspColorC]%
- (##2, ##1+.21875) rectangle (##3, ##1+.1625);%
- }%
- \renewcommand\cpssp@makeE[3]{%
- \cpssp@makeC{##1}{##3-.1}{##3}%
- \fill[color=CpsspColorE]%
- (##2, ##1+.1) -- (##3-.23, ##1+.1) -- (##3-.23, ##1) --%
- (##3, ##1+.2) -- (##3-.23, ##1+.4) -- (##3-.23, ##1+.3)--%
- (##2, ##1+.3);%
- }%
- \renewcommand\cpssp@makeET[3]{%
- \fill[color=CpsspColorE]%
- (##2, ##1+.1) rectangle (##3, ##1+.3);%
- }%
- \renewcommand\cpssp@makeG[3]{%
- \shade[top color=CpsspColorG, bottom color=white]%
- (##2, ##1+.3) rectangle (##3, ##1+.25);%
- \shade[top color=white, bottom color=CpsspColorG]%
- (##2, ##1+.25) rectangle (##3, ##1+.15);%
- \shade[top color=CpsspColorG, bottom color=black]%
- (##2, ##1+.15) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeH[3]{%
- \shade[top color=CpsspColorH, bottom color=white]%
- (##2, ##1+.3) rectangle (##3, ##1+.25);%
- \shade[top color=white, bottom color=CpsspColorH]%
- (##2, ##1+.25) rectangle (##3, ##1+.15);%
- \shade[top color=CpsspColorH, bottom color=black]%
- (##2, ##1+.15) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeI[3]{%
- \shade[top color=CpsspColorI, bottom color=white]%
- (##2, ##1+.3) rectangle (##3, ##1+.25);%
- \shade[top color=white, bottom color=CpsspColorI]%
- (##2, ##1+.25) rectangle (##3, ##1+.15);%
- \shade[top color=CpsspColorI, bottom color=black]%
- (##2, ##1+.15) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeS[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[ultra thick, color=CpsspColorS, line cap=round]%
- (##2, ##1+.19) -- ({(##2+##3)*\real{.5}}, ##1+.39) --%
- (##3, ##1+.19);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeT[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[line width=.05cm, color=CpsspColorT]%
- (##2, ##1+.1625) arc (180:0:{(##3-##2)*\real{.5}} and .25);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeLabel[2]{%
- \node at (0, ##1) [inner sep=0pt, above right=.075 and 0]%
- {\cpssp@labelformat{##2}};%
- }%
- \renewcommand\cpssp@makeStartRes[3]{%
- \node at (##2, ##1+.2) [left]%
- {\cpssp@numberformat{##3}};%
- }%
- \renewcommand\cpssp@makeEndRes[3]{%
- \node at (##2, ##1+.2) [right]%
- {\cpssp@numberformat{##3}};%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cpsstyle@large}
-% The |large| style is shown in fig.~\ref{fig:3StyleLarge}.
-% \begin{macrocode}
-\newcommand\cpsstyle@large{%
- \renewcommand\cpssp@makeX[3]{%
- \draw[dashed, thick, color=CpsspColorX]%
- (##2, ##1+.3) -- (##3, ##1+.3);%
- }%
- \renewcommand\cpssp@makeB[3]{%
- \cpssp@makeC{##1}{##2}{##3}%
- \fill[color=CpsspColorB]%
- (##2, ##1+.15) -- (##3-.23, ##1+.15) -- (##3-.23, ##1) --%
- (##3, ##1+.3) -- (##2, ##1+.3);%
- }%
- \renewcommand\cpssp@makeC[3]{%
- \shade[top color=CpsspColorC, bottom color=white]%
- (##2, ##1+.35) rectangle (##3, ##1+.325);%
- \shade[top color=white, bottom color=CpsspColorC]%
- (##2, ##1+.325) rectangle (##3, ##1+.25);%
- }%
- \renewcommand\cpssp@makeE[3]{%
- \cpssp@makeC{##1}{##3-.1}{##3}%
- \fill[color=CpsspColorE]%
- (##2, ##1+.15) -- (##3-.23, ##1+.15) -- (##3-.23, ##1) --%
- (##3, ##1+.3) -- (##3-.23, ##1+.6) -- (##3-.23, ##1+.45) --%
- (##2, ##1+.45);%
- }%
- \renewcommand\cpssp@makeET[3]{%
- \fill[color=CpsspColorE]%
- (##2, ##1+.15) rectangle (##3, ##1+.45);%
- }%
- \renewcommand\cpssp@makeG[3]{%
- \shade[top color=CpsspColorG, bottom color=white]%
- (##2, ##1+.5) rectangle (##3, ##1+.4);%
- \shade[top color=white, bottom color=CpsspColorG]%
- (##2, ##1+.4) rectangle (##3, ##1+.2);%
- \shade[top color=CpsspColorG, bottom color=black] %
- (##2, ##1+.2) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeH[3]{%
- \shade[top color=CpsspColorH, bottom color=white]%
- (##2, ##1+.5) rectangle (##3, ##1+.4);%
- \shade[top color=white, bottom color=CpsspColorH]%
- (##2, ##1+.4) rectangle (##3, ##1+.2);%
- \shade[top color=CpsspColorH, bottom color=black] %
- (##2, ##1+.2) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeI[3]{%
- \shade[top color=CpsspColorI, bottom color=white]%
- (##2, ##1+.5) rectangle (##3, ##1+.4);%
- \shade[top color=white, bottom color=CpsspColorI]%
- (##2, ##1+.4) rectangle (##3, ##1+.2);%
- \shade[top color=CpsspColorI, bottom color=black] %
- (##2, ##1+.2) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeS[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[line width=.075cm, color=CpsspColorS, line cap=round]%
- (##2, ##1+.275) -- ({(##2+##3)*\real{.5}}, ##1+.6) --%
- (##3, ##1+.275);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeT[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[line width=.075cm, color=CpsspColorT]%
- (##2, ##1+.25) arc (180:0:{(##3-##2)*\real{.5}} and .25);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeLabel[2]{%
- \node at (0, ##1+.3) [inner sep=0pt, right]%
- {\cpssp@labelformat{##2}};%
- }%
- \renewcommand\cpssp@makeStartRes[3]{%
- \node at (##2, ##1+.3) [left]%
- {\cpssp@numberformat{##3}};%
- }%
- \renewcommand\cpssp@makeEndRes[3]{%
- \node at (##2, ##1+.3) [right]%
- {\cpssp@numberformat{##3}};%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cpsstyle@graylines}
-% The |graylines| style is shown in fig.~\ref{fig:3StyleGraylines}.
-% \begin{macrocode}
-\newcommand\cpsstyle@graylines{
- \renewcommand\cpssp@makeX[3]{%
- \draw[dashed, thick, color=black!33]%
- (##2, ##1+.05) -- (##3, ##1+.05);%
- }%
- \renewcommand\cpssp@makeB[3]{%
- \filldraw[very thin, color=black!25, draw=black]%
- (##2, ##1+.0125) -- (##3-.075, ##1+.0125) --%
- (##3-.075, ##1-.0375) -- (##3, ##1+.05) --%
- (##2, ##1+.05) -- (##2, ##1+.0125);%
- }%
- \renewcommand\cpssp@makeC[3]{%
- \draw[thick, color=black]%
- (##2, ##1+.05) -- (##3, ##1+.05);%
- }%
- \renewcommand\cpssp@makeE[3]{%
- \filldraw[very thin, color=black!25, draw=black]%
- (##2, ##1+.0125) -- (##3-.075, ##1+.0125) --%
- (##3-.075, ##1-.0375) -- (##3, ##1+.05) --%
- (##3-.075, ##1+.1375) -- (##3-.075, ##1+.0875) --%
- (##2, ##1+.0875) -- (##2, ##1+.0125);%
- }%
- \renewcommand\cpssp@makeET[3]{%
- \filldraw[very thin, color=black!25, draw=black]%
- (##2, ##1+.0125) rectangle (##3, ##1+.0875);%
- }%
- \renewcommand\cpssp@makeG[3]{%
- \filldraw[thin, color=black!75, draw=black] %
- (##2, ##1) rectangle (##3, ##1+.1);%
- \node at ({(##2+##3)*\real{.5}}, ##1) [anchor=south]%
- {\cpssp@threehelix};%
- }%
- \renewcommand\cpssp@makeH[3]{%
- \filldraw[thin, color=black!75, draw=black] %
- (##2, ##1) rectangle (##3, ##1+.1);%
- }%
- \renewcommand\cpssp@makeI[3]{%
- \filldraw[thin, color=black!75, draw=black] %
- (##2, ##1) rectangle (##3, ##1+.1);%
- \node at ({(##2+##3)*\real{.5}}, ##1) [anchor=south]%
- {\cpssp@pihelix};%
- }%
- \renewcommand\cpssp@makeS[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[thick, color=black!75, line cap=round]%
- (##2, ##1+.05) -- ({(##2+##3)*\real{.5}}, ##1+.2) --%
- (##3, ##1+.05);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeT[3]{%
- \begin{scope}%
- \clip (##2, ##1) rectangle (##3, ##1+1);%
- \draw[thick, color=black!75]%
- (##2, ##1+.035) arc (180:0:{(##3-##2)*\real{.5}} and .2);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeLabel[2]{%
- \node at (0, ##1+.05) [inner sep=0pt,right]%
- {\cpssp@labelformat{##2}};%
- }%
- \renewcommand\cpssp@makeStartRes[3]{%
- \node at (##2, ##1+.05) [left]%
- {\cpssp@numberformat{##3}};%
- }%
- \renewcommand\cpssp@makeEndRes[3]{%
- \node at (##2, ##1+.05) [right]%
- {\cpssp@numberformat{##3}};%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cpsstyle@pdb}
-% The |pdb| style is shown in fig.~\ref{fig:3StylePdb}.
-% \begin{macrocode}
-\newcommand\cpsstyle@pdb{
- \renewcommand\cpssp@makeX[3]{%
- \draw[dashed, thick, color=CpsspColorPdbX]%
- (##2, ##1+.2) -- (##3, ##1+.2);%
- }%
- \renewcommand\cpssp@makeB[3]{%
- \cpssp@makeC{##1}{##3-.1}{##3}%
- \fill[color=CpsspColorPdbB]%
- (##2, ##1) -- (##3, ##1+.2) -- (##2, ##1+.4);
- }%
- \renewcommand\cpssp@makeC[3]{%
- \draw[thick, color=CpsspColorPdbC]%
- (##2, ##1+.2) -- (##3,##1+.2);%
- }%
- \renewcommand\cpssp@makeE[3]{%
- \cpssp@makeC{##1}{##3-.1}{##3}%
- \fill[color=CpsspColorPdbE]%
- (##2, ##1+.1) -- (##3-.23, ##1+.1) -- (##3-.23, ##1) --%
- (##3, ##1+.2) -- (##3-.23, ##1+.4) -- (##3-.23, ##1+.3)--%
- (##2, ##1+.3);%
- }%
- \renewcommand\cpssp@makeET[3]{%
- \fill[color=CpsspColorPdbE]%
- (##2, ##1+.1) rectangle (##3, ##1+.3);%
- }%
- \renewcommand\cpssp@makeG[3]{%
- \draw[ultra thick, color=CpsspColorPdbG, decorate,%
- decoration={snake, amplitude=.2cm}]%
- (##2, ##1+.2) -- (##3, ##1+.2);%
- }%
- \renewcommand\cpssp@makeH[3]{%
- \draw[ultra thick, color=CpsspColorPdbH, decorate,%
- decoration={snake, amplitude=.2cm}]%
- (##2, ##1+.2) -- (##3, ##1+.2);%
- }%
- \renewcommand\cpssp@makeI[3]{%
- \draw[ultra thick, color=CpsspColorPdbI, decorate,%
- decoration={snake, amplitude=.2cm}]%
- (##2, ##1+.2) -- (##3, ##1+.2);%
- }%
- \renewcommand\cpssp@makeS[3]{%
- \begin{scope}%
- \draw[thick, color=CpsspColorPdbS]
- (##2, ##1+.2) -- (##2+.05, ##1+.2) --%
- ({(##2+##3)*\real{.5}}, ##1+.4) -- (##3-.05, ##1+.2) --%
- (##3, ##1+.2);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeT[3]{%
- \begin{scope}[color=CpsspColorPdbT]%
- \draw[thick]%
- (##2, ##1+.2) -- (##2+.1, ##1+.2);%
- \draw[line width=.05cm]%
- (##2+.1,##1+.185) arc (180:0:{(##3-##2-.2)*\real{.5}} and .25);%
- \draw[thick]%
- (##3-.1, ##1+.2) -- (##3, ##1+.2);%
- \end{scope}%
- }%
- \renewcommand\cpssp@makeLabel[2]{%
- \node at (0, ##1) [inner sep=0pt, above right=.075 and 0]%
- {\cpssp@labelformat{##2}};%
- }%
- \renewcommand\cpssp@makeStartRes[3]{%
- \node at (##2, ##1+.2) [left]%
- {\cpssp@numberformat{##3}};%
- }%
- \renewcommand\cpssp@makeEndRes[3]{%
- \node at (##2, ##1+.2) [right]%
- {\cpssp@numberformat{##3}};%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\cpssp@style}
-% The |cpssp@style| macro is used to change the style internally. It is called with the style name as the single mandatory argument and first checks if this style is known (i.e., the macro |\cpsstyle@|\meta{style name} is defined) and executes this macro if possible; otherwise, a package warning is issued and the |small| style is used.
-% \begin{macrocode}
-\newcommand\cpssp@style[1]{
- \@ifundefined{cpsstyle@#1}{%
- \PackageWarning{myclassicthesis}{Style ``\Cps@style'' undefined%
- \MessageBreak using ``small'' instead}%
- \cpsstyle@small%
- }{%
- \csname cpsstyle@#1\endcsname%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{User Interface, Part 2}
-%
-% \begin{macro}{\cpsspformat}
-% Now the three main user commands are defined. |\cpsspformat| takes one mandatory argument which is a list of comma-separated options in \textsf{keyval} format; these options change the appearance of the \textsf{cpssp} output.
-% \begin{macrocode}
-\newcommand\cpsspformat[1]{\setkeys{cpssp}{#1}}
-% \end{macrocode}
-% \end{macro}
-% When the package is loaded by |\usepackage|\oarg{options}|{cpssp}|, |\cpsspformat| is called and the options are set to the values specified in the optional argument of |\usepackage|.
-% \begin{macrocode}
-\cpsspformat{%
- style=\Cps@style,%
- numberformat=\Cps@numberformat,%
- labelformat=\Cps@labelformat,%
- threehelixname=\Cps@threehelixname,%
- pihelixname=\Cps@pihelixname%
-}
-% \end{macrocode}
-% \begin{macro}{\cpsspinput}
-% |\cpsspinput| is basically a shorthand for the more powerful |cpsspimage| environment (see below). The optional argument takes the same option list as |\cpsspformat|, the mandatory argument takes the name of the input file without the |.tex| extension.
-% \begin{macrocode}
-\newcommand\cpsspinput[2][]{\begin{cpsspimage}[#1]{#2}\end{cpsspimage}}
-% \end{macrocode}
-% \end{macro}
-% \begin{environment}{cpsspimage}
-% The |cpsspimage| environment takes the same arguments as the |\cpsspinput| commands. |\begin{cpsspimage}| first begins a |tikzpicture| environment and then locally changes the appearance of the secondary structure image which is finally loaded by |\input|. As |tikzpicture| remains open until |\end{cpsspimage}|, it is possible to add further graphical elements to the image by using standard Ti\textit{k}Z commands.
-% \begin{macrocode}
-\newenvironment{cpsspimage}[2][]%
- {\begin{tikzpicture}\cpsspformat{#1}\input{#2.tex}}%
- {\end{tikzpicture}}
-% \end{macrocode}
-% \end{environment}
-% \iffalse
-%</package>
-%<*ColSequences>
->ColG
--------YDFEYLNGLSYTELTNLIKNIKWNQINGLFNYSTGSQKFFGDKNRVQAIINALQESGRTYTANDM
-KGIETFTEVLRAGFYLGYYNDGLSYLNDRNFQDKCIPAMIAIQKNPNFKLGTAVQDEVITSLGKLIGNASAN
-AEVVNNCVPVLKQFRENLNQYAPDYVKGTAVNELIKGIEFDFSGAAYEK---DVKTMPWYGKIDPFINELKA
-LGLYGNITSATEWASDVGIYYLSKFGLYSTNRNDIVQSLEKAVDMY-KYGKIAFVAMERITWDYDGIGSNGK
-KVDHDKFLDDAEKHYLPKTYTFDNGTFIIRAGDKVSEEKIKRLYWASREVKSQFHRVVGNDKALEVGNADDV
-LTMKIFNSPEEYKFNTNINGVSTDNGGLYIEPRGTFYTYERTPQQSIFSLEELFRHEYTHYLQARYLVDGLW
-GQGPFYEKN--RLTWFDEGTAEFFAGSTRTSGVLPRKSILGYLAKDKVDHRYSLKKTLNSGYDDSDWMFYNY
-GFAVAHYLYEKDMPTFIKMNKAILNTDVKSYDEIIKKLSDDANKNTEYQNHIQELADKYQGAGIPLVSDDYL
-KDHGYKKASEVYSEISKAASLTNTSVTAEKSQYFNTFTLRGTYTGETSKGEFKDWDEMSKKLDGTLESLAKN
-SWSGYKTLTAYFTNYRVTSDNKVQYDVVFHGVLTDNA
->ColH
-VQNESKRYTVSYLKTLNYYDLVDLLVKTEIENLPDLFQYSSDAKEFYGNKTRMSFIMDEIGRRAPQYTEIDH
-KGIPTLVEVVRAGFYLGFHNKELNEINKRSFKERVIPSILAIQKNPNFKLGTEVQDKIVSATGLLAGNETAP
-PEVVNNFTPILQDCIKNIDRYALDDLKSKALFNVLAAPTYDITEYLRATK-EKPENTPWYGKIDGFINELKK
-LALYGKINDNNSWIIDNGIYHIAPLGKLHSNNKIGIETLTEVMKVYPYLSMQHLQSADQIKRHYDSKDAEGN
-KIPLDKFKKEGKEKYCPKTYTFDDGKVIIKAGARVEEEKVKRLYWASKEVNSQFFRVYGIDKPLEEGNPDDI
-LTMVIYNSPEEYKLNSVLYGYDTNNGGMYIEPEGTFFTYEREAQESTYTLEELFRHEYTHYLQGRYAVPGQW
-GRTKLYDND--RLTWYEEGGAELFAGSTRTSGILPRKSIVSNIHNTTRNNRYKLSDTVHSKYGAS-FEFYNY
-ACMFMDYMYNKDMGILNKLNDLAKNNDVDGYDNYIRDLSSNYALNDKYQDHMQERIDNYENLTVPFVADDYL
-VRHAYKNPNEIYSEISEVAKLKDAKSEVKKSQYFSTFTLRGSYTGGASKGKLEDQKAMNKFIDDSLKKLDTY
-SWSGYKTLTAYFTNYKVDSSNRVTYDVVFHGYL----
->ColT
----YKTKYSFNDLNKLSNKEILDLTSKIKWSDISDLFQYNKDSYTFYSNKERVQALIDGLYEKGCNYTSTDD
-KGIDTLVEILRSGFYLGYYNDSLKYLNDKSFKDKCIPAMIAIENNKNFKLGENGQDTVVHALGKLIGNTSCN
-DEVVNKTIPILEQYYNEIDKYSKDRLKSNAVYNFMKEINYDISQYEYAHNIRDYKNTPWSGKIDSFIDTISK
-FASISNVTKDNGWIINNSIYYTAKLSKYHSNPSIPHSVIDNCIEIFPDYSEQYFTAIEAIKEDFNSRDSKGN
-VIDINKLIEEGKKHYLPKTYTFDNGKIIIKAGDKVEESKIQKLYWASKEVKSQFHRIIGNDKPLEVGNADDI
-LTIVIYNNPEEYKLNKTLYGYSVDNGGIYIEGIGTFFTYERTPQESIYSLEELFRHEFTHYLQGRYLIPGLF
-NKGDFYKGNNGRITWFEEGSAEFFAGSTRTS-VLPRKSMVGGLSKNPKE-RFNADKLLHSKYSDG-WDFYKY
-GYAFSDYMYNNNKKLFSDLVSTMKNNDVKGYEALIEESSKDSKINKDYEYHMENLVNNYDNYTIPLVSDDYM
-KQYDNKSLHEIKSDIEKAMDVKNSQITKESSQYFDTYNLKATYTLSSNKGEISNWNYMNNKINEALNKLDNL
-SWGGYKTVTAYFSNPRLNSNNEVVYDIVFHGLL----
-%</ColSequences>
-%<*ColStructures>
->ColG
-CCHHHHHCCCHHHHHHHHHHCCHHHHHHHHCCCHHHHHHHHCHHHHHHHHHHHHHHHHCC
-CCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCCCCHH
-HHHHHHHHHHHHHHHCCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCCC
-HHHCCCHHHHHHHHHHHHHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHHHHCCCCCCCH
-HHHHHHHHHHHCCCCHHHHHHHHHHHHCCCCCCCCCCCCCCHHHHHHHHHHHCCCCEEEC
-CCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCEEEEEEECCHHH
-HHHHCCCCCCCCCCCCEEECCCCEEEEEECCCCCCHHHHHHHHHCHHHHHHCCCCCCCCC
-CCCCCCCCCCCCCEEEHHHHHHHCCCCCCCCCCCHHHHHHHHHHCCCCCCCCHHHHHHCC
-CCCCCCEEHHHHHHHHHHHHHCCHHHHHHHHHHHHCCCHHHHHHHHHHHCCCHHHHHHHH
-HHHHHHHCCCCCCCCCCCCCCCCCCCCCCCHHHHHHHHHHHCCCCCEEECCCCCCCCCEE
-EEEEEEECCCCCCCHHHHHHHHHHHHHHHHHHHHCCCCCCEEEEEEEECCEECCCCCEEE
-EEEEEEECCCCC
-
->ColH
-CCCCCCCCCHHHHHCCCHHHHHHHHHHCCHHHCCHHHCCCHHHHHHHHHHHHHHHHHHHH
-HHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCC
-CCCCCHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
-CCCCHHHHHHHHHHCCHHHHHHHHCCHHHHHHHHHHHHHCCCCCCHHHHHHHHHHHHHHH
-HCCCCCHHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHCCHHHCCCCCCCHHHHHHHHHH
-HCCCEEEEECCCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCCEE
-EEEEECCHHHHHHCCCCCCCCCCCCEEEECCCCCEEEEEEECCCCHHHHHHHHCCHHEEE
-CCCCCCCCCCCCCCCCCCCCCEEEEEHHHHHHHHCCCCCCCCCHHHHHHHHHHCCCCCCC
-CCHHHHHHCCCCCCCHHHHHHHHHHHHHHHCCHHHHHHHHHHHHCCCHHHHHHHHHHHHH
-HHHHHHHHHHHHHHHHCCCCCCCCCCCCHHHHHHCCCCCHHHHHHHHHHHCCCCCCCEEE
-CCCCCCCEEEEEEEEECCCCCCCHHHHHHHHHHHHHHHHHHHCCCCCCCEEEEEEEECCE
-ECCCCCEEEEEEEEECC
-
->ColT
-CCCCCCHHHHHCCCHHHHHHHHHHCCHHHHHHHCCCCHHHHHHHHCHHHHHHHHHHHHHH
-HHCCCCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCC
-CHHHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHHHHHHHHCHHHHHHHHHHHHHHHHHC
-CCCHHHHHHCCCHHHHHCHHHCCCHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHHHHCC
-CCCCCHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHCCCCCCCCCEECCCCHHHHHHHHH
-CCEEEEECCCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCCEEEE
-EEECCHHHHHHCCCCCCCCCCCCCEEECCCCEEEEEECCCCCHHHCHHHHHCCHHHHHHC
-CCCCCCCCCCCCCCCCCCCCCCCEEEHHHHHHHHCCCCCCCCCCCCHHHHHHCCCCCCCC
-HHHHHHHCCCCCCCHHHHHHHHHHHHHHCCHHHHHHHHHHHHCCCHHHHHHHHHHHHHHH
-HHHHHHHHHHHHHCCCCCCCCCCCCCHHHHHHCCCCCHHHCCHHHEECCCCCCCCEEECC
-CCCCCEEEEEEEEECCCCCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCEEEEEEECCEEC
-CCCCEEEEEEEEECC
-%</ColStructures>
-%<*ColGPredictions>
->PSIPRED
-CCHHHHHCCCHHHHHHHHHHCCHHHHHHHHCCCHHHHHHHHCHHHHHHHHHHHHHHHHCC
-CCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCCCCHH
-HHHHHHHHHHHHHHHCCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHCCC
-HHHCCCHHHHHHHHHHHHHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHHHHCCCCCCCH
-HHHHHHHHHHHCCCCHHHHHHHHHHHHCCCCCCCCCCCCCCHHHHHHHHHHHCCCCEEEC
-CCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCEEEEEEECCHHH
-HHHHCCCCCCCCCCCCEEECCCCEEEEEECCCCCCHHHHHHHHHCHHHHHHCCCCCCCCC
-CCCCCCCCCCCCCEEEHHHHHHHCCCCCCCCCCCHHHHHHHHHHCCCCCCCCHHHHHHCC
-CCCCCCEEHHHHHHHHHHHHHCCHHHHHHHHHHHHCCCHHHHHHHHHHHCCCHHHHHHHH
-HHHHHHHCCCCCCCCCCCCCCCCCCCCCCCHHHHHHHHHHHCCCCCEEECCCCCCCCCEE
-EEEEEEECCCCCCCHHHHHHHHHHHHHHHHHHHHCCCCCCEEEEEEEECCEECCCCCEEE
-EEEEEEECCCCC
-
->SSpro
-CCHHHHHCCCHHHHHHHHHCCCCCCCCHHECCCCCHHHHHCCHHHHHHHHHHHHHCCCCC
-CCCCCCCHHHHHHHHHHHHHHCCCCCCCCCCCCHHHHHHHHHHHHHHHCCCCCCCCCCCH
-CHHHHHHHHHECCCCCCHHHHHHHHHHHHHHHHCHHHHHHHHHHHHHHHHHHHCCCCCCC
-CHHHCHCHCCCCCCCCCHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHCCHCCCCCCCCH
-HHHHHHHHHHHCCCCHHHHHHHHHHHHHCCCCCCCCCCCCHHHHHHHHHHHCCCCCEECC
-CCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHEECCCCCCCCCCCCCEEEEEEECCCCC
-EEECCCECCCCCCCCCEEEECCCEEEEEECCCHHHHHHHHHHHHHHHHHHHCCCEECCCC
-CCCCCCCCCCEEEEEECCCEEEEECCCCCCCCCCCHHHHCCCCCCCCCCEEEEEEEEECC
-CCCCCCHHHHHHHHHHHHHHCCCCCHHHHHHHHHHCCCHHHHHHHHHHHHHHHCCCHHHH
-HHHHHHHHHHCCCCCCCCCHHHHHHCCCCCHHHHHHHHHHHCCCCCCEEEHHHCCCCCEE
-EEEEEEECCCCCCCCCCHHHHHHHHCCHHHHHHHCCCCCCEEEEEEEECCEECCCCCEEE
-EEEEEEECCCCC
-
->CDM
-CCCCCCCCCCCHHHHHHHHCCCCCCCCCCEEEECCCCEEECCEEHHHHHHHHHHHHCCCC
-CCCCCCCHHHHHHHHHHHHEEEECCCCCCCCCHHHHHHHEEEEEECCCCCCCCCCCCCCH
-HHHHHHHEEEECCCCCCHHHHHHHHHHHHHCCCCCCCCCCCCCCHHHHHHHHHCCCCCHH
-HHHHCCCCCCCHHHHHHCCHHHHHHHHHHHCCCCCCCHHHHHCCHHHHHHHHHCCCCCCH
-HHHHHHHHHCCCCCCEEEEEEEEEEEEECCCCCCCCCCHHHHHHHHHHHHHHCCCCCCCC
-CCCEEEECCCCHHHHHHHHHHHHHHHHHHHHEEEECCCCCCCCCCCCCEEEEECCCCCCH
-HHHHEEEECCCCCCCCEECCCCCEECCHHCCCCCHHHHHHHHHHHHHHHHHCCCCCCCCC
-CCCCCCCCCCCEEEEEECHHHHHCCCCCCCCCCCCCEEEECCCCCCCCCCCHHHHHHHCC
-CCCCCCCCCCCCHHHHHHHHCCCCHHHHHHHHHHHCCCCCCHHHHHHHHCCCCHHHHHHH
-HHHHHHCCCCCCEEEEEEEHHHHHHCCCCCCEEEHHHHHHHHHCCCCCCCCCCCCCEEEE
-CCCEEEECCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCCCEEEEEEEEEEECCCCCCEE
-EEEEEECCCCCC
-
->Jpred
---HHHHH---HHHHHHHHHH----------------HHHH--HHHHHHHHHHHHHHH---
--------HHHHHHHHHHHHHE------------HHHHHHHHHHHHHHHH----------H
-HHHHHHHHHHH--------HHHHHHHHHHHHHHHHHH----HHHHHHHHHHHHHHHH---
----------HHHHHH---HHHHHHHHHHH--------HHHHHHHHHHHHH---------H
-HHHHHHHHHHH-----HHHHHHHHHH--------------HHHHHHHHHHHH--EEEEE-
---EEEEEE-----HHHHHHHHHHHHHHHHHHHHHH-------------EEEEEEE-----
----------------EEEE----EEEEEE-------EEEEH-----EEEE----E-----
--------------EEEEHHHHHHH----------HHHHHHHHH---------HHHHHH--
-------EEHHHHHHHHHHHHH--HHHHHHHHHHHH---HHHHHHHHHHHHH-H-HHHHHH
-HHHHHHH-------------HHH----------HHHHHHHH----EEEE---------EE
-EEEEEE--------HHHHHHHHHHHHHHHHHH---------EEEEEEEEEEE-----EEE
-EEEEEEE-----
-
->SABLE
-CCHHHHHCCCHHHHHHHHHHCCCCHHHHHHHCCCCHHHHHCCHHHHHHHHHHHHHHHCCC
-CCCCHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCHHHHHHHHHHHHHHCCCCCCCCCCCH
-HHHHHHHHHHHHCCCCCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHC
-CCCCHHHHHHHHHHHHHHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHHHHCCCCCCCHH
-HHHHHHHHHHHCCCCHHHHHHHHHHHHHCCCCCCCCCCCCHHHHHHHHHHHCCCCEEEEC
-CCCEEEEECCCCCHHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCEEEEEEECCCCC
-CCCCCCCCCCCCCCCCEEECCCCEEEEEECCCCCCCCCHHHHHCCCEEEEECCCCCCCCC
-CCCCCCCCCCCCEEEHHHHHHHHHCCCCCCCCCCCCHHHHHHHHCCCCCCCCHHHHHHCC
-CCCCCCHHHHHHHHHHHHHHHCCCHHHHHHHHHHHCCCCHHHHHHHHHHCCCCCCHHHHH
-HHHHHHHHHCCCCCCCCCCCCCCCCCCCCCCHHHHHHHHHHCCCCCCCCCCCCCCCCCEE
-EEEEEEECCCCCCCCCHHHHHHHHHHHHHHHHHCCCCCCCCEEEEEEECEEECCCCCEEE
-EEEEEEECCCCC
-%</ColGPredictions>
-%<*ColTPrediction>
->ColT
-CCCCCCHHHHHCCCHHHHHHHHHHCCHHHHHHHCCCCHHHHHHHHCHHHHHHHHHHHHHH
-HHCCCCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCCCHHHHHHHHHHHHHHHHCCCCCCC
-CHHHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHHHHHHHHCHHHHHHHHHHHHHHHHHC
-CCCHHHHHHCCCHHHHHCHHHCCCHHHHHHHHHHHHCCCCCCCHHHHHHHHHHHHHHHCC
-CCCCCHHHHHHHHHHHHHCCCCCHHHHHHHHHHHHHCCCCCCCCCEECCCCHHHHHHHHH
-CCEEEEECCCCEEEECCCCCCHHHHHHHHHHHHHHHHHHHHHHCCCCCCCCCCCCCEEEE
-EEECCHHHHHHCCCCCCCCCCCCCEEECCCCEEEEEECCCCCHHHCHHHHHCCHHHHHHC
-CCCCCCCCCCCCCCCCCCCCCCCEEEHHHHHHHHCCCCCCCCCCCCHHHHHHCCCCCCCC
-HHHHHHHCCCCCCCHHHHHHHHHHHHHHCCHHHHHHHHHHHHCCCHHHHHHHHHHHHHHH
-HHHHHHHHHHHHHCCCCCCCCCCCCCHHHHHHCCCCCHHHCCHHHEECCCCCCCCEEECC
-CCCCCEEEEEEEEECCCCCCCHHHHHHHHHHHHHHHHHHHCCCCCCCCEEEEEEECCEEC
-CCCCEEEEEEEEECC
-%</ColTPrediction>
-%<*Collagenases0>
- \cpsspLabel{-0.0}{ColG}
- \cpsspStartRes{-0.0}{1.5}{0}
- \cpsspGap{-0.0}{1.5}{3.25}
- \cpsspCoil{-0.0}{3.25}{3.75}
- \cpsspAlphaHelix{-0.0}{3.75}{5.0}
- \cpsspCoil{-0.0}{5.0}{5.75}
- \cpsspAlphaHelix{-0.0}{5.75}{8.25}
- \cpsspCoil{-0.0}{8.25}{8.75}
- \cpsspAlphaHelix{-0.0}{8.75}{10.75}
- \cpsspCoil{-0.0}{10.75}{11.5}
- \cpsspAlphaHelix{-0.0}{11.5}{13.5}
- \cpsspCoil{-0.0}{13.5}{13.75}
- \cpsspAlphaHelix{-0.0}{13.75}{14.0}
- \cpsspEndRes{-0.0}{14.0}{43}
- \cpsspLabel{-2.5}{ColG}
- \cpsspStartRes{-2.5}{1.5}{44}
- \cpsspAlphaHelix{-2.5}{1.5}{5.25}
- \cpsspCoil{-2.5}{5.25}{6.75}
- \cpsspAlphaHelix{-2.5}{6.75}{11.5}
- \cpsspCoil{-2.5}{11.5}{14.0}
- \cpsspEndRes{-2.5}{14.0}{93}
- \cpsspLabel{-5.0}{ColG}
- \cpsspStartRes{-5.0}{1.5}{94}
- \cpsspAlphaHelix{-5.0}{1.5}{5.5}
- \cpsspCoil{-5.0}{5.5}{7.75}
- \cpsspAlphaHelix{-5.0}{7.75}{12.0}
- \cpsspCoil{-5.0}{12.0}{12.5}
- \cpsspAlphaHelix{-5.0}{12.5}{14.0}
- \cpsspEndRes{-5.0}{14.0}{143}
- \cpsspLabel{-7.5}{ColG}
- \cpsspStartRes{-7.5}{1.5}{144}
- \cpsspAlphaHelix{-7.5}{1.5}{10.0}
- \cpsspCoil{-7.5}{10.0}{10.75}
- \cpsspAlphaHelix{-7.5}{10.75}{11.5}
- \cpsspCoil{-7.5}{11.5}{12.25}
- \cpsspGap{-7.5}{12.25}{13.0}
- \cpsspAlphaHelix{-7.5}{13.0}{14.0}
- \cpsspEndRes{-7.5}{14.0}{190}
- \cpsspLabel{-10.0}{ColG}
- \cpsspStartRes{-10.0}{1.5}{191}
- \cpsspAlphaHelix{-10.0}{1.5}{6.5}
- \cpsspCoil{-10.0}{6.5}{8.25}
- \cpsspAlphaHelix{-10.0}{8.25}{12.0}
- \cpsspCoil{-10.0}{12.0}{13.75}
- \cpsspAlphaHelix{-10.0}{13.75}{14.0}
- \cpsspEndRes{-10.0}{14.0}{240}
- \cpsspLabel{-12.5}{ColG}
- \cpsspStartRes{-12.5}{1.5}{241}
- \cpsspAlphaHelix{-12.5}{1.5}{4.25}
- \cpsspCoil{-12.5}{4.25}{4.5}
- \cpsspGap{-12.5}{4.5}{4.75}
- \cpsspCoil{-12.5}{4.75}{5.5}
- \cpsspAlphaHelix{-12.5}{5.5}{8.5}
- \cpsspCoil{-12.5}{8.5}{12.0}
- \cpsspAlphaHelix{-12.5}{12.0}{14.0}
- \cpsspEndRes{-12.5}{14.0}{289}
- \cpsspLabel{-15.0}{ColG}
- \cpsspStartRes{-15.0}{1.5}{290}
- \cpsspAlphaHelix{-15.0}{1.5}{2.25}
- \cpsspCoil{-15.0}{2.25}{3.25}
- \cpsspSheet{-15.0}{3.25}{4.0}
- \cpsspCoil{-15.0}{4.0}{5.0}
- \cpsspSheet{-15.0}{5.0}{6.0}
- \cpsspCoil{-15.0}{6.0}{7.5}
- \cpsspAlphaHelix{-15.0}{7.5}{13.25}
- \cpsspCoil{-15.0}{13.25}{14.0}
- \cpsspEndRes{-15.0}{14.0}{339}
- \cpsspLabel{-17.5}{ColG}
- \cpsspStartRes{-17.5}{1.5}{340}
- \cpsspCoil{-17.5}{1.5}{3.75}
- \cpsspSheet{-17.5}{3.75}{5.5}
- \cpsspCoil{-17.5}{5.5}{6.0}
- \cpsspAlphaHelix{-17.5}{6.0}{7.75}
- \cpsspCoil{-17.5}{7.75}{10.75}
- \cpsspSheet{-17.5}{10.75}{11.5}
- \cpsspCoil{-17.5}{11.5}{12.5}
- \cpsspSheet{-17.5}{12.5}{14.0}
- \cpsspEndRes{-17.5}{14.0}{389}
- \cpsspLabel{-0.5}{ColH}
- \cpsspStartRes{-0.5}{1.5}{1}
- \cpsspCoil{-0.5}{1.5}{3.75}
- \cpsspAlphaHelix{-0.5}{3.75}{5.0}
- \cpsspCoil{-0.5}{5.0}{5.75}
- \cpsspAlphaHelix{-0.5}{5.75}{8.25}
- \cpsspCoil{-0.5}{8.25}{8.75}
- \cpsspAlphaHelix{-0.5}{8.75}{9.5}
- \cpsspCoil{-0.5}{9.5}{10.0}
- \cpsspAlphaHelix{-0.5}{10.0}{10.75}
- \cpsspCoil{-0.5}{10.75}{11.5}
- \cpsspAlphaHelix{-0.5}{11.5}{14.0}
- \cpsspEndRes{-0.5}{14.0}{50}
- \cpsspLabel{-3.0}{ColH}
- \cpsspStartRes{-3.0}{1.5}{51}
- \cpsspAlphaHelix{-3.0}{1.5}{5.0}
- \cpsspCoil{-3.0}{5.0}{7.5}
- \cpsspAlphaHelix{-3.0}{7.5}{11.5}
- \cpsspCoil{-3.0}{11.5}{14.0}
- \cpsspEndRes{-3.0}{14.0}{100}
- \cpsspLabel{-5.5}{ColH}
- \cpsspStartRes{-5.5}{1.5}{101}
- \cpsspAlphaHelix{-5.5}{1.5}{5.5}
- \cpsspCoil{-5.5}{5.5}{7.75}
- \cpsspAlphaHelix{-5.5}{7.75}{10.75}
- \cpsspCoil{-5.5}{10.75}{12.5}
- \cpsspAlphaHelix{-5.5}{12.5}{14.0}
- \cpsspEndRes{-5.5}{14.0}{150}
- \cpsspLabel{-8.0}{ColH}
- \cpsspStartRes{-8.0}{1.5}{151}
- \cpsspAlphaHelix{-8.0}{1.5}{9.0}
- \cpsspCoil{-8.0}{9.0}{10.0}
- \cpsspAlphaHelix{-8.0}{10.0}{12.5}
- \cpsspGap{-8.0}{12.5}{12.75}
- \cpsspCoil{-8.0}{12.75}{13.25}
- \cpsspAlphaHelix{-8.0}{13.25}{14.0}
- \cpsspEndRes{-8.0}{14.0}{199}
- \cpsspLabel{-10.5}{ColH}
- \cpsspStartRes{-10.5}{1.5}{200}
- \cpsspAlphaHelix{-10.5}{1.5}{2.75}
- \cpsspCoil{-10.5}{2.75}{3.25}
- \cpsspAlphaHelix{-10.5}{3.25}{6.5}
- \cpsspCoil{-10.5}{6.5}{8.0}
- \cpsspAlphaHelix{-10.5}{8.0}{12.0}
- \cpsspCoil{-10.5}{12.0}{13.25}
- \cpsspAlphaHelix{-10.5}{13.25}{14.0}
- \cpsspEndRes{-10.5}{14.0}{249}
- \cpsspLabel{-13.0}{ColH}
- \cpsspStartRes{-13.0}{1.5}{250}
- \cpsspAlphaHelix{-13.0}{1.5}{4.25}
- \cpsspCoil{-13.0}{4.25}{5.5}
- \cpsspAlphaHelix{-13.0}{5.5}{8.75}
- \cpsspCoil{-13.0}{8.75}{9.25}
- \cpsspAlphaHelix{-13.0}{9.25}{10.0}
- \cpsspCoil{-13.0}{10.0}{11.75}
- \cpsspAlphaHelix{-13.0}{11.75}{14.0}
- \cpsspEndRes{-13.0}{14.0}{299}
- \cpsspLabel{-15.5}{ColH}
- \cpsspStartRes{-15.5}{1.5}{300}
- \cpsspAlphaHelix{-15.5}{1.5}{2.0}
- \cpsspCoil{-15.5}{2.0}{2.75}
- \cpsspSheet{-15.5}{2.75}{4.0}
- \cpsspCoil{-15.5}{4.0}{5.0}
- \cpsspSheet{-15.5}{5.0}{6.0}
- \cpsspCoil{-15.5}{6.0}{7.5}
- \cpsspAlphaHelix{-15.5}{7.5}{13.0}
- \cpsspCoil{-15.5}{13.0}{14.0}
- \cpsspEndRes{-15.5}{14.0}{349}
- \cpsspLabel{-18.0}{ColH}
- \cpsspStartRes{-18.0}{1.5}{350}
- \cpsspCoil{-18.0}{1.5}{3.75}
- \cpsspSheet{-18.0}{3.75}{5.5}
- \cpsspCoil{-18.0}{5.5}{6.0}
- \cpsspAlphaHelix{-18.0}{6.0}{7.5}
- \cpsspCoil{-18.0}{7.5}{10.5}
- \cpsspSheet{-18.0}{10.5}{11.5}
- \cpsspCoil{-18.0}{11.5}{12.75}
- \cpsspSheetT{-18.0}{12.75}{14.0}
- \cpsspEndRes{-18.0}{14.0}{399}
- \cpsspLabel{-1.0}{ColT}
- \cpsspStartRes{-1.0}{1.5}{0}
- \cpsspGap{-1.0}{1.5}{2.25}
- \cpsspCoil{-1.0}{2.25}{3.75}
- \cpsspAlphaHelix{-1.0}{3.75}{5.0}
- \cpsspCoil{-1.0}{5.0}{5.75}
- \cpsspAlphaHelix{-1.0}{5.75}{8.25}
- \cpsspCoil{-1.0}{8.25}{8.75}
- \cpsspAlphaHelix{-1.0}{8.75}{10.5}
- \cpsspCoil{-1.0}{10.5}{11.5}
- \cpsspAlphaHelix{-1.0}{11.5}{13.5}
- \cpsspCoil{-1.0}{13.5}{13.75}
- \cpsspAlphaHelix{-1.0}{13.75}{14.0}
- \cpsspEndRes{-1.0}{14.0}{47}
- \cpsspLabel{-3.5}{ColT}
- \cpsspStartRes{-3.5}{1.5}{48}
- \cpsspAlphaHelix{-3.5}{1.5}{5.25}
- \cpsspCoil{-3.5}{5.25}{6.75}
- \cpsspAlphaHelix{-3.5}{6.75}{11.5}
- \cpsspCoil{-3.5}{11.5}{14.0}
- \cpsspEndRes{-3.5}{14.0}{97}
- \cpsspLabel{-6.0}{ColT}
- \cpsspStartRes{-6.0}{1.5}{98}
- \cpsspAlphaHelix{-6.0}{1.5}{5.5}
- \cpsspCoil{-6.0}{5.5}{7.5}
- \cpsspAlphaHelix{-6.0}{7.5}{11.25}
- \cpsspCoil{-6.0}{11.25}{12.5}
- \cpsspAlphaHelix{-6.0}{12.5}{14.0}
- \cpsspEndRes{-6.0}{14.0}{147}
- \cpsspLabel{-8.5}{ColT}
- \cpsspStartRes{-8.5}{1.5}{148}
- \cpsspAlphaHelix{-8.5}{1.5}{5.0}
- \cpsspCoil{-8.5}{5.0}{5.25}
- \cpsspAlphaHelix{-8.5}{5.25}{9.5}
- \cpsspCoil{-8.5}{9.5}{10.5}
- \cpsspAlphaHelix{-8.5}{10.5}{12.0}
- \cpsspCoil{-8.5}{12.0}{12.75}
- \cpsspAlphaHelix{-8.5}{12.75}{14.0}
- \cpsspEndRes{-8.5}{14.0}{197}
- \cpsspLabel{-11.0}{ColT}
- \cpsspStartRes{-11.0}{1.5}{198}
- \cpsspCoil{-11.0}{1.5}{1.75}
- \cpsspAlphaHelix{-11.0}{1.75}{2.5}
- \cpsspCoil{-11.0}{2.5}{3.25}
- \cpsspAlphaHelix{-11.0}{3.25}{6.25}
- \cpsspCoil{-11.0}{6.25}{8.0}
- \cpsspAlphaHelix{-11.0}{8.0}{11.75}
- \cpsspCoil{-11.0}{11.75}{13.5}
- \cpsspAlphaHelix{-11.0}{13.5}{14.0}
- \cpsspEndRes{-11.0}{14.0}{247}
- \cpsspLabel{-13.5}{ColT}
- \cpsspStartRes{-13.5}{1.5}{248}
- \cpsspAlphaHelix{-13.5}{1.5}{4.25}
- \cpsspCoil{-13.5}{4.25}{5.5}
- \cpsspAlphaHelix{-13.5}{5.5}{8.75}
- \cpsspCoil{-13.5}{8.75}{11.0}
- \cpsspSheet{-13.5}{11.0}{11.5}
- \cpsspCoil{-13.5}{11.5}{12.5}
- \cpsspAlphaHelix{-13.5}{12.5}{14.0}
- \cpsspEndRes{-13.5}{14.0}{297}
- \cpsspLabel{-16.0}{ColT}
- \cpsspStartRes{-16.0}{1.5}{298}
- \cpsspAlphaHelix{-16.0}{1.5}{2.25}
- \cpsspCoil{-16.0}{2.25}{2.75}
- \cpsspSheet{-16.0}{2.75}{4.0}
- \cpsspCoil{-16.0}{4.0}{5.0}
- \cpsspSheet{-16.0}{5.0}{6.0}
- \cpsspCoil{-16.0}{6.0}{7.5}
- \cpsspAlphaHelix{-16.0}{7.5}{13.0}
- \cpsspCoil{-16.0}{13.0}{14.0}
- \cpsspEndRes{-16.0}{14.0}{347}
- \cpsspLabel{-18.5}{ColT}
- \cpsspStartRes{-18.5}{1.5}{348}
- \cpsspCoil{-18.5}{1.5}{3.75}
- \cpsspSheet{-18.5}{3.75}{5.5}
- \cpsspCoil{-18.5}{5.5}{6.0}
- \cpsspAlphaHelix{-18.5}{6.0}{7.5}
- \cpsspCoil{-18.5}{7.5}{10.75}
- \cpsspSheet{-18.5}{10.75}{11.5}
- \cpsspCoil{-18.5}{11.5}{12.5}
- \cpsspSheet{-18.5}{12.5}{14.0}
- \cpsspEndRes{-18.5}{14.0}{397}
-%</Collagenases0>
-%<*ColGPredictions1>
- \cpsspLabel{-0.0}{PSIPRED}
- \cpsspStartRes{-0.0}{1.5}{301}
- \cpsspCoil{-0.0}{1.5}{2.25}
- \cpsspSheet{-0.0}{2.25}{3.25}
- \cpsspCoil{-0.0}{3.25}{4.75}
- \cpsspAlphaHelix{-0.0}{4.75}{10.5}
- \cpsspCoil{-0.0}{10.5}{13.5}
- \cpsspSheetT{-0.0}{13.5}{14.0}
- \cpsspEndRes{-0.0}{14.0}{350}
- \cpsspLabel{-1.75}{PSIPRED}
- \cpsspStartRes{-1.75}{1.5}{351}
- \cpsspSheet{-1.75}{1.5}{2.75}
- \cpsspCoil{-1.75}{2.75}{3.25}
- \cpsspAlphaHelix{-1.75}{3.25}{5.0}
- \cpsspCoil{-1.75}{5.0}{8.0}
- \cpsspSheet{-1.75}{8.0}{8.75}
- \cpsspCoil{-1.75}{8.75}{9.75}
- \cpsspSheet{-1.75}{9.75}{11.25}
- \cpsspCoil{-1.75}{11.25}{12.75}
- \cpsspAlphaHelix{-1.75}{12.75}{14.0}
- \cpsspEndRes{-1.75}{14.0}{400}
- \cpsspLabel{-3.5}{PSIPRED}
- \cpsspStartRes{-3.5}{1.5}{401}
- \cpsspAlphaHelix{-3.5}{1.5}{2.5}
- \cpsspCoil{-3.5}{2.5}{2.75}
- \cpsspAlphaHelix{-3.5}{2.75}{4.25}
- \cpsspCoil{-3.5}{4.25}{9.75}
- \cpsspSheet{-3.5}{9.75}{10.5}
- \cpsspAlphaHelix{-3.5}{10.5}{12.25}
- \cpsspCoil{-3.5}{12.25}{14.0}
- \cpsspEndRes{-3.5}{14.0}{450}
- \cpsspLabel{-5.25}{PSIPRED}
- \cpsspStartRes{-5.25}{1.5}{451}
- \cpsspCoil{-5.25}{1.5}{2.5}
- \cpsspAlphaHelix{-5.25}{2.5}{5.0}
- \cpsspCoil{-5.25}{5.0}{7.0}
- \cpsspAlphaHelix{-5.25}{7.0}{8.5}
- \cpsspCoil{-5.25}{8.5}{10.5}
- \cpsspSheet{-5.25}{10.5}{11.0}
- \cpsspAlphaHelix{-5.25}{11.0}{14.0}
- \cpsspEndRes{-5.25}{14.0}{500}
- \cpsspLabel{-7.0}{PSIPRED}
- \cpsspStartRes{-7.0}{1.5}{501}
- \cpsspAlphaHelix{-7.0}{1.5}{1.75}
- \cpsspCoil{-7.0}{1.75}{2.25}
- \cpsspAlphaHelix{-7.0}{2.25}{5.25}
- \cpsspCoil{-7.0}{5.25}{6.0}
- \cpsspAlphaHelix{-7.0}{6.0}{8.75}
- \cpsspCoil{-7.0}{8.75}{9.5}
- \cpsspAlphaHelix{-7.0}{9.5}{13.25}
- \cpsspCoil{-7.0}{13.25}{14.0}
- \cpsspEndRes{-7.0}{14.0}{550}
- \cpsspLabel{-8.75}{PSIPRED}
- \cpsspStartRes{-8.75}{1.5}{551}
- \cpsspCoil{-8.75}{1.5}{6.5}
- \cpsspAlphaHelix{-8.75}{6.5}{9.25}
- \cpsspCoil{-8.75}{9.25}{10.5}
- \cpsspSheet{-8.75}{10.5}{11.25}
- \cpsspCoil{-8.75}{11.25}{13.5}
- \cpsspSheetT{-8.75}{13.5}{14.0}
- \cpsspEndRes{-8.75}{14.0}{600}
- \cpsspLabel{-0.25}{SSpro}
- \cpsspStartRes{-0.25}{1.5}{301}
- \cpsspCoil{-0.25}{1.5}{2.25}
- \cpsspSheet{-0.25}{2.25}{3.25}
- \cpsspCoil{-0.25}{3.25}{4.75}
- \cpsspAlphaHelix{-0.25}{4.75}{9.75}
- \cpsspSheet{-0.25}{9.75}{10.25}
- \cpsspCoil{-0.25}{10.25}{13.5}
- \cpsspSheetT{-0.25}{13.5}{14.0}
- \cpsspEndRes{-0.25}{14.0}{350}
- \cpsspLabel{-2.0}{SSpro}
- \cpsspStartRes{-2.0}{1.5}{351}
- \cpsspSheet{-2.0}{1.5}{2.75}
- \cpsspCoil{-2.0}{2.75}{4.0}
- \cpsspSheet{-2.0}{4.0}{4.75}
- \cpsspCoil{-2.0}{4.75}{5.5}
- \cpsspSheet{-2.0}{5.5}{5.75}
- \cpsspCoil{-2.0}{5.75}{8.0}
- \cpsspSheet{-2.0}{8.0}{9.0}
- \cpsspCoil{-2.0}{9.0}{9.75}
- \cpsspSheet{-2.0}{9.75}{11.25}
- \cpsspCoil{-2.0}{11.25}{12.0}
- \cpsspAlphaHelix{-2.0}{12.0}{14.0}
- \cpsspEndRes{-2.0}{14.0}{400}
- \cpsspLabel{-3.75}{SSpro}
- \cpsspStartRes{-3.75}{1.5}{401}
- \cpsspAlphaHelix{-3.75}{1.5}{4.25}
- \cpsspCoil{-3.75}{4.25}{5.0}
- \cpsspSheet{-3.75}{5.0}{5.5}
- \cpsspCoil{-3.75}{5.5}{9.0}
- \cpsspSheet{-3.75}{9.0}{10.5}
- \cpsspCoil{-3.75}{10.5}{11.25}
- \cpsspSheet{-3.75}{11.25}{12.5}
- \cpsspCoil{-3.75}{12.5}{14.0}
- \cpsspEndRes{-3.75}{14.0}{450}
- \cpsspLabel{-5.5}{SSpro}
- \cpsspStartRes{-5.5}{1.5}{451}
- \cpsspCoil{-5.5}{1.5}{2.75}
- \cpsspAlphaHelix{-5.5}{2.75}{3.75}
- \cpsspCoil{-5.5}{3.75}{6.25}
- \cpsspSheet{-5.5}{6.25}{8.5}
- \cpsspCoil{-5.5}{8.5}{10.5}
- \cpsspAlphaHelix{-5.5}{10.5}{14.0}
- \cpsspEndRes{-5.5}{14.0}{500}
- \cpsspLabel{-7.25}{SSpro}
- \cpsspStartRes{-7.25}{1.5}{501}
- \cpsspCoil{-7.25}{1.5}{2.75}
- \cpsspAlphaHelix{-7.25}{2.75}{5.25}
- \cpsspCoil{-7.25}{5.25}{6.0}
- \cpsspAlphaHelix{-7.25}{6.0}{9.75}
- \cpsspCoil{-7.25}{9.75}{10.5}
- \cpsspAlphaHelix{-7.25}{10.5}{14.0}
- \cpsspEndRes{-7.25}{14.0}{550}
- \cpsspLabel{-9.0}{SSpro}
- \cpsspStartRes{-9.0}{1.5}{551}
- \cpsspCoil{-9.0}{1.5}{3.75}
- \cpsspAlphaHelix{-9.0}{3.75}{5.25}
- \cpsspCoil{-9.0}{5.25}{6.5}
- \cpsspAlphaHelix{-9.0}{6.5}{9.25}
- \cpsspCoil{-9.0}{9.25}{10.75}
- \cpsspSheet{-9.0}{10.75}{11.5}
- \cpsspAlphaHelix{-9.0}{11.5}{12.25}
- \cpsspCoil{-9.0}{12.25}{13.5}
- \cpsspSheetT{-9.0}{13.5}{14.0}
- \cpsspEndRes{-9.0}{14.0}{600}
- \cpsspLabel{-0.5}{CDM}
- \cpsspStartRes{-0.5}{1.5}{301}
- \cpsspCoil{-0.5}{1.5}{2.25}
- \cpsspSheet{-0.5}{2.25}{3.25}
- \cpsspCoil{-0.5}{3.25}{4.25}
- \cpsspAlphaHelix{-0.5}{4.25}{9.25}
- \cpsspSheet{-0.5}{9.25}{10.25}
- \cpsspCoil{-0.5}{10.25}{13.5}
- \cpsspSheetT{-0.5}{13.5}{14.0}
- \cpsspEndRes{-0.5}{14.0}{350}
- \cpsspLabel{-2.25}{CDM}
- \cpsspStartRes{-2.25}{1.5}{351}
- \cpsspSheet{-2.25}{1.5}{2.25}
- \cpsspCoil{-2.25}{2.25}{3.75}
- \cpsspAlphaHelix{-2.25}{3.75}{5.0}
- \cpsspSheet{-2.25}{5.0}{6.0}
- \cpsspCoil{-2.25}{6.0}{8.0}
- \cpsspSheet{-2.25}{8.0}{8.5}
- \cpsspCoil{-2.25}{8.5}{9.75}
- \cpsspSheet{-2.25}{9.75}{10.25}
- \cpsspCoil{-2.25}{10.25}{10.75}
- \cpsspAlphaHelix{-2.25}{10.75}{11.25}
- \cpsspCoil{-2.25}{11.25}{12.5}
- \cpsspAlphaHelix{-2.25}{12.5}{14.0}
- \cpsspEndRes{-2.25}{14.0}{400}
- \cpsspLabel{-4.0}{CDM}
- \cpsspStartRes{-4.0}{1.5}{401}
- \cpsspAlphaHelix{-4.0}{1.5}{4.25}
- \cpsspCoil{-4.0}{4.25}{9.25}
- \cpsspSheet{-4.0}{9.25}{10.75}
- \cpsspCoil{-4.0}{10.75}{11.0}
- \cpsspAlphaHelix{-4.0}{11.0}{12.25}
- \cpsspCoil{-4.0}{12.25}{14.0}
- \cpsspEndRes{-4.0}{14.0}{450}
- \cpsspLabel{-5.75}{CDM}
- \cpsspStartRes{-5.75}{1.5}{451}
- \cpsspCoil{-5.75}{1.5}{3.0}
- \cpsspSheet{-5.75}{3.0}{4.0}
- \cpsspCoil{-5.75}{4.0}{6.75}
- \cpsspAlphaHelix{-5.75}{6.75}{8.5}
- \cpsspCoil{-5.75}{8.5}{12.0}
- \cpsspAlphaHelix{-5.75}{12.0}{14.0}
- \cpsspEndRes{-5.75}{14.0}{500}
- \cpsspLabel{-7.5}{CDM}
- \cpsspStartRes{-7.5}{1.5}{501}
- \cpsspCoil{-7.5}{1.5}{2.5}
- \cpsspAlphaHelix{-7.5}{2.5}{5.25}
- \cpsspCoil{-7.5}{5.25}{6.75}
- \cpsspAlphaHelix{-7.5}{6.75}{8.75}
- \cpsspCoil{-7.5}{8.75}{9.75}
- \cpsspAlphaHelix{-7.5}{9.75}{13.0}
- \cpsspCoil{-7.5}{13.0}{14.0}
- \cpsspEndRes{-7.5}{14.0}{550}
- \cpsspLabel{-9.25}{CDM}
- \cpsspStartRes{-9.25}{1.5}{551}
- \cpsspCoil{-9.25}{1.5}{2.0}
- \cpsspSheet{-9.25}{2.0}{3.75}
- \cpsspAlphaHelix{-9.25}{3.75}{5.25}
- \cpsspCoil{-9.25}{5.25}{6.75}
- \cpsspSheet{-9.25}{6.75}{7.5}
- \cpsspAlphaHelix{-9.25}{7.5}{9.75}
- \cpsspCoil{-9.25}{9.75}{13.0}
- \cpsspSheet{-9.25}{13.0}{14.0}
- \cpsspEndRes{-9.25}{14.0}{600}
- \cpsspLabel{-0.75}{Jpred}
- \cpsspStartRes{-0.75}{1.5}{301}
- \cpsspCoil{-0.75}{1.5}{2.0}
- \cpsspSheet{-0.75}{2.0}{3.5}
- \cpsspCoil{-0.75}{3.5}{4.75}
- \cpsspAlphaHelix{-0.75}{4.75}{10.25}
- \cpsspCoil{-0.75}{10.25}{13.5}
- \cpsspSheetT{-0.75}{13.5}{14.0}
- \cpsspEndRes{-0.75}{14.0}{350}
- \cpsspLabel{-2.5}{Jpred}
- \cpsspStartRes{-2.5}{1.5}{351}
- \cpsspSheet{-2.5}{1.5}{2.75}
- \cpsspCoil{-2.5}{2.75}{7.75}
- \cpsspSheet{-2.5}{7.75}{8.75}
- \cpsspCoil{-2.5}{8.75}{9.75}
- \cpsspSheet{-2.5}{9.75}{11.25}
- \cpsspCoil{-2.5}{11.25}{13.0}
- \cpsspSheet{-2.5}{13.0}{14.0}
- \cpsspEndRes{-2.5}{14.0}{400}
- \cpsspLabel{-4.25}{Jpred}
- \cpsspStartRes{-4.25}{1.5}{401}
- \cpsspAlphaHelix{-4.25}{1.5}{1.75}
- \cpsspCoil{-4.25}{1.75}{3.0}
- \cpsspSheet{-4.25}{3.0}{4.0}
- \cpsspCoil{-4.25}{4.0}{5.0}
- \cpsspSheet{-4.25}{5.0}{5.25}
- \cpsspCoil{-4.25}{5.25}{9.75}
- \cpsspSheet{-4.25}{9.75}{10.75}
- \cpsspAlphaHelix{-4.25}{10.75}{12.5}
- \cpsspCoil{-4.25}{12.5}{14.0}
- \cpsspEndRes{-4.25}{14.0}{450}
- \cpsspLabel{-6.0}{Jpred}
- \cpsspStartRes{-6.0}{1.5}{451}
- \cpsspCoil{-6.0}{1.5}{2.5}
- \cpsspAlphaHelix{-6.0}{2.5}{4.75}
- \cpsspCoil{-6.0}{4.75}{7.0}
- \cpsspAlphaHelix{-6.0}{7.0}{8.5}
- \cpsspCoil{-6.0}{8.5}{10.5}
- \cpsspSheet{-6.0}{10.5}{11.0}
- \cpsspAlphaHelix{-6.0}{11.0}{14.0}
- \cpsspEndRes{-6.0}{14.0}{500}
- \cpsspLabel{-7.75}{Jpred}
- \cpsspStartRes{-7.75}{1.5}{501}
- \cpsspAlphaHelix{-7.75}{1.5}{1.75}
- \cpsspCoil{-7.75}{1.75}{2.25}
- \cpsspAlphaHelix{-7.75}{2.25}{5.25}
- \cpsspCoil{-7.75}{5.25}{6.0}
- \cpsspAlphaHelix{-7.75}{6.0}{9.25}
- \cpsspCoil{-7.75}{9.25}{9.5}
- \cpsspAlphaHelix{-7.75}{9.5}{9.75}
- \cpsspCoil{-7.75}{9.75}{10.0}
- \cpsspAlphaHelix{-7.75}{10.0}{13.25}
- \cpsspCoil{-7.75}{13.25}{14.0}
- \cpsspEndRes{-7.75}{14.0}{550}
- \cpsspLabel{-9.5}{Jpred}
- \cpsspStartRes{-9.5}{1.5}{551}
- \cpsspCoil{-9.5}{1.5}{4.0}
- \cpsspAlphaHelix{-9.5}{4.0}{4.75}
- \cpsspCoil{-9.5}{4.75}{7.25}
- \cpsspAlphaHelix{-9.5}{7.25}{9.25}
- \cpsspCoil{-9.5}{9.25}{10.25}
- \cpsspSheet{-9.5}{10.25}{11.25}
- \cpsspCoil{-9.5}{11.25}{13.5}
- \cpsspSheetT{-9.5}{13.5}{14.0}
- \cpsspEndRes{-9.5}{14.0}{600}
- \cpsspLabel{-1.0}{SABLE}
- \cpsspStartRes{-1.0}{1.5}{301}
- \cpsspCoil{-1.0}{1.5}{2.25}
- \cpsspSheet{-1.0}{2.25}{3.5}
- \cpsspCoil{-1.0}{3.5}{4.75}
- \cpsspAlphaHelix{-1.0}{4.75}{10.5}
- \cpsspCoil{-1.0}{10.5}{13.5}
- \cpsspSheetT{-1.0}{13.5}{14.0}
- \cpsspEndRes{-1.0}{14.0}{350}
- \cpsspLabel{-2.75}{SABLE}
- \cpsspStartRes{-2.75}{1.5}{351}
- \cpsspSheet{-2.75}{1.5}{2.75}
- \cpsspCoil{-2.75}{2.75}{8.0}
- \cpsspSheet{-2.75}{8.0}{8.75}
- \cpsspCoil{-2.75}{8.75}{9.75}
- \cpsspSheet{-2.75}{9.75}{11.25}
- \cpsspCoil{-2.75}{11.25}{13.5}
- \cpsspAlphaHelix{-2.75}{13.5}{14.0}
- \cpsspEndRes{-2.75}{14.0}{400}
- \cpsspLabel{-4.5}{SABLE}
- \cpsspStartRes{-4.5}{1.5}{401}
- \cpsspAlphaHelix{-4.5}{1.5}{2.25}
- \cpsspCoil{-4.5}{2.25}{3.0}
- \cpsspSheet{-4.5}{3.0}{4.25}
- \cpsspCoil{-4.5}{4.25}{9.5}
- \cpsspSheet{-4.5}{9.5}{10.25}
- \cpsspAlphaHelix{-4.5}{10.25}{12.5}
- \cpsspCoil{-4.5}{12.5}{14.0}
- \cpsspEndRes{-4.5}{14.0}{450}
- \cpsspLabel{-6.25}{SABLE}
- \cpsspStartRes{-6.25}{1.5}{451}
- \cpsspCoil{-6.25}{1.5}{3.0}
- \cpsspAlphaHelix{-6.25}{3.0}{5.0}
- \cpsspCoil{-6.25}{5.0}{7.0}
- \cpsspAlphaHelix{-6.25}{7.0}{8.5}
- \cpsspCoil{-6.25}{8.5}{10.5}
- \cpsspAlphaHelix{-6.25}{10.5}{14.0}
- \cpsspEndRes{-6.25}{14.0}{500}
- \cpsspLabel{-8.0}{SABLE}
- \cpsspStartRes{-8.0}{1.5}{501}
- \cpsspAlphaHelix{-8.0}{1.5}{1.75}
- \cpsspCoil{-8.0}{1.75}{2.5}
- \cpsspAlphaHelix{-8.0}{2.5}{5.25}
- \cpsspCoil{-8.0}{5.25}{6.25}
- \cpsspAlphaHelix{-8.0}{6.25}{8.75}
- \cpsspCoil{-8.0}{8.75}{10.25}
- \cpsspAlphaHelix{-8.0}{10.25}{13.75}
- \cpsspCoil{-8.0}{13.75}{14.0}
- \cpsspEndRes{-8.0}{14.0}{550}
- \cpsspLabel{-9.75}{SABLE}
- \cpsspStartRes{-9.75}{1.5}{551}
- \cpsspCoil{-9.75}{1.5}{6.75}
- \cpsspAlphaHelix{-9.75}{6.75}{9.25}
- \cpsspCoil{-9.75}{9.25}{13.5}
- \cpsspSheetT{-9.75}{13.5}{14.0}
- \cpsspEndRes{-9.75}{14.0}{600}
-%</ColGPredictions1>
-%<*ColTPrediction0>
- \cpsspLabel{-0.0}{ColT}
- \cpsspStartRes{-0.0}{0.0}{1}
- \cpsspCoil{-0.0}{0.0}{1.68}
- \cpsspAlphaHelix{-0.0}{1.68}{3.08}
- \cpsspCoil{-0.0}{3.08}{3.92}
- \cpsspAlphaHelix{-0.0}{3.92}{6.72}
- \cpsspCoil{-0.0}{6.72}{7.28}
- \cpsspAlphaHelix{-0.0}{7.28}{9.24}
- \cpsspCoil{-0.0}{9.24}{10.36}
- \cpsspAlphaHelix{-0.0}{10.36}{12.6}
- \cpsspCoil{-0.0}{12.6}{12.88}
- \cpsspAlphaHelix{-0.0}{12.88}{14.0}
- \cpsspEndRes{-0.0}{14.0}{50}
- \cpsspLabel{-0.75}{ColT}
- \cpsspStartRes{-0.75}{0.0}{51}
- \cpsspAlphaHelix{-0.75}{0.0}{3.36}
- \cpsspCoil{-0.75}{3.36}{5.04}
- \cpsspAlphaHelix{-0.75}{5.04}{10.36}
- \cpsspCoil{-0.75}{10.36}{13.16}
- \cpsspAlphaHelix{-0.75}{13.16}{14.0}
- \cpsspEndRes{-0.75}{14.0}{100}
- \cpsspLabel{-1.5}{ColT}
- \cpsspStartRes{-1.5}{0.0}{101}
- \cpsspAlphaHelix{-1.5}{0.0}{3.64}
- \cpsspCoil{-1.5}{3.64}{5.88}
- \cpsspAlphaHelix{-1.5}{5.88}{10.08}
- \cpsspCoil{-1.5}{10.08}{11.48}
- \cpsspAlphaHelix{-1.5}{11.48}{14.0}
- \cpsspEndRes{-1.5}{14.0}{150}
- \cpsspLabel{-2.25}{ColT}
- \cpsspStartRes{-2.25}{0.0}{151}
- \cpsspAlphaHelix{-2.25}{0.0}{3.08}
- \cpsspCoil{-2.25}{3.08}{3.36}
- \cpsspAlphaHelix{-2.25}{3.36}{8.12}
- \cpsspCoil{-2.25}{8.12}{9.24}
- \cpsspAlphaHelix{-2.25}{9.24}{10.92}
- \cpsspCoil{-2.25}{10.92}{11.76}
- \cpsspAlphaHelix{-2.25}{11.76}{13.16}
- \cpsspCoil{-2.25}{13.16}{13.44}
- \cpsspAlphaHelix{-2.25}{13.44}{14.0}
- \cpsspEndRes{-2.25}{14.0}{200}
- \cpsspLabel{-3.0}{ColT}
- \cpsspStartRes{-3.0}{0.0}{201}
- \cpsspAlphaHelix{-3.0}{0.0}{0.28}
- \cpsspCoil{-3.0}{0.28}{1.12}
- \cpsspAlphaHelix{-3.0}{1.12}{4.48}
- \cpsspCoil{-3.0}{4.48}{6.44}
- \cpsspAlphaHelix{-3.0}{6.44}{10.64}
- \cpsspCoil{-3.0}{10.64}{12.6}
- \cpsspAlphaHelix{-3.0}{12.6}{14.0}
- \cpsspEndRes{-3.0}{14.0}{250}
- \cpsspLabel{-3.75}{ColT}
- \cpsspStartRes{-3.75}{0.0}{251}
- \cpsspAlphaHelix{-3.75}{0.0}{2.24}
- \cpsspCoil{-3.75}{2.24}{3.64}
- \cpsspAlphaHelix{-3.75}{3.64}{7.28}
- \cpsspCoil{-3.75}{7.28}{9.8}
- \cpsspSheet{-3.75}{9.8}{10.36}
- \cpsspCoil{-3.75}{10.36}{11.48}
- \cpsspAlphaHelix{-3.75}{11.48}{14.0}
- \cpsspEndRes{-3.75}{14.0}{300}
- \cpsspLabel{-4.5}{ColT}
- \cpsspStartRes{-4.5}{0.0}{301}
- \cpsspCoil{-4.5}{0.0}{0.56}
- \cpsspSheet{-4.5}{0.56}{1.96}
- \cpsspCoil{-4.5}{1.96}{3.08}
- \cpsspSheet{-4.5}{3.08}{4.2}
- \cpsspCoil{-4.5}{4.2}{5.88}
- \cpsspAlphaHelix{-4.5}{5.88}{12.04}
- \cpsspCoil{-4.5}{12.04}{14.0}
- \cpsspEndRes{-4.5}{14.0}{350}
- \cpsspLabel{-5.25}{ColT}
- \cpsspStartRes{-5.25}{0.0}{351}
- \cpsspCoil{-5.25}{0.0}{1.68}
- \cpsspSheet{-5.25}{1.68}{3.64}
- \cpsspCoil{-5.25}{3.64}{4.2}
- \cpsspAlphaHelix{-5.25}{4.2}{5.88}
- \cpsspCoil{-5.25}{5.88}{9.52}
- \cpsspSheet{-5.25}{9.52}{10.36}
- \cpsspCoil{-5.25}{10.36}{11.48}
- \cpsspSheet{-5.25}{11.48}{13.16}
- \cpsspCoil{-5.25}{13.16}{14.0}
- \cpsspEndRes{-5.25}{14.0}{400}
- \cpsspLabel{-6.0}{ColT}
- \cpsspStartRes{-6.0}{0.0}{401}
- \cpsspCoil{-6.0}{0.0}{0.56}
- \cpsspAlphaHelix{-6.0}{0.56}{1.4}
- \cpsspCoil{-6.0}{1.4}{1.68}
- \cpsspAlphaHelix{-6.0}{1.68}{3.08}
- \cpsspCoil{-6.0}{3.08}{3.64}
- \cpsspAlphaHelix{-6.0}{3.64}{5.32}
- \cpsspCoil{-6.0}{5.32}{12.04}
- \cpsspSheet{-6.0}{12.04}{12.88}
- \cpsspAlphaHelix{-6.0}{12.88}{14.0}
- \cpsspEndRes{-6.0}{14.0}{450}
- \cpsspLabel{-6.75}{ColT}
- \cpsspStartRes{-6.75}{0.0}{451}
- \cpsspAlphaHelix{-6.75}{0.0}{1.12}
- \cpsspCoil{-6.75}{1.12}{4.48}
- \cpsspAlphaHelix{-6.75}{4.48}{6.16}
- \cpsspCoil{-6.75}{6.16}{8.4}
- \cpsspAlphaHelix{-6.75}{8.4}{10.36}
- \cpsspCoil{-6.75}{10.36}{12.32}
- \cpsspAlphaHelix{-6.75}{12.32}{14.0}
- \cpsspEndRes{-6.75}{14.0}{500}
- \cpsspLabel{-7.5}{ColT}
- \cpsspStartRes{-7.5}{0.0}{501}
- \cpsspAlphaHelix{-7.5}{0.0}{2.24}
- \cpsspCoil{-7.5}{2.24}{2.8}
- \cpsspAlphaHelix{-7.5}{2.8}{6.16}
- \cpsspCoil{-7.5}{6.16}{7.0}
- \cpsspAlphaHelix{-7.5}{7.0}{14.0}
- \cpsspEndRes{-7.5}{14.0}{550}
- \cpsspLabel{-8.25}{ColT}
- \cpsspStartRes{-8.25}{0.0}{551}
- \cpsspAlphaHelix{-8.25}{0.0}{0.84}
- \cpsspCoil{-8.25}{0.84}{4.48}
- \cpsspAlphaHelix{-8.25}{4.48}{6.16}
- \cpsspCoil{-8.25}{6.16}{7.56}
- \cpsspAlphaHelix{-8.25}{7.56}{8.4}
- \cpsspCoil{-8.25}{8.4}{8.96}
- \cpsspAlphaHelix{-8.25}{8.96}{9.8}
- \cpsspSheet{-8.25}{9.8}{10.36}
- \cpsspCoil{-8.25}{10.36}{12.6}
- \cpsspSheet{-8.25}{12.6}{13.44}
- \cpsspCoil{-8.25}{13.44}{14.0}
- \cpsspEndRes{-8.25}{14.0}{600}
- \cpsspLabel{-9.0}{ColT}
- \cpsspStartRes{-9.0}{0.0}{601}
- \cpsspCoil{-9.0}{0.0}{1.4}
- \cpsspSheet{-9.0}{1.4}{3.92}
- \cpsspCoil{-9.0}{3.92}{5.88}
- \cpsspAlphaHelix{-9.0}{5.88}{11.2}
- \cpsspCoil{-9.0}{11.2}{13.44}
- \cpsspSheetT{-9.0}{13.44}{14.0}
- \cpsspEndRes{-9.0}{14.0}{650}
- \cpsspLabel{-9.75}{ColT}
- \cpsspStartRes{-9.75}{0.0}{651}
- \cpsspSheet{-9.75}{0.0}{1.4}
- \cpsspCoil{-9.75}{1.4}{1.96}
- \cpsspSheet{-9.75}{1.96}{2.52}
- \cpsspCoil{-9.75}{2.52}{3.92}
- \cpsspSheet{-9.75}{3.92}{6.44}
- \cpsspCoil{-9.75}{6.44}{7.0}
- \cpsspEndRes{-9.75}{7.0}{675}
-%</ColTPrediction0>
-%<*cpsspelements>
- \cpsspLabel{-0.0}{CPSSP}
- \cpsspStartRes{-0.0}{0.0}{1}
- \cpsspCoil{-0.0}{0.0}{0.5}
- \cpsspGap{-0.0}{0.5}{1.25}
- \cpsspCoil{-0.0}{1.25}{1.75}
- \cpsspBridge{-0.0}{1.75}{2.0}
- \cpsspCoil{-0.0}{2.0}{2.75}
- \cpsspSheet{-0.0}{2.75}{3.75}
- \cpsspCoil{-0.0}{3.75}{4.5}
- \cpsspThreeTenHelix{-0.0}{4.5}{5.5}
- \cpsspCoil{-0.0}{5.5}{6.25}
- \cpsspAlphaHelix{-0.0}{6.25}{7.25}
- \cpsspCoil{-0.0}{7.25}{8.0}
- \cpsspPiHelix{-0.0}{8.0}{9.0}
- \cpsspCoil{-0.0}{9.0}{9.75}
- \cpsspBend{-0.0}{9.75}{10.0}
- \cpsspCoil{-0.0}{10.0}{10.75}
- \cpsspTurn{-0.0}{10.75}{11.75}
- \cpsspCoil{-0.0}{11.75}{12.25}
- \cpsspEndRes{-0.0}{12.25}{49}
-%</cpsspelements>
-% \fi
-% \Finale
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/cpssp/cpssp.ins b/macros/latex/contrib/cpssp/cpssp.ins
deleted file mode 100644
index f17e939eee..0000000000
--- a/macros/latex/contrib/cpssp/cpssp.ins
+++ /dev/null
@@ -1,82 +0,0 @@
-%% cpssp.ins
-%%
-%% Copyright (C) 2009 by Wolfgang Skala
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Wolfgang Skala.
-%%
-%% This work consists of the files cpssp.dtx and cpssp.ins
-%% and the derived file cpssp.sty.
-
-\input docstrip.tex
-\keepsilent
-
-\usedir{tex/latex/cpssp}
-
-\declarepreamble\cpssppreamble
-
-Copyright (C) 2009 by Wolfgang Skala
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-\endpreamble
-
-\generate{\usepreamble\cpssppreamble%
- \file{cpssp.sty}{\from{cpssp.dtx}{package}}%
-}
-
-\generate{\nopreamble\nopostamble
- \file{ColSequences.fasta}{\from{cpssp.dtx}{ColSequences}}%
- \file{ColStructures.fasta}{\from{cpssp.dtx}{ColStructures}}%
- \file{ColGPredictions.fasta}{\from{cpssp.dtx}{ColGPredictions}}%
- \file{ColTPrediction.fasta}{\from{cpssp.dtx}{ColTPrediction}}%
- \file{Collagenases0.tex}{\from{cpssp.dtx}{Collagenases0}}%
- \file{ColGPredictions1.tex}{\from{cpssp.dtx}{ColGPredictions1}}%
- \file{ColTPrediction0.tex}{\from{cpssp.dtx}{ColTPrediction0}}%
- \file{cpsspelements.tex}{\from{cpssp.dtx}{cpsspelements}}%
-}
-
-\obeyspaces
-\Msg{****************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the}
-\Msg{* following file into a directory searched by TeX}
-\Msg{*}
-\Msg{* cpssp.sty}
-\Msg{*}
-\Msg{* To produce the documentation execute the}
-\Msg{* following commands:}
-\Msg{*}
-\Msg{* pdflatex cpssp.dtx}
-\Msg{* makeindex -s gind.ist -o cpssp.ind cpssp.idx}
-\Msg{* makeindex -s gglo.ist -o cpssp.gls cpssp.glo}
-\Msg{* pdflatex cpssp.dtx}
-\Msg{*}
-\Msg{* Make sure that the following files are present}
-\Msg{* in the same directory as cpssp.dtx:}
-\Msg{*}
-\Msg{* Collagenases0.tex}
-\Msg{* ColGPredictions1.tex}
-\Msg{* ColTPrediction0.tex}
-\Msg{* cpsspelements.tex}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*}
-\Msg{****************************************************}
-
-\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/cpssp/cpssp.pdf b/macros/latex/contrib/cpssp/cpssp.pdf
deleted file mode 100644
index 8f70caeca0..0000000000
--- a/macros/latex/contrib/cpssp/cpssp.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
index 34320ab758..fe5aeba297 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
index 7335cdbb96..321723f025 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
@@ -34,8 +34,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.5}
-\def\TPdate{17/05/2024}
+\def\TPversion{0.1.8}
+\def\TPdate{13/07/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,6 +111,11 @@
\section{History}
+\verb|v0.1.8|~:~~~~Score banner
+\verb|v0.1.7|~:~~~~Small patch for \textsf{Vignette} macro (see \texttt{[fr]} documentation)
+
+\verb|v0.1.6|~:~~~~Small patchs for \textsf{displayskip} + \textsf{pas-tableur} (see \texttt{[fr]} documentation)
+
\verb|v0.1.5|~:~~~~New macros for boxes with \textsf{tcolorbox} (see \texttt{[fr]} documentation)
\verb|v0.1.4|~:~~~~Create a SMS conversation
@@ -426,6 +431,60 @@ The last argument, mandatory and between \MontreCode{(...)} give the list of cat
\pagebreak
+\pagebreak
+
+\section{Score banner}
+
+\subsection{Global use}
+
+The idea is to insert a score banner, with customizations.
+
+\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+ScoreBanner[keys]{number}
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+%default output
+\ScoreBanner{}
+\end{demohigh}
+
+\subsection{The macro}
+
+Available \MontreCode{keys} are :
+
+\begin{itemize}
+ \item \MontreCode{Height} : height of the banner (without the legend) ; \MontreCode{1} by default
+ \item \MontreCode{Ratio} : ratio of boxes ; \MontreCode{0.6} by default
+ \item \MontreCode{Symbols} : labels ; \MontreCode{A,B,C,D,E} by default
+ \item \MontreCode{Legend} : legend (uppercase) ; \MontreCode{score} by default ;
+ \item \MontreCode{Font} : global font ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} by default
+ \item \MontreCode{ShowLegend} : boolean for the legend ; \MontreCode{false} by default ;
+ \item \MontreCode{Colors} : colors for boxes ;
+
+ \hfill\MontreCode{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5} by default ;
+ \item \MontreCode{ScaleSymbols} : scale H/V of labels ; \MontreCode{1.25,1.65} by default ;
+ \item \MontreCode{Colbg} : background color for select box ; \MontreCode{white} by default.
+\end{itemize}
+
+\smallskip
+
+If the list of colors doesn't fill all the boxes, \MontreCode{lightgray} color is used.
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\ScoreBanner[Legend=Geometry,Height=2]{4}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25,style/demo=yellow!25]
+%bg of lower part is yellow!25
+\def\lstcouleurs{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5,purple}
+\ScoreBanner%
+ [ScaleSymbols={1.33,2},Height=3.25,ShowLegend=false,Ratio=0.75,
+ Symbols={1,2,3,4,5,6},Colors=\lstcouleurs,
+ Colbg=yellow!25]{1}
+\end{demohigh}
+
+\pagebreak
+
\section{SMS conversation}
\subsection{Global use}
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
index 9007eb82b0..47dce47918 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
index f76efcea01..7a7293ec6e 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
@@ -13,7 +13,7 @@
\RequirePackage[scaled=0.925]{cabin} % sf
%\usepackage{DejaVuSerif}
%\usepackage[scale=1.1]{inconsolata}
-\usepackage{customenvs}
+\usepackage[pastableur]{customenvs}
\usepackage{tabularx}
\usepackage{soul}
%\usepackage{codehigh}
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.5}
-\def\TPdate{17 mai 2024}
+\def\TPversion{0.1.8}
+\def\TPdate{13 juillet 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -66,10 +66,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie},%
+ morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style},%
+ morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles},%
keywordstyle={\color{orange}}
},%
#1
@@ -149,6 +149,12 @@
\section{Historique}
+\verb|v0.1.7|~:~~~~Possibilité de créer des vignettes \textsf{perso}
+
+\verb|v0.1.6|~:~~~~Patch \textsf{displayskip} + Patches \textsf{pas-tableur}
+
+\verb|v0.1.5|~:~~~~La librairie \texttt{babel} de \TikZ\ n'est plus chargée
+
\verb|v0.1.5|~:~~~~Vignettes + Numéros encerclés + Création de boîtes 'simples'
\verb|v0.1.4|~:~~~~Commande pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS
@@ -203,7 +209,8 @@ Les packages chargés sont :
\item \MontreCode{multicol} ;
\item \MontreCode{tabularray} ;
\item \MontreCode{xcolor} ;
- \item \MontreCode{fontawesome5}.
+ \item \MontreCode{fontawesome5} ;
+ \item \MontreCode{tikz} avec les librairies \MontreCode{decorations.pathmorphing,positioning,shapes.misc,calc}.
\end{itemize}
À noter que, pour des raisons de compatibilité (ou d'incompatibilité), les packages \MontreCode{enumitem}/\MontreCode{multicol}/\MontreCode{tabularray}/\MontreCode{xcolor}/\MontreCode{fontawesome5} peuvent ne pas être chargés par \MontreCode{customenvs} (auxquels cas l'utilisateur devra les avoir chargés pour faire fonctionner certains environnements) via les options :
@@ -792,6 +799,64 @@ L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des catégori
\pagebreak
+\section{Bandeau de score}
+
+\subsection{Principe et fonctionnement}
+
+L'idée est de proposer une commande pour insérer un bandeau de score, type \textit{nutriscore}.
+
+\smallskip
+
+La majorité des éléments sont personnalisables.
+
+\begin{DemoCode}{listing only}
+\BandeauScore[clés]{numéro}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%sortie par défaut
+\BandeauScore{}
+\end{DemoCode}
+
+\subsection{La commande}
+
+Les \MontreCode{clés} disponibles, à donner entre \MontreCode{[...]}, sont :
+
+\begin{itemize}
+ \item \MontreCode{Hauteur} : hauteur du bandeau (sans la légende) ; \MontreCode{1} par défaut
+ \item \MontreCode{Ratio} : rapport V/H des cases ; \MontreCode{0.6} par défaut
+ \item \MontreCode{Symboles} : contenu des cases ; \MontreCode{A,B,C,D,E} par défaut
+ \item \MontreCode{Legende} : texte de la légende (qui sera en majuscule) ; \MontreCode{score} par défaut ;
+ \item \MontreCode{Police} : Police globale ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} par défaut
+ \item \MontreCode{AffLegende} : booléen pour afficher la légende ; \MontreCode{false} par défaut ;
+ \item \MontreCode{Couleurs} : couleurs des cases ;
+
+ \hfill\MontreCode{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5} par défaut ;
+ \item \MontreCode{EchelleSymboles} : échelle(s) H/V des symboles ; \MontreCode{1.25,1.65} par défaut ;
+ \item \MontreCode{CouleurFond} : couleur du fond (pour la case choisie) ; \MontreCode{white} par défaut.
+\end{itemize}
+
+L'argument obligatoire correspond quant à lui au numéro de la case à mettre en valeur (\MontreCode{vide} par défaut).
+
+\smallskip
+
+Si la liste des couleurs ne permet pas de remplir toutes les cases, la couleur \MontreCode{lightgray} est utilisée.
+
+\begin{DemoCode}{}
+\BandeauScore[Legende=Géométrie,Hauteur=2]{4}
+\end{DemoCode}
+
+\begin{DemoCode}{colbacklower=yellow!25}
+%le fond de la boîte a été défini sur yellow!25
+\def\lstcouleurs{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5,purple}
+\BandeauScore%
+ [EchelleSymboles={1.33,2},Hauteur=2,AffLegende=false,
+ Symboles={1,2,3,4,5,6},Couleurs=\lstcouleurs,
+ CouleurFond=yellow!25]{1}
+\end{DemoCode}
+
+\pagebreak
+
\section{Fenêtre type conversation instantanée}
\subsection{Principe et fonctionnement}
@@ -1216,6 +1281,12 @@ En ligne \CircledNumber{1} avec texte après.
\end{DemoCode}
\begin{DemoCode}{}
+%vignette type tableur
+\AffVignette[Type=perso/CRYPT,Couleur=blue!50!teal,Echelle=0.5]
+ {vignette personnalisée}
+\end{DemoCode}
+
+\begin{DemoCode}{}
%création d'une macro personnelle
\NewDocumentCommand\VignetteTableur{ m }{%
\AffVignette*[Type=sheet,Couleur=green!50!black,Police=\footnotesize\sffamily]
@@ -1235,4 +1306,93 @@ On se place dans la plage \VignetteTableur{A3:B5} pour...
On lance le logiciel \BoiteArrondie[Fond=cyan!33,Texte=violet,EspH=2mm,Style=rect]{situé sur le bureau} en cliquant \BoiteArrondie[Fond=lightgray!25,Texte=darkgray]{droit}.
\end{DemoCode}
+\pagebreak
+
+\section{Patchs divers}
+
+\subsection{Gérer l'espacement vertical du mode hors-ligne}
+
+L'idée est de proposer une commande, à insérer dans le préambule, pour \textit{patcher} l'espacement vertical proposé par les environnements mathématiques hors-ligne.
+
+\begin{DemoCode}{listing only}
+...
+\ChangerDisplaySkip[clés]
+...
+\begin{document}
+\end{DemoCode}
+
+Les \MontreCode{clés} disponibles, à donner entre \MontreCode{[...]}, sont :
+
+\begin{itemize}
+ \item \MontreCode{Avant=...} : modification de l'espacement avant ;
+ \item \MontreCode{AvantS=...} : modification de l'espacement avant (version \textit{short}) ;
+ \item \MontreCode{Apres=...} : modification de l'espacement après ;
+ \item \MontreCode{ApresS=...} : modification de l'espacement après (version \textit{short}) ;
+ \item \MontreCode{Global=...} : modification globale de \textbf{tous} les espacements ;
+ \item \MontreCode{Dense} : booléen pour modification globale en \MontreCode{0.33\textbackslash baselineskip}.
+\end{itemize}
+
+\subsection{Quelques ajouts au package pas-tableur}
+
+L'idée est de proposer quelques commandes complémentaires pour le package \textsf{pas-tableur}, de Stéphane Pasquet (\url{https://ctan.org/pkg/pas-tableur}), en respectant autant que faire se peut la syntaxe du package (voir la documentation pour de plus amples informations).
+
+\smallskip
+
+Le package \textsf{pas-tableur} n'est pas chargé par défaut, mais il peut l'être grâce à l'option \MontreCode{[pastableur]}.
+
+\smallskip
+
+Les \textit{ajouts} disponibles sont :
+
+\begin{itemize}
+ \item colorer/griser une case, via \MontreCode{\textbackslash celcouleur} ;
+ \item fusionner des celules, via \MontreCode{\textbackslash celfusion} ;
+ \item \textit{casser la numérotation} avec des pointillés, via \MontreCode{\textbackslash celnumbreak} ;
+ \item remplir (partiellement ou non) une ligne, via \MontreCode{\textbackslash lignetxt} ;
+ \item remplir (partiellement ou non) une colonne, via \MontreCode{\textbackslash colonnetxt}.
+\end{itemize}
+
+\begin{DemoCode}{listing only}
+%chargement du package
+\usepackage[pastableur]{customenvs}
+
+%griser une cellule
+\celcouleur[couleur]{col-lig}
+
+%fusionner des cellules
+\celfusion[options pas-tableur]{col-lig}{col-lig}{label}
+
+%pointillés dans la numérotation
+\celnumbreak{num ligne pointillés}{début numéro suite}{fin numéro suite}
+
+%remplir ligne
+\lignetxt(*)[options pas-tableur]{num ligne}<col début>{liste des cellules}
+
+%remplir colonne
+\colonnetxt(*)[options pas-tableur]{num colonne}<lgn début>{liste des cellules}
+\end{DemoCode}
+
+\pagebreak
+
+L'exemple suivant illustre les différentes commandes proposées dans ce package.
+
+\begin{DemoCode}{}
+\begin{tikzpicture}{}
+ \tableur*[10]{A/2.5cm,B/2.5cm,C/2.5cm,D/2.5cm,E/2.5cm,F/2.5cm}
+ %ligne n°1
+ \celtxt*[align=center]{A}{1}{$n$}
+ \celfusion[align=center]{B-1}{C-1}{$M_n$}
+ \celfusion[align=center]{D-1}{E-1}{$S_n$}
+ \celtxt*[align=center]{F}{1}{$d_n$}
+ % %Ligne2/3/4
+ \celcouleur{A-2}
+ \lignetxt*[align=center]{2}<2>{$x_n$,$y_n$,5,$n$,$n$} %à partir de la colonne n°2
+ \lignetxt*[align=center]{3}{0,0,0,5,0,5}
+ \lignetxt*[align=center]{4}{1,1,0,5,1,4.12310563}%
+ \celnumbreak{8}{27}{28}
+ %colonneA
+ \colonnetxt*[align=center]{A}<5>{2,3,4,\dots,24,25} %à partir de la ligne n°5
+\end{tikzpicture}
+\end{DemoCode}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/tex/customenvs.sty b/macros/latex/contrib/customenvs/tex/customenvs.sty
index 797a4e65bc..af81d0b88d 100644
--- a/macros/latex/contrib/customenvs/tex/customenvs.sty
+++ b/macros/latex/contrib/customenvs/tex/customenvs.sty
@@ -3,10 +3,13 @@
% source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2024/05/17 0.1.5 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/07/13 0.1.8 Custom classic environments]
%====HISTORIQUE
-% v 0.1.6 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
+% v 0.1.8 Nutriscore
+% v 0.1.7 Style perso pour les vignettes
+% v 0.1.6 DisplaySkip patch + Patchs pas-tableur
+% v 0.1.5 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
% v 0.1.4 Commande (en/fr) pour du texte dans une boîte arrondie, de hauteur 'figée' + 'Chat' SMS
% v 0.1.3 Environnement/Commande pour présentation d'un exercice
% v 0.1.2 Crayon de compétences
@@ -29,6 +32,8 @@
\newif\if@fa\@fatrue%
\DeclareOption{nonfa}{\@fafalse}%
\DeclareOption{nofa}{\@fafalse}%
+\newif\if@pastableur\@pastableurfalse%
+\DeclareOption{pastableur}{\@pastableurtrue}%
\DeclareOption*{}
\ProcessOptions\relax
@@ -55,7 +60,8 @@
\RequirePackage{listofitems}
\RequirePackage{calc}
\RequirePackage{tikz}
-\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc,babel}
+\usetikzlibrary{decorations.pathmorphing,positioning,shapes.misc,calc}
+\usetikzlibrary{babel}
\RequirePackage{tcolorbox}
\RequirePackage{varwidth}
\tcbuselibrary{skins}
@@ -1090,6 +1096,93 @@
title={\@ifpackageloaded{babel}{\NoAutoSpacing#2}{#2}\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}%
}
+%====Nutriscore
+\definecolor{couleurNS1}{RGB}{45,126,67}
+\definecolor{couleurNS2}{RGB}{151,186,56}
+\definecolor{couleurNS3}{RGB}{240,202,13}
+\definecolor{couleurNS4}{RGB}{213,123,26}
+\definecolor{couleurNS5}{RGB}{197,52,25}
+\tikzset{noeudNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCORE]{%
+ Hauteur=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symboles=\def\lettresNS{#1},%
+ Legende=\def\legendeNS{#1},%
+ Police=\def\fonteNS{#1},%
+ Couleurs=\def\couleursNS{#1},%
+ EchelleSymboles=\def\echellesymbNS{#1},%
+ CouleurFond=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCORE]{%
+ Hauteur=1,%
+ Ratio={0.6},%
+ Symboles={A,B,C,D,E},%
+ Legende={score},%
+ Police=\sffamily\bfseries,%
+ AffLegende=true,%
+ Couleurs={couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5},%
+ EchelleSymboles={1.25,1.65},%
+ CouleurFond=white
+}
+
+\NewDocumentCommand\BandeauScore{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCORE]%
+ \setKV[NUTRISCORE]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \tmpiii in {1,...,\letterListNSlen}{%
+ \ifnum\tmpiii=\numcasNS
+ \else
+ \ifnum\tmpiii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \else
+ \fill[draw=none,{\colorListNS[\tmpiii]}] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[\numcasNS]};
+ \end{scope}
+ }%
+ {%
+ }%
+ %légende
+ \ifboolKV[NUTRISCORE]{AffLegende}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\vphantom{QÉ}\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
+}
%%----COMMANDES EN
@@ -1690,8 +1783,8 @@
}
}
-\defKV[cevignette]{Type=\def\cevignettetype{#1},Couleur=\def\cevignettecolor{#1},Police=\def\cevignettefont{#1}}
-\setKVdefault[cevignette]{Type={},Couleur={darkgray},Police=\footnotesize}
+\defKV[cevignette]{Type=\def\cevignettetype{#1},Couleur=\def\cevignettecolor{#1},Police=\def\cevignettefont{#1},Echelle=\def\cevignettescaleperso{#1}}
+\setKVdefault[cevignette]{Type={},Couleur={darkgray},Police=\footnotesize,Echelle=0.55}
\NewDocumentCommand\AffVignette{ s O{} m }{%
\restoreKV[cevignette]%
@@ -1708,7 +1801,310 @@
{shell}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignetteshell]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
{tex}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont\ttfamily},cevignettelatex]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
{sheet}{\tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettetableur]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}}%
- }\relax%
+ }%
+ \IfSubStr{\cevignettetype}{perso}%
+ {%
+ \StrBehind{\cevignettetype}{/}[\cevignettelabelperso]%
+ \tcbox[colframe=\cevignettecolor,fontupper={\cevignettefont},cevignettes,left=6pt,coltitle=white,colback=white,underlay={\begin{tcbclipinterior}\fill[fill=tcbcolframe!33]($(interior.south west)$) rectangle node[rotate=90,font=\tiny\sffamily,tcbcolframe!75!black]{\scalebox{\cevignettescaleperso}[0.75]{\textbf{\cevignettelabelperso}}} ($(interior.north west)+(5pt,0pt)$);\end{tcbclipinterior}}]{\IfBooleanTF{#1}{\NoAutoSpacing}{}#3}%
+ }%
+ {}%
+ \relax%
+}
+
+%====DisplaySkip [en]
+\defKV[DisplaySkip]{%
+ aboveds=\def\ceabovedisplayskip{#1},%
+ abovedsshort=\def\ceabovedisplayskipshort{#1},%
+ belowdds=\def\cebelowdisplayskip{#1},%
+ belowdsshort=\def\cebelowdisplayskipshort{#1},%
+ global=\def\globaldisplayskip{#1}
+}
+
+\setKVdefault[DisplaySkip]{%
+ aboveds={12pt plus 3pt minus 9pt},%
+ abovedsshort={0pt plus 3pt},%
+ belowdds={12pt plus 3pt minus 9pt},%
+ belowdsshort={7pt plus 3pt minus 4pt},%
+ global={},%
+ shrink=false
+}
+\NewDocumentCommand\ChangeSpacingDisplaySkip{ O{} }{%
+ \restoreKV[DisplaySkip]%
+ \setKV[DisplaySkip]{#1}%
+ \ifboolKV[DisplaySkip]{shrink}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=0.33\baselineskip
+ \abovedisplayshortskip=0.33\baselineskip
+ \belowdisplayskip=0.33\baselineskip
+ \belowdisplayshortskip=0.33\baselineskip
+ }
+ }%
+ {%
+ \IfStrEq{\globaldisplayskip}{}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\ceabovedisplayskip
+ \abovedisplayshortskip=\ceabovedisplayskipshort
+ \belowdisplayskip=\cebelowdisplayskip
+ \belowdisplayshortskip=\cebelowdisplayskipshort
+ }
+ }%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\globaldisplayskip
+ \abovedisplayshortskip=\globaldisplayskip
+ \belowdisplayskip=\globaldisplayskip
+ \belowdisplayshortskip=\globaldisplayskip
+ }
+ }%
+ }%
+}
+
+%====DisplaySkip [fr]
+\defKV[DisplaySkipFr]{%
+ Avant=\def\ceabovedisplayskip{#1},%
+ AvantS=\def\ceabovedisplayskipshort{#1},%
+ Apres=\def\cebelowdisplayskip{#1},%
+ ApresS=\def\cebelowdisplayskipshort{#1},%
+ Global=\def\globaldisplayskip{#1}
+}
+
+\setKVdefault[DisplaySkipFr]{%
+ Avant={12pt plus 3pt minus 9pt},%
+ AvantS={0pt plus 3pt},%
+ Apres={12pt plus 3pt minus 9pt},%
+ ApresS={7pt plus 3pt minus 4pt},%
+ Global={},%
+ Dense=false
+}
+\NewDocumentCommand\ChangerDisplaySkip{ O{} }{%
+ \restoreKV[DisplaySkipFr]%
+ \setKV[DisplaySkipFr]{#1}%
+ \ifboolKV[DisplaySkipFr]{Dense}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=0.33\baselineskip
+ \abovedisplayshortskip=0.33\baselineskip
+ \belowdisplayskip=0.33\baselineskip
+ \belowdisplayshortskip=0.33\baselineskip
+ }
+ }%
+ {%
+ \IfStrEq{\globaldisplayskip}{}%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\ceabovedisplayskip
+ \abovedisplayshortskip=\ceabovedisplayskipshort
+ \belowdisplayskip=\cebelowdisplayskip
+ \belowdisplayshortskip=\cebelowdisplayskipshort
+ }
+ }%
+ {%
+ \AtBeginDocument{%
+ \abovedisplayskip=\globaldisplayskip
+ \abovedisplayshortskip=\globaldisplayskip
+ \belowdisplayskip=\globaldisplayskip
+ \belowdisplayshortskip=\globaldisplayskip
+ }
+ }%
+ }%
+}
+
+%====Patchs pas-tableur
+\if@pastableur
+
+\RequirePackage{pas-tableur}
+
+\renewcommand{\pastableur@grid}[4] % #1 : width, #2 : name, #3 : numline, #4 : coord.
+{%
+ \node[celempty,below,minimum height=\line@height,minimum width=#1] (cell#2-#3) at (#4) {};%
+ \draw[graySepCell] ($(cell#2-#3.south west)+(0.2pt,0)$) -- (cell#2-#3.south east) -- ($(cell#2-#3.north east)+(0,-0.2pt)$);%
+}
+
+\renewcommand{\pastab@draw@cell}[5]
+% #1 : \first@width, #2 : \first@name, #3 : 0=colonne1 / 1=autres colonnes /
+% 2 = ligne 1, #4 : coord., #5 : contenu
+{%
+ \ifnum#3=0%
+ \tikzstyle{cellstyle} = [celhead,minimum width={#1},minimum height=\line@height]%
+ \def\pastableur@coord{(0,0)}%
+ \else%
+ \ifnum#3=1%
+ \tikzstyle{cellstyle} = [celhead,right,minimum width={#1},minimum height=\line@height]%
+ \else
+ \ifnum#3=2%
+ \tikzstyle{cellstyle} = [below left,celhead,minimum width={#1},minimum height=\line@height]
+ \else%
+ \tikzstyle{cellstryle} = [below,celhead,minimum width={#1},minimum height=\line@height]
+ \fi%
+ \fi%
+ \def\pastableur@coord{(#4)}%
+ \fi%
+ \node[cellstyle] (#2) at \pastableur@coord {\helvbx#5};%
+ \fill[grayBottomCell] (#2.south west) rectangle (#2.north east) ;%
+ \fill[grayTopCell] (#2.north west) rectangle ($0.5*(#2.south east)+0.5*(#2.north east)$) ;%
+ \node[minimum width={#1},minimum height=\line@height,cellstyle] at \pastableur@coord {\helvbx#5};%
+}
+
+\NewDocumentCommand\celcouleur{ O{graySepCell!50} m }{%OK
+ \draw[draw=none,fill=#1] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#2.north east) + (-0.2pt,-0.2pt)$) ;%
+}
+
+\defKV[celparam]{align=\def\pastableurfusalign{#1},width=\def\pastableurfuswidth{#1}}
+\setKVdefault[celparam]{align=left,width={\col@width}}
+
+\NewDocumentCommand\celfusion{ O{} m m m }{%OK
+ \restoreKV[celparam]%
+ \setKV[celparam]{#1}%
+ \IfStrEq{#4}{}%
+ {%
+ \draw[draw=none,fill=white] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#3.north east) + (-0.2pt,-0.2pt)$);
+ }%
+ {%
+ \draw[draw=none,fill=white] ($(cell#2.south west)+(0.2pt,0.2pt)$) rectangle ($(cell#3.north east) + (-0.2pt,-0.2pt)$) node[midway,text width=\dimexpr\pastableurfuswidth-4pt,align=\pastableurfusalign] {#4};
+ }%
+}
+
+\NewDocumentCommand\celnumbreak{ m m m }{%
+ \def\numpointilles{#1}
+ \xdef\numavant{\inteval{\numpointilles-1}}%
+ \def\numdebut{#2}\def\numfin{#3}
+ \foreach \num@line [remember=\num@line as \lastnum (initially \numavant)] in {\numpointilles}
+ {%
+ \pastab@draw@cell{\numline@width}{numline\num@line}{3}{numline\lastnum.south east}{\dots}%
+ }%
+ \foreach \num@line [remember=\num@line as \lastnum (initially \numpointilles)] in {\numdebut,\numfin}
+ {%
+ \pastab@draw@cell{\numline@width}{numline\num@line}{3}{numline\lastnum.south east}{\num@line}%
+ }%
+}
+
+\NewDocumentCommand\lignetxt{ s O{} m D<>{1} m }{%3=num ligne,%5=liste
+ \IfBooleanTF{#1}%
+ {
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}%
+ \StrChar{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{\j}[\iltr]%
+ \IfEq{\x}{}{}{\celtxt*[#2]{\iltr}{#3}{\x}}%
+ }%
+ }%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}%
+ \StrChar{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{\j}[\iltr]%
+ \IfEq{\x}{}{}{\celtxt[#2]{\iltr}{#3}{\x}}%
+ }%
+ }%
+}
+
+\NewDocumentCommand\colonnetxt{ s O{} m D<>{1} m }{%3=lettre colonne,%5=liste
+ \IfBooleanTF{#1}%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}
+ \IfStrEq{\x}{}{}{\celtxt*[#2]{#3}{\j}{\x}}%
+ }%
+ }%
+ {%
+ \foreach \x [count=\i] in {#5}
+ {%
+ \xdef\j{\inteval{\i+(#4-1)}}
+ \IfStrEq{\x}{}{}{\celtxt[#2]{#3}{\j}{\x}}%
+ }%
+ }%
+}
+
+\fi
+
+%====BannerScore
+\definecolor{colorNS1}{RGB}{45,126,67}
+\definecolor{colorNS2}{RGB}{151,186,56}
+\definecolor{colorNS3}{RGB}{240,202,13}
+\definecolor{colorNS4}{RGB}{213,123,26}
+\definecolor{colorNS5}{RGB}{197,52,25}
+\tikzset{nodeNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCOREEN]{%
+ Height=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symbols=\def\lettresNS{#1},%
+ Legend=\def\legendeNS{#1},%
+ Font=\def\fonteNS{#1},%
+ Colors=\def\couleursNS{#1},%
+ ScaleSymbols=\def\echellesymbNS{#1},%
+ Colbg=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCOREEN]{%
+ Height=1,%
+ Ratio={0.6},%
+ Symbols={A,B,C,D,E},%
+ Legend={score},%
+ Font=\sffamily\bfseries,%
+ ShowLegend=true,%
+ Colors={colorNS1,colorNS2,colorNS3,colorNS4,colorNS5},%
+ ScaleSymbols={1.25,1.65},%
+ Colbg=white
+}
+
+\NewDocumentCommand\ScoreBanner{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCOREEN]%
+ \setKV[NUTRISCOREEN]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \iii in {1,...,\letterListNSlen}{%
+ \ifnum\iii=\numcasNS
+ \else
+ \ifnum\iii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \else
+ \fill[draw=none,{\colorListNS[\iii]}] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[#3]};
+ \end{scope}
+ }%
+ {}%
+ %légende
+ \ifboolKV[NUTRISCOREEN]{ShowLegend}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/README.md b/macros/latex/contrib/dashrulex/README.md
index c0e441ac99..3e81605ffc 100644
--- a/macros/latex/contrib/dashrulex/README.md
+++ b/macros/latex/contrib/dashrulex/README.md
@@ -1,7 +1,15 @@
-# The dashrulex package
+# The `dashrulex` package
+Draw dashed rules (v1.01a)
+## Abstract
The `dashrulex` package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands `\hdashrule` and `\hanyrule`. It's written in LaTeX3 and can be used as an alternative to the `dashrule` package.
## License
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
-This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode \ No newline at end of file
+## Website
+| [Gitee](https://gitee.com/texno3/dashrulex) | [Github](https://github.com/texno3/dashrulex) | [CTAN](https://ctan.org/pkg/dashrulex) |
+
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/dashrulex.pdf b/macros/latex/contrib/dashrulex/dashrulex.pdf
index 376eb91c90..f97a5ef302 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.pdf
+++ b/macros/latex/contrib/dashrulex/dashrulex.pdf
Binary files differ
diff --git a/macros/latex/contrib/dashrulex/dashrulex.sty b/macros/latex/contrib/dashrulex/dashrulex.sty
index 86d43d1478..090cfe2931 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.sty
+++ b/macros/latex/contrib/dashrulex/dashrulex.sty
@@ -1,91 +1,91 @@
-%
-% ***************** THE DASHRULEX PACKAGE *****************
-%
-% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
-%
-% This work may be distributed and/or modified under the
-% conditions of the CC-BY 4.0 License.
-% The latest version of this license is in
-% https://creativecommons.org/licenses/by/4.0/legalcode
-\NeedsTeXFormat{LaTeX2e}[2012/02/12]
-\RequirePackage{xparse}
-\ProvidesExplPackage{dashrulex}{2024/03/25}{1.00c}
- {Draw dashed rules}
-\DeclareDocumentCommand{\hdashrule}{O{0pt}O{x}mmm}
- {
- \tl_if_blank:nTF {#5}
- { \rule[#1]{#3}{#4} }
- {
- \mbox{}
- \use:c { #2leaders }
- \hbox:n
- {
- \clist_map_inline:nn {#5}
- { \drx@parse@dash{#1}{#4}{##1} }
- }
- \skip_horizontal:n {#3}
- \mbox{}
- }
- }
-\NewDocumentCommand{\drx@parse@dash}
- {mm>{\SplitArgument{1}{|}}m}
- {\drx@parse@dash@inner{#1}{#2}#3}
-\cs_set_protected:Npn \drx@parse@dash@inner #1#2#3#4
- {
- \IfNoValueTF{#4}
- {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#3}}
- {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#4}}
- }
-\NewDocumentCommand{\hanyrule}{O{x}mm}
- {
- \mbox{}
- \use:c { #1leaders }
- \hbox:n { \clist_map_inline:nn {#3} {##1} }
- \skip_horizontal:n {#2}
- \mbox{}
- }
-
-\int_new:N \l__drx_vrule_counter_int
-\int_set:Nn \l__drx_vrule_counter_int { 1 }
-\dim_new:N \l__drx_vrule_height_dim
-\tl_new:N \l__drx_tmpa_tl
-\cs_new_protected:Npn \drx@step@counter@height #1
- {
- \int_incr:N \l__drx_vrule_counter_int
- \dim_add:Nn \l__drx_vrule_height_dim {#1}
- }
-\NewDocumentCommand{\vrulemod}{O{0pt}oomm}
- {
- \group_begin:
- \IfValueT{#2}
- {
- \tl_set:Nn \l__drx_tmpa_tl { [#2] }
- \IfValueT{#3}{\tl_put_right:Nn \l__drx_tmpa_tl { [#3] }}
- }
- \exp_last_unbraced:Nnf
- \raisebox{#1}{\l__drx_tmpa_tl}
- {
- \clist_map_inline:nn {#5}
- {
- \int_compare:nNnTF { \l__drx_vrule_counter_int } > { 1 }
- {
- \int_if_even:nTF { \l__drx_vrule_counter_int }
- { \drx@step@counter@height{##1} }
- {
- \kern -#4
- \exp_args:NV
- \raisebox\l__drx_vrule_height_dim{\rule{#4}{##1}}
- \drx@step@counter@height{##1}
- }
- }
- {
- \rule{#4}{##1}
- \drx@step@counter@height{##1}
- }
- }
- }
- \group_end:
- }
-\endinput
-%
+%
+% ***************** THE DASHRULEX PACKAGE *****************
+%
+% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\NeedsTeXFormat{LaTeX2e}[2012/02/12]
+\RequirePackage{xparse}
+\ProvidesExplPackage{dashrulex}{2024/07/18}{1.01a}
+ {Draw dashed rules}
+\DeclareDocumentCommand{\hdashrule}{O{0pt}O{x}mmm}
+ {
+ \tl_if_blank:nTF {#5}
+ { \rule[#1]{#3}{#4} }
+ {
+ \mbox{}
+ \use:c { #2leaders }
+ \hbox:n
+ {
+ \clist_map_inline:nn {#5}
+ { \drx@parse@dash{#1}{#4}{##1} }
+ }
+ \skip_horizontal:n {#3}
+ \mbox{}
+ }
+ }
+\NewDocumentCommand{\drx@parse@dash}
+ {mm>{\SplitArgument{1}{|}}m}
+ {\drx@parse@dash@inner{#1}{#2}#3}
+\cs_set_protected:Npn \drx@parse@dash@inner #1#2#3#4
+ {
+ \IfNoValueTF{#4}
+ {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#3}}
+ {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#4}}
+ }
+\NewDocumentCommand{\hanyrule}{O{x}mm}
+ {
+ \mbox{}
+ \use:c { #1leaders }
+ \hbox:n { \clist_map_inline:nn {#3} {##1} }
+ \skip_horizontal:n {#2}
+ \mbox{}
+ }
+
+\int_new:N \l__drx_vrule_counter_int
+\int_set:Nn \l__drx_vrule_counter_int { 1 }
+\dim_new:N \l__drx_vrule_height_dim
+\tl_new:N \l__drx_tmpa_tl
+\cs_new_protected:Npn \drx@step@counter@height #1
+ {
+ \int_incr:N \l__drx_vrule_counter_int
+ \dim_add:Nn \l__drx_vrule_height_dim {#1}
+ }
+\NewDocumentCommand{\vrulemod}{O{0pt}oomm}
+ {
+ \group_begin:
+ \IfValueT{#2}
+ {
+ \tl_set:Nn \l__drx_tmpa_tl { [#2] }
+ \IfValueT{#3}{\tl_put_right:Nn \l__drx_tmpa_tl { [#3] }}
+ }
+ \exp_last_unbraced:Nnf
+ \raisebox{#1}{\l__drx_tmpa_tl}
+ {
+ \clist_map_inline:nn {#5}
+ {
+ \int_compare:nNnTF { \l__drx_vrule_counter_int } > { 1 }
+ {
+ \int_if_even:nTF { \l__drx_vrule_counter_int }
+ { \drx@step@counter@height{##1} }
+ {
+ \tex_kern:D -#4
+ \exp_args:NV
+ \raisebox\l__drx_vrule_height_dim{\rule{#4}{##1}}
+ \drx@step@counter@height{##1}
+ }
+ }
+ {
+ \rule{#4}{##1}
+ \drx@step@counter@height{##1}
+ }
+ }
+ }
+ \group_end:
+ }
+\endinput
+%
% End of file `dashrulex.sty'. \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/dashrulex.tex b/macros/latex/contrib/dashrulex/dashrulex.tex
index c7db9dd89c..5469fc0c37 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.tex
+++ b/macros/latex/contrib/dashrulex/dashrulex.tex
@@ -1,95 +1,99 @@
-\documentclass[load-preamble+]{cnltx-doc}
-
-\usepackage{setspace,hologo,dashrulex,tikz}
-\usepackage[noto]{newtxmath}
-\setcnltx
- {
- package = dashrulex,
- title = the dashrulex package,
- version = v1.00c,
- date = 2024/03/25,
- authors = Qu Yi,
- info = Draw dashed rules,
- email = toquyi@163.com,
- abstract =
- {
- The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package.
- },
- color-scheme = blue,
- title-format = \huge\bfseries\scshape,
- listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
- pre-output = {\parindent = 0em\setstretch{1.3}},
- before-skip = \smallskipamount,
- after-skip = \smallskipamount
- }
-\makeatletter
-\newcommand{\splitmeta}[3][\code{,}]{\meta{#2}#1\meta{#3}}
-\newcommand{\newsplitarg}[4][\splitmeta]
- {
- \newcommand{#2}[2]
- {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
- }
-\newcommand{\kvsplit}[3]
- {
- \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
- \cnltx@checkdefault{\hfill\newline}
- }
-\newsplitarg{\splitoarg}{[}{]}
-\newsplitarg{\splitmarg}{\{}{\}}
-\newsplitarg{\splitdarg}{(}{)}
-\newnote{\newtag}[1][New]{\textcolor{red}{\ding{73}\ #1}}
-\renewcommand{\emph}[1]{\textcolor{red}{#1}}
-\renewcommand{\cnltx@write@lastname}{}
-\makeatother
-
-\begin{document}
-\section{Preface}
-Sometimes it is necessary to draw dashed rules when writing documents, such as guides in the table of contents and indexes, horizontal lines in headers and footers, and even adding horizontal lines after headings. Macro packages such as \pkg*{dashrule} and \pkg*{nccrules} are available to accomplish this. Considering that \pkg*{dashrule} has not been updated for a long time, \pkg*{dashrulex} rewrites it using \hologo{LaTeX3} syntax and enhances it a bit.
-
-\section{User commands}
-\begin{commands}
- \command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}]
- The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the default), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dotted line, which can be set to \cs{fill} when used to fill the remaining center of the current text line. \meta{thickness list} is a rule for the height of vertically oriented lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space.\meta{dash rules} is expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
- \begin{example}
- 1X\rule{2cm}{1pt}x \\
- 2X\hdashrule{2cm}{1pt}{}x \\
- 3X\hdashrule{2cm}{1pt}{1pt}x \\
- 4X\hdashrule{4cm}{1pt}{1pt}x \\
- 5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\
- 6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\
- 7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\
- 8X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
- 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
- 10X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
- \end{example}
- \command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}]
- The vertical component used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
- \command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}]
- This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided.
- \begin{example}
- \newcommand{\dblvmod}
- {%
- \tikz[color=blue]
- {
- \draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm);
- \draw[line width=0.3mm](0mm,0mm)--(3mm,0mm);
- }%
- }
- 1X\hanyrule[]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 2X\hanyrule[c]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 3X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 4X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
- 5X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
- 6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\
- 7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\
- 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblvmod}}x
- \end{example}
-\end{commands}
-
-\section{Known issues}
-Currently only horizontal dashed line drawing is supported, with future plans to support vertical dashed lines, and even box dashed borders and so on.
-
-\appendix
-\nocite{*}
-
+\documentclass[load-preamble+]{cnltx-doc}
+
+\usepackage{setspace,hologo,enumitem,dashrulex,tikz}
+\usepackage[noto]{newtxmath}
+\setcnltx
+ {
+ package = dashrulex,
+ title = dashrulex,
+ version = v1.01a,
+ date = 2024/07/18,
+ authors = Qu Yi,
+ info = Draw dashed rules,
+ email = toquyi@163.com,
+ url = https://github.com/texno3/dashrulex,
+ abstract =
+ {
+ The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package.
+ },
+ color-scheme = blue,
+ listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
+ pre-output = {\parindent = 0em\setstretch{1.3}},
+ before-skip = \smallskipamount,
+ after-skip = \smallskipamount
+ }
+\makeatletter
+\newcommand{\splitmeta}[3][\code{,}]{\meta{#2}#1\meta{#3}}
+\newcommand{\newsplitarg}[4][\splitmeta]
+ {
+ \newcommand{#2}[2]
+ {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
+ }
+\newcommand{\kvsplit}[3]
+ {
+ \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
+ \cnltx@checkdefault{\hfill\newline}
+ }
+\newsplitarg{\splitoarg}{[}{]}
+\newsplitarg{\splitmarg}{\{}{\}}
+\newsplitarg{\splitdarg}{(}{)}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
+\renewcommand{\emph}[1]{\textcolor{red}{#1}}
+\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
+\makeatother
+
+\begin{document}
+\section{Preface}
+Sometimes it is necessary to draw dashed rules when writing documents, such as guides in the table of contents and indexes, horizontal lines in headers and footers, and even adding horizontal lines after headings. Macro packages such as \pkg*{dashrule} and \pkg*{nccrules} are available to accomplish this. Considering that \pkg*{dashrule} has not been updated for a long time, \pkg*{dashrulex} rewrites it using \hologo{LaTeX3} syntax and enhances it a bit.
+
+\section{User commands}
+\begin{commands}
+ \command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}]
+ The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the \textcolor{red}{default}), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dashed line, which can be set to \cs{fill} when used to fill the remaining part of the current text line. \meta{thickness list} is a rule for the height of \textcolor{red}{vertical} lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space. \meta{dash rules} stands for \textcolor{red}{horizontal} dashed line rules, which expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
+ \begin{example}
+ 1X\rule{2cm}{1pt}x \\
+ 2X\hdashrule{2cm}{1pt}{}x \\
+ 3X\hdashrule{2cm}{1pt}{1pt}x \\
+ 4X\hdashrule{4cm}{1pt}{1pt}x \\
+ 5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\
+ 6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\
+ 7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\
+ 8X\hdashrule[0.5ex]{4cm-3mm}{1mm}{3mm}\vrulemod[0.5ex]{3mm}{1mm}x \\
+ 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
+ 10X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
+ 11X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
+ \end{example}
+ \command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}]
+ The vertical model used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
+ \command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}]
+ This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided.
+ \begin{example}
+ \newcommand{\dblblock}
+ {%
+ \tikz[color=teal]
+ {
+ \draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm);
+ \draw[line width=0.3mm](0mm,0mm)--(3mm,0mm);
+ }%
+ }
+ 1X\hanyrule[]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 2X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 3X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 4X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
+ 5X\hanyrule[x]{5cm}{\makebox[8pt][r]{$\cdot$}}x \\
+ 6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\
+ 7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\
+ 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblblock}}x
+ \end{example}
+\end{commands}
+
+\section{Known issues}
+Currently only horizontal dashed line drawing is supported, with future plans to support vertical dashed lines, and even box dashed borders and so on.
+
+\appendix
+\nocite{*}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/delimset/README.txt b/macros/latex/contrib/delimset/README.txt
index 729b73fbbf..9094d59624 100644
--- a/macros/latex/contrib/delimset/README.txt
+++ b/macros/latex/contrib/delimset/README.txt
@@ -1,5 +1,5 @@
-delimset v1.1
-Copyright 2016-2018 Niklas Beisert
+delimset v2.0
+Copyright 2016-2024 Niklas Beisert
delimset is a LaTeX2e package to typeset and declare sets of delimiters
in math mode whose size can be adjusted conveniently.
diff --git a/macros/latex/contrib/delimset/delimset.dtx b/macros/latex/contrib/delimset/delimset.dtx
index 9bd070b5ea..337f1a4271 100644
--- a/macros/latex/contrib/delimset/delimset.dtx
+++ b/macros/latex/contrib/delimset/delimset.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% delimset.dtx Copyright (C) 2016-2018 Niklas Beisert
+% delimset.dtx Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -18,15 +18,15 @@
% and the derived files delimset.sty and dlmssamp.tex
%
%<package|sample>\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-%<package>\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
-%<sample>\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
+%<package>\ProvidesPackage{delimset}[2024/07/17 v2.0 convenient size control for delimiter sets]
+%<sample>\ProvidesFile{dlmssamp.tex}[2024/07/17 v2.0 sample for delimset]
%<*driver>
-%\ProvidesFile{delimset.drv}[2018/12/30 v1.1 delimset Reference Manual file]
+%\ProvidesFile{delimset.drv}[2024/07/17 v2.0 delimset Reference Manual file]
\PassOptionsToClass{10pt,a4paper}{article}
\documentclass{ltxdoc}
\usepackage[margin=35mm]{geometry}
-\usepackage{hyperref}
+\usepackage[hyperindex=false]{hyperref}
\usepackage{hyperxmp}
\usepackage[usenames]{color}
\usepackage{amsmath,amsfonts}
@@ -36,7 +36,7 @@
\hypersetup{pdfpagemode=UseNone}
\hypersetup{pdfsource={}}
\hypersetup{pdflang={en-UK}}
-\hypersetup{pdfcopyright={Copyright 2016-2018 Niklas Beisert.
+\hypersetup{pdfcopyright={Copyright 2016-2024 Niklas Beisert.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.}}
@@ -50,6 +50,8 @@
\newcommand{\secref}[1]{\hyperref[#1]{section \ref*{#1}}}
+\def\textvert{\texttt{\char"7C}}
+
\parskip1ex
\parindent0pt
\let\olditemize\itemize
@@ -67,7 +69,7 @@
{\texttt{nbeisert@itp.phys.ethz.ch}}}
\hypersetup{pdfauthor={Niklas Beisert}}
\hypersetup{pdfsubject={Manual for the LaTeX2e Package delimset}}
-\date{30 December 2018, \textsf{v1.1}}
+\date{17 July 2024, \textsf{v2.0}}
\maketitle
\begin{abstract}\noindent
@@ -99,9 +101,10 @@ For example:
\\
|(v,w)| &\to (v,w)
\\
-|\langle\psi\vert M\vert\psi\rangle| &\to \langle\psi\vert M\vert\psi\rangle
+|\langle\psi|\textvert|M|\textvert|\psi\rangle|
+&\to \langle\psi\vert M\vert\psi\rangle
\\
-|(x^2+px+q)\vert_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
+|(x^2+px+q)|\textvert|_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
\\&\ldots
\end{aligned}
\]
@@ -109,8 +112,9 @@ For example:
In order to adjust the size of delimiters, the modifiers
|\big|, |\Big|, |\bigg|, |\Bigg| are used.
More importantly the construct
-{|\left*| \ldots [|\middle*|] \ldots |\right*|}
+{|\left*| \ldots [|\middle*|] \ldots |\right*|}
adjusts the size of delimiters to the contents:
+%
\[
\Bigg[\bigg[\Big[\big[[*]\big]\Big]\bigg]\Bigg],
\qquad
@@ -150,16 +154,17 @@ the size |\big(...\big)|:
\]
The package \textsf{delimset} provides mechanisms to declare sets of delimiters
-whose size can be adjusted conveniently by simple optional parameters.
+whose size can be adjusted conveniently by adding simple flag parameters.
For example, it provides a general purpose bracket |\brk|
which can be used as follows:
+%
\[
\begin{aligned}
|\brk{A\hat{X}+B}|&\to(A\hat{X}+B)
\\
|\brk*{A\hat{X}+B}|&\to\mathopen{}\mathclose{\left(A\hat{X}+B\right)}
\\
-|\brk2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
+|\brk^2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
\\
|\brk!{A\hat{X}+B}|&\to\bigl(A\hat{X}+B\bigr)
\end{aligned}
@@ -198,16 +203,18 @@ the more difficult it will be to adjust them
to obtain a visually acceptable result.
The main functionality of the package is based on a
-versatile mechanism to specify sets of delimiters, e.g.:
+versatile mechanism to specify sets of delimiters,
+e.g.:
+%
\[
\begin{aligned}
|\delim<>{ax+b}|
&\to\langle ax+b\rangle
\\
-|\delimpair{[}{[.],}{[}!{a}{b}|
+|\delimpair[{*,}[!{a}{b}|
&\to \bigl[a, b\bigr[
\\
-|\delimtriple<\vert\vert>*{\psi}{A^\dagger}{\psi}|
+|\delimtriple<|\textvert\textvert|>*{\psi}{A^\dagger}{\psi}|
&\to\left\langle\psi\middle\vert A^\dagger\middle\vert \psi\right\rangle
\end{aligned}
\]
@@ -216,14 +223,14 @@ The command |\delim| can be used on the fly, but also
in definitions of custom delimiter sets such as:
%
\[
-|\newcommand{\comm}{\delimpair{[}{[.],}{]}}|
+|\newcommand{\comm}{\delimpair{[}{*,}{]}}|
\]
%
Note that the definition of |\comm| does not specify any arguments.
They are nevertheless read by the incomplete definition of |\delimpair|
-from the what follows |\comm|.
+from what follows |\comm|.
In particular, this incomplete definition
-enables the correct parsing of the optional size specifier,
+enables the correct parsing of the optional size specifier flag,
e.g.:
%
\[
@@ -238,7 +245,7 @@ The above definition could be written as follows:
\begin{aligned}
&|\DeclareMathDelimiterSet{\comm}[2]|
\\
-&\qquad |{\selectdelim[l]{[}{#1},{#2}\selectdelim[r]{]}}|
+&\qquad |{\selectdeliml{[}{#1},{#2}\selectdelimr{]}}|
\end{aligned}
\]
@@ -260,9 +267,9 @@ of the currently selected math font
Unfortunately, it does not account for
the currently selected math style.
Therefore, the size of delimiters in sub/superscripts
-cannot be adjusted appropriately,
-\unskip\footnote{Arguably, it is bad typesetting practice
-to have too complicated expressions in sub/superscripts.}
+cannot be adjusted appropriately
+(an arguably better typesetting practice is
+to avoid complicated expressions in sub/superscripts in the first place),
they come out way too big:
%
\[
@@ -272,7 +279,7 @@ they come out way too big:
This package modifies the definitions of
the size modifiers (of \textsf{amsmath})
to automatically adjust to sub/superscripts
-(subject to availability):
+(subject to availability in the font):
%
\[
\makeatletter
@@ -282,6 +289,7 @@ to automatically adjust to sub/superscripts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Spacing and Math Classes}
+\label{sec:spacing}
Another shortcoming of the variable-size delimiters is that
the spacing is noticeably different from their fixed-size counterparts:
@@ -291,12 +299,12 @@ the spacing is noticeably different from their fixed-size counterparts:
|\square(ax+b)\square|
&\to \square(ax+b)\square
\\
-|\square\left(ax+b\right)\square|
-&\to \square\left(ax+b\right)\square
-\\
|\square\bigl(ax+b\bigr)\square|
&\to \square\bigl(ax+b\bigr)\square
\\
+|\square\left(ax+b\right)\square|
+&\to \square\left(ax+b\right)\square
+\\
|\square\left(ax+\big.b\right)\square|
&\to \square\left(ax+\big.b\right)\square
\end{aligned}
@@ -328,8 +336,9 @@ For practical purposes, consistent spacing can only be achieved
by a more convenient mechanism.
On a related note, it is important to correctly specify
-the math class (|\mathopen|\hspace{0pt}/\hspace{0pt}|\mathclose|)
+the math class (such as |\mathopen| or |\mathclose|)
for the delimiters, for example:
+%
\[
\begin{aligned}
|\big(-1\big)| &\to \big(-1\big)
@@ -340,19 +349,23 @@ for the delimiters, for example:
%
The math class can also make a major difference for intermediate delimiters,
e.g.:
+%
\[
\begin{aligned}
-|\bigl\langle\psi\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\big\vert\psi\bigr\rangle
+|\bigl<\psi\big|\textvert|\psi\bigr>|
+&\to \bigl<\psi\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\bigm\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\bigm\vert\psi\bigr\rangle
+|\bigl<\psi\mathpunct\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathinner\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathinner\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathbin\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr>
+\\
+|\bigl<\psi\bigm|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\bigm\vert\psi\bigr>
\end{aligned}
\]
%
@@ -364,6 +377,67 @@ of the left and right delimiters. It also offers several choices for
intermediate delimiters to take the context into account.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Compounds and Broken Lines}
+
+The mechanism provided by the package requires the delimited expression
+to appear as an uninterrupted compound. In particular, the expression cannot
+span several lines in a multi-line equation or several columns in a matrix.
+The same restriction applies to the elementary |\left| and |\right| construct.
+In cases where delimited expressions are torn apart across several blocks,
+the delimiters have to be typeset individually.
+The package offers a mechanism to display individual delimiters
+of a given delimiter set. It also assists in maintaining
+the same type and size across blocks.
+Being able to display individual delimiters of defined delimiter sets
+offers a broad range of (ab)use.
+
+Individual delimiters of a set can be selected and displayed
+by specifying appropriate flags,
+for example:
+%
+\[
+|\brk(|\to{(},\qquad
+|\brk)|\to{)}
+\]
+%
+These flags can be combined with the size specifier
+or other bracket modifiers,
+e.g.:
+%
+\[
+|\brk^3(|\to{\biggl(},\qquad
+|\brk[s]^2)|\to{\Bigr]}
+\]
+%
+This enables to conveniently split delimited expressions over blocks of code,
+e.g.:
+%
+\[
+|\brk[s]^3(\frac{A}{B}|\ldots\Big/\mkern-9mu\Big/\ldots|\frac{C}{D}\brk[s]^3)|
+\to
+\biggl[\frac{A}{B}\cdots\bigg/\mkern-12mu\bigg/\cdots\frac{C}{D}\biggr]
+\]
+%
+Here, the type and modifiers specifying the delimiter set
+are repeated for all individual delimiters.
+To simplify such expressions and their maintenance,
+the package provides global registers which store
+the type and size of delimiters.
+With those, the above expression can be abbreviated as:
+%
+\[
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\usedelim]|
+\quad\text{or}\quad
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\brk]|
+\]
+%
+Here, |\usedelim]|, alternatively |\brk]|,
+closes the delimiter set with
+the type and options previously specified by |\brk...[|.
+For nesting purposes, there also exists a more elaborate
+solution using registers, see below.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Philosophy}
Semantic typesetting is one of the philosophies behind \LaTeX{}:
@@ -435,17 +509,17 @@ Modifier letters can be prepended and appended to adjust their size.
%
A functionality of the present package
not offered by any of the above packages is
-to typeset delimiters on the fly, e.g.:
+to typeset delimiters on the fly,
+e.g.:
%
\[
-|\delim<\vert>!{\psi}{\psi}|
-\to\bigl\langle\psi\big\vert\psi\bigr\rangle
+|\delim<|\textvert|>!{\psi}{\psi}|
+\to\bigl<\psi\big\vert\psi\bigr>
\]
%
The mechanism to specify the size is leaner in the sense that it uses
only a single character and a single command.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Usage}
@@ -457,139 +531,377 @@ If not yet present,
the package \textsf{amsmath} will be loaded automatically.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\subsection{Inline Usage}
-\label{sec:delimcommands}
+\subsection{Delimiter Sets and Presentation Flags}
+\label{sec:flags}
+
+The package provides commands to represent various delimiter sets,
+see \secref{sec:inline} and \secref{sec:declare} below.
+Their display can be modified systematically by specifying flags.
+A delimiter set |\|\emph{name}, e.g.\ |\brk|, is typically invoked by
+a sequence like:
+%
+\[
+|\|\emph{name}\ \emph{flags}\ |{|\emph{expr1}|}||{|\emph{expr2}|}|\ldots
+\]
+%
+where \emph{expr(n)} are the terms to be enclosed by the delimiters
+and the optional \emph{flags} adjust the presentation of delimiters.
+The \emph{flags} are described as follows:
+
+First, a size modifier flag controls the size of the delimiters
+to be displayed. It can take one of the following values:
+%
+\[
+\begin{aligned}
+|0|&\qquad \text{default size}
+\text{ (0.96 times default line height)}
+\\
+|!|, |+|, |^1|&\qquad \text{size }|\big|
+\text{ (1.2 times default line height)}
+\\
+|^2|&\qquad \text{size }|\Big|
+\text{ (1.8 times default line height)}
+\\
+|^3|&\qquad \text{size }|\bigg|
+\text{ (2.4 times default line height)}
+\\
+|^4|&\qquad \text{size }|\Bigg|
+\text{ (3.0 times default line height)}
+\\
+|^|\emph{n}, |^{|\emph{x}|}|&\qquad \text{flexible size adjustment
+(\emph{n}=|0|\ldots|9|; \emph{x}: decimal number)}
+\\
+|_{|\emph{h}|}|&\qquad \text{adjustment to absolute height \emph{h} (centred)}
+\\
+|*|&\qquad \text{variable size }|\left...\right|
+\end{aligned}
+\]
+%
+The intended delimiter size is stored as the dimension register:
+%
+\[
+|\delimsize|
+\]
+%
+It may be used to adjust spacing within the delimiter set
+proportional to the size of the delimiters.
+Note that the actual size of delimiters may deviate
+depending on availability within the given font.
+Note further that the size cannot be determined for variable-size delimiters
+(`|*|') and thus size |\Big| is assumed for this case.
+Note finally that the sub/superscript styles are not taken into
+account and |\delimsize| applies to the default case |\textstyle|.
+The package also supplies a macro to add horizontal glue
+proportional to the intended delimiter size:
+%
+\[
+|\kerndelim{|\emph{width}|}|
+\]
+%
+Here, \emph{width} is the amount of horizontal glue
+in units of mu scaled by the ratio of |\delimsize|
+and the current math font height.
+The macro does adjust for the selected script style.
+
+Second, a delimiter selection flag is used to pick out
+and display just one individual delimiter within the set.
+It can take one of the following values:
+%
+\[
+\begin{aligned}
+|(|&\qquad \text{left delimiter}
+\\
+\textvert, |,|&\qquad \text{first intermediate delimiter}
+\\
+|)|&\qquad \text{right delimiter}
+\\
+|?|\emph{n}&\qquad \text{\emph{n}-th delimiter (starting with |0|: left)}
+\end{aligned}
+\]
+
+Third, register flags store are retrieve delimiter
+for splitting the across blocks or lines:
+%
+\[
+\begin{aligned}
+|[|&\qquad \text{store delimiter type to register `|.|',
+display left delimiter (same as `|>.(|')}
+\\
+|]|&\qquad \text{display right delimiter stored in default register `|.|'
+(same as `|<.)|')}
+\\
+|>|\emph{r}, |>{|\emph{reg}|}|&\qquad \text{store delimiter type
+in register \emph{r} or \emph{reg}}
+\\
+|<|\emph{r}, |<{|\emph{reg}|}|&\qquad \text{retrieve delimiter type
+from register \emph{r} or \emph{reg}}
+\end{aligned}
+\]
+%
+A register stores the type of delimiter set (|\|\emph{name}),
+the desired size (except for variable size `|*|')
+as well as the math class of the compound (`|'|' vs. `|"|', see below).
+A stored register can be retrieved and displayed by the macro:
+%
+\[
+|\usedelim|\,\emph{r}\ \emph{sel}
+\quad\text{or}\quad
+|\usedelim|\{\emph{reg}\}\emph{sel}
+\]
+%
+Here, \emph{sel} is a flag to select an individual delimiter, see above.
+
+In addition, there are some general purpose flags:
+%
+\[
+\begin{aligned}
+|.|&\qquad \text{terminates flag processing}
+\\
+|:|&\qquad \text{enclose delimiter set in block
+(for using total box dimensions)}
+\\
+|'|&\qquad \text{render delimiter set as }|\mathopen|\text{ and }|\mathclose|
+\\
+|"|&\qquad \text{render delimiter set as }|\mathinner|
+\\
+|-|&\qquad \text{display phantom delimiters (for individual delimiters)}
+\end{aligned}
+\]
+
+Please note the following:
+%
+\begin{itemize}
+\item
+A delimiter selector (including the combined flags `|[|' and `|]|')
+terminates flag processing,
+therefore all relevant flags must be specified before it.
+\item
+Parsing also stops with the opening of the first term argument
+by means of the opening brace `|{|'.
+\item
+Parsing can also be terminated manually by specifying the flag `|.|'
+(in case the opening brace `|{|' for arguments is missing for whatever reason).
+\item
+Any other letter or token at the location of \emph{flags}
+is interpreted as an unrecognised flag and triggers a compiler error.
+For instance, |\brk{x}| must not be abbreviated as |\brk x|
+because `|x|' would be interpreted as a flag
+(it might be abbreviated as |\brk.x|).
+\item
+The legacy size modifier flags `|1|' \ldots `|4|'
+provided for backward compatibility have the same effect as `|^1|'\ldots`|^4|'.
+\item
+The phantom delimiter flag `|-|' does not work for variable size.
+It is intended for reserving space for individual delimiters
+when they are composed manually into sets (e.g.\ across lines).
+\item
+Technically, individual delimiters can be produced in the variable size version
+(even though it may defeat the purpose of the delimiter selection mechanism).
+One has to pay attention when using
+only the opening or only the closing delimiters from the package
+and counterbalancing it by direct code for the opposite side.
+This is because `|*(|' and `|*)|' do not directly translate to
+|\left|\emph{delim} and |\right|\emph{delim}
+due to proper spacing, see \secref{sec:spacing}.
+Instead, they translate to:
+%
+\[
+\begin{aligned}
+|*(|&\to|\mathopen{}\mathclose\bgroup\left|\emph{delim}
+\\
+|*)|&\to|\right|\emph{delim}|\egroup|
+\end{aligned}
+\]
+%
+One should use analogous code to complete the manual variable size block.
+
+Note that similar restrictions apply to using the flag `|:|'
+for block enclosure which uses |\bgroup| and |\egroup| as well.
+
+As it does not make much sense to use variable-size (`|*|')
+and block (`|:|') compounds for individual delimiter selection,
+the state of these flags is not stored in the global registers.
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Inline Declarations}
+\label{sec:inline}
The package provides three general purpose commands
to compose delimiter sets with one, two or three encapsulated expressions:
%
\[
\begin{aligned}
-&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{size}|{|\emph{expr}|}|
+&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{flags}|{|\emph{expr}|}|
\\
&|\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}|
\\
-&|\delimtriple{|\emph{l}|}{|\emph{m1}|}{|\emph{m2}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
+&|\delimtriple{|\emph{l}|}{|\emph{m}|}{|\emph{n}|}{|\emph{r}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
\end{aligned}
\]
%
The expression(s) \emph{expr(n)} will be surrounded by the
delimiters \emph{l} and \emph{r}
and, in the case of more than one expression,
-they will be separated by the delimiters \emph{m(n)}:
+they will be separated by the delimiters \emph{m}, \emph{n}:
+%
\[
\emph{l}\ \emph{expr}\ \emph{r},
\qquad
\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\ \emph{r},
\qquad
-\emph{l}\ \emph{expr1}\ \emph{m1}\ \emph{expr2}\
-\emph{m2}\ \emph{expr3}\ \emph{r}
+\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\
+\emph{n}\ \emph{expr3}\ \emph{r}
\]
-Here, \emph{l} and \emph{r} have to be
-math delimiters (symbols which can be used for |\left| and |\right|) or
-the dot `.' for the null delimiter.
-The separators \emph{m(n)} can be plain math delimiters as well, but they can
-also be compound expression of the form |[|\emph{class}|]|\emph{delim}
-where \emph{class} specifies
-the intended math class of the delimiter \emph{delim}:
+Here, \emph{l}, \emph{r}, \emph{m}, \emph{n}
+should be math delimiters \emph{delim}
+(elementary symbols which can be used for |\left| and |\right|)
+or the dot `|.|' for the null delimiter.
+The delimiter set expression can be adjusted in two ways:
+
+First, size adjustment
+for the delimiters \emph{l}, \emph{r}, \emph{m}, \emph{n}
+can be suppressed by a starred variant:
+%
+\[
+|{*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{*{|\emph{expr}|}}|
+\]
+%
+This allows to use an arbitrary \emph{token}
+or a compound expression \emph{expr} in place of a delimiter \emph{delim}.
+This is useful when a delimiter character should not adjust in size
+(e.g.\ commas), or if a flexible-size version of the character
+is not available. One might also use a compound expression
+to create a null delimiter with non-zero width
+(the width may be specified by |\kerndelim|
+to make it proportional to the delimiter size).
+
+Second, the intended math class
+of the intermediate delimiters \emph{m}, \emph{n}
+may be adjusted in order to achieve a more appropriate automatic spacing
+by using |{[|\emph{class}|]|\emph{delim}|}|.
+Here, \emph{class} specifies
+the intended math class of the delimiter \emph{delim}
+according to:
%
\[
-\begin{aligned}{}
+\begin{aligned}
\left.\begin{array}{r}
-\emph{delim}\\|{|\emph{delim}|}|\\|{[]|\emph{delim}|}|
+\emph{delim}\\|{|\emph{delim}|}|
\end{array}\right\}
-&\qquad\text{class }|\mathord|\text{ (similar to }|\big|)
-\\
-|{[l]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|
-\text{, not for use in }|\delim...|)
-\\
-|{[r]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|
-\text{, not for use in }|\delim...|)
+&\qquad
+\left\{\begin{array}{l}
+\text{no glue for size-adjusted delimiters (same as }|[o]|\text{)}
\\
-|{[o]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|)
+\text{determined by expression for unadjusted size (}|*|\text{ variant)}
+\end{array}\right.
\\
-|{[c]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|)
-\\
-|{[m]|\emph{delim}|}|&\qquad
-\text{class }|\mathrel|\text{ (similar to }|\bigm|)
+|{[o]|\emph{delim}|}|
+&\qquad
+\text{no glue, similar to }|\big|, |\mathord|, |\mathopen|, |\mathclose|
\\
|{[p]|\emph{delim}|}|&\qquad
-\text{class }|\mathpunct|\text{ (similar to }|\bigp|)
+\text{followed by }|\thinmuskip|\text{, similar to }|\bigp|, |\mathpunct|
+\\
+|{[i]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thinmuskip|\text{, similar to }|\bigi|, |\mathinner|
\\
|{[b]|\emph{delim}|}|&\qquad
-\text{class }|\mathbin|\text{ (similar to }|\bigb|)
+\text{surrounded by }|\medmuskip|\text{, similar to }|\bigb|, |\mathbin|
\\
-|{[.]|\emph{expr}|}|&\qquad
-\text{no size adjustment, \emph{expr} can be any expression}
+|{[m]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thickmuskip|\text{, similar to }|\bigm|, |\mathrel|
\end{aligned}
\]
-%
-Note that the left and right delimiters \emph{l} and \emph{r} effectively
-have |[l]| and |[r]| prepended, respectively,
-and therefore they must be a plain math delimiter.
-Conversely, the immediate delimiters \emph{m(n)} must not
-have the |[l]| and |[r]| classes
-because the latter must appear precisely once
-and they are already taken by \emph{l} and \emph{r};
-use classes |[o]| and |[c]| instead.
-The optional size modifier \emph{size} should take one of the following values:
+Please note the following:
+%
+\begin{itemize}
+\item
+The left and right delimiters \emph{l} and \emph{r}
+are assigned to special classes:
+They leave no initial and final glue on the enclosed expressions
+(same as |\mathopen| and |\mathclose|).
+From the outside, the delimiter set appears
+either as a combination of |\mathopen|+|\mathclose| (flag `|'|')
+or as |\mathinner| (flag `|"|').
+\item
+The legacy class |[.]| provided for backward compatibility
+specifies delimiters with unadjusted size:
+the compound |{[.]|\emph{expr}|}| has the same effect as |{*{|\emph{expr}|}}|.
+\item
+The legacy class |[c]| provided for backward compatibility
+has the same effect as |[o]|.
+\item
+Unadjusted-size delimiters can be combined with math classes as:
+%
\[
-\begin{aligned}{}
-\emph{empty}, \emph{anything else}, |0|&\qquad \text{default size}
-\\
-|!|, |+|, |1|&\qquad \text{size }|\big|\text{ (|!| is preferred)}
-\\
-|2|&\qquad \text{size }|\Big|
-\\
-|3|&\qquad \text{size }|\bigg|
-\\
-|4|&\qquad \text{size }|\Bigg|
-\\
-|*|&\qquad \text{variable size }|\left...\right|
-\end{aligned}
+|{[|\emph{class}|]*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{[|\emph{class}|]*{|\emph{expr}|}}|
\]
+%
+\item
+The opening square bracket `|[|'
+takes the dual role of indicating the optional |[|\emph{class}|]| argument.
+To avoid conflicts on intermediate delimiters,
+opening square bracket delimiters should be encoded as
+`|{{[}}|' (for |\delim...|) or `|{[}|' (for |\selectdelim|)
+rather than `|[|'.
+\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Declarations}
+\label{sec:declare}
The above constructs can be used to define new delimiter commands via:
%
\[
-|\newcommand{\|\emph{name}|}{\delim...{|\emph{l}|}...{|\emph{r}|}}|
+\begin{aligned}
+&|\newcommand{\|\emph{name}|}{\delim{|\emph{l}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimtriple{|\emph{l}|}{|\emph{m}|}|
+|{|\emph{n}|}{|\emph{r}|}|\emph{flags}|}|
+\end{aligned}
\]
%
-Here it makes sense to drop all arguments starting
-with the size modifier \emph{size} from the definition.
+Here it makes sense to drop all arguments
+starting at the optional \emph{flags} argument from the definition.
The \TeX{} parsing mechanism will then automatically
use the tokens following |\|\emph{name} including the optional size modifier.
-If the encapsulated expression(s) are to be passed as explicit arguments
-to |\|\emph{name}, one will have to find an alternative way to pass the
-optional size argument.
+If any of the encapsulated expression(s) are to be passed as
+explicit arguments to |\|\emph{name},
+one will have to find an alternative way to pass \emph{flags}.
+However, it is possible to predefine \emph{flags}
+which can be overridden by further \emph{flags} specified by the user.
The above declarations via |\delim...|
-should be sufficient for almost all situations.
+should be sufficient for most situations.
However, there is an even more flexible way to declare delimiter sets:
+%
\[
-|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{expr}|}|
+|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{compositor}|}|
\]
%
The syntax of this command is equivalent to the one of |\newcommand|.
The difference is that the command |\|\emph{name} first looks
-for the optional size modifier \emph{size} as
-described above in \secref{sec:delimcommands}.
-It remembers the desired size for evaluating the macro \emph{expr}.
+for the \emph{flags} argument as
+described above in \secref{sec:inline}.
+It remembers the desired size for evaluating
+the macro expression \emph{compositor}.
Then it parses the arguments as if the command
was declared by |\newcommand|.
-As usual, the macro \emph{expr} contains the command arguments
+As usual, the macro expression \emph{compositor} contains the command arguments
specified by |#1|, |#2|, \ldots. Note that these should
be encapsulated in groups |{#1}|, |{#2}|, \ldots,
in order to prevent them from overwriting definitions
@@ -598,16 +910,108 @@ It should also contain the desired math delimiters
specified by:
%
\[
-|\selectdelim[|\emph{class}|]{|\emph{delim}|}|
+\begin{aligned}
+&|\selectdeliml|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelim[|\emph{class}|]|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelimr|[|*|]|{|\emph{delim}|}|
+\end{aligned}
\]
%
+The three commands must be in proper sequence
+starting with |\selectdeliml| followed by arbitrarily many
+|\selectdelim| and terminated by |\selectdelimr|.
+The math classes \emph{class} and starred variants
+are defined analogously to \secref{sec:inline}.
Here, the sizes are adjusted automatically
-according to the previously specified modifier \emph{size}.
-The math classes must be in proper sequence,
-i.e.\ the first and last ones must be |l| and |r|, respectively,
-while the intermediate ones can be anything by |l| and |r|,
-see \secref{sec:delimcommands}.
+according to the previously specified modifier.
+
+Picking out individual delimiters from a set
+declared by |\DeclareMathDelimiterSet|
+cannot be achieved automatically.
+Instead, a selector method may be specified manually (where needed) by:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\|\emph{name}|}|
+\\
+&| {\selectdeliml{|\emph{l}|}|[|\||or\selectdelim{|\emph{m}|}|\ldots]|}|
+\\
+&| {\selectdelimr{|\emph{r}|}}|
+\end{aligned}
+\]
+%
+As many intermediate delimiters as needed can be specified
+at the end of the first argument; each one must start with `|\||or|'.
+
+\makeatletter
+For example, one might declare a set of double square brackets
+$[\kern-0.06\big@size[*]\kern-0.06\big@size]$ using:
+\makeatother
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSet{\dsb}[1]|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}{#1}|
+\\
+&| \selectdelim[o]{]}\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+%
+Here, the command |\kerndelim{-1.75}| reduces the spacing
+between the two square brackets by approximately 1.75\,mu in default size.
+This could be used for:
+%
+\[
+\makeatletter
+|\dsb^4{\dsb^3{\dsb^2{\dsb^1{\dsb{*}}}}}|
+\to
+\Biggl[\kern-0.20\big@size\Biggl[
+\biggl[\kern-0.16\big@size\biggl[
+\Bigl[\kern-0.12\big@size\Bigl[
+\bigl[\kern-0.08\big@size\bigl[
+[\kern-0.06\big@size[*
+]\kern-0.06\big@size]
+\bigr]\kern-0.08\big@size\bigr]
+\Bigr]\kern-0.12\big@size\Bigr]
+\biggr]\kern-0.16\big@size\biggr]
+\Biggr]\kern-0.20\big@size\Biggr],
+\quad
+|\dsb*|\ldots\to
+\left[\kern-0.12\big@size\middle[\frac{x}{y}
+\middle]\kern-0.12\big@size\right]
+\makeatother
+\]
+%
+An appropriate selector method for displaying individual
+delimiters reads:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\dsb}|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}}|
+\\
+&| {\selectdelim[o]]\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+Finally, towards a very flexible manual composition
+of delimiter sets, there is the macro:
+%
+\[
+|\parsedelimflags{|\emph{compositor}|}{|\emph{selector}|}|\emph{flags}
+\]
+%
+It parses the modifier flags as described in \secref{sec:flags}.
+The argument \emph{compositor} is code that displays the
+composited delimiter set whereas \emph{selector} is a macro
+that displays the delimiter number |\selecteddelim| of the set.
+The \emph{flags} follow immediately and should be terminated by
+an opening brace `|{|', the terminating flag `|.|'
+or a delimiter selection flag.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Default Declarations}
@@ -617,30 +1021,34 @@ The package predefines four commonly used sets of delimiters:
%
\begin{itemize}
\item
-|\brk[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\brk[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
a standard bracket around a single expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[r]|: round }(x),\quad
\text{|[s]|: square }[x],\quad
\text{|[c]|: curly }\{x\},\quad
\text{|[a]|: angle }\langle x\rangle
\]
+%
\item
-|\eval[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\eval[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
evaluation of a functional expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[v]|: }f(x)\vert_{a},\qquad
\text{|[s]|: }[f(x)]_{a}^{b}
\]
+%
\item
-|\abs|\emph{size}|{|\emph{expr}|}| represents
+|\abs|\emph{flags}|{|\emph{expr}|}| represents
the absolute value $\lvert\emph{expr}\rvert$.
\item
-|\norm|\emph{size}|{|\emph{expr}|}| represents
+|\norm|\emph{flags}|{|\emph{expr}|}| represents
the norm $\lVert\emph{expr}\rVert$.
\end{itemize}
%
@@ -651,19 +1059,20 @@ The package also defines some extended sets of delimiters as follows:
%
\begin{itemize}
\item
-|\pair|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\pair|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a pair(ing) $(\emph{expr1},\emph{expr2})$.
\item
-|\set|\emph{size}|{|\emph{expr}|}| represents
+|\set|\emph{flags}|{|\emph{expr}|}| represents
the set $\{\emph{expr}\}$.
\item
-|\setcond|\emph{size}|{|\emph{expr}|}{|\emph{cond}|}| represents
+|\setcond|\emph{flags}|{|\emph{expr}|}{|\emph{cond}|}| represents
a set with condition $\{\emph{expr}\vert\emph{cond}\}$.
\item
-|\intv[|\emph{type}|]|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\intv[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
an interval from \emph{expr1} to \emph{expr2}.
The in/\hspace{0pt}exclusion of the bounds can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[c]|: closed }[a,b],\qquad
\text{|[o]|: open }]a,b[,\qquad
@@ -673,28 +1082,35 @@ argument \emph{type}:
\text{|[r]|: right-open }[a,b[
\end{array}
\]
+%
\item
-|\avg|\emph{size}|{|\emph{expr}|}| represents
+|\avg|\emph{flags}|{|\emph{expr}|}| represents
some average $\langle\emph{expr}\rangle$.
\item
-|\corr|\emph{size}|{|\emph{expr}|}| represents
+|\corr|\emph{flags}|{|\emph{expr}|}| represents
some correlator $\langle\emph{expr}\rangle$.
\item
-|\comm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\comm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the commutator $[\emph{expr1},\emph{expr2}]$.
\item
-|\acomm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\acomm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the anti-commutator $\{\emph{expr1},\emph{expr2}\}$.
\item
-|\bra|\emph{size}|{|\emph{expr}|}| represents
+|\bra|\emph{flags}|{|\emph{expr}|}| represents
a bra-vector $\langle\emph{expr}\rvert$ in quantum mechanics.
\item
-|\ket|\emph{size}|{|\emph{expr}|}| represents
+|\ket|\emph{flags}|{|\emph{expr}|}| represents
a ket-vector $\lvert\emph{expr}\rangle$ in quantum mechanics.
\item
-|\setcond|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\braket|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a bra-ket contraction $\langle\emph{expr1}\vert\emph{expr2}\rangle$.
+\item
+|\lfrac[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| describes
+the linear representation $\emph{expr1}/\emph{expr2}$ of a fraction.
+An optional argument \emph{type} taking values |[r]|, |[s]|, |[c]|, |[a]| encloses the
+fraction in round, square, curly or angle brackets as for |\brk|.
\end{itemize}
+%
The extended definitions need to be activated by
the package option |extdef|, see \secref{sec:packageoptions}.
@@ -707,10 +1123,10 @@ or taste of the user, they can be redefined with |\renewcommand|.
In addition to the |\bigl|, |\bigr| and |\bigm| commands
(as well as their |\Big.|, |\bigg.| and |\Bigg.| counterparts),
-the package defines two additional sets |\bigp| and |\bigb|
+the package defines three additional sets |\bigp|, |\bigb| and |\bigi|
(and counterparts).
-Here |\bigp| implies the math class |\mathpunct|
-and |\bigb| the class |\mathbin|.
+Here |\bigp| implies the math class |\mathpunct|,
+|\bigb| the class |\mathbin| and |\bigi| the class |\mathinner|.
Furthermore, the package overloads the size calculation in the |\big...|
commands to properly account for the math styles in sub/superscripts
@@ -722,7 +1138,8 @@ the package option |scriptstyle|, see \secref{sec:packageoptions}.
\subsection{Package Options}
\label{sec:packageoptions}
-Options can be passed to the package by
+Options can be passed to the package by:
+%
\[
|\usepackage[|\emph{opts}|]{delimset}|
\qquad
@@ -735,17 +1152,17 @@ Here \emph{opts} is a comma-separated list of the available options:
%
\begin{itemize}
\item
-|stddef|[|=true|$\vert$|false|]
+|stddef|[|=true|\textbar|false|]
controls the activation of standard delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |true|.
\item
-|extdef|[|=true|$\vert$|false|]
+|extdef|[|=true|\textbar|false|]
controls the activation of extended delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |false|.
\item
-|scriptstyle|[|=true|$\vert$|false|]
+|scriptstyle|[|=true|\textbar|false|]
controls the overwriting of size modifiers explained
in \secref{sec:auxcommands}.
If no value is given |true| is assumed; initially set to |true|.
@@ -758,7 +1175,7 @@ If no value is given |true| is assumed; initially set to |true|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Copyright}
-Copyright \copyright{} 2016--2018 Niklas Beisert
+Copyright \copyright{} 2016--2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the \LaTeX{} Project Public License, either version 1.3
@@ -808,7 +1225,7 @@ distribution, e.g.\ \textit{texmf-root}|/tex/latex/delimset|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Interaction with CTAN Packages}
-The package relies on other packages:
+The package is related to other packages available at CTAN:
\begin{itemize}
\item
This package relies on some functionality of the package \textsf{amsmath}
@@ -820,24 +1237,63 @@ This package uses the package \textsf{keyval} from the \textsf{graphics} bundle
to process optional arguments to the package options.
Compatibility with the \textsf{keyval} package
has been tested with v1.15 (2014/10/28).
+\item
+The package \textsf{icomma} modifies the spacing behaviour
+of the comma character in math mode
+which leads to inadequate spacing when it is used as a middle delimiter.
+To achieve proper spacing in sample code,
+use |{[p]*,}| rather than |{*,}|.
+The extended commands |\intv|, |\comm|, |\acomm| and |\pair|
+are compatible with the \textsf{icomma} package
+has been tested with v2.0 (2002/03/10).
\end{itemize}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\subsection{Feature Suggestions}
-% specify width of null delimiter?
-% automatic nesting of bracket types?
% make optional arguments work for DeclareMathDelimiterSet?
-% add pfrac for fraction a/b in text mode
+% (must go before parsing, but how to process and react?)
+% make unadjusted size have right height
+% automatic nesting of bracket types? -> depth stack?
% handle cramped style properly (perhaps impossible)
-% outer decorations for delimiters e.g. _y<a,b>_x
-% freestyle delimiter with size adjustment replacement \size{\rangle}_x
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Revision History}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph{v2.0:} 2024/07/17
+
+\begin{itemize}
+\item
+option to display individual delimiters
+and to store them in global registers across blocks
+(columns, lines, etc.)
+\item
+more general handling of unadjusted-size delimiters
+\item
+more general size adjustments
+\item
+added inner math class for intermediate delimiters
+\item
+added flag to enclose by open/close and inner math class
+\item
+added flag to display phantom delimiters
+\item
+selected size accessible by |\delimsize|
+and add proportional kerning by |\kerndelim|.
+\item
+added extended definition |\lfrac| for plain inline fractions
+\item
+null delimiter now properly has zero width for variable size
+\item
+internal mechanisms revised
+\item
+compatibility with \textsf{icomma} package
+(thanks to Olivier Godin for pointing out the issue)
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{v1.1:} 2018/12/30
\begin{itemize}
@@ -914,11 +1370,11 @@ standard definitions
sizes for default brackets:
% \begin{macrocode}
\[
-\brk0{x},\quad
-\brk1{x},\quad
-\brk2{x},\quad
-\brk3{x},\quad
-\brk4{x}
+\brk^0{x},\quad
+\brk^1{x},\quad
+\brk^2{x},\quad
+\brk^3{x},\quad
+\brk^4{x}
\]
% \end{macrocode}
@@ -935,7 +1391,7 @@ styles for default brackets:
nested brackets:
% \begin{macrocode}
\[
-\brk[c]2{\brk[s]!{\brk{ax+b}x+c}x+d}
+\brk[c]^2{\brk[s]!{\brk{ax+b}x+c}x+d}
\]
% \end{macrocode}
@@ -952,7 +1408,7 @@ default absolute value, norm and default evaluations:
outer delimiter spacing:
% \begin{macrocode}
\begin{align*}
-&\square\brk0{x}\square,&&\square\brk1{A^k}\square,
+&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
\\
&\square\brk*{x}\square,&&\square\brk*{A^k}\square
\end{align*}
@@ -969,7 +1425,7 @@ e^{\brk!{ax+b}}
delimiter declaration:
% \begin{macrocode}
\DeclareMathDelimiterSet{\braket}[2]
- {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
+ {\selectdeliml<#1\selectdelim|#2\selectdelimr>}
\[
\braket!{\psi}{\psi},
\quad
@@ -988,32 +1444,36 @@ conditional set, alternative layouts:
% \begin{macrocode}
\[
\delimpair\{{[m]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{{[b]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
+\delimpair\{{[i]|}\}!{2n}{n\in\mathbb{Z}},
+\quad
\delimpair\{{[p]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{|\}!{2n}{n\in\mathbb{Z}},
-\qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
+\quad
+\delimpair\{{*;}\}!{2n}{n\in\mathbb{Z}}
\]
conditional set, alternative layouts with variable size:
\[
\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
+\delimpair\{{[i]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\quad
\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
-\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\quad
+\delimpair\{{*;}\}*{2n}{n\in\mathbb{Z}\big.}
\]
% \end{macrocode}
delimiter definition:
% \begin{macrocode}
-\newcommand{\comm}{\delimpair[{[.],}]}
+\newcommand{\comm}{\delimpair[{*,}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1024,7 +1484,7 @@ delimiter definition:
alternative representation:
% \begin{macrocode}
-\renewcommand{\comm}{\delimpair[{[.];}]}
+\renewcommand{\comm}{\delimpair[{*;}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1033,6 +1493,31 @@ alternative representation:
\]
% \end{macrocode}
+display individual delimiters of a set:
+% \begin{macrocode}
+\renewcommand{\braket}{\delimpair<|>}
+\[
+\braket{A}{B}
+\to \braket( A \braket| B \braket),
+\quad
+\braket*( A\big. \braket*| B_{} \braket*),
+\quad
+\braket^1( A \braket^3| B \braket^2)
+\]
+% \end{macrocode}
+
+placing indices before a bracket
+(does not work in variable-size mode because
+the final size is not available for the enclosed expressions):
+% \begin{macrocode}
+\DeclareMathDelimiterSet{\quadindex}[5]
+ {\selectdeliml.^{#2}_{#3}\mathord{}\selectdelim[o][
+ {#1}\selectdelim[o]]^{#4}_{#5}\selectdelimr.}
+\[
+\quadindex^2{\frac{x}{y}}{1}{2}{3}{4}
+\]
+% \end{macrocode}
+
% end of document body:
% \begin{macrocode}
\end{document}
@@ -1057,6 +1542,7 @@ alternative representation:
% if not yet present.
% \textsf{amsmath} is used for basic delimiter size functionality.
% \textsf{keyval} is used for extended options processing.
+%
% \begin{macrocode}
\RequirePackage{amsmath}
\RequirePackage{keyval}
@@ -1067,6 +1553,7 @@ alternative representation:
%
% The package has some boolean \textsf{keyval} options
% which can be set to |true| or |false|.
+%
% \begin{macrocode}
\newif\ifdlm@std\dlm@stdtrue
\newif\ifdlm@ext\dlm@extfalse
@@ -1083,7 +1570,7 @@ alternative representation:
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Internal Definitions.}
+% \paragraph{Improved Size Adjustments.}
%
% Overwrite the \textsf{amsmath} command |\bBigg@|
% to select the size according to the present math style
@@ -1105,102 +1592,269 @@ alternative representation:
\fi
% \end{macrocode}
-% Define punctuation marks (|\bigp|, etc.)
-% and binary operators (|\bigb|, etc.).
+% Define punctuation marks (|\bigp|, etc.),
+% binary operators (|\bigb|, etc.)
+% and inner class (|\bigi|, etc.).
%
% \begin{macrocode}
-\newcommand{\bigp}{\mathpunct\big}
-\newcommand{\Bigp}{\mathpunct\Big}
-\newcommand{\biggp}{\mathpunct\bigg}
-\newcommand{\Biggp}{\mathpunct\Bigg}
-\newcommand{\bigb}{\mathbin\big}
-\newcommand{\Bigb}{\mathbin\Big}
-\newcommand{\biggb}{\mathbin\bigg}
-\newcommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigp}{\mathpunct\big}
+\providecommand{\Bigp}{\mathpunct\Big}
+\providecommand{\biggp}{\mathpunct\bigg}
+\providecommand{\Biggp}{\mathpunct\Bigg}
+\providecommand{\bigb}{\mathbin\big}
+\providecommand{\Bigb}{\mathbin\Big}
+\providecommand{\biggb}{\mathbin\bigg}
+\providecommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigi}{\mathinner\big}
+\providecommand{\Bigi}{\mathinner\Big}
+\providecommand{\biggi}{\mathinner\bigg}
+\providecommand{\Biggi}{\mathinner\Bigg}
% \end{macrocode}
-% Define size selectors for standard size (|dlm@norm|),
-% variable size (|dlm@var|).
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Size Adjustment Definitions.}
+%
+% The macro |\dlm@setvar| enables variable size,
+% the macro |\dlm@setsize| sets a fixed size.
+% Delimiter sizes are implented by |\dlm@big@|.
+% The macro |\kerndelim| adds some kerning proportional
+% to the chosen fixed size of the delimiters
+% (the spacing is merely an approximation,
+% and it does not actually scale for flexible size).
+%
+% \begin{macrocode}
+\newlength\delimsize
+\newcommand{\dlm@setvar}{\let\dlm@ifvar\@firstoftwo\delimsize1.5\big@size}
+\newcommand{\dlm@setsize}[1]{\let\dlm@ifvar\@secondoftwo%
+ \delimsize#1\big@size\advance\delimsize by\big@size\delimsize0.5\delimsize}
+\newcommand{\dlm@setabssize}[1]{\let\dlm@ifvar\@secondoftwo\delimsize#1\relax}
+\newcommand{\dlm@big@}[1]{{\mathchoice%
+ {\dlm@big@choice{\displaystyle}{1}{#1}}%
+ {\dlm@big@choice{\textstyle}{1}{#1}}%
+ {\dlm@big@choice{\scriptstyle}{0.7}{#1}}%
+ {\dlm@big@choice{\scriptscriptstyle}{0.5}{#1}}}}
+\newcommand{\dlm@big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+\newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
+ \mkern\muexpr1.2mu*\delimsize/\big@size\relax}}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Math Classes Processing.}
+%
+% Define class selectors for fixed and unadjusted sizes.
%
% \begin{macrocode}
+\newcommand{\dlm@big}[2]{\dlm@plain{#1}{\dlm@big@#2}}
+\newcommand{\dlm@plain}[2]{\dlm@class{#1}{\dlm@phantom{#2}}}
\newcommand{\dlm@class}[1]{\csname dlm@class@#1\endcsname}
-\newcommand{\dlm@class@}{}
-\newcommand{\dlm@class@l}{\mathopen}
-\newcommand{\dlm@class@r}{\mathclose}
-\newcommand{\dlm@class@o}{\mathopen}
-\newcommand{\dlm@class@c}{\mathclose}
-\newcommand{\dlm@class@m}{\mathrel}
-\newcommand{\dlm@class@p}{\mathpunct}
-\newcommand{\dlm@class@b}{\mathbin}
-\newcommand{\dlm@norm}[1]{\dlm@class{#1}\bBigg@{0.0}}
-\newcommand{\dlm@big}[1]{\dlm@class{#1}\big}
-\newcommand{\dlm@Big}[1]{\dlm@class{#1}\Big}
-\newcommand{\dlm@bigg}[1]{\dlm@class{#1}\bigg}
-\newcommand{\dlm@Bigg}[1]{\dlm@class{#1}\Bigg}
+\let\dlm@class@\@firstofone
+\let\dlm@class@o\mathord
+\let\dlm@class@c\mathord
+\let\dlm@class@p\mathpunct
+\let\dlm@class@i\mathinner
+\let\dlm@class@b\mathbin
+\let\dlm@class@m\mathrel
+% \end{macrocode}
+
+% Define class selector for variable size.
+% The macro |\dlm@var@null| removes the extra space from
+% variable-size null delimiters
+% (|\left.|, |\middle.| and |\right.| apply the value
+% of |\nulldelimiterspace| only at the end of math processing,
+% even across blocks).
+% The macro |\dlm@var@kern| applies kerning unless in the script styles.
+%
+% \begin{macrocode}
+\newcommand{\dlm@var@null}[1]{\if.#1\kern-\nulldelimiterspace\fi}
+\newcommand{\dlm@var@kern}[1]{\nonscript\mkern#1}
\newcommand{\dlm@var}[1]{\csname dlm@var@#1\endcsname}
-\newcommand{\dlm@var@}[1]{\middle#1}
-\newcommand{\dlm@var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm@var@r}[1]{\right#1\egroup}
-\newcommand{\dlm@var@o}[1]{\mathopen{}\middle#1\mathopen{}}
-\newcommand{\dlm@var@c}[1]{\mathclose{}\middle#1\mathclose{}}
-\newcommand{\dlm@var@m}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm@var@p}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm@var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
- \middle#1\mkern-\medmuskip{}\mathbin{}}
+\newcommand{\dlm@var@}[1]{\dlm@var@null#1\middle#1}
+\let\dlm@var@o\dlm@var@
+\let\dlm@var@c\dlm@var@
+\newcommand{\dlm@var@p}[1]{\dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@i}[1]{\dlm@var@kern\thinmuskip%
+ \dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@b}[1]{\dlm@var@kern\medmuskip%
+ \dlm@var@#1\dlm@var@kern\medmuskip}
+\newcommand{\dlm@var@m}[1]{\dlm@var@kern\thickmuskip%
+ \dlm@var@#1\dlm@var@kern\thickmuskip}
+% \end{macrocode}
+
+% Definitions for selecting outer math class
+% |\mathopen|+|\mathclose| vs. |\mathinner|.
+%
+% \begin{macrocode}
+\newcommand{\dlm@open@i}{\mathinner{}\mathclose{}\mathopen}
+\newcommand{\dlm@close@i}{\mathclose{}\mathopen{}\mathinner}
+\newcommand{\dlm@inner@oc}{\mathopen{}\mathclose}
+\newcommand{\dlm@enclose@openclose}{%
+ \let\dlm@open\mathopen\let\dlm@close\mathclose\let\dlm@inner\dlm@inner@oc}
+\newcommand{\dlm@enclose@inner}{%
+ \let\dlm@open\dlm@open@i\let\dlm@close\dlm@close@i\let\dlm@inner\mathinner}
+% \end{macrocode}
+
+% Definitions for selecting inline vs. block insertion.
+%
+% \begin{macrocode}
+\newcommand{\dlm@inline@l}[1]{\dlm@open{#1}}
+\newcommand{\dlm@inline@r}[1]{\dlm@close{#1}}
+\newcommand{\dlm@block@l}[1]{\dlm@inner\bgroup\mathopen{#1}}
+\newcommand{\dlm@block@r}[1]{\mathclose{#1}\egroup}
+\newcommand{\dlm@enclose@inline}{%
+ \let\dlm@class@l\dlm@inline@l\let\dlm@class@r\dlm@inline@r}
+\newcommand{\dlm@enclose@block}{%
+ \let\dlm@class@l\dlm@block@l\let\dlm@class@r\dlm@block@r}
+% \end{macrocode}
+
+% Opening and closing definitions.
+%
+% \begin{macrocode}
+\newcommand{\dlm@plain@l}[1]{\dlm@class@l{\dlm@phantom{#1}}}
+\newcommand{\dlm@plain@r}[1]{\dlm@class@r{\dlm@phantom{#1}}}
+\newcommand{\dlm@big@l}[1]{\dlm@plain@l{\dlm@big@#1}}
+\newcommand{\dlm@big@r}[1]{\dlm@plain@r{\dlm@big@#1}}
+\newcommand{\dlm@var@l}[1]{\dlm@inner\bgroup\dlm@var@null#1\left#1}
+\newcommand{\dlm@var@r}[1]{\right#1\dlm@var@null#1\egroup}
+\newcommand{\dlm@var@pl}[1]{\dlm@var@l.\mathopen{#1}}
+\newcommand{\dlm@var@pr}[1]{\mathclose{#1}\dlm@var@r.}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Delimiter Storage.}
+%
+% Macros for storing and retrieving delimiter types using global registers.
+%
+% \begin{macrocode}
+\newcommand{\dlm@reg@save@init}[1]{%
+ \xdef#1{\delimsize\the\delimsize}\ifx\dlm@inner\mathinner%
+ \expandafter\gdef\expandafter#1\expandafter{#1\dlm@enclose@inner}\fi}
+\newcommand{\dlm@reg@save}[2]{%
+ \expandafter\dlm@reg@save@init\csname dlm@reg@init@#1\endcsname%
+ \expandafter\gdef\csname dlm@reg@sel@#1\endcsname{#2}}
+\newcommand{\dlm@reg@init}[1]{\csname dlm@reg@init@#1\endcsname}
+\newcommand{\dlm@reg@sel}[1]{\csname dlm@reg@sel@#1\endcsname}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Optional Size Argument Processing.}
+% \paragraph{Flags Processing.}
%
-% Parse the optional argument following |\delim|\ldots\
-% commands to specify the size of delimiters.
-% If the next character in line begins a group (`|{|') it is assumed that
-% there is no optional argument.
-% Otherwise the selected size is written to |\dlm@arg|.
-% Unspecified or unknown sizes default to normal size.
-% Finally, execute the code passed as an explicit argument to |\dlm@parsesize|.
+% The macro |\parsedelimflags| parses the optional argument(s)
+% following |\delim|\ldots\ commands to adjust the presentation.
+% Parsing is terminated if the next character in line begins a group (`|{|')
+% and the delimiter set is composed by executing argument |#1|.
+% A size flag is stored and parsing continues.
+% A delimiter selector flag immediately displays the desired delimiter
+% by executing argument |#2|.
+% Unknown flags produce an error message.
%
% \begin{macrocode}
-\newcommand{\dlm@parsesize}[1]{\@ifnextchar\bgroup%
- {\dlm@parsesize@{#1}{0}}{\dlm@parsesize@{#1}}}
-\newcommand{\dlm@parsesize@}[2]{\let\dlm@arg\dlm@norm%
- \if0#2\let\dlm@arg\dlm@norm\fi%
- \if1#2\let\dlm@arg\dlm@big\fi%
- \if+#2\let\dlm@arg\dlm@big\fi%
- \if!#2\let\dlm@arg\dlm@big\fi%
- \if2#2\let\dlm@arg\dlm@Big\fi%
- \if3#2\let\dlm@arg\dlm@bigg\fi%
- \if4#2\let\dlm@arg\dlm@Bigg\fi%
- \if*#2\let\dlm@arg\dlm@var\fi%
- #1}
+\newcommand{\parsedelimflags}{\dlm@setsize{0.6}\let\dlm@phantom\@firstofone%
+ \dlm@enclose@openclose\dlm@enclose@inline\dlm@parseflags}
+\newcommand{\dlm@parseflags}[2]{%
+ \@ifnextchar\bgroup{#1}{\dlm@parseflag{#1}{#2}}}
+\newcommand{\dlm@parseflag}[3]{\begingroup%
+ \ifcsname dlm@parseflag@\string#3\endcsname%
+ \def\dlm@do{\csname dlm@parseflag@\string#3\endcsname{#1}{#2}}\else%
+ \def\dlm@do{\PackageError{delimset}%
+ {unknown delimiter set flag `\string#3'}{}#1}%
+ \fi\expandafter\endgroup\dlm@do}
+\newcommand{\dlm@parsedef}[3]{%
+ \expandafter\def\csname dlm@parseflag@\string#1\endcsname ##1##2#2{#3}}
% \end{macrocode}
+%
% Note that the delimited expression should be contained within a group
% such that nested delimiters will not overwrite the outer size definition.
+% Flags to adjust size.
+% Note that sizes 0 and 1 amount to 0.96 and 1.2 times
+% the current empty math box height.
+%
+% \begin{macrocode}
+\dlm@parsedef{!}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{+}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{0}{}{\dlm@setsize{0.6}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{1}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{2}{}{\dlm@setsize{2}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{3}{}{\dlm@setsize{3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{4}{}{\dlm@setsize{4}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{^}{#3}{\dlm@setsize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{_}{#3}{\dlm@setabssize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{*}{}{\dlm@setvar\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
+% Flags to select individual delimiters.
+%
+% \begin{macrocode}
+\dlm@parsedef{(}{}{\def\selecteddelim{0}#2}
+\dlm@parsedef{|}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{,}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{)}{}{\def\selecteddelim{9}#2}
+\dlm@parsedef{?}{#3}{\def\selecteddelim{#3}#2}
+% \end{macrocode}
+
+% Flags to access registers.
+%
+% \begin{macrocode}
+\dlm@parsedef{[}{}{\dlm@reg@save{.}{#2}\def\selecteddelim{0}#2}
+\dlm@parsedef{]}{}{\dlm@reg@init{.}\def\selecteddelim{9}\dlm@reg@sel{.}}
+\dlm@parsedef{>}{#3}{\dlm@reg@save{#3}{#2}}
+\dlm@parsedef{<}{#3}{\dlm@reg@init{#3}\dlm@parseflags%
+ {\PackageError{delimset}{must select delimiter}{}}{\dlm@reg@sel{#3}}}
+% \end{macrocode}
+
+% Further flags.
+%
+% \begin{macrocode}
+\dlm@parsedef{.}{}{#1}
+\dlm@parsedef{:}{}{\dlm@enclose@block\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{'}{}{\dlm@enclose@openclose\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{"}{}{\dlm@enclose@inner\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{-}{}{\let\dlm@phantom\phantom\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Size Selection.}
+% \paragraph{Delimiter Display.}
%
-% The command |\selectdelim| reproduces the delimiter in the second argument
-% using the math class given in the first argument
-% using the previously selected size stored in |\dlm@arg|.
-% It appends the class identifier to the command stored in |\dlm@arg|
-% and calls the latter with the delimiter as the argument.
+% The command |\selectdelim| reproduces the delimiter in argument |#2|
+% using the math class given in argument |#1| and the previously stored size.
% If the class identifier is `|.|', just return the delimiter argument as is.
+% The commands |\selectdeliml| and |\selectdelimr|
+% implement the left and right delimiter classes, respectively.
+%
% \begin{macrocode}
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm@arg{#1}#2\fi}
+\newcommand{\selectdelim}[1][]{\begingroup\def\dlm@do{\@ifstar{\dlm@plain{#1}}%
+ {\dlm@ifvar{\dlm@var{#1}}{\dlm@big{#1}}}}%
+ \if.#1\let\dlm@do\@empty\fi\expandafter\endgroup\dlm@do}
+\newcommand{\selectdeliml}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pl\dlm@plain@l}{\dlm@ifvar\dlm@var@l\dlm@big@l}}
+\newcommand{\selectdelimr}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pr\dlm@plain@r}{\dlm@ifvar\dlm@var@r\dlm@big@r}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \paragraph{Declaration of New Delimiter Commands.}
%
-% Declares a new set of delimiters as the macro `|\|\emph{name}'.
-% This macro checks for an optional size argument and stores it in |\dlm@arg|.
+% The macro |\DeclareMathDelimiterSet| declares a new set of delimiters
+% as the macro `|\|\emph{name}'.
+% This macro checks for optional flags and stores the desired size.
% It then passes on to a second macro `|\dlm@dcl@|\emph{name}',
% which takes the actual code.
+% If the flags select an individual delimiter,
+% the macro `|\dlm@sel@|\emph{name}' is called instead.
+% The latter macro should be defined via |\DeclareMathDelimiterSel|
+% such that it produces the desired delimiter number |\selecteddelim|.
+%
% \begin{macrocode}
\newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm@declare%
\csname dlm@dcl@\expandafter\@gobble\string#1\endcsname{#1}}
-\def\dlm@declare#1#2{\newcommand{#2}{\dlm@parsesize{#1}}\newcommand{#1}}
+\def\dlm@declare#1#2{\expandafter\dlm@declare@%
+ \csname dlm@sel@\expandafter\@gobble\string#2\endcsname{#1}{#2}}
+\def\dlm@declare@#1#2#3{\newcommand{#3}{\parsedelimflags{#2}{#1}}%
+ \providecommand{#1}{}\newcommand{#2}}
+\newcommand{\DeclareMathDelimiterSel}[3]{\expandafter\def%
+ \csname dlm@sel@\expandafter\@gobble\string#1\endcsname%
+ {\ifcase\selecteddelim#2\else#3\fi}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1212,29 +1866,51 @@ alternative representation:
% are processed \emph{before} the optional size modifier.
%
% |\delim| is used for a single delimited expression.
+%
% \begin{macrocode}
-\newcommand{\delim}[2]
- {\dlm@parsesize{\dlm@dcl@delim{#1}{#2}}}
-\newcommand{\dlm@dcl@delim}[3]
- {\selectdelim[l]#1{#3}\selectdelim[r]#2}
+\newcommand{\delim}[2]{%
+ \parsedelimflags{\dlm@dcl@delim{#1}{#2}}{\dlm@sel@delim{#1}{#2}}}
+\newcommand{\dlm@dcl@delim}[3]{%
+ \selectdeliml#1{#3}\selectdelimr#2}
+\newcommand{\dlm@sel@delim}[2]{\ifcase\selecteddelim\selectdeliml#1%
+ \else\selectdelimr#2\fi}
% \end{macrocode}
% |\delimpair| is used for two delimited expressions separated
% by an intermediate delimiter.
+%
% \begin{macrocode}
-\newcommand{\delimpair}[3]
- {\dlm@parsesize{\dlm@dcl@delimpair{#1}{#2}{#3}}}
-\newcommand{\dlm@dcl@delimpair}[5]
- {\selectdelim[l]#1{#4}\selectdelim#2{#5}\selectdelim[r]#3}
+\newcommand{\delimpair}[3]{%
+ \parsedelimflags{\dlm@dcl@delimpair{#1}{#2}{#3}}%
+ {\dlm@sel@delimpair{#1}{#2}{#3}}}
+\newcommand{\dlm@dcl@delimpair}[5]{%
+ \selectdeliml#1{#4}\selectdelim#2{#5}\selectdelimr#3}
+\newcommand{\dlm@sel@delimpair}[3]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\else\selectdelimr#3\fi}
% \end{macrocode}
% |\delimtriple| is used for three delimited expressions separated
% by two intermediate delimiters.
+%
% \begin{macrocode}
-\newcommand{\delimtriple}[4]
- {\dlm@parsesize{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}}
-\newcommand{\dlm@dcl@delimtriple}[7]
- {\selectdelim[l]#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelim[r]#4}
+\newcommand{\delimtriple}[4]{%
+ \parsedelimflags{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}%
+ {\dlm@sel@delimtriple{#1}{#2}{#3}{#4}}}
+\newcommand{\dlm@dcl@delimtriple}[7]{%
+ \selectdeliml#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelimr#4}
+\newcommand{\dlm@sel@delimtriple}[4]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\or\selectdelim#3\else\selectdelimr#4\fi}
+% \end{macrocode}
+
+% |\usedelim| retrieves a stored delimiter type.
+% The argument `|]|' immediately closes the delimiter set
+% using the default register.
+% Otherwise the desired register must be followed
+% by the delimiter selection flag.
+%
+% \begin{macrocode}
+\newcommand{\usedelim}{\@ifnextchar]{\parsedelimflags{}{}}{\parsedelimflags%
+ {\PackageError{delimset}{must select delimiter}{}}{}<}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1243,17 +1919,18 @@ alternative representation:
% Define some common delimiters (by |providecommand| so as not to
% overwrite previously existing commands).
% This code is activated only if the package option |stddef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@std
\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
- \if r#1 \def\dlm@use{\delim()}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
- \if c#1 \def\dlm@use{\delim\{\}}\fi%
- \if a#1 \def\dlm@use{\delim<>}\fi%
+ \if r#1\def\dlm@use{\delim()}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
+ \if c#1\def\dlm@use{\delim\{\}}\fi%
+ \if a#1\def\dlm@use{\delim<>}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\eval}[1][v]{\begingroup\def\dlm@use{\delim.\rvert}%
- \if v#1 \def\dlm@use{\delim.\rvert}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
+ \if v#1\def\dlm@use{\delim.\rvert}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\abs}{\delim\lvert\rvert}
\providecommand{\norm}{\delim\lVert\rVert}
@@ -1265,24 +1942,33 @@ alternative representation:
%
% Define some extended delimiters.
% This code is activated only if the package option |extdef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@ext
-\providecommand{\pair}{\delimpair({[.],})}
+\providecommand{\pair}{\delimpair({[p]*,})}
\providecommand{\set}{\delim\{\}}
\providecommand{\setcond}{\delimpair\{|\}}
-\providecommand{\intv}[1][c]{\begingroup\def\dlm@use{\delimpair[{[.],}]}%
- \if c#1 \def\dlm@use{\delimpair[{[.],}]}\fi%
- \if l#1 \def\dlm@use{\delimpair]{[.],}]}\fi%
- \if r#1 \def\dlm@use{\delimpair[{[.],}[}\fi%
- \if o#1 \def\dlm@use{\delimpair]{[.],}[}\fi%
+\providecommand{\intv}[1][c]{\begingroup%
+ \def\dlm@use{\delimpair[{[p]*,}]}%
+ \if c#1\def\dlm@use{\delimpair[{[p]*,}]}\fi%
+ \if l#1\def\dlm@use{\delimpair]{[p]*,}]}\fi%
+ \if r#1\def\dlm@use{\delimpair[{[p]*,}[}\fi%
+ \if o#1\def\dlm@use{\delimpair]{[p]*,}[}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\avg}{\delim<>}
\providecommand{\corr}{\delim<>}
-\providecommand{\comm}{\delimpair[{[.],}]}
-\providecommand{\acomm}{\delimpair\{{[.],}\}}
+\providecommand{\comm}{\delimpair[{[p]*,}]}
+\providecommand{\acomm}{\delimpair\{{[p]*,}\}}
\providecommand{\bra}{\delim<|}
\providecommand{\ket}{\delim|>}
\providecommand{\braket}{\delimpair<|>}
+\providecommand{\lfrac}[1][]{\begingroup%
+ \def\dlm@use{\delimpair./.}%
+ \if r#1\def\dlm@use{\delimpair(/)}\fi%
+ \if s#1\def\dlm@use{\delimpair[/]}\fi%
+ \if c#1\def\dlm@use{\delimpair\{/\}}\fi%
+ \if a#1\def\dlm@use{\delimpair</>}\fi%
+ \expandafter\endgroup\dlm@use}
\fi
% \end{macrocode}
diff --git a/macros/latex/contrib/delimset/delimset.ins b/macros/latex/contrib/delimset/delimset.ins
index daf870b5ff..68e41a7242 100644
--- a/macros/latex/contrib/delimset/delimset.ins
+++ b/macros/latex/contrib/delimset/delimset.ins
@@ -2,7 +2,7 @@
\input docstrip.tex
\keepsilent
-% delimset.ins Copyright (C) 2016-2018 Niklas Beisert
+% delimset.ins Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -14,7 +14,7 @@
\preamble
-Copyright (C) 2016-2018 Niklas Beisert
+Copyright (C) 2016-2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/delimset/delimset.pdf b/macros/latex/contrib/delimset/delimset.pdf
index b964bea59d..734ebf01db 100644
--- a/macros/latex/contrib/delimset/delimset.pdf
+++ b/macros/latex/contrib/delimset/delimset.pdf
Binary files differ
diff --git a/macros/latex/contrib/doibanner/CHANGELOG.md b/macros/latex/contrib/doibanner/CHANGELOG.md
new file mode 100644
index 0000000000..0da2ac7be3
--- /dev/null
+++ b/macros/latex/contrib/doibanner/CHANGELOG.md
@@ -0,0 +1,51 @@
+# Changelog
+
+All notable changes to the project `doibanner` are documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project does __not__ adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+
+<!-- ## [Unreleased] -->
+
+
+## [0.2] - \[2024-07-23\]
+
+Initial release of [this package on the Comprehensive TeX Archive Network (CTAN)](https://www.ctan.org/pkg/doibanner)
+
+The package contains a revised version of the `doi.sty` and `tutorial/doi.tex`
+files. Since the previous material was not publicly available, the changes
+listed below are mainly to ensure that I myself do not forget how the structure
+of the package has changed.
+
+### Added
+
+- `CHANGELOG.md` file to document all notable changes to this project.
+- `example/doibanner_example.tex` and resulting standalone as `png` to act as teaser.
+- `build.lua` script to install and manage this package via `i3build`.
+- `doibanner.dtx` and `doibanner.ins`, which contains a revised melange of the
+ files `src/doi.sty` and `tutorial/doi.tex`
+
+### Fixed
+
+- trailing whitespace from banner and link generated by doibanner and doiurl, respectively
+- definition of `urlbase` as package option
+
+### Removed
+
+- `\doi` macro, `\doiurl` and `\doibanner` have a mandatory argument beginning
+ with this version (breaking change)
+- `src/doi.sty` and `tutorial/doi.tex` files, the package was converted into
+ `doibanner.dtx`, which allows unpacking the `doibanner.sty` file from it,
+ and can be compiled in order to obtain a package documentation.
+
+
+## [0.1] - \[2021/05/09\]
+
+Initial version of this package.
+
+
+<!-- [unreleased]: https://codeberg.org/Cs137/doibanner/compare/v0.2...HEAD -->
+[0.2]: https://codeberg.org/Cs137/doibanner/releases/tag/v0.2
+[0.1]: https://codeberg.org/Cs137/doibanner/releases/tag/v0.1
+
diff --git a/macros/latex/contrib/doibanner/README.md b/macros/latex/contrib/doibanner/README.md
new file mode 100644
index 0000000000..4630c567f4
--- /dev/null
+++ b/macros/latex/contrib/doibanner/README.md
@@ -0,0 +1,26 @@
+# doibanner
+
+A LaTeX package to generate DOI banners and links.
+
+![_Screenshot of example output generated with `\doibanner`_](./example/doibanner_example.png "Example output generated with doibanner")
+
+
+This package includes an updated version of `doi.sty`, initially created for
+personal use to enhance scientific documents with DOI banners and links. I've
+converted it into `doibanner.dtx` and added documentation, allowing you to
+benefit from the package as well.
+
+Latest release: 2024-07-23 v0.2
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md).
+
+
+## Credits
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+The source code is hosted on [Codeberg](https://codeberg.org/Cs137/doibanner).
+This material is subject to the [LaTeX Project Public License 1.3c](https://www.ctan.org/license/lppl1.3).
diff --git a/macros/latex/contrib/doibanner/doibanner.dtx b/macros/latex/contrib/doibanner/doibanner.dtx
new file mode 100644
index 0000000000..099cfb6196
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.dtx
@@ -0,0 +1,353 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Christian Schreinemachers
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The current maintainer of this work is
+% Christian Schreinemachers.
+%
+% This work consists of the files
+% doibanner.dtx
+% doibanner.ins
+% and the derived files
+% doibanner.sty
+% doibanner.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{doibanner}
+%<package> [2024-07-23 v0.2 Generate DOI banners and links]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{doibanner}
+\usepackage[toc]{multitoc}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\DoNotIndex{\def,\definecolor,\adjustbox,\begin,\bfseries,\DeclareStringOption,
+ \end,\endinput,\fill,\fontfamily,\href,\hspace,\IfBooleanTF,\Large,
+ \NewDocumentCommand,\node,\ProcessKeyvalOptions,\RequirePackage,
+ \SetupKeyvalOptions,\selectfont,\sfdefault,\vspace}
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{doibanner.dtx}
+\end{document}
+%</driver>
+% \fi
+% \CheckSum{60}
+% \CharacterTable
+% {Upper-case \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
+% Lower-case \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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \changes{v0.2}{2024-07-23}{Add documentation}
+% \changes{v0.2}{2024-07-23}{Convert into dtx}
+% \changes{v0.1}{2021/05/09}{Initial version}
+%
+% \GetFileInfo{doibanner.sty}
+%
+%
+% ^^A -----------------------------
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \newcommand*{\opt}[1]{\texttt{#1}}
+% \newcommand*{\default}[1]{(default: \opt{#1})}
+%
+%
+% ^^A -----------------------------
+%
+% \title{The \package{doibanner} package}
+% \author{Christian Schreinemachers}
+% \date{%
+% Released \filedate\thanks{%
+% \package{doibanner}~\fileversion
+% ~(\href{https://codeberg.org/Cs137/doibanner/releases/tag/\fileversion}{source code})}%
+% }
+% \hypersetup{%
+% pdfauthor={Christian Schreinemachers},%
+% pdftitle={The doibanner package},%
+% pdfsubject={LaTeX package documentation},%
+% pdfkeywords={doibanner, latex, documentation}%
+% }
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+% \begin{abstract}
+% The \package{doibanner} package allows to generate a banner for a
+% declared DOI. It provides the \cs{doibanner} macro, which draws the
+% banner using \package{TikZ} and adds a link via \package{hyperref},
+% if desired. Its output might look as follows:
+% \par\medskip\centering{\doibanner*{xx.xxxx/yyyyyy.zzzzzzzz}}
+% \end{abstract}
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% I published several documents on \href{https://zenodo.org/}{\textit{Zenodo}},
+% a general-purpose open repository. They offer to register a DOI for an
+% entry and download a banner of it. The latter can be added to contents
+% foreseen for the entry, or when referring to it.
+%
+% In order to avoid the manual step of downloading a banner to add to
+% my material, I decided to create a \LaTeX{} package that draws a comparable
+% banner and includes a link to the corresponding URL. Due to the motivation,
+% the resulting banner is heavily inspired by the design applied in the
+% banner offered by \textit{Zenodo}. It is drawn using the \package{tikz}
+% package the link is included with \package{hyperref}.
+%
+% The application of this package is not limited to \textit{Zenodo}
+% depositions, it can be used to create a banner from a DOI string that
+% can be included in any \LaTeX{} document.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+% ^^A
+% Load the package in your document's preamble and specify any of the
+% options described in the next subsection as follows:
+%
+% \begin{quote}
+% \cs{usepackage}\oarg{option(s)}\{doibanner\}
+% \end{quote}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% \DescribeMacro{urlbase=\meta{string}}
+% \default{https://doi.org/} specifies the prefix to convert a DOI string
+% into an URL, for normal usecases this does not require any adjustment.
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+% ^^A
+% The following subsections list the content that can be generated with this package.
+%
+% \subsubsection*{doibanner}
+% ^^A
+% \DescribeMacro{\doibanner\marg{string}}
+% A DOI banner can be created using the command \cs{doibanner}, which
+% requires a DOI string as argument.
+% An execiton of \cs{doibanner\{xx.xxxx/yyyyyy.zzzzzzzz\}}, generates the
+% following banner: \doibanner{xx.xxxx/yyyyyy.zzzzzzzz}
+%
+% \DescribeMacro{\doibanner*\marg{string}}
+% The starred version of the command leads to the same banner, but it does
+% not contain a link to the DOI's URL:
+% \doibanner*{xx.xxxx/yyyyyy.zzzzzzzz}
+%
+% \subsubsection*{doiurl}
+% ^^A
+% \DescribeMacro{\doiurl\marg{string}}
+% An URL is generated by appending the provided \emph{string} to the string
+% defined as the package option \opt{urlbase}. The resulting link is labelled
+% with the DOI string.
+% A call of \cs{doiurl\{xx.xxxx/yyyyyy.zzzzzzzz\}} results in
+% \doiurl{xx.xxxx/yyyyyy.zzzzzzzz}.
+%
+% \DescribeMacro{\doiurl*\marg{string}}
+% The command is also available as starred version, which prints the full
+% URL instead of the DOI string and does not include a link. Its output for
+% the aforementioned example will be as follows:
+% \doiurl*{xx.xxxx/yyyyyy.zzzzzzzz}.
+%
+%
+% ^^A -----------------------------
+%
+% ^^A \section{Known limitations}
+% ^^A ^^A
+% ^^A \begin{itemize}
+% ^^A \item
+% ^^A \end{itemize}
+%
+%
+% ^^A -----------------------------
+%
+% \MaybeStop{
+%
+% \PrintIndex
+%
+% \PrintChanges
+% \par\noindent
+% The
+% \href{https://codeberg.org/Cs137/doibanner/}{package repository on Codeberg}
+% contains a detailed
+% \href{https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md}{changelog file}.
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{Implementation}
+%
+% \subsection{Dependencies}
+% ^^A
+% In order to use \package{doibanner}, the packages
+% \href{https://www.ctan.org/pkg/adjustbox}{\package{adjustbox}},
+% \href{https://www.ctan.org/pkg/hyperref}{\package{hyperref}},
+% \href{https://www.ctan.org/pkg/kvoptions}{\package{kvoptions}},
+% \href{https://www.ctan.org/pkg/tikz}{\package{tkiz}}, and
+% \href{https://www.ctan.org/pkg/xparse}{\package{xparse}}
+% are required as dependencies.
+%
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+\RequirePackage{adjustbox}
+\RequirePackage{hyperref}
+\RequirePackage{kvoptions}
+\RequirePackage{tikz}
+\RequirePackage{xparse}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% \begin{macro}{\doibanner@urlbase}
+% \changes{v0.2}{2024-07-23}{Add \opt{urlbase} option}
+% The package options and are internally available as \cs{doibanner@}\meta{option}.
+% \begin{macrocode}
+\SetupKeyvalOptions{family=doibanner,prefix=doibanner@}
+\DeclareStringOption[https://doi.org/]{urlbase}
+\ProcessKeyvalOptions{doibanner}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+%
+% \changes{v0.2}{2024-07-23}{Remove \cs{doi} macro}
+%
+% \begin{macro}{\doiurl}
+% \changes{v0.2}{2024-07-23}{Remove trailing whitespace}
+% The \meta{string} is appended to the option \opt{urlbase} to
+% generate an URL.
+% \begin{macrocode}
+\NewDocumentCommand\doiurl{s m}{%
+ \IfBooleanTF#1
+ {\doibanner@urlbase#2}%
+ {\href{\doibanner@urlbase#2}{#2}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doibanner@draw}
+% Draw the DOI banner including its \meta{string}.
+% \begin{macrocode}
+\definecolor{leftcolor}{RGB}{85,85,85}
+\definecolor{rightcolor}{RGB}{0,126,198}
+\definecolor{topcolor}{RGB}{59,59,59}
+\definecolor{bottomtextcolor}{RGB}{60,60,60}
+\NewDocumentCommand\doibanner@draw{ O{width=3.6cm} m}{%
+ \adjustbox{#1}{%
+ \begin{tikzpicture}
+ \fill [leftcolor,draw]
+ (1.5,0) --
+ ++(0,.8) {[rounded corners=5] --
+ ++(-1.5,0) --
+ ++(0,-.8)} --
+ cycle
+ {};
+ \node[bottomtextcolor] at (.75,.35) {{\fontfamily{\sfdefault}\selectfont\bfseries \Large DOI}};
+ \node[white] at (.75,.4) {{\fontfamily{\sfdefault}\selectfont\bfseries \Large DOI}};
+ \fill [rightcolor,draw]
+ (1.5,0) {[rounded corners=5] --
+ ++(6.5,0) --
+ ++(0,.8)} --
+ ++(-6.5,0) --
+ cycle
+ {};
+ \node[bottomtextcolor] at (4.75,.35) {{\fontfamily{\sfdefault}\selectfont\bfseries \Large #2}};
+ \node[white] at (4.75,.4) {{\fontfamily{\sfdefault}\selectfont\bfseries \Large #2}};
+ \fill [topcolor,draw,opacity=0.1]
+ (0,0) [rounded corners=5] --
+ ++(8,0) --
+ ++(0,.8) --
+ ++(-8,0) --
+ cycle
+ {};
+ \end{tikzpicture}
+ \hspace{-4mm}
+ \vspace{-4mm}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doibanner@draw}
+% \changes{v0.2}{2024-07-23}{Remove trailing whitespace}
+% Display the DOI banner with or without (*) a link to its URL.
+% \begin{macrocode}
+\NewDocumentCommand\doibanner{s m}{%
+ \IfBooleanTF#1
+ {\doibanner@draw{#2}}%
+ {\href{\doibanner@urlbase#2}{\doibanner@draw{#2}}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
+%%
+%% End of file `doibanner.dtx'.
+
diff --git a/macros/latex/contrib/doibanner/doibanner.ins b/macros/latex/contrib/doibanner/doibanner.ins
new file mode 100644
index 0000000000..177fe7e6f6
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.ins
@@ -0,0 +1,62 @@
+%%
+%% Copyright (C) 2024 Christian Schreinemachers
+%%
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+Copyright (C) 2024 Christian Schreinemachers
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is
+ Christian Schreinemachers.
+
+This work consists of the files
+ doibanner.dtx
+ doibanner.ins
+and the derived files
+ doibanner.sty
+ doibanner.pdf
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{doibanner.sty}{\from{doibanner.dtx}{package}}}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* doibanner.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* bib2qr.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{****************************************************}
+\endbatchfile
+%%
+%% End of file `doibanner.ins'.
+
diff --git a/macros/latex/contrib/doibanner/doibanner.pdf b/macros/latex/contrib/doibanner/doibanner.pdf
new file mode 100644
index 0000000000..e44caf66be
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index a25e5c1761..1e4a07e45a 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,11 +1,15 @@
-# easybook document class
+# The `easybook` document class
+Easily typesetting Chinese theses or books (v2024cw)
-`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the dissertation of many universities in China, providing multiple commands and interfaces allows users to easily customize the thesis template. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
+## Abstract
+`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
## License
-
This work may be distributed and/or modified under the conditions of the LPPL-1.3c License. The latest version of this license is in http://www.latex-project.org/lppl.txt
## Website
+| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) |
-| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) | \ No newline at end of file
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 12ae872938..0c58d9d4f0 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -12,15 +12,15 @@
% LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
+%<class|package>\NeedsTeXFormat{LaTeX2e}[2021/11/15]
%<*class>
-\NeedsTeXFormat{LaTeX2e}[2021/11/15]
-\ProvidesExplClass{easybook}{2024/05/22}{2024bs}
+\ProvidesExplClass{easybook}{2024/07/23}{2024cw}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
\bool_new:N \l__eb_title_newline_bool
-\bool_set_true:N \l__eb_class_mode_book_bool
-\clist_new:N \g__eb_doc_options_clist
+\bool_set_true:N \l__eb_class_mode_book_bool
+\clist_new:N \g__eb_doc_options_clist
\cs_new_protected:Npn \eb_put_ctexbook:n #1
{ \PassOptionsToClass{#1}{ctexbook} }
\cs_generate_variant:Nn \eb_put_ctexbook:n { V }
@@ -66,10 +66,11 @@
\sys_if_engine_xetex:TF
{
- \cs_new_eq:NN \eb_set_family:nnn \xeCJK_set_family:nnn
+ \cs_new_eq:NN \eb_set_family:nnn \xeCJK_set_family:nnn
\cs_new_eq:NN \eb_switch_family:n \xeCJK_switch_family:n
- }{
- \cs_new_eq:NN \eb_set_family:nnn \ctex_ltj_set_family:nnn
+ }
+ {
+ \cs_new_eq:NN \eb_set_family:nnn \ctex_ltj_set_family:nnn
\cs_new_eq:NN \eb_switch_family:n \ctex_ltj_switch_family:n
}
\cs_generate_variant:Nn \eb_set_family:nnn { x }
@@ -89,13 +90,13 @@
{ main,sans,mono,CJKmain,CJKsans,CJKmono }
{
\exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}}
- {\use:c { eb_set#1font:nn } {##2} {##1,##3}}
+ {\use:c { eb_set#1font:nn } {##2} { ##1,##3 }}
}
\RenewDocumentCommand{\newCJKfontfamily}{omO{}mO{}}
{
\tl_set:Nx \l_tmpa_tl { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} }
\cs_new_protected:Npx #2 { \eb_switch_family:n { \l_tmpa_tl } }
- \eb_set_family:xnn { \l_tmpa_tl } {#3,#5} {#4}
+ \eb_set_family:xnn { \l_tmpa_tl } { #3,#5 } {#4}
}
\cs_new_protected:Npn \eb@font@load@noto
@@ -261,8 +262,8 @@
{ \par\nobreak\vskip 1.5pc }
{ \hspace{1em} }
},
- beforeskip = -1.5ex,
- afterskip = 4ex
+ beforeskip = 0pt,
+ afterskip = 25pt
},
section =
{
@@ -299,9 +300,8 @@
}
%</class>
%<*package>
-\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/05/22}{2024bs}
+\ProvidesExplPackage{easybase}{2024/07/23}{2024cw}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -313,7 +313,7 @@
\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
\cs_generate_variant:Nn \ctex_define:nn { nx }
\cs_generate_variant:Nn \eb_set_hyperref:n { x }
-\cs_generate_variant:Nn \eb_at_begin_environment:nn { on }
+\cs_generate_variant:Nn \eb_at_begin_environment:nn { o }
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_set_protected:Npn \ctex_define:nn #1
@@ -372,20 +372,28 @@
\IfNoValueTF{#1}
{\IfFileExists{#2.sty}{\RequirePackage{#2}[#3]}{}}
{\IfFileExists{#2.sty}{\RequirePackage[#1]{#2}[#3]}{}}
+ \IfFileExists{#2.sty}{}
+ {\msg_warning:nnn { easybase } { package-not-found } {#2}}
}
+\msg_new:nnn { easybase } { package-not-found }
+ { The~macro~package~'#1'~can't~be~found. }
\cs_new_protected:Npn \ebloadpackage #1
{
\int_compare:nTF { \clist_count:n {#1} <= 1 }
- { \RequirePackage }
+ { \RequirePackage{#1} }
{
\clist_map_inline:nn {#1}
{ \eb_match_load_package:n {##1} }
}
}
+\providecommand{\NewHookWithArguments}[2]{}
+\ProvideDocumentCommand{\AddToHookWithArguments}{mo+m}{}
\bool_set_true:N \l__eb_class_mode_book_bool
\bool_set_false:N \l__eb_compile_draft_bool
\clist_new:N \g__eb_ctex_options_clist
+\cs_new_protected:Npn \eb_put_geometry:n #1
+ { \PassOptionsToPackage{#1}{geometry} }
\keys_define:nn { easybase }
{
@@ -400,16 +408,19 @@
theorem .bool_set:N = \l__eb_theorem_support_bool,
theorem .default:n = true,
theorem .initial:n = true,
- paper .code:n = \PassOptionsToPackage{#1}{geometry},
+ paper .code:n = \eb_put_geometry:n {#1},
paper .initial:n = a4paper,
class .choice:,
class .value_required:n = true,
- class/book .code:n = { },
+ class/book .code:n =
+ {
+ \bool_set_true:N \l__eb_class_mode_book_bool
+ \eb_put_geometry:n { twoside }
+ },
class/article .code:n =
{
\bool_set_false:N \l__eb_class_mode_book_bool
- \boolfalse{@twoside}
- \boolfalse{@mparswitch}
+ \eb_put_geometry:n { twoside = false }
},
class .initial:n = book,
book .meta:n = { class = book },
@@ -441,7 +452,7 @@
\seq_set_from_clist:Nn \l__eb_module_paths_seq
{
- tools,font,spread,
+ tools,font,space,
bib,thmt,toc,
hdr,float,ref,geo
}
@@ -450,7 +461,7 @@
\ctex_define:n { #1 .meta:nn = { ctex/#1 } {##1} }
\cs_new_protected:cpn { eb#1set } ##1 { \ctex_set:nn {#1} {##1} }
}
-\RenewDocumentCommand{\ctexset}{om}
+\RenewDocumentCommand{\ctexset}{o+m}
{
\IfValueTF{#1}
{\ctex_set:nn {#1} {#2}}
@@ -552,7 +563,15 @@
tagform .code:n = \eb_assign_tagform:n {#1},
tagform .initial:n = { (,) },
brackets .meta:n = { tagform = {#1} },
- figurepath .tl_set:N = \l_eb_graphics_path_tl
+ figurepath .code:n =
+ {
+ \tl_if_blank:nF {#1}
+ {
+ \regex_match:nnTF { \cB. } {#1}
+ { \graphicspath{#1} }
+ { \graphicspath{{#1}} }
+ }
+ }
}
\includepdfset{fitpaper = true}
@@ -587,8 +606,7 @@
\cs_new_protected:Npn \blankpagestyle #1
{ \tl_set:Nn \l__eb_blank_pagestyle_tl {#1} }
\blankpagestyle{empty}
-\RenewDocumentCommand{\cleardoublepage}
- {O{\l__eb_blank_pagestyle_tl}}
+\RenewDocumentCommand{\cleardoublepage}{O{\l__eb_blank_pagestyle_tl}}
{
\clearpage
\ifbool{@twoside}
@@ -609,19 +627,6 @@
\booltrue{@mainmatter}
\pagenumbering{arabic}
}
-\clist_map_inline:nn
- { chapter,section,subsection }
- {
- \exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
- {O{\use:c { CTEXthe#1 }}m}
- {\tl_set:cn { eb@mark@#1@label } {##1##2}}
- \cs_new_protected:cpn { eb_mark_#1_name_parse:n } ##1
- {
- \regex_match:nnTF { \[.*\] } {##1}
- { \use:c { eb@mark@#1@label@layout }##1 }
- { \use:c { eb@mark@#1@label@layout }{##1} }
- }
- }
\NewDocumentCommand{\markrule}
{O{\textwidth}D(){ctex@frame}m>{\SplitArgument{1}{|}}O{}}
{\eb_draw_markrule:nnnnn {#1} {#2} {#3} #4}
@@ -642,32 +647,49 @@
{ none* } { \text_lowercase:n }
}
}
-\ctex_define:nn { hdr }
+\cs_new_protected:Npn \eb@register@hdr@mark #1
{
- chap-mark .cs_set:Np = \eb@mark@chapter@whole #1,
- chap-mark .initial:n =
- {
- \CTEXifname{\eb@mark@chapter@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- sec-mark .cs_set:Np = \eb@mark@section@whole #1,
- sec-mark .initial:n =
+ \exp_args:Nc \NewDocumentCommand { eb@mark@#1@label@layout }
+ {O{\use:c { CTEXthe#1 }}m}
+ {\tl_set:cn { eb@mark@#1@label } {##1##2}}
+ \cs_new_protected:cpn { eb_mark_#1_name_parse:n } ##1
{
- \CTEXifname{\eb@mark@section@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- subsec-mark .cs_set:Np = \eb@mark@subsection@whole #1,
- subsec-mark .initial:n =
+ \regex_match:nnTF { ^\[.*\] } {##1}
+ { \use:c { eb@mark@#1@label@layout }##1 }
+ { \use:c { eb@mark@#1@label@layout }{##1} }
+ }
+ \ctex_define:nn { hdr }
{
- \CTEXifname{\eb@mark@subsection@label}{}
- \eb_mark_uppercase_case_init:n {#1}
- },
- chap-label .code:n = \eb_mark_chapter_name_parse:n {#1},
- chap-label .initial:n = \hspace{1em},
- sec-label .code:n = \eb_mark_section_name_parse:n {#1},
- sec-label .initial:n = \hspace{0.5em},
- subsec-label .code:n = \eb_mark_subsection_name_parse:n {#1},
- subsec-label .initial:n = \hspace{0.5em},
+ #1-mark .cs_set:cp = { eb@mark@#1@whole } ##1,
+ #1-mark .initial:n =
+ {
+ \CTEXifname{\use:c { eb@mark@#1@label }}{}
+ \eb_mark_uppercase_case_init:n {##1}
+ },
+ #1-label .code:n = \use:c { eb_mark_#1_name_parse:n } {##1},
+ }
+ }
+\cs_new_protected:Npn \RegisterHdrMark #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@hdr@mark
+ }
+\RegisterHdrMark{chapter,section,subsection}
+
+\ctex_set:nn { hdr }
+ {
+ chapter-label = \hspace{1em},
+ section-label = \hspace{0.5em},
+ subsection-label = \hspace{0.5em}
+ }
+\ctex_define:nn { hdr }
+ {
+ chap-mark .meta:n = { chapter-mark = {#1} },
+ sec-mark .meta:n = { section-mark = {#1} },
+ subsec-mark .meta:n = { subsection-mark = {#1} },
+ chap-label .meta:n = { chapter-label = {#1} },
+ sec-label .meta:n = { section-label = {#1} },
+ subsec-label .meta:n = { subsection-label = {#1} },
headrulewd .dim_set:N = \eb@head@rule@wd,
headrulewd .initial:n = 0.5pt,
footnoterulewd .dim_set:N = \eb@footnote@rule@wd,
@@ -719,8 +741,6 @@
\ctex_at_end_preamble:n
{
\bool_if:NF \l__eb_ps_used_bool { \pagestyle{fancy} }
- \tl_if_blank:VF \l_eb_graphics_path_tl
- { \exp_args:NV \graphicspath \l_eb_graphics_path_tl }
\providecommand{\kaishu}{\itshape}
}
@@ -786,7 +806,7 @@
\UseFntSymbsList{empty}
\cs_set_eq:NN \DefineFntSymbols \SetFntSymbsList
\cs_set_eq:NN \setfntsymbol \UseFntSymbsList
-\cs_new:Npn \eb_int_format_trans:NN #1
+\cs_new:Npn \eb_int_type_trans:NN #1
{
\str_case:nn {#1}
{
@@ -821,23 +841,38 @@
}
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\cs_generate_variant:Nn \msg_warning:nnnn { nnnV }
\cs_new_protected:Npn \eb_fnmarktext_short_label_set:Nn #1#2
{
\tl_set:Nn \l__eb_fnmarktext_short_tokens_tl {#2}
\clist_map_inline:nn
{ A,a,1,I,i,c,s }
{
- \regex_match:nnT {##1} {#2}
+ \regex_match:nnTF {##1} {#2}
{
\regex_replace_once:nnN {##1}
- { \c{eb_int_format_trans:NN} ##1 \c{c@footnote} }
+ { \c{eb_int_type_trans:NN} ##1 \c{c@footnote} }
\l__eb_fnmarktext_short_tokens_tl
- \seq_map_break:
+ \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
+ \clist_map_break:
+ }
+ {
+ \str_if_eq:nnT {##1} { s }
+ {
+ \str_if_eq:nnTF {#1} { \thefootnote }
+ { \str_set:Nn \l_tmpa_str { \thedownfootnote } }
+ { \str_set:Nn \l_tmpa_str { \theupfootnote } }
+ \msg_warning:nnnV { easybase } { unknown-fnt-type } {#2} \l_tmpa_str
+ }
}
}
- \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\msg_new:nnn { easybase } { unknown-fnt-type }
+ {
+ The~'#1'~includes~unknown~footnote~numbering~type \\
+ in~#2.
+ }
\cs_new_protected:Npn \eb_footnote_value_handle:n #1
{
\str_case:nnF {#1}
@@ -1008,7 +1043,7 @@
{
\noindent
\clist_if_in:NnT \l__eb_footnote_value_clist { flush }
- { \dim_zero:N \fnfirstindent }
+ { \tl_set:Nn \fnfirstindent { 0pt } }
\int_case:nn { \dim_sign:V \fnfirstindent }
{
{ 1 } { \use_i:nnn }
@@ -1300,7 +1335,7 @@
{
\IfBooleanTF{##1}
{
- \use:c {#1}*{\phantomsection ##3}
+ \use:c {#1}*{##3}
\CTEX@addtocline{#1}{##2}
\tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} }
\use:c { #1mark }{##2}
@@ -1322,22 +1357,22 @@
\skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
{ \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
}
-\cs_new_protected:Npn \eb_title_base_set_eq:nn #1#2
- {
- \tl_set_eq:cc { CTEX@#2@beforeskip } { CTEX@#1@beforeskip }
- \tl_set_eq:cc { CTEX@#2@afterskip } { CTEX@#1@afterskip }
- \bool_set_eq:cc { CTEX@#2@numbering } { CTEX@#1@numbering }
- \bool_set_eq:cc { CTEX@#2@fixskip } { CTEX@#1@fixskip }
- \bool_set_eq:cc { CTEX@#2@hang } { CTEX@#1@hang }
- \bool_set_eq:cc { CTEX@#2@runin } { CTEX@#1@runin }
- \cs_set_eq:cc { CTEX@#2@tocline } { CTEX@#1@tocline }
- \tl_set_eq:cc { CTEX@#2@break } { CTEX@#1@break }
- \tl_set_eq:cc { CTEX@#2@format } { CTEX@#1@format }
- \tl_set_eq:cc { CTEX@#2@nameformat } { CTEX@#1@nameformat }
- \tl_set_eq:cc { CTEX@#2@numberformat } { CTEX@#1@numberformat }
- \tl_set_eq:cc { CTEX@#2@titleformat } { CTEX@#1@titleformat }
- \tl_set_eq:cc { CTEX@#2@aftername } { CTEX@#1@aftername }
- \tl_set_eq:cc { CTEX@#2@aftertitle } { CTEX@#1@aftertitle }
+\cs_new_protected:Npn \CopyTitleFormat #1#2
+ {
+ \tl_set_eq:cc { CTEX@#1@beforeskip } { CTEX@#2@beforeskip }
+ \tl_set_eq:cc { CTEX@#1@afterskip } { CTEX@#2@afterskip }
+ \bool_set_eq:cc { CTEX@#1@numbering } { CTEX@#2@numbering }
+ \bool_set_eq:cc { CTEX@#1@fixskip } { CTEX@#2@fixskip }
+ \bool_set_eq:cc { CTEX@#1@hang } { CTEX@#2@hang }
+ \bool_set_eq:cc { CTEX@#1@runin } { CTEX@#2@runin }
+ \cs_set_eq:cc { CTEX@#1@tocline } { CTEX@#2@tocline }
+ \tl_set_eq:cc { CTEX@#1@break } { CTEX@#2@break }
+ \tl_set_eq:cc { CTEX@#1@format } { CTEX@#2@format }
+ \tl_set_eq:cc { CTEX@#1@nameformat } { CTEX@#2@nameformat }
+ \tl_set_eq:cc { CTEX@#1@numberformat } { CTEX@#2@numberformat }
+ \tl_set_eq:cc { CTEX@#1@titleformat } { CTEX@#2@titleformat }
+ \tl_set_eq:cc { CTEX@#1@aftername } { CTEX@#2@aftername }
+ \tl_set_eq:cc { CTEX@#1@aftertitle } { CTEX@#2@aftertitle }
}
\NewDocumentCommand{\NewTitleCommand}{omm}
{
@@ -1357,8 +1392,9 @@
}
\cs_new:cpn { CTEX@#2@tocline } ##1##2
{ \CTEXnumberline{##1}##2 }
+ \exp_args:Nc \providecommand { ttll@#2 }{#3}
\exp_args:Nc \providecommand { toclevel@#2 }{#3}
- \IfValueT{#1}{\eb_title_base_set_eq:nn {#1} {#2}}
+ \IfValueT{#1}{\CopyTitleFormat{#2}{#1}}
}
\NewDocumentCommand{\NewTitleEntryCommand}{O{toc}m}
{
@@ -1367,35 +1403,39 @@
\bool_if:cTF { CTEX@#2@numbering }
{ \CTEX@ifnametrue }
{ \CTEX@ifnamefalse }
+ \CTEX@makeanchor{#2*}
\addcontentsline{#1}{#2}{\use:c { CTEX@#2@tocline }{#2}{##1}}
}
}
\ctex_define:nn { tools }
{
- hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl,
- hyphen-table .tl_set:N = \l__eb_hyphen_table_tl,
- hyphen-listing .tl_set:N = \l__eb_hyphen_listing_tl,
- hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
- hyphen-every .meta:n =
+ hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl,
+ hyphen-table .tl_set:N = \l__eb_hyphen_table_tl,
+ hyphen-lstlisting .tl_set:N = \l__eb_hyphen_lstlisting_tl,
+ hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
+ hyphen-every .meta:n =
{
- hyphen-figure = {#1},hyphen-table = {#1},
- hyphen-listing = {#1},hyphen-equation = {#1}
+ hyphen-figure = {#1},hyphen-table = {#1},
+ hyphen-lstlisting = {#1},hyphen-equation = {#1}
},
- hyphen-every .initial:n = .,
- unknown .code:n = \eb_msg_deprecated_option:n { tools }
+ hyphen-every .initial:n = .,
+ unknown .code:n = \eb_msg_deprecated_option:n { tools }
}
-\clist_map_inline:nn
- { figure,table,listing,equation }
+\AtBeginDocument
{
- \cs_set:cpn { the#1 }
+ \clist_map_inline:nn
+ { figure,table,lstlisting,equation }
{
- \int_compare:nNnT { \c@chapter } > { 0 }
+ \cs_set:cpn { the#1 }
{
- \thechapter
- \tl_use:c { l__eb_hyphen_#1_tl }
+ \int_compare:nNnT { \c@chapter } > { 0 }
+ {
+ \thechapter
+ \tl_use:c { l__eb_hyphen_#1_tl }
+ }
+ \int_to_arabic:v { c@#1 }
}
- \int_to_arabic:v { c@#1 }
}
}
@@ -1405,47 +1445,73 @@
\bool_new:N \l__eb_toc_notitle_bool
\newbool{bitoc}
\cs_new:Npn \ebifbitoc { \ifbool{bitoc} }
+\seq_new:N \l__eb_level_tmpa_seq
+\tl_new:N \l__eb_level_tmpa_tl
+\cs_generate_variant:Nn \regex_extract_all:nnN { no }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_generate_variant:Nn \ctex_set:nn { ox }
+\cs_new_protected:Npn \eb_toc_extract_level:
+ {
+ \regex_extract_all:noN { \cC. } { \eb@toc@title@level }
+ \l__eb_level_tmpa_seq
+ \seq_get_right:NN \l__eb_level_tmpa_seq \l__eb_level_tmpa_tl
+ \tl_set:Nx \l__eb_level_tmpa_tl
+ {
+ \exp_last_unbraced:No
+ \cs_to_str:N { \l__eb_level_tmpa_tl }
+ }
+ \regex_replace_case_once:nN
+ {
+ { ^bi(.*) } { \1 }
+ { .* } { \0 }
+ }
+ \l__eb_level_tmpa_tl
+ }
\keys_define:nn { eb/tocouter }
{
- level .tl_set:N = \eb@toc@title@level,
- level .initial:n =
+ level .code:n =
+ {
+ \tl_set:Nn \eb@toc@title@level {#1}
+ \eb_toc_extract_level:
+ },
+ level .initial:e =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \bichapter* }
- { \bisection* }
+ { \exp_not:N \bichapter* }
+ { \exp_not:N \bisection* }
},
- section .meta:n = { level = \bisection* },
- chapter .meta:n = { level = \bichapter* },
- none .code:n =
+ section .meta:n = { level = \bisection* },
+ chapter .meta:n = { level = \bichapter* },
+ none .code:n =
{
\tl_set:Nn \eb@toc@title@level
{ \par\use_none:nn }
\bool_set_true:N \l__eb_toc_notitle_bool
},
- multoc .int_set:N = \l__eb_toc_columns_int,
- multoc .default:n = 2,
- multoc .initial:n = 1,
+ multoc .int_set:N = \l__eb_toc_columns_int,
+ multoc .default:n = 2,
+ multoc .initial:n = 1,
plan .choice:,
plan .value_required:n = true,
- plan/cn .code:n =
+ plan/cn .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_false:N \l__eb_toc_plan_bi_bool
},
- plan/bi .code:n =
+ plan/bi .code:n =
{
\bool_set_false:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan/both .code:n =
+ plan/both .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan .initial:n = cn,
- columns .meta:n = { multoc = {#1} },
- title .code:n = \eb_assign_toc_title:n {#1},
- bilist .code:n =
+ plan .initial:n = cn,
+ columns .meta:n = { multoc = {#1} },
+ title .code:n = \eb_assign_toc_title:n {#1},
+ bilist .code:n =
{
\tl_gset:Nn \g__eb_bilist_permute_value_tl {#1}
\str_if_eq:nnTF {#1} { mix }
@@ -1463,16 +1529,20 @@
}
}
},
- name .tl_set:N = \l__eb_print_index_name_tl,
- name .initial:n = \imki@jobname
+ name .tl_set:N = \l__eb_print_index_name_tl,
+ name .initial:n = \imki@jobname,
+ unknown .code:n =
+ {
+ \ctex_set:ox { \l__eb_level_tmpa_tl }
+ { \eb_unknown_kv_handle: }
+ },
+ unknown .default:V = \c_novalue_tl
}
-\bool_if:NTF \l__eb_class_mode_book_bool
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/chapter } }
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/section } }
+
\NewDocumentCommand{\eb_assign_toc_title:n}
{>{\SplitArgument{1}{,}}m}
- {\eb_assign_toc_title_judge:nn #1}
-\cs_new_protected:Npn \eb_assign_toc_title_judge:nn #1#2
+ {\eb_toc_assign_title_judge:nn #1}
+\cs_new_protected:Npn \eb_toc_assign_title_judge:nn #1#2
{
\tl_set:Nn \eb@toc@title {#1}
\tl_if_novalue:nTF {#2}
@@ -1524,7 +1594,7 @@
}
\cs_new_protected:Npn \DeclareFloatList #1#2
{
- \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
+ \exp_args:Nc \DeclareDocumentCommand { listof#1s }{st++o}
{\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
\ctex_define:n
{
@@ -1547,14 +1617,15 @@
{ \protect\numberline{#3}{#4} }
}
}
-\cs_new_protected:Npn \AllotCaptionExt #1#2
+\cs_new_protected:Npn \AssignCaptionExt #1#2
{ \tl_set:cn { ext@#1 } {#2} }
+\cs_set_eq:NN \AllotCaptionExt \AssignCaptionExt
\ctex_define:n
{
bicontentsname .tl_set:N = \bicontentsname,
bicontentsname .initial:n = Contents
}
-\RenewDocumentCommand{\tableofcontents}{st+oD(){}}
+\RenewDocumentCommand{\tableofcontents}{st++o+D(){}}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \contentsname
@@ -1587,6 +1658,12 @@
\group_end:
}
+\cs_set_eq:NN \eb@contentsuse@save \contentsuse
+\RenewDocumentCommand{\contentsuse}{O{-1000}mm}
+ {
+ \eb@contentsuse@save{#2}{#3}
+ \tl_set:cn { ttll@#2 } {#1}
+ }
\contentsuse{lstlisting}{lol}
\seq_put_left:Nn \c__ctex_headings_seq { chapter }
\seq_put_right:Nn \c__ctex_headings_seq { table }
@@ -1635,7 +1712,7 @@
{
tocformat = \IfBooleanT{#1}{\contentsmargin{0pt}},
tocindent = 0pt,
- tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\tocrule{$\cdot$}},
+ tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\cdottocrule},
toclabel =
{
\bool_if:NTF \l__eb_toc_entry_hang_bool
@@ -1706,7 +1783,7 @@
\eb@register@every@toc@option
}
\RegisterEveryTocOption{tocafter,tocindent,tocrule}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+\NewDocumentCommand{\tocrule}{st-O{0.6pc}d()mO{}}
{
\normalsize\normalfont
\ttl@row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
@@ -1723,6 +1800,7 @@
}
}
}
+\cs_set:Npn \cdottocrule { \tocrule{\textperiodcentered} }
\ctex_define:nn { toc }
{
lolskip .skip_set:N = \eb@toc@lol@skip,
@@ -1739,6 +1817,8 @@
hang .initial:n = true,
pagenumwd .code:n = \contentsmargin{#1},
pagenumwd .initial:n = 1.55em,
+ fileopen .tl_set:N = \l__eb_fileopen_type_tl,
+ fileopen .initial:n = once,
unknown .code:n = \eb_msg_deprecated_option:n { toc }
}
@@ -1749,30 +1829,48 @@
{
\tl_if_exist:cF { tf@#1 }
{ \iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 } }
- }
- {}
+ }{}
}
+\cs_set_eq:NN \eb@starttoc \@starttoc
\cs_set:Npn \@starttoc #1
{
- \group_begin:
- \makeatletter
- \file_if_exist_input:n { \jobname.#1 }
- \UseHookWithArguments{starttoc/after}{1}{#1}
- \boolfalse{@nobreak}
- \group_end:
+ \cs_if_exist:NTF \UseHookWithArguments
+ {
+ \group_begin:
+ \makeatletter
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+ { \eb@starttoc{#1} }
}
\AddToHook{enddocument/afterlastpage}
{
- \IfHookEmptyTF{starttoc/after}{}
- {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+ \tl_if_eq:NnTF \l__eb_fileopen_type_tl { once }
+ { \iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[*] } }
+ {
+ \IfHookEmptyTF{starttoc/after}{}
+ {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+ }
+ }
+\cs_set_protected:Npn \AssignPartialExt #1#2
+ {
+ \tl_if_exist:cTF { ttl@partial#1 }
+ { \msg_warning:nnnn { easybase } { repeated-ptoc } {#1} {#2} }
+ {
+ \tl_set:cn { ttl@partial#1 } {#2}
+ \AddToHookWithArguments{cmd/ttl@writepartial/before}[ttl/#1]
+ {\ttl@topartial{#1}{##1}{##2}}
+ }
}
-\cs_set_protected:Npn \AllotPartialExt #1#2
+\cs_set_eq:NN \AllotPartialExt \AssignPartialExt
+\msg_new:nnn { easybase } { repeated-ptoc }
{
- \tl_set:cn { ttl@partial#1 } {#2}
- \AddToHookWithArguments{cmd/ttl@writepartial/before}
- {\ttl@topartial{#1}{##1}{##2}}
+ Local~directory~file~'#2'~of~directory~type~'#1'~is \\
+ repeatedly~allocated.
}
-\AllotPartialExt{lol}{pll}
+\AssignPartialExt{lol}{pll}
\cs_new_protected:Npn \RegisterTitleIfname #1
{
@@ -1796,16 +1894,15 @@
}
\RegisterTitleIfname{toc}
-\cs_set_eq:NN \eb@ctexsetii \ctex_set:nn
\cs_new_protected:Npn \SetTocStyle #1#2#3
{
\cs_set_protected:cpn { eb@toc@style@set@#1@#2 }
- { \eb@ctexsetii{#1}{#3} }
+ { \ctex_set:nn {#1} {#3} }
}
\cs_new_protected:Npn \UseTocStyle #1#2#3
{
\cs_if_exist:cTF { eb@toc@style@set@#1@#2 }
- { \addtocontents{#3}{\@nameuse{eb@toc@style@set@#1@#2}} }
+ { \addtocontents{#3}{\string\csuse{eb@toc@style@set@#1@#2}} }
{ \msg_warning:nnnn { easybase } { undefined-toc-style } {#2} {#1} }
}
\msg_new:nnn { easybase } { undefined-toc-style }
@@ -1824,7 +1921,7 @@
{
tocformat = \addvspace{1pc}\sffamily,
tocindent = 0pt,
- tocrule = \tocrule{$\cdot$}[\bfseries],
+ tocrule = \cdottocrule[\bfseries],
tocline = \CTEXnumberline{#1}#2
},
section =
@@ -1834,12 +1931,12 @@
tocrule =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \tocrule{$\cdot$} }
- { \tocrule{$\cdot$}[\bfseries] }
+ { \cdottocrule }
+ { \cdottocrule[\bfseries] }
}
},
subsection =
- { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.4em } }
+ { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.5em } }
}
\ctex_at_end_package:nn { imakeidx }
@@ -1902,19 +1999,19 @@
\ctex_define:nn { font }
{
- caption-table .tl_set:N = \l__eb_font_caption_table_tl,
- caption-figure .tl_set:N = \l__eb_font_caption_figure_tl,
- caption-listing .tl_set:N = \l__eb_font_caption_listing_tl,
- caption-every .meta:n =
+ caption-table .tl_set:N = \l__eb_font_caption_table_tl,
+ caption-figure .tl_set:N = \l__eb_font_caption_figure_tl,
+ caption-lstlisting .tl_set:N = \l__eb_font_caption_lstlisting_tl,
+ caption-every .meta:n =
{
- caption-table = {#1},caption-figure = {#1},
- caption-listing = {#1}
+ caption-table = {#1},caption-figure = {#1},
+ caption-lstlisting = {#1}
},
- caption-every .initial:n = \sffamily\small,
- footnote .tl_set:N = \eb@font@footnote,
- marginpar .tl_set:N = \marginfont,
- marginpar .initial:n = \footnotesize,
- unknown .code:n = \eb_msg_deprecated_option:n { font }
+ caption-every .initial:n = \sffamily\small,
+ footnote .tl_set:N = \eb@font@footnote,
+ marginpar .tl_set:N = \marginfont,
+ marginpar .initial:n = \footnotesize,
+ unknown .code:n = \eb_msg_deprecated_option:n { font }
}
\cs_new_protected:Npn \ebaddtofont #1#2
{
@@ -1924,13 +2021,13 @@
{ \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} }
{ figure }
{ \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2} }
- { listing }
- { \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2} }
+ { lstlisting }
+ { \tl_put_right:Nn \l__eb_font_caption_lstlisting_tl {#2} }
{ every }
{
\tl_put_right:Nn \l__eb_font_caption_table_tl {#2}
\tl_put_right:Nn \l__eb_font_caption_figure_tl {#2}
- \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2}
+ \tl_put_right:Nn \l__eb_font_caption_lstlisting_tl {#2}
}
{ footnote }
{ \tl_put_right:Nn \eb@font@footnote {#2} }
@@ -1940,14 +2037,14 @@
}
\cs_set_eq:NN \addtosubfont \ebaddtofont
-\ctex_define:nn { spread }
+\ctex_define:nn { space }
{
- line .code:n = \setspread{#1},
- table .fp_set:N = \l__eb_spread_table_fp,
- table .initial:n = 1.2,
- math .tl_set:N = \eb@spread@math,
- math .initial:n = 1.2,
- footnote .code:n =
+ linespread .code:n = \setspread{#1},
+ tabspread .fp_set:N = \l__eb_spread_table_fp,
+ tabspread .initial:n = 1.2,
+ mathspread .tl_set:N = \eb@spread@math,
+ mathspread .initial:n = 1.2,
+ fntspread .code:n =
{
\tl_set:Nn \eb@spread@footnote {#1}
\group_begin:
@@ -1956,20 +2053,20 @@
\exp_args:NNNo \group_end:
\dim_set:Nn \footnotesep { \dim_use:N \box_ht:N \strutbox }
},
- footnote .initial:n = 1.2,
- caption-table .fp_set:N = \l__eb_spread_caption_table_fp,
- caption-figure .fp_set:N = \l__eb_spread_caption_figure_fp,
- caption-listing .fp_set:N = \l__eb_spread_caption_listing_fp,
- caption-every .meta:n =
- {
- caption-table = {#1},caption-figure = {#1},
- caption-listing = {#1}
+ fntspread .initial:n = 1.2,
+ captab-spread .fp_set:N = \l__eb_spread_caption_table_fp,
+ capfig-spread .fp_set:N = \l__eb_spread_caption_figure_fp,
+ caplst-spread .fp_set:N = \l__eb_spread_caption_lstlisting_fp,
+ caption-spread .meta:n =
+ {
+ captab-spread = {#1},capfig-spread = {#1},
+ caplst-spread = {#1}
},
- caption-every .initial:n = 1.2,
- every .meta:n =
+ caption-spread .initial:n = 1.2,
+ everyspread .meta:n =
{
- line = {#1},table = {#1},math = {#1},
- caption-every = {#1},footnote = {#1}
+ linespread = {#1},tabspread = {#1},mathspread = {#1},
+ caption-spread = {#1},fntspread = {#1}
},
abovedisplayskip .code:n =
{ \AfterPreamble{\skip_set:Nn \abovedisplayskip {#1}} },
@@ -1983,18 +2080,24 @@
}
},
belowdisplayskip .initial:n = 0.5ex plus .1ex minus .1ex,
- unknown .code:n = \eb_msg_deprecated_option:n { spread }
+ unknown .code:n = \eb_msg_deprecated_option:n { space }
}
\tl_if_eq:NnT \l__ctex_scheme_tl { chinese }
{
\fp_compare:nNnTF { \l__ctex_line_spread_fp } = { 1.3 }
- { \ctex_set:nn { spread } { line = 1.354,table = 1.354 } }
- { \ctex_set:nn { spread } { line = \fp_use:N \l__ctex_line_spread_fp } }
+ {
+ \ctex_set:nn { space }
+ { linespread = 1.354,tabspread = 1.354 }
+ }
+ {
+ \ctex_set:nn { space }
+ { linespread = \fp_use:N \l__ctex_line_spread_fp }
+ }
}
\AfterPreamble{\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
\clist_map_inline:nn
- { table,figure,listing }
+ { table,figure,lstlisting }
{
\DeclareCaptionFont{eb@#1@font}
{
@@ -2012,7 +2115,7 @@
}
\captionsetup[table]{font = eb@table@font}
\captionsetup[figure]{font = eb@figure@font}
-\captionsetup[lstlisting]{font = eb@listing@font}
+\captionsetup[lstlisting]{font = eb@lstlisting@font}
\ctex_at_end_package:nn { bicaption }
{
\captionsetup[figure][bi-second]{name = Figure}
@@ -2176,10 +2279,20 @@
\RequirePackage{amsthm,thmtools}
\cs_set_eq:NN \eb@declaretheoremstyle@save \declaretheoremstyle
\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
- \RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
+ \RenewDocumentCommand{\declaretheoremstyle}{+O{}m+O{}}
{\eb@declaretheoremstyle@save[#1,#3]{#2}}
- \RenewDocumentCommand{\declaretheorem}{O{}mO{}}
- {\eb@declaretheorem@save[style = default,#1,#3]{#2}}
+ \RenewDocumentCommand{\declaretheorem}{+O{}m+O{}}
+ {
+ \eb@declaretheorem@save[style = default,#1,#3]{#2}
+ \settheoremtocline{#2}
+ {
+ \listnumberline{#2}
+ \thmtname\thmtifnote{~(\thmtnote)}{}
+ }
+ \cs_gset:cpn { thmt@contentsline@#2 }
+ { \thmt@contentslineIfNamed }
+ \exp_args:Nc \providecommand { p@#2 }[1]{##1}
+ }
\ctex_define:nn { thmt }
{
loeskip .skip_set:N = \eb@thmt@loe@skip,
@@ -2199,7 +2312,7 @@
\theoremstyle{default}
\cs_undefine:N \proof
\DeclareFloatList{theorem}{loe}
- \AllotPartialExt{loe}{ple}
+ \AssignPartialExt{loe}{ple}
\eb_preto_cmd:nn { listoftheorems }
{
\group_begin:
@@ -2226,7 +2339,7 @@
\NewDocumentCommand{\settheoremtocline}{smm}
{
\IfBooleanT{#1}{\def\thmt@contentslineIgnore{\thmt@contentsline}}
- \cs_set:cpn { ll@#2 } {#3}
+ \cs_set:cpn { ll@#2 } { \@bsphack #3\@esphack }
}
}
@@ -2354,6 +2467,9 @@
\tl_gset:Nn \blx@default@theheading { bibintoc }
\defbibheading{bibintoc}[\bibname]{\eb_biber_toc_title:n {##1}}
\skip_zero:N \bibitemsep
+ \setcounter{biburlucpenalty}{1}
+ \setcounter{biburllcpenalty}{1}
+ \setcounter{biburlnumpenalty}{1}
}
\eb_at_end_preamble:n
{
@@ -2366,7 +2482,7 @@
}
}
-\cs_new:Npn \eb@lst@if@display #1#2
+\cs_new:Npn \lstifdisplay #1#2
{ \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{lst-base}
{
@@ -2394,9 +2510,9 @@
{
style = lst-base,
language = [LaTeX]TeX,
- texcsstyle = *\color{ctex@verb}\eb@lst@if@display{\bfseries}{},
- basicstyle = \ttfamily\eb@lst@if@display{\small}{\color{ctex@verb}},
- keywordstyle = \color{ctex@verb}\eb@lst@if@display{\bfseries}{}
+ texcsstyle = *\color{ctex@verb}\lstifdisplay{\bfseries}{},
+ basicstyle = \ttfamily\lstifdisplay{\small}{\color{ctex@verb}},
+ keywordstyle = \color{ctex@verb}\lstifdisplay{\bfseries}{}
}
\lstset{style = lst-latex}
\lstloadlanguages{C,C++,Java,Python,Matlab}
@@ -2582,7 +2698,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/05/22}{2024bs}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/07/23}{2024cw}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 4895096d8a..3a024e81c2 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index b146662cb3..41a18b12ca 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -4,8 +4,8 @@
\usepackage[fontset = fandol]{ctex}
\usepackage
{
- enumitem,indentfirst,tabularray,fancyvrb,
- geometry,hologo,pifont,changelog,calc
+ enumitem,indentfirst,tabularray,
+ fancyvrb,geometry,hologo,changelog,calc
}
\definecolorscheme{blue}
{
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024bs,
- date = 2024/05/22,
+ version = v2024cw,
+ date = 2024/07/23,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -33,9 +33,9 @@
{
\easybook{} 是基于 \cls*{ctexbook} 书籍文档类创建的纯净学术模板,同时兼具 \cls*{book} 与 \cls*{article} 文档类的功能。结合中国许多高校学位论文的通用框架设计,提供多个命令和接口可以使用户简便地定制论文模板。它的基础宏包 \pkg*{easybase} 还可以搭配 \CTeX 和标准文档类使用。
},
- arg-format = \normalfont\small\itshape\xeCJKVerbAddon,
+ arg-format = \normalfont\small\kaishu\xeCJKVerbAddon,
abstract-format = \small,
- module-sep = \,\raisebox{-1pt}{\ding{224}}\,,
+ module-sep = \,$\Rightarrow$\,,
title-format = \huge\sffamily
}
\KOMAoptions{numbers = noenddot}
@@ -45,21 +45,20 @@
\addtokomafont{section}{\normalfont\sffamily}
\addtokomafont{subsection}{\normalfont\sffamily}
\addtokomafont{subsubsection}{\normalfont\sffamily}
+\setkomafont{pagehead}{\normalfont\kaishu}
\DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section}
\DeclareFieldFormat[book]{title}{\textsf{#1}}
\geometry{margin = 1in,marginparwidth = 0.6in,footskip = 0.5in}
\renewlist{cnltxlist}{description}{2}
-\SetEnumitemValue{label}{smallbullet}{\small\color{DarkBlue}\textbullet}
+\SetEnumitemValue{label}{textbullet}{\color{DarkBlue}\textbullet}
\setlist{nosep,topsep = \smallskipamount,labelsep = 0.5em}
-\setlist[1]{labelindent = \parindent}
-\setlist[itemize,1]{label = smallbullet,leftmargin = *}
+\setlist[1]{labelindent = \parindent,leftmargin = *}
+\setlist[itemize,1]{label = textbullet}
\setlist[cnltxlist]
{
leftmargin = 0pt,
- labelwidth = 2em,
itemindent = -1em,
- labelsep = 0pt,
- listparindent = 2em,
+ listparindent = \parindent,
topsep = \smallskipamount,
itemsep = \smallskipamount,
partopsep = 0ex,
@@ -121,7 +120,9 @@
\@firstofone
}
% A tag that distinguishes the options for different paths
-\NewDocumentCommand{\dtag}{sO{\ding{73}}}
+\newcommand{\hface}{$\symbol{"263A}$}
+\newcommand{\sface}{$\symbol{"263B}$}
+\NewDocumentCommand{\dtag}{sO{\hface}}
{
\begingroup
\reversemarginpar
@@ -143,7 +144,7 @@
\code{\choices{#2}}
}
% Use a separate module margin marker to prevent overlap
-\newcommand{\smodule}[1]{\cnltx@module@text*{\normalsize #1}}
+\newcommand{\smodule}[1]{{\normalsize\cnltx@module@text*{#1}}}
\renewcommand{\cnltx@package@abstract@width}{0.85\linewidth}
\renewcommand{\cnltx@write@lastname}{}
\newcounter{ctexexam}
@@ -185,6 +186,12 @@
\def\keylit{\@cnltx@option@item\keyis}
\def\keychoice{\@cnltx@option@item\choicekey}
\def\keybool{\@cnltx@option@item\boolkey}
+\renewenvironment{changelogdescription}
+ {\begin{description}[leftmargin = \parindent]}
+ {\end{description}}
+\renewenvironment{changelogitemize}
+ {\begin{itemize}[leftmargin = *]}
+ {\end{itemize}}
\makeatother\ExplSyntaxOff
\labelformat{section}{节#1}
\labelformat{subsection}{小节#1}
@@ -202,51 +209,37 @@
\end{itemize}
\subsection{前言}
-对于排版外文文档已有诸如 \cls*{KOMA-Script} 和 \cls*{memoir} 等应用广泛的文档类,但这些文档类并不是为中文用户设计的,难免有些水土不符,且用户手册繁杂,对于普通用户来说学习成本高,难以快速上手。中文文档的解决方案 \pkg*{ctex} 宏集解决了中文输出和章节标题格式的设置问题,但在编写文档过程中往往需要更多基本的定制功能,例如目录、图表标题、页眉页脚、脚注和页面边距等,这往往需要额外加载不同功能的宏包。\easybook{} 文档类在 \cls*{ctexbook} 基础上载入了一些使用频率较高且基本稳定的宏包,对它们的功能进行整合并优化联动使用,模块化的改装提供统一的接口兼容 \pkg*{ctex} 文档类,可以满足学术类文档例如中国学位论文模板的基本需求。\easybook{} 提供了与 \CTeX 相同现代化风格的键值设置,支持不同类型的选项与层次化的选项设置。
+对于排版外文文档已有诸如 \cls*{KOMA-Script} 和 \cls*{memoir} 等应用广泛的文档类,但这些文档类并不是为中文用户设计的,难免有些水土不符,且用户手册繁杂,对于普通用户来说学习成本高,难以快速上手。中文文档的解决方案 \CTeX 宏集解决了中文输出和章节标题格式的设置问题,但在编写文档过程中往往需要更多基本的定制功能,例如目录、图表标题、页眉页脚、脚注和页面边距等,这往往需要额外加载不同功能的宏包。\easybook{} 文档类在 \cls*{ctexbook} 基础上载入了一些使用频率较高且基本稳定的宏包,对它们的功能进行整合并优化联动使用,模块化的改装提供统一的接口兼容 \CTeX 文档类,可以满足学术类文档例如中国学位论文模板的基本需求。\easybook{} 提供了与 \CTeX 相同现代化风格的键值设置,支持不同类型的选项与层次化的选项设置。
\subsection{基本用法}
\label{subsec:basic usage}
-以下一份简单的 \TeX 文档演示了 \easybook{} 的最基本用法,在导言区进行宏包载入与文档设置,一些详细的使用样例会不定期上传在 \href{https://www.latexstudio.net/}{\hologo{LaTeX} 工作室} 的网站。
+以下一份简单的 \TeX 文档演示了 \easybook{} 的最基本用法,在导言区进行宏包载入与文档设置,一些详细的使用样例会不定期上传在 \href{https://www.latexstudio.net/}{\hologo{LaTeX} 工作室} 的网站。或者直接使用 \pkg*{easybase} 宏包,目前适用于 \cls*{ctexbook}、\cls*{ctexrep}、\cls*{ctexart} 以及标准文档类,包含了\ref{sec:interface options} 所示各个模块接口命令的功能。当在\textbf{标准文档类}后载入时还可以使用 \pkg*{ctex} 宏包的选项,将会传递给 \pkg*{ctex} 宏包。文档类和宏包支持的全局选项见\ref{sec:document class options}。
\begin{frameverb}
- \documentclass[文档类选项]{easybook}
+ \documentclass[全局选项]{easybook}
+ % \documentclass[全局选项]{ctexbook}
+ % \usepackage[全局选项]{easybase}
\ctexset{键值列表}
\usepackage{宏包列表}
\begin{document}
- \chapter{欢迎}
- \section{Welcome to easybook}
- Hello, \LaTeX
- \end{document}
-\end{frameverb}
-
-或者直接使用 \pkg*{easybase} 宏包,目前适用于 \cls*{ctexbook}、\cls*{ctexrep}、\cls*{ctexart} 以及标准文档类,包含了\ref{sec:interface options} 所示各个模块接口命令的功能。它的宏包选项共享文档类选项的一部分,支持的选项见\ref{sec:document class options}。当在\textbf{标准文档类}后载入时还可以使用 \pkg*{ctex} 宏包的选项,将会传递给 \pkg*{ctex} 宏包。
-\begin{frameverb}
- \documentclass[文档类选项]{ctexbook}
-
- \usepackage[宏包选项]{easybase}
- \ctexset{键值列表}
-
- \usepackage{宏包列表}
-
- \begin{document}
- \chapter{欢迎}
+ \chapter{hello :)}
\section{Welcome to easybook}
Hello, \LaTeX
\end{document}
\end{frameverb}
\subsection{编译方式}
-假设您的 \TeX 源文件名为 \code{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
+假设您的 \TeX 源文件名为 \code{easybook-demo.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
\begin{frameverb}
- xelatex -shell-escape easybook
- bibtex easybook
- makeindex easybook
- xelatex -shell-escape easybook
- xelatex -shell-escape easybook
+ xelatex -shell-escape easybook-demo
+ bibtex easybook-demo
+ makeindex easybook-demo
+ xelatex -shell-escape easybook-demo
+ xelatex -shell-escape easybook-demo
\end{frameverb}
当然也可以使用 \code{latexmk} 及一些软件自带的编译工具,这里就不做介绍。 \\
-\ding{72} 需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。
+$\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。
\subsection{依赖宏包}
\ref{table:package list} 为 \pkg*{easybase} 直接调用的关键宏包清单,通常情况下它们是常用且稳定的。\colorbox{PaleTurquoise}{蓝色}背景的宏包表示修改了或依赖它们的内部命令。\colorbox{GreenYellow}{绿色}背景的宏包表示并未调用它们,但做了一些预配置,可在导言区手动载入以实现相关的功能。
@@ -256,7 +249,8 @@
cells = {cmd = \pkg*},
cell{1}{3,4} = PaleTurquoise,
cell{2}{5} = PaleTurquoise,
- cell{3}{2,4} = PaleTurquoise,
+ cell{3}{2} = PaleTurquoise,
+ cell{4}{5} = PaleTurquoise,
cell{5}{1} = GreenYellow,
cell{1}{2} = GreenYellow,
cell{3}{1,4} = GreenYellow
@@ -268,9 +262,9 @@
tcolorbox & titletoc & tabularray & ulem &
\end{longtblr}
-\section{文档类选项}
+\section{全局选项}
\label{sec:document class options}
-文档类选项应当在使用 \easybook{} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有 \ding{73} 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
+全局选项应当在使用 \easybook{} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有\hface 符号表示只可用于文档类,否则文档类与宏包都适用。文档类选项除了下面额外增加的以外,还支持标准和 \CTeX 文档类的选项。
\subsection{基本选项}
\begin{cnltxlist}
@@ -284,7 +278,7 @@
同时开启 \option{newline} 和 \keyis{scheme}{plain} 选项以符合英文原生风格。
\keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\optpath*{other paper}}
文档页面尺寸选项将参数交给 \pkg*{geometry} 宏包处理,可使用它支持的所有标准纸张规格。
- \keyval{configs}{配置文件列表}\dtag\newtag[Chg]%
+ \keyval{configs}{配置文件列表}\dtag
载入用户配置的文件名列表,文件列表以花括号包裹并以英文逗号分隔。文件名应包含如 \code{tex}、\code{def} 或 \code{cfg} 等扩展名。若配置文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.cfg}。
\keychoice{floatpage}{true,\fbox{false}}
开启这个选项后浮动环境 \env{table} 和 \env{figure} 的比例参数会使用默认值。关闭它则尽可能避免出现浮动页,使图表环境与正文段落更加紧凑,减少多余的空白版面。
@@ -305,12 +299,12 @@
\newCJKfontfamily[song]\songti{SimSun}
\end{ctexexam}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
- 预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用其它英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
+ 预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用默认的Latin Modern或其它英文字体,可以使用 \code{auto} 选项配合 \pkg*{fontspec} 宏包的相关命令进行设置。
\begin{longtblr}
[
caption = 英文字体预设方案,
label = table:english font,
- remark{\ding{72}} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。,
+ remark{$\blacktriangleright$} = \code{times*} 方案为 \textsf{windows} 系统的预置字体。,
postsep = \bigskipamount-\itemsep
]{
hline{2} = {0.5pt,DarkBlue},
@@ -340,11 +334,11 @@
开启 \cls*{article} 文章模式,与 \keyis*{class}{article} 等效。
\end{cnltxlist}
-\section{接口选项}
+\section{模块选项}
\label{sec:interface options}
\begin{cnltxlist}
- \command*{ctexset}[\oarg{模块名}\marg{键值列表}]
- \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如\ref{table:module List} 所示。
+ \command{ctexset}[\oarg{模块名}\marg{键值列表}]
+ \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模块选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如\ref{table:module List} 所示。
\begin{longtblr}
[caption = 模块功能和名称清单,label = table:module List]
{
@@ -352,13 +346,13 @@
row{1,3} = {font = \sffamily},
row{2,4} = {cmd = \module*}
}
- \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:spread]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
- tools & font & spread & ref & bib \\
+ \hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:space]{间距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
+ tools & font & space & ref & bib \\
\hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\
thmt & geo & hdr & toc &
\end{longtblr}
- \ref{exam:kv setting} 使用\ref{subsec:tools} 介绍的工具模块 \module*{tools} 举例三种键值列表设置方式:1. 各 \meta{模块名} 是统一接口 \cs*{ctexset} 的键路径。2. 不同模块还具有单独的接口命令 \cs*{eb}\meta{模块名}\code{\textcolor{cs}{set}}。3. \meta{模块名} 也可以使用 \cs*{ctexset} 命令的可选参数设置。路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行。
+ \ref{exam:kv setting} 使用\ref{subsec:tools} 介绍的工具模块 \module*{tools} 举例三种键值列表设置方式:1. 各 \meta{模块名} 是统一接口 \cs{ctexset} 的键路径。2. 不同模块还具有单独的接口命令 \cs*{eb}\meta{模块名}\code{\textcolor{cs}{set}}。3. \meta{模块名} 也可以使用 \cs{ctexset} 命令的可选参数设置。路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行。
\begin{ctexexam}[labelref = exam:kv setting]
\ctexset
{
@@ -373,11 +367,12 @@
\ebtoolsset{hyphen-figure = {-}}
\end{ctexexam}
- \easybook{} 文档类有三种选项:布尔型 \choicekey*{key}{true,false},选项的值为真 \code{true} 或假 \code{false},如果不指定默认为真。键值型 \key*{key}{value} 需要为选项指定值,后面 \code{=} 号不能省略。选择型 \choicekey*{key}{one,\fbox{two},three} 根据提供的可选值进行设定。
+ \easybook{} 文档类有四种选项:1. 布尔型 \choicekey*{key}{true,false} 选项的值为真 \code{true} 或假 \code{false},如果不指定默认为真。2. 键值型 \key*{key}{value} 需要为选项指定值,后面 \code{=} 号不能省略。3. 键型 \option*{key} 不需要为选项指定值。4. 选择型 \choicekey*{key}{one,\fbox{two},three} 根据提供的可选值进行设定。
\end{cnltxlist}
\subsection[工具]{工具\smodule{tools}}
\label{subsec:tools}
+工具模块 \module*{tools} 主要用于综合设置各类杂项的排版元素。
\begin{cnltxlist}
\keychoice{color}{\fbox{none},seaside,energy,cyberpunk}
\easybook{} 预置了四种颜色主题,默认主题 \code{none} 为黑白页面,颜色主题不包括超链接。
@@ -397,59 +392,32 @@
设置脚注跟随编号的计数器,仅在导言区有效。默认跟随章计数器,即开启新的章标题时脚注编号从1开始。
\keychoice{uppercase}{\fbox{all},first,none,none*}
使用 \cs{rightmark} 和 \cs{leftmark} 等标题标记命令获取标题内容用于页眉页脚时其中英文的大小写类型。\code{all} 为标题标记中的英文字母全部大写。\code{first} 为标记以英文起始时仅第一个字母大写。\code{none} 不改变标记中英文字母的大小写形式,变体 \code{none*} 则强制标记的字母均为小写形式。
- \kvsplit{tagform}{左括号,右括号}\Default{\Marg{(,)}}\newtag[Chg]%
+ \kvsplit{tagform}{左括号,右括号}\Default{\Marg{(,)}}
设置行间公式标签的括号及格式,以英文逗号分隔,分别代表左右括号。\meta{左括号} 的末尾可以是带有一个参数的命令,用于接受公式编号。将标签括号设置为方括号,并给编号使用无衬线字体:
\begin{ctexexam}
\newcommand{\bracketsf}[1]{[\textsf{#1}}
\ebtoolsset{tagform = {\bracketsf,]}}
\end{ctexexam}
- \kvsplit-{figurepath}{\marg{路径名1}\marg{路径名2}$\cdots$\marg{路径名n}}
- 设置插入图片的文件夹路径名。可以有多个路径名,每个路径包含在花括号内分隔,只有一个路径时需要包含在两层括号内。
-\end{cnltxlist}
+ \kvsplit-{figurepath}{\marg{路径名1}\marg{路径名2}$\cdots$\marg{路径名n}}\newtagv[Changed]{2024cd}%
+ 设置插入图片的文件夹路径名。每个路径需包含在花括号内,只有一个路径时括号可以省略。
+ \begin{ctexexam}
+ \ctexset{tools/figurepath = path1}
+ \ctexset{tools/figurepath = {path2}{path3}}
+ \end{ctexexam}
-\subsubsection{连字符}
-\begin{cnltxlist}
+ 以下几个选项用于设置题注编号的连字符,\code{chapter} 计数器的值大于0时连字符才有意义。若需更改题注编号的输出格式可在正文中重新定义 \cs*{the}\meta{计数器} 命令。
\keyval{hyphen-figure}{图片连字符}\Default{\Marg{.}}
设置图片题注编号的连字符。
\keyval{hyphen-table}{表格连字符}\Default{\Marg{.}}
设置表格题注编号的连字符。
- \keyval{hyphen-listing}{代码连字符}\Default{\Marg{.}}
- 设置代码题注编号的连字符。
+ \keyval{hyphen-lstlisting}{代码连字符}\Default{\Marg{.}}
+ 设置代码题注编号的连字符。\pkg*{listings} 宏包的 \option{numberbychapter} 选项失效。
\keyval{hyphen-equation}{公式连字符}\Default{\Marg{.}}
设置公式题注编号的连字符。
\keyval{hyphen-every}{连字符}\Default{\Marg{.}}
统一设置上述所有编号的连字符。
\end{cnltxlist}
-\subsubsection{上下标全局设置}
-\label{subsubsec:super-sub-script}
-\begin{cnltxlist}
- \keyval{spvmove}{刚性长度}\Default{0pt}
- 上标命令 \cs{super} 对应的上标垂直偏移量。
- \keyval{sphmove}{刚性长度}\Default{0pt}
- 上标命令 \cs{super} 对应的上标水平偏移量。
- \keyval{sbvmove}{刚性长度}\Default{0pt}
- 下标命令 \cs{sub} 对应的下标垂直偏移量。
- \keyval{sbhmove}{刚性长度}\Default{0pt}
- 下标命令 \cs{sub} 对应的下标水平偏移量。
- \opt{nohmove}
- 同时取消上标和下标的 \meta{水平偏移},与 \keyis{sphmove}{0pt} 和 \keyis{sbhmove}{0pt} 等效。
- \opt{novmove}
- 同时取消上标和下标的 \meta{垂直偏移},与 \keyis{spvmove}{0pt} 和 \keyis{sbvmove}{0pt} 等效。
- \keyval{spcmd}{格式命令}
- 上标命令 \cs{super} 对应的上标的格式命令。
- \keyval{sbcmd}{格式命令}
- 下标命令 \cs{sub} 对应的下标的格式命令。
- \keyval{spbhmove}{刚性长度}\Default{0pt}
- 上下标命令 \cs{supersub} 对应的上下标共同水平偏移量。
- \kvsplit{spbcmd}{上标格式,下标格式}
- 上下标命令 \cs{supersub} 对应的上下标格式命令。以英文逗号分隔为前后两个部分分别设置上下标格式,也可以只有前部分,表示上标的格式。
- \kvsplit{vsep}{上标偏移,下标偏移}\Default{0.6ex}
- 上下标命令 \cs{supersub} 对应的上下标额外垂直距离。前部分为上标的偏移量,后部分为下标的偏移量。如果只有前部分则上下标各自垂直移动当前值的一半。
- \keychoice{halign}{\fbox{l},c,r}
- 上下标命令 \cs{supersub} 对应的上下标水平对齐方式,有左 \code{l}、居中 \code{c} 和右 \code{r} 三种对齐方式。
-\end{cnltxlist}
-
\subsection[超链接]{超链接\smodule{ref}}
\label{subsec:hyperlinks}
模块 \module*{ref} 将超链接选项交给 \pkg*{hyperref} 宏包处理。除了一些超链接颜色的选项失效,其它由宏包全局和接口命令 \cs*{hypersetup} 支持的多数选项可用。
@@ -466,46 +434,47 @@
将目录中的超链接取消、置于标题上、置于页码上或置于标题和页码上。
\end{cnltxlist}
-\subsection[行距]{行距\smodule{spread}}
-\label{subsec:spread}
-行距因子用于设置各种行距倍数,\meta{数值} 是不带有长度单位的浮点数。各类行距既可以在导言区全局设置,也可以在正文中设置对后面生效。
+\subsection[间距]{间距\smodule{space}}
+\label{subsec:space}
+间距模块 \module*{space} 用于调整段落中的间距。带有 \option*{spread} 的选项可以设置行距倍数,\meta{数值} 是不带有长度单位的浮点数。各类行距既可以在导言区全局设置,也可以在正文中设置对后面生效。
\begin{cnltxlist}
- \keyval{line}{数值}\Default{1.354}
- 正文行距因子。中文主题下行距因子初始值为 \code{1.354}(相当于 \textsf{Word} 的1.25倍行距),如果设置了文类或 \pkg*{ctex} 宏包的全局行距选项 \option*{linespread} 则初始值设为它的值。
- \keyval{table}{数值}\Default{1.354}
+ \keyval{linespread}{数值}\Default{1.354}
+ 正文行距因子。中文主题下行距因子初始值为 \code{1.354}(相当于 \textsf{Word} 的1.25倍行距),如果设置了文类或 \pkg*{ctex} 宏包的全局行距选项 \option{linespread} 则初始值设为它的值。
+ \keyval{tabspread}{数值}\Default{1.354}
表格内容行距因子,对传统表格 \env{tabular} 和 \env{tabularx} 等环境生效。\pkg*{tabularray} 宏包的 \env{tblr} 环境自带 \option*{stretch} 和 \option*{rowsep} 等行间距选项,这里不做调整。
- \keyval{math}{数值}\Default{1.2}
+ \keyval{mathspread}{数值}\Default{1.2}
数学环境的行距因子,包含了 \pkg*{amsmath} 和 \pkg*{mathtools} 宏包提供的公式环境。
- \keyval{caption-figure}{数值}\Default{1.2}
+ \keyval{capfig-spread}{数值}\Default{1.2}
图片题注的行距因子。
- \keyval{caption-table}{数值}\Default{1.2}
+ \keyval{captab-spread}{数值}\Default{1.2}
表格题注的行距因子。
- \keyval{caption-listing}{数值}\Default{1.2}
+ \keyval{caplst-spread}{数值}\Default{1.2}
代码题注的行距因子。
- \keyval{caption-every}{数值}\Default{1.2}
+ \keyval{caption-spread}{数值}\Default{1.2}
同时设置图片、表格和代码题注的行距因子。
- \keyval{footnote}{数值}\Default{1.2}
+ \keyval{fntspread}{数值}\Default{1.2}
脚注内容整体的行距因子。可以使用 \module*{hdr} 模块 \option{fnpara-format} 选项的代码单独覆盖每个脚注的行距,从而使脚注间和内容文本自身的行距不同。
\begin{ctexexam}
- \ebspreadset{footnote = 1.3}
+ \ebspaceset{fntspread = 1.3}
\ebhdrset{fnpara-format = \linespread{1.2}\selectfont}
\end{ctexexam}
- \keyval{every}{数值}
+ \keyval{everyspread}{数值}
统一设置上述所有的行距因子。
- \keyval{abovedisplayskip}{弹性长度}\Default{0.5ex plus .1ex minus .1ex}\newtag%
+ \keyval{abovedisplayskip}{弹性长度}\Default{0.5ex plus .1ex minus .1ex}
行间公式与上面正文间的额外距离。
- \keyval{belowdisplayskip}{弹性长度}\Default{0.5ex plus .1ex minus .1ex}\newtag%
+ \keyval{belowdisplayskip}{弹性长度}\Default{0.5ex plus .1ex minus .1ex}
行间公式与下面正文间的额外距离。
\end{cnltxlist}
\subsection[部件字体]{部件字体\smodule{font}}
\label{subsec:font}
+部件字体模块 \module*{font} 用于设置除了正文外其它排版元素的字体。
\begin{cnltxlist}
\keyval{caption-table}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置表格题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{caption-figure}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置图片题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
- \keyval{caption-listing}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
+ \keyval{caption-lstlisting}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置代码题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{caption-every}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
同时设置图片、表格和代码题注的字体命令。
@@ -514,7 +483,7 @@
\keyval{marginpar}{字体命令}\Default{\cs*{footnotesize}}
设置边注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\command{ebaddtofont}[\marg{字体类型}\marg{字体命令}]
- 用于在上述各种字体原有的格式上附加代码。其中 \meta{字体命令} 也可以包括行距命令且相对于 \module*{spread} 模块具有优先性,不同题注的 \meta{字体类型} 则为相应选项的后缀名。
+ 用于在上述各种字体原有的格式上附加代码。其中 \meta{字体命令} 也可以包括行距命令且相对于 \module*{space} 模块具有优先性,不同题注的 \meta{字体类型} 则为相应选项的后缀名。
\begin{ctexexam}
\ebaddtofont{every}{\linespread{1.5}\selectfont}
\ebaddtofont{footnote}{\sffamily}
@@ -525,7 +494,7 @@
\label{subsec:reference}
\begin{cnltxlist}
\keychoice{backend}{\fbox{bibtex},biblatex}
- 参考文献处理后端。默认用传统的 \hologo{BibTeX} 处理参考文献\footnote{使用 \hologo{BibTeX} 引擎时加载 \pkg*{natbib} 宏包,使用 \hologo{biber} 时将加载 \pkg*{biblatex} 宏包。}。
+ 参考文献处理后端。选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处理参考文献,加载 \pkg*{natbib} 宏包。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} 宏包。
\keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
\keyval{citestyle}{标注风格}
@@ -541,9 +510,9 @@
\keyval{prenote}{参考文献前注}
该选项选择由 \cs{defbibnote} 所定义的前注,缺省状态下不打印任何前注。
\keyval{section}{整数}\Default{0}
- 只打印在指定文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
+ 只打印第 \meta{整数} 文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
\keyval{type}{条目类型}
- 指定条目的打印类型。
+ 只打印名为 \meta{条目类型} 的文献条目。
\keyval{filter}{过滤器名}
使用由 \cs{defbibfilter} 定义的 \option*{filter} 来过滤条目。
@@ -629,7 +598,7 @@
\optpath{thmt/}\key{loeskip}{弹性长度}\Default{10pt}
定理目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
\command{thmtifnote}[\marg{存在题注代码}\marg{不存在题注代码}]
- 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 加入目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。
+ 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 传给目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。
\command{thmtifname}[\marg{存在编号代码}\marg{不存在编号代码}]
在 \meta{标题定义} 中测试当前定理是否有编号从而输出不同的内容,定理风格选项 \keyis{numbered}{no} 设置当前定理环境没有编号。
\begin{ctexexam}
@@ -637,25 +606,25 @@
\RegisterTocName{caixiang}
\setlisttheoremstyle{ignoreall,show = caixiang}
\settheoremtocline{caixiang}
- {%
+ {
\listnumberline{caixiang}
- \thmtname\thmtifnote{[\thmtnote]}{}%
+ \thmtname\thmtifnote{[\thmtnote]}{}
}
\end{ctexexam}
\end{cnltxlist}
\subsection[页面尺寸]{页面尺寸\smodule{geo}}
\label{subsec:page margins}
-模块 \module*{geo} 会将选项(除了前两个为附加)交给页面尺寸宏包 \pkg*{geometry} 处理,并且支持它的键值列表,预置的页面尺寸与 \textsf{Word} 的默认值接近。下面列举几种代表性选项,其它选项可查阅宏包帮助文档。当在此设置纸张规格时,会覆盖文类选项 \option{paper} 的设置。
+页面尺寸模块 \module*{geo} 用于设置纸张大小和各种页面边距,它将选项交给页面尺寸宏包 \pkg*{geometry} 处理,并且支持它的键值列表,预置的页面尺寸与 \textsf{Word} 的默认值接近。下面列举几种 \pkg*{geometry} 的代表性选项,前面有\hface 符号的选项为额外附加,其它选项可查阅宏包帮助文档。当用此模块设置纸张规格时,会覆盖全局选项 \option{paper} 的设置。
\begin{cnltxlist}[itemsep = 0ex]
- \keyval{headruleskip}{页眉线间距}\Default*{0pt}
- \keyval{footruleskip}{页脚线间距}\Default*{3.5pt}
- \kvsplit{hdivide}{左边距,版心文本宽度,右边距}\default{}
+ \keyval{headruleskip}{页眉线间距}\dtag\Default*{0pt}
+ \keyval{footruleskip}{页脚线间距}\dtag\Default*{3.5pt}
+ \kvsplit{hdivide}{左边距,版心宽度,右边距}\default{}
\kvsplit{hmargin}{左边距,右边距}\default{}
- \keyval{textheight}{版心文本高度}\default{}
+ \keyval{textheight}{版心高度}\default{}
\keychoice{nofoot}{true,\fbox{false}}\default{}
\begin{ctexexam}
- \ebgeoset
+ \ctexset[geo]
{
headruleskip = 3pt,
vscale = 0.9,
@@ -667,27 +636,27 @@
\subsection[页眉页脚]{页眉页脚\smodule{hdr}}
\label{subsec:header and footer}
-模块 \module*{hdr} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chap-mark} 和 \option{sec-mark},在 \cls*{article} 模式时使用 \option{sec-mark} 和 \option{subsec-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。
+模块 \module*{hdr} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chapter-mark} 和 \option{section-mark},在 \cls*{article} 模式时使用 \option{section-mark} 和 \option{subsection-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。
\begin{cnltxlist}
- \keyval{chap-mark}{标题标记}
- \code{chapter} 级别标题标记的内容,包含了标签选项 \option{chap-label} 和章标题 \code{\#1}。
- \keyval{sec-mark}{标题标记}
- \code{section} 级别标题标记的内容,包含了标签选项 \option{sec-label} 和节标题 \code{\#1}。
- \keyval{subsec-mark}{标题标记}
- \code{subsection} 级别标题标记的内容,包含了标签选项 \option{subsec-label} 和小节标题 \code{\#1}。
- \kvsplit-{chap-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{1em}}
- \code{chapter} 级别标题标记的标签(标题有编号时)。比标题标记选项更常用,可选参数是对应章编号计数器值的输出命令,必选参数是编号与标题之间的距离命令:
+ \keyval{chapter-mark}{标题标记}
+ \code{chapter} 级别标题标记的内容,包含了标签选项 \option{chapter-label} 和章标题 \code{\#1}。
+ \keyval{section-mark}{标题标记}
+ \code{section} 级别标题标记的内容,包含了标签选项 \option{section-label} 和节标题 \code{\#1}。
+ \keyval{subsection-mark}{标题标记}
+ \code{subsection} 级别标题标记的内容,包含了标签选项 \option{subsection-label} 和小节标题 \code{\#1}。
+ \kvsplit-{chapter-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{1em}}
+ \code{chapter} 级别标题标记的标签(标题有编号时)。比标题标记选项更常用,可选参数是对应章编号计数器值的输出命令,必选参数是标题标签与内容之间的距离命令:
\begin{ctexexam}
\ebhdrset
{
- chap-label = [\thechapter]{\hspace{1em}},
- sec-mark = \CTEXifname{\CTEXthesection——}{}#1
+ chapter-label = [\thechapter]{\hspace{1em}},
+ section-mark = \CTEXifname{\CTEXthesection——}{}#1
}
\end{ctexexam}
- \kvsplit-{sec-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
- \code{section} 级别标题标记的标签,用法与 \option{chap-label} 类似。
- \kvsplit-{subsec-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
- \code{subsection} 级别标题标记的标签,用法与 \option{chap-label} 类似。
+ \kvsplit-{section-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
+ \code{section} 级别标题标记的标签,用法与 \option{chapter-label} 类似。
+ \kvsplit-{subsection-label}{\oarg{编号输出命令}\marg{距离命令}}\Default{\cs*{hspace}\Marg{0.5em}}
+ \code{subsection} 级别标题标记的标签,用法与 \option{chapter-label} 类似。
\keyval{headrule}{横线命令}
绘制页眉横线的选项,可以使用 \cs*{hrule} 或\ref{exam:markrule} 所述 \cs{markrule} 等画线命令来绘制横线。
\keyval{footrule}{横线命令}
@@ -715,7 +684,12 @@
\command{markboth}[\marg{左页标题标记}\marg{右页标题标记}]\default{}
\command{markright}[\marg{右页标题标记}]\default{}
\command{markdouble}[\marg{双页标题标记}]
- 这三个命令用于手动设置当前页标题标记,特殊情况下可以使用它们定义与标题不同的页眉页脚标记。上述标记命令内容的选项便是基于这三个命令。其中 \cs{markdouble} 根据是否是双面打印设置相应标记。如果是单面打印,则 \meta{左页标题标记} 无效。
+ 这三个命令用于手动设置当前页标题标记,特殊情况下可以使用它们定义与标题不同的页眉页脚标记。其中 \cs{markdouble} 根据是否是双面打印设置相应标记。如果是单面打印,则 \meta{左页标题标记} 无效。标题标记选项 \meta{级别}\option*{-mark} 定义的是它们的参数,左右页标记规则已经进行了优化调整,若需更改可以重定义 \code{\textbackslash}\meta{级别}\code{\textcolor{cs}{mark}} 命令。
+ \begin{ctexexam}
+ \makeatletter
+ \renewcommand{\sectionmark}[1]{\markright{\eb@mark@section@whole{#1}}}
+ \makeatother
+ \end{ctexexam}
\end{cnltxlist}
\command{markrule}[\oarg{长度}\darg{颜色名}\marg{线宽}\baroarg{上间距,下间距}]
实线命令 \cs{markrule} 既可在 \meta{横线命令} 中用于绘制页眉页脚横线,也可以在正文中使用。\meta{长度} 默认为版心的宽度,上下间距为横线与上下方部件的间距,带有长度单位,上下间距之间用符号 \code{|} 分开,若只有一部分则表示 \meta{上间距}。下面举一个设置页眉内容的例子:
@@ -742,8 +716,8 @@
每个脚注第二段及之后段落的首行缩进,等于长度 \cs{fnafterindent} 的值。
\keyval{fnparskip}{弹性长度}\Default{0ex plus .1ex}
不同脚注自身的段落间距,脚注内容文本分段时生效,等于长度 \cs{fnparskip} 的值。
- \keyval{footnotesep}{刚性长度}\newtag%
- 不同脚注之间的距离,默认情况下它自适应 \module*{spread} 模块脚注行距选项 \option{footnote} 的值。
+ \keyval{footnotesep}{刚性长度}
+ 不同脚注之间的距离,默认情况下它自适应 \module*{space} 模块脚注行距选项 \option{fntspread} 的值。
\keychoice{fntext-pos}{normal,\fbox{super}}
设置脚注内容标记的位置,正常文本或是上标形式。
\keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\optpath*{short num}}
@@ -758,7 +732,7 @@
\end{ctexexam}
\begin{cnltxlist}[itemsep = 0ex]
\command{SetFntSymbsList}[\marg{符号表名}\marg{符号数量}\marg{符号列表}]\default{}
- \command{UseFntSymbsList}[\marg{符号表名}]\newtag[Chg]%
+ \command{UseFntSymbsList}[\marg{符号表名}]
这两个命令用于在脚注短编号标记为 \code{s} 自定义符号型时设置符号列表。\cs{SetFntSymbsList} 命令用于定义名为 \meta{符号表名} 的符号列表,\cs{UseFntSymbsList} 命令用于启用已定义的符号列表。默认的脚注符号列表是空的,注意使用符号型标记的脚注时计数器 \code{footnote} 的值仍然递增,以及定义新列表时 \meta{符号列表} 的写法和命令顺序:
\begin{ctexexam}
\SetFntSymbsList{fancy}{2}{{1}{*}{2}{\P}}
@@ -787,11 +761,11 @@
fnmarktext-format = \circledtext
}
\end{ctexexam}
- \command{defupfntmark}[\marg{脚注正文标记格式}]
+ \command{defupfntmark}[\marg{正文标记格式}]
定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。
- \command{defdownfntmark}[\marg{脚注内容标记格式}]
+ \command{defdownfntmark}[\marg{内容标记格式}]
定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。
- \command{deffntpara}[\marg{脚注段落文本格式}]\newtag%
+ \command{deffntpara}[\marg{段落文本格式}]
定义脚注段落文本的格式的命令。脚注段落文本由脚注内容标记和文本两部分组成,段落格式定义中参数 \code{\#1} 代表内容文本。
\command{notminipage}[\marg{普通页内容}\marg{迷你页内容}]
用于在定义脚注标记的命令中判断当前脚注是否处于迷你页而输出不同的内容。
@@ -832,7 +806,7 @@
\subsection[目录]{目录\smodule{toc}}
\label{subsec:catalog}
-模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有 \ding{73} 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
+模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有\hface 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
\begin{cnltxlist}
\keyval{tocformat}{条目格式}\dtag
目录中各类型条目的格式。可以设置条目字体和加入垂直间距等,垂直间距最好使用防止垂直间距重合的 \cs*{addvspace} 命令。如果是段落型目录,格式代码仅在段落中当前级别条目前执行一次。也可以用 \cs{CTEXifname} 命令或 \option{tocformat*} 选项给有无编号的标题分别设置格式。
@@ -856,7 +830,7 @@
目录条目标签与标题间的代码,默认为插入 \code{1em} 横向距离。
\keyval{tocbelow}{距离命令}\dtag
在目录条目下方执行的代码,可以插入垂直距离等命令。
- \keyval{tocline}{标题定义}\dtag[\textcolor{red}{\ding{73}}]
+ \keyval{tocline}{标题定义}\dtag[\textcolor{red}{\sface}]
这个选项在章节标题基础上扩展了浮动环境的题注标题在目录文件中的定义。章节和题注标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 对应的计数器名称,参数 \code{\#2} 则代表相应标题内容。
\begin{ctexexam}
\ctexset
@@ -874,17 +848,17 @@
}
\end{ctexexam}
\command{RegisterTocName}[\sarg\marg{条目名列表}]\newtagv[Changed]{2024bo}%
- 给 \meta{条目名列表} 中的每个 \meta{条目名} 标题注册用于设置目录样式的选项,即选项前有符号 \ding{73} 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
+ 给 \meta{条目名列表} 中的每个 \meta{条目名} 标题注册用于设置目录样式的选项,即选项前有符号\hface 表示需要注册后使用。前面提到的条目类型均已注册,新类型的条目注册后默认格式与图表条目相同。这个命令可以重复使用,会重置目录条目为默认格式。带有星号参数的命令使注册目录的条目形成一个段落,此时多出下面三个选项可用:
\keyval{tocbegin}{开始代码}\dtag\newtagv{2024as}%
当前级别目录条目第一个标题前的代码,仅在存在更高级别的条目时有效。
\keyval{tocsep}{中间代码}\dtag\Default{\Marg{.—}}\newtagv{2024as}%
当前级别目录条目每个标题之间的代码。
\keyval{tocend}{结束代码}\dtag\Default{\Marg{.}}\newtagv{2024as}%
当前级别目录条目最后一个标题后的代码。
- \command{contentsuse}[\marg{条目名}\marg{扩展名}]
- 激活条目类型名称为 \meta{条目名} 的目录定制功能,它使用的目录文件后缀为 \meta{扩展名}。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
+ \command{contentsuse}[\oarg{目录层次}\marg{条目名}\marg{扩展名}]\newtagv[Changed]{2024ce}%
+ 激活条目类型为 \meta{条目名} 的目录定制功能,目录文件后缀为 \meta{扩展名},若 \meta{扩展名} 为 \code{toc} 则条目会自动激活。可选参数 \meta{目录层次} 为条目在目录中的层次深度,默认值为 \code{-1000},当它大于目录深度计数器 \code{tocdepth} 时不显示。图表等标题的目录条目无深度因此为默认值,章节标题 \module*{part}$\longrightarrow$\module*{subparagraph} 的深度则从 \code{-1} 到 \code{5} 依次递增。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
\command{DeclareFloatList}[\marg{条目名}\marg{扩展名}]
- 声明一种条目类型的目录命令 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}},并且支持\ref{subsec:directory command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,例如搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有红色符号 \textcolor{red}{\ding{73}}(仍包含黑色符号选项的性质)表示在声明后可用。下面举一个声明算法环境和对应题注目录的例子:
+ 声明一种条目类型的目录命令 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}},并且支持\ref{subsec:directory command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,例如搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有实心符号 \textcolor{red}{\sface}(仍包含空心符号\hface 选项的性质)表示在声明后可用。下面举一个声明算法环境和对应题注目录的例子:
\begin{ctexexam}
\usepackage{newfloat}
\DeclareFloatingEnvironment[
@@ -895,23 +869,23 @@
\DeclareFloatList{algorithm}{loa}
\listofalgorithms[multoc] % 在正文中输出双栏算法目录
\end{ctexexam}
- \command{AllotCaptionExt}[\marg{条目名}\marg{扩展名}]
+ \command{AssignCaptionExt}[\marg{条目名}\marg{扩展名}]
给条目类型名称为 \meta{条目名} 的标题分配目录文件 \meta{扩展名},注意 \meta{扩展名} 需要被定义在 \cs*{ext@}\meta{条目名} 命令中才有效(\pkg*{caption} 宏包的默认定义形式)。可以使不同的 \meta{条目名} 共享一个目录:
\begin{ctexexam}
- \AllotCaptionExt{table}{lof}
+ \AssignCaptionExt{table}{lof}
\newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令
\end{ctexexam}
- \command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
- 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录,预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
+ \command{AssignPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
+ 给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。},预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
\begin{ctexexam}
- \AllotPartialExt{loa}{pla}
+ \AssignPartialExt{loa}{pla}
\startlist[fancy]{loa}
\captionof{algorithm}{算法标题}
\stoplist[fancy]{loa}
\printlist[fancy]{loa}{}{}
\end{ctexexam}
\command{SetTocStyle}[\marg{条目名}\marg{风格名}\marg{键值列表}]
- 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs*{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有 \ding{73} 符号的选项,\meta{条目名} 设置为 \module*{toc}。
+ 定义条目类型名称为 \meta{风格名} 的目录风格。使用 \cs{ctexset} 命令设置目录样式时,除了条目标题定义选项 \option{tocline},其它选项只有在目录输出命令前设置才有效,定义完目录风格后用 \cs{UseTocStyle} 命令可以在正文中任意位置生效。如果是没有\hface 符号的选项,\meta{条目名} 设置为 \module*{toc}。
\command{UseTocStyle}[\marg{条目名}\marg{风格名}\marg{扩展名}]
使用对应条目类型名称为 \meta{风格名} 的目录风格,随后标题在目录中的格式会改变。本命令导言区和正文区均可使用,第三个必选参数还需要指定条目标题加入目录文件的 \meta{扩展名}。
\begin{ctexexam}
@@ -933,9 +907,9 @@
悬挂缩进选项 \option{hang} 使目录条目为悬挂缩进形式。缩进距离为条目标签及其与标题内容间距的长度和。通常情况下会统一设置条目标题是否悬挂缩进,因此这个选项被设计为对所有类型条目生效。
\keyval{lolskip}{弹性长度}\Default{10pt}
代码目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
- \keyval{between}{代码钩子}\dtag[\textcolor{red}{\ding{73}}]
- 目录标题与条目内容间的钩子(作用于标题下方间距之后),如果是 \cls*{book} 模式则默认插入 \code{-10pt} 垂直距离抵消首行目录的额外垂直间距,这是由于图表和 由 \pkg*{newfloat} 宏包所创建环境的目录默认每使用一次章标题在题注目录中插入 \code{10pt} 距离。除了条目名的键路径外,此选项也可用于 \module*{toc} 路径中,表示章节标题目录标题代码钩子,如果是 \cls*{book} 模式则默认插入 \code{-1pc} 垂直距离。
- \keyval{bibetween}{代码钩子}
+ \keyval{between}{格式代码}\dtag[\textcolor{red}{\sface}]
+ 目录标题与条目内容间的局部钩子(作用于标题下方间距之后),如果是 \cls*{book} 模式则默认插入 \code{-10pt} 垂直距离抵消首行目录的额外垂直间距,这是由于图表和 由 \pkg*{newfloat} 宏包所创建环境的目录默认每使用一次章标题在题注目录中插入 \code{10pt} 距离。除了条目名的键路径外,此选项也可用于 \module*{toc} 路径中,表示章节标题目录标题代码钩子,如果是 \cls*{book} 模式则默认插入 \code{-1pc} 垂直距离。
+ \keyval{bibetween}{格式代码}
与选项 \option{between} 类似,是英文章节标题目录(如果启用)标题代码钩子。
\keychoice{dotalign}{\fbox{true},false}
将目录页码装进一个右对齐的水平盒子里。这样可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
@@ -969,14 +943,14 @@
\subsection{目录命令}
\label{subsec:directory command}
-\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
- \keychoice{plan}{\fbox{cn},bi,both}\newtag[Exp]%
+ \keychoice{plan}{\fbox{cn},bi,both}
章节标题目录的输出方案。\code{cn} 只输出中文目录,\code{bi} 只输出英文目录。\code{both} 同时连续输出中文和英文目录,需要与双语目录标题命令 \cs{bichapter} 等或双语标题选项 \option{title} 配合使用。
\keyval{bicontentsname}{英文目录标题}\Default{Contents}
- 英文目录的标题,为通用接口命令 \cs*{ctexset} 的选项。
+ 英文目录的标题,为通用接口命令 \cs{ctexset} 的选项。
\command{listoffigures}[\sarg\oarg{键值列表}]
输出图片目录命令。带有星号参数的命令不输出目录标题。
\command{listoftables}[\sarg\oarg{键值列表}]
@@ -985,7 +959,7 @@
输出代码目录命令。带有星号参数的命令不输出目录标题。
如果需要部分而不是全文的目录或其它类型的目录,可以查看 \pkg*{titletoc} 宏包的相关示例。如果需要双语图表目录,可以查看 \pkg*{bicaption} 宏包的相关示例。上面目录命令的可选参数改进了原本单一的功能,也提供了配置命令 \cs{SetTocOuter} 在目录命令外设置选项默认值。
- \command{SetTocOuter}[\marg{键值列表}]\newtag%
+ \command{SetTocOuter}[\marg{键值列表}]
统一设置上述所有目录可选参数的默认值\footnote{由于目录命令通常只在文中使用一次,因此不设计为可以分别指定不同目录的参数。},其中 \meta{键值列表} 的选项如下:
\keyval{level}{标题命令}
设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
@@ -1004,8 +978,8 @@
\kvsplit{title}{中文目录标题,英文目录标题}
用于更改目录的双语标题。标题之间用一个英文逗号分开,对主目录来说前部分为中文目录标题,后部分为英文目录标题,对图表和代码目录来说后部分则是加入英文目录的条目。也可以只有一部分,表示中文目录的标题。
\keychoice{bilist}{mix,\fbox{new}}
- 确定章节标题目录中双语标题条目的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则在新建的英文目录中输出英文标题。这是个全局选项,在所有目录的可选参数中使用均可生效,但推荐在章节标题目录中使用。
- \command{ebifbitoc}[\marg{英文目录代码}\marg{中文目录代码}]\newtag%
+ 确定章节标题目录中双语标题条目的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则在新建的英文目录中输出英文标题,此新目录的扩展名为 \code{tec}。这是个全局选项,在所有目录的可选参数中使用均可生效,但推荐在章节标题目录中使用。
+ \command{ebifbitoc}[\marg{英文目录代码}\marg{中文目录代码}]
启用混合双语目录条目即 \keyis{bilist}{mix} 时,在设置目录样式时可以配合 \cs{ebifbitoc} 命令判断当前条目是否为英文,从而输出不同的代码。
\begin{ctexexam}
\SetTocStyle{section}{fancy}
@@ -1016,16 +990,24 @@
\UseTocStyle{section}{fancy}{toc}
\tableofcontents[bilist = mix]
\end{ctexexam}
+
+ 除了上述选项还支持 \CTeX 键值列表所有路径的章节标题样式选项,下面仅列举几个选项例子。需要注意的是标题样式选项根据 \option{level} 选项中的\textbf{最后}一个标题命令判断键路径,所以这个标题命令名必须存在于 \CTeX 键值列表路径中,或带有 \code{\textcolor{cs}{bi}} 前缀表示双语标题。
\keyval{format}{目录标题格式}
- 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
+ 设置目录标题的格式。
+ \begin{ctexexam}
+ \tableofcontents[
+ level = \clearpage\bisection*,
+ format = \centering\sffamily\Large
+ ]
+ \end{ctexexam}
\keyval{aftername}{标签后代码}
- 目录标题的标签与内容之间插入的代码,生效情形同上。
+ 目录标题的标签与内容之间插入的代码。
\keyval{aftertitle}{标题后代码}
- 目录标题内容之后插入的代码,生效情形同上。
+ 目录标题内容之后插入的代码。
\keyval{break}{格式命令}
- 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点,生效情形同上。
+ 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。
\keyval{pagestyle}{页面风格}\Default{empty}
- 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
+ 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。
\end{cnltxlist}
\subsection{双语章节标题和新建标题}
@@ -1048,9 +1030,9 @@
\BeforeAddtoBitoc{\ctexset{chapter/nmuber = \arabic{chapter}}}
\end{ctexexam}
\command{appendix}[\splitoarg{前名字,后名字}\darg{编号输出命令}]
- 附录起始命令,其后的章节标题变为附录形式。\meta{前名字} 为英文目录中附录标题的前名字,同理 \meta{后名字} 为英文目录中附录标题的后名字。前后名字之间用一个半角逗号分开,也可以只有一部分,表示英文目录中附录标题前名字。\meta{编号输出命令} 为附录标题计数器在英文目录中的编号命令。注意这两个参数仅对 \code{bichapter} 级别的标题生效。
- \command{BeforeAddtoBitoc}[\sarg\marg{英文标题加入目录前的代码}]
- 作用于局部范围的英文目录标题条目钩子,代码在标题加入目录前执行,可以插入条目标题定义命令临时改变英文目录中条目的格式,带有星号参数的命令会重置之前的代码。这个命令设置英文目录条目的标题格式具有最高优先级,放置在导言区或 \cs{bichapter} 等双语标题命令前生效。举一个在英文目录节标题条目编号前添加 \code{Section} 字符串的例子:
+ 附录起始命令,其后的章节标题变为附录形式。\meta{前名字} 为英文目录中附录标题的前名字,同理 \meta{后名字} 为英文目录中附录标题的后名字。前后名字之间用一个半角逗号分开,也可以只有一部分,表示英文目录中附录标题前名字。\meta{编号输出命令} 为附录标题计数器在英文目录中的编号命令。注意这两个参数仅对 \code{chapter} 级别的标题生效。
+ \command{BeforeAddtoBitoc}[\sarg\marg{格式代码}]
+ 英文目录中标题条目的格式钩子,\meta{格式代码} 在英文标题加入目录前执行,作用范围为局部。可以插入条目标题定义等命令临时改变英文目录中条目的格式,带有星号参数的命令会重置之前的代码。这个命令设置英文目录条目的标题格式具有最高优先级,放置在导言区或 \cs{bichapter} 等双语标题命令前生效。举一个在英文目录节标题条目编号前添加 \code{Section} 字符串的例子:
\begin{ctexexam}
\BeforeAddtoBitoc{\ctexset{section/name = Section\space}}
\bisection{中文标题}{English title}
@@ -1062,7 +1044,7 @@
\begin{ctexexam}
\NewTitleCommand[chapter]{lchapter}{0}
\NewTitleEntryCommand{lchapter}
- \contentsuse{lchapter}{toc}
+ \contentsuse[0]{lchapter}{toc}
\RegisterTocName{lchapter}
\ctexset
{
@@ -1072,17 +1054,23 @@
\lchapter{正常标题}
\lchapterentry{加入目录的标题}
\end{ctexexam}
+ \command{CopyTitleFormat}[\marg{条目名1}\marg{条目名2}]\newtagv{2024cq}%
+ 将名为 \meta{条目名2} 的章节标题命令除了编号/名字外的格式复制给名为 \meta{条目名1} 的标题命令。
+ \begin{ctexexam}
+ \ctexset{section/format = \sffamily\color{blue}}
+ \CopyTitleFormat{subsection}{section}
+ \end{ctexexam}
\end{cnltxlist}
-\subsection[上标和下标]{上标和下标\smodule{tools}}
-上标和下标的功能来自 \pkg*{spbmark} 宏包,下面有三个命令可以用于输出上标和下标。可以使用键值列表的形式对上下标格式进行局部或全局设置,下面命令中两个可选参数的键值列表是等效的。全局设置的详情见\ref{subsubsec:super-sub-script},更多命令和详细用法见 \pkg*{spbmark} 宏包说明文档。
+\subsection[上标和下标]{上标和下标}
+上标和下标的功能来自 \pkg*{spbmark} 宏包,可以使用键值列表的形式对上下标格式进行局部设置或用 \cs{spbset} 命令全局设置。所有选项也支持用 \module{tools} 模块设置,更多选项可见宏包文档。
\begin{cnltxlist}
\command{super}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出上标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\^{}} 符号和 \cs*{sp} 命令。
+ 输出上标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\^{}} 符号和 \cs*{sp} 命令。命令中两个可选参数的键值列表等效。
\command{sub}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出下标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\_{}} 符号和 \cs*{sb} 命令。
+ 输出下标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\_{}} 符号和 \cs*{sb} 命令。命令中两个可选参数的键值列表等效。
\command{supersub}[\sarg\oarg{键值列表1}\marg{上标内容}\marg{下标内容}\oarg{键值列表2}]
- 同时输出上标和下标的命令,与简短命令 \cs{spb} 等效。
+ 同时输出上标和下标的命令,与简短命令 \cs{spb} 等效。命令中两个可选参数的键值列表等效。
\command{spbifmath}[\marg{数学模式代码}\marg{文本模式代码}]
根据上下标处于数学还是文本模式分别设置不同的值,应当在格式命令或偏移距离选项中使用。
@@ -1092,7 +1080,11 @@
\keyval{hmove}{刚性长度}\Default{0pt}
上标或下标的水平偏移。如果是上下标命令使用则代表上标和上标的共同偏移。
\keyval{cmd}{格式命令}
- 上标或下标的格式命令选项。最后一个命令可以带有一个参数,这个参数用于接受上标或下标。
+ 上标或下标的格式命令选项。最后一个命令可以带有一个参数,这个参数用于接受上标或下标。下面两种设置方式是等效的:
+ \begin{ctexexam}
+ \spbset{spcmd = \color{red}}
+ \ctexset[tools]{spcmd = \color{red}}
+ \end{ctexexam}
\keyval{height}{刚性长度}
段落中当前行上标或下标的基线与前一行的间距。
\keyval{depth}{刚性长度}
@@ -1169,7 +1161,7 @@
\begin{cnltxlist}
\command{hangpara}[\marg{缩进长度}\marg{缩进开始行数}]
悬挂缩进命令 \cs{hangpara} 使其后的一个段落保持悬挂缩进。参数与 \env{hangparas} 环境相同,不过只有一个段落。\meta{缩进长度} 可以是带单位的数值或由文本长度测定命令 \cs{widthof} 提供。
- \command{hangfrom}[\sarg\oarg{缩进长度}\marg{悬挂内容}\oarg{缩进开始行数}]\newtag%
+ \command{hangfrom}[\sarg\oarg{缩进长度}\marg{悬挂内容}\oarg{缩进开始行数}]
指定首行的 \meta{悬挂内容},其后一个段落保持悬挂缩进。\meta{缩进长度} 默认为 \meta{悬挂内容} 文本长度 \cs{hangwd} 的值,支持数学表达式。\meta{缩进开始行数} 默认为 \code{1}。如果是带有星号参数的命令,则首行不输出 \meta{悬挂内容},以等于 \meta{缩进长度} 长度的空白代替。
\begin{ctexexam}
\hangfrom[\hangwd + 1em]{悬挂标签\hspace{0.5em}}[1]
@@ -1182,7 +1174,7 @@
\subsection{代码}
\begin{cnltxlist}
\command{lstdefinestyle}[\marg{代码风格}\marg{键值列表}]
- 代码抄录宏包 \pkg*{listings} 的代码风格定义命令,提供大量选项对代码样式进行高度定制。可以根据需要的代码语言和样式定义多种风格,默认使用的 \meta{代码风格} 为 \code{lst-latex}。
+ 代码抄录宏包 \pkg*{listings} 提供了完善的排版功能,不需要前端处理器。这是它的代码风格定义命令,提供大量选项对代码样式进行高度定制。可以根据需要的代码语言定义多种风格,默认使用的 \meta{代码风格} 为适用于\TeX 语言的 \code{lst-latex}。
\command{lstinline}[\oarg{键值列表}\marg{行内代码}]
行内代码抄录命令。较原生的 \cs*{verb} 命令有较大改进,具有代码语言和样式支持。
\environment{lstlisting}[\oarg{键值列表}]
@@ -1209,7 +1201,7 @@
\subsection{盒子}
\label{subsec:box}
-文档类预置了两个行间盒子环境和两个行内盒子命令,需要在导言区\textbf{手动载入} \pkg*{tcolorbox} 宏包提供支持。它们 \meta{配置选项} 的键值列表可见宏包文档的Option Keys一节,可以进行边距、字体及背景颜色等各种个性化设置。如果 \meta{配置选项} 较长且希望在原有基础上改为全局固定的样式,可以使用 \cs{addtotcbstyle} 命令设置,第一个参数为 \code{tc-}\meta{环境或命令名}。
+文档类预置了两个行间盒子环境和两个行内盒子命令,需要在导言区\textbf{手动载入} \pkg*{tcolorbox} 宏包提供支持。它们 \meta{配置选项} 的键值列表可见宏包文档的Option Keys一节,可以进行边距、字体及背景颜色等各种个性化设置。如果 \meta{配置选项} 较长且希望在原有基础上改为全局固定的样式,可以使用 \cs{addtotcbstyle} 命令设置,第一个参数为 \code{tc-}\meta{环境/命令名}。
\begin{cnltxlist}
\command{deftcbstyle}[\marg{盒子风格}\marg{键值列表}]
新建或重置一个名称为 \meta{盒子风格} 的 \pkg*{tcolorbox} 宏包盒子风格,可以与 \cs{addtotcbstyle} 命令联用。
@@ -1287,7 +1279,7 @@
\command{setcounter}[\marg{计数器}\marg{整数}]\default{}
\command{stepcounter}[\marg{计数器}]
常用的计数器设置命令。命令 \cs{newcounter} 创建一个初始值为0的新计数器。命令 \cs{setcounter} 将计数器的值设定为指定值。命令 \cs{stepcounter} 使计数器的值递增1。
- \command{counterwithin}[\sarg\oarg{格式}\marg{计数器}\oarg{连字符}\marg{父计数器}]\newtag[Chg]%
+ \command{counterwithin}[\sarg\oarg{格式}\marg{计数器}\oarg{连字符}\marg{父计数器}]
对计数器进行绑定的命令。将 \meta{计数器} 绑定于 \meta{父计数器},即 \meta{父计数器} 的值递增时 \meta{计数器} 的值会归零。输出格式 \cs*{the}\meta{计数器} 被定义为 \cs*{the}\meta{父计数器}\meta{连字符}\meta{格式}\marg{计数器}。\meta{格式} 一般为更改计数器编号形式的命令,默认为 \cs*{arabic}。带有星号参数的命令仅进行绑定不更改输出格式。
\command{counterwithout}[\sarg\oarg{格式}\marg{计数器}\marg{父计数器}]
对计数器关系进行解绑的命令。将 \meta{计数器} 解绑于 \meta{父计数器},同时输出格式被改为 \meta{格式}\marg{计数器}。带有星号参数的命令仅进行解绑不更改输出格式。
@@ -1301,8 +1293,8 @@
\begin{cnltxlist}
\command{labelformat}[\marg{计数器}\marg{标签引用格式}]
标签格式命令 \cs{labelformat} 可以设置标签引用格式。\meta{标签引用格式} 中 \code{\#1} 代表 \cs*{the}\meta{计数器},可以设置引用序号的前缀和后缀。也可以使用 \pkg*{cleveref} 宏包提供更强大的标签功能。
- \command{AtEndPreamble}[\marg{钩子代码}]
- 导言区末尾的钩子命令。为了保证兼容性 \pkg*{hyperref} 宏包被设计在导言区末尾载入,一些情况下需要钩子命令在 \pkg*{hyperref} 宏包后方执行 \meta{钩子代码},例如载入 \pkg*{cleveref} 宏包。
+ \command{AtEndPreamble}[\marg{格式代码}]
+ 导言区末尾的钩子命令。为了保证兼容性 \pkg*{hyperref} 宏包被设计在导言区末尾载入,一些情况下需要钩子命令在 \pkg*{hyperref} 宏包后方执行 \meta{格式代码},例如载入 \pkg*{cleveref} 宏包。
\begin{ctexexam}
\labelformat{chapter}{第#1章}
\labelformat{chapter}{第\thechapter 章}
@@ -1439,9 +1431,9 @@
\item 新增脚注段落文本格式定义命令 \cs{deffntpara} 和脚注间距离选项 \option{footnotesep}。
\item 新增悬挂缩进命令 \cs{hangfrom}。
\item 新增行间公式与正文上下间距选项 \option{abovedisplayskip} 和 \option{belowdisplayskip}。
- \item 新增目录文件扩展名分配命令 \cs{AllotCaptionExt}。
+ \item 新增目录文件扩展名分配命令 \cs{AssignCaptionExt}。
\end{version}
- \shortversion{v = 2024aq,date = 2022/03/31,changes = 修复命令 \cs{ebifbitoc} 用于条目缩进选项 \option{tocindent} 失效的问题。}
+ \shortversion{v = 2024aq,date = 2024/03/31,changes = 修复命令 \cs{ebifbitoc} 用于条目缩进选项 \option{tocindent} 失效的问题。}
\begin{version}[v = 2024as,date = 2024/04/19]
\changed
\item 目录条目样式注册命令 \cs{RegisterTocName} 增加星号参数,支持设置段落型目录。
@@ -1449,16 +1441,28 @@
\item 新增目录条目标题标签定义的选项 \option{toclabel}。
\item 新增段落型目录条目附加代码的选项 \option{tocbegin}、\option{tocsep} 和 \option{tocend}。
\end{version}
- \shortversion{v = 2024aw,date = 2022/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
- \shortversion{v = 2024bb,date = 2022/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
- \shortversion{v = 2024bk,date = 2022/05/07,changes = 新增局部题注目录分配命令 \cs{AllotPartialExt}。}
- \begin{version}[v = 2024bn,date = 2022/05/10]
+ \shortversion{v = 2024aw,date = 2024/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
+ \shortversion{v = 2024bb,date = 2024/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
+ \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分配命令 \cs{AssignPartialExt}。}
+ \begin{version}[v = 2024bn,date = 2024/05/10]
\fixed
\item 修复 \module*{toc} 模块中带有 \option*{every} 后缀的选项不对所有已注册条目有效的问题。
\added
\item 新增统一设置所有目录格式时的条目类型排除命令 \cs{ExcludeEveryTocName}。
\end{version}
+ \shortversion{v = 2024cd,date = 2024/06/14,changes = 修复全局选项 \option{class} 无法正确切换单双面排版的问题。}
+ \begin{version}[v = 2024cf,date = 2024/06/16]
+ \fixed
+ \item 修复和改进新建章节/图表标题时目录层次深度的问题。
+ \changed
+ \item \module*{tools} 模块的图片路径选项 \option{figurepath} 可在正文中使用。
+ \end{version}
+ \shortversion{v = 2024ci,date = 2024/06/22,changes = 修复使用 \code{flush} 类型脚注报错。}
+ \shortversion{v = 2024co,date = 2024/07/06,changes = 目录命令的可选参数支持 \CTeX 键值列表所有路径的章节标题样式选项。}
+ \shortversion{v = 2024cq,date = 2024/07/12,changes = 新增章节标题格式复制命令 \cs{CopyTitleFormat}。}
+ \shortversion{v = 2024cu,date = 2024/07/20,changes = 修复无编号的定理环境标签命令 \cs*{p@}\meta{定理名} 缺失导致报错的问题。}
\end{changelog}
\nocite{*}
+% \AddToHook{cmd/printindex/before}{\clearpage}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/elpres/README.md b/macros/latex/contrib/elpres/README.md
index bc1fe64089..8b303e2263 100644
--- a/macros/latex/contrib/elpres/README.md
+++ b/macros/latex/contrib/elpres/README.md
@@ -1,4 +1,4 @@
-Elpres v1.0.1 2021-08-10
+Elpres v1.1 2024-05-29
# Short description
@@ -18,13 +18,10 @@ For enhanced features the packages `ragged2e`, `overlays`, `wallpaper`,
A homepage for the elpres project: http://vkiefel.de/elpres.html with
additional material.
-# Changes in v1.0.1
-
-* A new class option `ballsymb` was added,
-* The manual was updated,
-* Detailed installation instructions for manual installation were
- updated in this file (`README.md`).
+# Changes in v1.1
+* Minor corrections and fixes in `elpres.cls`,
+* The manual was updated.
# Installation
diff --git a/macros/latex/contrib/elpres/doc/elpres-example.pdf b/macros/latex/contrib/elpres/doc/elpres-example.pdf
index c3c4b30787..435b0a5e6b 100644
--- a/macros/latex/contrib/elpres/doc/elpres-example.pdf
+++ b/macros/latex/contrib/elpres/doc/elpres-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/elpres/doc/elpres-example.tex b/macros/latex/contrib/elpres/doc/elpres-example.tex
index 9bd56104a4..f2f0c3474c 100644
--- a/macros/latex/contrib/elpres/doc/elpres-example.tex
+++ b/macros/latex/contrib/elpres/doc/elpres-example.tex
@@ -1,30 +1,37 @@
-\documentclass[12pt,pdftex,sansfont,4x3]{elpres}
-\usepackage[latin1]{inputenc}
-\usepackage[perpage,para,symbol,norule]{footmisc}
-\usepackage[document]{ragged2e}
-
-\RaggedRight
-
+\documentclass[11pt,pdftex,4x3]{elpres}
+\usepackage[utf8]{inputenc}
+\usepackage[perpage,hang]{footmisc}
+\setlength{\footnotemargin}{0.55em}
+\usepackage[document,originalparameters]{ragged2e}
+\usepackage{eso-pic}
+
+\newcommand{\altfnarea}[1]{%
+\AddToShipoutPictureFG*{
+\setlength{\unitlength}{1mm}
+ \put(1.2,1.2){\parbox[b]{0.9\paperwidth}%
+ {\scriptsize \textcolor{darkgray}{#1}}}}}
+
+% % Please uncomment the desired presentation scheme
\usepackage{elpreswhitebluescheme}
% \usepackage{elpresgrayscheme}
% \usepackage{elpreswhiteredscheme}
% \usepackage{elpresbluelightgrayscheme}
% \usepackage{elpreswhitetealscheme}
-
\begin{document}
\begin{titlepage}
\centering
- \distance{1}
+ \distance{1.35}
{
\Huge \bfseries \textcolor{eptitlecolor}{Title of presentation} \par
}
- \vspace{1.3ex} \large
- Author\\[2ex]Date and place of presentation
+ \vspace{1.3ex} \Large
+ Author\\[2ex]
+ {\normalsize \textcolor{ephighlightcolor}{Date and place of presentation}}
\distance{2}
\end{titlepage}
-\begin{psli}[Title of first page]
+\begin{psli}[Title of first slide]
This is an example of a \LaTeX\ \texttt{itemize} list
\begin{itemize}
@@ -32,14 +39,14 @@ This is an example of a \LaTeX\ \texttt{itemize} list
\item second line in an itemized list
\item third line in an itemized list
\end{itemize}
-
\end{psli}
-\begin{psli}[Title of second page\footnote{footnotes are often
- not a good idea for a presentation}]
-% \raggedright
-The second page with nested, ``vertically compressed'' lists using the
-\texttt{citemize} and \texttt{cenumerate} environments.
+\begin{psli}[Title of second slide\footnote{footnotes often are
+ not a good idea for a presentation, better avoid them!}]
+
+This page shows nested, ``vertically compressed'' lists using the
+\texttt{citemize} and \texttt{cenumerate} environments of
+ \texttt{elpres}:
\begin{citemize}
\item first line in an itemized list
@@ -48,38 +55,109 @@ The second page with nested, ``vertically compressed'' lists using the
\item first line of numbered list
\item second line of numbered list
\end{cenumerate}
- \item final line in itemized list\footnote{\dots\ it is therefore
- useful to write comments into a single footnote paragraph in order
- to save space}
+ \item final line in itemized list
\end{citemize}
-{\small For footnotes, the \texttt{footmisc} package, providing the
- options \texttt{perpage} and \texttt{symbol}, is recommended. \par}
+{\small For footnotes using \LaTeX's \verb+\footnote{}+ command,
+ the \texttt{footmisc} package, providing the
+ option \texttt{perpage}\footnote{this forces \LaTeX\ to start
+ footnote numbers with ``1'' on each slide}
+ is recommended.%
+ \footnote{another option is \texttt{symbol*} which allows
+ to mark footnotes with symbols instead of numbers} \par }
\end{psli}
-\begin{psli}[Title of third page]
+\begin{psli}[Title of third slide\textsuperscript{*}]
+ \begin{itemize} \item This page shows the use of footnotes
+ with the \verb+\altfnarea{}+ command
+ \item Definition and use of \verb+\altfnarea{}+\textsuperscript{\dag}
+ are described in the \texttt{elpres} manual
+
+ \altfnarea{\textsuperscript{*}This footnote comments the title;
+ \textsuperscript{\dag}\texttt{altfnarea}: \textbf{alt}ernative
+ \textbf{f}oot\textbf{n}otes \textbf{area}}
+ \end{itemize}
+\end{psli}
- \begin{cdescription}
-\item[environment name:] \texttt{cdescription}, comparable to
- \LaTeX s \texttt{des\-cription} environment
- \item[used for:] vertically compressed lists with small ``titles''
+\begin{psli}[Title of fourth slide]
+\begin{cdescription}
+ \item[environment name:] \texttt{cdescription}, comparable to
+ \LaTeX's \texttt{des\-cription} environment
+ \item[used for:] vertically compressed lists with small ``titles''
+ of items
\end{cdescription}
+\end{psli}
+
+\begin{psli}[Title of fifth slide]
+
+If justified text and hyphenation is to be suppressed, the
+\texttt{ragged2e} package may be used with the \texttt{document}
+and \texttt{originalparameters} options.
+
+\vspace{1ex}
+
+\fbox{\parbox{0.95\textwidth}{
+\footnotesize In order to avoid an option clash, \texttt{ragged2e}
+ should follow \texttt{footmisc} in the preamble, if both packages are
+ used. \par }}
\end{psli}
-\begin{psli}[A page with two columns]
-
- \begin{minipage}[b]{0.58\textwidth}
+\begin{psli}[A slide with two columns\textsuperscript{*}]
+ \begin{minipage}[b][0.6\textheight][t]{0.5\textwidth}
\includegraphics[width=1.0\textwidth]{ctan-lion}
\end{minipage}
- \hspace{0.4em}
- \begin{minipage}[b]{0.39\paperwidth} \small
+ \hspace{0.1em}
+ \begin{minipage}[b][0.6\textheight][t]{0.38\textwidth}
+ \footnotesize
The ``CTAN \TeX-lion'' drawn by Duane Bibby,
thanks to \texttt{ctan.org}
-
\end{minipage}
+ \altfnarea{\textsuperscript{*}using \texttt{minipage}}
\end{psli}
+\begin{psli}[Code of ``A slide with two columns'']
+\footnotesize
+\begin{verbatim}
+
+\begin{psli}[A slide with two columns\textsuperscript{*}]
+ \begin{minipage}[b][0.6\textheight][t]{0.5\textwidth}
+ \includegraphics[width=1.0\textwidth]{ctan-lion}
+ \end{minipage}
+ \hspace{0.1em}
+ \begin{minipage}[b][0.6\textheight][t]{0.38\textwidth}
+ \footnotesize
+ The ``CTAN \TeX-lion'' drawn by Duane Bibby,
+ thanks to \texttt{ctan.org}
+ \end{minipage}
+ \altfnarea{\textsuperscript{*}using \texttt{minipage}}
+\end{psli}
+\end{verbatim}
+\end{psli}
+
+\begin{psli}[A slide with a logo using the \texttt{eso-pic} package]
+\AddToShipoutPictureBG{
+\setlength{\unitlength}{1mm}
+ \put(108,79){\includegraphics[height=16mm]{ctan-lion}}
+}
+
+The code for placing the logo {\scriptsize (details are explained
+in the \texttt{elpres} manual)}:
+
+{ \footnotesize
+\begin{verbatim}
+ \AddToShipoutPictureBG{
+ \setlength{\unitlength}{1mm}
+ \put(108,79){\includegraphics[height=16mm]{ctan-lion}}
+ }
+\end{verbatim}}
+
+This makes the logo visible on the current and on all following pages.
+The starred version: {\footnotesize \verb+\AddToShipoutPictureBG*{}+
+} shows the picture on the current slide only.
+\end{psli}
+
+
\begin{rsli}
A final page written with the \textcolor{ephighlightcolor}{\texttt{rsli}}
environment
diff --git a/macros/latex/contrib/elpres/doc/elpres-manual.pdf b/macros/latex/contrib/elpres/doc/elpres-manual.pdf
index 9bc920796c..08d4756c2f 100644
--- a/macros/latex/contrib/elpres/doc/elpres-manual.pdf
+++ b/macros/latex/contrib/elpres/doc/elpres-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/elpres/doc/elpres-manual.tex b/macros/latex/contrib/elpres/doc/elpres-manual.tex
index ab5fe4d396..932bb625eb 100644
--- a/macros/latex/contrib/elpres/doc/elpres-manual.tex
+++ b/macros/latex/contrib/elpres/doc/elpres-manual.tex
@@ -1,25 +1,37 @@
-% -*- coding:utf-8 -*-
\documentclass[11pt,a4paper]{article}
% to be compiled with lualatex
+%% begin comment out for tth
+\usepackage{polyglossia}
+\setdefaultlanguage{english}
+%% end comment out for tth
+
\usepackage{parskip}
\usepackage[a4paper,hmargin=2.4cm,bottom=3.2cm]{geometry}
\usepackage{makeidx}
\usepackage{url}
-\usepackage{framed}
\usepackage{graphicx}
\usepackage[x11names,svgnames]{xcolor}
\usepackage{enumitem}
+%% \usepackage[para,ragged]{footmisc}
\usepackage{microtype}
+% it may be necessary to comment out `microtype' with polyglossia loaded
-\usepackage{luaotfload}
-\usepackage{fontspec}
+% \usepackage{luaotfload}
+% \usepackage{fontspec}
+% \usepackage[default]{fontsetup}
+\usepackage[olddefault]{fontsetup}
+% \usepackage[times]{fontsetup}
\makeindex
-%% for tth (generate .html): comment out "noitemsep" temporarily !!
+%% * for a run of tth (generate .html):
+%% - comment out "noitemsep" temporarily !!
+%% - comment out \usepackage{polyglossia} and \setdefaultlanguage{english}
+%%
+
% Commands for indication changes in updated versions:
% changed, inserted
@@ -39,8 +51,8 @@
\title{\textsf{elpres} --- electronic presentations \\ with (pdf/Lua)\LaTeX}
\author{Volker Kiefel\thanks{volker dot kiefel at freenet dot de,
\url{http://vkiefel.de/elpres.html}}}
-\date{v1.0.1\\[1.8ex]
- August 10, 2021%
+\date{v1.1 \\[1.8ex]
+ May 29, 2024%
% --- \textcolor{DarkGreen}{update of this manual:
% September 27, 2020}
}
@@ -77,14 +89,14 @@ The \texttt{elpres} class is intended to be used for
presentations on a computer screen, a
beamer or a projector. It is derived from \LaTeX's \texttt{article} class and
may be used with \LaTeX{}, pdf\LaTeX{} (and Lua\LaTeX ).
-The default ``virtual paper size'' of document pages produced by this class:
-width=128mm, height=96mm corresponds to a 4:3 (width:height) aspect
+The default ``virtual paper size'' of slides produced by this class:
+width=128mm, height=96mm which corresponds to a 4:3 (width:height) aspect
ratio.
\index{aspect ratio|see{screen aspect ratio}}%
\index{screen aspect ratio}%
Other aspect ratios for widescreen monitors may be selected by class
options.
-The \textsf{elpres} class requires that the \texttt{ifthen},
+The \texttt{elpres} class requires that the \texttt{ifthen},
\texttt{fancyhdr},
\texttt{hyperref},
\texttt{graphicx},
@@ -105,9 +117,7 @@ This manual is intended to support the user with ``recipes''. Use of
including overlay functions, use of colors, graphics files, ``handout
documents'' are described in section \ref{secEnhancements}. Many code snippets
have been included in this manual.
-They can be used in users' presentation files.\footnote{To make copying easier,
-this manual is also available as \texttt{.html} document on the
-\texttt{elpres} website (\url{http://www.vkiefel.de/elpres.html})}
+They can be used in users' presentation files.
Some extensions described in this manual work only with \texttt{pdf}-files
which should preferrably be compiled with pdf\LaTeX\ or Lua\LaTeX.
@@ -150,7 +160,7 @@ installation) the command:
or you may enter \verb+texhash ~/texmf-local+\footnote{The location
for the ``local'', manually updated class and package files may be different,
depending on the \TeX\ system and the OS.}.
-Other \TeX-systems e.\,g.\ MiK\TeX\ have
+Other \TeX-distributions e.\,g.\ MiK\TeX\ have
their own package updating mechanisms. The elpres manual file should be
accessible with the command ``\mbox{\texttt{texdoc elpres}}''. If this
still calls the old version of the manual, the command ``\texttt{texdoc -l elpres}''
@@ -158,60 +168,89 @@ will prompt you to select either the old or the new version of the manual.
\index{installation|)}
\section{Usage}
-
\label{secUsage}
+\subsection{Class options, commands and environments}
+\label{sec:EpOptCmdEnv}
+
The class is used with
\begin{verbatim}
\documentclass[options]{elpres}
\end{verbatim}
+Slides are written with the \texttt{psli} and \texttt{rsli} environments.
+This section lists all \texttt{elpres}-specific options, commands and
+environments.
+
+\subsubsection*{\texttt{Elpres}-specific options}
+
\index{elpres@\texttt{elpres}!options}
-\textbf{\texttt{Elpres}-specific options}: font selection:
- \texttt{tmrfont} (Times Roman), \texttt{helvetfont}
-(Helvetica), \texttt{cmfont} (Computer Modern) and \texttt{sansfont} (Sans
-Serif: default). The option \texttt{nofonts} (no font selection)
+For font selection (\LaTeX, pdf\LaTeX):
+ ``\texttt{tmrfont}'' (Times Roman), ``\texttt{helvetfont}''
+(Helvetica), ``\texttt{cmfont}'' (Computer Modern) and ``\texttt{sansfont}''
+(Sans Serif: default) may be used. The option ``\texttt{nofonts}''
+(no font selection)
is intended for use of \texttt{elpres} with Lua\LaTeX\
\index{Lualatex@Lua\LaTeX}
-with its own font selection mechanisms.
-Options for different screen aspect ratios: \texttt{4x3}
-(default), \texttt{16x9}, \texttt{16x10}.
+with its own font selection mechanisms, an example is described in
+section \ref{sec:MiniExample}.
+
+\index{slide dimensions}
+Options for different screen aspect ratios are
+``\texttt{4x3}'' (default),\footnote{slide size \texttt{128\,x\,92\,mm}}
+``\texttt{16x9}'',\footnote{slide size \texttt{176\,x\,99\,mm}}
+``\texttt{16x10}''.\footnote{slide size \texttt{160\,x\,100\,mm}}
\index{bulletsymb class option@\texttt{bulletsymb} class option}
-The option \texttt{bulletsymb} selects \verb+$\bullet$+ symbols
-instead of the default \texttt{itemize}-environment
+The option ``\texttt{bulletsymb}'' selects \verb+$\bullet$+ symbols (closed
+circles)
+instead of the default \texttt{itemize}-environ\-ment
symbols in all four levels,
-\texttt{ballsymb} is effective together with the presentation
+``\texttt{ballsymb}'' is effective together with the presentation
schemes (section \ref{sec:pres-scheme})
-and provides alternative symbols for the \texttt{itemize} environment.
+and inserts small images of colored \emph{balls} as alternative
+symbols for the \texttt{itemize} environment.
%
-The option \texttt{navisymb}
+The option ``\texttt{navisymb}''
adds a small field with symbols for navigation to the right
-bottom area of the presentation.
+bottom area of slides (section \ref{sec:NavigationSymbols}).
Options of the \texttt{article} class are also available for
\texttt{elpres} presentations,
e.\,g. \texttt{10pt}, \texttt{11pt}, \texttt{12pt} for
selection of font size.
+\subsubsection*{\texttt{Elpres}-specific commands}
+{ \sloppy
\index{elpres@\texttt{elpres}!commands}
-\textbf{\texttt{Elpres}-specific commands}:
-\verb+\distance+ vertically adjusts text on a slide.
-The \verb+\auvimm+\footnote{for \textbf{au}dio \textbf{vi}deo \textbf{m}edia}
-command inserts a link to an external audio or video file.
-Two commands: \verb+\fromlinktext+ and \verb+\totargettext+
+The command
+``\verb+\distance+''
+supports the user to vertically adjust lines and/or pragaraphs on a
+slide. (details are described in section
+section~\ref{sec:EssentialElements}).
+The ``\verb+\auvimm+''\footnote{for \textbf{au}dio \textbf{vi}deo
+ \textbf{m}edia}
+command inserts a link to an external audio or video file
+(section~\ref{sec:MultimediaContent}).
+Two commands: ``\verb+\fromlinktext+'' and ``\verb+\totargettext+''%
\index{fromlinktext@\verb+\fromlinktext+}
\index{totargettext@\verb+\totargettext+}
-can be used for internal links within a presentation.
-With \verb+\slidetitlecolor+, the text color of slides (\texttt{psli})
-can be changed.
-With the command \verb+\pagenrconst+, the page number of
-the current slide can be set to the page number of the previous slide.
+can be used for internal links within a presentation
+(section~\ref{secHypertext}).
+With ``\verb+\slidetitlecolor+'', the text color of the title of slides
+(\texttt{psli}) can be changed (section \ref{sec:footerlayout}).
+With the command ``\verb+\pagenrconst+'', the page number of
+the current slide can be set back to the page number of the previous slide
+(section \ref{secOverlay}, last paragraph).
+\par}
+
+\subsubsection*{\texttt{Elpres}-specific environments}
\index{elpres@\texttt{elpres}!environments}
-\textbf{\texttt{Elpres}-specific environments}:
-the environments \texttt{psli} and \texttt{rsli} define ``slides'' in
-\texttt{elpres}; \texttt{citemize}, \texttt{cenumerate} and
-\texttt{cdescription} provide vertically compressed lists.
+The environments ``\texttt{psli}'' and ``\texttt{rsli}'' define
+\emph{slides} in \texttt{elpres} (section \ref{sec:EssentialElements});
+``\texttt{citemize}'',``\texttt{cenumerate}''
+ and ``\texttt{cdescription}'' provide vertically compressed lists
+(section \ref{sec:CompressedLists}).
\index{slides in elpres@slides in \texttt{elpres}}
\subsection{A minimalistic example presentation}
@@ -219,7 +258,7 @@ the environments \texttt{psli} and \texttt{rsli} define ``slides'' in
\label{sec:MiniExample}
The following code (\texttt{minimal.tex})
-may be used for your first ``experiments'' by adding
+may be used for first ``experiments'' by adding
features described in later sections.
\index{minimalistic example, presentation}
@@ -227,7 +266,7 @@ features described in later sections.
\begin{verbatim}
\documentclass[12pt,pdftex,4x3]{elpres}
- \usepackage[latin1]{inputenc}
+ \usepackage[utf8]{inputenc}
\usepackage[document]{ragged2e}
% \usepackage{elpreswhitebluescheme}
@@ -300,11 +339,11 @@ The preamble of the same presentation for Lua\LaTeX\ would read:
\index{Lualatex@Lua\LaTeX}
The use of Lua\LaTeX\ with \texttt{elpres} is heavily recommended
due to the superior font selection mechanisms.
-You may copy the code examples from this manual more easily from the
-\texttt{.html} version of this manual available at
-\url{http://vkiefel.de/elpres/elpres-manual.html}.
+%% You may copy the code examples from this manual more easily from the
+%% \texttt{.html} version of this manual available at
+%% \url{http://vkiefel.de/elpres/elpres-manual.html}.
-\subsubsection*{Testing of the \texttt{elpres} installation}
+\subsection{Testing of the \texttt{elpres} installation}
\label{sec:CheckInstallation}
@@ -319,7 +358,6 @@ a file, add the class option \texttt{ballsymb}:
\end{verbatim}
-%% hier weiter 2021-08-08
and process it with \texttt{pdflatex}. The line
\verb+\usepackage{elpreswhitetealscheme}+ should not be commented out,
@@ -356,6 +394,7 @@ The problem sometimes arises as soon as \TeX-distributions do not install
\texttt{elpres.zip}, which may be obtained from \texttt{ctan.org}.
\subsection{Essential elements of an \texttt{elpres} presentation}
+\label{sec:EssentialElements}
\index{title page}
The \textbf{title page} slide can be created with
@@ -363,36 +402,53 @@ the \texttt{titlepage} environment (or \texttt{rsli}, see below), \LaTeX's
\verb+\maketitle+ command is not available.
\index{psli environment@\texttt{psli} environment}
\textbf{Slides} may be created with the
-\texttt{psli}-environment\footnote{\texttt{psli}: \textbf{pl}ain
- \textbf{sl}ide}, you may add
+\texttt{psli}-environment\footnote{\texttt{psli}: \textbf{p}lain
+ \textbf{sli}de}, you may add
the title of the slide with the optional parameter.
-The contents of the slide are centered vertically.
+The contents of the slide are centered vertically:
+\begin{verbatim}
+ \begin{psli}[Slide title]
+ Contents of slide
+ \end{psli}
+\end{verbatim}
\index{rsli environment@\texttt{rsli} environment}
Another environment generating a \textbf{slide} is
-\texttt{rsli}\footnote{\texttt{rsli}: \textbf{ra}w \textbf{sl}ide}:
+\texttt{rsli}\footnote{\texttt{rsli}: \textbf{r}aw \textbf{sli}de}:
slides are written
-without title,
-contents are not vertically centered.
+without title, contents are not centered vertically:
+
+\begin{verbatim}
+ \begin{rsli}
+ Contents of slide
+ \end{rsli}
+\end{verbatim}
\index{distance@\verb+\distance+}
The \verb+\distance{number}+ command allows to introduce vertical space into
slides constructed with the \texttt{rsli} and \texttt{titlepage} environments.
-You should use pairs of \verb+\distance{}+ commands with numbers indicating
-the relative height of empty space, see the titlepage in the example above.
+You may use of \verb+\distance{number}+ commands with numbers indicating
+the relative height of empty spaces between lines
+and/or paragraphs, see the title page in the example above (section
+\ref{sec:MiniExample}).
The use of footnotes on slides is often problematic, if they cannot be
avoided, the \texttt{footmisc} package is recommended: the \texttt{perpage}
option resets numbering for each new slide. For a presentation, the
-\texttt{symbol} option allows to use symbols instead of numbers.
+\texttt{symbol} option allows to use symbols instead of numbers\footnote{
+ The use of the \texttt{footmisc} package may produce the \LaTeX\ error
+ message ``\texttt{Counter too large}''.
+ Therefore it is preferred to use the \texttt{symbol*} and \texttt{perpage}
+ options, details are described in the manual of the \texttt{footmisc}
+ package.}.
After inserting a new footnote, numbers or symbols are correctly
inserted only after a second run of \LaTeX.
\subsection{Alternatives to \TeX's justified paragraphs}
By default, \LaTeX\ produces justified paragraphs with lines of equal length,
-this may often not be appropriate for the usually very short lines of text
+this will often not be appropriate for the usually very short lines of text
in presentations. The \LaTeX\ \verb+\raggedright+ command
\index{raggedright@\verb+\raggedright+}
has its own
@@ -401,8 +457,20 @@ the right margin will often look too
ragged. A solution is to use the \verb+\RaggedRight+ command of the
\texttt{ragged2e} package.
+If authors of presentations wish to suppress both justification and
+hyphenation within the complete presentation document, the following
+package parameters:
+
+\begin{verbatim}
+ \usepackage[document,originalparameters]{ragged2e}
+\end{verbatim}
+
+can be selected. As hypenated words are not favorable for quick reading of
+slides by the audience this is the preferred use of \texttt{ragged2e} for
+the author of this package.
\subsection{Vertically compressed lists}
+\label{sec:CompressedLists}
As the spaces between lines may be too great with the \texttt{itemize}
environment,
@@ -422,8 +490,6 @@ be used.
\index{cenumerate environment@\texttt{cenumerate} environment}
\index{cdescription environment@\texttt{cdescription} environment}
-
-% neu Dezember 2017
Another solution for the customization of \texttt{itemize}
environments is given by the \texttt{enumitem} package. Therefore
@@ -482,11 +548,11 @@ by the author of a presentaton.
\begin{sloppypar}
However, access to the header fields defined by \texttt{fancyhdr}
-is blocked\footnote{If you enter
- \texttt{\textbackslash rhead}, \texttt{\textbackslash chead}
- or \texttt{\textbackslash lhead}, \texttt{elpres} will issue
+is blocked: if you enter
+ \verb+\rhead{}+, \verb+\chead{}+
+ or \verb+\lhead{}+, \texttt{elpres} will issue
an error message. Use of the header fields will generate unwanted effects
- on page layout due to \texttt{fancyhdr}.}.
+ on page layout due to \texttt{fancyhdr}.
If you wish to change the position of the page number in the footer,
you can overwrite the default page number with an ``empty'' \verb+\rfoot{}+
command and put it to the center or the left margin of the footer
@@ -510,38 +576,42 @@ are described in section \ref{sec:pres-scheme}.
\label{secEnhancements}
-\subsection{Use of named colors of \texttt{xcolor}}
+Enhancements described here make use of other \LaTeX\ packages which should
+be available in \TeX\ distributions like \TeX~Live or MiK\TeX.
+
+\subsection{Use named colors of the \texttt{xcolor} package}
\label{sec:use-colors}
The \texttt{elpres} class automatically loads the \texttt{xcolor} package.
-Color related commands may therefore be used with names defined by
-\texttt{colorx}. They are however only accessible in groups
-(\texttt{dvipsnames}, \texttt{svgnames}, \texttt{x11names}). As an example,
-the color \texttt{Indigo} is available in \texttt{svgnames}. If you wish
-to use it you will have to enter \texttt{svgnames} as \texttt{elpres}
-class option:
+Therefore, color names defined by the \texttt{xcolor} may be used. They are
+however only accessible in groups (\texttt{dvipsnames}, \texttt{svgnames},
+\texttt{x11names}, details can be found in the \texttt{xcolor} manual). As
+an example, the color \texttt{Indigo} is available in the \texttt{svgnames}
+goup. If you wish to use it you will have to enter \texttt{svgnames}
+as \texttt{elpres} class option:
\begin{verbatim}
\documentclass[11pt,16x9,svgnames]{elpres}
\end{verbatim}
-This option is then automatically ``handed over'' to the
-\texttt{xcolor} package.
-The complete lists of named colors are found in the \texttt{xcolor} manual.
+This option is then automatically ``handed over'' to the \texttt{xcolor}
+package loaded by \texttt{elpres}. The complete lists of named colors
+are found in the \texttt{xcolor} manual.
\subsection{Include graphics files}
+\label{secUsageGraph}
\index{graphics files}
\index{includegraphics@\texttt{\textbackslash includegraphics}}
Graphics files/pictures can be included with the
\texttt{includegraphics}-command of the \texttt{graphicx}-package. Please be
aware that the dimensions of the pages are \mbox{128mm x 96mm} and
-therefore included graphics are scaled appropriately. A safe way to generate a
-page with a picture could be (with \texttt{pict.png} as the name of the
+therefore included graphics are scaled appropriately. A typical example
+of a
+page with a picture could be (\texttt{pict.png} is the name of the
graphics file):
-\label{secUsageGraph}
\begin{verbatim}
\usepackage[pdftex]{graphicx} % (in preamble)
@@ -562,7 +632,7 @@ driver related option (e.\,g. \texttt{pdftex} or \texttt{dvips})
(documentclass).
-\label{secInclGraphicsFiles}
+% \label{secInclGraphicsFiles}
\subsection{Arrange text and pictures in two (or more) columns}
@@ -590,17 +660,17 @@ Text and graphics may be arranged in two or more columns with
\end{verbatim}
Details on the minipage environment may be found in the \LaTeX{}
-documentation.
+documentation\footnote{A good reference is \url{https://latexref.xyz/}}.
-\subsection{Incremental slides (overlays)}
+\subsection{Add incremental slides (overlays) to a presentation}
\label{secOverlay}
\index{incremental slides|see{overlays}}
\index{overlays|(}
If the contents of slides are to be made visible step
-by step this can be achieved by a series of output PDF or (PS) files (carrying
+by step this can be achieved by a series of output PDF or (PS) pages (carrying
the same page number) usually called \emph{overlays}. It may also be of
interest to change a highlighting color in a series of overlays. This is most
easily done by using the excellent \texttt{overlays} package written by
@@ -692,6 +762,8 @@ for the background color will be made automatically.
For more details on \texttt{overlays}, see the documentation of the package.
\index{overlays|)}
+%% hypertarget
+
Sometimes it is desirable to prepare \textbf{two or more consecutive
slides with the same page
number} independent
@@ -703,19 +775,19 @@ with the command \verb+\pagenrconst+.
% \pagenrconst
-\subsection{Navigation symbols}
+\subsection{Add navigation symbols to slides}
\label{sec:NavigationSymbols}
\index{navigation symbols panel|(}
With the \texttt{navisymb} option of \texttt{elpres} a panel with navigation
symbols appears
-in the right lower corner of the presentation:\\
+in the right lower corner of pages:
{ \setlength{\parindent}{2em}
\indent
- \textbf{\texttt{$\ll$ $<$ $>$ $\gg$ $\leftarrow$ $\rightarrow$ [n]}}
-}\\
+ \texttt{$\ll$ $<$ $>$ $\gg$ $\leftarrow$ $\rightarrow$ [n]}
+}
These commands ($\ll$: jump to the first page,
$<$: go to the previous page, $>$: go to the next page,
@@ -723,9 +795,8 @@ $\gg$: jump to the last page, $\leftarrow$:
go back in history, $\rightarrow$: go forward in history,
\texttt{[n]}: prompt for a
page number)
-work with Adobe Acrobat Reader (Windows), and (with the exception of
-\texttt{$\leftarrow$}, \texttt{$\rightarrow$} and \verb+[n]+)
-with \texttt{evince} (Linux).
+work with Adobe Acrobat Reader (Windows), and
+with \texttt{Okular} (Linux).
Some of these functions also work in presentation-mode
of the ``internal'' PDF-viewer in recent versions of the
\texttt{Firefox}-browser (Linux, Windows).
@@ -733,7 +804,7 @@ of the ``internal'' PDF-viewer in recent versions of the
-\subsection{Run multimedia content from a presentation}
+\subsection{Add multimedia content to a presentation}
\label{sec:MultimediaContent}
@@ -742,28 +813,28 @@ of the ``internal'' PDF-viewer in recent versions of the
\index{multimedia files|(}
\index{audio files|see{multimedia files}}
\index{video files|see{multimedia files}}
-In this section inclusion of video and audio files
-into a presentation will be described. With the
+This section describes inclusion of (links to) video and audio files in a
+presentation. With the
\verb+\auvimm{}{}+
\index{auvimm@\verb+\auvimm+}
-command described below you will
-be able to lauch an external application for playing the video or audio
+command described below it is possible
+to lauch an external application for playing the video or audio
file. This will work in many situations for video and audio files
on Windows (Adobe Acrobat) and Linux (e.\,g. using
-\index{Acrobat pdf viewer}
-\texttt{evince} and
+\index{Acrobat pdf viewer}%
+\texttt{evince}%
\index{evince pdf file viewer@\texttt{evince} pdf file viewer})
systems in fullscreen mode.
Under certain conditions it is possible to define a ``poster area'' on a
slide and the pdf viewer starts (after clicking with the mouse pointer into
this area) the
presentation of the video within this frame.
-The advantage of this technique is that it avoids that
-window with the external application is started.
+The advantage of this technique is that it avoids starting
+a window with the external application.
On Linux systems the \texttt{pdfpc}
\index{pdfpc viewer@\texttt{pdfpc} viewer}
viewer allows this, a detailed description
-is shown below. In both sitauations, however, the multimedia file is not
+is shown below. In both situations, however, the multimedia file is not
incorprated into the pdf-file and must be available on the computer
at the time of the presentation, ideally in the same directory as the
\texttt{.pdf}-file.
@@ -789,11 +860,11 @@ You may also insert an image file as a poster with a graphics file using
\auvimm{\includegraphics{/path/to/poster.png}}{./audiofile.mp3}
\end{verbatim}
-If you hit the poster area with the mouse pointer, it will launch the default
-application for audio files in a seperate window. This should be possible
-even if the pdf-viewer works if fullscreen-mode at the time of presentation.
-If this does not work, it may be necessary to
-insert as ``launch'' command:
+If you hit the poster area with the mouse pointer, it will launch the
+default application for audio files in a separate window. This should
+be possible even if the pdf-viewer works if fullscreen-mode at the time
+of presentation. If this does not work, it may be necessary to insert as
+``launch'' command:
\begin{verbatim}
\auvimm{[video-file]}{run:./videofile.mp4}
@@ -807,15 +878,22 @@ your presentation) you should test this aspect of your presentation. Sometimes
a call to an external program might be blocked due security reasons in Acrobat
Reader.
-\begin{leftbar}
-This \verb+\auvimm{}+-command should be considered experimental.
-Its behavior depends on the \texttt{pdf}-viewer and the configuration of the OS.
-\end{leftbar}
+%% begin comment out for tth
+ \fbox{\parbox{0.985\textwidth}{
+%% end comment out for tth
+The \texttt{\textbackslash auvimm{}}-command in the current version
+of \texttt{elpres} should be considered
+experimental.
+Its behavior largely depends on the \texttt{pdf}-viewer and the software
+used for playing audio/video files.
+%% begin comment out for tth
+ }}
+%% end comment out for tth
On Linux systems, the \texttt{pdfpc}
-\texttt{pdf}-viewer\footnote{\url{https://pdfpc.github.io/}: \texttt{pdfpc} --- A
- presenter console with multi-monitor support for PDF files} allows
+\texttt{pdf}-viewer\footnote{\url{https://pdfpc.github.io/}:
+\texttt{pdfpc} --- A presenter console with multi-monitor support for PDF files} allows
presentation of a video embedded into a ``poster area''\footnote{e.\,g. defined
by a bitmap image with the same aspect ratio as the video}
on a slide
@@ -839,8 +917,8 @@ a ``video format'', e.\,g. with the \texttt{ffmpeg} program.
\label{secHandout}
-In advance of a lecture it is often expected that you prepare a ``handout''
-from your presentation with more than one pages on a printed page. Therefore
+In advance of a lecture it is often expected that you provide a ``handout''
+of your presentation with more than one pages on a printed page. Therefore
you have several options, three of
them are described here.
If a presentation contains overlay-slides generated with the \texttt{overlays}
@@ -850,7 +928,7 @@ added to the preamble
in order to inactivate the overlays-specific commands.
-\subsubsection{\LaTeX\ article document with a series of single-page pdf-files included}
+\subsubsection{\LaTeX\ article document handout with a series of single-page pdf-files included}
One solution to this problem is (1) to generate a series of single-page
pdf-files and (2) to create a pdf\LaTeX\ document with the single
@@ -865,11 +943,12 @@ pages included.
with \texttt{in.pdf} as the initial presentation. The syntax of \texttt{gs}
is described in detail on the ghostscript
-website\footnote{\url{https://www.ghostscript.com/doc/current/Use.htm}}.
+website\footnote{\url{https://ghostscript.readthedocs.io/en/latest/Use.html}}.
On Windows systems the name of the ghostscript command may be
\texttt{gswin32c.exe} or \texttt{gswin64c.exe}.
-An alternative to \texttt{gs} is the \texttt{pdftk} tool:
-\index{pdftk@\texttt{pdftk}}
+An alternative to \texttt{gs} is the \texttt{pdftk} command line tool:%
+\index{pdftk@\texttt{pdftk}}%
+\footnote{\url{https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/}}
\begin{verbatim}
pdftk in.pdf burst output page_%03d.pdf
@@ -971,11 +1050,12 @@ website\footnote{\url{https://github.com/DavidFirth/pdfjam/blob/master/README.md
\label{secHypertext}
\index{hypertext elements|(}
-You may use two commands \verb+\fromlinktext{}{}+ and \verb+\totargettext{}{}+
-for ``hypertext features''. As an example: as you normally will not insert
-\verb+\section{}+-like commands and therefore do not generate a ``table of
-contents''-like page or a menu in \texttt{elpres}-presentations, you are able
-define links with:
+You may use two commands \verb+\fromlinktext{}{}+ and
+\verb+\totargettext{}{}+ for ``hypertext features''.
+As an example: as you normally will not
+insert \verb+\section{}+-like commands and therefore do not generate a ``
+table of contents''-like page or a menu in \texttt{elpres}-presentations,
+you are able define links with:
\begin{verbatim}
\totargettext{text}{link-label}
@@ -1073,55 +1153,50 @@ Another package which allows you to paint the background with a picture is
...
- \AddToShipoutPicture{
- \includegraphics[height=\paperheight]{background.png}
+ \AddToShipoutPictureBG*{
+ \includegraphics[height=\paperheight]{background.png}
}
\end{verbatim}
-\verb+\AddToShipoutPicture{}+ puts the picture on every page,
-\verb+\AddToShipoutPicture*{}+ puts it on to the current page,
-\verb+\ClearShipoutPicture+ clears the background beginning with the current
+\verb+\AddToShipoutPictureBG{}+ puts the picture on every page,
+\verb+\AddToShipoutPictureBG*{}+ puts it on to the current page,
+\verb+\ClearShipoutPictureBG+ clears the background beginning with the current
page.
Details of \texttt{eso-pic}'s commands can be found in the documentation.
\index{wallpaper background|)}
-\subsection{Presentation schemes}
-
+\subsection{Put color to your presentation: presentation schemes}
\label{sec:pres-scheme}
\index{presentation schemes|(}
\index{color schemes|see{presentation schemes}}
\index{schemes, color|see{presentation schemes}}
-\texttt{Elpres} provides predefined \textbf{presentation schemes}:
-color and layout schemes which are applied to a presentation with
-\verb+usepackage{}+. Their naming follows the convention
-\mbox{\texttt{elpres...scheme}}, an
-example is \texttt{elpreswhiteredscheme}.\footnote{the name of the
- corresponding style or package file is \texttt{elpreswhiteredscheme.sty}}
-These \texttt{elpres}-schemes also support incremental slides with the
-\texttt{overlays} package.
-Moreover, these schemes define color names
-which may be used by the author of a presentation:\footnote{Color names for use
-by the presentation author start with \texttt{ep...}}
-
-
-
+\texttt{Elpres} provides predefined \textbf{presentation schemes}: color and
+layout schemes which are applied to a presentation with
+\verb+\usepackage{}+. Their naming follows the convention
+\mbox{\texttt{elpres...scheme}}, an example is
+\texttt{elpreswhiteredscheme}.\footnote{the name of the corresponding style
+or package file is \texttt{elpreswhiteredscheme.sty}} These
+\texttt{elpres}-schemes also support incremental slides with the
+\texttt{overlays} package. With an activated presentation scheme, the elpres
+class option \texttt{ballsymb} changes default itemize symbols to
+appropriately colored ``ball'' symbols. Moreover, these schemes define color
+names which may be used by the author of a presentation:\footnote{Color
+names for use by the presentation author start with \texttt{ep...}}
\begin{description}%[noitemsep]
\item[\texttt{eptextcolor}] ``normal text color'' (default values for
documents without
presentation scheme included in \texttt{elpres.cls}: black)
\item[\texttt{ephighlightcolor}] color, which may be used for highlighting
- text (default:
- dark red)
+ text (default: dark red)
\item[\texttt{eptitlecolor}] color of the title of slides, may be used to
- highlight the
- title in the title slide (default: dark red)
+ highlight the title in the title slide (default: dark red)
\end{description}
-Presentation schemes available in the current version of \texttt{elpres}:
+These presentation schemes available in the current version of \texttt{elpres}:
\begin{sloppypar}
@@ -1192,7 +1267,7 @@ links have been adjusted.
Colored text boxes often help the presentation author to highlight small text
fragments and to make slides more ``readable'' and more attractive.
-\subsubsection{Text boxes with \texttt{\textbackslash colorbox}, \texttt{\textbackslash fcolorbox}}
+\subsubsection{Text boxes with \texttt{colorbox}, \texttt{fcolorbox}}
\label{sec:simple-text-boxes}
@@ -1248,11 +1323,64 @@ An example with a titled colored textbox:
\end{verbatim}
-The manual of the \texttt{tcolorbox} provides perfect instruction for the use
-of this package.
-These text boxes may yield problems
-with incremental slides using the \texttt{overlays} package.
+The manual of the \texttt{tcolorbox} provides detailed instructions for the
+use of this package.
+However, incremental slides using the \texttt{overlays} package may not
+work with color boxes generated by the \texttt{tcolorbox} package. These
+problems are avoided with the colored text boxes described in section
+\ref{sec:simple-text-boxes}.
+
+\subsection{Alternative format for footnotes on slides}
+\label{sec:AltFootnoteFormat}
+
+
+Footnotes on slides may be inserted with \LaTeX's \verb+\footnote{}+
+command.
+However, the layout of footnotes generated by \verb+\footnote{}+
+is not adequate
+for small comments or additions to the main text on slides.
+The following definition of an alternative footnote command
+(\verb+\altfnarea{}+)%
+\index{alternative footnote command}
+\index{footnote command, alternative}
+\index{altnfarea@\verb+\altfnarea+}
+requires that the
+\texttt{eso-pic} package is loaded:
+
+\begin{verbatim}
+ \usepackage{eso-pic}
+
+ \newcommand{\altfnarea}[1]{%
+ \AddToShipoutPictureFG*{
+ \setlength{\unitlength}{1mm}
+ \put(1.2,1.2){\parbox[b]{0.9\paperwidth}%
+ {\scriptsize \textcolor{darkgray}{#1}}}}}
+
+\end{verbatim}
+The definition of \verb+\altfnarea+ is currently not included in
+\texttt{elpres.cls}, so you should copy this definition of the command
+into the preample of your presentation document. Please take care to
+include the \texttt{eso-pic} package before the \texttt{altfnarea}
+definition. You may experiment with different values in this
+\verb+\newcommand{}{}+ definition. The command can be used within
+the code of a slide the following way:
+
+ \begin{verbatim}
+ \begin{psli}[Title of a slide demonstrating alternative
+ footnotes\textsuperscript{1}]
+ \begin{itemize}
+ \item first itemized line\textsuperscript{2}
+ \item second itemized line
+ \end{itemize}
+ \altfnarea{\textsuperscript{1}Addition to the title,
+ \textsuperscript{2}Explanation of the first line}
+ \end{psli}
+ \end{verbatim}
+
+Very often it will be advisable \emph{not} to use footnotes in slides.
+However, speakers participating in scientific conferences usually are
+expected to include sources of figures, tables etc. on their slides.
\subsection{Inactivate \texttt{overlays} commands}
@@ -1298,17 +1426,18 @@ update the \texttt{overlays} package.
\subsection{Convert an \texttt{elpres}-presentation (PDF) into an Impress (LibreOffice) or Powerpoint presentation}
\label{sec:convert-into-libreoff}
+\subsubsection{PDF \ldots\ PNG \ldots\ Impress/Powerpoint}
+
\index{Powerpoint presentation} \index{Impress (LibreOffice) presentation}
Sometimes it is unclear, if organizers of a (scientific) meeting allow
-presentations with \texttt{.pdf}-files or insist on files in Powerpoint
+presentations with \texttt{.pdf}-files or if they insist on files in Powerpoint
format. This is an unpleasant situation for a lecturer, but in such a situation
-it is better, to be
-prepared.
+it is better, to be prepared.
-There is no elegant way for a reliable solution.
-First, you may use one of the free or commercial online conversion
-tools (intended to convert \texttt{.pdf} into
-\texttt{.ppt} or \texttt{.pptx}-files). Results are often not satisfactory.
+There is no elegant way for a reliable solution. First, you may use one
+of the free or commercial online conversion tools (intended to convert
+\texttt{.pdf} into \texttt{.ppt} or \texttt{.pptx}-files). Results are
+often not satisfactory.
An alternative, more reliable way preferred
by the author of this manual:
@@ -1329,10 +1458,12 @@ Please copy the following two
commands (please ignore the line-breaks in the lines
beginning with ``\texttt{gs}'')\footnote{\i.\,e. ``\texttt{gs ... input.pdf}'' should
be entered as one line and ``\texttt{gs ... temp.pdf}'' should be entered as a
- second line}
+ second line of a shell script.}
into a short shell
-script (Windows: a \texttt{.bat} or \texttt{.cmd} script) and ``run'' or execute the shell
-script:
+script (Windows: a \texttt{.bat} or \texttt{.cmd} script) and ``run'' or
+execute the shell script:
+
+
\begin{verbatim}
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=793.7
@@ -1346,9 +1477,19 @@ script:
Please do not forget to adjust the name of the input file
(\texttt{input.pdf} in the script above).
The first command adjusts the page size of the \texttt{.pdf}-file to
- \texttt{28~x~21~cm} (which is written into the temporary file
+ \texttt{28~x~21~cm} which is written into the temporary file
\texttt{temp.pdf}:
- this format avoids resizing of the images in LibreOffice (see below)).
+ this format avoids the necessity to resize of the images in LibreOffice
+ (for other slide formats see the footnote below\footnote{%
+ The values assigned to \texttt{-dDEVICEWIDTHPOINTS} and
+ \texttt{-dDEVICEHEIGHTPOINTS}
+ are valid for a width:height aspect ratio of 4:3 assuming a
+ presentation page size (LibreOffice) of \texttt{28cm~x~21cm}:
+ \texttt{(28/2.54)*72=793.7pt},
+ \texttt{(21/2.54)*72=595.3pt}. Values for width:height aspect ratios of
+ 16:9 \texttt{(28cm~x~15.75cm)} are \texttt{793.7/446.46} and for a ratio
+ of 16:10 \texttt{(28cm~x~17.5cm)}: \texttt{793.7/496.1}.
+ }).
The second command generates a series of \texttt{.png}-files:
\texttt{page\_001.png}, \texttt{page\_002.png} ... \texttt{page\_0nn.png}.
Instead of the \texttt{png256} driver, \texttt{png16m} can be used.
@@ -1363,9 +1504,9 @@ change \texttt{-r300} to
% gs -dNOPAUSE -dBATCH -sDEVICE=png256 -r600
% -dTextAlphaBits=4 -sOutputFile=page_%03d.png input.pdf
% \end{verbatim}
-The option \texttt{-dTextAlphaBits=4} improves font
-antialiasing.\footnote{Details can be found in the documentation of gs
- \url{https://www.ghostscript.com/doc/current/Use.htm}}
+The option \mbox{\texttt{-dTextAlphaBits=4}} improves font
+antialiasing.\footnote{Details can be found in the documentation of
+\texttt{gs} \url{https://ghostscript.readthedocs.io/en/latest/Use.html}}
\textbf{Details on step 2 --- Import \texttt{.png} images:}
@@ -1378,11 +1519,42 @@ slide format (e.\,g. 4:3), import the \texttt{.png} files with
% \texttt{0.0cm}, \emph{Postion~Y}: \texttt{0.0cm}, \emph{Width}:
% \texttt{28.0cm}, activate the checkbox \emph{Keep~ratio}
into consecutive empty slides.\footnote{Menu
- structure of LibreOffice v6.4}. The presentation can now be saved
+ structure of LibreOffice v6.4, v7.3}. The presentation can now be saved
in the format of Impresss (\texttt{.odp}) or
one of the Microsoft Powerpoint formats (\texttt{.ppt} or \texttt{.pptx}).
+\subsubsection{PDF \ldots\ SVG \ldots\ Impress/Powerpoint}
+
+\label{sec:PdfSvgImpress}
+
+An alternative way to make a Powerpoint/Impress presentation from the
+.pdf-file is to convert it into a series of \textbf{.pdf}-pages, convert
+these into \texttt{.svg} format and to import the \texttt{.svg}-files into
+the Impress/Powerpoint presentation. The first step:%
+\footnote{The command in a Windows terminal should be:
+ \texttt{pdftk input.pdf burst output p\_\%\%02d.pdf}}
+
+\begin{verbatim}
+ pdftk input.pdf burst output p_%02d.pdf
+\end{verbatim}
+
+converts the file \texttt{input.pdf} into a series of files
+\texttt{p\_01.pdf}, \texttt{p\_02.pdf}, \texttt{p\_03.pdf}, \ldots, which
+can then be converted with the command \texttt{pdftocairo}:%
+\footnote{Available in the \texttt{poppler-utils} package, a Windows version
+may be obtained at: \url{https://github.com/oschwartz10612/poppler-windows}}
+
+\begin{verbatim}
+ pdftocairo -svg p_01.pdf p_01.svg
+ pdftocairo -svg p_02.pdf p_02.svg
+ pdftocairo -svg p_03.pdf p_03.svg
+ ...
+\end{verbatim}
+
+This series of commands is best executed from a shell script. The resulting
+\texttt{.svg} files are then imported into an Impress/Powerpoint presentation.
+
\subsection{The \texttt{pdfpc}-viewer: add notes}
\index{pdfpc viewer@\texttt{pdfpc} viewer}
@@ -1425,7 +1597,7 @@ added). \textbf{v0.2e} (15.04.2005): Documentation completed (sections
(12.08.2005): new (class) options for font selection: \texttt{tmrfont} (Times
Roman), \texttt{helvetfont} (Helvetica), \texttt{cmfont} (Computer Modern),
\texttt{sansfont} (Sans Serif: default). Documentation updated, sections
-\ref{secInclGraphicsFiles} and \ref{secTwoColumns} added. \textbf{v0.4}
+\ref{secUsageGraph} and \ref{secTwoColumns} added. \textbf{v0.4}
(20.01.2018): New class options for different screen aspect ratios
\texttt{4x3}, \texttt{16x9}, \texttt{16x10}; ``compressed'' list environments
modified; documentation completed: packages for use with \texttt{elpres}:
@@ -1455,6 +1627,13 @@ bug in the \texttt{elpres...scheme.sty} files was fixed (incorrect value for
archive \texttt{elpres.tds.zip} is added for \texttt{ctan.org} upload.
\textbf{v1.0}: Class option \texttt{ballsymb} added, manual updated.
\textbf{v1.0.1}: Corrected upload to \texttt{ctan.org}
+\textbf{v1.1} (28.05.2024): Fixes and corrections in \texttt{elpres.cls};
+manual: parts of section \ref{secUsage} have been rewritten,
+section \ref{sec:convert-into-libreoff} has been completed: new section
+\ref{sec:PdfSvgImpress}.
+Definition of a an alternative command for footnotes (\verb+\altfnarea+)
+has been added to the manual (section \ref{sec:AltFootnoteFormat}).
+
\printindex
diff --git a/macros/latex/contrib/elpres/tex/elpres.cls b/macros/latex/contrib/elpres/tex/elpres.cls
index adc5312845..5697bb8748 100644
--- a/macros/latex/contrib/elpres/tex/elpres.cls
+++ b/macros/latex/contrib/elpres/tex/elpres.cls
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elpres}[2021/08/10 class for plain electronic presentations]
+\ProvidesClass{elpres}[2024/05/29 class for plain electronic presentations]
%
% 2004/06/19 v0.1 - initial version
%
@@ -41,7 +41,11 @@
%
% 2021/08/10 v1.0.1 - corrected upload
%
-
+% 2024/05/29 v1.1 - correction: \RequirePackageWithOptions{xcolor}
+% changed to \RequirePackage{xcolor} (elpres.cls)
+% - \setlength{\footskip}{11.8pt} added (elpres.cls)
+% - manual updated
+%
% Options: select fonts
\newcommand{\fontna}{initialisiert}
@@ -103,7 +107,7 @@
\LoadClass{article}
\RequirePackage{ifthen}
-\RequirePackageWithOptions{xcolor}
+\RequirePackage{xcolor}
\RequirePackage{graphicx}
\ifthenelse{\equal{\screenformat}{scr4x3}}{%
@@ -126,7 +130,10 @@
\RequirePackage[hyperfootnotes=false]{hyperref}
+\hypersetup{pdfcreator={LaTeX with the elpres class}}
+
\RequirePackage{fancyhdr}
+\setlength{\footskip}{11.8pt}
\renewcommand{\headrulewidth}{0mm}
diff --git a/macros/latex/contrib/ensps-colorscheme/LICENSE b/macros/latex/contrib/ensps-colorscheme/LICENSE
new file mode 100644
index 0000000000..842cf85e3c
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2008 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % https://www.latex-project.org/lppl.txt
+ % and version 1.3c or later is part of all distributions of LaTeX
+ % version 2008 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/ensps-colorscheme/Makefile b/macros/latex/contrib/ensps-colorscheme/Makefile
new file mode 100644
index 0000000000..f564781a6e
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/Makefile
@@ -0,0 +1,54 @@
+.PHONY: lint clean
+
+PKG=ensps-colorscheme
+DOC=$(PKG)-doc.pdf
+# The version of the package is obtained using git decribe,
+# and if it fails we use the value v0.0.0 as a default.
+VER=$(shell git describe --tags --always --dirty|| echo "v0.0.0")
+
+$(PKG).sty: $(PKG).ins
+ latex $(PKG).ins
+
+# We need to use the classical several
+# pass compilation to get everything right
+# gind.ist is a specific style for the index
+# that is compatible with dtx files.
+# https://tex.stackexchange.com/questions/84870/index-completely-messed-up-in-dtx-file
+$(PKG)-doc.pdf: $(PKG).dtx $(PKG).sty
+ pdflatex $(PKG).dtx
+ makeindex -s gglo.ist -o $(PKG).gls $(PKG).glo
+ makeindex -s gind.ist $(PKG).idx
+ pdflatex $(PKG).dtx
+ mv $(PKG).pdf $(PKG)-doc.pdf
+
+install:
+ cp $(PKG).sty ~/texmf/tex/latex/$(PKG).
+ cp $(PKG)-doc.pdf ~/texmf/doc/latex/$(PKG).
+
+$(PKG).zip: $(PKG).sty $(PKG)-doc.pdf
+ mkdir -p $(PKG)
+ cp Makefile $(PKG)/Makefile
+ cp LICENSE $(PKG)/LICENSE
+ cp README.md $(PKG)/README.md
+ cp $(PKG)-doc.pdf $(PKG)/$(PKG)-doc.pdf
+ cp $(PKG).dtx $(PKG)/$(PKG).dtx
+ cp $(PKG).ins $(PKG)/$(PKG).ins
+ zip -r $(PKG).zip $(PKG)
+
+
+lint: $(PKG).sty
+ chktex $(PKG).dtx
+ chktex $(PKG).sty
+
+clean:
+ rm -rf $(PKG).pdf \
+ $(PKG).aux \
+ $(PKG).dvi \
+ $(PKG).glo \
+ $(PKG).hd \
+ $(PKG).idx \
+ $(PKG).log \
+ $(PKG).out \
+ $(PKG).pdf \
+ $(PKG).sty \
+ $(PKG).zip
diff --git a/macros/latex/contrib/ensps-colorscheme/README.md b/macros/latex/contrib/ensps-colorscheme/README.md
new file mode 100644
index 0000000000..8d5453ebcb
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/README.md
@@ -0,0 +1,32 @@
+This directory contains the package
+
+ name: ensps-colorscheme
+ license: LaTeX Project Public License version 1.3c or above
+ author: Aliaume LOPEZ
+ mail: ad.lopez@uw.edu.pl
+ web: https://ctan.org/pkg/ensps-colorscheme
+
+### Purpose:
+
+The `ensps-colorscheme` package for LaTeX offers
+access to the design system of the Université Paris Saclay,
+and can be used to write documents consistent with the
+guidelines. For now, only the color palette is available.
+
+### Install:
+
+It is sufficent to have `ensps-colorscheme.sty` accessible
+by LaTeX. To produce this file, run `make ensps-colorscheme.sty`
+in this directory. The documentation can be produced by
+running `make ensps-coloscheme-doc.pdf`.
+
+
+### Content of the directory:
+
+- `README.md`: this file.
+- `ensps-colorscheme.sty`: the package file (generated using ensps-colorscheme.ins)
+- `ensps-colorscheme-doc.pdf`: the user documentation (generated by compiling
+ ensps-colorscheme.dtx)
+- `Makefile`: the makefile. Use `make all` to generate ensps-colorscheme.sty
+ and ensps-colorscheme-doc.pdf. It can also: clean the directory, make zip
+ version of the sources, or ready for CTAN.
diff --git a/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme-doc.pdf b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme-doc.pdf
new file mode 100644
index 0000000000..7818da7080
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.dtx b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.dtx
new file mode 100644
index 0000000000..81f2167b0c
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.dtx
@@ -0,0 +1,171 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Aliaume LOPEZ
+% --------------------------------
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% \fi
+%
+% \iffalse
+%<ensps>\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+%<ensps>\ProvidesPackage{ensps-colorscheme}
+%<ensps> [2024-05-03 v0.0.1 ENS Paris-Saclay Colors and Theme]
+%<ensps>\RequirePackage{xcolor}
+%<ensps>\RequirePackage{tikz}
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{xcolor}
+\usepackage{tikz}
+\usepackage{ensps-colorscheme}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+\DocInput{ensps-colorscheme.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \changes{v0.0.1}{2024-05-28}{Initial version}
+% \GetFileInfo{ensps-colorscheme.sty}
+% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
+% \DoNotIndex{\@ne}
+% \DoNotIndex{\advance,\begingroup,\catcode,\closein}
+% \DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\endgroup}
+% \DoNotIndex{\foreach,\subitem,\hue,\letter,\hdclindex}
+% \DoNotIndex{\begin,\colorlet,\definecolor,\intensity,\end,\shade}
+% \DoNotIndex{\y,\x,\xglobal,\newcommand,\name,\node,\variant}
+% \title{The \textsf{ensps-colorscheme} package
+% \thanks{This document corresponds to \textsf{ensps-colorscheme}~\fileversion,
+% dated \filedate.}
+%}
+%\author{Aliaume Lopez \\ \texttt{ad.lopez@uw.edu.pl}}
+%
+% \maketitle
+% \begin{abstract}
+% A simple package to provide the ENS Paris-Saclay colors and theme.
+% It has been reversed engineered from the official Université Paris-Saclay
+% ``Charte Graphique".
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% This package provides the ENS Paris-Saclay colors and theme.
+% It can be used in PhD theses, presentations and other documents
+% to ensure a consistent look and feel.
+% The package is loosely based on the following document
+% \texttt{Charte Graphique}\footnote{\url{https://www.universite-paris-saclay.fr/sites/default/files/2020-06/Charte-graphique-UniversiteParisSaclay.pdf}.}.
+%
+% For now, the package only provides colors and a way to visualize them.
+%
+% \section{Usage}
+% \DescribeMacro{\enspscolordefs}
+% The package defines the following colors:
+% \begin{itemize}
+% \foreach \name in {A,B,C,D} {
+% \foreach \hue in {1,2,3,4,5} {
+% \item \texttt{\name\hue}:
+% \textcolor{\name\hue}{\rule{0.5em}{0.5em}}
+% (\texttt{\textbackslash\name\hue bg}
+% \textcolor{\name\hue bg}{\rule{0.5em}{0.5em}} and
+% \texttt{\textbackslash\name\hue hint}
+% \textcolor{\name\hue hint}{\rule{0.5em}{0.5em}})
+% }
+% }
+% \item \texttt{Prune}:
+% \textcolor{Prune}{Prune}
+% \end{itemize}
+%
+% \DescribeMacro{\enspscolors}
+% The \cs{enspscolors} command creates a small tikzpicture with the ENS Paris-Saclay colors.
+% Producing the following output:
+% \begin{center}
+% \enspscolors
+% \end{center}
+%
+% \PrintIndex
+% \PrintChanges
+%
+% \section{Implementation}
+%
+% \begin{macro}{\enspscolordefs}
+% Here we define the colors for the ENS Paris-Saclay theme.
+% The main colors are hard coded, and the \texttt{bg} and \texttt{hint} colors
+% are then computed from the main colors.
+% \begin{macrocode}
+\definecolor{Prune}{RGB}{99,0,60}
+\definecolor{A1}{HTML}{000000}
+\definecolor{B1}{RGB}{49,62,72}
+\definecolor{C1}{RGB}{124,135,143}
+\definecolor{D1}{RGB}{213,218,223}
+\definecolor{A2}{RGB}{198,11,70}
+\definecolor{B2}{RGB}{237,20,91}
+\definecolor{C2}{RGB}{238,52,35}
+\definecolor{D2}{RGB}{243,115,32}
+\definecolor{A3}{RGB}{124,42,144}
+\definecolor{B3}{RGB}{125,106,175}
+\definecolor{C3}{RGB}{198,103,29}
+\definecolor{D3}{RGB}{254,188,24}
+\definecolor{A4}{RGB}{0,78,125}
+\definecolor{B4}{RGB}{14,135,201}
+\definecolor{C4}{RGB}{0,148,181}
+\definecolor{D4}{RGB}{70,195,210}
+\definecolor{A5}{RGB}{0,128,122}
+\definecolor{B5}{RGB}{64,183,105}
+\definecolor{C5}{RGB}{140,198,62}
+\definecolor{D5}{RGB}{213,223,61}
+\foreach \name in {A,B,C,D} {
+ \foreach \hue in {1,2,3,4,5} {
+ \foreach \shade/\intensity in {hint/20,bg/50} {
+ \xglobal\colorlet{\name\hue\shade}{\name\hue!\intensity!white}
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\enspscolors}
+% Create a small tikzpicture with the ENS Paris-Saclay colors.
+% \begin{macrocode}
+\newcommand{\enspscolors}{
+ \begin{tikzpicture}
+ \foreach \letter/\x in {A/0,B/1,C/2,D/3} {
+ \foreach \y/\variant in {0/1,1/2,2/3,3/4,4/5} {
+ \node[color=\letter\variant]
+ (\letter\variant) at (\x,\y)
+ {\letter\variant};
+ \node[color=\letter\variant bg]
+ (BG\letter\variant) at ({\x - 0.2}, {\y - 0.2})
+ {\letter\variant};
+ \node[color=\letter\variant hint]
+ (HT\letter\variant) at ({\x - 0.4}, {\y - 0.4})
+ {\letter\variant};
+ }
+ }
+ \begin{scope}[xshift=2cm]
+ \foreach \name/\x/\y in {
+ Prune/3/4
+ } {
+ \node[color=\name] (\name) at (\x,\y)
+ {\name};
+ }
+
+ \end{scope}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.ins b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.ins
new file mode 100644
index 0000000000..dc88f73bd3
--- /dev/null
+++ b/macros/latex/contrib/ensps-colorscheme/ensps-colorscheme.ins
@@ -0,0 +1,60 @@
+%%
+%% Copyright (C) 2024 Aliaume LOPEZ
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+
+% Load the docstrip commands
+\input docstrip.tex
+
+% Do not be verbose
+\keepsilent
+
+% Where should files be installed?
+\usedir{tex/latex/ensps-colorscheme}
+
+% Add this as a comment on top of every generated files
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 Aliaume LOPEZ
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008-05-04 or later.
+
+\endpreamble
+
+% Generate the ensps.sty file
+\generate{\file{ensps-colorscheme.sty}{\from{ensps-colorscheme.dtx}{ensps}}}
+
+% Explain to the user what should be done to use the package.
+\obeyspaces
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space ensps-colorscheme.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file ensps.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/esami/README b/macros/latex/contrib/esami/README
index 22f183f8d8..b1ef039c0e 100644
--- a/macros/latex/contrib/esami/README
+++ b/macros/latex/contrib/esami/README
@@ -1,6 +1,6 @@
-The esami package v. 2.8
+The esami package v. 2.9
For generation of texts and solutions of exams in LaTeX
-2023/07/21
+2024/07/01
File: README
Author: Grazia Messineo and Salvatore Vassallo
@@ -14,7 +14,7 @@ varying in random order, with closed or open answer, matching, problems, and so
of each group are randomly scrambled across the exam and variants of each exercise are chosen
randomly from a file which contains them all and.
-Copyright: (C) 2008--2023 Grazia Messineo & Salvatore Vassallo
+Copyright: (C) 2008--2024 Grazia Messineo & Salvatore Vassallo
Licence: LPPL
FILES IN DISTRIBUTION
diff --git a/macros/latex/contrib/esami/VERSION b/macros/latex/contrib/esami/VERSION
index 64fbb8d2f3..98dd005629 100644
--- a/macros/latex/contrib/esami/VERSION
+++ b/macros/latex/contrib/esami/VERSION
@@ -1 +1 @@
-VERSION 2.8 DATE=July 17, 2023
+VERSION 2.9 DATE=July 1, 2024
diff --git a/macros/latex/contrib/esami/doc/esami-doc-en.pdf b/macros/latex/contrib/esami/doc/esami-doc-en.pdf
index d2d96db33a..8f06ffc33b 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-en.pdf
+++ b/macros/latex/contrib/esami/doc/esami-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/esami/doc/esami-doc-en.tex b/macros/latex/contrib/esami/doc/esami-doc-en.tex
index 44da55a481..8adc1c17a1 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-en.tex
+++ b/macros/latex/contrib/esami/doc/esami-doc-en.tex
@@ -81,6 +81,7 @@
\changes{Version 2.6}{2021/10/11}{Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces. }
\changes{Version 2.7}{2022/01/11}{Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code.}
\changes{Versione 2.8}{2023/07/21}{Documentation modified to solve a problem with the Spanish Language.}
+\changes{Versione 2.9}{2024/07/03}{Loaded the package tagpdf-base to avoid an error on the measures of the boxes.}
%\IndexPrologue{\section*{Index} Numbers written in italic refer to the page where the item is described; underlined numebers refer to the line of code in which the item is described; other references are to the line of code where the item is used.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -798,7 +799,8 @@ Inside this file you should use only one command, \cmd{\def \textbackslash eserc
\item[Version 2.5 (2018/05/06)] Corrected a misprint in the code. Improved the selection of random exercises.
\item[Version 2.6 (2021/10/11)] Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces.
\item[Version 2.7 (2021/10/11)] Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code
-\item[Versione 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.89 ( 2024/07/03)] Loaded the package tagpdf-base to avoid an error on the measures of the boxes.
\end{description}
\bibliographystyle{plain}
diff --git a/macros/latex/contrib/esami/doc/esami-doc-it.pdf b/macros/latex/contrib/esami/doc/esami-doc-it.pdf
index c4c9c5f20e..8b83d7bdf1 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-it.pdf
+++ b/macros/latex/contrib/esami/doc/esami-doc-it.pdf
Binary files differ
diff --git a/macros/latex/contrib/esami/doc/esami-doc-it.tex b/macros/latex/contrib/esami/doc/esami-doc-it.tex
index 0a2b92414f..dae29f96fe 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-it.tex
+++ b/macros/latex/contrib/esami/doc/esami-doc-it.tex
@@ -79,6 +79,8 @@
\changes{Versione 2.6}{2021/10/11}{Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.}
\changes{Versione 2.7}{2022/01/11}{Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice}
\changes{Versione 2.8}{2023/07/21}{Modificata la documentazione per risolvere un problema con la lingua spagnola.}
+\changes{Versione 2.9}{2024/07/03}{Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.}
+
%\IndexPrologue{\section*{Indice} I numeri scritti in italico rimandano alla pagina dove è descritto l'item; i numeri sottolineati rimandano alla riga di codice in cui l'item è descritto; le altre referenze sono alla riga di codice dove l'item è usato.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -800,7 +802,7 @@ Al suo interno si deve usare un solo comando, \cmd{\def \textbackslash esercizio
\item[Versione 2.6 (2021/10/11)] Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.
\item[Versione 2.7 (2022/01/11)] Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice
\item[Versione 2.8 (2023/07/21)] Modificata la documentazione per risolvere un problema con la lingua spagnola.
-
+ \item[Versione 2.8 (2024/07/03)]Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.
\end{description}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
deleted file mode 100644
index 107265dbc4..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(13:0)}
-\FPeval{c}{round(3:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
deleted file mode 100644
index e736caa6a0..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(14:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(5:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
deleted file mode 100644
index 98ef510098..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
deleted file mode 100644
index ab468d8a75..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(13:0)}
-\FPeval{b}{round(14:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex b/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex
new file mode 100644
index 0000000000..00cc5e002c
--- /dev/null
+++ b/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex
@@ -0,0 +1,84 @@
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 1}}
+\begin{enumerate}
+\item\ref{e:1-file:test2-q:i}
+\item\ref{e:1-file:test3-q:ii}
+\item\ref{e:1-file:test2-q:ii}
+\item\ref{e:1-file:test2-q:iii}
+\item\ref{e:1-file:test3-q:i}
+\item\ref{e:1-file:test1-q:i}
+\item\ref{e:1-file:test9-q:ii}
+\item\ref{e:1-file:test14-q:i}
+\item\ref{e:1-file:test4-q:v}
+\item \makeatletter \input{qftest5-fillinqiie1.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:1-file:test11-q:i}
+\item\ref{e:1-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:1-file:test12-q:i}
+\item\ref{e:1-file:test13-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 2}}
+\begin{enumerate}
+\item\ref{e:2-file:test2-q:iii}
+\item\ref{e:2-file:test3-q:i}
+\item\ref{e:2-file:test2-q:ii}
+\item\ref{e:2-file:test3-q:iv}
+\item\ref{e:2-file:test2-q:i}
+\item\ref{e:2-file:test1-q:ii}
+\item \makeatletter \input{qftest5-fillinqiie2.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:2-file:test9-q:iii}
+\item\ref{e:2-file:test14-q:i}
+\item\ref{e:2-file:test4-q:ii}
+\item\ref{e:2-file:test11-q:i}
+\item\ref{e:2-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:2-file:test13-q:iii}
+\item\ref{e:2-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 3}}
+\begin{enumerate}
+\item\ref{e:3-file:test2-q:iii}
+\item\ref{e:3-file:test3-q:i}
+\item\ref{e:3-file:test2-q:i}
+\item\ref{e:3-file:test3-q:ii}
+\item\ref{e:3-file:test2-q:ii}
+\item\ref{e:3-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie3.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:3-file:test4-q:iii}
+\item\ref{e:3-file:test1-q:i}
+\item\ref{e:3-file:test9-q:iv}
+\item\ref{e:3-file:test11-q:i}
+\item\ref{e:3-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:3-file:test12-q:i}
+\item\ref{e:3-file:test13-q:iv}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 4}}
+\begin{enumerate}
+\item\ref{e:4-file:test2-q:ii}
+\item\ref{e:4-file:test2-q:i}
+\item\ref{e:4-file:test3-q:i}
+\item\ref{e:4-file:test3-q:ii}
+\item\ref{e:4-file:test2-q:iii}
+\item\ref{e:4-file:test4-q:v}
+\item\ref{e:4-file:test9-q:iii}
+\item\ref{e:4-file:test1-q:ii}
+\item\ref{e:4-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie4.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:4-file:test11-q:i}
+\item\ref{e:4-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:4-file:test13-q:iii}
+\item\ref{e:4-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
diff --git a/macros/latex/contrib/esami/esami.sty b/macros/latex/contrib/esami/esami.sty
index 12bf761379..d1f8757d56 100644
--- a/macros/latex/contrib/esami/esami.sty
+++ b/macros/latex/contrib/esami/esami.sty
@@ -145,6 +145,7 @@
% | PACKAGES |
% +=============================+
+\usepackage{tagpdf-base}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage[nomessages]{fp}
diff --git a/macros/latex/contrib/fancyhdr/README b/macros/latex/contrib/fancyhdr/README
index 4a7d219fdc..3131149015 100644
--- a/macros/latex/contrib/fancyhdr/README
+++ b/macros/latex/contrib/fancyhdr/README
@@ -27,7 +27,7 @@ In order to latex the documentation you need to have a copy of
boxedminipage.sty (CTAN:/macros/latex/contrib/boxedminipage) and
refcount.sty (CTAN:/macros/latex/contrib/oberdiek/) installed.
-This is version 4.2 of fancyhdr.sty and extramarks.sty. They are
+This is version 4.3.1 of fancyhdr.sty and extramarks.sty. They are
described in the third edition of The LaTeX Companion.
Extramarks.sty has not been changed, except for the version and
copyright information.
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.dtx b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
index 43c6631bba..c20c966b8b 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.dtx
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
@@ -26,7 +26,7 @@
%<fancyhdr>\ProvidesPackage{fancyhdr}%
%<fancyheadings>\ProvidesPackage{fancyheadings}
%<extramarks>\ProvidesPackage{extramarks}
-%<fancyhdr|extramarks> [2024/04/23 v4.2
+%<fancyhdr|extramarks> [2024/07/23 v4.3.1
%<fancyhdr> Extensive control of page headers and footers]%
%<fancyheadings> [2022/11/09 v4.1
%<fancyheadings> Legacy package to call fancyhdr]
@@ -59,8 +59,6 @@
\def\pAmS{{\the\textfont2
A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
\def\amslatex/{\ams/-\latex/}
-\newcommand{\PSNFSS}{{\sf
- PSNFSS}}
\newcommand{\bs}{\symbol{'134}}
\newcommand{\env}[1]{\texttt{#1}}
\newcommand{\Package}[1]{\textsf{#1}}
@@ -206,7 +204,7 @@
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
% \DoNotIndex{\@ne}
% \DoNotIndex{\advance,\begingroup,\catcode,\closein}
-% \DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\endgroup}
+% \DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\@empty,\endgroup}
%
% \title{The \Package{fancyhdr} and \Package{extramarks}
% packages\\{\normalsize version \fileversion.}}
@@ -228,7 +226,7 @@
%
% This documentation describes version 4.0 or later of the
% \Package{fancyhdr} and \Package{extramarks} packages. The user
-% documentation is valid for the versions 3.8 or later of the
+% documentation is valid for the versions 4.0 or later of the
% \Package{fancyhdr} package (except for the changes mentioned in
% section~\ref{sec:version-4}), and version 2.1 or later of the
% \Package{extramarks} package.
@@ -253,11 +251,11 @@
%
% Part IV contains the annotated implementation.
%
-% This document describes version 4 of \Package{fancyhdr}. This version
-% is also described in the forthcoming edition 3 of \textit{The \latex/ Companion},
-% whereas the previous editions describe version 3 of \Package{fancyhdr}.
-% There are some significant differences between these versions. These
-% are summarized in section~\ref{sec:version-4} on page~\pageref{sec:version-4}.
+% This document describes version 4 of \Package{fancyhdr}, which is described in
+% the \emph{The \LaTeX{} Companion, Third Edition}.
+% The differences between this version and previous versions
+% are summarized in section~\ref{sec:version-4} on
+% page~\pageref{sec:version-4}.
% Throughout this documentation it is mentioned when a specific feature
% is only available in version 4, or when there are differences between
% version 3 and 4.
@@ -304,16 +302,14 @@
% \OPTindex{twoside}
% \OPTindex{headings}
% \OPTindex{myheadings}
-% \DescribeMacro{\fancyhead}
-% \DescribeMacro{\fancyfoot}
-% \DescribeMacro{\fancyhf}
-% \begin{verbatim}
-% \fancyhead[places]{field}
-% \fancyfoot[places]{field}
-% \fancyhf[places]{field}
-% \end{verbatim}
-% Here \texttt{places} is a comma-separated list of places where
-% \texttt{field} will be placed. There are 12 places defined: Left,
+%
+% \begin{flushleft}
+% \DescribeMacro{\fancyhead}\cmd{\fancyhead}\oarg{places}\marg{field} \\
+% \DescribeMacro{\fancyfoot}\cmd{\fancyfoot}\oarg{places}\marg{field} \\
+% \DescribeMacro{\fancyhf}\cmd{\fancyhf}\oarg{places}\marg{field}
+% \end{flushleft}
+% Here \meta{places} is a comma-separated list of places where
+% \meta{field} will be placed. There are 12 places defined: Left,
% Center and Right Headers and Footers, and both can be on Even or Odd
% pages. Each place therefore has 3 coordinates which are the inital
% letters of the above description: (1) \texttt{E} or \texttt{O}, (2) \texttt{L}, \texttt{C} or
@@ -321,14 +317,12 @@
% letters, like \texttt{EOH}. A missing coordinate means: all
% possibilities, except for \cs{fancyhead} where \texttt{H} is implied
% and \cs{fancyfoot} where \texttt{F} is implied.
-% \DescribeMacro{\fancyheadoffset}
-% \DescribeMacro{\fancyfootoffset}
-% \DescribeMacro{\fancyhfoffset}
-% \begin{verbatim}
-% \fancyheadoffset[places]{field}
-% \fancyfootoffset[places]{field}
-% \fancyhfoffset[places]{field}
-% \end{verbatim}
+%
+% \begin{flushleft}
+% \DescribeMacro{\fancyheadoffset}\cmd{\fancyheadoffset}\oarg{places}\marg{length} \\
+% \DescribeMacro{\fancyfootoffset}\cmd{\fancyfootoffset}\oarg{places}\marg{length} \\
+% \DescribeMacro{\fancyhfoffset}\cmd{\fancyhfoffset}\oarg{places}\marg{length}
+% \end{flushleft}
% These define offsets to let the headers stick into the margin (or to
% the inside if negative). Places cannot contain the \texttt{C}
% specifier. See section~\ref{sec:book-examples} for more details.
@@ -340,7 +334,6 @@
% \DescribeMacro{\headrule}
% \DescribeMacro{\footrule}
% \DescribeMacro{\headwidth}
-%
% \cs{headrulewidth} and \cs{footrulewidth} are macros to define the
% thickness of a line under the header and above the footer.
% \cs{headruleskip} and \cs{footruleskip} are macros that define the
@@ -353,7 +346,6 @@
% \DescribeMacro{\fancyheadinit}
% \DescribeMacro{\fancyfootinit}
% \DescribeMacro{\fancyhfinit}
-%
% \cs{fancyheadinit} and \cs{fancyfootinit} can be used to define
% initialisation code for the header and footer, respectively, and
% \cs{fancyhfinit} defines both of these. These commands are only
@@ -367,7 +359,6 @@
% \DescribeMacro{\ifbotfloat}
% \DescribeMacro{\iffloatpage}
% \DescribeMacro{\iffootnote}
-%
% The macros \cs{iftopfloat}, \cs{ifbotfloat}, \cs{iffloatpage} and
% \cs{iffootnote} are used to detect if there is a float on the top or
% the bottom of the page, or the page is a float page, or if there is
@@ -375,10 +366,10 @@
% different headers and/or footers if these conditions are met. See
% section~\ref{sec:float} for more details.
%
-% \begin{quote}
-% \DescribeMacro{\fancypagestyle}
-% \verb|\fancypagestyle|\marg{style-name}\oarg{base-style}\marg{definitions}
-% \end{quote}
+% \begin{flushleft}
+% \DescribeMacro{\fancypagestyle}
+% \cmd{\fancypagestyle}\marg{style-name}\oarg{base-style}\marg{definitions}
+% \end{flushleft}
% This command lets you (re)define page styles for use in special
% situations. See section~\ref{sec:fancypagestyle} for more details.
%
@@ -393,13 +384,6 @@
% \DescribeMacro{\lastrightmark}
% \DescribeMacro{\firstrightmark}
% \DescribeMacro{\lastleftmark}
-% \begin{verbatim}
-% \firstleftmark
-% \lastrightmark
-% \firstrightmark
-% \lastleftmark
-% \end{verbatim}
-%
% Standard \latex/ has two marks: a left and a right one. The standard
% command \cs{leftmark} gives you the last left mark on a page, and
% \cs{rightmark} gives you the first right one. These macros give you
@@ -486,7 +470,7 @@
%
% The page headers and footers in \LaTeX{} are defined by the
% \cs{pagestyle} and \cs{pagenumbering} commands. \cs{pagestyle}
-% defines the general contents of the headers and footers (e.g. where the
+% defines the general contents of the headers and footers (e.g.\ where the
% page number will be printed), while
% \cs{pagenumbering} defines the format of the page number.
% \LaTeX{} has four standard page styles:
@@ -527,7 +511,7 @@
%
% These are not user commands, but rather ``variables'' that are used by
% \latex/'s output routine.
-% As the command names contain the character '\texttt{@}', they should
+% As the command names contain the character `\texttt{@}', they should
% be defined in a package file, or otherwise be sandwiched between the commands
% \cs{makeatletter} and \cs{makeatother}.
%
@@ -605,6 +589,12 @@
% We define each of the six ``fields'' and the two decorative lines
% separately.
%
+% \begin{fblock}
+% \textbf{NOTE:} In \Package{fancyhdr} version 4.3 and later, paragraph
+% hooks will not work inside \Package{fancyhdr} headers and footers to
+% avoid unwanted interactions with the main text.
+% \end{fblock}
+%
% \section{A simple example}
% \label{sec:simple}
%
@@ -784,7 +774,7 @@
% for which pages and/or parts of the header/footer they apply. The first
% \cs{fancyhead} command above omits this parameter, and thus applies to all
% header fields. In general this is only useful to get rid of the defaults or
-% a previous definition, as is done here. Similar the \cs{fancyfoot} command
+% a previous definition, as is done here. Similarly the \cs{fancyfoot} command
% without square brackets clears all footer fields. In this particular
% example it could be omitted as all footer fields have a value specified.
% The selectors that can be used
@@ -846,7 +836,7 @@
% \cs{ps@plain} command, but \Package{fancyhdr} gives you an easier way
% with the \cs{fancypagestyle} command. This command can be used to
% redefine existing page styles (like \texttt{plain}) or to define new ones,
-% e.g. if part of your document needs a different page style. This command
+% e.g.\ if part of your document needs a different page style. This command
% has two mandatory parameters: the first one is the name of the page style to be defined, the
% second consists of commands that change the headers and/or footers, i.e.,
% \verb|\fancyhead| etc. Also allowed are changes to \cs{headrulewidth} and
@@ -1105,8 +1095,8 @@
% section and subsection information (section only for one-sided
% printing). \latex/ uses a marker mechanism to remember the chapter and
% section (section and subsection) information for a page; this is
-% discussed in detail in \textit{The \latex/ Companion}, Section 4.3.1, or
-% \textit{The \latex/ Companion, Second Edition}, Section 4.3.4.
+% discussed in detail in \emph{The \LaTeX{} Companion, Third Edition},
+% section 5.3.4 (Part I).
%
% There are two ways you can use and change the higher- and lower-level
% sectioning information available to you. The macros:
@@ -1263,7 +1253,7 @@
%
% As an example let's take a page layout where the leftmarks are generated by
% the sections and the rightmarks by the subsections (as is default in the
-% \texttt{article} class). Take a page with some short sections, e.g.
+% \texttt{article} class). Take a page with some short sections, e.g.,
%
% \begin{samepage}
% \noindent Section 1.\\
@@ -1294,7 +1284,7 @@
% \end{verbatim}
%
% Another problem with the marks in the standard \latex/ classes is that the
-% higher level sectioning commands (e.g. \cs{chapter}) call
+% higher level sectioning commands (e.g.\ \cs{chapter}) call
% \cs{markboth} with an empty right argument. This means that on the first
% page of a chapter (or a section in article style) the \cs{rightmark}
% will be empty. The underlying problem is that the \tex/ machinery has
@@ -1310,7 +1300,7 @@
% \cs{chapter} etc.\ commands do \emph{not} call the mark commands. So if
% you want your preface to set the header info but not be numbered nor be put in
% the table of contents, you must issue the \cs{markboth} command
-% yourself, e.g.
+% yourself, e.g.,
%
% \begin{verbatim}
% \chapter*{Preface}
@@ -1378,7 +1368,8 @@
% \footnote{If you use \texttt{11pt} or \texttt{12pt} you will probably also
% have to do this, because \LaTeX's defaults are quite small}. See the
% warning below.
-% See also Section 4.1 of the \latex/ \emph{Companion} for detail.
+% See also section 5.1 and 5.2 of the \LaTeX{} \emph{Companion, Third Edition}, (Part I)
+% for detail.
%
% For instance, the following code will place the section title and the
% subsection title of an article in two lines in the upper right hand
@@ -1626,7 +1617,7 @@
% in the neighborhood of your header/footer definitions, unless you
% already use such an \texttt{\ldots offset} command, of course.
% \vspace{\baselineskip}
-%
+%
% For the second example, we take the \amslatex/ book\footnote{George Gratzer,
% \textit{Math into LaTeX, An Introduction to \LaTeX{} and \amslatex/}, Birkhauser, Boston.}.
%
@@ -1661,18 +1652,19 @@
% \renewcommand{\footrulewidth}{0pt}
% \end{verbatim}
%
-% The font used in the headers is 9 pt bold Helvetica. The \PSNFSS\ system
-% by Sebastian Rahtz uses the short (Karl Berry) name \verb|phv| for
-% Helvetica, so this font is selected with the commands:
+% The font used in the headers is 9 pt bold Helvetica. The \textsf{PSNFSS} system
+% (originally by the late Sebastian Rahtz) uses the short (Karl Berry) name \texttt{phv} for
+% Helvetica. The more modern \LaTeX{} solution is to use the \TeX{} Gyre font
+% Heros, which uses the short name \texttt{qhv} so this font is selected with the commands^^A
+% \footnote{See \emph{The \LaTeX{} Companion, Third Edition}, Part I, section
+% 9.5.2, and Part II, section 10.8.16.}:
% \begin{verbatim}
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont
% \end{verbatim}
-% (See Sections 7.6.1 and 11.9.1 of the \latex/ \emph{Companion} or
-% Sections 7.6 and 7.9.1 of \emph{The \latex/ Companion, Second Edition}.)
% Let us define a shorthand for this:
% \begin{verbatim}
% \newcommand{\helv}{%
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont}
% \end{verbatim}
%
% Now we are ready for the page layout:
@@ -1688,7 +1680,7 @@
% \renewcommand{\headrulewidth}{0.5pt}
% \renewcommand{\footrulewidth}{0pt}
% \newcommand{\helv}{%
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont}
% \fancyhf{}
% \fancyhead[LE,RO]{\helv \thepage}
% \fancyhead[LO]{\helv \rightmark}
@@ -1719,6 +1711,21 @@
% \renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
% \end{verbatim}
%
+% \textbf{NOTE:} There is also a package \TTindex{floatpag}%
+% \Package{floatpag}\footnote{\url{https://www.ctan.org/pkg/floatpag}} by Vytas
+% Statulevičius and Sigitas Tolušis that has a command
+% \cs{floatpagestyle}\marg{pagestyle}, that applies \meta{pagestyle} to
+% all float pages, where \meta{pagestyle} can be defined with
+% \cs{fancypagestyle} (or by any other means).
+%
+% \textbf{NOTE:} There is also a package \TTindex{floatpag}%
+% \Package{floatpag}\footnote{\url{https://www.ctan.org/pkg/floatpag}} by Vytas
+% Statulevičius and Sigitas Tolušis that has a command
+% \cs{floatpagestyle}\marg{pagestyle}, that applies \meta{pagestyle} to
+% all float pages, where \meta{pagestyle} can be defined with
+% \cs{fancypagestyle} (or by any other means). In some cases this might
+% be simpler than putting \cs{iffloatpage} in various headers or footers.
+%
% Sometimes you may want to change the layout also for pages that contain a
% float on the top of the page, a float on the bottom of the page or a footnote on the bottom of the page.
%
@@ -1848,12 +1855,16 @@
% \CmdIndex{pagenumbering}
%
% \begin{verbatim}
+% \clearpage
% \pagenumbering[\thesection]{bychapter}
% \end{verbatim}
%
% What the package also does is reset the page number to 1 at the beginning
% of each chapter.
%
+% In general it is advisable to give a \cs{clearpage} or
+% \cs{cleardoublepage} before changing the page numbering.
+%
% In the frontmatter of your document (for example the Table of
% Contents) there will be no chapter numbers. Therefore a simple page
% number will be used there. This may be confusing, so you might prefer to use roman pagenumbers
@@ -2601,7 +2612,7 @@
% \end{enumerate}
%
% In the first two cases you must first check if you have given the correct
-% ``placement'' parameter to you float, e.g. \Cmd{begin\{figure\}[htp]}
+% ``placement'' parameter to you float, e.g.\ \Cmd{begin\{figure\}[htp]}
% specifies that your figure may be placed either: Here (i.e., in the text
% position where the command is given), on the Top of a page (which may be
% the page where you put the command), or on a separate Page of floats. You
@@ -2660,7 +2671,7 @@
% than 50\% of the page height it will have to wait until some more floats
% are given before a float page can be filled to satisfy the
% \cs{floatpagefraction} parameter. If you have this kind of behaviour you
-% can easily adapt the parameters, e.g. with:
+% can easily adapt the parameters, e.g.\ with:
% \begin{verbatim}
% \renewcommand{\textfraction}{0.05}
% \renewcommand{\topfraction}{0.95}
@@ -2673,7 +2684,7 @@
%
% You can force \latex/ to ignore most of the parameters for one specific float
% occurrence by
-% including an exclamation mark (!) in the placement parameters, e.g.
+% including an exclamation mark (!) in the placement parameters, e.g.,
% \begin{verbatim}
% \begin{figure}[!htb]
% \end{verbatim}
@@ -2811,7 +2822,7 @@
% normal text rather than a \cs{caption}, so that it will not be entered in
% the list of figures. It may also be desirable to issue a \cs{clearpage}
% first, just like we did for the \texttt{longtable}, and to encapsulate this
-% in the \cs{afterpage} command. E.g.
+% in the \cs{afterpage} command. E.g.,
% \begin{verbatim}
% \afterpage{\clearpage\input{myfigure}}
% \end{verbatim}
@@ -2832,7 +2843,7 @@
%
% You have to make sure that the last part is big enough, otherwise \LaTeX{}
% could decide to postpone it until it has collected some more floats. This
-% can be done either by making the figure big enough (e.g. by adding some
+% can be done either by making the figure big enough (e.g.\ by adding some
% \cs{vspace}), or by tweaking the \cs{floatpagefraction}
% \CmdIndex{floatpagefraction} parameter.
%
@@ -3054,9 +3065,27 @@
% \cs{input} in headers/footers when \texttt{verbatim} is active.
% (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)
% \end{itemize}
+% \item Version 4.3, July 17, 2024
+% \begin{itemize}
+% \item Changed \cs{f@nch@everypar}. If the LaTeX kernel has
+% \texttt{expl3}, use \cs{tex\_everypar:D}, and reset \cs{par},
+% \cs{@@par} and \cs{endgraf} to their original \TeX{} definitions, so that
+% no paragraph hooks will intrude in \Package{fancyhdr} code\footnote
+% {See \url{https://tex.stackexchange.com/q/691262/113546}}.
+% Therefore paragraph hooks will not work inside \Package{fancyhdr} headers and
+% footers to avoid unwanted interactions with the main text.
+% \end{itemize}
+% \item % Version 4.3.1, July 23, 2024
+% \begin{itemize}
+% \item Also reset \cs{everypar} to its original \TeX{} value
+% \cs{tex\_everypar:D} in \cs{f@nch@resetpar}, otherwise environments
+% based on \cs{trivlist} will not work properly in \Package{fancyhdr}
+% headers and footers.
+% \end{itemize}
% \end{itemize}
%
%
+%
% \StopEventually{%
% \PrintChanges
% \PrintIndex}
@@ -3648,26 +3677,8 @@
\ProcessOptions*
% \end{macrocode}
%
-% \begin{macro}{\f@nch@errmsg}
-% This macro generates an error message.
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{f@nch@ifundefined} instead of \cs{ifx}.}
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{newcommand} instead of \cs{def}.}
-% \begin{macrocode}
-\newcommand\f@nch@errmsg[1]{%
- \f@nch@ifundefined{PackageError}{\errmessage{#1}}{\PackageError{fancyhdr}{#1}{}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\f@nch@warning}
-% This macro generates a warning.
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{f@nch@ifundefined} instead of \cs{ifx}.}
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{newcommand} instead of \cs{def}.}
-% \begin{macrocode}
-\newcommand\f@nch@warning[1]{%
- \f@nch@ifundefined{PackageWarning}{\errmessage{#1}}{\PackageWarning{fancyhdr}{#1}{}}}
-% \end{macrocode}
-% \end{macro}
-%
+% \changes{fancyhdr v4.3}{2024/05/08}{Removed \cs{f@nch@errmsg} and
+% \cs{f@nch@warning} and used \cs{PackageError} and \cs{PackageWarning} directly.}
% \begin{macro}{\f@nch@forc}
% Usage: \cs{f@nch@forc} \cs{var} \texttt{\{charstring\}\{body\}}.\\
% Execute the body for each character in \texttt{charstring} bound
@@ -3766,7 +3777,7 @@
\if@twoside\else
\iff@nch@twoside\else
\if\f@nch@@eo e%
- \f@nch@warning {\string#1's `E' option without twoside option is useless.\MessageBreak
+ \PackageWarning{fancyhdr} {\string#1's `E' option without twoside option is useless.\MessageBreak
Please consider using the `twoside' option}%
\fi\fi\fi
}
@@ -3791,8 +3802,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolcrhf,EOLCRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -3827,8 +3838,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolrhf,EOLRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -4000,6 +4011,14 @@
% \begin{macro}{\f@nch@raggedright}
% \begin{macro}{\f@nch@centering}
% \begin{macro}{\f@nch@everypar}
+% \changes{fancyhdr v4.3}{2024/07/17}{Changed \cs{f@nch@everypar}. If the
+% LaTeX kernel has expl3, use \cs{tex\_everypar:D}, and reset \cs{par},
+% \cs{@@par} and \cs{endgraf} to their original \TeX{} definitions, so that
+% no paragraph hooks will intrude in \Package{fancyhdr} code.}
+% \changes{fancyhdr v4.3.1}{2024/07/23}{Also reset \cs{everypar} to its
+% original \TeX{} value \cs{tex\_everypar:D} in \cs{f@nch@resetpar},
+% otherwise environments based on \cs{trivlist}
+% will not work properly in \Package{fancyhdr} headers and footers.}
% Save the standard definitions of \cs{raggedleft}, \cs{raggedright},
% \cs{centering} and \cs{everypar} so that we can reset them when we are
% typesetting the headers and footers. Some packages change these to
@@ -4008,7 +4027,23 @@
\let\f@nch@raggedleft\raggedleft
\let\f@nch@raggedright\raggedright
\let\f@nch@centering\centering
-\let\f@nch@everypar\everypar
+\ifdefined\ExplSyntaxOn
+ \ExplSyntaxOn
+ \let\f@nch@everypar\tex_everypar:D
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ \cs_set_eq:NN \everypar\tex_everypar:D
+ \cs_set_eq:NN \par \tex_par:D
+ \cs_set_eq:NN \@@par \tex_par:D
+ \cs_set_eq:NN \endgraf \tex_par:D
+ }
+ \ExplSyntaxOff
+\else
+ \let\f@nch@everypar\everypar
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ }
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -4044,8 +4079,10 @@
% \changes{fancyhdr v4.2}{2024/04/19}{Reset catcodes to their default
% values in order to facilitate \cs{input} in headers/footers when \texttt{verbatim}
% is active. (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)}
+% \changes{fancyhdr v4.3}{2024/05/08}{Remove pre-NFSS stuff}
+% \changes{fancyhdr v4.3}{2024/07/17}{Replace \cs{f@nch@everypar} by \cs{f@nch@resetpar}.}
% \begin{macrocode}
-\def\f@nch@reset{\f@nch@everypar{}\restorecr\endlinechar=13
+\def\f@nch@reset{\f@nch@resetpar\restorecr\endlinechar=13
\catcode`\\=0\catcode`\{=1\catcode`\}=2\catcode`\$=3\catcode`\&=4
\catcode`\#=6\catcode`\^=7\catcode`\_=8\catcode`\ =10\catcode`\@=11
\catcode`\:=11\catcode`\~=13\catcode`\%=14
@@ -4061,10 +4098,8 @@
\expandafter\def\csname MakeUppercase\space\space\space\endcsname
[####1]####2{####2}%
##1}}%
- \f@nch@ifundefined{@newbaseline} % NFSS not present; 2.09 or 2e
- {\f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
- {\@normalsize}}%
- {\@newbaseline}% NFSS (2.09) present
+ \f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
+ {\@normalsize}%
}
% \end{macrocode}
% \end{macro}
@@ -4213,7 +4248,7 @@
% \begin{macrocode}
\iff@nch@check
\dimen0=#1\advance\dimen0-\ht0
- \f@nch@warning{%
+ \PackageWarning{fancyhdr}{%
\string#1 is too small (\the#1): \MessageBreak
Make it at least \the\ht0, for example:\MessageBreak
\string\setlength{\string#1}{\the\ht0}%
@@ -4309,7 +4344,7 @@
% \cs{color} command. The \cs{ignorespaces} skips initial spaces in
% the parameter, as is usual in a \cs{parbox}, for backwards compatibility.}
% We put the \cs{footrule} in a \cs{vbox} to accommodate for flexible
-% footrules (e.g. using \cs{hrulefill}), so that the \cs{headwidth} will
+% footrules (e.g.\ using \cs{hrulefill}), so that the \cs{headwidth} will
% be used as the line width. But to preserve the vertical spacing we
% then \cs{unvbox} this box.
%
@@ -4348,7 +4383,7 @@
% \end{macro}
%
% \begin{macro}{\@chapapp}
-% Define \cs{@chapapp} for classes that don't have it, e.g. amsbook
+% Define \cs{@chapapp} for classes that don't have it, e.g.\ amsbook
% \begin{macrocode}
\f@nch@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%
% \end{macrocode}
@@ -4660,9 +4695,10 @@
% \begin{macro}{\iffootnote}
% These can be used in a header/footer field to make them conditional on
% the presence of floats and/or footnotes.
+% \changes{fancyhdr v4.3}{2024/05/08}{Replace \cs{empty} with \cs{@empty}}
% \begin{macrocode}
-\newcommand\iftopfloat[2]{\ifx\topfloat\empty #2\else #1\fi}%
-\newcommand\ifbotfloat[2]{\ifx\botfloat\empty #2\else #1\fi}%
+\newcommand\iftopfloat[2]{\ifx\topfloat\@empty #2\else #1\fi}%
+\newcommand\ifbotfloat[2]{\ifx\botfloat\@empty #2\else #1\fi}%
\newcommand\iffloatpage[2]{\if@fcolmade #1\else #2\fi}%
\newcommand\iffootnote[2]{\iff@nch@footnote #1\else #2\fi}%
% \end{macrocode}
@@ -4688,10 +4724,10 @@
% \begin{macrocode}
\long\def\f@nch@pagestyle#1[#2]#3{%
\f@nch@ifundefined{ps@#2}{%
- \f@nch@errmsg{\string\fancypagestyle: Unknown base page style `#2'}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Unknown base page style `#2'}{}%
}{%
\f@nch@ifundefined{f@nch@ps@#2-is-fancyhdr}{%
- \f@nch@errmsg{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}{}%
}%
{%
\@namedef{ps@#1}{\let\f@nch@gbl\relax\@nameuse{ps@#2}#3\relax}%
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.pdf b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
index 9f781dad3b..35cc4524ff 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.pdf
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
Binary files differ
diff --git a/macros/latex/contrib/heria/README.md b/macros/latex/contrib/heria/README.md
index b3d5cf32b1..664e9ae18b 100644
--- a/macros/latex/contrib/heria/README.md
+++ b/macros/latex/contrib/heria/README.md
@@ -34,5 +34,5 @@ feature requests.
The `heria` class is distributed under the conditions of the [LaTeX
Project Public License](https://www.latex-project.org/lppl.txt),
-either version 1.3 of this license or (at your option) any later
+either version 1.3c of this license or (at your option) any later
version.
diff --git a/macros/latex/contrib/heria/heria-proposal.pdf b/macros/latex/contrib/heria/heria-proposal.pdf
index f8d64312a9..60d99c6dab 100644
--- a/macros/latex/contrib/heria/heria-proposal.pdf
+++ b/macros/latex/contrib/heria/heria-proposal.pdf
Binary files differ
diff --git a/macros/latex/contrib/heria/heria.dtx b/macros/latex/contrib/heria/heria.dtx
index 5c6b5e9691..60cc0162f1 100644
--- a/macros/latex/contrib/heria/heria.dtx
+++ b/macros/latex/contrib/heria/heria.dtx
@@ -1,10 +1,10 @@
% \iffalse meta-comment
%
-% Copyright 2023 Tristan Miller
-% -----------------------------
+% Copyright 2023, 2024 Tristan Miller
+% -----------------------------------
%
% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
@@ -18,11 +18,11 @@
\ProvidesFile{heria.dtx}
%</driver>
%<*class>
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%% Copyright 2016 John Kormylo
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -33,7 +33,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{heria}
%<*class>
-[2023-12-04 v3.2.1.0 Class for Horizon Europe (R)IA proposals]
+[2024-07-14 v3.4.1.0 Class for Horizon Europe (R)IA proposals]
%</class>
%
%<*driver>
@@ -50,7 +50,7 @@
%</driver>
% \fi
%
-% \CheckSum{1506}
+% \CheckSum{1520}
%
% \CharacterTable
% {Upper-case \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
@@ -80,8 +80,9 @@
% for an explanation of the versioning scheme.}}
%
% \author{Tristan Miller\\
-% Austrian Research Institute for Artificial Intelligence\\
-% \texttt{tristan.miller@ofai.at}}
+% Department of Computer Science\\
+% University of Manitoba\\
+% \texttt{Tristan.Miller@umanitoba.ca}}
%
% \maketitle
% \tableofcontents
@@ -104,14 +105,9 @@
% the user. The advantage of this becomes clear when one considers
% that much of the data is reused across multiple tables.
%
-% At the time of writing (2023-12-04), open calls to the RIA and IA
-% calls require proposals to be submitted according to either
-% Version~3.2 (2022-11-15) or Version~3.3 (2023-09-27) of the Part~B
-% template. The \textsf{heria} package was developed with reference
-% to the Version~3.2 template; however, according to the changelog for
-% the Version~3.3 template, the only difference from the previous
-% version is the addition of some instructions concerning the use of
-% generative AI tools for the preparation of the proposal.
+% The \textsf{heria} package can be used to write proposals using
+% either Version~3.2 (2022-11-15), 3.3 (2023-09-27), or 3.4
+% (2024-04-04) of the official Part~B template.
%
% \section{Usage}
%
@@ -140,8 +136,20 @@
%
% \medskip
%
-% \noindent Following \cs{documentclass} you should provide the
-% proposal metadata using the following macros:
+% \noindent Following \cs{documentclass} you should tell
+% \textsf{heria} which version of the official Part~B template you
+% want to use:
+%
+% \DescribeMacro{\templateversion} This macro sets the version of the
+% official Part~B template the proposal should use. It takes a single
+% argument; valid values are \verb|3.2|, \verb|3.3|, and \verb|3.4|.
+% If you omit this macro, \textsf{heria} will default to using the
+% latest version of the template.
+%
+% \medskip
+%
+% \noindent You should then provide the proposal metadata using the
+% following macros:
%
% \DescribeMacro{\title} This macro takes the title of the proposal as
% its sole argument. This title will be printed by the \cs{maketitle}
@@ -446,18 +454,6 @@
%
% \section{Limitations and caveats}
%
-% \paragraph{No backward compatibility.} This version of the
-% \textsf{heria} class implements a specific version of the official
-% Horizon Europe template as described in §\ref{sec:introduction}. It
-% is intended that \textsf{heria}, over the course of its development,
-% will track changes made to the official template. Since these
-% changes may be incompatible with previous versions, you are advised
-% to retain a copy of the version of \textsf{heria} you used to
-% produce a proposal; this way you will still be able to build the
-% proposal even if you later install a new version of \textsf{heria}.
-% See §\ref{sec:version} for further information on \textsf{heria}'s
-% versioning scheme and when to expect breaking changes.
-%
% \paragraph{Table 3.1h.} The instructions in the official template
% are ambiguous about the construction of the tables for purchase
% costs. In particular, it's not clear whether each individual cost
@@ -497,21 +493,26 @@
%
% Each release of the \textsf{heria} class carries a version number in
% the format \textit{omaj.\allowbreak omin.\allowbreak maj.\allowbreak
-% min}. Here \textit{omaj.omin} is the version number of the official
-% Horizon Europe RIA template that the class implements, and
+% min}. Here \textit{omaj.omin} is the highest version number of the
+% official Horizon Europe RIA template that the class implements, and
% \textit{maj} and \textit{min} represent, respectively, major and
% minor revisions to the class (including any ancillary files, such as
% the skeleton proposal and documentation). A major revision is one
-% that includes breaking changes or significant new features; minor
-% revisions are for all other changes. You should generally assume
-% that any change to \textit{omaj.omin} introduces breaking changes to
-% the class interface and\slash or significant changes to the official
-% proposal preparation instructions.
+% that includes potentially breaking changes or significant new
+% features; minor revisions are for all other changes. While efforts
+% will be made to preserve compatibility with earlier versions of the
+% official template (via the \cs{templateversion} macro), any change
+% to \textit{omaj.omin} could unavoidably introduce breaking changes
+% to the class interface. Any such changes will be noted in the
+% package documentation.
%
% \subsection{Version history}
%
% \begin{description}
-% \item[v3.2.1.0 (2023-12-04)] Initial release.
+% \item[v3.4.1.0 (2024-07-14)] Add support for version 3.4 of the
+% official Part~B template and the \cs{templateversion} macro for
+% backward compatibility with earlier versions.
+% \item[v3.2.1.0 (2023-12-04)] Initial release.
% \end{description}
%
% \section{Disclaimer}
@@ -599,6 +600,22 @@
\definecolor{summaryblue}{HTML}{00B0F0}
% \end{macrocode}
%
+% \subsection*{Set official Horizon Europe template version}
+%
+% \begin{macrocode}
+\gdef\@templateversion{3.4} % Default version
+\def\@supportedtemplateversions{3.2,3.3,3.4} % Supported versions
+\ExplSyntaxOn
+\NewDocumentCommand{\templateversion}{m}{%
+ \clist_if_in:NnTF {\@supportedtemplateversions} {#1}
+ {\gdef\@templateversion{#1}}
+ {\PackageError{heria}%
+ {unsupported~template~version}%
+ {Use~one~of~\@supportedtemplateversions}
+ }%
+}
+\ExplSyntaxOff
+% \end{macrocode}
% \subsection*{Basic proposal variables}
%
% \begin{macrocode}
@@ -1459,7 +1476,6 @@
% communication with Tristan Miller on 2023-12-02.
%
% \begin{macrocode}
-\RequirePackage{everypage}
\RequirePackage{environ}
\newcounter{abspage}% \thepage not reliab
\newcommand{\newSFPage}[1]% #1 = \theabspage
@@ -1474,15 +1490,17 @@
\rotatebox{90}{\parbox[c][\textwidth][c]{\textheight}{\BODY}}%
\fi
\end{figure}}
-\AddEverypageHook{% check if sideways figure on this page
- \ifdim\textwidth=\textheight
- \stepcounter{abspage}% already in landscape
- \else
- \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
- \stepcounter{abspage}%
- \@ifundefined{SFPage@\theabspage}{}%
- {\global\pdfpageattr{/Rotate 90}}%
- \fi}
+\AddToHook{shipout/background}{% check if sideways figure on this page
+ \put(1in,-1in){%
+ \ifdim\textwidth=\textheight
+ \stepcounter{abspage}% already in landscape
+ \else
+ \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
+ \stepcounter{abspage}%
+ \@ifundefined{SFPage@\theabspage}{}%
+ {\global\pdfpageattr{/Rotate 90}}%
+ \fi}%
+ }
% \end{macrocode}
%
% \subsection*{Font setup}
@@ -1987,7 +2005,7 @@ purchase costs for equipment).
environmental objectives of the EU Taxonomy Regulation.}
\item
\emph{If you plan to use, develop and/or deploy artificial
- intellingence (AI) based systems and/or techniques you must
+ intelligence (AI) based systems and/or techniques you must
demonstrate their technical robustness. AI-based systems or techniques
should be, or be developed to become:~}
@@ -2371,12 +2389,33 @@ Please provide the following:
\item
\emph{Give full details. Base your account on the logical structure of
the project and the stages in which it is to be carried out.}
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
\emph{The number of work packages should be proportionate to the scale
and complexity of the project.}
\item
\emph{You should give enough detail in each work package to justify
the proposed resources to be allocated and also quantified information
so that progress can be monitored, including by the Commission}
+\else
+ \emph{Each work package should be a substantial part of the work
+ plan, and the number of work packages should be proportionate to
+ the scale and complexity of the project.}
+\item \emph{Structure each work package by breaking it down into
+ tasks. If tasks are not appropriate, work packages can be
+ organised according to other criteria (e.g., according to the type
+ of work or thematically). For each task or element of the work
+ package, describe all activities to be carried out and quantify
+ them (e.g., number of protocols, tests, measurements,
+ combinations, study subjects, conferences, publications,
+ etc.). Provide enough detail to clarify who will do this work and
+ why it is needed for the project, (e.g., the level of
+ qualification and number of person-months for personnel, as well
+ as the requested equipment, consumables, meetings, etc.), to
+ justify the proposed resources and so that progress can be
+ monitored, including by the Commission.}
+\fi
+\makeatother
\item
\emph{Resources assigned to work packages should be in line with their
objectives and deliverables. You are advised to include a distinct
@@ -2431,9 +2470,15 @@ Please provide the following:
\end{itemize}
%</hi-workplan>
%<*hi-wp-description>
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
(where appropriate, broken down into tasks), lead partner and role of
participants. Deliverables linked to each WP are listed in table 3.1c
(no need to repeat the information here).
+\else
+(where appropriate, broken down into tasks), lead partner and role of participants. For each task, quantify the amount of work. Provide enough detail to justify the resources requested and clarify why the work is needed and who will do it. Deliverables linked to each WP are listed in table 3.1c (no need to repeat the information here).
+\fi
+\makeatother
%</hi-wp-description>
%<*hi-wp-objectives>
\twarn \emph{Participants involved in each WP and their efforts are
@@ -2441,10 +2486,10 @@ participants. Deliverables linked to each WP are listed in table 3.1c
each WP are shown in table 3.1a.)}
%</hi-wp-objectives>
%<*heria-proposal>
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -2453,6 +2498,8 @@ participants. Deliverables linked to each WP are listed in table 3.1c
%%
\documentclass[showinstructions]{heria}
+\templateversion{3.4}
+
\title{Skeleton Horizon Europe Proposal}
\callname{insert call name}
\callidentifier{HORIZON-XX0-0000-XXXXX-00-XXXXX}
diff --git a/macros/latex/contrib/heria/heria.ins b/macros/latex/contrib/heria/heria.ins
index 89b8b7f72c..406573836d 100644
--- a/macros/latex/contrib/heria/heria.ins
+++ b/macros/latex/contrib/heria/heria.ins
@@ -1,8 +1,8 @@
%%
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/heria/heria.pdf b/macros/latex/contrib/heria/heria.pdf
index af4f0cd627..71b47d5ed5 100644
--- a/macros/latex/contrib/heria/heria.pdf
+++ b/macros/latex/contrib/heria/heria.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/Changes b/macros/latex/contrib/hvqrurl/Changes
index ac9fca90d3..2b4551ba30 100644
--- a/macros/latex/contrib/hvqrurl/Changes
+++ b/macros/latex/contrib/hvqrurl/Changes
@@ -1,4 +1,5 @@
hvqrurl.sty:
+0.09 2024-05-16 - added option "forget" to create all codes new
0.08 2024-05-14 - fix for color setting of the qrcode
0.07 2024-02-06 - allow active chars in linktext
0.06 2024-02-03 - fix for introduced bug with linktext
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
index 0960eb3f17..eaf57e1246 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
index 9886a639c0..175933e943 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.tex 895 2024-05-14 19:22:17Z herbert $
+%% $Id: hvqrurl.tex 901 2024-05-26 07:18:06Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside=on,usegeometry]{scrartcl}
@@ -38,7 +38,7 @@
linktocpage, colorlinks=true}%
\begin{document}
-\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.08}
+\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.09}
\author{Herbert Voß\thanks{\protect\url{hvoss@tug.org}}}
\date{\today}
\maketitle
@@ -53,8 +53,30 @@ and
\end{abstract}
-\section{The macros}
+\section{Package option}
+There is only one package option \Lkeyword{forget}. If it is used, then all
+qrcodes are always created new and the already existing codes in the \Lext{aux} file
+are not used. The deafult is not to use this option. For example: 100 qrcodes needs
+about 30 seconds with option \Lkeyword{forget}, but only 4 seconds without it. It is obvious
+that for the first \LaTeX\ run the codes will allways be created new.
+If a qrcode is
+created, e.g. for \hvqrurl{https://pkks.de}, then there is something like
+
+\begin{verbatim}
+\qr@savematrix{https://pkks.de}{2}{3}{11111110001010011011111111000001001110110101000001101110100
+0000011101011101101110101010001000101110110111010001111110010111011000001011010001001000001111111
+1010101010101111111000000001111001110000000001100010000011101011010000000010011010110001101011001
+0011100111001010111101101011001011110011100100011110010100001011010000010010010100101101101100011
+1101111011111111110001101001010000001010011111100011100011000101011111100100000000011101110100010
+0011111111001100110101010001100000100101100110001001110111010001010011111100001011101000110010110
+010100101110101010010000011101110000010101110101001100001111111001001011100001001}
+\end{verbatim}
+
+in the \Lext{aux} file (all in one line!). This is always used in following
+\LaTeX\ runs and created only new if the URL changes or the option \Lkeyword{forget}
+is used.
+\section{The macros}
\begin{BDef}
\Lcs{hvqrset}\Largb{key=value, \ldots}\\
diff --git a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
index da8f84fc10..29ddf89c21 100644
--- a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
+++ b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.sty 895 2024-05-14 19:22:17Z herbert $
+%% $Id: hvqrurl.sty 901 2024-05-26 07:18:06Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -7,21 +7,25 @@
% Copyright 2019,21,23,24 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{hvqrurl}[%
- 2024/05/14 v.0.08 (Herbert Voss) Supports qr images into the margin (hv)]
+ 2024/05/26 v.0.09 (Herbert Voss) Supports qr images into the margin (hv)]
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{url}
\RequirePackage{xcolor}
\RequirePackage{marginnote}
-\RequirePackage{qrcode}
+%\RequirePackage{qrcode}
\RequirePackage{xkeyval}
+\newif\if@hv@forget
+\@hv@forgetfalse
+\DeclareOption{forget}{\@hv@forgettrue}
+
\newif\if@no@hyperref
\@no@hyperreffalse
-
\DeclareOption{nohyperref}{\@no@hyperreftrue}
\ProcessOptions
+\if@hv@forget\RequirePackage[forget]{qrcode}\else\RequirePackage{qrcode}\fi
\if@no@hyperref\else\RequirePackage{hyperref}\fi
\newlength\qr@url@qrheight
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index 28d6ff9240..0ff7510869 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,3 +1,26 @@
+Version: 2024-07-10 v7.01j
+2024-07-10 Ulrike Fischer
+ * hyperref.dtx: define \HyOrg@addtoreset always for cleveref
+ compability with tagging code, see https://github.com/latex3/tagging-project/issues/2
+
+2024-06-02 Ulrike Fischer
+ * hyperref.dtx: enable use of onmousedown and onmouseup, issue #342
+
+Version: 2024-05-23 v7.01i
+2024-05-25 Ulrike Fischer
+ * hyperref.dtx: load stringenc always to allow the use of pdfencoding in a group.
+
+2024-05-22 Ulrike Fischer
+ * hyperref.dtx: add \@makeother{:} to \hyper@normalise, issue #340
+
+2024-04-22 Ulrike Fischer
+ * hyperref.dtx: remove auxhook package.
+
+2024-02-14 Ulrike Fischer
+ * hyperref.dtx: allow commands in counter names
+issue #330
+
+Version: 2024-01-20 v7.01h
2024-01-20 Ulrike Fischer
* hyperref.dtx: alias for \deferred@thm@head to allow patching if czech is used,
issue #324
@@ -5,7 +28,6 @@ issue #324
2024-01-20 Ulrike Fischer
* create xr-hyper.dtx, align it with the current xr.dtx to prepare the merge
-Version: 2024-01-20 v7.01h
2024-01-19 Ulrike Fischer
* xr-hyper.sty: add support for properties, issue latex3/latex2e#1180
diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md
index 0718a1e221..335fb1f62b 100644
--- a/macros/latex/contrib/hyperref/README.md
+++ b/macros/latex/contrib/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2024-01-20 v7.01h
+Version 2024-07-10 v7.01j
## INTRODUCTION
diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf
index c145263b55..5ec3d8b07f 100644
--- a/macros/latex/contrib/hyperref/doc/backref.pdf
+++ b/macros/latex/contrib/hyperref/doc/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
index b83a28781f..0b918b602d 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
@@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span
class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
class="ec-lmr-12">)</span></div><br />
<div class="date" ><span
-class="ec-lmr-12">2024-01-20 v7.01h</span></div>
+class="ec-lmr-12">2024-07-10 v7.01j</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -1079,45 +1079,54 @@ class="td11"> <!--l. 604--><p class="noindent" >this
style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"
class="td11"> <span
class="ec-lmvtt-10">backref </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-8-2"
-class="td11"> <!--l. 606--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 606--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"
class="td11"> <span
class="ec-lmvtt-10">pagebackref </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-9-2"
-class="td11"> <!--l. 607--><p class="noindent" ></td>
+class="td11"> <!--l. 607--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"
class="td11"> <span
class="ec-lmvtt-10">destlabel </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-10-2"
-class="td11"> <!--l. 608--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 608--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"
class="td11"> <span
class="ec-lmvtt-10">pdfusetitle </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-11-2"
-class="td11"> <!--l. 609--><p class="noindent" ></td>
+class="td11"> <!--l. 609--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1"
class="td11"> <span
class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-12-2"
-class="td11"> <!--l. 610--><p class="noindent" > </td>
+class="td11"> <!--l. 610--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-13-2"
-class="td11"> <!--l. 611--><p class="noindent" > </td>
+class="td11"> <!--l. 611--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-14-2"
-class="td11"> <!--l. 612--><p class="noindent" > </td>
+class="td11"> <!--l. 612--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1"
class="td11"> <span
class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-15-2"
-class="td11"> <!--l. 613--><p class="noindent" > </td>
+class="td11"> <!--l. 613--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-16-1"
class="td11"> <span
class="ec-lmvtt-10">encap </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-16-2"
-class="td11"> <!--l. 614--><p class="noindent" > </td>
+class="td11"> <!--l. 614--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-17-1"
class="td11"> <span
@@ -1950,8 +1959,7 @@ class="td01"><span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4"
-class="td10">
- <!--l. 941--><p class="noindent" > </td>
+class="td10"> <!--l. 941--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-1"
class="td01"><span
@@ -3174,8 +3182,6 @@ class="td10">
<!--l. 1198--><p class="noindent" >The old page slides off the screen in the direction
specified by /Di, uncovering the new page in the
direction specified by /Di. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-12-1"
class="td01"><span
@@ -3184,6 +3190,8 @@ class="td11"> </td><td style="white-space:normal; text-align:left;
class="td10">
<!--l. 1201--><p class="noindent" >The new page gradually becomes visible through the old
one. </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-13-1"
class="td01"> </td>
@@ -3709,8 +3717,7 @@ class="td10">
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-14-58-2"
class="td11"> <span
class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-58-3"
-class="td10">
- <!--l. 1293--><p class="noindent" > </td>
+class="td10"> <!--l. 1293--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-59-1"
class="td01"><span
@@ -3850,8 +3857,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-75-3"
class="td10">
<!--l. 1313--><p class="noindent" >set PDF page labels </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-76-1"
class="td01"><span
@@ -3860,6 +3865,8 @@ class="td11"> <span
class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-76-3"
class="td10">
<!--l. 1314--><p class="noindent" >set layout of PDF pages </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-77-1"
class="td01"><span
@@ -4091,8 +4098,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-104-3"
class="td10">
<!--l. 1345--><p class="noindent" >set page size by special driver commands </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-105-1"
class="td01"><span
@@ -4101,6 +4106,8 @@ class="td11"> </td><td style="white-space:normal; text-align:l
class="td10">
<!--l. 1346--><p class="noindent" >use <span
class="ec-lmss-10">TeX4ht </span>backend </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-106-1"
class="td01"><span
@@ -4226,8 +4233,6 @@ class="ec-lmvtk-10">nextactionraw</span><span
class="ec-lmbx-10">:</span> </dt><dd
class="description">
<!--l. 1379--><p class="noindent" >The value of key <span class="obeylines-h"><code class="verb">/Next</code></span> of action dictionaries, see PDF specification.</dd></dl>
-
-
<!--l. 1383--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
><colgroup id="TBL-16-1g"><col
@@ -4241,6 +4246,7 @@ class="ec-lmvtt-10">\href</span><span class="obeylines-h"><code class="verb">{</
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}{</code></span><span
class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><code class="verb">{</code></span><span
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}}</code></span>. Depending on the driver <span class="obeylines-h"><code class="verb">\href</code></span> also tries to detect the link
+
type. Thus the result can be a url link, file link, &#x2026;. The implementation makes use of the <span
class="ec-lmss-10">url </span>package and
its commands can be used to format and fine tune the url, but the behaviour of <span
@@ -4360,8 +4366,6 @@ and the <span
class="ec-lmri-10">text </span>which is used as the link on the page.
<!--l. 1457--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><code class="verb">\hyperlink</code></span> command inserts a notional # in front of each link,
making it relative to the current testdocument; <span class="obeylines-h"><code class="verb">\href</code></span> expects a full URL.
-
-
<!--l. 1461--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-25" class="tabular"
><colgroup id="TBL-25-1g"><col
@@ -4372,6 +4376,8 @@ class="ec-lmvtt-10">\phantomsection </span></td>
</tr></table> </div></span>
<!--l. 1465--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><code class="verb">\hypertarget{}{}</code></span> with an automatically chosen
anchor name. Often it is used in conjunction with <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> for sectionlike things (index,
+
+
bibliography, preface). <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> refers to the latest previous location where an anchor is set.
Example:
<blockquote class="quote">
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
index fff97a2b36..1637285c01 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
index ea17fc7817..2f4ff93f80 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
@@ -166,7 +166,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2024-01-20 v7.01h}
+\date{2024-07-10 v7.01j}
\begin{document}
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc2.html b/macros/latex/contrib/hyperref/doc/hyperref-doc2.html
index e24d5ff1cd..a3d6f2bce0 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc2.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc2.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<!--l. 212--><p class="indent" > <span class="footnote-mark"><a
- id="fn1x0"><a
- id="x2-4002x2"></a> <sup class="textsuperscript">1</sup></a></span><span
+ id="x2-4002x2"></a><a
+ id="fn1x0"> <sup class="textsuperscript">1</sup></a></span><span
class="ec-lmr-8">Now: </span><a
href="https://ctan.org/tex-archive/support/hypertex/hypertex" class="url" ><span
class="ec-lmvtt-10x-x-80">https://ctan.org/tex-archive/support/hypertex/hypertex</span></a></div>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc3.html b/macros/latex/contrib/hyperref/doc/hyperref-doc3.html
index 516b3b2573..5307489974 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc3.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc3.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<!--l. 230--><p class="indent" > <span class="footnote-mark"><a
- id="fn2x0"><a
- id="x3-4004x2"></a> <sup class="textsuperscript">2</sup></a></span><span
+ id="x3-4004x2"></a><a
+ id="fn2x0"> <sup class="textsuperscript">2</sup></a></span><span
class="ec-lmr-8">This is borrowed from an article by Arthur Smith.</span></div>
</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc4.html b/macros/latex/contrib/hyperref/doc/hyperref-doc4.html
index cada83835b..1003f3d1c8 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc4.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc4.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<!--l. 300--><p class="indent" > <span class="footnote-mark"><a
- id="fn3x0"><a
- id="x4-4006x2"></a> <sup class="textsuperscript">3</sup></a></span><span
+ id="x4-4006x2"></a><a
+ id="fn3x0"> <sup class="textsuperscript">3</sup></a></span><span
class="ec-lmr-8">Make sure you turn off the partial font downloading supported by </span><span
class="ec-lmss-8">dvips </span><span
class="ec-lmr-8">and </span><span
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc5.html b/macros/latex/contrib/hyperref/doc/hyperref-doc5.html
index e8d78ad09f..040bfb56b8 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc5.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc5.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<!--l. 338--><p class="indent" > <span class="footnote-mark"><a
- id="fn4x0"><a
- id="x5-5002x3"></a> <sup class="textsuperscript">4</sup></a></span><span
+ id="x5-5002x3"></a><a
+ id="fn4x0"> <sup class="textsuperscript">4</sup></a></span><span
class="ec-lmr-8">But work has started to reduce the number of redefinition and so the dependencies on the loading</span>
<span
class="ec-lmr-8">order.</span></div>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc6.html b/macros/latex/contrib/hyperref/doc/hyperref-doc6.html
index 8d8b5298b1..3f287f8bb4 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc6.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc6.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<span class="footnote-mark"><a
- id="fn5x0"><a
- id="x6-29002x7"></a> <sup class="textsuperscript">5</sup></a></span><span
+ id="x6-29002x7"></a><a
+ id="fn5x0"> <sup class="textsuperscript">5</sup></a></span><span
class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc7.html b/macros/latex/contrib/hyperref/doc/hyperref-doc7.html
index 767dd0b5b4..30410c45c9 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc7.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc7.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<!--l. 2886--><p class="indent" > <span class="footnote-mark"><a
- id="fn6x0"><a
- id="x7-64002x11"></a> <sup class="textsuperscript">6</sup></a></span><span
+ id="x7-64002x11"></a><a
+ id="fn6x0"> <sup class="textsuperscript">6</sup></a></span><span
class="ec-lmr-8">It will be merged with the </span><span
class="ec-lmss-8">xr </span><span
class="ec-lmr-8">package soon</span></div>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc8.html b/macros/latex/contrib/hyperref/doc/hyperref-doc8.html
index dc87a971db..4a67e9b1b2 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc8.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc8.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<span class="footnote-mark"><a
- id="fn7x0"><a
- id="x8-104002x12"></a> <sup class="textsuperscript">7</sup></a></span><span
+ id="x8-104002x12"></a><a
+ id="fn7x0"> <sup class="textsuperscript">7</sup></a></span><span
class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc9.html b/macros/latex/contrib/hyperref/doc/hyperref-doc9.html
index da2b18955e..c6f5c87fc8 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc9.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc9.html
@@ -12,8 +12,8 @@
>
<div class="footnote-text">
<span class="footnote-mark"><a
- id="fn8x0"><a
- id="x9-108002x13"></a> <sup class="textsuperscript">8</sup></a></span><span
+ id="x9-108002x13"></a><a
+ id="fn8x0"> <sup class="textsuperscript">8</sup></a></span><span
class="ec-lmr-8">This section moved from the README file, needs more integration into the manual</span></div>
</body></html>
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf b/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
index 7392570e8a..3e29950cf1 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref.pdf b/macros/latex/contrib/hyperref/doc/hyperref.pdf
index cb1dbc9af6..bb0f2a46aa 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/nameref.pdf b/macros/latex/contrib/hyperref/doc/nameref.pdf
index acea390806..4c4ea6606b 100644
--- a/macros/latex/contrib/hyperref/doc/nameref.pdf
+++ b/macros/latex/contrib/hyperref/doc/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/xr-hyper.pdf b/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
index 65cfddbafa..a5d0e690fc 100644
--- a/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
+++ b/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/hluatex.dtx b/macros/latex/contrib/hyperref/hluatex.dtx
index 092b41aad2..20a2f3a4a3 100644
--- a/macros/latex/contrib/hyperref/hluatex.dtx
+++ b/macros/latex/contrib/hyperref/hluatex.dtx
@@ -1,6 +1,6 @@
% \iffalse
% Source File: hluatex.dtx
-% 2024-01-20 v7.01h
+% 2024-07-10 v7.01j
%
% Copyright
% 2016-2019 Oberdiek Package Support Group
@@ -31,13 +31,12 @@
%
% \begin{macrocode}
%<*luatex>
-%% 2024-01-20 v7.01h
+%% 2024-07-10 v7.01j
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
\Hy@unicodetrue
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode
-\HyPsd@LoadStringEnc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% remains of luatex85 package
\protected\def\pdfcatalog {\pdfextension catalog }
diff --git a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
index 2348e91e8f..874a492736 100644
--- a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
+++ b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 2024-01-20 v7.01h}
+% \date{Version 2024-07-10 v7.01j}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/hyperref/hyperref-patches.dtx b/macros/latex/contrib/hyperref/hyperref-patches.dtx
index 0f23ee5525..ac4bac4f8c 100644
--- a/macros/latex/contrib/hyperref/hyperref-patches.dtx
+++ b/macros/latex/contrib/hyperref/hyperref-patches.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 2024-01-20 v7.01h}
+% \date{Version 2024-07-10 v7.01j}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 2c6347a623..80cef9b890 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -51,7 +51,7 @@
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
-%<!none&!packageEnd> [2024-01-20 v7.01h %
+%<!none&!packageEnd> [2024-07-10 v7.01j %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -594,6 +594,7 @@
% change 2021-08-14: require expl3
% change 2023-11-26: no longer require pdftexcmds
% change 2023-11-26: no longer require expl3, we assume kernel is new enough.
+% change 2024-05-23: load stringenc always (for pdfx)
% \begin{macrocode}
\RequirePackage{iftex}[2019/10/24]
\RequirePackage{keyval}[1997/11/10]
@@ -601,9 +602,9 @@
\RequirePackage{kvdefinekeys}[2011/04/07]
\RequirePackage{pdfescape}[2007/11/11]
\RequirePackage{hycolor}
-\RequirePackage{auxhook}[2009/12/14]
\RequirePackage{nameref}[2012/07/28]
\RequirePackage{etoolbox}
+\RequirePackage{stringenc}[2009/12/15]%
\def\Hy@Error{\PackageError{hyperref}}
\def\Hy@Warning{\PackageWarning{hyperref}}
\def\Hy@WarningNoLine{\PackageWarningNoLine{hyperref}}
@@ -1864,30 +1865,27 @@
%
% \begin{macrocode}
\ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
- \@ifundefined{StringEncodingConvertTest}{%
- }{%
- \EdefUnescapeString\HyPsd@temp#1%
- \iftutex
- \let\HyPsd@UnescapedString\HyPsd@temp
- \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
- {utf16be}{ascii-print}{%
- \EdefEscapeString\HyPsd@temp\HyPsd@temp
- \global\let#1\HyPsd@temp
- \HyPsd@EscapeTeX#1%
- \Hy@unicodefalse
- }{%
- \HyPsd@EscapeTeX#1%
- }%
- \else
- \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
- {utf16be}{pdfdoc}{%
- \EdefEscapeString\HyPsd@temp\HyPsd@temp
- \global\let#1\HyPsd@temp
- \HyPsd@EscapeTeX#1%
- \Hy@unicodefalse
- }{}%
- \fi
- }%
+ \EdefUnescapeString\HyPsd@temp#1%
+ \iftutex
+ \let\HyPsd@UnescapedString\HyPsd@temp
+ \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+ {utf16be}{ascii-print}{%
+ \EdefEscapeString\HyPsd@temp\HyPsd@temp
+ \global\let#1\HyPsd@temp
+ \HyPsd@EscapeTeX#1%
+ \Hy@unicodefalse
+ }{%
+ \HyPsd@EscapeTeX#1%
+ }%
+ \else
+ \StringEncodingConvertTest\HyPsd@temp\HyPsd@temp
+ {utf16be}{pdfdoc}{%
+ \EdefEscapeString\HyPsd@temp\HyPsd@temp
+ \global\let#1\HyPsd@temp
+ \HyPsd@EscapeTeX#1%
+ \Hy@unicodefalse
+ }{}%
+ \fi
\fi
\fi
% \end{macrocode}
@@ -4819,9 +4817,6 @@
\hypersetup{unicode}%
\ifHy@unicode
\def\HyPsd@pdfencoding{#1}%
- \ifx\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
- \HyPsd@LoadStringEnc
- \fi
\else
\Hy@Warning{Cannot switch to unicode bookmarks}%
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@pdfdoc
@@ -4844,22 +4839,6 @@
% \begin{macrocode}
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@unicode
\HyPsd@LoadUnicode
-\def\HyPsd@LoadStringEnc{%
- \RequirePackage{stringenc}[2009/12/15]%
- \let\HyPsd@LoadStringEnc\relax
-}
-\Hy@AtBeginDocument{%
- \@ifpackageloaded{stringenc}{%
- \let\HyPsd@LoadStringEnc\relax
- }{%
- \def\HyPsd@LoadStringEnc{%
- \Hy@WarningNoLine{%
- Missing package `stringenc'. Use `pdfencoding=auto'\MessageBreak
- in the preamble or load the package there%
- }%
- }%
- }%
-}
% \end{macrocode}
%
% \begin{macrocode}
@@ -7414,7 +7393,8 @@
% command, you can use |#| and |%| unescaped, to produce themselves.
% even if, say, |#| is entered as |#| it will be converted to |\#|
% so it does not die if written to an aux file etc. |\#| will write
-% as |#| locally while making |\special|s.
+% as |#| locally while making |\special|s. The catcode |:| is set to other
+% to avoid problems with expl3 syntax.
% \begin{macrocode}
\begingroup
\endlinechar=-1 %
@@ -7427,6 +7407,7 @@
\catcode`\&\active
\gdef\hyper@normalise{^^A
\begingroup
+ \@makeother{:}^^A
\catcode`\^^M\active
\def^^M{ }^^A
\catcode`\%\active
@@ -9196,6 +9177,8 @@
\Hy@temp{calculate}
\Hy@temp{onfocus}
\Hy@temp{onblur}
+\Hy@temp{onmousedown}
+\Hy@temp{onmouseup}
\Hy@temp{onenter}
\Hy@temp{onexit}
% \end{macrocode}
@@ -9220,8 +9203,6 @@
}%
\fi
\Hy@temp{ondblclick}
-\Hy@temp{onmousedown}
-\Hy@temp{onmouseup}
\Hy@temp{onmouseover}
\Hy@temp{onmousemove}
\Hy@temp{onmouseout}
@@ -10119,7 +10100,6 @@
\else
\let\HyPsd@pdfencoding\HyPsd@pdfencoding@auto
\fi
-\HyPsd@LoadStringEnc
\define@key{Hyp}{unicode}[true]{%
\Hy@boolkey{unicode}{#1}%
\ifHy@unicode
@@ -12035,14 +12015,17 @@
% The whole theorem business makes up new counters on the fly;
% we are going to intercept this. Sigh. Do it at the level where
% new counters are defined.
+% change 2024-02-14: use a csname to handle counter names with commands,
+% see issue \#330
% \begin{macrocode}
\@ifundefined{hyper@nopatch@counter}
{
\let\H@definecounter\@definecounter
\def\@definecounter#1{%
\H@definecounter{#1}%
- \expandafter\gdef\csname theH#1\endcsname{\arabic{#1}}%
- }
+ \expandafter
+ \gdef\csname theH#1\expandafter\endcsname\expandafter
+ {\expandafter\@arabic\csname c@#1\endcsname}}%
}{}
% \end{macrocode}
% But what if they have used the optional argument to e.g. |\newtheorem|
@@ -12120,7 +12103,10 @@
% the hyperref version of the counter print command
% \cs{theHcounter} is redefined in order to add the
% parent counter.
+% change 2024-07-10: define |\HyOrg@addtoreset| always for cleveref
+% compability with tagging code, see https://github.com/latex3/tagging-project/issues/2
% \begin{macrocode}
+\def\HyOrg@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}}
\@ifundefined{hyper@nopatch@counter}
{
\let\HyOrg@addtoreset\@addtoreset
diff --git a/macros/latex/contrib/hyperref/xr-hyper.dtx b/macros/latex/contrib/hyperref/xr-hyper.dtx
index 1acb21c688..f7b39072f5 100644
--- a/macros/latex/contrib/hyperref/xr-hyper.dtx
+++ b/macros/latex/contrib/hyperref/xr-hyper.dtx
@@ -26,7 +26,7 @@
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{xr-hyper}
-%<package> [2024-01-20 v7.01h eXternal References (DPC)]
+%<package> [2024-07-10 v7.01j eXternal References (DPC)]
%
%<*driver>
\documentclass{l3doc}
@@ -95,7 +95,7 @@
% In the \LaTeX{} release 2023-06-01 the label syntax of \pkg{hyperref}
% and the \LaTeX{} kernel have been synchronized and there is no longer
% a need for two packages. \pkg{xr-hyper} already works with all documents --
-% it is not required to load\pkg{hyperref} -- and its code will move in the
+% it is not required to load \pkg{hyperref} -- and its code will move in the
% next \LaTeX{} release into the \pkg{xr} package. Then \pkg{xr-hyper} can be
% deprecated.
%
@@ -108,7 +108,7 @@
% If one document needs to refer to sections of another, say |aaa.tex|,
% then this package may be loaded in the main file, and the command
% \begin{verbatim}
-% |\externaldocument{aaa}|
+% \externaldocument{aaa}
% \end{verbatim}
% given in the preamble.
%
@@ -140,7 +140,7 @@
% always work, it can be disabled by specifying \texttt{[nocite]} after the
% \meta{prefix}:
% \begin{verbatim}
-% \externaldocument[][nocite]{aaa}
+% \externaldocument[][nocite]{aaa}
% \end{verbatim}
%
% The `document' referred to by the main argument \meta{document} is the file
diff --git a/macros/latex/contrib/iwonamath/Makefile b/macros/latex/contrib/iwonamath/Makefile
index 5b8322bf33..fcac414a15 100644
--- a/macros/latex/contrib/iwonamath/Makefile
+++ b/macros/latex/contrib/iwonamath/Makefile
@@ -48,6 +48,7 @@ all: ${PDF} $(PACKAGE).sty $(FD)
pdflatex $<
- bibtex $*
pdflatex $<
+ pdflatex $<
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
do pdflatex $<; done
@@ -64,7 +65,8 @@ clean:
*.ilg *.ind *.out *.lof \
*.lot *.bbl *.blg *.gls \
*.dvi *.ps *.thm *.tgz *.zip *.rpi \
- *.hd sample-blx.bib
+ *.hd sample-blx.bib \
+ omsiwonamathcmsy.fd *.sty
distclean: clean
@@ -75,7 +77,7 @@ distclean: clean
#
archive: all clean
COPYFILE_DISABLE=1 \
- tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' \
+ tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude LICENSE \
--exclude '*.tgz' --exclude '*.zip' --exclude .git $(PACKAGE)
mv ../$(PACKAGE).tgz .
diff --git a/macros/latex/contrib/iwonamath/README b/macros/latex/contrib/iwonamath/README
index 72fe9e3508..8bf59e86c3 100644
--- a/macros/latex/contrib/iwonamath/README
+++ b/macros/latex/contrib/iwonamath/README
@@ -2,4 +2,9 @@ This package provides an interface to Iwona math fonts by Janusz
Marian Nowacki. It allows to use Iwona as math complement for sans
serif fonts without native math. The package allows font scaling, the
choice of light and condensed versions and the creation of multiple
-math versions. \ No newline at end of file
+math versions.
+
+Author: Boris Veytsman, borisv@lk.net, boris@varphi.com
+License: LPPL 1.3c, https://www.latex-project.org/lppl/lppl-1-3c/
+
+Version 1.1: Improved delimitershack as suggested by Enrico Gregorio. \ No newline at end of file
diff --git a/macros/latex/contrib/iwonamath/iwonamath.dtx b/macros/latex/contrib/iwonamath/iwonamath.dtx
index 020c8d6ad0..38aebd666a 100644
--- a/macros/latex/contrib/iwonamath/iwonamath.dtx
+++ b/macros/latex/contrib/iwonamath/iwonamath.dtx
@@ -141,7 +141,7 @@
%<oms>{oms_FAMILY_.fd}
%<omx>{omx_FAMILY_.fd}
%<cmsy>{omsiwonamathcmsy.fd}
-%<package|fd>{2023-08-31} {1.0}
+%<package|fd>{2024-07-19} {1.1}
%<package|fd>{Scaled Iwona math fonts}
%<*package>
% \end{macrocode}
@@ -233,7 +233,8 @@
%
% We add delimiters from |cmsy|, as discussed in
% \citep[\S~12.5.5]{TLC3}). We predefine the symbols for the standard
-% versions just in case.
+% versions just in case. The last line is suggested by Enrico
+% Gregorio.
% \begin{macrocode}
\bool_if:NTF \l_@@_delimitershack_bool
{
@@ -241,6 +242,7 @@
\SetSymbolFont{symbols2} {bold}{OMS}{cmsy}{b}{n}
\DeclareMathDelimiter{\lVert}{\mathopen} {symbols2}{"6B}{largesymbols}{"0D}
\DeclareMathDelimiter{\rVert}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
+ \DeclareMathDelimiter{\|}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
}
{}
% \end{macrocode}
diff --git a/macros/latex/contrib/iwonamath/iwonamath.pdf b/macros/latex/contrib/iwonamath/iwonamath.pdf
index fc0b5e6e2c..e80a3e33d0 100644
--- a/macros/latex/contrib/iwonamath/iwonamath.pdf
+++ b/macros/latex/contrib/iwonamath/iwonamath.pdf
Binary files differ
diff --git a/macros/latex/contrib/iwonamath/omliwonamath.fd b/macros/latex/contrib/iwonamath/omliwonamath.fd
index eca19657e2..869b63021f 100644
--- a/macros/latex/contrib/iwonamath/omliwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathc.fd b/macros/latex/contrib/iwonamath/omliwonamathc.fd
index 452341075f..567abb4d8c 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathl.fd b/macros/latex/contrib/iwonamath/omliwonamathl.fd
index a0dba2a829..c52bb24dcf 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathlc.fd b/macros/latex/contrib/iwonamath/omliwonamathlc.fd
index 90d147d1ee..ebfaea2b69 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamath.fd b/macros/latex/contrib/iwonamath/omsiwonamath.fd
index 958053cd49..7a0c889c7d 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathc.fd b/macros/latex/contrib/iwonamath/omsiwonamathc.fd
index 02b892ffc5..22c1755011 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathl.fd b/macros/latex/contrib/iwonamath/omsiwonamathl.fd
index d291ba7eb0..3e0815ef80 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathlc.fd b/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
index 55a040e93e..8cdb0f6503 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamath.fd b/macros/latex/contrib/iwonamath/omxiwonamath.fd
index 662121a6be..8b33fd85b9 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathc.fd b/macros/latex/contrib/iwonamath/omxiwonamathc.fd
index fce676f1e8..9738a6961d 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathl.fd b/macros/latex/contrib/iwonamath/omxiwonamathl.fd
index 895f359e35..759ecad381 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathlc.fd b/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
index 85f60415e3..fbe5cdc48c 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamath.fd b/macros/latex/contrib/iwonamath/ot1iwonamath.fd
index 20be53c3af..789656bfa7 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamath.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathc.fd b/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
index a0b92a2b37..182d34be2f 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
index a5e69e07ad..4f49f9befb 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathl.fd b/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
index 82060b21d1..504e9c87ad 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
index c5b2f0024b..5ad18477c7 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
index 130c63822e..c1b3f9bb44 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
index ab72419cd8..f15d880adc 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
index 7a103a029b..9f82d65734 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/sample.pdf b/macros/latex/contrib/iwonamath/sample.pdf
index c64d5e078d..342ba53f87 100644
--- a/macros/latex/contrib/iwonamath/sample.pdf
+++ b/macros/latex/contrib/iwonamath/sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-a-answer.pdf b/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
index f6f0a50649..e12e04e047 100644
--- a/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-a-blank.pdf b/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
index 09d8a14b15..d033fe6d75 100644
--- a/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-b-answer.pdf b/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
index 2356b53690..6497883408 100644
--- a/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-b-blank.pdf b/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
index d9160a13ed..5682c2d24b 100644
--- a/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-a-answer.pdf b/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
index 6ac1d17806..c029ef99ea 100644
--- a/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-a-blank.pdf b/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
index 4192ead99f..e2f4dac7e2 100644
--- a/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-b-answer.pdf b/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
index bf5e9342ee..8e60df9eac 100644
--- a/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-b-blank.pdf b/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
index c37242241f..03bcefee49 100644
--- a/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/jnuexam.cls b/macros/latex/contrib/jnuexam/jnuexam.cls
index f5df920469..086c55f2b0 100644
--- a/macros/latex/contrib/jnuexam/jnuexam.cls
+++ b/macros/latex/contrib/jnuexam/jnuexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jnuexam}[2024-02-18 v2024E An exam class for Jinan University]
+\ProvidesClass{jnuexam}[2024-07-09 v2024F An exam class for Jinan University]
%% 旧版本的 LaTeX 不能识别 2022-11-01 这种日期格式
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -521,9 +521,10 @@
\let\doscratchpaper=\doscratchpaperone
}
-% 在旧版本 ctex 宏包中不能用 \AtEndDocument 添加含中文的内容,即不能用 \appto 而要用 \preto
+%% 此时 \AtEndDocument{...} 等价于 \AddToHook{enddocument}[jnuexam]{...}
+%% 而且默认会在 \AddToHook{enddocument}[randexam]{...} 所加的代码之后执行
\newcommand{\addscratchpaper}{
- \preto{\@enddocumenthook}{\doscratchpaper}
+ \AtEndDocument{\doscratchpaper}
}
\IfExamBoolF{plain}{\IfExamBoolF{answer}{\addscratchpaper}}
@@ -534,6 +535,7 @@
\DeclareExamTheme{final-chinese}{
\SetExamOption{chinese}
+ \SetExamBoolTrue{evaluator}
\SelectExamTranslation{chinese}
\SetExamValue{exampart}{number=\Chinese}
\SelectExamTemplate{examtitle}{final-chinese}
diff --git a/macros/latex/contrib/jnuexam/jnuexam.pdf b/macros/latex/contrib/jnuexam/jnuexam.pdf
index 0cc01cc3f1..c0a756123c 100644
--- a/macros/latex/contrib/jnuexam/jnuexam.pdf
+++ b/macros/latex/contrib/jnuexam/jnuexam.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3build/CHANGELOG.md b/macros/latex/contrib/l3build/CHANGELOG.md
index ea466dfccc..f2231144d8 100644
--- a/macros/latex/contrib/l3build/CHANGELOG.md
+++ b/macros/latex/contrib/l3build/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-05-27]
+
+### Changed
+- Respect `--rerun` in `doc` target (issue \#112)
+
+### Fixed
+- Skip unknown engines correctly in `l3build save`
+- Handling of environment settings in some cases (issue \#353)
+
## [2024-02-08]
### Changed
@@ -776,7 +785,8 @@ this project uses date-based 'snapshot' version identifiers.
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2024-02-08...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2024-05-27...HEAD
+[2024-05-27]: https://github.com/latex3/l3build/compare/2024-02-08...2024-05-27
[2024-02-08]: https://github.com/latex3/l3build/compare/2024-01-18...2024-02-08
[2024-01-18]: https://github.com/latex3/l3build/compare/2024-01-09...2024-01-18
[2024-01-09]: https://github.com/latex3/l3build/compare/2024-01-04...2024-01-09
diff --git a/macros/latex/contrib/l3build/README.md b/macros/latex/contrib/l3build/README.md
index b5172bbf21..1b49dc0b0c 100644
--- a/macros/latex/contrib/l3build/README.md
+++ b/macros/latex/contrib/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX
=================================================
-Release 2024-02-08
+Release 2024-05-27
Overview
--------
diff --git a/macros/latex/contrib/l3build/l3build-aux.lua b/macros/latex/contrib/l3build/l3build-aux.lua
index dd8c410fc0..bf0b85c698 100644
--- a/macros/latex/contrib/l3build/l3build-aux.lua
+++ b/macros/latex/contrib/l3build/l3build-aux.lua
@@ -189,9 +189,9 @@ function runcmd(cmd,dir,vars)
dir = abspath(dir)
vars = vars or {}
-- Allow for local texmf files
- local env = ""
- if not match(checkformat,"^context$") then
- env = os_setenv .. " TEXMFCNF=." .. os_pathsep .. os_concat
+ local env
+ if checkformat ~= "context" then
+ env = os_setenv .. " TEXMFCNF=." .. os_pathsep
end
local envpaths = "." .. localtexmf() .. os_pathsep
.. abspath(localdir) .. os_pathsep
@@ -201,11 +201,9 @@ function runcmd(cmd,dir,vars)
envpaths = gsub(envpaths,'"','')
end
for _,var in pairs(vars) do
- if env ~= "" then
- env = env .. os_setenv .. " " .. var .. "=" .. envpaths .. os_concat
- else
- env = os_setenv .. " " .. var .. "=" .. envpaths
- end
+ env = (env and (env .. os_concat) or "")
+ .. os_setenv .. " " .. var .. "=" .. envpaths
end
- return run(dir,set_epoch_cmd(epoch, forcedocepoch) .. env .. cmd)
+ return run(dir,set_epoch_cmd(epoch, forcedocepoch)
+ .. (env and (env .. os_concat) or "") .. cmd)
end
diff --git a/macros/latex/contrib/l3build/l3build-check.lua b/macros/latex/contrib/l3build/l3build-check.lua
index 812187123a..d6d30e3e2a 100644
--- a/macros/latex/contrib/l3build/l3build-check.lua
+++ b/macros/latex/contrib/l3build/l3build-check.lua
@@ -778,7 +778,7 @@ function runtest(name, engine, hide, ext, test_type, breakout)
local function setup(file)
return " -jobname=" .. name .. tokens .. ' "\\input ' .. file .. '" '
end
- if match(checkformat,"^context$") then
+ if checkformat == "context" then
function setup(file) return tokens .. ' "' .. file .. '" ' end
end
if match(binary,"make4ht") then
@@ -1119,7 +1119,12 @@ function save(names)
return errorlevel
end
end
- local engines = options["engine"] or {stdengine}
+ local engines
+ if options["engine"] then
+ engines = checkengines -- sanitized by check_engines()
+ else
+ engines = {stdengine}
+ end
if names == nil then
print("Arguments are required for the save command")
return 1
diff --git a/macros/latex/contrib/l3build/l3build-help.lua b/macros/latex/contrib/l3build/l3build-help.lua
index 46b0bc45b3..9cad7135dd 100644
--- a/macros/latex/contrib/l3build/l3build-help.lua
+++ b/macros/latex/contrib/l3build/l3build-help.lua
@@ -59,7 +59,7 @@ function help()
if not (match(arg[0], "l3build%.lua$") or match(arg[0],"l3build$")) then
scriptname = arg[0]
end
- print("usage: " .. scriptname .. " <target> [<options>] [<names>]")
+ print("\nUsage: " .. scriptname .. " <target> [<options>] [<names>]")
print("")
print("Valid targets are:")
local longest,t = setup_list(target_list)
diff --git a/macros/latex/contrib/l3build/l3build-typesetting.lua b/macros/latex/contrib/l3build/l3build-typesetting.lua
index 8de57f3718..eaffbe6ae9 100644
--- a/macros/latex/contrib/l3build/l3build-typesetting.lua
+++ b/macros/latex/contrib/l3build/l3build-typesetting.lua
@@ -181,7 +181,10 @@ function docinit_hook() return 0 end
-- Typeset all required documents
-- Uses a set of dedicated auxiliaries that need to be available to others
function doc(files)
- local errorlevel = docinit()
+ local errorlevel = 0
+ if not options["rerun"] then
+ errorlevel = docinit()
+ end
if errorlevel ~= 0 then return errorlevel end
local done = {}
local files_unknown = {}
diff --git a/macros/latex/contrib/l3build/l3build.1 b/macros/latex/contrib/l3build/l3build.1
index b983494b73..d42e486f3c 100644
--- a/macros/latex/contrib/l3build/l3build.1
+++ b/macros/latex/contrib/l3build/l3build.1
@@ -1,91 +1,71 @@
-.TH l3build 1 "2024-02-08"
+.TH L3BUILD 1 "2024-05-27" "LaTeX"
+
.SH NAME
-l3build \- Checking and building packages
+l3build
+
.SH SYNOPSIS
-l3build <target> [<options>] [<names>]
+ Usage l3build <target> [<options>] [<names>]
+
.SH DESCRIPTION
-The l3build system is a Lua script for building TeX packages, with particular
-emphasis on regression testing. It is written in cross-platform Lua code, so
-can be used by any modern TeX distribution with the texlua interpreter. A
-package for building with l3build can be written in any TeX dialect; its
-defaults are set up for LaTeX packages written in the DocStrip style.
-.PP
-The standard l3build targets are:
-.IP check
-Runs all automated tests
-.IP clean
-Cleans out directory tree
-.IP ctan
-Creates CTAN-ready archive
-.IP doc
-Typesets all documentation files
-.IP install
-Installs files into the local texmf tree
-.IP manifest
-Creates a manifest file
-.IP save
-Saves test validation log
-.IP tag
-Updates release tags in files
-.IP uninstall
-Uninstalls files from the local texmf tree
-.IP unpack
-Unpacks the source files into the build tree
-.IP upload
-Sends archive to CTAN for public release
+------
+
+The l3build module is designed to support the development of
+high-quality LaTeX code by providing:
+* A unit testing system
+* Automated typesetting of code sources
+* A reliable packaging system for CTAN releases
+
+The bundle consists of a Lua script to run the tasks and a
+.tex file which provides the testing environment. These were
+originally developed for supporting LaTeX development but
+are designed such that they can be readily used by others. Full
+documentation is provided.
+
+.SH COMMANDS
+Valid targets are:
+ check Runs all automated tests
+ clean Cleans out directory tree
+ ctan Creates CTAN-ready archive
+ doc Typesets all documentation files
+ install Installs files into the local texmf tree
+ manifest Creates a manifest file
+ save Saves test validation log
+ tag Updates release tags in files
+ uninstall Uninstalls files from the local texmf tree
+ unpack Unpacks the source files into the build tree
+ upload Sends archive to CTAN for public release
+
.SH OPTIONS
-Various options apply
-.IP --config|-c
-Sets the config(s) used for running tests
-.IP --date
-Sets the date to insert into sources
-.IP --debug
-Runs target in debug mode
-.IP --dirty
-Skips cleaning up the test area
-.IP --dry-run
-Dry run for install or upload
-.IP --email
-Email address of CTAN uploader
-.IP --engine|-e
-Sets the engine(s) to use for running test
-.IP --epoch
-Sets the epoch for tests and typesetting
-.IP --file|-F
-Takes the upload announcement from the given file
-.IP --first
-Name of first test to run
-.IP --full
-Installs all files
-.IP --halt-on-error|-H
-Stops running tests after the first failure
-.IP --help|-h
-Prints help message and exits
-.IP --last
-Name of last test to run
-.IP --message|-m
-Text for upload announcement message
-.IP --quiet|-q
-Suppresses TeX output when unpacking
-.IP --rerun
-Skips setup: simply reruns tests
-.IP --show-log-on-error
-Shows the full log of the failure with 'halt-on-error'
-.IP --show-saves|-S
-Shows the invocation to update failing .tlg files
-.IP --shuffle
-Shuffles order of tests
-.IP --stdengine|-s
-Run tests with the std engine (config dependent)
-.IP --texmfhome
-Location of user texmf tree
-.IP --version
-Prints version information and exits
-.SH BUGS
-.SH AUTHOR
-The LaTeX Project (latex-team@latex-project.org)
-.PP
-Please log issues on the GitHub homepage:
-https://github.com/latex3/l3build/issues.
-.SH SEE ALSO
-See l3build.pdf for more details.
+Valid options are:
+ --config|-c Sets the config(s) used for running tests
+ --date Sets the date to insert into sources
+ --debug Runs target in debug mode
+ --dirty Skips cleaning up the test area
+ --dry-run Dry run for install or upload
+ --email Email address of CTAN uploader
+ --engine|-e Sets the engine(s) to use for running test
+ --epoch Sets the epoch for tests and typesetting
+ --file|-F Takes the upload announcement from the given file
+ --first Name of first test to run
+ --full Installs all files
+ --halt-on-error|-H Stops running tests after the first failure
+ --help|-h Prints this message and exits
+ --last Name of last test to run
+ --message|-m Text for upload announcement message
+ --quiet|-q Suppresses TeX output when unpacking
+ --rerun Skips setup: simply reruns tests
+ --show-log-on-error Shows the full log of the failure with 'halt-on-error'
+ --show-saves|-S Shows the invocation to update failing .tlg files
+ --shuffle Shuffles order of tests
+ --stdengine|-s Run tests with the std engine (config dependent)
+ --texmfhome Location of user texmf tree
+ --version Prints version information and exits
+
+.SH "SEE ALSO"
+Full manual available via 'texdoc l3build'.
+
+Repository : https://github.com/latex3/l3build
+
+Bug tracker : https://github.com/latex3/l3build/issues
+.SH AUTHORS
+Copyright (C) 2014-2024 The LaTeX Project
diff --git a/macros/latex/contrib/l3build/l3build.dtx b/macros/latex/contrib/l3build/l3build.dtx
index 96c1f0ead8..2433c7a311 100644
--- a/macros/latex/contrib/l3build/l3build.dtx
+++ b/macros/latex/contrib/l3build/l3build.dtx
@@ -251,7 +251,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-08}
+% \date{Released 2024-05-27}
%
% \maketitle
% \tableofcontents
@@ -1227,9 +1227,9 @@
% \subsection{Settings in \texttt{texmf.cnf}}
%
% To allow application of non-standard \TeX{} trees or similar non-standard
-% settings, \pkg{l3build} enables searching for a \texttt{texmf.cnf} file
-% by setting the envirnmental variable \texttt{TEXMFCNF}. This might
-% for example be used with a file containing
+% settings, \pkg{l3build} sets the environment variable \texttt{TEXMFCNF}
+% to allow reading of any \texttt{texmf.cnf} file present in the support folder.
+% This might for example be used with a file containing
% \begin{verbatim}
% TEXMFAUXTREES = ../../texmf,
% \end{verbatim}
diff --git a/macros/latex/contrib/l3build/l3build.lua b/macros/latex/contrib/l3build/l3build.lua
index 5b40bc5111..bb53a2ce55 100755
--- a/macros/latex/contrib/l3build/l3build.lua
+++ b/macros/latex/contrib/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2024-02-08"
+release_date = "2024-05-27"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/macros/latex/contrib/l3build/l3build.pdf b/macros/latex/contrib/l3build/l3build.pdf
index af2c8688f0..93f4b8f3ab 100644
--- a/macros/latex/contrib/l3build/l3build.pdf
+++ b/macros/latex/contrib/l3build/l3build.pdf
Binary files differ
diff --git a/macros/latex/contrib/lastpage/README b/macros/latex/contrib/lastpage/README
index 4545b13a60..b7c3c78bb2 100644
--- a/macros/latex/contrib/lastpage/README
+++ b/macros/latex/contrib/lastpage/README
@@ -1,4 +1,4 @@
-README for lastpage package, 2024-04-27, v2.1a
+README for lastpage package, 2024-07-07, v2.1c
TABLE OF CONTENTS
diff --git a/macros/latex/contrib/lastpage/lastpage-example.pdf b/macros/latex/contrib/lastpage/lastpage-example.pdf
index 6d1c748525..db990f6942 100644
--- a/macros/latex/contrib/lastpage/lastpage-example.pdf
+++ b/macros/latex/contrib/lastpage/lastpage-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/lastpage/lastpage.dtx b/macros/latex/contrib/lastpage/lastpage.dtx
index 104d6b8418..c447d39cc6 100644
--- a/macros/latex/contrib/lastpage/lastpage.dtx
+++ b/macros/latex/contrib/lastpage/lastpage.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: lastpage.dtx
-% Version: 2024-04-27 v2.1a
+% Version: 2024-07-07 v2.1c
% Info: Refers to last page's name
%
% Copyright © 2010 - 2024 by
@@ -65,7 +65,7 @@
\input docstrip.tex
\Msg{**********************************************************************}
\Msg{* Installation *}
-\Msg{* Package: lastpage 2024-04-27 v2.1a Refers to last page's name (HMM)*}
+\Msg{* Package: lastpage 2024-07-07 v2.1c Refers to last page's name (HMM)*}
\Msg{**********************************************************************}
\keepsilent
@@ -77,7 +77,7 @@
This is a generated file.
Project: lastpage
-Version: 2024-04-27 v2.1a
+Version: 2024-07-07 v2.1c
Info: Refers to last page's name
Copyright (C) 2010 - 2024 by
@@ -100,10 +100,9 @@ The Current Maintainer of this work is H.-Martin Muench.
This package was invented by Jeffrey P. Goldberg.
I thought that a replacement was needed and therefore created the pageslts package,
-https://ctan.org/pkg/pageslts
-. Nevertheless, for compatibility with existing documents/packages as well as for
-the low amount of resources needed by the lastpage package (no new counter!),
-I updated this package.
+https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+documents/packages as well as for the low amount of resources needed by the
+lastpage package (no new counter!), I updated this package.
Thanks go to Jeffrey P. Goldberg for allowing me to do this.
While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -185,8 +184,8 @@ In memoriam
%<*driver>
\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesFile{lastpage.drv}%
- [2024-04-27 v2.1a Refers to last page's name (HMM)]
-\documentclass{ltxdoc}[2023/03/28]% v2.1j Standard LaTeX documentation class
+ [2024-07-07 v2.1c Refers to last page's name (HMM)]
+\documentclass{ltxdoc}[2024/02/08]% v2.1j Standard LaTeX documentation class
\usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO)
\hypersetup{%
pdfsubject={Refers to last page's name (HMM; JPG)},%
@@ -234,23 +233,23 @@ In memoriam
% \DoNotIndex{\@auxout,\@evenfoot,\@firstofone,\@firstoftwo,\@ifl@t@r,\@ifpackagelater,\@ifpackageloaded}
% \DoNotIndex{\@ifundefined,\@kernel@reserved@label@data,\@mainaux,\@number,\@oddfoot}
% \DoNotIndex{\addtocounter,\AddToHook,\arabic,\begin}
-% \DoNotIndex{\bigskip,\clearpage,\csname,\documentclass,\EdefUnescapeString,\empty,\end,\endcsname}
-% \DoNotIndex{\enddocument,\ExplSyntaxOff,\ExplSyntaxOn,\fmtversion}
+% \DoNotIndex{\bigskip,\clearpage,\csname,\detokenize,\documentclass,\EdefUnescapeString,\empty,\end}
+% \DoNotIndex{\endcsname,\enddocument,\expanded,\ExplSyntaxOff,\ExplSyntaxOn,\fmtversion}
% \DoNotIndex{\g,\gdef,\here,\hfil,\Hy@temp,\Hy@unicodefalse}
-% \DoNotIndex{\hypersetup,\if@filesw,\if@nobreak,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages}
+% \DoNotIndex{\hypersetup,\if,\if@filesw,\if@nobreak,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages}
% \DoNotIndex{\ifdim,\ifnum,\IfPackageAtLeastTF,\IfPackageLoadedTF,\ifvmode,\ifx,\immediate,\input}
% \DoNotIndex{\label,\lastpage,\lastpage-example.tex,\lastpage.dtx,\lastpage.sty,\lastpagee.sty}
% \DoNotIndex{\lastpageclassic.sty,\lastpagemodern.sty,\LaTeX,\LaTeX-kernel,\listfiles}
-% \DoNotIndex{\makeatletter,\makeatother,\markboth,\mbox,\message,\MessageBreak}
+% \DoNotIndex{\makeatletter,\makeatother,\markboth,\meaning,\mbox,\message,\MessageBreak}
% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newcounter,\newline,\newpage,\nobreak}
% \DoNotIndex{\noindent,\normalsize,\numexpr,\origenddocument,\PackageError,\PackageWarning}
% \DoNotIndex{\PackageWarningNoLine,\pagenumbering,\pageref,\pdfstringdef,\protect,\ProvidesPackage}
% \DoNotIndex{\qquad,\RequirePackage,\section,\ShowHook,\slshape,\smallskip,\space,\test,\textbf}
% \DoNotIndex{\textit,\textquotedblleft,\textquotedblright,\textsf,\texttt,\the,\thepage}
-% \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\wd,\write}
+% \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\wd,\write,\xlastpage@rmpage,\xxlastpage@rmpage}
%
% \title{The \xpackage{lastpage} package}
-% \date{2024-04-27 v2.1a}
+% \date{2024-07-07 v2.1c}
% \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}\\
% invented by Jeffrey P. Goldberg\\\xemail{jeffrey+news at goldmark.org}}
%
@@ -559,6 +558,18 @@ In memoriam
% but |\lastpage@putlabel| was replaced by |\lastpage@putl@bel|.
% Because \linebreak |\lastpage@putlabel| is no longer called, now there should not be any
% double definitions of the \texttt{lastpage} label.
+%
+% \subsection{\texttt{\textbackslash pagenumbering\{fnsymbol\}}}
+% When using the foot-note-symbols as page numbers,
+% it can be necessary to declare in the document's preamble:
+% \begin{verbatim}
+% \DeclareTextCommand{\textasteriskcentered}{PD1}{*}
+% \DeclareTextCommand{\textdagger}{PD1}{†}
+% %\DeclareTextCommand{\textdaggerdbl}{PD1}{‡)% seems to neither work nor be necessary
+% \DeclareTextCommand{\textsection}{PD1}{§}
+% \DeclareTextCommand{\textparagraph}{PD1}{¶}
+% \DeclareTextCommand{\textbardbl}{PD1}{‖}
+% \end{verbatim}
% \newpage
%
% \section{Alternatives\label{sec:Alternatives}}
@@ -574,7 +585,7 @@ In memoriam
% \textbf{Note: The current version 2015/12/21 v1.2f of the \pkg{pageslts} package
% has not yet been updated to the new hook mechanism. In special cases (for example }%
% |\pagenumbering{fnsymbol}|\textbf{) the current version of that package combined
-% with a current \LaTeX-format fails. Together with about 80~other packages
+% with a current \LaTeX-format fails. Together with several other packages
% (small to large, public as well as private, some probably obsolete) it is
% in the update queue.}\newline
% The \xpackage{pageslts} package first started as a revision of this
@@ -723,17 +734,17 @@ In memoriam
%
% \begin{macrocode}
%<*example>
-\documentclass[british]{article}[2023/05/17]% v1.4n Standard LaTeX document class
+\documentclass[british]{article}[2024/02/08]% v1.4n Standard LaTeX document class
\makeatletter
\@ifl@t@r\fmtversion{2022/11/01}{%
\AddToHook{enddocument/afterlastpage}[lastpage]{%
\message{^^JLaTeX Info: Executing hook `enddocument/afterlastpage'.}}%
}{\AtEndDocument{\message{^^JLaTeX Info: Executing hook `AtEndDocument'.}}%
}
-\usepackage[draft]{showkeys}[2023/07/08]% v3.19 Show cite and label keys (DPC, MH)
+\usepackage[draft]{showkeys}[2024/05/23]% v3.21 Show cite and label keys (DPC, MH)
%% Use final instead of draft to hide the keys. %%
\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2024-01-20]% v7.01h
-%% Hypertext links for LaTeX
+\@ifpackageloaded{hyperref}{% Hypertext links for LaTeX
\hypersetup{extension=pdf,%
plainpages=false,%
pdflang={en},%
@@ -744,9 +755,8 @@ In memoriam
pdfview=Fit,%
pdfstartview=Fit,%
pdfpagelayout=SinglePage%
-}
-\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4
-\usepackage{lastpage}[2024/04/27]% v2.1a
+}}{\usepackage{url}[2013/09/16]}% v3.4
+\usepackage{lastpage}[2024/07/07]% v2.1c
\renewcommand{\@evenfoot}{%
\normalsize\slshape \today\hfil \upshape %
page \thepage{} of \pageref{LastPage}}
@@ -758,7 +768,7 @@ In memoriam
\section*{Example for lastpage}
\markboth{Example for lastpage}{Example for lastpage}
This example demonstrates the use of package\newline
-\textsf{lastpage}, v2.1a as of 2024-04-27 (HMM; JPG).\newline
+\textsf{lastpage}, v2.1c as of 2024-07-07 (HMM; JPG).\newline
The package takes no options.\newline
For more details please see the documentation!\newline
@@ -783,7 +793,7 @@ trademark owner. There is no intention of infringement; the
usage is to the benefit of the trademark owner.\newline
\textbf{Tip}: Use \textit{logical page numbers}
-for the display of the pdf (in Adobe Acrobat Reader 2024.002.20687:
+for the display of the pdf (in Adobe Acrobat Reader 2024.002.20895:
Edit $>$ Preferences $>$ Page Display $>$
Page Content and Information: Use logical page numbers)!\newline
@@ -837,8 +847,8 @@ The code does not generally work even without hyperref.
\end{verbatim}
\end{quote}
-\noindent does work, because \verb|\lastpage@lastpage| contains the name
-of the page, \mbox{example:}
+\noindent does work (two compilations needed), because \verb|\lastpage@lastpage|
+contains the name of the page, \mbox{example:}
\begin{verbatim}
Page \thepage{} is (not) page \makeatletter\lastpage@lastpage\makeatother.
\end{verbatim}
@@ -894,7 +904,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \DescribeMacro{lastpage.sty}
% We first need to determine whether we are on \TeX~2.09 or \LaTeX2e.\newline
% (That line, which is too long for the documentation, reads:\newline
-% |\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage:|\linebreak
+% |\def\loadlastpage{\ProvidesPackage{lastpage}[2024/07/07 v2.1c lastpage:|\linebreak
% | 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}|.)
%
% \begin{macrocode}
@@ -902,7 +912,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%% Part of the "lastpage" package
%% loads either lastpage2.09.sty for TeX 2.09 or lastpage2e.sty for LaTeX 2e
%% with code from https://groups.google.com/g/comp.text.tex/c/-Qmhj1ZI4xM
-\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
+\def\loadlastpage{\ProvidesPackage{lastpage}[2024/07/07 v2.1c lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
\begingroup \expandafter \ifx \csname documentclass\endcsname\relax
\endgroup \expandafter \input{lastpage209.sty}
\else \endgroup \expandafter \loadlastpage
@@ -942,7 +952,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpage2e>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpage2e}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpage2e}[2024/07/07 v2.1c %
Decide which 2e lastpage version to use (HMM)]
\@ifl@t@r\fmtversion{2023/06/01}{\RequirePackage{lastpagemodern}}{%
\RequirePackage{lastpageclassic}}
@@ -957,7 +967,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpageclassic>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpageclassic}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpageclassic}[2024/07/07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9"
@@ -1375,7 +1385,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpagemodern>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[2023-06-01]
-\ProvidesPackage{lastpagemodern}[2024-04-27 v2.1a %
+\ProvidesPackage{lastpagemodern}[2024-07-07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9" or "Page VII of IX";
@@ -1463,14 +1473,69 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\lastpage@makeHy}
+% Just once we need the page from |\@currentHpage| without any \mbox{\textquotedblleft |page.|\textquotedblright :}
+% \begin{macrocode}
+\newcommand{\lastpage@makeHy}{%
+ \gdef\lastpage@Hy{}%
+ \IfPackageLoadedTF{hyperref}{%
+ \ifHy@pageanchor%
+ \@ifundefined{@currentHpage}{%
+ \PackageError{lastpage}{%
+ Kernel command \string\@currentHpage\space is undefined}{%
+ Please contact the lastpage maintainer.}%
+% \end{macrocode}
+% |\gdef\lastpage@Hy{}|, but that was already done at the beginning of this command.
+% \begin{macrocode}
+ }{\xdef\lastpage@Hptest{Doc-Start}%
+ \ifx\lastpage@Hptest\@currentHpage\relax%
+ \gdef\lastpage@Hy{\@currentHpage}%
+ \else%
+ \edef\lastpage@Hptest{\@currentHpage}%
+ \ifx\lastpage@Hptest\empty\relax%
+% \end{macrocode}
+% |\gdef\lastpage@Hy{}|, but that was already done at the beginning of this command.
+% \begin{macrocode}
+ \else%
+% \end{macrocode}
+% |\@currentHpage| should be |page.<some number>|, |\lastpage@rmpage| removes the
+% \mbox{\textquotedblleft |page.|\textquotedblright .} Next compilation run,
+% |\lastpage@lastpageHy| gets defined via the \xfile{aux} file.
+% If we arrived at this place, but the definition is still empty,
+% then |\@currentHpage| has some unexpected content.
+% \begin{macrocode}
+ \gdef\lastpage@Hy{\lastpage@rmpage{\@currentHpage}}%
+ \ifx\lastpage@lastpageHy\empty\relax%
+ \PackageWarningNoLine{lastpage}{%
+ \string\@currentHpage\space is\MessageBreak%
+ \meaning\@currentHpage\MessageBreak%
+ not beginning with "page.",\MessageBreak%
+ \string\lastpage@lastpageHy\space is now let empty.}%
+ \fi%
+ \fi%
+ \fi%
+ }%
+ \fi%
+ }{}%
+ }%
+
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\lastpage@rmpage}
-% Just once we need |\@currentHpage| without the \mbox{\textquotedblleft |page.|\textquotedblright :}
+% |\lastpage@rmpage| removes the \mbox{\textquotedblleft |page.|\textquotedblright.}
+%
% \begin{macrocode}
-%% similar to https://tex.stackexchange.com/a/12811/6865
-\def\lastpage@rmpage#1{\expandafter\lastpage@currentH#1\relax}
-\def\lastpage@currentH#1.#2\relax{#2}
+%% Code provided by David Carlisle at https://tex.stackexchange.com/a/721877
+\def\lastpage@rmpage#1{%
+ \expandafter\xlastpage@rmpage\expanded{#1}\xlastpage@rmpage page.%
+ \xlastpage@rmpage\xxlastpage@rmpage{#1}}
+\def\xlastpage@rmpage #1page.#2\xlastpage@rmpage#3\xxlastpage@rmpage#4{%
+ \if$\detokenize{#1}$#2%\else#4
+ \fi}
% \end{macrocode}
+% |\else#4| means, that it did not start with |page.|, and whatever it is,
+% we cannot use this |#4| for |\lastpage@Hy|.
% \end{macro}
% \begin{macro}{\lastpage@putl@bel}
% \indent This command does the writing of the label.
@@ -1529,15 +1594,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
{\@kernel@reserved@label@data}}%
}%
% \end{macrocode}
-% \pagebreak
% \noindent We also save the values, so that we can later (next rerun) check,
% whether they have been saved in the \xfile{aux} file.
%
% \begin{macrocode}
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpage{\thepage}}%
- \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{%
- \ifHy@pageanchor\lastpage@rmpage{\@currentHpage}\fi}{}}%
+ \lastpage@makeHy%
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}%
% \end{macrocode}
@@ -1553,7 +1616,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
-%
+%\pagebreak
% \begin{macro}{\lastpage@fileswtest}
% \indent \hspace*{2em}Later it will be determined whether it is allowed to write
% to the \xfile{aux} file. If it was \emph{not} allowed, it is checked
@@ -1679,7 +1742,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX Format \LaTeXe{}: \url{https://www.CTAN.org}
%
-% \item[-] document class \xclass{ltxdoc}, 2023/03/28, v2.1j,
+% \item[-] document class \xclass{ltxdoc}, 2024/02/08, v2.1j,
% \url{https://ctan.org/pkg/ltxdoc}
%
% \item[-] package \xpackage{holtxdoc}, 2019/12/09, v0.30,
@@ -1692,7 +1755,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX, \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1702,7 +1765,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX-format \LaTeX{}, v2.09
%
-% \item[-] package \xpackage{lastpage209}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage209}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}.\smallskip
@@ -1714,7 +1777,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} 1994/12/01 or newer,
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1725,7 +1788,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2023-05-31,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
@@ -1742,13 +1805,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} 2023-06-01 or newer,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
% \begin{description}
% \item[-] package \xpackage{hyperref}, 2023-11-07 and newer
-% (tested with: 2024-01-20, v7.01h),
+% (tested with: 2024-05-23, v7.01i),
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
% \pagebreak
@@ -1757,7 +1820,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% The |lastpage-example.tex| requires the same file as all
% documents using the \xpackage{lastpage} package, i.\,e.
% \begin{description}
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}\newline
% (Well, it is the example file for this package, and because you are reading the
% documentation for the \xpackage{lastpage} package, it can be assumed that you already
@@ -1765,13 +1828,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{description}
% and additionally:
% \begin{description}
-% \item[-] class \xpackage{article}, 2023-05-17, v1.4n, from \xpackage{classes}:
+% \item[-] class \xpackage{article}, 2024-02-08, v1.4n, from \xpackage{classes}:
% \url{https://ctan.org/pkg/classes}
%
-% \item[-] package \xpackage{showkeys}, 2023-07-08, v3.19,
+% \item[-] package \xpackage{showkeys}, 2024-05-23, v3.21,
% \url{https://ctan.org/pkg/showkeys}
%
-% \item[-] package \xpackage{hyperref}, 2024-01-20, v7.01h,
+% \item[-] package \xpackage{hyperref}, 2024-05-23, v7.01i,
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
%
@@ -2038,7 +2101,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% to update it. Further I would like to thank \textsc{Heiko Oberdiek}
% for providing a~lot~(!) of useful packages (from which I also learned everything
% I know about creating a file in \xfile{dtx} format, OK, say it: copying).
-% Thanks for bug reports go to \textsc{Ulrike Fischer} (twice),
+% Thanks to \textsc{David Carlisle} for the new code for |\lastpage@rmpage|.
+% Thanks for bug reports go to \textsc{Ulrike Fischer} (several times),
% \textsc{Sebastian Bank}, \textsc{James Hedges}, \textsc{Mikhail Titov},
% \textsc{Micha\l{} Herman}, \textsc{Matteo Gamboz}, and \textsc{James Small}.
% Thanks to \textsc{Sven Siegmund} for pointing out a necessary further
@@ -2219,8 +2283,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item Replaced |\immediate\write| by a form of (pseudo-code!) |\immediate\protected@write|.
% (Thanks to \textsc{Ulrike Fischer} for the error report and solution!)
% \item Update of the |\lastpage@putl@bel| code to \pkg{hyperref} 2023-07-08, v7.01b,
-% which now allows fnsymbol as page numbering scheme (while links to, for example,
-% a page named $\|$ still do not work).
+% which now allows fnsymbol as page numbering scheme.
% \end{Version}
% \begin{Version}{2023-10-06 v2.0d}
% \item For plain arabic page numbers only, \pkg{lastpage} again writes the page number
@@ -2237,6 +2300,16 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item |\lastpage@IfNumericTF| is no longer needed, but has not been removed
% so as not to break older documents that use it in a different context.
% \end{Version}
+% \begin{Version}{2024-07-03 v2.1b}
+% \item The \xclass{beamer} class loads \xpackage{hyperref} partially,
+% so that \xpackage{hyperref} is incorrectly detected as having been loaded.
+% The defining operation for |\lastpage@Hy| has been changed to catch this
+% and other different cases.
+% \end{Version}
+% \begin{Version}{2024-07-07 v2.1c}
+% \item With help from \textsc{David Carlisle} |\lastpage@rmpage| no longer assumes
+% |\@currentHpage| to begin with |page.|.
+% \end{Version}
% \end{History}
% \bigskip
%
diff --git a/macros/latex/contrib/lastpage/lastpage.pdf b/macros/latex/contrib/lastpage/lastpage.pdf
index 02cb1362b7..9d224e6772 100644
--- a/macros/latex/contrib/lastpage/lastpage.pdf
+++ b/macros/latex/contrib/lastpage/lastpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdf
index b2e843d1b7..d9df92737e 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-arabic.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
index f8c0fc77c2..eb04394020 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
index f85a80ef42..7e51b43944 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
index d49d889089..8ffa8dbdeb 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
@@ -166,14 +166,16 @@ la reliait au château de Treillan distant de quelques kilomètres à peine.
\vspace{.5\baselineskip}
\textit{Changement de police (ici Typocaps)
- et de couleur pour la lettrine :}\\
+ et de couleur pour la lettrine et sa suite :}\\
\verb+\renewcommand{\LettrineFontHook}{\Typocapsfamily\color{red}}+\\
-\verb+\lettrine[findent=.3em]{E}{n} plein marais...+
+\verb+\renewcommand{\LettrineTextFont}{\color{red}\scshape}+\\
+\verb+\lettrine[findent=.3em]{E}{n plein marais de la Souteyranne}+
{% Groupe (changement local de fonte)
\renewcommand{\LettrineFontHook}{\Typocapsfamily\color{red}}
+\renewcommand{\LettrineTextFont}{\color{red}\scshape}
-\lettrine[findent=.3em]{E}{n} plein marais de la Souteyranne, à quelques
+\lettrine[findent=.3em]{E}{n plein marais de la Souteyranne}, à quelques
kilomètres au nord d'Aigues-Mortes, se trouve la Tour Carbonnière.
Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
terrestre de la ville fortifiée.
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
index a0c3aa3bdc..20ec7e2186 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine.pdf b/macros/latex/contrib/lettrine/doc/lettrine.pdf
index 2866dec763..ddca3c74cd 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/lettrine.dtx b/macros/latex/contrib/lettrine/lettrine.dtx
index c4bf9472c5..e6df6e3b70 100644
--- a/macros/latex/contrib/lettrine/lettrine.dtx
+++ b/macros/latex/contrib/lettrine/lettrine.dtx
@@ -107,7 +107,7 @@
\ProvidesFile{lettrine.dtx}
%</dtx>
%<*sty|dtx>
- [2024-01-20 v2.60 (Daniel Flipo)]
+ [2024-06-26 v2.61 (Daniel Flipo)]
%</sty|dtx>
% \fi
%
@@ -314,9 +314,6 @@
% \item |\LettrineImagefalse|,
% \item |\LettrineOnGridfalse|,
% \item |\LettrineRealHeightfalse|,
-% \item |\renewcommand*{\LettrineTextFont}{\scshape}|,
-% \item |\renewcommand*{\LettrineTestString}{EFTZ}|,
-% \item |\renewcommand*{\LettrineSecondString}{x}|,
% \item |\renewcommand{\DefaultOptionsFile}{optfile.cfl}|.
% \end{itemize}
%
@@ -336,6 +333,14 @@
% file will be overridden by the optional arguments eventually given
% to the |\lettrine| command.
%
+% More customisation possibilities are offered by the next four
+% commands:
+% \begin{itemize}
+% \item |\renewcommand*{\LettrineFontHook}{}|,
+% \item |\renewcommand*{\LettrineTextFont}{\scshape}|,
+% \item |\renewcommand*{\LettrineTestString}{EFTZ}|,
+% \item |\renewcommand*{\LettrineSecondString}{x}|,
+% \end{itemize}
% |\LettrineTextFont| sets the font used for the second argument
% of |\lettrine|, its default definition is
% |\newcommand{\LettrineTextFont}{\scshape}| (second argument in
@@ -376,6 +381,8 @@
% all initials in a (part of) document:
% |\renewcommand{\LettrineFontHook}{\color[gray]{0.5}}| \\
% will colour the initials following this command in grey.
+% A |\color| command can be added in |\LettrineTextHook| if the text
+% following the dropped cap requires the same or another colour.
%
% \changes{v1.3}{2002/08/23}{Correct the documentation to
% mention the cm-super fonts and the type1ec package by
@@ -452,6 +459,10 @@
% environments but does not work within `center’ environments
% except with option \texttt{[lines=1]}.
% \item |\lettrine| does not work within lists.
+% \item If |\lettrine| is used inside any environment, it is
+% \emph{mandatory} to end the paragraph starting with the dropped
+% capital \emph{inside} the environment; adding a |\par| command
+% before the end of environment usually fixes placement issues.
% \item The LaTeX |\raggedright| command doesn’t work well with the
% TeX |\parshape| command used internally by |\lettrine|.
% Please use the |\RaggedRight| command from the \pkg{ragged2e}
@@ -668,10 +679,10 @@
{
lines.code = \setcounter{L@lines}{#1} ,
depth.code = \setcounter{L@depth}{#1} ,
- lhang.code = \renewcommand*{\L@hang}{#1} ,
- loversize.code = \renewcommand*{\L@oversize}{#1} ,
- lraise.code = \renewcommand*{\L@raise}{#1} ,
- ante.code = \renewcommand*{\L@ante}{#1} ,
+ lhang.store = \L@hang ,
+ loversize.store = \L@oversize ,
+ lraise.store = \L@raise ,
+ ante.store = \L@ante ,
findent.code = \setlength{\L@Findent}{#1} ,
nindent.code = \setlength{\L@Nindent}{#1} ,
slope.code = \setlength{\L@slope}{#1} ,
@@ -1166,10 +1177,13 @@
% dropped cap, add a \cs{rule} to mimic its height above the baseline
% instead.}
%
+% \changes{v2.61}{2024/06/26}{Include the `ante’ box into the \cs{smash}
+% command in case it is shifted down.}
+%
% Write the dropped capital into the left margin, and wrap
% the rest of paragraph around it.
% \begin{macrocode}
- \llap{\mbox{\L@ante}\smash{\raisebox{\L@lraise}{\usebox{\L@lbox}}}%
+ \llap{\smash{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}}%
\ifL@grid\else\rule{0pt}{\L@ruleht}\fi
\hskip \the\L@Findent}%
\unhcopy\L@tbox\relax
diff --git a/macros/latex/contrib/linearregression/README.txt b/macros/latex/contrib/linearregression/README.txt
new file mode 100644
index 0000000000..5283d9b1b6
--- /dev/null
+++ b/macros/latex/contrib/linearregression/README.txt
@@ -0,0 +1,41 @@
+2024-06-10
+---------------------------------------------------------------------
+This file is ** README.txt ** for the ** linearregression ** package
+---------------------------------------------------------------------
+Author: Battista Benciolini <benciolinibattista at gmail dot com>
+---------------------------------------------------------------------
+
+The package ** linearregression ** provides the definition of some
+document-level commands (and some auxiliary functions) that perform
+the linear regression on a set of data and present the data and
+the results in tabular and in graphic form.
+
+ ***************************************************************
+ *** The author would strongly appreciate to receive ***
+ *** any comment, criticism and just usage reports ***
+ ***************************************************************
+
+The expl3 syntax is used in the definition of most of
+the commands and functions.
+
+The distribution includes:
+ README.txt (this file)
+ linearregression.dtx (a self extracting and self documenting file)
+ linearregressionpkg.ins (used to only extract the package)
+ linearregression.pdf (documentation)
+
+Running pdflatex linearregression.dtx generates:
+ linearregression.pfd (full documentation, three pass needed)
+ mainlinearregression.tex (interactive main-program document)
+ linearregression.sty (package)
+ sampledata.txt (as the name says)
+
+Running pdflatex linearregressionpkg.ins generates: linearregression.sty
+(and linearregressionpkg.log)
+
+This program may be used, distributed and modified under
+the conditions of the LaTeX Project Public License.
+(see:http://www.latex-project.org/lppl.txt)
+
+===================== END of README file ======================
+
diff --git a/macros/latex/contrib/linearregression/linearregression.dtx b/macros/latex/contrib/linearregression/linearregression.dtx
new file mode 100644
index 0000000000..2eeea126f8
--- /dev/null
+++ b/macros/latex/contrib/linearregression/linearregression.dtx
@@ -0,0 +1,1235 @@
+%\iffalse
+% file: linearregression.dtx
+% author: Battista Benciolini
+% contact: benciolinibattista at gmail dot com
+% date: see preamble
+%
+% process this file with pdflatex to obtain:
+%
+% - linearregression.pfd (full documentation, three pass needed)
+% - mainlinearregression.tex (interactive main-program document)
+% - linearregression.sty (package)
+% - sampledata.txt (as the name says)
+%
+% The author would strongly appreciate to receive
+% any comment, criticism and just usage report
+%
+%\fi
+%\iffalse
+%<*ins>
+\begingroup
+\input docstrip.tex
+\keepsilent
+\preamble
+------------------------------------------------------------------------
+[2024-06-10]
+This file is part of the (expanded) distribution of linearregression
+The author of linearregression is Battista Benciolini
+<benciolinibattista at gmail dot com >
+------------------------------------------------------------------------
+The author would strongly appreciate to receive
+any comment, criticism and just usage report
+------------------------------------------------------------------------
+This program may be used, distributed and modified under
+the conditions of the LaTeX Project Public License.
+(see: http://www.latex-project.org/lppl.txt)
+------------------------------------------------------------------------
+\endpreamble
+\askforoverwritefalse
+\generate{\file{linearregression.sty}{\from{linearregression.dtx}{package}}}
+\generate{\file{mainlinearregression.tex}{\from{linearregression.dtx}{main}}}
+\nopreamble\nopostamble
+\generate{\file{sampledata.txt}{\from{linearregression.dtx}{data}}}
+\endgroup
+%</ins>
+%\fi
+%\iffalse
+%<*driver>
+\documentclass[a4paper,10pt]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage[lite,nobysame,non-compressed-cites]{amsrefs}
+\usepackage{amsmath,amssymb,amsfonts}
+\usepackage{multicol}
+\usepackage{linearregression}
+\usepackage{graphics}
+\DeclareRobustCommand*{\Ars}{\textsf{%
+\lower -.48ex\hbox{\rotatebox{-20}{A}}\kern -.3em{rs}}%
+\discretionary{-}{}{\kern -.05em}\TeX\discretionary{-}{}{%
+\kern -.17em}\lower -.357ex\hbox{nica}}% excerpt from some GUIT sty file
+\NewDocumentCommand\vect{m}{\underline{#1}} % vector
+\NewDocumentCommand\barycenter{m}{\overline{#1}} % barycenter
+\NewDocumentCommand\point{}{\vect{y}} % point
+\NewDocumentCommand\coeff{}{\vect{x}} % direction
+\NewDocumentCommand\dx{}{\vect\delta} % direction variation
+\NewDocumentCommand\vv{}{\vect{v}} % barycentric coordinates
+\NewDocumentCommand\trasp{}{^{\mathsf{T}}} % traspose
+\NewDocumentCommand\Renne{}{\mathbb{R}^n} % vector space
+\NewDocumentCommand\dor{}{f} % distance from origin
+\NewDocumentCommand\ipoint{}{i} % index for points
+\NewDocumentCommand\pointsum{}{\sum_{\ipoint=1}^m} % sum over points
+\NewDocumentCommand\reff{m}{(\ref{#1})} % ref in ( )
+\NewDocumentCommand\matr{m}{{#1}} % matrix
+\NewDocumentCommand\mC{}{\matr{C}} % matrix C
+\NewDocumentCommand\mc{}{k} % elements of matrix C
+\NewDocumentCommand\mL{}{\matr{\Lambda}} % matrix lambda
+\NewDocumentCommand\mX{}{\matr{X}} % matrix X
+\NewDocumentCommand\spm{}{\phantom{-}} % space for the sign
+\NewDocumentCommand\ctext{}{caption} % caption (a variable !)
+\NewDocumentCommand\matrixtwotwo{mmmm}{ % | 2 x 2
+\begin{pmatrix} #1 & #2 \\ #3 & #4 \end{pmatrix}} % | matrix
+\DeclareMathOperator\tr{tr} % trace
+\DeclareMathOperator\sgn{sgn} % signum
+\title{Linear regression with \LaTeX}
+\author{Battista Benciolini}
+\NewDocumentCommand\titleauthorfootnote{}{\begingroup% Not an elegant solution
+\let\thefootnote\relax % but it is ok at the moment
+\footnote{Linear regression with LaTeX - available in CTAN}%
+\footnote{Battista Benciolini - contact: benciolinibattista at gmail dot com}%
+\endgroup\setcounter{footnote}{0}}%
+\parindent=0pt
+\begin{document}
+\hypersetup{hidelinks}
+\maketitle
+\titleauthorfootnote
+\tableofcontents
+\vfill
+\DocInput{linearregression.dtx}
+\end{document}
+%</driver>
+%\fi
+%
+% \section{Introduction: first description of the problem\label{intro}}
+% I start with a quote from \Ars\ (April 2021, number 31, page 73):
+% \begin{quotation}
+% The physicist Mario Rossi is investigating a phenomenon,
+% presumably linear, and he performs measurements in his laboratory
+% to verify his hypothesis; he measures the quantity $x$ which generates
+% the phenomenon and he measures also one of the characteristics
+% $y$ showed by the phenomenon under the effect of the stimulation $x$.
+% \\ ... \par
+% Subsequently Mario graphs the data of the table to judge if the points
+% reasonably follow a linear trend or not; in this regard he computes the
+% parameters of the regression line and he draws this line on the graph
+% in order to judge the quality of the obtained results.
+% \\ ... \par
+% Being a \LaTeX\ user, he thinks to kill two birds with one stone:
+% using \LaTeX\ to draw the graph with the experimental data consisting
+% in the $x$, $y$ points and, at the same time, to compute the
+% parameter $a$ e $b$ of the regression line $y = ax+b$,
+% and finally to draw also this line on the same graph.
+% \end{quotation}
+% A summary description of the the problem is therefore the following.
+% A set of data pairs is available and each pair is represented as a point
+% in the plain. A straight line is searched that optimally approximates
+% the points. The first step is therefore the choice of an optimality criterion.
+% This choice is the topic of the next section. \par
+% From the text we also know that the possible deviation of $y$
+% with respect to the model is quite larger than the uncertainty of $x$.
+% \par
+% After reading the description of the problem
+% of Mario Rossi I tried to produce a solution.
+% In this work I will use $y_1$ and $y_2$
+% instead of $x$ and $y$ for the two measured quantities that
+% will become the first and second coordinate, or abscissa and ordinate,
+% in the Cartesian plane.
+% \par
+% The problem can be treated as a mere problem of approximation or
+% alternatively as an estimation problem in the frame of a
+% probabilistic description of the uncertainty. The two treatments are
+% conceptually different. The probabilistic treatment produces some more
+% results, but the estimation of the parameters is the same.
+% On the other hand the treatment as an approximation problem is in some sense
+% more immediate and requires a less extended theoretical background.
+% For this reason it will be preferred here.
+% I consider the original problem and also a variation
+% of it based on the assumption that the two variables are known with
+% the same uncertainty. The two considered situations will prove
+% to be quite different.
+%
+% \section{Geometric definition of there optimality criteria}
+% \begin{figure}
+% \setlength\unitlength{4cm}
+% \begin{picture}(1, 0.7)(0.,0.)
+% \multiput(0.,0.)(1.1,0){3}{\line(1,0){1}}
+% \multiput(0.,0.)(1.1,0){3}{\line(0,1){1}}
+% \multiput(1,1)(1.1,0){3}{\line(-1,0){1}}
+% \multiput(1,1)(1.1,0){3}{\line(0,-1){1}}
+% \thicklines
+% \multiput(0.08,0.06)(1.1,0){3}{\line(4,3){0.88}}
+% \multiput(0.26,0.09)(1.1,0){3}{\circle{0.03}}
+% \multiput(0.45,0.65)(1.1,0){3}{\circle{0.03}}
+% \multiput(0.92,0.44)(1.1,0){3}{\circle{0.03}}
+% \put(0.26,0.09){\line(0,1){0.1050}}
+% \put(0.45,0.65){\line(0,-1){0.3125}}
+% \put(0.92,0.44){\line(0,1){0.2500}}
+% \put(1.36,0.09){\line(-1,0){0.14}}
+% \put(1.55,0.65){\line( 1,0){0.4167}}
+% \put(2.02,0.44){\line(-1,0){0.3333}}
+% \put(2.46,0.09){\line(-3,4){0.05}}
+% \put(2.65,0.65){\line(3,-4){0.15}}
+% \put(3.12,0.44){\line(-3,4){0.12}}
+% \end{picture}
+% \caption{The three kinds of segments
+% used in the definition of the objective function}
+% \label{fig:criteria}
+% \end{figure}
+% For each point given in the plane we can consider the corresponding point
+% with the same abscissa and belonging to the line.
+% Remember that the line is exactly what has to be determined.
+% The distance between the given point and the just defined point on the line
+% is a reasonable measure of the discrepancy between the empirical data and the
+% corresponding theoretical model.
+% The distances we are speaking about are the length of the segments shown
+% in the leftmost scheme of figure (\ref{fig:criteria}).
+% To obtain a global discrepancy measure that considers all the points
+% at once we perform the sum of the squares of the lengths
+% of the mentioned segments. It is now clear that the two coordinates
+% of the points are treated quite differently and play a different role in
+% the definition of the optimality criterion. This choice is reasonable when
+% the measuring errors only (or mainly) affect the second coordinate.
+% The optimal line is the line that minimize the just defined
+% global discrepancy. The procedure for the determination of the optimal line
+% is named linear regression.
+% In this work it is named \textit{classical linear regression}.
+% We can easily exchange the role of the two quantities, i.e.\ we can
+% imagine that the first quantity is affected by errors.
+% The problem is not conceptually different. The segments plotted in the
+% central picture
+% of figure (\ref{fig:criteria}) represent the discrepancy between
+% the empirical data and the model.
+% This other procedure is named \textit{classical linear regression
+% with inverted role of the coordinates}.\par
+% The situation is really different if the two coordinates have to be treated
+% symmetrically.
+% In this case the discrepancy between
+% the empirical data and the model must be defined in a purely geometrical way.
+% Just the line and the points enter in the definition without any special role
+% for any predefined direction. With these requirements it is quite natural
+% to use the distance of each point from the line.
+% Remember that the distance of a point
+% from a line is intended along the shortest path, i.e.\ measured in the
+% direction orthogonal to the line itself. The rightmost scheme of
+% figure (\ref{fig:criteria}) shows the segments that are considered.
+% The global measure of discrepancy is again obtained as the sum
+% of the squares of the length of the mentioned orthogonal segments.
+% The procedure that obtain the optimal line that
+% minimize the just defined global discrepancy is named
+% \textit{symmetrical linear regression}.\par
+% Some arguments of the present section will be repeated in section
+% \ref{package} from the algebraic and computational point of view.
+%
+% \section{General information on the proposed solution, including limitations}
+% The code that implements the solution is recorded in two files, that are
+% a package (sty) file and a main interactive document.
+% The file |linearregression.sty| provides several commands
+% that can be used in any document. The file |mainlinearregression.tex|
+% provides a simple interactive user interface.
+% The package described in the sections \ref{manual} and
+% \ref{package} (user manual and implementation) provides the
+% functions that execute the various needed operations, i.e.\
+% data input, computations, printing the numerical results and
+% generating a graphic representation of data and results.
+% Some auxiliary functions complete the package.
+% The design of the output (tables and plots) includes some arbitrary choices.
+% The style of the graphic output is quite minimalist
+% (e.g.:\ no colors, no variations of line styles).\par
+%
+% \section{Some comments about the programming aspect of the package
+% and its documentation}
+% Large part of the code is written using the |expl3| language.
+% (Is it also named simply L3 ? Does expl still means experimental ?)
+% I have tried to be compliant with the various recommendations and
+% prescriptions for a correct use of the language,
+% but I probably only partly succeeded.\par
+% Different more elegant and more coherent solutions probably exist
+% both for the general structure of the package and for some specific part
+% of the code, but this is what I have been able to do.
+% Some perhaps problematic aspects are mentioned here after\par
+% Several used variables are global and they are accessed by various functions.
+% This makes the various parts of the package
+% quite connected to each other and creates strong dependencies. \par
+% The layered programming style is only partially applied.
+% The partition between document command and lower level functions is present,
+% but part of the low level code is directly in the document commands.
+% Variants are not used.\par
+% One more remarks concern the documentation.
+% I was uncertain about the opportunity of using the class |l3doc|. I decided to
+% remain using |ltxdoc|. This is the reason why I do not use the environment
+% |macro| and the command |\cs| in the documentation of some auxiliary
+% functions named according with the |expl3| standard.
+% (I have just an interim far from optimal solution
+% for a reasonable formatting.)
+%
+% \section{A ready to use simple user interface\label{main}}
+% The main file asks the user for the name of a
+% file containing the data and generates a one (or two) page output.
+%\iffalse
+%<*main>
+%\fi
+% \begin{macrocode}
+\documentclass[a4paper]{article}
+\usepackage{lmodern}
+\usepackage{linearregression}
+\begin{document}
+\pagestyle{empty}
+\lraskfilename
+\lrcomputation
+\lrplot{12.0}{+}{+}{-}{-}
+\lrprint
+\end{document}
+% \end{macrocode}
+%\iffalse
+%</main>
+%\fi
+%
+% \section{A user manual for the package\label{manual}}
+% The various analysis of a data set and the representation of the data
+% and of the results is obtained with a sequence of several commands.
+% The main operations are:
+% (i) selection of the data file, (ii) data imput and computation,
+% (iii) printing of a table,
+% (iv) printing of a picture (that can be repeated with different parameters).
+% It is generally convenient to put the table and the picture(s)
+% in a proper floating environment.
+% The commands for the four mentioned operations are described here after.
+% The first needed operation is to set the name of the data file.
+% This is done with the command \DescribeMacro{\lrfilename}
+% \cs{lrfilename}\marg{file} that has a mandatory argument.
+% The argument is the name of the data file. As an alternative the
+% command \DescribeMacro{\lraskfilename} \cs{lraskfilename} can be used.
+% It asks the user to type the name of the data file in the terminal.
+% \par
+% The macro \DescribeMacro{\lrcomputation}
+% \cs{lrcomputation} reads the data
+% and performs all the computations.
+% The results of the computations remain available in internal
+% variables and are then used by the macro that print them
+% or generates a plot.
+%\par
+% The macro \DescribeMacro{\lrprint}
+% \cs{lrprint} generates a table with all the estimated
+% parameters and some information about the data.
+% \par
+% The macro \DescribeMacro{\lrplot}
+% \cs{lrplot}\marg{imagewidth}\marg{key1}\marg{key2}\marg{key3}\marg{key4}
+% really generates the plot. The first argument is the
+% width of the plot, while the height is computed according
+% to the distribution of the points. The other four arguments are referred
+% to the data points, to the lines determined with classical regression,
+% with classical regression with inverted role of the coordinates and
+% with symmetric regression.
+% The four items, i.e.\ the set of points and the three lines, are drawn
+% or not according to the corresponding character found in |key|$i$.
+% Each item is not plotted if the character is a |-|, it is plotted in any other
+% case. Furthermore the lines are accompanied by a label made by the
+% corresponding |key|, unless it is just a |+|.
+% \par
+% Few words are necessary about the format of the data file.
+% Each record of the file hold the two values related to a point.
+% The two values must be separated by any number (one is needed as a minimum) of
+% space and comma characters. No character different from space
+% can be accepted before the first value and after the second value.
+%
+% \section{An example\label{example}}
+% The data reported here after will be available in |sampledata.txt|
+% and will be used in the example presented in this section .
+%\iffalse
+%<*data>
+%\fi
+% \begin{multicols}{4}
+% \begin{macrocode}
+-0.546 0.107
+ 1.093 -0.510
+ 1.440 1.995
+ 1.414 0.991
+ 0.735 1.585
+-1.848 -0.235
+-0.203 -0.292
+ 1.517 0.779
+ 0.559 -1.341
+-0.462 -0.437
+-0.785 -0.661
+-0.558 0.397
+ 0.181 -2.616
+ 0.619 1.859
+-0.223 -1.915
+ 0.629 -0.534
+-1.989 -2.300
+-0.241 1.098
+-0.931 -1.613
+-1.070 0.592
+ 2.341 0.413
+ 1.993 -0.111
+-2.357 -0.312
+-1.975 0.140
+% \end{macrocode}
+% \end{multicols}
+%\iffalse
+%</data>
+%\fi
+%
+% The analysis of the sample data and the generation of a numeric table
+% is operated by a code similar to the following
+% (see table \ref{tab:sampledata}). \\
+% |\lrfilename{sampledata.txt}| \\ |\lrcomputation| \\
+% |\begin{table}| \\
+% | \lrprint| \\
+% | \caption{Analysis of ... }| \\ |\label{tab:sampledata}\end{table}|
+% \par
+% The generation of some different graphical representation of the data and of
+% the results is operated by a code similar to the following
+% (see figures \ref{fig:sampledataB} ).\\
+% \RenewDocumentCommand\ctext{}{LEFT The three lines are obtained with the three
+% optimality criteria. (AA) classical linear regression; (BB) classical linear
+% regression with inverted role of the coordinates; (S) symmetric linear
+% regression. RIGHT Data points and line estimated with
+% symmetric linear regression.}
+% |\begin{figure}|\\|\lrplot{10.}{-}{AA}{BB}{S}| \\
+% |\lrplot{10.}{+}{-}{-}{+}|
+% \\ |\caption{|\ctext|}|\\ | \label{fig:sampledataB} \end{figure}|
+%
+% \lrfilename{sampledata.txt} \lrcomputation
+% \begin{table} \lrprint \caption{Analysis of the sample data}
+% \label{tab:sampledata} \end{table}
+% \begin{figure} \lrplot{6.}{-}{AA}{BB}{S} \hfill \lrplot{6.}{+}{-}{-}{+}
+% \caption{\ctext} \label{fig:sampledataB} \end{figure}
+%
+% \section{A package for linear regression
+% and the theory behind it\label{package}}
+%\iffalse
+%<*package>
+%\fi
+%
+% \subsection{Math preliminaries and notation \label{prelim}}
+% The coordinates of a set of $m$ points on the plane are available.
+% A straight line is searched that optimally approximates the points.\par
+% The coordinates of a generic point are $y_1$ and $y_2$
+% and they are collected in the vector $\point$.
+% Any given point is identified with the index $\ipoint$.
+% (Explicit indices $(\dots)_1$ or $(\dots)_2$ always refer to the first
+% or second coordinate of a point or to the first or second component
+% of a vector in the plane.
+% Symbolic index $(\dots)\ipoint$ always refers to the different points. Few
+% formulas require both indices $(\dots)_{1\ipoint}$, $(\dots)_{2\ipoint}$.)\par
+% With more then two points a criterion of best approximation
+% is needed to select the optimal line that describes the data. \par
+% Lower case symbols are used for scalars. Lower case underlined
+% symbols are used for vectors in the plane. Upper case symbols
+% are used for matrices.
+% \par
+% It is possible that certain data generate an ambiguity or a singularity
+% in the computation.
+% The following mathematical treatment of the problem
+% do not mention these situations and the code does not deal with them.
+%
+% \subsection{Package declaration, required package and definition of variables}
+% The various macro will be provided in a package file
+% that is introduced as usual. Most of the macros require
+% the \LaTeX3 syntax.
+% \begin{macrocode}
+\ProvidesPackage{linearregression}[2024-06-10]
+\RequirePackage{pict2e}
+\ExplSyntaxOn
+% \end{macrocode}
+% The variables used in the package are defined hereafter.
+% \begin{macrocode}
+\ior_new:N \g_BBLR_file_ior
+\tl_new:N \g_BBLR_file_name_tl
+\int_new:N \g_BBLR_number_of_points_int
+\fp_new:N \g_BBLR_abscissa_fp
+\fp_new:N \g_BBLR_ordinate_fp
+\fp_new:N \g_BBLR_mean_abscissa_fp
+\fp_new:N \g_BBLR_mean_ordinate_fp
+\fp_new:N \g_BBLR_abscissa_SecOrdMoment_fp
+\fp_new:N \g_BBLR_ordinate_SecOrdMoment_fp
+\fp_new:N \g_BBLR_mixed_SecOrdMoment_fp
+\fp_new:N \g_BBLR_slope_A_fp
+\fp_new:N \g_BBLR_slope_B_fp
+\fp_new:N \g_BBLR_slope_S_fp
+\fp_new:N \g_BBLR_intercept_A_fp
+\fp_new:N \g_BBLR_intercept_B_fp
+\fp_new:N \g_BBLR_intercept_S_fp
+\fp_new:N \g_BBLR_cos_fp
+\fp_new:N \g_BBLR_sin_fp
+\fp_new:N \g_BBLR_sig_sin_fp
+\fp_new:N \g_BBLR_eig_diff_fp
+\fp_new:N \g_BBLR_diag_diff_fp
+\tl_new:N \g_BBLR_file_line_tl
+\fp_new:N \g_BBLR_min_abscissa_fp
+\fp_new:N \g_BBLR_min_ordinate_fp
+\fp_new:N \g_BBLR_max_abscissa_fp
+\fp_new:N \g_BBLR_max_ordinate_fp
+\fp_new:N \g_BBLR_min_draw_abscissa_fp
+\fp_new:N \g_BBLR_max_draw_abscissa_fp
+\bool_new:N \g_BBLR_data_eof_bool
+\int_new:N \g_BBLR_record_length_int
+\int_new:N \g_BBLR_rec_count_int
+\int_new:N \g_BBLR_first_separator_int
+\int_new:N \g_BBLR_last_separator_int
+\str_const:Nn \c_BBLR_space_str {~}
+\str_const:Nn \c_BBLR_comma_str {,}
+\str_const:Nn \c_BBLR_plus_str {+}
+\str_const:Nn \c_BBLR_minus_str {-}
+\bool_new:N \g_BBLR_plot_points_bool
+\bool_new:N \g_BBLR_plot_lineA_bool
+\bool_new:N \g_BBLR_plot_lineB_bool
+\bool_new:N \g_BBLR_plot_lineS_bool
+\fp_new:N \g_BBLR_base_fp
+\fp_new:N \g_BBLR_height_fp
+\fp_new:N \g_BBLR_Xbase_fp
+\fp_new:N \g_BBLR_Xheight_fp
+\fp_new:N \g_BBLR_Dabscissa_fp
+\fp_new:N \g_BBLR_Dordinate_fp
+\fp_new:N \g_BBLR_diameter_fp
+\fp_gset:Nn \g_BBLR_diameter_fp{0.2}
+\fp_new:N \g_BBLR_line_base_length_fp
+\fp_new:N \g_BBLR_scale_factor_fp
+\str_new:N \c_BBLR_point_code_str
+\str_new:N \g_BBLR_labelA_str
+\str_new:N \g_BBLR_labelB_str
+\str_new:N \g_BBLR_labelS_str
+% \end{macrocode}
+%
+% \subsection{Preparing data input}
+% \begin{macro}{\lrfilename}
+% The command \cs{lrfilename} records the file name passed as argument.
+% \begin{macrocode}
+\NewDocumentCommand{\lrfilename}{m}{
+\tl_gset:Nn \g_BBLR_file_name_tl {#1}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\lraskfilename}
+% The command \cs{lraskfilename} asks for the data file name from the terminal.
+% \begin{macrocode}
+\NewDocumentCommand{\lraskfilename}{}{
+\ior_get_term:nN {filename ? } \g_BBLR_file_name_tl
+\tl_trim_spaces:N \g_BBLR_file_name_tl
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Main command declaration, computation of
+% first and second order moments}
+% \begin{macro}{\lrcomputation}
+% The command \cs{lrcomputation} reads the data file and
+% performs all the relevant computations to solve the
+% proposed problem.
+% \begin{macrocode}
+\NewDocumentCommand{\lrcomputation}{}{%
+% \end{macrocode}
+%
+% In the sequel it will results that the first and second order moments
+% of the data provide everything needed to solve the problem.
+% The barycenter of the data is defined as
+% \begin{equation}
+% \barycenter{\point}=\frac{1}{m}\pointsum \point_\ipoint.
+% \label{barycenter} \end{equation}
+% It is convenient to scan the data to accumulate the sum
+% that appears in \reff{barycenter}.
+% The coordinates of each point are read from the file
+% and they are immediately used.
+% It is therefore not necessary to globally record the data.
+% \begin{macrocode}
+\bool_gset_false:N \g_BBLR_data_eof_bool
+\int_zero:N \g_BBLR_number_of_points_int
+\fp_zero:N \g_BBLR_mean_abscissa_fp
+\fp_zero:N \g_BBLR_mean_ordinate_fp
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\bool_until_do:Nn \g_BBLR_data_eof_bool {
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \if_eof:w \g_BBLR_file_ior
+ \bool_gset_true:N \g_BBLR_data_eof_bool
+ \else:
+ \int_incr:N \g_BBLR_number_of_points_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_BBLR_mean_abscissa_fp
+ {\g_BBLR_mean_abscissa_fp + \g_BBLR_abscissa_fp}
+ \fp_gset:Nn \g_BBLR_mean_ordinate_fp
+ {\g_BBLR_mean_ordinate_fp + \g_BBLR_ordinate_fp}
+ \fi:
+}
+% \end{macrocode}
+% Loop ended. Now close the file and divide by the number of points.
+% \begin{macrocode}
+\ior_close:N \g_BBLR_file_ior
+\fp_gset:Nn \g_BBLR_mean_abscissa_fp
+{\g_BBLR_mean_abscissa_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_mean_ordinate_fp
+{\g_BBLR_mean_ordinate_fp / \g_BBLR_number_of_points_int}
+% \end{macrocode}
+%
+% The barycentric coordinates are defined for each point
+% \begin{equation} \vv_\ipoint= \point_\ipoint - \barycenter{\point}
+% \label{residual} \end{equation}
+% and the empirical dispersion matrix is defined as:
+% \begin{equation} \mC=\frac{1}{m}\pointsum \vv_\ipoint\vv_\ipoint\trasp .
+% \label{matrixC} \end{equation}
+% Superscript as in $()\trasp$ means transpose. The elements of $\mC$ are the
+% second order central moments and they are denoted as:
+% \begin{equation} \mC=\matrixtwotwo{\mc_{11}}{\mc_{12}}{\mc_{12}}{\mc_{22}}.
+% \label{matrixCc} \end{equation}
+% A second scan of the data is performed to compute the
+% sums that appears in \reff{matrixC} and to determine the
+% the extremal values of the coordinates. Record scan can be regulated
+% by a record counter, because the the number of points is now known.
+% \begin{macrocode}
+\fp_zero:N \g_BBLR_abscissa_SecOrdMoment_fp
+\fp_zero:N \g_BBLR_ordinate_SecOrdMoment_fp
+\fp_zero:N \g_BBLR_mixed_SecOrdMoment_fp
+\fp_gset_eq:NN \g_BBLR_min_abscissa_fp \g_BBLR_mean_abscissa_fp
+\fp_gset_eq:NN \g_BBLR_min_ordinate_fp \g_BBLR_mean_ordinate_fp
+\fp_gset_eq:NN \g_BBLR_max_abscissa_fp \g_BBLR_mean_abscissa_fp
+\fp_gset_eq:NN \g_BBLR_max_ordinate_fp \g_BBLR_mean_ordinate_fp
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\int_zero:N \g_BBLR_rec_count_int
+\int_do_until:nn
+{\g_BBLR_rec_count_int = \g_BBLR_number_of_points_int}
+{
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \int_incr:N \g_BBLR_rec_count_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_tmpa_fp
+ {\g_BBLR_abscissa_fp - \g_BBLR_mean_abscissa_fp}
+ \fp_gset:Nn \g_tmpb_fp
+ {\g_BBLR_ordinate_fp - \g_BBLR_mean_ordinate_fp}
+ \fp_gset:Nn \g_BBLR_abscissa_SecOrdMoment_fp
+ {\g_BBLR_abscissa_SecOrdMoment_fp + \g_tmpa_fp * \g_tmpa_fp}
+ \fp_gset:Nn \g_BBLR_mixed_SecOrdMoment_fp
+ {\g_BBLR_mixed_SecOrdMoment_fp + \g_tmpa_fp * \g_tmpb_fp}
+ \fp_gset:Nn \g_BBLR_ordinate_SecOrdMoment_fp
+ {\g_BBLR_ordinate_SecOrdMoment_fp + \g_tmpb_fp * \g_tmpb_fp}
+\fp_gset:Nn \g_BBLR_min_abscissa_fp
+{min(\g_BBLR_min_abscissa_fp, \g_BBLR_abscissa_fp)}
+\fp_gset:Nn \g_BBLR_min_ordinate_fp
+{min(\g_BBLR_min_ordinate_fp, \g_BBLR_ordinate_fp)}
+\fp_gset:Nn \g_BBLR_max_abscissa_fp
+{max(\g_BBLR_max_abscissa_fp, \g_BBLR_abscissa_fp)}
+\fp_gset:Nn \g_BBLR_max_ordinate_fp
+{max(\g_BBLR_max_ordinate_fp, \g_BBLR_ordinate_fp)}
+}
+\ior_close:N \g_BBLR_file_ior
+\fp_gset:Nn \g_BBLR_abscissa_SecOrdMoment_fp
+{\g_BBLR_abscissa_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_mixed_SecOrdMoment_fp
+{\g_BBLR_mixed_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_ordinate_SecOrdMoment_fp
+{\g_BBLR_ordinate_SecOrdMoment_fp / \g_BBLR_number_of_points_int}
+\fp_gset:Nn \g_BBLR_Dabscissa_fp
+{\g_BBLR_max_abscissa_fp - \g_BBLR_min_abscissa_fp }
+\fp_gset:Nn \g_BBLR_Dordinate_fp
+{\g_BBLR_max_ordinate_fp - \g_BBLR_min_ordinate_fp }
+% \end{macrocode}
+% A single pass algorithm exists, but it is numerically less stable.
+%
+% \subsection{Classical linear regression \label{classical}}
+% A line in the plane is described by the equation
+% \begin{equation} y_2=ay_1+b \label{eqab} \end{equation}
+% that contains the parameters $a$ and $b$.
+% For each point it is possible to define a distance or a discrepancy
+% of the experimental data with respect to the model.
+% In the given problem the second coordinate is much more affected by
+% errors than the first coordinate. It is therefore reasonable
+% to define the approximation error of each point as
+% \begin{equation} e_\ipoint=y_{2\ipoint}-ay_{1\ipoint}-b
+% \label{e}\end{equation}
+% i.e.\ the difference between the empirical value $y_{2\ipoint}$
+% and its model counterpart $ay_{1\ipoint}+b$.
+% The global discrepancy between the data and the model is measured by the
+% least square objective function defined by:
+% \begin{equation} \psi=\pointsum e_\ipoint^2 \label{psiab} \end{equation}
+% and the parameters $a$ and $b$ will be determined
+% just by the minimization of the function $\psi$ defined in \reff{psiab}.
+% \par
+% In the present treatment of the regression problem as a pure
+% approximation problem the definition of $\psi$ in \reff{psiab}
+% seams quite arbitrary. It is anyway a convenient choice.
+% \par
+% Expression \reff{e} can be rewritten in the different form
+% \begin{equation}
+% e_\ipoint=v_{2\ipoint}-av_{1\ipoint}+\barycenter{y}_2-a\barycenter{y}_1-b
+% \label{e2}\end{equation}
+% so that the function to be minimized can be expressed
+% as the sum of two quadratic functions:
+% \begin{equation}
+% \psi=
+% \pointsum (v_{2\ipoint}-av_{1\ipoint})^2+
+% m(\barycenter{y}_2-a\barycenter{y}_1-b)^2
+% \label{psiab2} \end{equation}
+% and the minimum can be attained considering
+% the two terms one at a time.
+% The second term in the right-hand side of \reff{psiab2}
+% vanishes if the choice of $b$ is:
+% \begin{equation} b=\barycenter{y}_2-a\barycenter{y}_1.
+% \label{estb} \end{equation}
+% The first term in the right-hand side of \reff{psiab2} becomes:
+% \begin{equation} \psi_{(a)}=m\left(\mc_{22}-2a\mc_{12}+a^2\mc_{11}\right).
+% \label{parabola} \end{equation}
+% Searching the minimum of $\psi$ w.r.t.\ $a$ is therefore the search
+% of the abscissa of the vertex of a parabola
+% with axis parallel to the second coordinated axis.
+% The result is:
+% \begin{equation} a=\mc_{12}/\mc_{11}
+% \label{esta} \end{equation}
+% Now the slope $a$ and the intercept $b$ can be actually computed.
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_slope_A_fp
+{\g_BBLR_mixed_SecOrdMoment_fp / \g_BBLR_abscissa_SecOrdMoment_fp }
+\fp_gset:Nn \g_BBLR_intercept_A_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_A_fp * \g_BBLR_mean_abscissa_fp}
+% \end{macrocode}
+% \par
+% The empirical data and the estimated values of $a$ and $b$
+% can be used to compute
+% the value actually attained by the residuals $e_\ipoint$ and
+% by the function $\psi$. Then the index
+% \begin{equation} \hat\sigma_0^2=\psi/(m-2)\end{equation}
+% can be used to evaluate the general quality of the data and of the model.
+% This claim is clearly quite generic. A complete understanding
+% of this evaluation would require to treat the linear regression
+% problem in the framework of the probabilistic estimation theory.
+% The used notation is derived from that theory.\par
+% If the role of the two coordinates is exchanged the result
+% for $a$ becomes (still with reference to \reff{eqab})
+% \begin{equation} a=\mc_{22}/\mc_{12}.\end{equation}
+% A complete treatment of this different situation would include
+% the redefinition of $e_\ipoint$ and of $\psi$.
+% The slope and the intercept can be computed according with
+% the different assumption.
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_slope_B_fp
+{\g_BBLR_ordinate_SecOrdMoment_fp / \g_BBLR_mixed_SecOrdMoment_fp}
+\fp_gset:Nn \g_BBLR_intercept_B_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_B_fp * \g_BBLR_mean_abscissa_fp}
+% \end{macrocode}
+%
+% \subsection{Symmetric linear regression \label{symmetric}}
+% If both the coordinates of the experimental points are affected
+% by the same uncertainty it is advisable to use a more symmetric
+% optimality criterion and it is convenient to use a different model equation.
+% \par
+% The same line can be described by a different equation, i.e.\
+% \begin{equation} x_1y_1+x_2y_2=\dor \end{equation}
+% or in vector form:
+% \begin{equation} \coeff\trasp\point=\dor. \label{eqvx} \end{equation}
+% The parameters in \reff{eqvx}
+% are the scalar $\dor$ and the elements
+% of the vector $\coeff$, i.e.\ $x_1$ and $x_2$.
+% The line described by \reff{eqvx} is obviously
+% invariant when the three parameters are simultaneously
+% scaled by a constant. The normalization condition
+% \begin{equation} \coeff\trasp\coeff=1, \label{norm} \end{equation}
+% supplemented by $\dor\ge 0$,
+% is quite convenient because the parameters will assume
+% a significant geometrical meaning:
+% $\coeff$ is the unit vector orthogonal to the line and $\dor$
+% is the distance of the line from the origin.
+% The expression
+% \begin{equation} d=\dor-\coeff\trasp\point \label{distance} \end{equation}
+% is the distance of the generic point $\point$ from the line
+% with a sign that is positive for points on the same side of the origin.
+% \par
+% The distance of each given point from the desired optimal line
+% is denoted by $d_\ipoint$.
+% It has a clear intrinsic geometrical meaning and it does not
+% privileges one coordinate w.r.t.\ the other.
+% The function to be minimized by the optimal line is
+% \begin{equation}
+% \phi=\frac{1}{m}\pointsum d_\ipoint^2. \label{phi1} \end{equation}
+% The parameters of \reff{eqvx} are determined by the minimization
+% of the function $\phi$ that can be expressed as:
+% \begin{equation}
+% \phi=\frac{1}{m}\pointsum (\coeff\trasp\point_{\ipoint}-\dor)^{2}
+% \label{phi2} \end{equation}
+% and then, after some algebraic manipulations:
+% \begin{equation}
+% \phi=\coeff\trasp\mC\coeff+(\dor-\coeff\trasp\barycenter{\point})^2
+% \label{phi3}. \end{equation}
+% The function $\phi$ is composed (as it was the function $\psi$) by the sum
+% of two parts. The second term in the right-hand side of \reff{phi3}
+% vanishes if the choice of $\dor$ is:
+% \begin{equation} \dor=\coeff\trasp\barycenter{\point}.
+% \label{estd} \end{equation}
+% Then it is necessary to minimize the function
+% \begin{equation} \phi_{(\coeff)} = \coeff\trasp\mC\coeff
+% \label{quadraticfun} \end{equation}
+% with the constrain $\coeff\trasp\coeff=1$.
+% It can be proved that the function $\phi_{(\coeff)}$
+% is stationary if $\coeff$ is an eigenvector of \mC. \par
+% The function $\phi_{(\coeff)}$ and the constrain must be combined
+% using a Lagrange multiplier:
+% \begin{equation}
+% \Phi= \coeff\trasp\mC\coeff+\lambda(1-\coeff\trasp\coeff).
+% \label{Phi} \end{equation}
+% Then the stationarity points of $\Phi$ must be determined.
+% Equating to zero the derivatives of $\Phi$ gives
+% \begin{equation}
+% \mC\coeff=\lambda\coeff
+% \label{auto} \end{equation}
+% i.e.\ $\coeff$ is an eigenvector of $\mC$. \par
+% The same result is obtained with the following argument.
+% The function $\phi_{(\coeff)}$ is stationary if its first variation
+% is zero. The variation of $\coeff$ is named $\dx$ .
+% It must respect the constrain, that becomes $\dx\trasp\coeff=0$.
+% The first variation of $\phi_{(\coeff)}$ is $2\dx\trasp\mC\coeff$,
+% and it is zero if and only if the following implication is valid:
+% $\dx\trasp\coeff=0 \implies \dx\trasp\mC\coeff=0$,
+% and the implication is valid if and only if the vector
+% $\mC\coeff$ has the same direction of $\coeff$, i.e.\ if
+% $\coeff$ is an eigenvector of $\mC$.
+% \par
+% The result on the optimal line
+% can be described geometrically in the following way:
+% (i) the optimal line includes the barycenter of the data;
+% (ii) the optimal line is orthogonal to the eigenvector of
+% $\mC$ corresponding to the minimum eigenvalue.\par
+% The obtained result is also valid in $\Renne$.
+% A set of points in $\Renne$ must be approximated by an $(n-1)$-dimensional
+% affine subspace. (Other more general situations can be considered.)
+% \par
+% The trace of the matrix $\mC$, denoted as $\tr(\mC)$, is a measure of the
+% global dispersion of the set of points.
+% The minimum eigenvalue $\lambda_{\textrm{min}}$ of $\mC$ is a measure
+% of the dispersion of the set of points with
+% respect to the optimal affine subspace. Therefore the index
+% \begin{equation} \frac{n\lambda_{\textrm{min}}}{\tr(\mC)}
+% \end{equation}
+% can be used as an indicator of the relative residual
+% dispersion of the data around the optimal line.
+% The defined index is dimensionless and it is
+% always between $0$ and $1$.
+% \par
+% For the actual computation of $\coeff$ it is convenient to consider
+% the spectral factorization of the matrix $\mC$, i.e.\
+% $\mC=\mX\mL\mX\trasp$ where $\mL$ is a diagonal matrix
+% whose diagonal elements are the eigenvalues of $\mC$
+% and $\mX$ is an orthonormal matrix whose columns are
+% the eigenvectors of $\mC$. The spectral factorization exists
+% for any symmetric matrix, but it is specially simple for
+% a $2\times 2$ matrix.
+% \begin{equation}
+% \matrixtwotwo{\mc_{11}}{\mc_{12}}{\mc_{12}}{\mc_{22}}=
+% \matrixtwotwo{c}{-s}{s}{\spm c}
+% \matrixtwotwo{\lambda_1}{0}{0}{\lambda_2}
+% \matrixtwotwo{\spm c}{s}{-s}{c}
+% \label{spectral}\end{equation}
+% The eigenvalues can be easily obtained because
+% their sum is the trace of $\mC$
+% \begin{equation}
+% \lambda_1 + \lambda_2 = \mc_{11}+\mc_{22}
+% \label{Sum}\end{equation}
+% and their product
+% is the determinant of the same matrix.
+% Therefore after some manipulations it results:
+% \begin{equation}
+% \lambda_1 - \lambda_2 = \sqrt{(\mc_{11}-\mc_{22})^2+4\mc_{12}^2}
+% \label{Difference}\end{equation}
+% and the two eigenvalues are then immediately obtained. \par
+% It is convenient to compute the difference of the two diagonal elements
+% of the dispersion matrix and the difference of its eigenvalues.
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_diag_diff_fp
+{\g_BBLR_abscissa_SecOrdMoment_fp - \g_BBLR_ordinate_SecOrdMoment_fp}
+\fp_gset:Nn \g_BBLR_eig_diff_fp
+{sqrt(\g_BBLR_diag_diff_fp * \g_BBLR_diag_diff_fp +
+ 4 * \g_BBLR_mixed_SecOrdMoment_fp * \g_BBLR_mixed_SecOrdMoment_fp)}
+% \end{macrocode}
+% The computation of $c$ and $s$ is obtained from \reff{spectral}
+% taking into account that $c^2+s^2=1$.
+% From \reff{spectral} it results:
+% \begin{equation} \mc_{11}-\mc_{22}=(\lambda_1-\lambda_2)(c^2-s^2)
+% \label{Cos2A}\end{equation}
+% and also
+% \begin{equation} \mc_{12}=(\lambda_1-\lambda_2)cs
+% \label{Sin2A}\end{equation}
+% that is only used to determine the sign of $cs$.
+% The expression for the parameters $c$ and $s$ are:
+% \begin{equation}
+% c=\sqrt{\frac{1}{2}+\frac{\mc_{11}-\mc_{22}}{2(\lambda_1-\lambda_2)}}
+% \label{cos}\end{equation}
+% \begin{equation}
+% s=\sgn(\mc_{12})
+% \sqrt{\frac{1}{2}-\frac{\mc_{11}-\mc_{22}}{2(\lambda_1-\lambda_2)}}
+% \label{sin}\end{equation}
+% The parameters $s$ and $c$ are the sine and cosine
+% of the angle between the axis of $y_1$ and the eigenvector
+% corresponding to the maximum eigenvalue. \par
+% They are computed using the already defined elements.
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_cos_fp%
+{sqrt((1 + \g_BBLR_diag_diff_fp / \g_BBLR_eig_diff_fp) / 2)}
+\fp_gset:Nn \g_BBLR_sig_sin_fp {\fp_sign:n {\g_BBLR_mixed_SecOrdMoment_fp}}
+\fp_gset:Nn \g_BBLR_sin_fp
+{\g_BBLR_sig_sin_fp*sqrt((1-\g_BBLR_diag_diff_fp / \g_BBLR_eig_diff_fp) / 2)}
+% \end{macrocode}
+% The vector $\coeff$ is :
+% \begin{equation}
+% \coeff=\sgn(-s\barycenter{y}_1+c\barycenter{y}_2)
+% \begin{pmatrix} -s \\ c\end{pmatrix}.
+% \label{xhat}\end{equation}
+%
+%\par
+% The parameter $a$ of model \reff{eqab} can be obtained as:
+% \begin{equation}
+% a=s/c
+% \end{equation}
+% Now the slope and the intercept of the optimal line corresponding to the
+% symmetric criterion can be computed.
+%
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_slope_S_fp
+{\g_BBLR_sin_fp / \g_BBLR_cos_fp }
+\fp_gset:Nn \g_BBLR_intercept_S_fp
+{\g_BBLR_mean_ordinate_fp - \g_BBLR_slope_S_fp * \g_BBLR_mean_abscissa_fp}
+}
+% \end{macrocode}
+%
+% The theoretical treatment of the proposed problem and the
+% implementation of its numerical solution end here.
+% \end{macro}
+%
+% \subsection{Print of table of results}
+% \begin{macro}{\lrprint}
+% The command \cs{lrprint} prints some info on the data
+% and the results of the computations in tabular form.
+% \begin{macrocode}
+\NewDocumentCommand{\lrprint}{}{
+\begin{center}
+\begin{tabular}{| l | r |} \hline
+ Data~File: & \g_BBLR_file_name_tl \\ \hline
+ Number~of~points: & \int_use:N\g_BBLR_number_of_points_int \\ \hline
+ Mean~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_mean_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_mean_ordinate_fp$ \\ \hline
+ Minimum~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_min_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_min_ordinate_fp$ \\ \hline
+ Maximum~values~of~the~coordinates: &%
+ $\fp_use:N \g_BBLR_max_abscissa_fp$ \\ &
+ $\fp_use:N \g_BBLR_max_ordinate_fp$ \\ \hline
+ {Second~order~moments}\phantom{xxxxxxxxx}{abscissa} &%
+ $\fp_use:N \g_BBLR_abscissa_SecOrdMoment_fp$ \\
+ \multicolumn{1}{|r|}{mixed} & %
+$\fp_use:N \g_BBLR_mixed_SecOrdMoment_fp$ ~ \\
+\multicolumn{1}{|r|}{ordinate} & %
+$\fp_use:N \g_BBLR_ordinate_SecOrdMoment_fp$ \\ \hline
+ Slope~and~intercept~of~optimal~line & $\fp_use:N \g_BBLR_slope_A_fp$ \\
+ (estimated~with~errors~in~ordinate)&$\fp_use:N \g_BBLR_intercept_A_fp$\\ \hline
+ Slope~and~intercept~of~optimal~line & $\fp_use:N \g_BBLR_slope_B_fp$ \\
+ (estimated~with~errors~in~abscissa)&$\fp_use:N \g_BBLR_intercept_B_fp$\\ \hline
+ Components~of~unit~vector~along~the~line & $\fp_use:N \g_BBLR_cos_fp$ \\
+ & $\fp_use:N \g_BBLR_sin_fp$ \\
+ Slope~and~intercept~of~optimal~line &$\fp_use:N \g_BBLR_slope_S_fp$ \\
+(estimated~with~symmetric~regression) &
+ $\fp_use:N \g_BBLR_intercept_S_fp$\\ \hline
+\end{tabular}
+\end{center}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Plot of points and lines}
+% \begin{macro}{\lrplot}
+% The command \cs{lrplot} produce a framed plot of the data
+% and of the regression line(s). The size of the plot and its actual
+% content are determined by the arguments.
+% \begin{macrocode}
+\NewDocumentCommand{\lrplot}{mmmmm}{%
+% \end{macrocode}
+% The plotting area is divided into a main plotting area for
+% the representation of points and line(s) and a small surrounding free space.
+% The height is computed taking into account the distribution of the points.
+% \begin{macrocode}
+\fp_gset:Nn \g_BBLR_base_fp {#1}
+\fp_gset:Nn \g_BBLR_Xbase_fp {\g_BBLR_base_fp - 0.6}
+\fp_gset:Nn \g_BBLR_scale_factor_fp{\g_BBLR_Xbase_fp / \g_BBLR_Dabscissa_fp}
+\fp_gset:Nn \g_BBLR_Xheight_fp {\g_BBLR_Dordinate_fp * \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \g_BBLR_height_fp {\g_BBLR_Xheight_fp + 0.6}
+% \end{macrocode}
+% The information about the items to be plotted is in the remaining arguments.
+% \begin{macrocode}
+\str_gset:Nn \g_BBLR_point_code_str {#2}
+\str_gset:Nn \g_BBLR_labelA_str {#3}
+\str_gset:Nn \g_BBLR_labelB_str {#4}
+\str_gset:Nn \g_BBLR_labelS_str {#5}
+\bool_gset:Nn \g_BBLR_plot_points_bool
+{!(\str_if_eq_p:NN \g_BBLR_point_code_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineA_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelA_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineB_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelB_str \c_BBLR_minus_str)}
+\bool_gset:Nn \g_BBLR_plot_lineS_bool
+{!(\str_if_eq_p:NN \g_BBLR_labelS_str \c_BBLR_minus_str)}
+% \end{macrocode}
+% The unit of length is $1$ centimeter. The plotting area is framed.
+% \begin{macrocode}
+\setlength{\unitlength}{1.0cm}
+\fp_gset:Nn \g_tmpa_fp {\g_BBLR_Xbase_fp +0.2}
+\fp_gset:Nn \g_tmpb_fp {\g_BBLR_Xheight_fp +0.1}
+\begin{picture}(\fp_use:N\g_BBLR_base_fp,\fp_use:N\g_BBLR_height_fp)(-0.3,-0.3)
+\put(-0.1,-0.1){\line(1,0){\fp_use:N\g_tmpa_fp}}
+\put(-0.1,\fp_use:N\g_tmpb_fp){\line(1,0){\fp_use:N\g_tmpa_fp}}
+\fp_gset:Nn \g_tmpa_fp {\g_tmpa_fp -0.1}
+\fp_gset:Nn \g_tmpb_fp {\g_tmpb_fp +0.1}
+\put(-0.1,-0.1){\line(0,1){\fp_use:N\g_tmpb_fp}}
+\put(\fp_use:N\g_tmpa_fp,-0.1){\line(0,1){\fp_use:N\g_tmpb_fp}}
+% \end{macrocode}
+% The plot of points and line(s) is obtained using auxiliary functions.
+% \begin{macrocode}
+\thicklines
+\bool_if:nT {\g_BBLR_plot_points_bool}{\BBLR_plot_points:}
+\bool_if:nT {\g_BBLR_plot_lineA_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_A_fp\g_BBLR_intercept_A_fp\g_BBLR_labelA_str}
+\bool_if:nT {\g_BBLR_plot_lineB_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_B_fp\g_BBLR_intercept_B_fp\g_BBLR_labelB_str}
+\bool_if:nT {\g_BBLR_plot_lineS_bool}{
+\BBLR_draw_line:NNN \g_BBLR_slope_S_fp\g_BBLR_intercept_S_fp\g_BBLR_labelS_str}
+\end{picture}
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Functions for internal use}
+% The functions listed here after are for internal
+% use and are just minimally documented. \par
+% The function |\BBLR_decode_data:|
+% \marginpar{\raggedleft\texttt{
+% \textbackslash{}BBLR\textunderscore{}decode\textunderscore{}data:}}
+% extract two numeric values from the string read from the file.
+% Some tricky actions are necessary because
+% a so called csv file sometime do not contains the separating commas.
+% \begin{macrocode}
+\cs_new_protected:Nn \BBLR_decode_data: {
+\tl_trim_spaces:N \g_BBLR_file_line_tl
+\int_gzero:N \g_tmpa_int
+\int_gzero:N \g_BBLR_first_separator_int
+\int_gzero:N \g_BBLR_last_separator_int
+\int_gset:Nn \g_BBLR_record_length_int {
+\str_count:N \g_BBLR_file_line_tl}
+\str_map_variable:NNn \g_BBLR_file_line_tl \g_tmpa_str {
+\int_gincr:N \g_tmpa_int
+\bool_lazy_or:nnTF
+{\str_if_eq_p:NN \g_tmpa_str \c_BBLR_comma_str}
+{\str_if_eq_p:NN \g_tmpa_str \c_BBLR_space_str}
+{\int_gset_eq:NN \g_BBLR_last_separator_int \g_tmpa_int
+\int_if_zero:nTF {\g_BBLR_first_separator_int}
+{\int_gset_eq:NN \g_BBLR_first_separator_int \g_tmpa_int
+}{\prg_do_nothing:}
+}{\prg_do_nothing:}
+}
+\int_gincr:N \g_BBLR_last_separator_int
+\int_gdecr:N \g_BBLR_first_separator_int
+\fp_gset:Nn \g_BBLR_abscissa_fp{
+\str_range:Nnn \g_BBLR_file_line_tl{1}{\g_BBLR_first_separator_int}}
+\fp_gset:Nn \g_BBLR_ordinate_fp{
+\str_range:Nnn \g_BBLR_file_line_tl
+{\g_BBLR_last_separator_int}{\g_BBLR_record_length_int}}
+}
+% \end{macrocode}
+% The function |\BBLR_plot_points:| \marginpar{\raggedleft\texttt{
+% \textbackslash{}BBLR\textunderscore{}plot\textunderscore{}points:}}
+% scans the data file to read the coordinates and
+% it draws a circle for each point.
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \BBLR_plot_points: {
+\ior_open:Nn \g_BBLR_file_ior \g_BBLR_file_name_tl
+\int_zero:N \g_BBLR_rec_count_int
+\int_do_until:nn
+{\g_BBLR_rec_count_int = \g_BBLR_number_of_points_int}
+{
+ \ior_str_get:NN \g_BBLR_file_ior \g_BBLR_file_line_tl
+ \int_incr:N \g_BBLR_rec_count_int
+ \BBLR_decode_data:
+ \fp_gset:Nn \g_tmpa_fp{(\g_BBLR_abscissa_fp-\g_BBLR_min_abscissa_fp)*
+ \g_BBLR_scale_factor_fp}
+ \fp_gset:Nn \g_tmpb_fp{(\g_BBLR_ordinate_fp-\g_BBLR_min_ordinate_fp)*
+ \g_BBLR_scale_factor_fp}
+ \put(\fp_use:N\g_tmpa_fp, \fp_use:N\g_tmpb_fp){
+ {\circle*{\fp_use:N\g_BBLR_diameter_fp}}}
+}
+\ior_close:N \g_BBLR_file_ior
+}
+% \end{macrocode}
+% The function |\BBLR_draw_line:NNN| \marginpar{\raggedleft\texttt{
+% \textbackslash{}BBLR\textunderscore{}draw\textunderscore{}line:NNN}}
+% draws the line. The first two parameters given as arguments
+% are the slope and the intercept. The third parameter is a label.
+% \par The next code finds the intersection of the line with the plotting area.
+% \begin{macrocode}
+\cs_new_protected:Nn \BBLR_draw_line:NNN {
+\fp_gset:Nn \fp_tmpa_fp {#1 * \g_BBLR_min_abscissa_fp + #2 }
+\fp_compare:nTF{\fp_tmpa_fp > \g_BBLR_max_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp {(\g_BBLR_max_ordinate_fp -#2) / #1}
+}{
+\fp_compare:nTF{\fp_tmpa_fp < \g_BBLR_min_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp {(\g_BBLR_min_ordinate_fp - #2) / #1}
+}{
+\fp_gset:Nn \g_BBLR_min_draw_abscissa_fp { \g_BBLR_min_abscissa_fp }
+}}
+\fp_gset:Nn \fp_tmpa_fp {#1 * \g_BBLR_max_abscissa_fp + #2 }
+\fp_compare:nTF{\fp_tmpa_fp > \g_BBLR_max_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp {(\g_BBLR_max_ordinate_fp -#2) / #1}
+}{
+\fp_compare:nTF{\fp_tmpa_fp < \g_BBLR_min_ordinate_fp}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp { (\g_BBLR_min_ordinate_fp - #2) / #1}
+}{
+\fp_gset:Nn \g_BBLR_max_draw_abscissa_fp { \g_BBLR_max_abscissa_fp }
+}}
+% \end{macrocode}
+% Some parameters (i.e.\ starting point and base-length)
+% are computed and the line is drawn.
+% \begin{macrocode}
+\fp_gset:Nn \fp_tmpa_fp {(\g_BBLR_min_draw_abscissa_fp -
+\g_BBLR_min_abscissa_fp)* \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \fp_tmpb_fp {(#1 * \g_BBLR_min_draw_abscissa_fp + #2 -
+\g_BBLR_min_ordinate_fp)* \g_BBLR_scale_factor_fp}
+\fp_gset:Nn \fp_BBLR_line_base_length_fp{(\g_BBLR_max_draw_abscissa_fp -
+\g_BBLR_min_draw_abscissa_fp) * \g_BBLR_scale_factor_fp}
+\put(\fp_use:N\fp_tmpa_fp, \fp_use:N\fp_tmpb_fp){
+\line(1.,\fp_use:N #1){\fp_use:N\fp_BBLR_line_base_length_fp}}
+% \end{macrocode}
+%The third parameter is used as a label, if it is not a |+|.
+% \begin{macrocode}
+\bool_if:nF {\str_if_eq_p:NN #3 \c_BBLR_plus_str}{
+\fp_gset:Nn \fp_tmpa_fp
+{0.08 * \g_BBLR_min_draw_abscissa_fp + 0.92 * \g_BBLR_max_draw_abscissa_fp}
+\fp_gset:Nn \fp_tmpb_fp {#1 * \fp_tmpa_fp + #2 }
+\fp_gset:Nn \fp_tmpa_fp
+{(\fp_tmpa_fp-\g_BBLR_min_abscissa_fp)*\g_BBLR_scale_factor_fp
++ 0.3 * #1 /sqrt(1.+#1*#1)}
+\fp_gset:Nn \fp_tmpb_fp
+{(\fp_tmpb_fp-\g_BBLR_min_ordinate_fp)* \g_BBLR_scale_factor_fp
+- 0.3 /sqrt(1.+#1*#1)}
+\put(\fp_use:N\fp_tmpa_fp, \fp_use:N\fp_tmpb_fp){#3}
+}
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+%
+%\iffalse
+%</package>
+%\fi
+%
+% \section{Acknowledgments}
+% The colleagues Paolo Zatelli, Alfonso Vitti and Giulia Graldi
+% read some preliminary version
+% of this text and suggested several improvements. \par
+%
+% \section{About the references}
+% \subsection*{Mathematics}
+% The books by Lang \cite{Lang} and by Strang \cite{Strang} give
+% all the background on linear algebra.\par
+% The texts by Sansò \cites{Sanso1, Sanso2} (in italian) treat the
+% teory of probability and its application to metrology.
+% See: |http://www.geolab.polimi.it/text-books/|.\par
+% The paper by Karl Pearson \cite{Pearson} is the oldest text that
+% I have found on the symmetric regression, or total regression.
+% \subsection*{Programming}
+% The two documents \cites{L3A, L3B} are the fountamental and official guide
+% for \LaTeX3 programming. The books by Donald Knuth \cites{Knuth}
+% and Leslie Lamport \cites{Lamport} are still essential references.
+% The papers by Enrico Gregorio \cites{egreg1, egreg2, egreg3, egreg4, egreg5}
+% explain some general and some special aspect of \LaTeX3 programming.
+%
+% \section{References}
+% \begin{biblist}[\normalsize]
+% \bib{egreg1}{article}{
+% author={Gregorio, Enrico},
+% journal={ArsTeXnica},
+% number={14},pages={41\ndash 47}, date={2012},
+% title={\LaTeX3: un nuovo gioco per i maghi e per diventarlo},
+% }
+% \bib{egreg2}{article}{
+% author={Gregorio, Enrico},
+% journal={ArsTeXnica},
+% number={22},pages={69\ndash 77}, date={2016},
+% title={Liste, cicli, \LaTeX3},
+% }
+% \bib{egreg3}{article}{
+% author={Gregorio, Enrico},
+% journal={ArsTeXnica},
+% number={24},pages={37\ndash 44}, date={2017},
+% title={Condizionali in \LaTeX},
+% }
+% \bib{egreg4}{article}{
+% author={Gregorio, Enrico},
+% journal={ArsTeXnica},
+% number={30},pages={36\ndash 45}, date={2020},
+% title={Funzioni e |expl3|},
+% }
+% \bib{egreg5}{article}{
+% author={Gregorio, Enrico},
+% journal={TUGboat},
+% volume={41},number={3},pages={299\ndash 307}, date={2020},
+% title={Functions and |expl3|},
+% }
+% \bib{Knuth}{book}{
+% author={Knuth, Donald},
+% title={The TeXbook},
+% date={1986},
+% publisher={American Mathematical Society and Addison-Wesley},
+% }
+% \bib{Lang}{book}{
+% author={Lang, Serge},
+% title={Linear Algebra},
+% date={1987},
+% publisher={Springer-Verlag},
+% place={Berlin Heidelberg},
+% }
+% \bib{Lamport}{book}{
+% author={Lamport, Leslie},
+% title={LaTeX - A document preparation system (2nd ed.\ )},
+% date={1994},
+% publisher={Addison-Wesley},
+% note={something interesting in the fist edition, too},
+% }
+% \bib{L3A}{article}{
+% title={The |expl3| package and LaTeX3 programming},
+% author={The LaTeX project team}, date={2024},
+% note={file: |expl3.pdf| available in CTAN in l3kernel},
+% }
+% \bib{L3B}{article}{
+% title={The \LaTeX3 interface},
+% author={The LaTeX project team}, date={2024},
+% note={file: |interface3.pdf| available in CTAN in l3kernel}
+% }
+% \bib{Pearson}{article}{
+% title={On lines and planes of closest fit to systems of points in space},
+% author={Pearson, Karl}, date={1901},
+% journal={Philosophical Magazine},
+% volume={2},number={11},pages={559\ndash 572},
+% }
+% \bib{Sanso1}{book}{
+% author={Sansò, Fernando},
+% title={Elementi di teoria della probabilità},
+% date={1996},
+% publisher={Città-Studi},
+% place={Milano},
+% }
+% \bib{Sanso2}{book}{
+% author={Sansò, Fernando},
+% title={La teoria della stima},
+% date={1996},
+% publisher={Città-Studi},
+% place={Milano},
+% }
+% \bib{Strang}{book}{
+% author={Strang, Gilbert},
+% title={Introduction to linear algebra},
+% date={2009},
+% publisher={Wellesley-Cambridge press,},
+% }
+% \end{biblist}
+%
+% \par\vfill\centerline{\small ***}\vfill
+% \end{document}
+%
+%\iffalse
+% END OF FILE linearregression.dtx
+%\fi
diff --git a/macros/latex/contrib/linearregression/linearregression.pdf b/macros/latex/contrib/linearregression/linearregression.pdf
new file mode 100644
index 0000000000..5d28931c1a
--- /dev/null
+++ b/macros/latex/contrib/linearregression/linearregression.pdf
Binary files differ
diff --git a/macros/latex/contrib/linearregression/linearregressionpkg.ins b/macros/latex/contrib/linearregression/linearregressionpkg.ins
new file mode 100644
index 0000000000..699f767b62
--- /dev/null
+++ b/macros/latex/contrib/linearregression/linearregressionpkg.ins
@@ -0,0 +1,20 @@
+\input docstrip.tex
+\keepsilent
+\preamble
+------------------------------------------------------------------------
+[2024-06-10]
+This file is part of the (expanded) distribution of linearregression
+The author of linearregression is Battista Benciolini
+<benciolinibattista at gmail dot com >
+------------------------------------------------------------------------
+The author would strongly appreciate to receive
+any comment, criticism and just usage report
+------------------------------------------------------------------------
+This program may be used, distributed and modified under
+the conditions of the LaTeX Project Public License.
+(see: http://www.latex-project.org/lppl.txt)
+------------------------------------------------------------------------
+\endpreamble
+\askforoverwritefalse
+\generate{\file{linearregression.sty}{\from{linearregression.dtx}{package}}}
+\endbatchfile
diff --git a/macros/latex/contrib/listings/listings-devel.pdf b/macros/latex/contrib/listings/listings-devel.pdf
index 5cf9af1ff8..da1506f1df 100644
--- a/macros/latex/contrib/listings/listings-devel.pdf
+++ b/macros/latex/contrib/listings/listings-devel.pdf
Binary files differ
diff --git a/macros/latex/contrib/listings/listings.dtx b/macros/latex/contrib/listings/listings.dtx
index 06f881726b..525ba1a4ae 100644
--- a/macros/latex/contrib/listings/listings.dtx
+++ b/macros/latex/contrib/listings/listings.dtx
@@ -135,7 +135,7 @@
% Hoffmann became the maintainer of the \packagename{listings}
% package in 2013; see the Preface for details.}~ %
% \textless\lstemail\textgreater}
-% \date{2024/03/11\enspace\enspace Version 1.10a\ \box\abstractbox}
+% \date{2024/05/25\enspace\enspace Version 1.10b\ \box\abstractbox}
% \def\lstemail{\href{mailto:j.hoffmann@fh-aachen.de}{\texttt{j.hoffmann(at)fh-aachen.de}}}
% \ifhyper
% \hypersetup{pdftitle=The Listings Package,
@@ -3561,15 +3561,18 @@
% other & \texttt{!\ " \#\ \%\ \&\ ' ( ) * + , - .\ / :\ ; < = > ?}\\
% & {\catcode`\|=12\texttt{[ \char92\ ] \textasciicircum\ \char123\
% | \char125\ \textasciitilde}}\\
-% space & chr(32)\\
-% tabulator & chr(9)\\
-% form feed & chr(12)\\
+% space & \texttt{chr(32)}\footnotemark{}\\
+% tabulator & \texttt{chr(9)}\\
+% form feed & \texttt{chr(12)}\\
% \noalign{\smallskip}
% \end{tabular}
% \par\noindent
% Note: Extended characters of codes 128--255 (if defined) are \emph{currently}
% letters.
% \end{table}
+% \footnotetext{Here and at other places |chr(|\meta{number}|)| means a
+% Pascal function which returns the character which has ASCII value
+% \meta{number}.}
%
%
% \paragraph{Strings}\label{uStrings}
@@ -4197,20 +4200,25 @@
%
% \subsection{Listings inside arguments}\label{uListingsArguments}
%
-% At the moment it isn't possible to use \verb-\lstinline{...}- in a cell
+% A long time it wasn't possible to use \verb-\lstinline{...}- in a cell
% of a table\makeatletter\@ifundefined{r@uProcessingInline}{}{%
% (see section \ref{uProcessingInline} on page \pageref{uProcessingInline}
% for more information)},%
% \makeatother%
-% but it is possible to define a wrapper macro
-% which can be used instead of \verb-\lstinline{...}-:
+% but there was a recommended workaround. This workaround is still
+% functional, but now one can use \verb-\lstinline{...}- and of course
+% \verb-\lstinline|...|- directly:
% \begin{lstsample}[lstlisting]{}{}
% \newcommand\foo{\lstinline{t}}
% \newcommand\foobar[2][]{\lstinline[#1]{#2}}
%
% \begin{tabular}{ll}
-% \foo & a variable\\
-% \foobar[language=java]{int u;} & a declaration
+% \lstinline|r| & a first variable (standard)\\
+% \lstinline[language=java]|int s;| & a standard declaration \\
+% \foo & a second variable (workaround)\\
+% \foobar[language=java]{int u;} & a (workaraond) declaration \\
+% \lstinline{v} & another variable using braces\\
+% \lstinline[language=java]{int w;} & an additional braced declaration
% \end{tabular}
% \end{lstsample}
%
@@ -5744,7 +5752,7 @@
% \item |\lst@Init\relax|
% \item |\lst@Def{`#1}{\lst@DeInit\egroup}| installs the `end inline'
% detection, where |#1| is the next character after |\lstinline|.
-% Moreover chr(13) is redefined to end the fragment in the same way but
+% Moreover |chr(13)| is redefined to end the fragment in the same way but
% also issues an error message.
% \item Now comes the source code and \ldots
% \item \ldots\ |\lst@DeInit| (from |\lst@Def| above) ends the code snippet
@@ -5978,7 +5986,7 @@
% \part{Implementation}
%
%
-% \CheckSum{12409}
+% \CheckSum{12435}
%^^A
%^^A Don't index TeX-primitives.
%^^A
@@ -6122,8 +6130,8 @@
% All files will have same date and version.
% \begin{macrocode}
%<*kernel|misc|doc>
-\def\filedate{2024/03/11}
-\def\fileversion{1.10a}
+\def\filedate{2024/05/25}
+\def\fileversion{1.10b}
%</kernel|misc|doc>
% \end{macrocode}
% What we need and who we are.
@@ -6662,11 +6670,11 @@
\ifx#1\relax
\else \lccode`\^^@=`#1%
% \end{macrocode}
-% Otherwise we say that |^^@|=chr(0) is the lower case version of the first
+% Otherwise we say that |^^@|=|chr(0)| is the lower case version of the first
% character.
% Then we test the second character.
% If there is none, we append the lower case |^^@| to |\lst@temp|.
-% Otherwise we say that |^^A|=chr(1) is the lower case version of the second
+% Otherwise we say that |^^A|=|chr(1)| is the lower case version of the second
% character and we test the next argument, and so on.
% \begin{macrocode}
\ifx#2\relax
@@ -6703,7 +6711,7 @@
\lst@next}
\endgroup
% \end{macrocode}
-% This |\endgroup| restores the catcodes of chr(0)--chr(8), but not the
+% This |\endgroup| restores the catcodes of |chr(0)|--|chr(8)|, but not the
% catcodes of the characters inside |\lst@MakeActive@| since they are already
% read.
%
@@ -14552,7 +14560,7 @@
\fi
\lsthk@InitVars \lsthk@InitVarsBOL
% \end{macrocode}
-% The end of line character chr(13)=|^^M| controls the processing, see the
+% The end of line character |chr(13)|=|^^M| controls the processing, see the
% definition of |\lst@MProcessListing| below.
% The argument |#1| is either |\relax| or |\lstenv@backslash|.
% \begin{macrocode}
@@ -14904,36 +14912,35 @@
% \subsubsection{Processing inline listings}\label{uProcessingInline}
%
% \begin{macro}{\lstinline}
-% In addition to |\lsthk@PreSet|, we use |boxpos=b| and flexiblecolumns.
-% I've inserted |\leavevmode| after bug report from \lsthelper{Michael~Weber}
-% {1999/12/16}{wrong spacing in list environments}. \lsthelper{Olivier~Lecarme}
-% {2001/07/30}{inconsistent `break' when \lstinline is used inside caption}
-% reported a problem which has gone after removing |\let| |\lst@newlines|
-% |\@empty| (now |\lst@newlines| is a counter!). Unfortunately I don't know
-% the reason for inserting this code some time ago! At the end of the macro we
-% check the delimiter.
-% \begin{macrocode}
-\newcommand\lstinline[1][]{%
- \leavevmode\bgroup % \hbox\bgroup --> \bgroup
- \def\lst@boxpos{b}%
- \lsthk@PreSet\lstset{flexiblecolumns,#1}%
- \lsthk@TextStyle
- \@ifnextchar\bgroup{%
-% \end{macrocode}
-% \lsthelper{Luc~Van~Eycken}{2014/01/22}{\rcmdname\lstinline{} in alignments}
-% reported, that the experimental implementation of |\lstinline| with
-% braces instead of characters surrounding the source code resulted in an
-% error if used in a tabular environment. He found that this error comes
-% from the master counter (cf. appendix D (Dirty Tricks), item 5. (Brace
-% hacks), of the TeXbook (p. 385-386)). Adding the following line at this
-% point
+% In addition to |\lsthk@PreSet|, we use |boxpos=b| and
+% flexiblecolumns. I've inserted |\leavevmode| after bug report from
+% \lsthelper{Michael~Weber} {1999/12/16}{wrong spacing in list
+% environments}. \lsthelper{Olivier~Lecarme} {2001/07/30}{inconsistent
+% `break' when \lstinline is used inside caption} reported a problem
+% which has gone after removing |\let| |\lst@newlines| |\@empty| (now
+% |\lst@newlines| is a counter!). Unfortunately I don't know the reason
+% for inserting this code some time ago! At the end of the macro we
+% check the delimiter.\footnote{This is text of the original author
+% Carsten Heinz.}
+%
+% Then came an experimental version which allowed braces, but
+% \lsthelper{Luc~Van~Eycken}{2014/01/22}{\rcmdname\lstinline{} in
+% alignments} reported, that the experimental implementation of
+% |\lstinline| with braces instead of characters surrounding the source
+% code resulted in an error if used in a tabular environment.
+%
+% He found that this error comes from the master counter (cf. appendix
+% D (Dirty Tricks), item 5. (Brace hacks), of the TeXbook
+% (p. 385-386)). Adding the following line after testing the next
+% character (line no. 7 in the following outcommented snippet)
%\begin{verbatim}
-% \ifnum`{=0}\fi%
+%\ifnum`{=0}\fi%
%\end{verbatim}
-% remedies the wrong behaviour. But \lsthelper{Qing~Lee}{2014/06/28}{-}
-% pointed out, that this breaks code like the one showed in
-% \ref{uListingsArguments} on \pageref{uListingsArguments} and proposed
-% another solution which in turn broke the code needed by Luc:
+% remedies the wrong behaviour. But \lsthelper{Qing~Lee}{2014/06/28}{-}
+% pointed out, that this breaks code like the one shown in section
+% \ref{uListingsArguments} on page \pageref{uListingsArguments} and
+% proposed another solution which in turn broke the code provided by
+% Luc:
%\begin{verbatim}
% \renewcommand\lstinline[1][]{%
% \leavevmode\bgroup % \hbox\bgroup --> \bgroup
@@ -14944,20 +14951,45 @@
% \@ifnextchar\bgroup{%
% \ifnum`{=\z@}\fi%
% \afterassignment\lst@InlineG \let\@let@token}{%
-% \ifnum`{=\z@}\fi\lstinline@}}
+% \ifnum`{=\z@}\fi\lstinline@}%
+%}
%\end{verbatim}
-% So finally the old code comes back and the people, who need a
-% |\lstinline| with braces, should use the workaround from section
-% \ref{uListingsArguments} on page \pageref{uListingsArguments}.
+% So finally the old code came back and the people, who needed a
+% |\lstinline| with braces, should use the workaround from section
+% \ref{uListingsArguments} on page \pageref{uListingsArguments}.
+%
+% This long outstanding deficiency is now repaired by
+% \lsthelper{user5028841}{2024/05/05}{Regarding the Listings package}
+% who provided a solution by using special characters as begin and end
+% of a group:
+% \begin{macrocode}
+\edef\lst@temp{\the\catcode`\^^@}
+\catcode`\^^@=1
+\newcommand\lstinline[1][]{%
+ \leavevmode\bgroup % \hbox\bgroup --> \bgroup
+ \def\lst@boxpos{b}%
+ \lsthk@PreSet\lstset{flexiblecolumns,#1}%
+ \lsthk@TextStyle
+ \@ifnextchar\bgroup{%
+ \afterassignment\lst@InlineG \romannumeral`^^@\iffalse}\fi
+ \let\@let@token}%
+ \lstinline@}
+% \end{macrocode}
+% Here we restore the previous catcode of |\^^@|:
+% \begin{macrocode}
+\catcode`\^^@=\lst@temp
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\lst@inline@}
+% This is the standard method after processing the optional arguments
+% of |\lstinline|.
% \begin{macrocode}
- \afterassignment\lst@InlineG \let\@let@token}%
- \lstinline@}
\def\lstinline@#1{%
- \lst@Init\relax
- \lst@IfNextCharActive{\lst@InlineM#1}{\lst@InlineJ#1}}
-\lst@AddToHook{TextStyle}{}% init
+ \lst@Init\relax
+ \lst@IfNextCharActive{\lst@InlineM#1}{\lst@InlineJ#1}}
% \end{macrocode}
% \begin{macrocode}
+\lst@AddToHook{TextStyle}{}% init
\lst@AddToHook{SelectCharTable}{\lst@inlinechars}
\global\let\lst@inlinechars\@empty
% \end{macrocode}
@@ -14965,56 +14997,68 @@
%
% \begin{macro}{\lst@InlineM}
% \begin{macro}{\lst@InlineJ}
-% treat the cases of `normal' inlines and inline listings inside an argument.
-% In the first case the given character ends the inline listing and EOL within
-% such a listing immediately ends it and produces an error message.
+% treat the cases of `normal' inlines and inline listings inside an
+% argument. In the first case the given character ends the inline
+% listing and EOL within such a listing immediately ends it and
+% produces an error message.
% \begin{macrocode}
-\def\lst@InlineM#1{\gdef\lst@inlinechars{%
+\def\lst@InlineM#1{%
+ \gdef\lst@inlinechars{%
\lst@Def{`#1}{\lst@DeInit\egroup\global\let\lst@inlinechars\@empty}%
\lst@Def{13}{\lst@DeInit\egroup \global\let\lst@inlinechars\@empty
- \PackageError{Listings}{lstinline ended by EOL}\@ehc}}%
- \lst@inlinechars}
+ \PackageError{Listings}{lstinline ended by EOL}\@ehc}}%
+ \lst@inlinechars}
% \end{macrocode}
% In the other case we get all characters up to |#1|, make these characters
% active, execute (typeset) them and end the listing (all via temporary macro).
% That's all about it.
% \begin{macrocode}
\def\lst@InlineJ#1{%
- \def\lst@temp##1#1{%
- \let\lst@arg\@empty \lst@InsideConvert{##1}\lst@arg
- \lst@DeInit\egroup}%
- \lst@temp}
+ \def\lst@temp##1#1{%
+ \let\lst@arg\@empty \lst@InsideConvert{##1}\lst@arg
+ \lst@DeInit\egroup}%
+ \lst@temp}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\lst@InlineG}
-% is experimental.
+% is experimental.
% \begin{macrocode}
\def\lst@InlineG{%
- \lst@Init\relax
- \lst@IfNextCharActive{\lst@InlineM\}}%
- {\let\lst@arg\@empty \lst@InlineGJ}}
+ \lst@Init\relax
+ \lst@IfNextCharActive{\lst@InlineM\}}{%
+ \let\lst@arg\@empty \lst@InlineGJ}}
+% \end{macrocode}
+% This is the point for closing the group:
+% \begin{macrocode}
+\edef\lst@temp{\the\catcode`\^^@}
+\catcode`\^^@=2
\def\lst@InlineGJ{\futurelet\@let@token\lst@InlineGJTest}
\def\lst@InlineGJTest{%
- \ifx\@let@token\egroup
- \afterassignment\lst@InlineGJEnd
- \expandafter\let\expandafter\@let@token
+ \ifx\@let@token\egroup
+ \iffalse{\fi\romannumeral`^^@
+ \afterassignment\lst@InlineGJEnd
+ \expandafter\let\expandafter\@let@token
+ \else
+ \ifx\@let@token\@sptoken
+ \let\lst@next\lst@InlineGJReadSp
\else
- \ifx\@let@token\@sptoken
- \let\lst@next\lst@InlineGJReadSp
- \else
- \let\lst@next\lst@InlineGJRead
- \fi
- \expandafter\lst@next
+ \let\lst@next\lst@InlineGJRead
+ \fi
+ \expandafter\lst@next
\fi}
+% \end{macrocode}
+% As before: restore the previous catcode of |\^^@|:
+% \begin{macrocode}
+\catcode`\^^@=\lst@temp
\def\lst@InlineGJEnd{\lst@arg\lst@DeInit\egroup}
\def\lst@InlineGJRead#1{%
- \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}%
- \lst@InlineGJ}
+ \lccode`\~=`#1\lowercase{\lst@lAddTo\lst@arg~}%
+ \lst@InlineGJ}
\def\lst@InlineGJReadSp#1{%
- \lccode`\~=`\ \lowercase{\lst@lAddTo\lst@arg~}%
- \lst@InlineGJ#1}
+ \lccode`\~=`\ \lowercase{\lst@lAddTo\lst@arg~}%
+ \lst@InlineGJ#1}
% \end{macrocode}
% \end{macro}
%
@@ -15313,7 +15357,7 @@
%
% \begin{macro}{\lst@MSkipToFirst}
% We just look whether to drop more lines or to leave the mode which restores
-% the definition of chr(13) and chr(10).
+% the definition of |chr(13)| and |chr(10)|.
% \begin{macrocode}
\def\lst@MSkipToFirst{%
\global\advance\lst@lineno\@ne
@@ -15391,7 +15435,7 @@
% \end{macrocode}
% We must append an active backslash and the `end string' to |\lst@arg|. So all
% (in fact most) other processing won't notice that the code has been inside
-% an argument. But the EOL character is chr(10)=|^^J| now and not chr(13).
+% an argument. But the EOL character is |chr(10)|=|^^J| now and not |chr(13)|.
% \begin{macrocode}
\begingroup \lccode`\~=`\\\lowercase{%
\gdef\lstenv@ProcessJ@{%
diff --git a/macros/latex/contrib/listings/listings.pdf b/macros/latex/contrib/listings/listings.pdf
index 41c366106a..b4bfc0d79e 100644
--- a/macros/latex/contrib/listings/listings.pdf
+++ b/macros/latex/contrib/listings/listings.pdf
Binary files differ
diff --git a/macros/latex/contrib/listings/lstdrvrs.dtx b/macros/latex/contrib/listings/lstdrvrs.dtx
index 56c2a92642..8541b7a0b9 100644
--- a/macros/latex/contrib/listings/lstdrvrs.dtx
+++ b/macros/latex/contrib/listings/lstdrvrs.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% Time-stamp: <2024-03-12 09:33:03 ax006ho>
+% Time-stamp: <2024-05-25 06:23:16 ax006ho>
%
%<*driver>
\documentclass{ltxdoc}
@@ -33,7 +33,7 @@
% \title{Language, Style and Format drivers\\ for \textsf{Listings}\\
% {\large by Carsten Heinz and individual authors:}}
% \author{\InputIfFileExists{lstdrvrs.tmp}{}{}}
-% \date{2024/03/11\enspace\enspace Version 1.10a\ \box\abstractbox}
+% \date{2024/05/25\enspace\enspace Version 1.10b\ \box\abstractbox}
%
% \ifhyper
% \hypersetup{pdftitle={Language, Style and Format drivers for the
@@ -138,7 +138,7 @@
% \endgroup
% We mainly define default dialects.
% \begin{macrocode}
-\ProvidesFile{listings.cfg}[2024/03/11 1.10a listings configuration]
+\ProvidesFile{listings.cfg}[2024/05/25 1.10b listings configuration]
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 6.10]ABAP,
@@ -154,6 +154,7 @@
defaultdialect=[11.0]Mathematica,
defaultdialect=[OMG]OCL,
defaultdialect=[Standard]Pascal,
+ defaultdialect=[2]Python,
defaultdialect=[67]Simula,
defaultdialect=[plain]TeX,
defaultdialect=[97]VRML}
@@ -186,7 +187,7 @@
%<+lua-prf>\ProvidesFile{listings-lua.prf}
%<+python-prf>\ProvidesFile{listings-python.prf}
%<+rexx-prf>\ProvidesFile{listings-rexx.prf}
-%<-config> [2024/03/11 1.10a listings language file]
+%<-config> [2024/05/25 1.10b listings language file]
% \end{macrocode}
%
%
@@ -7819,7 +7820,8 @@ morecomment=[l]!%
%
% In August 2013
% \lstthanks{Alexis~Dimitriadis}{A.Dimitriadis@uu.nl}{2013/08/15} reworked
-% the definition by supplying the builtins.
+% the definition by supplying the builtins. The current version is based on
+% \url{https://docs.python.org/2/reference/lexical_analysis.html#identifiers}.
% \begingroup
% \begin{macrocode}
%<*lang1>
@@ -7828,17 +7830,22 @@ morecomment=[l]!%
%%
%% Python definition (c) 1998 Michael Weber
%% Additional definitions (2013) Alexis Dimitriadis
+%% small corrections based on
+%% https://docs.python.org/2/reference/lexical_analysis.html#identifiers
%%
-\lst@definelanguage{Python}{%
- morekeywords={access, and, break, class, continue, def, del, elif, else,%
- except, exec, finally, for, from, global, if, import, in, is, lambda,%
- not, or, pass, print, raise, return, try, while},%
+\lst@definelanguage[2]{Python}{%
+ morekeywords={and, as, assert, break, class, continue, def, del, elif,%
+ else, except, exec, finally, for, from, global, if, import, in, is,%
+ lambda, not, or, pass, print, raise, return, try, while, with, yield},%
% \end{macrocode}
-% Python has a long list of builtin-in functions
+% Python has a long list of builtin-in functions (altogether 76 entries
+% plus 5 special ones)
% (\url{http://docs.python.org/2/library/functions.html}) and it is a good
-% idea to make them visible in printed code
+% idea to make them visible in printed code.
% \begin{macrocode}
- % Built-ins
+ % Built-ins according to
+ % http://docs.python.org/2/library/functions.html,
+ % the last five entries are known as advanced or not essential
morekeywords=[2]{abs, all, any, basestring, bin, bool, bytearray,%
callable, chr, classmethod, cmp, compile, complex, delattr, dict, dir,%
divmod, enumerate, eval, execfile, file, filter, float, format,%
@@ -7847,43 +7854,96 @@ morecomment=[l]!%
memoryview, min, next, object, oct, open, ord, pow, property, range,%
raw_input, reduce, reload, repr, reversed, round, set, setattr, slice,%
sorted, staticmethod, str, sum, super, tuple, type, unichr, unicode,%
- vars, xrange, zip, apply, buffer, coerce, intern},%
+ vars, xrange, zip, __import__, apply, buffer, coerce, intern},%
sensitive=true,%
morecomment=[l]\#,%
+ morestring=[s]{'''}{'''},% used for documentation text
+ % (multiline strings)
+ morestring=[s]{"""}{"""},% added by Philipp Matthias Hahn
morestring=[b]',%
- morestring=[b]",%
-% \end{macrocode}
-% According to PEP (Python Enhancement Proposals) comment should be
-% distinguished from documentation strings, so we define
-% \begin{macrocode}
- morecomment=[s]{'''}{'''},% used for documentation text
- % (mulitiline strings)
- morecomment=[s]{"""}{"""},% added by Philipp Matthias Hahn
-% \end{macrocode}
-% \lsthelper{J\"urgen Dietel}{j.dietel@rz.rwth-aachen}{2015/05/05}{} provided
-% an example with a wrong representation of documentation strings, so the
-% two lines above got changed from |morestring| $\rightarrow$ |morecomment|.
-%
-% Python now supports so called \emph{raw strings} and also Unicode
-% strings. Here is the definition of these strings:
-% \begin{macrocode}
- morestring=[s]{r'}{'},% `raw' strings
- morestring=[s]{r"}{"},%
- morestring=[s]{r'''}{'''},%
- morestring=[s]{r"""}{"""},%
- morestring=[s]{u'}{'},% unicode strings
- morestring=[s]{u"}{"},%
- morestring=[s]{u'''}{'''},%
- morestring=[s]{u"""}{"""}%
-}%
+ morestring=[b]"%
+}
% \end{macrocode}
% \lsthelper{Philipp Matthias Hahn}{pmhahn@titan.lahn.de}{2002/04/18}{}
-% added the third comment. \lsthelper{eRreuR}{rogspr@newdeal.ch}{2002/05/28}
-% {probl\`eme avec "listings" et le langage Python} found a bug using Python
-% and \lsthelper{Nicolas Markey}{markey@lsv.ens-cachan.fr}{2002/05/29}
+% added the third comment above.
+% \lsthelper{eRreuR}{rogspr@newdeal.ch}{2002/05/28} {probl\`eme avec
+% "listings" et le langage Python} found a bug using Python and
+% \lsthelper{Nicolas Markey}{markey@lsv.ens-cachan.fr}{2002/05/29}
% {listings and Python} informed me about the corresponding thread on
% \texttt{fr.comp.text.tex} and provided the fix---adding \texttt{[b]} to
% both \texttt{morestring} declarations.
+%
+% \lsthelper{J\"urgen Dietel}{j.dietel@rz.rwth-aachen}{2015/05/05}{}
+% provided an example with a wrong representation of documentation strings,
+% so the two lines added by Philipp Matthias Hahn got changed from
+% |morestring| $\rightarrow$ |morecomment|.\footnote{According to PEP
+% (Python Enhancement Proposals---\url{https://peps.python.org/pep-0257/})
+% comment should be distinguished from documentation strings.}
+%
+% Python 3.0 was released in December 2008 and brought with it a number of
+% new features. \lsthelper{Naoki Sean
+% Pross}{npross@student.ethz.ch}{2024/05/25}{Python 3 syntax support for
+% the listings LaTeX package} provided the lists of new keywords and
+% built-in functions as well as the support for special strings.
+% \begin{macrocode}
+\lst@definelanguage[3]{Python}[2]{Python}{%
+ % keywords
+ deletekeywords={exec, print},
+ morekeywords={False, None, True, async, await, nonlocal,
+% \end{macrocode}
+% Python knows so called soft keywords:
+% \begin{macrocode}
+ match, case},
+% \end{macrocode}
+% The list of built-in functions has changed considerably (only 71 entries,
+% no special ones):
+% \begin{macrocode}
+ % built-in functions
+ deletekeywords=[2]{apply, basestring, buffer, cmp, coerce, execfile, %
+ file, intern, long, raw_input, reduce, reload, unichr, unicode, xrange},
+ morekeywords=[2]{aiter, anext, ascii, breakpoint, bytes, exec},
+% \end{macrocode}
+% Python now supports special strings like \emph{raw strings}, Unicode
+% strings, and some more. Here is the definition of these strings:
+% \begin{macrocode}
+ % `raw' strings
+ morestring=[s]{r'}{'},
+ morestring=[s]{r"}{"},
+ morestring=[s]{r'''}{'''},
+ morestring=[s]{r"""}{"""},
+ morestring=[s]{R'}{'},
+ morestring=[s]{R"}{"},
+ morestring=[s]{R'''}{'''},
+ morestring=[s]{R"""}{"""},
+ % Unicode strings
+ morestring=[s]{u'}{'},
+ morestring=[s]{u"}{"},
+ morestring=[s]{u'''}{'''},
+ morestring=[s]{u"""}{"""},
+ morestring=[s]{U'}{'},
+ morestring=[s]{U"}{"},
+ morestring=[s]{U'''}{'''},
+ morestring=[s]{U"""}{"""},
+ % Format strings
+ morestring=[s]{f'}{'},
+ morestring=[s]{f"}{"},
+ morestring=[s]{f'''}{'''},
+ morestring=[s]{f"""}{"""},
+ morestring=[s]{F'}{'},
+ morestring=[s]{F"}{"},
+ morestring=[s]{F'''}{'''},
+ morestring=[s]{F"""}{"""},
+ % Byte literals
+ morestring=[s]{b'}{'},
+ morestring=[s]{b"}{"},
+ morestring=[s]{b'''}{'''},
+ morestring=[s]{b"""}{"""},
+ morestring=[s]{B'}{'},
+ morestring=[s]{B"}{"},
+ morestring=[s]{B'''}{'''},
+ morestring=[s]{B"""}{"""},
+}%
+% \end{macrocode}
% \begin{macrocode}
%</lang1>
% \end{macrocode}
@@ -7903,6 +7963,8 @@ morecomment=[l]!%
%% Actual colors from idlelib/config-highlight.def
%% --> corrected to ``web-safe''
+%% Unimplemented IDLE syntax: function/class names being
+%% defined should be blue
%% strings = #00aa00 / 0,170,0 (a darker green)
%% builtins = #900090 / 144,0,144 (purple-ish)
%% keywords = #FF7700 / 255,119,0 (quite close to plain `orange')
@@ -7958,6 +8020,7 @@ morecomment=[l]!%
procedure,pull,push,queue,return,say,select,signal,then,%
to,trace,when},%
sensitive=false,%
+ morecomment=[l]{--},%
morecomment=[n]{/*}{*/},%
morestring=[d]{'},%
morestring=[d]{"},%
@@ -7999,7 +8062,6 @@ morecomment=[l]!%
sensitive=false,%
morestring=[d]",%
morestring=[d]',%
- morecomment=[s]{/*}{*/},%
}[keywords,comments,strings]
% \end{macrocode}
% \begin{macrocode}
@@ -8026,7 +8088,7 @@ morecomment=[l]!%
::options, ::requires, ::resource, ::routine,%
forward, guard, local, loop, raise, strict,%
},%
- alsoletter={:},%
+ alsoletter={:}
}[keywords,comments,strings]
% \end{macrocode}
% \begin{macrocode}
@@ -8042,38 +8104,22 @@ morecomment=[l]!%
%<*rexx-prf>
% \end{macrocode}
% \begin{macrocode}
-\usepackage{xcolor}
-\usepackage{textcomp}
-
-%% Actual colors from idlelib/config-highlight.def
-%% --> corrected to ``web-safe''
-%% strings = #00aa00 / 0,170,0 (a darker green)
-%% builtins = #900090 / 144,0,144 (purple-ish)
-%% keywords = #FF7700 / 255,119,0 (quite close to plain `orange')
-%\definecolor{IDLEorange}{RGB}{255,119,0} % pretty close to real orange
-%\definecolor{IDLEpurple}{RGB}{144,0,144}
-%\definecolor{IDLEgreen}{RGB}{0,170,0}
-%\definecolor{IDLEred}{RGB}{221,0,0}
-%% Corrected to ``web-safe''
-%\definecolor{orange2}{RGB}{255,102,0}
-\definecolor{purple2}{RGB}{153,0,153} % there's actually no standard purple
-\definecolor{green2}{RGB}{0,153,0} % a darker green
-%\definecolor{red2}{RGB}{221,0,0}
+\usepackage{xcolor} % needed for colors like yellow!10
+\usepackage{textcomp} % needed for upquote
-% Except for green and purple, the other colors are pretty good in standard
-% hue
-\lstdefinestyle{python-idle-code}{%
- language=Python, % the language
- basicstyle=\normalsize\ttfamily, % size of the fonts for the code
- % Color settings to match IDLE style
- keywordstyle=\color{orange}, % core keywords
- keywordstyle={[2]\color{purple2}}, % built-ins
- stringstyle=\color{green2},%
- commentstyle=\color{red},%
+\lstdefinestyle{rexx-colored}{%
+ language=oorexx, % the language
+ backgroundcolor=\color{yellow!10},
+ basicstyle=\normalsize\ttfamily, % size of the fonts for
+ % the code
+ % Color settings to match JHf's preferred style
+ keywordstyle=\color{blue}, % core keywords
+ keywordstyle={[2]\color{cyan}}, % built-ins
+ keywordstyle={[3]\color{olive}}, % special keywords
+ stringstyle=\color{teal},%
+ commentstyle=\color{orange},%
upquote=true, % requires textcomp
}
-% Unimplemented IDLE syntax: function/class names being defined should be
-% blue
% \end{macrocode}
% This code is provided in the file |listings-rexx.prf|, see section
% 2.4.1 (Preferences) of the \packagename{listings} documentation.
diff --git a/macros/latex/contrib/listings/lstdrvrs.pdf b/macros/latex/contrib/listings/lstdrvrs.pdf
index e5ded0321c..0315d2cad2 100644
--- a/macros/latex/contrib/listings/lstdrvrs.pdf
+++ b/macros/latex/contrib/listings/lstdrvrs.pdf
Binary files differ
diff --git a/macros/latex/contrib/lni/CHANGELOG.md b/macros/latex/contrib/lni/CHANGELOG.md
index 84bff5fcc6..377ce68c43 100644
--- a/macros/latex/contrib/lni/CHANGELOG.md
+++ b/macros/latex/contrib/lni/CHANGELOG.md
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased]
+## [1.10] - 2024-07-23
+### Changed
+- Footnotes are set as superscripts in the footer
+- URLs are set using the text font instead of a typewriter font
+
+### Fixed
+- Support for multiple affiliations (#173)
+
+## [1.9] - 2024-07-01
+### Added
+- Support for multiple affiliations (#158)
+
## [1.8.1] - 2024-01-08
### Changed
@@ -167,7 +179,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
First release of the revised files
-[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.8.1...HEAD
+[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.10...HEAD
+[1.10]: https://github.com/gi-ev/LNI/compare/v1.9...v1.10
+[1.9]: https://github.com/gi-ev/LNI/compare/v1.8.1...v1.9
[1.8.1]: https://github.com/gi-ev/LNI/compare/v1.8...v1.8.1
[1.8]: https://github.com/gi-ev/LNI/compare/v1.7...v1.8
[1.7]: https://github.com/gi-ev/LNI/compare/v1.6...v1.7
diff --git a/macros/latex/contrib/lni/README.md b/macros/latex/contrib/lni/README.md
index 31fbf3da10..9935391e3b 100644
--- a/macros/latex/contrib/lni/README.md
+++ b/macros/latex/contrib/lni/README.md
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
lni -- A class for submissions to the ``Lecture Notes in Informatics''
(c) 2016-2024 Gesellschaft für Informatik (GI)
-Version: 1.8.1
+Version: 1.10
Maintainer: Martin Sievers
Email: martin.sievers@schoenerpublizieren.de
License: Released under the LaTeX Project Public License v1.3c or later
diff --git a/macros/latex/contrib/lni/lni-author-template.tex b/macros/latex/contrib/lni/lni-author-template.tex
index 411fea056a..9a39a2d585 100644
--- a/macros/latex/contrib/lni/lni-author-template.tex
+++ b/macros/latex/contrib/lni/lni-author-template.tex
@@ -19,12 +19,13 @@
\title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen
Worten und noch mehr Buchstaben}
%% \subtitle{Untertitel / Subtitle} % if needed
-\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-\affil[2]{University\\Department\\Address\\Country}
+ \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
+ \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+ \affil[2]{University 2 \\Department\\Address\\Country}
+ \affil[3]{University 3\\Department\\Address\\Country}
\maketitle
\begin{abstract}
diff --git a/macros/latex/contrib/lni/lni.dtx b/macros/latex/contrib/lni/lni.dtx
index 20261238d4..b5699cbac6 100644
--- a/macros/latex/contrib/lni/lni.dtx
+++ b/macros/latex/contrib/lni/lni.dtx
@@ -134,7 +134,7 @@ This work consists of the file lni.dtx
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{lni}
%<*class>
- [2024/01/08 v1.8.1 Official class for submissions to the ``Lecture Notes
+ [2024/07/23 v1.10 Official class for submissions to the ``Lecture Notes
in Informatics'']
%</class>
%<*driver>
@@ -286,6 +286,9 @@ This work consists of the file lni.dtx
% \changes{v1.8}{2022/06/10}{Fix output error in bst files (#97)}
% \changes{v1.8}{2022/11/25}{Make class compatable with latest publisher requirements (#121)}
% \changes{v1.8}{2022/11/25}{Make usage of `hyperref` mandatory (#131)}
+% \changes{v1.9}{2024/07/01}{Support multiple affiliations (#158)}
+% \changes{v1.10}{2024/07/01}{Change font for URLs to text font and change footnote numbers to superscript}
+% \changes{v1.10}{2024/07/23}{Fix support multiple affiliations (#173)}
%
% \GetFileInfo{\jobname.dtx}
% \DoNotIndex{\newcommand,\newenvironment}
@@ -489,12 +492,13 @@ This work consists of the file lni.dtx
% \cs{affil\oarg{number}\marg{information}} where you can use
% \texttt{\textbackslash\textbackslash} to split the address.
% \begin{examplecode}[label={lst:author}]
-% \author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+% \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
% \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-% \author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+% \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
% \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-% \affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-% \affil[2]{University\\Department\\Address\\Country}
+% \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+% \affil[2]{University 2 \\Department\\Address\\Country}
+% \affil[3]{University 3\\Department\\Address\\Country}
% \end{examplecode}
%
% Leave the third and/or fourth argument empty if there is no email address and/or ORCID iD.
@@ -1044,7 +1048,7 @@ This work consists of the file lni.dtx
\RequirePackage[hang]{footmisc}
\setlength{\footnotemargin}{1em}
\long\def\@makefntext#1{%
- \def\@makefnmark{\rlap{\normalfont\@thefnmark}}%
+ \def\@makefnmark{\rlap{\normalfont\textsuperscript{\@thefnmark}}}%
\ifFN@hangfoot
\bgroup
\setbox\@tempboxa\hbox{%
@@ -1149,53 +1153,71 @@ This work consists of the file lni.dtx
\renewcommand\Authsep{, }
\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }}
\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }}
-\renewcommand{\AB@authnote}[1]{$^{\text{\mbox{\normalfont\footnotesize #1}}}$}
+\NewDocumentCommand{\multiaffil}{ >{\SplitList{,}} m m m}{%
+ \gdef\@currEmail{#2}
+ \gdef\@currOrcid{#3}
+ \ProcessList{#1}{\@multiaffil}
+}
+
+\newcommand{\@multiaffil}[1]{%
+ \ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}%
+ \ifcsempty{@emailsandorcids#1}%
+ {\protected@csxappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+ {\protected@csxappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+}
+
\renewcommand\author[4][]{%
\ifnewaffil\addtocounter{affil}{1}%
\edef\AB@thenote{\arabic{affil}}%
\fi%
\if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
- \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\setcounter{Maxaffil}{0}\fi
\ifnum\value{authors}=0\def\@firstauthor{#2}\fi
\ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c@authors}{\Authsep}\fi
+ \@namedef{@sep\number\c@authors}{\Authsep}\fi
\addtocounter{authors}{1}%
\begingroup
- \let\protect\@unexpandable@protect \let\and\AB@pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB@authors}%
- \@temptokenb=\expandafter{\AB@authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB@resetsep}%
- \xdef\AB@author{\AB@blk@and#2}%
- \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
- \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
- \else
- \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
- \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
- \gdef\AB@as{\Authsep}%
- \fi
- \gdef\AB@au@str{#2}}%
- \@temptokena=\expandafter{\AB@authlist}%
- \@temptokenb=\expandafter{\@authlisthead}%
- \let\\=\authorcr
- \xdef\AB@authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
- \xdef\@authlisthead{\the\@temptokenb
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2}%
+ \let\protect\@unexpandable@protect \let\and\AB@pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB@authors}%
+ \@temptokenb=\expandafter{\AB@authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB@resetsep}%
+ \xdef\AB@author{\AB@blk@and#2}%
+ \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
+ \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
+ \else
+ \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
+ \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
+ \gdef\AB@as{\Authsep}%
+ \fi
+ \gdef\AB@au@str{#2}}%
+ \@temptokena=\expandafter{\AB@authlist}%
+ \@temptokenb=\expandafter{\@authlisthead}%
+ \let\\=\authorcr
+ \xdef\AB@authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
+ \xdef\@authlisthead{\the\@temptokenb
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2}%
\endgroup
\ifnum\value{authors}>2\relax
\@namedef{@sep\number\c@authors}{\Authands}\fi
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
+ \sbox\z@{\@tempcnta=0#1\relax}%
+ \expandafter\ifdim\wd\z@>\z@\relax
+ \multiaffil{#1}{#3}{#4}
+ \else
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\ifcsempty{@emailsandorcids\AB@note}%
{\csgappto{@emailsandorcids\AB@note}{%
- \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}%
- }%
+ \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
{\csgappto{@emailsandorcids\AB@note}{%
\if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
-
+ \fi%
\newaffilfalse
}
\renewcommand\@author{%
@@ -1529,6 +1551,7 @@ This work consists of the file lni.dtx
% \end{macrocode}
% \begin{macrocode}
\RequirePackage{url}
+\urlstyle{same}
% \end{macrocode}
% improve wrapping of URLs - hint by http://tex.stackexchange.com/a/10419/9075
% \begin{macrocode}
@@ -3071,12 +3094,13 @@ EXECUTE {end.bib}
\title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen
Worten und noch mehr Buchstaben}
%% \subtitle{Untertitel / Subtitle} % if needed
-\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-\affil[2]{University\\Department\\Address\\Country}
+ \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
+ \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+ \affil[2]{University 2 \\Department\\Address\\Country}
+ \affil[3]{University 3\\Department\\Address\\Country}
\maketitle
\begin{abstract}
diff --git a/macros/latex/contrib/lni/lni.pdf b/macros/latex/contrib/lni/lni.pdf
index ae032bd25b..b79a12a091 100644
--- a/macros/latex/contrib/lni/lni.pdf
+++ b/macros/latex/contrib/lni/lni.pdf
Binary files differ
diff --git a/macros/latex/contrib/mailing/CATALOG b/macros/latex/contrib/mailing/CATALOG
new file mode 100644
index 0000000000..bfc37ff238
--- /dev/null
+++ b/macros/latex/contrib/mailing/CATALOG
@@ -0,0 +1,15 @@
+Name: mailing
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams
+Version: 1.0c
+
+Description:
+
+The mailing package implements support for producing letters to
+multiple people.
+
+Keywords: latex mailing
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/mailing/manifest.txt b/macros/latex/contrib/mailing/MANIFEST
index b0653434c7..b93e68a619 100644
--- a/macros/latex/contrib/mailing/manifest.txt
+++ b/macros/latex/contrib/mailing/MANIFEST
@@ -2,11 +2,11 @@
% CONTENTS OF THE MAILING PACKAGE
% ===============================
%
-% manifest.txt -- This file
+% MANIFEST -- This file
%
% mailing.dtx -- A package to produce a `mailing' ie a large number
% of letters with (almost) identical text.
-% mailing.pdf -- The `printed version of mailing.dtx
+% mailing.pdf -- The `printed´ version of mailing.dtx
%
% Installation script for the various parts:
% -------------------------------------------
diff --git a/macros/latex/contrib/mailing/README b/macros/latex/contrib/mailing/README
new file mode 100644
index 0000000000..6dccf798b9
--- /dev/null
+++ b/macros/latex/contrib/mailing/README
@@ -0,0 +1,14 @@
+ mailing bundle
+
+ July 2024, 2024
+
+This bundle contains a package that provides functionality to
+produce multiple letters with the same text to different addressses.
+It provides three commands \addressfile, \mailingtext and \makemailing.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/mailing/mailing.dtx b/macros/latex/contrib/mailing/mailing.dtx
index 01aabfcfd4..2a1747d440 100644
--- a/macros/latex/contrib/mailing/mailing.dtx
+++ b/macros/latex/contrib/mailing/mailing.dtx
@@ -1,33 +1,34 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1999-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the mailing package.
% -----------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the mailing package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
+%
% \CheckSum{157}
%
%\iffalse
-%% Copyright (C) 1999-2004 Johannes L. Braams texniek at braams.cistron.nl
+%% Copyright (C) 1999-2024 Johannes L. Braams texniek at texniek.nl
%%
%%
%<*dtx>
@@ -38,7 +39,7 @@
%<driver>\ProvidesFile{mailing.drv}
%\fi
%\ProvidesFile{mailing}
- [2004/02/20 v1.0b Send letters to multiple addresses]
+ [2024/07/20 v1.0c Send letters to multiple addresses]
%\iffalse
%<*driver>
\documentclass{ltxdoc}
@@ -48,11 +49,14 @@
\end{document}
%</driver>
%\fi
+% \changes{v1.0c}{2024/07/20}{Updated contact info}
%
% \GetFileInfo{mailing}
-% \title{Creating a mailing}
+% \title{Creating a mailing\thanks{This file
+% has version number \fileversion, last
+% revised \filedate.}}
% \author{Johannes Braams}
-% \date{september 7, 1994}
+% \date{\filedate}^^AA original date{september 7, 1994}
% \maketitle
%
% \markboth
@@ -304,4 +308,4 @@
% \end{macro}
%
% \Finale
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/mailing/mailing.ins b/macros/latex/contrib/mailing/mailing.ins
index b9143a89b6..a9c133d718 100644
--- a/macros/latex/contrib/mailing/mailing.ins
+++ b/macros/latex/contrib/mailing/mailing.ins
@@ -3,54 +3,43 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
%%
-%% This file is part of the mailing package.
-%% ------------------------------------------
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This work has the LPPL maintenance status "maintained".
+%% Copyright (C) 1994-2024 Johannes Braams, All rights reserved.
%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the mailing package is
-%% given in the file `manifest.txt.
-%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1.3c of the License, or any later version.
%%
%% --------------- start of docstrip commands ------------------
%%
% ignored commands
-\def\filedate{2004/02/20}
+\def\filedate{2024/07/20}
\def\batchfile{mailing.ins}
\input docstrip.tex
-
% package file
\preamble
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the mailing package.
------------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -61,12 +50,13 @@ mailing package. You may however distribute the mailing package
without such generated files.
The list of all files belonging to the mailing package is
-given in the file `manifest.txt.
+given in the file `MANIFEST'.
The list of derived (unpacked) files belonging to the distribution
and covered by LPPL is defined by the unpacking scripts (with
extension .ins) which are part of the distribution.
\endpreamble
+\keepsilent
\generateFile{mailing.sty}{t}{\from{mailing.dtx}{package}}
diff --git a/macros/latex/contrib/mailing/mailing.pdf b/macros/latex/contrib/mailing/mailing.pdf
index 1625f90e04..109c5c3de0 100644
--- a/macros/latex/contrib/mailing/mailing.pdf
+++ b/macros/latex/contrib/mailing/mailing.pdf
Binary files differ
diff --git a/macros/latex/contrib/mathastext/README.md b/macros/latex/contrib/mathastext/README.md
index 44b778b728..094cb2c2c8 100644
--- a/macros/latex/contrib/mathastext/README.md
+++ b/macros/latex/contrib/mathastext/README.md
@@ -12,9 +12,9 @@ of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`)
-Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
+Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
- Source: mathastext.dtx 1.3zb 2023/12/29
+ Source: mathastext.dtx 1.4a 2024/07/20
DESCRIPTION
@@ -82,6 +82,84 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`.
RECENT CHANGES
==============
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -133,63 +211,3 @@ RECENT CHANGES
* Fix long-standing hyperlink problems in the documentation:
blue color words should now all be functioning hyperlinks.
-1.3z \[2023/09/01\]
-----
-
-Fix 1.3y regression which broke `selfGreek` option due to internal
-renamings. Thanks to Stephan Korell for report.
-
-1.3y \[2022/11/04\]
-----
-
-(the 1.3x had an annoying documentation bug, and had already
-been pushed to CTAN, hence the version increase to 1.3y)
-
-* mathastext now requires the `\expanded` primitive (which is
- available with all major engines since TeXLive 2019).
-
-* Revisit parts of the documentation (mainly
- the Examples, and the section on Greek letters) and shuffle
- the other parts to surely improve things. Mention
- the [mathfont](https://ctan.org/pkg/mathfont)
- and [frenchmath](https://ctan.org/pkg/frenchmath) packages.
-
-* Add the `ncccomma` option which loads the
- [ncccomma](https://ctan.org/pkg/ncccomma)
- package to allow the comma as decimal separator.
-
-* Add the `binarysemicolon` option to let the semi-colon
- be of type `\mathbin`, not `\mathpunct`.
-
-* Add the `frenchmath*` option which does all three of
- `frenchmath`, `ncccomma` and `binarysemicolon`.
-
-* Under the `LGRgreek` and `LGRgreeks` options only:
-
- - make available upright and italic Greek letters in math mode
- via `\alphaup`, `\alphait`, ... control sequences, in
- addition to those not using such postfixed-names.
-
- - add `\mathgreekup` and `\mathgreekit` math alphabets.
-
- - add `\MTgreekupdefault` and `\MTgreekitdefault`. The former
- replaces `\updefault` which was used in some places and since
- LaTeX 2020-02-02 caused systematic Font Warnings about the
- substitution of `up` by `n`.
-
- These new features required an extensive internal refactoring
- which is expected to not induce changes to most existing
- documents. But it may induce changes to those using some
- unusual configuration in the preamble, as made possible via the
- package macros; this can apply only to documents authored by
- those few people who actually read the documentation. For full
- details make sure to read the PDF documentation about this
- change.
-
-* Fix "`\Digamma` under `LGRgreek` option uses the shape for
- lowercase not uppercase Greek".
-
-* Fix some incongruities in log messages related to Greek
- letters and emitted during math version creation in the
- preamble.
-
diff --git a/macros/latex/contrib/mathastext/mathastext.dtx b/macros/latex/contrib/mathastext/mathastext.dtx
index d8c464a117..1ddc7ec7bb 100644
--- a/macros/latex/contrib/mathastext/mathastext.dtx
+++ b/macros/latex/contrib/mathastext/mathastext.dtx
@@ -2,8 +2,8 @@
% N.B.: this dtx file does NOT use \DocInput, it only uses docstrip.
% The LaTeX source of the documentation is NOT prefixed with %'s.
%<*dtx>
-\def\dtxtimestamp {Time-stamp: <29-12-2023 at 10:54:52 CET>}
-\def\docdate{2023/12/29}
+\def\dtxtimestamp {Time-stamp: <20-07-2024 at 22:26:18 CEST>}
+\def\docdate{2024/07/20}
% To extract run etex on this file, then to build documentation run
% latexmk on mathastext.tex then dvipdfmx on the dvi.
% For more information see http://jf.burnol.free.fr/v13/INSTALL.txt
@@ -11,8 +11,8 @@
% due to usage of (<A7>) as an active character.
%</dtx>
%<*drv>
-\def\MSTpkgdate {2023/12/29}
-\def\MSTpkgversion {1.3zb}
+\def\MSTpkgdate {2024/07/20}
+\def\MSTpkgversion {1.4a}
%</drv>
%<*dtx>
\iffalse % meta-comment
@@ -32,9 +32,9 @@ of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`)
-Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
+Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
- Source: mathastext.dtx 1.3zb 2023/12/29
+ Source: mathastext.dtx 1.4a 2024/07/20
%</readme>
%<*dtx>
@@ -44,10 +44,10 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
%%----------------------------------------------------------------
%% Package: mathastext
%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
+%% Version: 1.4a 2024/07/20
%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
+%% Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
+%% <jfbu at free dot fr>
%% Examples of use of mathastext:
%% http://jf.burnol.free.fr/mathastext.html
%% http://jf.burnol.free.fr/showcase.html
@@ -95,19 +95,11 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
\begingroup
\input docstrip.tex
\askforoverwritefalse
-\def\testfilepreamble{\string\def\string\testfileincipit{Test file
- to accompany \string\texttt{mathastext}^^J%
- version \string\texttt{\MSTpkgversion} of \string\texttt{\MSTpkgdate}}}
\generate{\nopreamble\nopostamble
\file{README.md}{\from{mathastext.dtx}{readme}}
\file{ChangeLog.md}{\from{mathastext.dtx}{changelog}}
\usepostamble\defaultpostamble
\file{mathastext.tex}{\from{mathastext.dtx}{drv}}
- \usepreamble\testfilepreamble
- \file{mathastexttestmathversions.tex}{\from{mathastext.dtx}{mathversions}}
- \file{mathastexttestunicodemacos.tex}{\from{mathastext.dtx}{macos}}
- \file{mathastexttestunicodelinux.tex}{\from{mathastext.dtx}{linux}}
- \file{mathastexttestalphabets.tex}{\from{mathastext.dtx}{alphabets}}
\usepreamble\defaultpreamble
\file{mathastext.sty}{\from{mathastext.dtx}{package}}%
}
@@ -120,7 +112,8 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
% no file extractions if latex compilation was on mathastext.tex
\ifdefined\MessageDeFin\AtEndDocument{\MessageDeFin}\fi
\begingroup\catcode1 0 \catcode`\\ 12
-% this is to fool TeX's recognition of \if/\else/\fi like tokens in test files
+% This is to fool TeX's recognition of \if/\else/\fi like tokens in test files,
+% but on 2024/07/14 I removed from the dtx four previously included such filss.
^^Aiffalse
%</dtx>
%<*readme>
@@ -200,6 +193,84 @@ MATHASTEXT CHANGE LOG
%</changelog>
%<*readme|changelog>
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -251,6 +322,8 @@ MATHASTEXT CHANGE LOG
* Fix long-standing hyperlink problems in the documentation:
blue color words should now all be functioning hyperlinks.
+%</readme|changelog>
+%<*changelog>
1.3z \[2023/09/01\]
----
@@ -311,8 +384,6 @@ been pushed to CTAN, hence the version increase to 1.3y)
letters and emitted during math version creation in the
preamble.
-%</readme|changelog>
-%<*changelog>
1.3w \[2019/11/16\]
----
@@ -358,7 +429,7 @@ been pushed to CTAN, hence the version increase to 1.3y)
to some other (robust) math alphabet macros, but were not
robust in the strict sense. This does cause some issues for
moving arguments in the context of multiple math versions,
- hence it was a bug. The special behaviour of the math
+ hence it was a bug. The special behavior of the math
alphabet commands (they redefine themselves and other macros
on first use) makes is somewhat problematic for mathastext
to keep them updated across math versions and at the same
@@ -620,16 +691,14 @@ been pushed to CTAN, hence the version increase to 1.3y)
redefined as math symbols and could not be used as delimiters.
-1.3d \[2015/02/26\]
+1.3d \[2014/05/23\]
----
-* the documentation mentions the improved compatibility of mathastext
+* A 2015/02/26 edit to the documentation mentions the
+ improved compatibility of mathastext
with the latest (3.34) beamer release: no more need for
`\usefonttheme{professionalfonts}`.
-1.3d \[2014/05/23\]
-----
-
* new commands `\MTstandardgreek` and `\MTcustomgreek`.
* The Greek letters, in case of use of one of the package related
@@ -760,6 +829,8 @@ use of mathematically active characters in versions 1.2 and 1.2b.
mechanism of letting non-letter symbols obey the math alphabet
commands.
+* the `noasterisk` option is deprecated and made a no-op.
+
* documentation extended and improved.
1.2c \[2012/12/31\]
@@ -904,6 +975,11 @@ use of mathematically active characters in versions 1.2 and 1.2b.
complete manner to adapt the math configuration to fonts
provided with no math support.
+1.13d
+----
+
+* new macros `\MTstandardgreek` and `\MTcustomgreek`
+
1.13b
----
@@ -972,502 +1048,6 @@ use of mathematically active characters in versions 1.2 and 1.2b.
%%% mode: latex
%%% End:
%</drv>
-%<*mathversions>
-%% This file `mathastexttestversions.tex' is for testing the enhanced
-%% concept of math versions provided by the package `mathastext'.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{newcent}
-\usepackage[subdued]{mathastext}
-\Mathastext[newcent]
-\renewcommand\familydefault\ttdefault
-\Mathastext[courier]
-\renewcommand\familydefault\sfdefault
-\Mathastext[avantgarde]
-\renewcommand\familydefault\rmdefault
-\begin{document}
-\testfileincipit
-
-text in NewCentury and $math\ as\ in\ default$,%
-\MTversion{courier} text in Courier and $math\ in\ Courier$,%
-\MTversion{avantgarde} text in AvantGarde and $math\ in\ AvantGarde$,%
-\MTversion[newcent]{courier} text in NewCentury and $math\ in\
-Courier$,\MTversion{bold} text in bold NewCentury and $math\ as\ in\
-bold\ default$,\MTversion[courier]{avantgarde} text in Courier and
-$math\ in\ AvantGarde$.
-\end{document}
-%</mathversions>
-%<*macos>
-%% This file `mathastexttestunicodemacos.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Mac OS X specific fonts are used (initially tested on 10.8.2).
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.85]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
-\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
-\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
-\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
-\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Mac OS machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note (tested 2013/09/03): for some reason the \verb|Color| specifications in the
-\verb|\setmainfont| commands work only
-with \XeLaTeX{}, not with \LuaLaTeX{}; a few months back I had not noticed
-such a difference between the two engines.
-
-Update (tested 2016/01/15 with reasonably up-to-date TL2015): \verb|Color|
-spec in use of \verb|\setmainfont| command now functional again with
-\LuaLaTeX.
-
-Note (tested 2019/08/11, reasonably up-to-date TL2019): spacing with the Didot
-font differs widely between \XeLaTeX\ and \LuaLaTeX{} (perhaps related to
-italic corrections, see the package documentation), and also it seems
-\LuaLaTeX{} will not find (from our generic usage of the \verb|fontspec|
-interface, at least) bold variants of the Hoefler Text and American Typewriter
-fonts, contrarily to \XeLaTeX. Also, the \emph{italic} option remains
-seemingly without effect with \LuaLaTeX{} in the case of the Hoefler Text font
-(see the package source code comments on some problems with the two ``modes''
-for text fonts under \LuaLaTeX, which may be related with this specific issue
-here).
-
-Update (tested 2022/10/29, with 1.3x and up-to-date TL2022): it appears that
-most, perhaps even all, of the remarks in the preceding note are now obsolete
-as I do not see obvious differences between outputs from \XeLaTeX{} versus
-\LuaLaTeX{} but I did not seriously compare, only quickly done.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789 }
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
-\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}\TEST{Times}
-\end{document}
-%</macos>
-%<*linux>
-%% This file `mathastexttestunicodelinux.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Fonts which were available on a Linux machine are used. Beware that
-%% compilation with LuaLaTeX will abort with errors if specified fonts do not
-%% exist on your system.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
-\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
-\setmainfont[Color=00C000]{DejaVu Serif} \Mathastext[DejaVu]
-\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
-%% commented out as these fonts do not exist anymore on the Linux box
-%% I have access to (test last done 2016/01/15)
-%%\setmainfont[Color=C000C0]{URW Chancery L} \Mathastext[Chancery]
-%%\setmainfont[Color=800080]{URW Palladio L} \Mathastext[Palladio]
-\setmainfont[Color=808000]{Liberation Serif} \Mathastext[Liberation]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Linux machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note: the two unicode engines \XeLaTeX\ and \LuaLaTeX\ give likely not fully
-identical results particularly for the math mode. At least this is what I
-observed regularly over the years with the variant of this file prepared for
-fonts available on Mac OS, which is my main system where I develop
-|\mathastext|. Lastly for example (TL2019, august 2019), \LuaLaTeX\ could not
-find the bold variant of some system font, but \XeLaTeX\ did. And the spacing
-for the letters of the Didot font was vastly different between the two
-engines.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789}
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{DejaVu}
-\TEST{Verdana}
-\TEST{Andale}
-%%\TEST{Palladio}
-\TEST{Arial}
-%%\TEST{Chancery}
-\TEST{Liberation}
-\TEST{bold}\TEST{normal}\TEST{Times}
-\end{document}
-%</linux>
-%<*alphabets>
-%% This file `mathastexttestalphabets.tex' is for testing the extended
-%% scope of the math alphabet commands with package `mathastext', via
-%% the package command \MTnonlettersobeymathxx.
-%%
-%% Compile either with latex, pdflatex, lualatex (pdf output) or xelatex.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.66, vscale=0.72]{geometry}
-\usepackage{amsmath}
-\usepackage{mathtools}\mathtoolsset{centercolon}
-%% WARNING THIS IS INCOMPATIBLE WITH BABEL+FRENCHB
-%% BUT WITH MATHASTEXT LOADED THIS IS CORRECTED
-%% *IF* \MTnonlettersobeymathxx IS MADE USE OF.
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[ExternalLocation,
- Mapping=tex-text,
- BoldFont=texgyretermes-bold,
- ItalicFont=texgyretermes-italic,
- BoldItalicFont=texgyretermes-bolditalic]{texgyretermes-regular}
-\setmonofont[ExternalLocation,
- Mapping=tex-text]{texgyrecursor-regular}
-\setsansfont[ExternalLocation,
- Mapping=tex-text]{texgyreheros-regular}
-\else
-\ifLuaTeX % for pdf output
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\setmonofont[Ligatures=TeX]{TeX Gyre Cursor}
-\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
-\else
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{tgtermes}
-\usepackage{tgcursor}
-\usepackage{tgheros}
-\fi\fi
-\usepackage{metalogo} % must be loaded /after/ [no-math]fontspec
-\usepackage[french]{babel}
-\usepackage[italic,asterisk]{mathastext}
-\MTlettershape{n}\Mathastext[upright]
-\MTnonlettersobeymathxx
-\MTexplicitbracesobeymathxx
-\delimitershortfall-1pt
-\usepackage{color}
-\begin{document}
-\testfileincipit
-
-\begin{center}
- \bfseries Two features of \texttt{mathastext}:\\
-extended scope of the math alphabets and added italic corrections\par
-\end{center}
-
-The package makes
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
-the asterisk $*$, and $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$ obey the
-math alphabet commands (this is the maximal list, some characters may have been
-excluded by the corresponding package options). For the characters listed first
-the mechanism involves a `mathematical activation'.
-
-As this process may create incompatibilities, it will be put into action
-for
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$
-only if the user makes use of the package command
-\verb|\MTnonlettersobeymathxx| (and the braces necessitate
-\verb|\MTexplicitbracesobeymathxx|).
-
-It could be that one such character has been made `active' in the entire
-document by some other package, typically a language definition file for the
-\verb|babel| system. Here for example we have used \verb|babel| with the
-\verb|french| option, which makes the high punctuation characters !?:; active
-throughout the document (extra spacing is put in front of the character when
-used in text; no change in math but perhaps for other languages and characters
-this could happen, it is up to the language definition file to decide).
-
-When \verb|mathastext| detects that a character it wants to `mathematically
-activate' is already `active', it does not go further except if it seems that
-the activation was done by Babel. If the activation was done by Babel, then
-\verb|mathastext| replaces the expansion of the active character in math mode by
-what is necessary to achieve its goal. It does not additionally mathematically
-activate the character; rather it makes sure that the character is \emph{not}
-mathematically active. In the present document the colon was made mathematically
-active by \verb|mathtools| but this was already canceled in the preamble by
-\verb|mathastext| as it was loaded later. And it is better so, because the
-combination \verb|babel| (with option \verb|frenchb|) +\verb|mathtools| (with
-\verb|centercolon|) makes \verb|$:$| create an infinite loop!
-
-But even if someone had mathematically activated the colon after the preamble,
-or after the loading of \verb|mathastext|, this would be canceled again
-automatically for each inline or displayed mathematical formula (if the user
-does \verb|\MTnonlettersobeymathxx|).
-
-The conclusion with \verb|\MTnonlettersobeymathxx| is: if some package has tried
-to make the character mathematically active, this will be overruled by
-\verb|mathastext|; if some package has made the character globally active, then
-the package wins except if it is Babel, as \verb|mathastext| may in the latter
-case safely modify the action in math mode (paying attention to the fact that
-the character should be usable in \verb|\label| and \verb|\ref| in and outside
-of math mode).
-
-The displayed equations next illustrate the extended scope of the math alphabets
-which now apply to $=$, $-$, $($, $)$, $[$, $]$ (but not to the large delimiters
-of course). Furthermore, for testing purposes the equations were labeled using
-such characters, for example the last one has label \verb|eq=7|, to check that
-the mathematical activation of $=$ does not cause problems with
-\verb|\label/\ref|.
-
-\def\testformula{\quad\Biggl\lbrace\biggl(\left(\left[[\sin(a) + \cos(b) - \log(c) =
-\sec(d)]\right]\right)\biggr)\Biggr\rbrace}
-\begin{equation}\testformula\label{eq:1}\end{equation}
-\begin{equation}\mathnormalbold{mathnormalbold:\testformula}\label{eq;2}\end{equation}
-\begin{equation}\mathrm{mathrm:\testformula}\label{eq?3}\end{equation}
-\begin{equation}\mathbf{mathbf:\testformula}\label{eq!4}\end{equation}
-\begin{equation}\mathit{mathit:\testformula}\label{eq(5}\end{equation}
-\begin{equation}\mathtt{mathtt:\testformula}\label{eq)6}\end{equation}
-\begin{equation}\mathsf{mathsf:\testformula}\label{eq=7}\end{equation}
-
-Equations above are numbered \ref{eq:1}, \ref{eq;2}, \ref{eq?3}, \ref{eq!4}, and
-$\ref{eq(5}$, $\ref{eq)6}$, and $\ref{eq=7}$.
-
-\def\testline#1{$#1$&$\mathnormalbold{#1}$&$\mathrm{#1}$&$\mathbf{#1}$&$\mathit{#1}$&$\mathtt{#1}$&$\mathsf{#1}$}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-The question mark has been made active by \verb|babel+frenchb|.
-\verb|mathastext| has imposed in math mode its ways (now \verb|$\mathbf{???}$|
-gives $\mathbf{???}$). As the extra spacing is added by \verb|frenchb| only in
-text, we had to use the math alphabet to check that indeed \verb|mathastext|
-overruled Babel.
-
-To double-check we will now make \string? mathematically active:
-\verb|\mathcode`?="8000|\mathcode`?="8000. This is a sure cause for disaster
-normally with Babel (don't do this at home without \verb|mathastext|!). But here
-with \verb|$?$| no bad surprise (infinite loop!) awaits us: just $?$.
-
-Let's take some other character, for example the opening parenthesis, and make
-it catcode active:
-\verb|\catcode`(=\active \def ({X}|.
-Let's try the input
-\verb|( and $($|.
-\begingroup
-\catcode`(=\active \gdef ({X}
-This gives ( and $($. We see that \verb|mathastext| does not attempt to modify
-the definition of the active character, as this activation was not done via the
-\verb|babel| services. \catcode`\(=12 \mathcode`(="8000 We now revert the
-parenthesis to catcode other (but maintain \verb|\def ({X}| as definition of its
-active version), and then make it mathematically active using the command
-\verb|\mathcode`(="8000|. If we try \verb|$((($| we see that the parenthesis is
-not converted into an $X$: $((($. The mathematically active character was
-overruled by \verb|mathastext|.
-
-Issuing \verb|\MTnonlettersdonotobeymathxx|\MTnonlettersdonotobeymathxx\ we do
-get the $X$'s from the input \verb|$((($|: $((($
-\endgroup
-This shows that \verb|mathastext| now does not modify in math mode the
-non-letter \verb|(|.
-
-\MTversion{upright}\MTnonlettersobeymathxx
-We defined in the preamble of the document a \verb|mathastext|-enhanced
-math version (named \verb|upright|) having the Latin letters upright in
-math mode. Let's switch to
-it: \newline
-\hbox to\linewidth{\hss\verb|\MTversion{upright}|\hss}
-
-With a font which is neither italic nor slanted, \verb|mathastext| automatically
-inserts italic corrections for better positioning of the subscript:
-\verb|$f_i^i$| gives
-$f_i^i$.
-After \verb|\MTnoicinmath| which turns off this feature\MTnoicinmath{}, the same
-input gives $f_i^i$, which is different.
-\footnote{last time I tried, this only worked with PDF\LaTeX{}, not with
- \LuaLaTeX{} or \XeTeX{}.}
-
-Again with italic corrections on (\verb|\MTicinmath|)\MTicinmath{}
-\verb|$f_{abc}^{def}$| gives $f_{abc}^{def}$, and here is another one:
-$f^{f_{abc}^{def}}_u$. Without italic corrections\MTnoicinmath: $f_{abc}^{def}$,
-and respectively $f^{f_{abc}^{def}}_u$.
-
-\MTicinmath
-
-\verb|mathastext| does not add these italic corrections inside arguments of
-math alphabets, as this would prevent the formation of ligatures:
-$\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
-(no ligature in teletype) and $\mathsf{ff}$.\footnote{\llap{\textcolor{magenta}{\bfseries Changed!\kern3em}}Prior to 1.3i,
- italic corrections were added to the \string\mathnormal\ arguments.}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-\end{document}
-%</alphabets>
%<*dtx>
^^Afi^^Aendgroup % end of big \iffalse block including generated files
% Removal of the *sfixed found in tex/latex/mlmodern/omxmlmex.fd
@@ -1523,7 +1103,7 @@ $\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}}
\def\cmd@to@cs#1#2{\char\number`#2\relax}
% Here I am loading doc=v2 but formerly I was using ltxdoc via scrdoc
-% which I dropped at release 1.4l (2022-05-29) and without much
+% which I dropped at (etoc) release 1.4l (2022-05-29) and without much
% thinking I had kept this.
\DeclareRobustCommand\cs[1]{\texttt{\bslash#1}}
% As I may have the * active, or macro names with _ or ^, I should
@@ -1552,12 +1132,19 @@ $\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
% is set by geometry package and a4paper option from xint.tex file. So it
% seems I only need the hologo loading:
\usepackage{hologo}
-\DeclareRobustCommand*{\eTeX}{\hologo{eTeX}}%
-\DeclareRobustCommand*{\pdfLaTeX}{\hologo{pdfLaTeX}}%
-\DeclareRobustCommand*{\LuaTeX}{\hologo{LuaTeX}}%
-\DeclareRobustCommand*{\LuaLaTeX}{\hologo{LuaLaTeX}}%
-\DeclareRobustCommand*{\XeTeX}{\hologo{XeTeX}}%
-\DeclareRobustCommand*{\XeLaTeX}{\hologo{XeLaTeX}}%
+% 1.4 fix to some extra line spacing obviously caused by usage of the
+% \hologo macro.
+% I opened https://github.com/ho-tex/hologo/issues/9
+% after testing, actually only XeTeX and XeLaTeX are problematic
+% update: as per @u-fischer the problem goes away if graphicx package
+% is loaded, but we don't use it in this document...
+\def\msthologo#1{\smash{\hologo{#1}}}
+\DeclareRobustCommand*{\eTeX}{\msthologo{eTeX}}%
+\DeclareRobustCommand*{\pdfLaTeX}{\msthologo{pdfLaTeX}}%
+\DeclareRobustCommand*{\LuaTeX}{\msthologo{LuaTeX}}%
+\DeclareRobustCommand*{\LuaLaTeX}{\msthologo{LuaLaTeX}}%
+\DeclareRobustCommand*{\XeTeX}{\msthologo{XeTeX}}%
+\DeclareRobustCommand*{\XeLaTeX}{\msthologo{XeLaTeX}}%
%
\makeatother
%%% end of ltxdoc+srcdoc emulation from June 2022 xint.dtx,
@@ -1669,7 +1256,8 @@ pdfpagemode=UseOutlines,%
asterisk,%
defaultmathsizes,%
symbolmisc,symbolre,%
- LGRgreek+]{mathastext}
+ LGRgreek+,
+ activedigits]{mathastext}
\let\symbolbullet\bullet
\let\bullet\originalbullet
% This version will use the mlmodern font which is current
@@ -1790,15 +1378,15 @@ pdfpagemode=UseOutlines,%
\def\tt {\normalfont\ttfamily}
% mais bon, en fait je ne les utilise pas.
-% 2023/12/27 pas encore
-% \newcommand\mstrelease[1]{\hyperlink{v#1}{\texttt{#1}}}
-
% 2023/12/27
\DeclareRobustCommand\ctanpkg[1]
{\texorpdfstring{\href{https://ctan.org/pkg/#1}{#1}}{#1}}
-% bataille avec le rendu de l'entre 1.3zb du change log
-% \hyphenation{ncc-comma}
+% 2024/07/10
+% Attention que si la cible n'existe pas il n'y a AUCUN warning
+% dans le log...
+\newcommand\mstrelease[1]{\hyperlink{#1}{\texttt{#1}}}
+
\begin{document}
% \makeatletter\show\mv@normal\makeatother
% contient
@@ -1924,10 +1512,6 @@ the preamble:
\end{verbatim}
The package records which font is set up for text, at the time it is
loaded,
-%\footnote{alternatively it is possible to configure the text font after
- % loading \mst, and then the command \cs{Mathastext} will accomplish the
- % necessary changes to the font for letters, digits and a few extra ascii
- % symbols in math mode.}
and
then arranges things in order for this text font to be used in math mode as
well. So, with the preamble as above
@@ -1955,293 +1539,6 @@ The exact list of characters concerned by
As one can see, this is a very limited list! Some possibilities exist
regarding Greek letters and will be described later.
-\subsection{Miscellanea}
-
-Please note that most of this section was written many years ago (except for
-the item about math alphabets which was enriched with important background
-information and moved upfront at |1.3zb|). But it should still be valid!
-%
-\begin{description}
-
-\item[math alphabets:] Let us first recall fundamental facts of life, in the
- world of traditional PDF\TeX\ engine and \TeX\ fonts, as background for
- understanding what \mst does in this context, which will be explained next.
- People familiar with using Unicode engines and \ctanpkg{unicode-math}, please be
- aware that the semantics there of the \LaTeX\ math alphabet commands are
- \textbf{significantly} modified!
-\begin{snugshade}
-\begin{itemize}
-\item In the default \LaTeX\ set-up all five of \mathrm, \mathbf,
- \mathit, \mathsf and \mathtt tell \TeX\ to use for their arguments
- specific \texttt{OT1}-encoded fonts,
-\item if the document body uses, as will be the case probably with any
- language other than English or its variants, some other encoding such as
- \texttt{T1} for its fonts, there is no change whatsoever to the math
- configuration, indeed most font packages ignore it completely,
-\item it is thus a priori wrong to think of these commands as switching to
- some body text font, although letters within their scopes will act as in a
- text font, and in particular obey ligatures (this also applies to operator
- names defined by |amsmath|'s \cs{DeclareMathOperator} which are, with some
- extras not mentioned here, as using \mathrm),
-\item these commands are completely different in spirit from the \LaTeX\
- \cs{textrm}, \cs{textbf}, and others, which change only some font axis;
- indeed the math alphabet commands inherit from legacy Knuth's \cs{rm},
- \cs{bf}, and others which are complete font specifiers,
-\item in particular when nesting, it is the inner-most which wins,
-\item only mathematical characters (such as letters) which are declared to
- \TeX\ as being of ``variable family type'' react to being in the argument of
- a math alphabet command,
-\item lowercase Greek letters are by default in \LaTeX\ immune to math
- alphabets (so \verb|\mathrm{\pi}| induces no change in output), but the
- eleven uppercase Greek letters are of ``variable family type'' because they
- are picked in the \texttt{OT1}-encoded font also used for operator names
- (the one to which \mathrm maps), \emph{and they occupy the exact same
- slots in the \emph{\texttt{OML}}-encoding to which} \mathnormal maps! So
- in default \TeX, \verb|\mathnormal{\Gamma}| gives a slanted one. The slots
- occupied in \texttt{OML}-encoding by the lowercase Greek letters (to which
- encoding they are a priori assigned) give
- completely unrelated glyphs in the \texttt{OT1}-encoding, so it makes sense
- that the default \LaTeX\ declares them to not react to math alphabets.
- Notice though, that if \LaTeX\ had declared a \cs{mathnormalbold}, mapping
- to a bold \texttt{OML}-encoded font, it would have made sense to also have
- \cs{alpha}, \cs{beta}, etc... be of ``variable family type'',
-\item but of course then one should a priori never use |\mathbf{\pi}| for
- example, because the default \mathbf selects an \texttt{OT1}-encoded
- font, where there is no pi glyph whatsoever and in particular not at the slot of
- pi in the \texttt{OML} encoding (slot number 25)!
-\end{itemize}
-\end{snugshade}
-Please keep all the above in mind when trying to understand what \mst does
-with math alphabets. The most significant point described next naturally is that
-\mst will sync \mathnormal, \mathrm, \mathbf, \mathit, \mathsf and
-\mathtt to map to the \mst-ified body text fonts.
- \begin{itemize}
- \item \mathnormal, \mathrm, \mathbf, \mathit,
- \mathsf and \mathtt are modified to use the \mst-ified
- text fonts; this can be disabled via defaultalphabets and
- related individual options, but the package always provides
- \Mathnormal, \Mathrm, etc..., to match the \mst font
- configuration (\RLNote{changed:}{1.3za}prior to |1.3za|
- defaultalphabets and related options also caused the \mst
- alphabet commands not to be defined). Recall that there may
- arise a ``too many math alphabets'' error if too many of these
- commands are \emph{used} in the document:
- \emph{declaring} them is not by itself the cause of the error. See the
- \LaTeX\ news entry of its \texttt{2021-11-15} release for
- the counter \texttt{localmathalphabets} (with default value 2)
- which can be now be used if one hits such a difficulty.
- \item We define a new math alphabet command
- \mathnormalbold which gives direct access to
- the bold version of the \mathnormal alphabet
- (rather than using either the \cs{bm} command from
- the \ctanpkg{bm} package or the \cs{boldsymbol} command
- from the \ctanpkg{amsbsy} package). As it does not
- exist in the default \LaTeX{} math font set-up, this
- alphabet is \emph{not} subjected to the {subdued option} action.
-
-\item version \RightNote{1.2}|1.2| of \mst has extended the scope of the math
- alphabets to apply to non-alphabetical characters and to
- operator names. This respects the automatic white spaces
- added by \TeX{} around math symbols.
-\item The\RightNote{1.3i}
- extra skips around letters (see \autoref{sec:mathskips} and
- \autoref{sec:ic}) are removed in the scope of the math alphabets.
-
- \item Depending on options, further math alphabet commands
- are defined by the package: \MathEulerBold,
- \MathEuler, \MathPSymbol, and since |1.3x| under
- the LGRgreek family of options\RightNote{1.3x} also
- \mathgreekup and \mathgreekit. See
- \autoref{sec:newgreek}.
- \item \RightNote{1.3za}Addition of \mathgreekupbold and
- \mathgreekitbold under the LGRgreek family of options.
- \item With\RightNote{1.3za} the LGRgreek+ option
- which enhances Greek letters with a specific behavior when in the
- arguments of the \mathrm, \mathbf, etc..., math alphabet
- commands, this special behavior is not triggered by the \Mathrm,
- \Mathbf, et al., which are genuine unmodifed math alphabet commands. See
- \autoref{sec:newgreekplus}.
- \end{itemize}
-
-\item[the en-dash as minus sign:] very often the -
- character from the text font does not give a good
- minus sign. So by default, the package uses the
- en-dash sign \textendash{}. Use noendash to
- deactivate it. Starting with version |1.12| of the
- package this `en-dash as minus' should work in all
- encodings, including Unicode (if \ctanpkg{fontspec} has been
- loaded); see also |unicodeminus| for OpenType fonts.
-
-\item[amsmath:] \strut the behaviour of the
- \cs{DeclareMathOperator}\RightNote{1.3n} command
- of |amsmath| is modified by \mst for it to use the correct font.
- Additionally, release |1.3n| of \mst at long last also handles an extra
- operation done by |amsmath| for |'.:/-*| to be used in operator names
- without the extra math spacing.%
-%
-\footnote{To the experts: there is a long story here that \cs{newmcodes@}
- hardcodes the font, that it was not compatible with Unicode engines, that
- during some time (2013-2016) \texttt{lualatex-math} fixed that and very
- recently |amsopn.sty 2016/03/08 v2.02| also, so now \texttt{lualatex-math
- 1.6} does nothing as it is already fixed ``upstream'' in |amsopn.sty|, but
- anyhow in both cases, this still hardcoded the font, so finally \mst does
- the right thing from its point of view. See the code comments for more,
- there is an issue here with \LuaLaTeX\ not applying the curly right quote
- contrarily to \XeLaTeX.}
-%
-This customization is suppressed in subdued mode for the |normal| and |bold|
-math versions.
-
-\item[hbar:] the default \LaTeX\ definition of \hbar would in our context
- make use of the |h| of the current math font (so for us, it is also the text
- font, perhaps in italic shape), but with a bar accross the |h| from the
- original default math font for letters (usually |cmmi|). We redefine
- \cs{hbar} to use the text font macron accent (|\=|) as a mock math accent
- (this takes into account the italic option and is compatible with
- subscripts and superscripts).
-
- Since |1.12| \mst when dealing with a Unicode font sets the \cs{hbar}
- to be the character from the font having hexadecimal codepoint |U+0127|.
-
- Since |1.3u| the general 8bits font encoding is
- supported\RightNote{1.3u} (see discussion of the |mathaccents| option
- at end of this list for the shared limitations). Brief testing with
- various usual \TeX\ fonts shows that the vertical positioning of
- the bar isn't satisfying. It is planned to either add a parameter to
- adjust it or to modify altogether the mode of construction of the |\hbar|.
-
- Use nohbar to tell \mst not do provide its own |\hbar|.
-
-
-\item[dotless i and j:] by default the package redefines \cs{imath} and
- \cs{jmath} to give (in math mode) the dotless i and j (if it exists at
- all) from the text font.%
-%
-\footnote{\RightNote{1.3t}Since \texttt{1.12} it also redefined \cs{i} and
- \cs{j} for usability both in text and math modes, but this has been
- dropped at \texttt{1.3t}. Breaking change!}
-
-\item[asterisk:] versions of \mst earlier than |1.2d [2013/01/02]|
- did not do anything
- with the \cs{ast} control sequence but did pick the asterisk
- $*$ in the document text font, and this often was a rather
- silly thing as the text asterisk is generally in a raised
- position. Furthermore, the $*$ lost its status of a binary
- operator and was treated as an `ordinary' symbol. An option
- |noasterisk| turned this feature off. Starting with |1.2d|,
- the |noasterisk| option is deprecated and the new default is
- to do nothing. But when option asterisk is received by the
- package, then both \cs{ast} and $*$ are simultaneously
- modified to use (as binary operators) the text asterisk,
- slightly lowered. The amount of lowering\footnote{with the
- option \texttt{symbolmisc}, the asterisk is picked from
- the Symbol font, and the amount of lowering is
- non-customizable; however if a math alphabet command is
- used, the asterisk is then again from a text font and the
- lowering will be as specified by \cs{MTlowerast}.} is
- decided by the mandatory argument to the command
- \csb{MTlowerast}\marg{dimen}. The package initially does
- \cs{MTlowerast}|{.3\height}|. Doing \cs{MTlowerast}|{.5ex}| is
- not a good idea as it does not scale properly in the script
- and scriptscript styles. With an argument given as a
- multiple of |\height|, the asterisk will behave as expected
- in subscripts and subscripts of subscripts. But $*$ is now
- `mathematically active'\thinspace\footnote{in a hopefully
- safe way, for example {\ttfamily\$\string\label\{eq*1\}\$}
- is ok.} and |$R^*$| or |$R^\ast$| \emph{must} be input as
- |$R^{*}$| and |$R^{\ast}$|. Furthermore, they will obey the
- math alphabet commands.
-
-\item[\XeTeX{} and \LuaLaTeX{}:] regarding the en-dash and the
- dotless i and j, the package is now under the Unicode engines
- compatible not only with the ``Unicode'' \LaTeX\ font encodings
- EU1 (\XeTeX, old fontspec), EU2 (\LuaLaTeX, old fontspec), TU
- (\XeTeX\ and \LuaLaTeX, modern fontspec), but also with
- traditional 8bits-encodings declared as a |fontenc|
- option.\RightNote{1.3u}
-
-% obsolete
- % Formerly, with a Unicode engine,
- % only OT1, T1 and LY1 were supported by \mst as the 8bit encoding
- % of the document text font, regarding the minus as en-dash and
- % the dotless i and j.
-
- \item[fontspec:] one more note to users of
-\XeTeX{}/\LuaLaTeX{} with \ctanpkg{fontspec}:\newline
-\fbox{it has to be
-loaded {with the option} |no-math|},
-and \emph{before} \mst.
-
-\item[vec accent:] The default \cs{vec} accent is not
- appropriate for upright letters, so \mst
- provides a \cs{fouriervec} which takes its glyph in a
- Fourier font, and an Ersatz \cs{pmvec}
- which is reasonably good looking on upright letters
- and works with the \cs{rightarrow} glyph. Contrarily
- to version |1.0|, the default \cs{vec} is not
- overwritten with \cs{fouriervec}. And contrarily to
- version |1.1|, one now needs to pass the option
- fouriervec to have the math accent \cs{fouriervec}
- defined by the package.%
-%
-\footnote{this costs a math family, as I never came back to this to try to
- do otherwise.}
-
-\item[math accents:] if option mathaccents is used then \mst attempts to let
- the math accents |\acute|, |\grave|, etc... use the suitable glyphs from the
- text font. Prior to |1.3u| only |OT1|, |T1|, and |LY1| were supported (via
- hardcoded slots). It should now work with any 8bits font
- encoding\RightNote{1.3u} having been declared as an option to the
- \ctanpkg{fontenc} package (and of course providing the ten needed text accents which
- will mock math accents).%
- %
- \footnote{The code will raise low-level \TeX\ errors if the user attempts to
- use an 8bits font encoding whose \LaTeX\ definition file is lacking the
- suitable uses of \cs{DeclareTextAccent} or if the low level \LaTeX\ macro
- implementation of text accents changes significantly; in such cases please
- report the problem to the author, so that it can be documented in future
- releases!}
-
- The |\vec| math accent is not handled here, as it is not available in the
- usual 8bits font encodings. See the fouriervec option or the \pmvec
- command.
-
- The math accents obey the subdued option\RightNote{1.3u}
- and will change in sync with the \mst-ified text font used in
- each non subdued math version.
-
- (Very) brief testing during |1.3u| development with \XeTeX\ and \LuaTeX\ let
- the author conclude that usage with the \cs{Umathaccent} primitive of an
- OpenType accent glyph slot (which in the text font is for usage as a
- postpended combining character) gives definitely bad horizontal placements
- for both engines (each in its own way). Thus, the redefinitions of accents
- for a \mst declared math version with an OpenType font is by default
- canceled.%
-%
-\footnote{I.e., the \cs{grave} etc... control sequences will, in math versions
- with an OpenType \mst-ified font, expand to macros holding their initial
- meanings, unmodified by \mst, which was in force at the
- |\string\begin\string{document\string}|.}
-%
- Use unimathaccents to force usage of the OpenType font text
- accents glyph slots with the \cs{Umathaccent} primitive. Expert users are
- invited to check out the code and to contribute suggestions if some extras
- can improve it.
-
-\item[varying font encodings:] the very first release of \mst dealt with only
- one font; very soon thereafter it acquired the capacity to define multiple
- math versions, each one using its own text font. But, as was documented at
- this location formerly, various encoding dependent decisions were done once
- and for all during package loading.
-
- This meant in particular that the minus sign (using the text endash), the
- dotless |i| and |j|, the |\hbar|, the math accents were all set up for only
- one unique font encoding. It was thus recommended that all math versions
- share the same font encoding.
-
- The |1.3u| release has lifted this restriction.\RightNote{1.3u}
-\end{description}
-
\subsection{Examples}
\label{sec:examples}
@@ -2473,7 +1770,7 @@ versions.%
% \href{http://mirrors.ctan.org/help/Catalogue/entries/cbgreek-complete.html}{cbfonts},
% \href{http://mirrors.ctan.org/help/Catalogue/entries/txfontsb.html}{txfontsb}.
-\emph{Since |1.3x| this documentation uses globally the |mlmodern|%
+\emph{Since \mstrelease{1.3y} this documentation uses globally the |mlmodern|%
%
\footnote{Daniel Benjamin \textsc{Miller}, \emph{A blacker Type 1 version of Computer Modern, with multilingual
support}, \url{https://ctan.org/pkg/mlmodern}. I have added to the preamble
@@ -2500,7 +1797,7 @@ reasons of PDF file size.}%
\subsubsection{The \blueit{italic} option}
-In the initial version |1.0|, the Latin letters in
+In the initial version \mstrelease{1.0}, the Latin letters in
mathematical mode assumed the exact same shape as in
text mode, and this meant, generally speaking, that
they would turn up upright. Doing this gives a very
@@ -2510,15 +1807,15 @@ one of the design goals of \mst.
Nevertheless, soon after I posted the initial version
of the package to CTAN, I was overwhelmed by
-numerous\footnote{this means ``more then one.''}
+numerous\footnote{this means ``more than one.''}
questions\footnote{I thank in particular
Tariq~\textsc{Perwez} and Kevin~\textsc{Klement} for
their kind remarks (chronological order).} on how to
have the letters be in italic shape.
-The default is still, as in version |1.0|, for everything to be in
+The default is still, as in version \mstrelease{1.0}, for everything to be in
upright shape, but it suffices to pass to the package the option
-italic\RightNote{1.1} to let the Latin letters in math mode be
+italic\RightNote{\mstrelease{1.1}} to let the Latin letters in math mode be
in italic shape.%
%
\footnote{more precisely stated, the value of \cs{itdefault}
@@ -2547,7 +1844,7 @@ the \ctanpkg{moresize} package. To cancel all of this use option
\subsubsection[The subdued option]{The \blueit{subdued} option}\label{sec:subdued}
-This option was introduced in |v1.15|.\RightNote{1.15} It provides a manner to
+This option was introduced in |v1.15|.\RightNote{\mstrelease{1.15}} It provides a manner to
switch on the \mst-\emph{ification} only for limited portions of
the document, with the help of the mechanism of math versions. Without the
subdued option, the \emph{mathastextification} applies by default
@@ -2560,7 +1857,7 @@ Despite some limitations I will now partially describe, the subdued option
has its utility, as I think is illustrated enough by the examples given at the
start of this document and it works reasonably well.
-\begin{framed}
+\begin{shaded*}
\mst was not written initially in order to allow its action to
be completely canceled. It does not store (all) mathcodes nor
does it set them (all) when changing math versions; only that would
@@ -2569,7 +1866,7 @@ start of this document and it works reasonably well.
official interface to math mode, as it is almost entirely
preamble only).
- Releases |1.3t| and |1.3u| do this kind of things to maintain
+ Releases \mstrelease{1.3t} and \mstrelease{1.3u} do this kind of things to maintain
usability across multiple \mst-ified math versions of characters
which are obviously font encoding dependent such as the minus
sign as en-dash (or unicode minus), the dotless i, the |\hbar|,
@@ -2581,7 +1878,7 @@ start of this document and it works reasonably well.
mode and to multiple math versions amounts to some kind of a
kludge, added to an initial design which handled a single unique
text font.
-\end{framed}
+\end{shaded*}
To get the displayed math
(almost) as if \mst had not been loaded, one must also
@@ -2590,7 +1887,7 @@ as, for example, the colon, the dot, and the minus sign belong
in the default \LaTeX{} math mode set-up to three distinct fonts
whereas \mst will pick (even subdued) the three of them in the same
font,%
-\footnote{\RightNote{1.3t}The minus sign is now perfectly subdued,
+\footnote{\RightNote{\mstrelease{1.3t}}The minus sign is now perfectly subdued,
because its original mathcode is stored and restored; this was only
way to handle the case with Unicode engines
where the math operator font is in a classic
@@ -2604,13 +1901,13 @@ mathcodes, so to
be on the safe side one needs the basic option which limits the
mathastextification to letters and digits.%
%
-\footnote{\RightNote{1.3d}The subdued mode does extinguish
+\footnote{\RightNote{\mstrelease{1.3d}}The subdued mode does extinguish
in the normal and bold math versions the action of options selfGreek,
eulergreek, and symbolgreek (previously only LGRgreek was
subdue-able).}
-\footnote{\RightNote{1.3t}The \texttt{\string\imath} and
+\footnote{\RightNote{\mstrelease{1.3t}}The \texttt{\string\imath} and
\texttt{\string\jmath} now obey the subdued regime.}
-\footnote{\RightNote{1.3u}Also \texttt{\string\hbar}
+\footnote{\RightNote{\mstrelease{1.3u}}Also \texttt{\string\hbar}
and the math accents (see mathaccents option) obey the subdued regime.}
%
Even then, in some circumstances, this may not suffice: for example the
@@ -2644,80 +1941,192 @@ customization of Greek letters. The command \MTcustomgreek reenables the
customization done by \mst, if it was loaded with the LGRgreek or one of the
other Greek related options.
-\begin{framed}
- Release |1.3x| has added important new aspects to the handling of Greek
+\begin{shaded*}
+ Release \mstrelease{1.3y} has added important new aspects to the handling of Greek
letters via the LGRgreek option. Make sure to read the \autoref{sec:newgreek}.
-\end{framed}
+\end{shaded*}
-\subsection{More miscellanea}
+\subsection{Miscellanea}
-This may repeat information already given.
+Please note that most material to be found in this section was written many
+years ago (except the two subsections on frenchmath on one hand and
+intervals on the other hand). But it should still be valid!
+
+Ultimately most information here should be moved into the
+reference sections \autoref{sec:cmd} and \autoref{sec:opt}, and only some
+generalities should be kept here.
+
+\subsubsection{Load \mst always last}
+
+The ``large'' math symbols are not modified in any way by \mst. Only loading
+some math font packages such as \ctanpkg{fourier}, \ctanpkg{kpfonts}, \ctanpkg{mathabx}, \ctanpkg{mathdesign},
+\ctanpkg{txfonts}, \ctanpkg{newtxmath}, \ctanpkg{libertinust1math}, others\dots{} will change them. Think of loading these
+packages before \mst, else they might undo what \mst did.
+
+More generally any package (such as \ctanpkg{amsmath}) dealing with math mode should be
+loaded \emph{before} \mst.
\subsubsection{Avoid \texorpdfstring{\texttt{OT1}}{OT1} encoding}
- We specified in our minimal working example a |T1| encoding (|LY1| would
- have been ok, too) because the default |OT1| does not have the
+ The default |OT1| does not have the
{\color{joli}\DeleteShortVerb{\|}
$\mathord{<}\,\mathord{>}\,\mathord{|}$\,\{\,\}} and
{\color{joli}$\backslash$\MakeShortVerb{\|}} glyphs. If
\mst detects |OT1| as the default encoding it will leave these characters to
- their defaults from the math fonts.\footnote{the subdued option, described next,
+ their defaults from the math fonts.%
+%
+\footnote{The subdued option, described next,
acts a bit otherwise, it forces, contrarily to its usual low-key character,
the replacement of |OT1| by |T1| for the fonts ultimately used with letters
and digits in math mode.}
-\begin{framed}
+%
+\begin{shaded*}
If \mst detects the obsolete |OT1| encoding it does not do anything with
\DeleteShortVerb{\|}<, >, |, \{, and \} which (except for monospace fonts)
are not available in that encoding.\MakeShortVerb{\|}
To fully benefit from \mst it is
recommended to use some other encoding having these glyphs such as |T1| or
|LY1|.
-\end{framed}
+\end{shaded*}
\subsubsection{Derivative, minus, asterisk}
The text characters {}'{} and {}-{} are not used, and the asterisk is
-done optionally:
+done only optionally:
\begin{itemize}
\item the derivative sign ${}'$ is left to its default as the text font
- glyph {}'{} is not, as a rule, a satisfying alternative.\footnote{|v1.2| adds
+ glyph {}'{} is not, as a rule, a satisfying alternative.%
+%
+\footnote{|v1.2| adds
a customizable tiny space before ${}'$ to separate it from the previous
letter, this is really needed when using upright letters in math mode with
the CM derivative glyph.{\MTversion{upright}\sffamily\MTprimeskip{.5mu}%
Compare $f'$ with \MTprimeskip{0mu}$f'$.} }
+
\item for the minus sign \mst uses the endash character
- \textendash, if available, and not the hyphen character -.%
-%
-\footnote{see the unicodeminus option if using an OpenType font.}
-%
-\item the asterisk option is mandatory for \mst to replace the binary math
- operator $*$ (and the equivalent control sequence \cs{ast}) with a version
- which uses the text asterisk * suitably lowered\footnote{the amount of
- lowering can be customized.} (and with the correct spaces around it as
- binary operator). The reason is that after this inputs such as |$R^*$|
- or |$R^\ast$| raise errors and \emph{must} be written |$R^{*}$| or |$R^{\ast}$|.
+ \textendash, if available, and not the hyphen character -. With
+an OpenType font, \mst uses per default the EN DASH U+2013 (see unicodeminus).
+
+\item the asterisk option is required for \mst to use the text font for the
+ binary infix math operator $*$ and
+ the control sequence \cs{ast}. They will use then the text asterisk
+ * suitably lowered, and with the correct spaces around it as binary
+ operator.
+ \begin{snugshade}
+ Attention that with this option, inputs such as |$R^*$| or |$R^\ast$|
+ raise errors and \emph{must} be replaced by |$R^{*}$|, respectively
+ |$R^{\ast}$|.
+ \end{snugshade}
\end{itemize}
+\subsubsection{Large symbols and delimiters}
+
Nothing is changed to the ``large'' math symbols, except for
$\MToriginalprod$ and $\MToriginalsum$ in inline math which, like here:
$\prod\sum$, will be taken from the Symbol Font if option symbolmisc
was used.
The left and right delimiters are taken from
-the text font only for the base size: any |\big|, |\bigl|, |\bigr|,
-etc\dots reverts to the original math symbols.
+the text font only for the base size: any one of |\big|, |\bigl|, |\bigr|,
+etc\dots will trigger the use of the original math symbols.
+
+\subsubsection{amsmath}
+The behavior of the
+ \cs{DeclareMathOperator}\RightNote{\mstrelease{1.3n}} command
+ of |amsmath| is modified by \mst for it to use the correct font.
+ Additionally, release \mstrelease{1.3n} of \mst at long last also handles an extra
+ operation done by |amsmath| for |'.:/-*| to be used in operator names
+ without the extra math spacing.%
+%
+\footnote{To the experts: there is a long story here that \cs{newmcodes@}
+ hardcodes the font, that it was not compatible with Unicode engines, that
+ during some time (2013-2016) \texttt{lualatex-math} fixed that and very
+ recently |amsopn.sty 2016/03/08 v2.02| also, so now \texttt{lualatex-math
+ 1.6} does nothing as it is already fixed ``upstream'' in |amsopn.sty|, but
+ anyhow in both cases, this still hardcoded the font, so finally \mst does
+ the right thing from its point of view. See the code comments for more,
+ there is an issue here with \LuaLaTeX\ not applying the curly right quote
+ contrarily to \XeLaTeX.}
+%
+This customization is suppressed in subdued mode for the |normal| and |bold|
+math versions.
+\subsubsection{hbar}
+The default \LaTeX\ definition of \hbar would in our context
+ make use of the |h| of the current math font (so for us, it is also the text
+ font, perhaps in italic shape), but with a bar accross the |h| from the
+ original default math font for letters (usually |cmmi|). We redefine
+ \cs{hbar} to use the text font macron accent (|\=|) as a mock math accent
+ (this takes into account the italic option and is compatible with
+ subscripts and superscripts).
-\subsubsection{Load \mst always last}
+ Since \mstrelease{1.12} \mst when dealing with a Unicode font sets the \cs{hbar}
+ to be the character from the font having hexadecimal codepoint |U+0127|.
-The ``large'' math symbols are not modified in any way by \mst. Only loading
-some math font packages such as \ctanpkg{fourier}, \ctanpkg{kpfonts}, \ctanpkg{mathabx}, \ctanpkg{mathdesign},
-\ctanpkg{txfonts}, \ctanpkg{newtxmath}, etc\dots{} will change them. Think of loading these
-packages before \mst, else they might undo what \mst did.
+ Since \mstrelease{1.3u} the general 8bits font encoding is
+ supported\RightNote{\mstrelease{1.3u}} (see discussion of the |mathaccents| option
+ at end of this list for the shared limitations). Brief testing with
+ various usual \TeX\ fonts shows that the vertical positioning of
+ the bar isn't satisfying. It is planned to either add a parameter to
+ adjust it or to modify altogether the mode of construction of the |\hbar|.
-More generally any package (such as \ctanpkg{amsmath}) dealing with math mode should be
-loaded \emph{before} \mst.
+ Use nohbar to tell \mst not do provide its own |\hbar|.
+
+
+\subsubsection{Dotless i and j}
+By default the package redefines \cs{imath} and
+ \cs{jmath} to give (in math mode) the dotless i and j (if it exists at
+ all) from the text font.%
+
+ \subsubsection{fontspec}
+
+\fbox{\ctanpkg{fontspec}
+has to be
+loaded {with the option} |no-math|},
+\emph{and before} \mst.
+
+\subsubsection{vec accent}
+
+The default \cs{vec} accent is not appropriate for upright letters, so \mst
+provides under option fouriervec a math accent control sequence
+\cs{fouriervec} which takes its glyph in a Fourier font. A poorman Ersatz
+\cs{pmvec} is always available ; it is reasonably good looking on upright
+letters and works with the \cs{rightarrow} glyph.
+
+\subsubsection{math accents}
+If option mathaccents is used then \mst attempts to let
+ the math accents |\acute|, |\grave|, etc... use the suitable glyphs from the
+ text font.
+
+ The |\vec| math accent is not handled here, as it is not available in the
+ usual 8bits font encodings. See the fouriervec option or the \pmvec
+ command.
+
+ The math accents obey the subdued option\RightNote{\mstrelease{1.3u}}
+ and will change in sync with the \mst-ified text font used in
+ each non subdued math version.
+
+\begin{footnotesize}
+ (Very) brief testing during \mstrelease{1.3u} development with \XeTeX\ and \LuaTeX\ let
+ the author conclude that usage with the \cs{Umathaccent} primitive of an
+ OpenType accent glyph slot (which in the text font is for usage as a
+ postpended combining character) gives definitely bad horizontal placements
+ for both engines (each in its own way). Thus, the redefinitions of accents
+ for a \mst declared math version with an OpenType font is by default
+ canceled.%
+%
+\footnote{I.e., the \cs{grave} etc... control sequences will, in math versions
+ with an OpenType \mst-ified font, expand to macros holding their initial
+ meanings, unmodified by \mst, which was in force at the
+ |\string\begin\string{document\string}|.}
+%
+ Use unimathaccents to force usage of the OpenType font text
+ accents glyph slots with the \cs{Umathaccent} primitive. Expert users are
+ invited to check out the code and to contribute suggestions if some extras
+ can improve it.\par
+\end{footnotesize}
+
\subsubsection{Sans serif in math}
@@ -2733,8 +2142,6 @@ text.
\subsubsection{\mst with \ctanpkg{beamer}}\label{ssec:beamer}
-%\noindent\llap{\textcolor{green}{\bfseries 2015/02/26}\hspace{1em}}
-
Starting
with release |3.34| of \ctanpkg{beamer}%
%
@@ -2791,24 +2198,9 @@ Antoine~\textsc{Missier}:
\item and load \mst afterwards (with possibly some font packages loaded in-between), passing it
the option frenchmath*.
\end{itemize}
-% \begin{footnotesize}
-% The\RightNote{1.3zb} release |2.7| dated |2023/12/23| of
-% \ctanpkg{frenchmath} required \mst to add a compatiblity patch and modify
-% the frenchmath* option. The above instructions cause a build crash with
-% |2.7| \ctanpkg{frenchmath} and \mst |1.3za| and earlier. One must use \mst
-% |1.3zb| or later.\par
-% \end{footnotesize}
-% Also, \ctanpkg{frenchmath} must be at least at
-% version |2.7| of |2023/12/23|.%
Limited testing indicated that the combination of the two packages (using the
options as indicated above) works satisfactorily.
-% as expected but that some adjustments may be needed for some of
-% the macros defined by \ctanpkg{frenchmath}: we
-% observed in particular that the |\paral| command (which produces
-% $\mathrel{/\!\!/}$) may not work well if the $/$ is picked up from the text
-% font due to \mst (alternative could be for most text fonts
-% |\def\paral{\mathrel{//}}|),
There may be some minor adjustments to do, as the \mst-ified math font may
cause issues to some of
the \ctanpkg{frenchmath} macros: for exemple \cs{Oijk} may not work
@@ -2886,9 +2278,9 @@ respectively, which make
the comma (to some extent) `intelligent', i.e. decide on the spacing type
(ordinary or punctuation) depending on next token. Do not load directly the packages
but simply use the corresponding option and \mst will do the loading and take
-appropriate needed measures for compatibility. The\RightNote{1.3zb} decimalcomma option is
+appropriate needed measures for compatibility. The\RightNote{\mstrelease{1.3zb}} decimalcomma option is
included in the frenchmath* option, and the ncccomma
-option is included in the frenchmath+ option.\RightNote{1.3zb}
+option is included in the frenchmath+ option.\RightNote{\mstrelease{1.3zb}}
Let's give another example of usage of \ctanpkg{mathtools} here to define a
macro for integer ranges:
@@ -2924,6 +2316,417 @@ multiple math versions. Read the fine print below for some limitations though.
\mst actions on square brackets (and parentheses).\par
\end{footnotesize}
+\subsubsection{Unicode engines}
+
+\mst is minimally Unicode aware since \mstrelease{1.12} and can be used with \XeTeX{} or
+\LuaTeX{}. Starting with release \mstrelease{1.3}, it needs |luatex| to be at least
+as recent as the one which was provided with the TL2013 distribution.
+
+However \mst applies only to (a subset of) the |32-127| ascii range, and
+optionally to Greek letters, but for the latter only if provided via ``\TeX\
+fonts'' such as Euler, Symbol or LGR-encoded fonts.
+It does not know how to use a given Unicode font simultaneously for Latin and
+Greek letters.
+
+Thus, first consider much better alternatives:
+\begin{itemize}
+\item Since 2018, the package \ctanpkg{mathfont}%
+%
+\footnote{Conrad \textsc{Kosowsky}, \emph{Use TrueType and OpenType fonts in math mode}
+\url{https://ctan.org/pkg/mathfont}.}
+%
+adapts Unicode text fonts to usage in math mode. It works with both \XeTeX\
+and \LuaTeX.
+\item For \XeTeX\ only, \ctanpkg{mathspec}%
+%
+\footnote{Andrew Gilbert \textsc{Moschou}, \emph{Specify arbitrary fonts for mathematics in \XeTeX}
+\url{https://ctan.org/pkg/mathspec}.}
+%
+also allows usage of arbitrary text fonts in mathematics.
+\item and of course
+\ctanpkg{unicode-math}%
+%
+\footnote{Will \textsc{Robertson}, et al., \emph{Unicode mathematics with
+ support for XeTeX and LuaTeX} \url{https://ctan.org/pkg/unicode-math}.}
+%
+is the standard package for using OpenType fonts which are equipped with the needed extra
+support being used in \TeX\ math mode.
+\end{itemize}
+
+If using any one of the above you probably don't need, don't want, and should
+not use \mst.
+
+Let me insist that \mst has not been tested in any systematic
+manner under the Unicode engines; and that it is expected to be most definitely
+incompatible with \ctanpkg{unicode-math}, although your mileage may vary and some
+features may appear to work.
+
+When using \mst with either \XeTeX{} or \LuaTeX{} it is recommended to use the
+\ctanpkg{fontspec} package (see remark below on \cs{encodingdefault}). Furthermore,
+if using \ctanpkg{fontspec} it is \emph{necessary} to load it with its
+|no-math| option, and this \emph{must} happen before loading \mst.
+\begin{shaded*}
+\begin{itemize}[label=$\bullet$, leftmargin=1em]
+\item
+ Use \ctanpkg{fontspec} with its
+ \emph{no-math} option, and load it \emph{prior} to \mst. As some packages
+ load \ctanpkg{fontspec} themselves (for example |polyglossia|), a
+ \centeredline{|\PassOptionsToPackage{no-math}{fontspec}|} early in the
+ preamble might be needed.
+
+\item
+ The \ctanpkg{amsmath} package, if used, \emph{must} be loaded \emph{prior} to \mst.
+
+\item
+ Under |lualatex| engine, it is recommended to also load the package
+ \ctanpkg{lualatex-math}.% Please check its documentation as possibly it has now
+ % been incorporated upstream (I am not following up on the situation).
+\end{itemize}
+\end{shaded*}
+
+I already mentioned in the \autoref{sec:ic} the fact that
+the italic corrections were not available for OpenType fonts
+under the \XeTeX{} engine and only partially available for the
+\LuaTeX{} engine, with the result that the spacings in math
+mode when using for the letters an upright text font will be
+less satisfying than with the standard PDF\TeX{} engine (the
+OpenType fonts not being usable with the latter engine, this is
+not a criterion of choice anyhow).
+
+To define math versions when using unicode fonts, use \ctanpkg{fontspec}'s
+\cs{setmainfont} before the \cs{Mathastext}\oarg{version} command, or simply
+before loading \mst for the default math versions.
+
+It is possible to mix usage of Unicode fonts and classical \TeX{}
+fonts. All used 8bits font encoding must have been passed as
+options to the \ctanpkg{fontenc} package.
+
+\subsubsection{The unicodeminus option}
+
+For legacy reason, \mst uses by default the |EN DASH U+2013| for the minus
+sign in math mode, if the font is determined to be a ``Unicode'' font.
+
+There is now the unicodeminus\RightNote{\mstrelease{1.3q}} to use rather
+% BORDEL DE BORDEL DE FAIT CHIER \verb ET Text for \verb command ended by end
+% of line. je l'ai patch dans etoc et xint mais pas ici encore.
+|MINUS SIGN U+2212|.%
+\footnote{Thanks to Tobias~\textsc{Brink} who asked for this feature.}
+%
+Check \hyperref[nicodeminus]{\ttfamily\hyphenchar\font=189 its documentation}
+on page \pageref{nicodeminus}.
+
+\subsubsection{Two examples with OpenType fonts}
+
+\begingroup\def\MacroFont{\normalfont\footnotesize\ttfamily}
+I include
+here two examples which compiled successfully (a long time ago!) with \XeTeX{} and
+\LuaLaTeX{}, the first one on a Linux machine, the second one on a Mac
+OS X machine.
+\begin{verbatim}
+\documentclass{article}
+\usepackage[hscale=0.8]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage[subdued,italic]{mathastext}
+\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
+\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
+\setmainfont[Color=00FF00]{DejaVu Serif} \Mathastext[DejaVu]
+\MTDeclareVersion{times}{T1}{ptm}{m}{n}
+\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
+\begin{document}
+\newcommand\TEST[1]{\MTversion{#1}%
+\begin{multicols}{2}
+\hbox to\columnwidth{\hbox to\columnwidth{\hfil
+ $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
+ \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
+ \centerline{ $0123456789$ }
+ \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+ \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
+\columnbreak
+ \centerline{ abcdefghijklmnopqrstuvwxyz }
+ \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
+ \centerline{ 0123456789}
+ \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+ \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+\end{multicols}}
+\begin{multicols}{2}
+ \centerline{\textbf{math mode}}
+\columnbreak
+ \centerline{ \textbf{text} }
+\end{multicols}
+\TEST{DejaVu}\TEST{Verdana}\TEST{times}\TEST{Andale}
+\TEST{Arial}\TEST{bold}\TEST{normal}
+\end{document}
+\end{verbatim}
+And now the same thing with fonts available on Mac OS X:
+\begin{verbatim}
+\documentclass{article}
+\usepackage[hscale=0.8]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage[subdued,italic]{mathastext}
+\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
+\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
+\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
+\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
+\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
+\begin{document}
+ --- copy here the code from the previous example ---
+\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
+\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}
+\end{document}
+\end{verbatim}
+\endgroup
+
+
+\subsubsection{Compatibility with other packages}\label{sec:compat}
+
+Regarding the namespace of the package almost all internally used macros use
+\cs{mst@} prefix. Almost all user commands have \cs{MT} prefix, the oldest ones
+may use \cs{Mathastext} or variants.%
+%
+\footnote{It is only years after initial release that I became aware that
+package \ctanpkg{mathtools} used \cs{MT\string_} prefix (with an underscore as
+shown) for most internal constructs, and sometimes \cs{MT@}, and those can not
+clash with our \cs{MT[a-z\string|A-Z]} for public commands and \cs{mst@} for
+internal macros. They do have however user commands \cs{MTFlushSpaceAbove} and
+\cs{MTFlushSpaceBelow}, but nothing else hence some retroactive relief.}
+
+Compatibility issues are often questions of who decides last. They are
+naturally to be expected with packages dealing with the math setting. The fix
+is simply to load \mst last. In particular one should \emph{always} load \mst
+\emph{after} \ctanpkg{amsmath} (this is especially needed with Unicode engines
+but applies in general as well).
+
+Any definition made in a package loaded before \mst of the font to be
+used for letters or for the common characters in the |ascii| basic range
+will be overruled by the loading of \mst (this includes the case
+when the earlier package had made the character `mathematically active').
+Conversely most of the set-up done by \mst may well be overruled by
+packages loaded later which do math related things.
+
+Starting with version \mstrelease{1.2}, \mst makes some characters
+`mathematically active' to achieve certain effects: automatic insertion of the
+italic corrections when using an upright text font in math (\autoref{sec:ic}),
+extended scope of the math alphabet commands which now apply to non-letter
+symbols (\autoref{sec:mathxx}; and also to math operator names, but this is
+much easier to achieve). And the (already mathematically active) right quote
+is modified to have some extra space added before the derivative glyph ${}'$
+(see \MTprimeskip).
+
+This mathematical activation is compatible with the \cs{label} and \cs{ref}
+commands in and outside of math mode.
+
+But a difficulty arises when some other package has
+made the character `catcode active' everywhere in the document. If it is
+detected for such a character that \mst wishes to make `mathematically active'
+that it is aready `catcode active', \mst then checks if it is handling a Babel
+shorthand. If yes, it then hacks into \ctanpkg{babel} support macros for that
+character to let it do what it desires it to do in math mode. And it does not
+make the character mathematically active, to the contrary it makes sure
+that the character is \emph{not} mathematically active.
+
+\begin{footnotesize}
+ This last paragraph applies to the characters
+ {{;}\,{,}\,{:}\,{!}\,{?}\,{+}\,{\textendash}\,{=}\,{<}\,{>}\,{(}\,{)}\,{[}\,{]},*}
+ mentioned in \autoref{sec:mathxx} as `hard non-letters'. The right tick
+ (which is already mathematically active per default) is also handled via a
+ similar process, and in particular is tested for being a Babel shorthand
+ (which happens in particular with the Spanish language |activeacute| option).
+
+ The reason for avoiding in general for a catcode active character to be at
+ same time mathematically active is illustrated in next shaded box.
+
+ In the case of the Spanish active |'|, the advantage of \mst intervention to
+ reset its mathcode is that in case of a faulty input as a curly right tick
+ |U+8217| ', which \LaTeX{} will map to \cs{textquoteright} which itself
+ gives the catcode 12 |'|, it will show as curly quote in output not as prime
+ glyph, as \mst removes its mathematical activation. This complements the
+ \LaTeX{} warnings about \cs{textquoteright} being invalid in math mode.
+
+ The ascii letters can not have been made active by Babel interface (see code
+ comments of \cs{mst@do@activecase}) so if an ascii letter is catcode active
+ when \mst examines it, nothing will change to its meaning.
+
+ \CHANGED{\mstrelease{1.4}}At \mstrelease{1.4} these actions are done for
+ ascii letters at loading of the package or via \csb{MTmathactiveletters},
+ which is itself done by \csb{MTversion} when entering non-subdued math
+ version. Check documentation of \csb{MTmathactiveletters} for some relevant
+ details.\par
+\end{footnotesize}
+
+\begin{shaded*}
+\footnotesize
+On matters of \emph{mathematical} versus \emph{catcode} active character
+tokens, here is some code, not involving \mst, that you should \textbf{not}
+try at home:
+\begin{verbatim}
+ \documentclass{article}
+ \usepackage[french]{babel}
+ \usepackage{mathtools}\mathtoolsset{centercolon}
+ \begin{document}
+ $:$
+ \end{document}
+\end{verbatim}
+\fbox{DO NOT DO THIS AT HOME}\thinspace: it creates (with |pdflatex|) an infinite
+loop.
+% %
+% \footnote{This seems to still be the case with Babel |3.9f| and
+% frenchb.ldf |2.6e|, as tested on Sep. 2, 2013. Again tested with up-to-date
+% TL2015 Jan. 15, 2016 with same result. Again tested July 11, 2024 with
+% up-to-date TL2024 with the
+% same result.}
+% %
+This is due
+to the fact that the colon is simultaneously active (this is made by
+\ctanpkg{babel-french} at begin document) and mathematically active (done by
+\ctanpkg{mathtools} in the preamble). The interaction gives an infinite loop.
+%
+% Such a
+% situation will be cured by \mst, even loaded before \ctanpkg{mathtools},
+% \emph{if} use is made of \MTnonlettersobeymathxx.
+%
+% At each math formula
+% \mst will detect that Babel has activated the colon, and will cancel the
+% mathematical activation (the precise definition done by \ctanpkg{mathtools} was
+% already lost at begin document due to overwriting by \ctanpkg{babel} but the fact that
+% the character was mathematically active remained true).
+\par
+\end{shaded*}
+
+
+ Regarding mathematical activation, an incompatibility of
+ another type arose with \ctanpkg{amsmath}. To fix it, \mst now replaces
+ an inner macro of \ctanpkg{amsmath}
+ (\cs{resetMathstrut@}) with its own version.\\
+ \null\hspace{1cm}\fbox{Always load \ctanpkg{amsmath} before \mst.}
+
+\begin{footnotesize}
+ Actually this last commandment was already made necessary by the use of the
+ text endash to represent the minus sign in math mode, and, especially for
+ Unicode engines, some aspects of the \cs{DeclareMathOperator} macro from
+ \ctanpkg{amsmath}.\par
+\end{footnotesize}
+
+
+
+ \begin{shaded*}
+ \textcolor{magenta}{\bfseries New with 1.3i:} \mst patches |\url| of
+ packages \ctanpkg{url} and \ctanpkg{hyperref}, and also |\nolinkurl|, to force them
+ to do automatically \MTeverymathoff. Indeed they use math mode, and it
+ is better to turn \mst off for their dealings.
+
+ See the \MTeverymathoff documentation.
+ \end{shaded*}
+
+
+
+\subsection{Math alphabets}
+
+Let us first recall fundamental facts of life, in the
+ world of traditional PDF\TeX\ engine and \TeX\ fonts, as background for
+ understanding what \mst does in this context.
+ People familiar with using Unicode engines and \ctanpkg{unicode-math}, please be
+ aware that the semantics there of the \LaTeX\ math alphabet commands are
+ \textbf{significantly} modified!
+\begin{shaded*}
+\begin{itemize}
+\item In the default \LaTeX\ set-up all five of \mathrm, \mathbf,
+ \mathit, \mathsf and \mathtt tell \TeX\ to use for their arguments
+ specific \texttt{OT1}-encoded fonts.
+\item If the document body uses, as will be the case probably with any
+ language other than English or its variants, some other encoding such as
+ \texttt{T1} for its fonts, there is no change whatsoever to the math
+ configuration, indeed most font packages ignore it completely.
+\item It is thus a priori wrong to think of these commands as switching to
+ some body text font, although letters within their scopes will act as in a
+ text font, and in particular obey ligatures (this also applies to operator
+ names defined by |amsmath|'s \cs{DeclareMathOperator} which are, with some
+ extras not mentioned here, as using \mathrm).
+\item These commands are completely different in spirit from the \LaTeX\
+ \cs{textrm}, \cs{textbf}, and others, which change only some font axis;
+ indeed the math alphabet commands inherit from legacy Knuth's \cs{rm},
+ \cs{bf}, and others which are complete font specifiers.
+\item In particular when nesting, it is the inner-most which wins.
+\item Only mathematical characters (such as letters) which are declared to
+ \TeX\ as being of ``variable family type'' react to being in the argument of
+ a math alphabet command.
+\item Lowercase Greek letters are by default in \LaTeX\ immune to math
+ alphabets (so \verb|\mathrm{\pi}| induces no change in output), but the
+ eleven uppercase Greek letters are of ``variable family type'' because they
+ are picked in the \texttt{OT1}-encoded font also used for operator names
+ (the one to which \mathrm maps), \emph{and they occupy the exact same
+ slots in the \emph{\texttt{OML}}-encoding to which} \mathnormal maps! So
+ in default \TeX, \verb|\mathnormal{\Gamma}| gives a slanted glyph. The slots
+ occupied in \texttt{OML}-encoding by the lowercase Greek letters (to which
+ encoding they are a priori assigned) give
+ completely unrelated glyphs in the \texttt{OT1}-encoding, so it makes sense
+ that the default \LaTeX\ declares lowercase Greek to not react to math alphabets.
+ Notice though, that if \LaTeX\ had declared a \cs{mathnormalbold}, mapping
+ to a bold \texttt{OML}-encoded font, it would have made sense to also have
+ \cs{alpha}, \cs{beta}, etc... be of ``variable family type''.
+\item But of course even if |\pi| is of such ``variable family type'' then
+ |\mathbf{\pi}| will give garbage because the default \mathbf selects an
+ \texttt{OT1}-encoded font, where there is no pi glyph whatsoever and in
+ particular not at the slot (which is 25) of $\pi$ in the \texttt{OML} encoding!
+\end{itemize}
+\end{shaded*}
+
+Please keep all the above in mind when trying to understand what \mst does
+with math alphabets. The most significant point described next naturally is that
+\mst will sync \mathnormal, \mathrm, \mathbf, \mathit, \mathsf and
+\mathtt to map to the \mst-ified body text fonts.
+ \begin{itemize}
+ \item \mathnormal, \mathrm, \mathbf, \mathit,
+ \mathsf and \mathtt are modified to use the \mst-ified
+ text fonts; this can be disabled via defaultalphabets and
+ related individual options, but the package always provides
+ \Mathnormal, \Mathrm, etc..., to match the \mst font
+ configuration (\RLNote{changed:}{\mstrelease{1.3za}}prior to \mstrelease{1.3za}
+ defaultalphabets and related options also caused the \mst
+ alphabet commands not to be defined). Recall that there may
+ arise a ``too many math alphabets'' error if too many of these
+ commands are \emph{used} in the document:
+ \emph{declaring} them is not by itself the cause of the error. See the
+ \LaTeX\ news entry of its \texttt{2021-11-15} release for
+ the counter \texttt{localmathalphabets} (with default value 2)
+ which can be now be used if one hits such a difficulty.
+ \item We define a new math alphabet command
+ \mathnormalbold which gives direct access to
+ the bold version of the \mathnormal alphabet
+ (rather than using either the \cs{bm} command from
+ the \ctanpkg{bm} package or the \cs{boldsymbol} command
+ from the \ctanpkg{amsbsy} package). As it does not
+ exist in the default \LaTeX{} math font set-up, this
+ alphabet is \emph{not} subjected to the {subdued option} action.
+
+\item Version \RightNote{\mstrelease{1.2}}\mstrelease{1.2} of \mst has extended the scope of the math
+ alphabets to apply to non-alphabetical characters and to
+ operator names. This respects the automatic white spaces
+ added by \TeX{} around math symbols. See the devoted \autoref{sec:mathxx}.
+\item The optional\RightNote{\mstrelease{1.3i}}
+ extra skips around letters (see \autoref{sec:mathskips} and
+ \autoref{sec:ic}) are removed in the scope of the math alphabets.
+
+ \item Depending on options, further math alphabet commands
+ are defined by the package: \MathEulerBold,
+ \MathEuler, \MathPSymbol, and since \mstrelease{1.3y} under
+ the LGRgreek family of options\RightNote{\mstrelease{1.3y}} also
+ \mathgreekup and \mathgreekit. See
+ \autoref{sec:newgreek}. And also \mathgreekupbold and
+ \mathgreekitbold under the LGRgreek family of
+ options.\RightNote{\mstrelease{1.3za}}
+
+ \item With\RightNote{\mstrelease{1.3za}} the LGRgreek+ option
+ which enhances Greek letters with a specific behavior when in the
+ arguments of the \mathrm, \mathbf, etc..., math alphabet
+ commands, this special behavior is not triggered by the \Mathrm,
+ \Mathbf, et al., which are genuine unmodifed math alphabet commands. See
+ \autoref{sec:newgreekplus}.
+ \end{itemize}
+
\subsection{Math versions}\label{sec:mathversions}
@@ -2972,13 +2775,13 @@ It is still possible to switch on via \MTversion in the document body
\footnote{When not using math versions at all (so not using \texttt{subdued}
mode either) another way to achieve distinct fonts in text and math is
naturally to modify the document text font \emph{after} having loaded \mst (or
-after last usage of \cs{Mathastext} without optional argument).
-Another way is to use \cs{MTfamily}, \cs{MTencoding}, \cs{MTseries},
-\cs{MTshape}, \cs{MTlettershape} in the preamble before a call to
-\cs{Mathastext} which will configure math fonts without having modified the
+after last usage of \csb{Mathastext} without optional argument).
+Another way is to use \csb{MTfamily}, \csb{MTencoding}, \csb{MTseries},
+\csb{MTshape}, \csb{MTlettershape} in the preamble before a call to
+\csb{Mathastext} which will configure math fonts without having modified the
document text fonts. However if one does \texttt{\string\MTversion\{normal\}}
in the document then the text font will be reset to what was recorded as math
-font by the \cs{Mathastext} call in the preamble (as said above, when not
+font by the \csb{Mathastext} call in the preamble (as said above, when not
using \texttt{subdued} option).}
The native \LaTeX{} command \cs{mathversion}\marg{version\_name} would change
@@ -3000,19 +2803,19 @@ For all math versions if not using the subdued option, or only
for the non-\emph{normal} and non-\emph{bold} math versions if
using the subdued option, \cs{MTversion} does further additional tasks:
\begin{itemize}
-\item it resets\RightNote{1.3u} the \hbar, \cs{imath}
+\item it resets\RightNote{\mstrelease{1.3u}} the \hbar, \cs{imath}
(see \inodot), \cs{jmath}, math accents (see option
mathaccents) and minus sign as en dash according to the used
font encoding for the \mst-ified text font,
-\item (see sections \ref{sec:mathskips} and \ref{sec:ic}) it re-issues the
+\item (see \autoref{sec:mathskips} and \autoref{sec:ic}) it re-issues the
command \MTmathactiveletters to let a to z, A to Z, be mathematically
active in order to automatically insert the skips as defined by the user
with \MTsetmathskips, and the italic corrections (if the font is not
italic or slanted),
-\item (see section \ref{sec:extraskips}) it resets the extra spaces after the
+\item (see \autoref{sec:extraskips}) it resets the extra spaces after the
symbols $\exists$, $\forall$ and before the derivative ${}'$ to the values as
decided by the user in the preamble on a \emph{per version} basis,
-\item (see section \ref{sec:mathxx}) it re-issues the commands
+\item (see \autoref{sec:mathxx}) it re-issues the commands
\MTmathoperatorsobeymathxx and \MTeasynonlettersobeymathxx to let
the math operator names and (`easy') non letter characters obey the math
alphabets,
@@ -3059,7 +2862,7 @@ provided by \mst:
Modern ones or have been set-up by other packages;
for example by the \ctanpkg{fourier} package with option
`upright', which gives upright Greek letters.
-\item[LGRgreek:] (this was substantially updated at |1.3x|, make sure to
+\item[LGRgreek:] (this was substantially updated at \mstrelease{1.3y}, make sure to
read the new documentation at \autoref{sec:newgreek})
this option is for fonts which additionally to Latin
letters also provide Greek letters in |LGR| encoding. Here is
@@ -3088,7 +2891,7 @@ provided by \mst:
If you use the italic option note that the italic Greek
letters from the |cbfonts| are not the same glyphs as
the default Greek letters from the |OML| encoded font |cmmi|.
-\item[LGRgreek+:] \RightNote{1.3za}extends LGRgreek to allow abusive
+\item[LGRgreek+:] \RightNote{\mstrelease{1.3za}}extends LGRgreek to allow abusive
usage of \cs{mathrm} and alike commands with Greek letters.
This is very much not in the spirit (especially with traditional
``8bit'' \TeX\ fonts) of the \LaTeX\ kernel concept of math alphabet
@@ -3146,17 +2949,17 @@ from the lowest to the highest priority:
the digits and operator names (most of the time this means ``upright
shape'', but it can be otherwise),
\item[itgreek]: says that Greek letters (both lowercase and uppercase) will
- be in `|it|' shape. \RLNote{changed:}{1.3x}More precisely the expansion of
+ be in `|it|' shape. \RLNote{changed:}{\mstrelease{1.3y}}More precisely the expansion of
\MTgreekitdefault is used.
- This was changed at |1.3x|, formerly the value of \cs{itdefault} which was in
+ This was changed at \mstrelease{1.3y}, formerly the value of \cs{itdefault} which was in
force at the time of using \Mathastext (or at time of loading the package
if no use is made of \Mathastext) was used.
\item[upgreek]: says that Greek letters (both lowercase and uppercase) will
- be in `|n|' shape. \RLNote{changed:}{1.3x}More precisely the expansion of
+ be in `|n|' shape. \RLNote{changed:}{\mstrelease{1.3y}}More precisely the expansion of
\MTgreekupdefault is used.
- This was changed at |1.3x|, formerly the value of \cs{updefault} which was in
+ This was changed at \mstrelease{1.3y}, formerly the value of \cs{updefault} which was in
force at the time of using \Mathastext (or at time of loading the package
if no use is made of \Mathastext) was used. But since \LaTeX{}
|2020-02-02| this caused many Font Warnings in the log because
@@ -3187,7 +2990,7 @@ font family available in |LGR| encoding: for example |lmr|,
|DejaVuSerif-TLF| (needs \ctanpkg{dejavu} package on your system),
etc\dots
-\begin{framed}
+\begin{shaded*}
\MTitgreek, \MTupgreek, \MTitGreek, \MTupGreek
have some effect only if one of the LGRgreek, LGRgreeks,
selfGreek or selfGreeks options was passed to the package.
@@ -3198,14 +3001,14 @@ etc\dots
\MTgreekfont has an effect only for LGRgreek and selfGreek. It is
without any effect with LGRgreeks and selfGreeks.
-\end{framed}
+\end{shaded*}
\subsubsection{Control sequences to access directly upright or italic
shape for Greek under \texttt{LGRgreek} option}
\label{sec:newgreek}
-Some changes were made at |1.3x| to enhance the LGRgreek (and LGRgreeks)
+Some changes were made at \mstrelease{1.3y} to enhance the LGRgreek (and LGRgreeks)
options with new features. Everything which will be explained here applies
only to these two options.
@@ -3224,7 +3027,7 @@ command in the preamble (possibly with \oarg{version\_name} optional
argument). Their default definitions are to expand to `|n|' and `|it|'
respectively. They can also be defined prior to loading \mst.
-See\RightNote{1.3x} the \autoref{table:greekup} and \autoref{table:greekit}
+See\RightNote{\mstrelease{1.3y}} the \autoref{table:greekup} and \autoref{table:greekit}
for illustrations (using here the Libertinus Serif font).
\begin{table}[htbp]
\MTversion{libertinus}
@@ -3364,7 +3167,7 @@ etc\dots\ options or \MTitgreek et al.\@ commands. This is on a per \mst-enri
math version basis, depending only on how the options or commands were used
in the preamble.
-Furthermore\RightNote{1.3x} two math alphabets are provided
+Furthermore\RightNote{\mstrelease{1.3y}} two math alphabets are provided
\centeredline{\mathgreekup}
\centeredline{\mathgreekit}
which can be used to map a letter to the corresponding Greek fonts:
@@ -3379,14 +3182,14 @@ which can be used to map a letter to the corresponding Greek fonts:
\centeredline{$\mathgreekit{W}=\mathgreekit{\Omega}=\mathgreekit{\Omegaup}=\Omegait$}
}
-Some\RightNote{1.3x} refactoring%
+Some\RightNote{\mstrelease{1.3y}} refactoring%
%
\footnote{Technically, formerly two symbol fonts were declared, one for the
lowercase Greek letters and one for the uppercase Greek letters; now those
are dropped and replaced by two symbol fonts, one for `italic' Greek letters,
the other for `upright' Greek letters.}
%
-was required to achieve this at |1.3x|
+was required to achieve this at \mstrelease{1.3y}
and it is not 100\% backwards compatible: if none of the itgreek etc\dots\
things was used, the Greek letters formerly would follow the shape of Latin
letters (for lowercase Greek) and of operator names (for uppercase Greek).
@@ -3414,10 +3217,10 @@ compatibility.
\subsubsection{\cs{mathgreekupbold} and \cs{mathgreekitbold}}
\label{sec:newgreekbold}
-Again this applies only to LGRgreek and LGRgreeks options (and the |1.3za|
+Again this applies only to LGRgreek and LGRgreeks options (and the \mstrelease{1.3za}
added LGRgreek+ and LGRgreeks+).
-See\RightNote{1.3za} the \autoref{table:greekupbold} and \autoref{table:greekitbold}
+See\RightNote{\mstrelease{1.3za}} the \autoref{table:greekupbold} and \autoref{table:greekitbold}
for illustration of usage (in math mode only) of code such as
\begin{verbatim}
\mathgreekupbold{\alpha}
@@ -3594,7 +3397,7 @@ commands on Latin letters also:
the \texttt{LGRgreek+} option}
\label{sec:newgreekplus}
-With option\RightNote{1.3za} LGRgreek+ or LGRgreeks+, \mst makes Greek
+With option\RightNote{\mstrelease{1.3za}} LGRgreek+ or LGRgreeks+, \mst makes Greek
letters control sequences \cs{alpha}, \cs{beta}, ... (but not \cs{alphaup} or
\cs{betait} and the others) react in a special manner within the scope of
\mathnormal, \mathrm, \mathit, \mathbf, and \mathnormalbold, but not
@@ -3671,15 +3474,24 @@ fonts having only 128 or 256 glyphs, and from the fact that \mathrm and
\mathbf originate in Plain \TeX\ \cs{rm} and \cs{bf} and are still quite
akin to it, they are font switching commands nothing more or less.
+\subsection{Advanced capacities}
-\subsection{Extra spaces around letters}
+Some such capacities are on per default (but if with subdued option will be
+turned off in the \emph{normal} and \emph{bold} math versions), others require
+an action from the user for activation.
+
+\subsubsection{Extra spaces around letters}
\label{sec:mathskips}
-This is a new feature added with release |1.3|: the command \MTsetmathskips
-allows the user to set up some spaces (more precisely, `mu glue'; but stretch
-and shrink are discarded) to be
-automatically inserted around the letters in math mode. Some (very) unrealistic
-uses:
+This is a new feature%
+%
+\footnote{It was new in 2013 indeed. Not so much new now, but it is never too
+late to try it out.}
+%
+added with release \mstrelease{1.3}: the command \MTsetmathskips allows the
+user to set up some spaces (more precisely, `mu glue'; but stretch and shrink
+are discarded) to be automatically inserted around the letters in math
+mode. Some (very) unrealistic uses:
\begin{verbatim}
% this may be anywhere in the document (also within a math group):
\MTsetmathskips{x}{20.33mu}{15.66mu}% 20.33mu before all x's and 15.66mu after.
@@ -3699,28 +3511,25 @@ limits as usual the scope of this command. Furthermore the command
\MTunsetmathskips cancels previous use of \cs{MTsetmathskips} for a given
letter.
-The implementation relies on the `mathematical activation' of letters, which is
-done by default by the package since release |1.2b|. Should this cause
-compatibility problems, the command \MTmathstandardletters cancels it
+The implementation relies on the `mathematical activation' of letters, which
+is done by default by the package since release \mstrelease{1.2b}. Should this
+cause compatibility problems, the command \MTmathstandardletters cancels it
entirely. To reactivate it, there is \MTmathactiveletters. Note that
-\cs{MTmathactiveletters} is done automatically by \mst when loaded, and also
-each time the package enhanced math-version-switch command \MTversion is used,
-except for the normal and bold math versions under the subdued option.
+\MTmathactiveletters is done automatically (as part of \MTicinmath) by
+\mst when loaded (if not with subdued option), and also each time the
+package enhanced math-version-switch command \MTversion is used, except for
+the normal and bold math versions under the subdued option.
-% Earlier this `mathematical activation' of letters had been used by the package
-% only to add automatically italic corrections, as described in the next
-% section.
-
-\begin{framed}
+\begin{shaded*}
The extra skips are set at natural width; they do not contribute to the
overall stretchability or shrinkability of the math formula and do not
create break points.
- \textcolor{magenta}{\bfseries Changed with |1.3i|}: they are \emph{not}
+ \textcolor{magenta}{\bfseries Changed with \mstrelease{1.3i}}: they are \emph{not}
applied within the scope of math alphabet commands.
-\end{framed}
+\end{shaded*}
-\subsection{Italic corrections}
+\subsubsection{Background on italic corrections in math mode}
\label{sec:ic}
{\small Note: this is somewhat technical discussion which may well be skipped in
@@ -3824,9 +3633,14 @@ $\xdef\mstrestorefontdimen{\fontdimen2\textfont\symmtletterfont=
We learn in Appendix G of the \TeX book that the italic correction is used for
the horizontal shift of the superscript with respect to the position of
-the subscript: $\mathit{f_i^j}$, or,
+% CETTE LIGNE PROVOQUE L'AJOUT D'UN LINESKIP
+% the subscript: $\mathit{f_i^j}$, or,
+% En fait dj en Plain TeX, configuration de base la hauteur totale de
+% $f_i^j$ est > 12pt = baselineskip !
+% Work-around ad hoc
+the subscript: \smash{$\mathit{f_i^j}$}, or,
going back now to the standard math italics $f_i^j$. In the next paragraphs
-we use $f_i^i$ for more accurate comparison of the positioning of the sub- and superscript.
+we use \smash{$f_i^i$} for more accurate comparison of the positioning of the sub- and superscript.
If we try something like this: |${f\/}_i^i$| we obtain ${f\/}_i^i$. Our
overlapping game with |\rlap{$f_i^i$}${f\/}_i^i$| gives
@@ -3889,15 +3703,10 @@ to preserve this behavior).
italic corrections are canceled inside the arguments to the math alphabet
commands, to allow the formation of ligatures as
is expected in the standard default \TeX{} font set-up in math.%
-% \footnotemark
-% \global\let\saved@Href@B\Hy@footnote@currentHref
\end{framed}\vskip-.75\baselineskip
\end{framed}
-%\addtocounter{footnote}{-1}%
-%\let\Hy@footnote@currentHref\saved@Href@A
-%
\footnotetext{the situation is rather ironical! by the way, the warnings in
- section \ref{sec:mathxx} with \texttt{\$x\^{}?\$} or similar are less of an
+ \autoref{sec:mathxx} with \texttt{\$x\^{}?\$} or similar are less of an
issue here, because the letter is only \emph{followed} by \texttt{\char92/}
and anyhow the whole is put by \mst within group braces, so no surprises
with \texttt{\$x\^{}y\$} or \texttt{\$\char92mathbin x\$}. Nevertheless it
@@ -3905,16 +3714,10 @@ to preserve this behavior).
composite objects, something which could surprise other packages. The
command \csb{MTmathstandardletters} cancels this mechanism.}
-%\addtocounter{footnote}{1}%
-% \let\Hy@footnote@currentHref\saved@Href@B
-%
-% \footnotetext{\RightNote{1.3i}Formerly, italic corrections were added to the
-% \cs{mathnormal} arguments.}
-
\makeatother
The feature-implementing commands \MTicinmath, \MTnoicinmath,
-\MTicalsoinmathxx are described in section \ref{sec:cmds}.
+\MTicalsoinmathxx are described in \autoref{sec:cmds}.
\endgroup
\textbf{\hbox{Note:}} \emph{from brief testing on 2012/12/28, \XeTeX{} seems not
@@ -3944,11 +3747,7 @@ at least on current TL2016.
\noindent\kern-0.5em\relax2022/10/29: no change with current TL2022.}
-% For more see
-% \url{http://tex.stackexchange.com/a/337076} which explores also the differences
-% between the two Unicode engines regarding italic corrections in pure text mode.
-
-\subsection{Extra glue after \texorpdfstring{\cs{exists}}{\textbackslash
+\subsubsection{Extra glue after \texorpdfstring{\cs{exists}}{\textbackslash
exists}, \texorpdfstring{\cs{forall}}{\textbackslash forall}, and before the prime glyph}
\label{sec:extraskips}
@@ -3998,21 +3797,16 @@ Under the subdued option, the \emph{normal} math version (at the start of
the document body, or after |\MTversion{normal}|) and the \emph{bold} math
version (either at the start of the document body after \cs{boldmath}, or after
|\MTversion{bold}|) do not have any extra skip inserted (even one of zero
-width) after $\oldforall$, $ \oldexists$, or before the ${}'$.%
-%
-%\footnote{\RightNote{1.3j}Formerly, skips of zero widths were inserted.}
+width) after $\oldforall$, $ \oldexists$, or before the ${}'$.
\endgroup
-
-\subsection{Extended scope of the math alphabets commands}
+\subsubsection{Extended scope of the math alphabets commands}
\label{sec:mathxx}
\begingroup
\MTversion{italic}\renewcommand\familydefault\sfdefault
-% il faudra peut-tre que j'annule cette faon qu' mathastext de tripatouiller
-% \familydefault...
-\makeatletter\let\mst@doasterisk\relax\makeatother
+\MTnormalasterisk
Ever since the initial version of the package, some characters usually
unaffected by the math alphabet commands \cs{mathbf}, \cs{mathtt},
@@ -4027,21 +3821,31 @@ $<$, or $]$ could not be declared of `variable family' (in addition to being
picked up in the text font) as this would, for reasons of the inner workings of
\TeX{}, not be compatible with the automatically inserted spaces around them.
-A revolutionary\RightNote{1.2} ;-) novelty is introduced with version |1.2| of the package:
+A revolutionary\RightNote{\mstrelease{1.2}} ;-) novelty is introduced with
+version \mstrelease{1.2} of the package:
\begin{enumerate}
\item the pre-declared or user-declared (using the |amsmath|
\cs{DeclareMathOperator} or equivalent) operator names obey the math
alphabet commands,\footnote{contrarily to the next feature, this one is not
likely to create incompatibilities with other packages, so it is
activated by default.}
-\item and, \emph{optionally}, all non alphabetical
- characters\footnote{of course some of them are input preceded by a
- backslash, and the backslash itself is input as \cs{backslash}.} treated by
- \mst, \emph{i.e.}, if not disabled by options,
- ${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
- the asterisk $*$, and
- $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$%
-%
+\item as well as all non alphabetical characters treated by \mst.
+\end{enumerate}
+
+The non-letters handled by \mst (if not disabled by options) fall into two
+groups:
+\begin{itemize}[nosep]
+\item Those to which \TeX{} associates some specific spacings:
+ \centeredline{${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,%
+ {(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}\,*$}
+ We call them the ``hard'' ones.
+\item Those for which \TeX{} uses so-called ordinary spacings:
+ \centeredline{$.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$}
+ We call them the ``easy'' ones.
+\end{itemize}
+The ``easy'' non-letters are handled \emph{easily} by \mst, simply
+by declaring them to be of ``variable family type''. This will
+be done automatically.%
\footnote{%
${\#}\,{\$}\,{\%}\,{\&}$ obey the math alphabets since the initial version
of \mst; the dot $.$, the slash $/$, the vertical bar $\vert$ and the
@@ -4049,431 +3853,326 @@ A revolutionary\RightNote{1.2} ;-) novelty is introduced with version |1.2| of t
around them, and the procedure is then activated by default since
\texttt{1.2} for these characters as they are `easy non-letters'. But for
\cs{mid} and \cs{setminus} which are $\vert$ and $\backslash$ with special
- spacing (of type \cs{mathrel} and \cs{mathbin} resp.) the procedure has
- some constraints explained in the framed box on next page and the
- activation requires \cs{MTnonlettersobeymathxx}.}
+ spacing (of type \cs{mathrel} and \cs{mathbin} resp.) the
+ activation requires \csb{MTnonlettersobeymathxx}.}
%
-will also obey
- the math alphabet commands (when not used as delimiters). The
- important thing is that the spaces added by \TeX{} before and after
- are not modified.
-\end{enumerate}
+The ``hard'' non-letters require a more complex approach using a concept
+called ``mathematical activation''. For reasons explained next, this is not
+done automatically and requires the user to employ the command
+\MTnonlettersobeymathxx (or, for the specific case of the asterisk the option
+asterisk).
+
+\begin{shaded*}
+ It is a fundamental feature that the spacing added by \TeX{} before and
+ after each such \mst-ified non-letter is in no way modified.
+\end{shaded*}
+
+
Let us compare, for example, the new behavior of \cs{mathtt} and \cs{mathbf}
-\MTmathoperatorsobeymathxx\MTnonlettersobeymathxx\MTeasynonlettersobeymathxx
-\[ \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
-with the traditional default behavior:
-\MTmathoperatorsdonotobeymathxx\MTnonlettersdonotobeymathxx
+when \MTnonlettersobeymathxx has been used
+\MTmathoperatorsobeymathxx
+\MTnonlettersobeymathxx
+\MTeasynonlettersobeymathxx
+\[ new:\quad \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
+with the traditional default behavior one observes without \mst or in
+subdued normal or bold math version:
+\MTmathoperatorsdonotobeymathxx
+\MTnonlettersdonotobeymathxx
\MTeasynonlettersdonotobeymathxx
-\[ \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
-
-The first feature is activated by default, except of course for the normal and
-bold math versions when the package was given the \emph{subdued} option. The
-second feature is \emph{off} by default for the characters listed first. It is
-\emph{on} for the `easy' cases
-${\#}\,{\$}\,{\%}\,{\&}\,.\,/\,\vert\,\backslash$ (activating the feature for
-them puts no constraint on the user input and should not be too upsetting to
-other packages), and also for $*$ but only if this was required explicitly by
-the option asterisk, as the user then is supposed to know that |$R^*$| is no
-valid input anymore and should be replaced by |$R^{*}$|. The remaining `difficult'
-cases create similar
-constraints, which will be commented more upon next. The commands%
-\footnote{these commands are to be used outside of math mode.
- Their scope is limited to the current \LaTeX{} environment or group. They use
- the \cs{everymath} and \cs{everydisplay} mechanism so if the document needs to
- modify these token lists it has to do so in a responsible manner, extending
- not annihilating their previous contents.}
-%
-for deactivation are:\\
+\[ standard:\quad \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
+
+The commands for
+\emph{deactivation} are:\\
\mbox{}\hspace{1cm}\csb{MTmathoperatorsdonotobeymathxx},\\
\mbox{}\hspace{1cm}\csb{MTeasynonlettersdonotobeymathxx},\\
\mbox{}\hspace{1cm}\csb{MTnonlettersdonotobeymathxx},\\
-and those for activation:\\
-\mbox{}\hspace{1cm}\csb{MTmathoperatorsobeymathxx} regards operator names and is executed by default,\\
-\mbox{}\hspace{1cm}\csb{MTeasynonlettersobeymathxx} is done by default and applies to \centeredline{${\#}\,{\$}\,{\%}\,{\&}\,.\,/\,\vert\,\backslash$} and also to $*$ under package option asterisk,\\
-\mbox{}\hspace{1cm}\csb{MTnonlettersobeymathxx} is \emph{not} done by default (see explanations why in the framed box next) and regards \centeredline{${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$} and also \cs{mid} and \cs{setminus} but applies to
-the braces ${\{}\,{\}}$ only if \csb{MTexplicitbracesobeymathxx} is also used.\par
-%
-%% suppression de cette note de bas de page 1.3u car elle est obsolte
-%% (pas sr si 100%, mais en tout cas l'exemple avec \mathbf{-} n'a plus
-%% de problme.
-% \footnote{when in subdued mode, the
-% math alphabets are the default ones, not the ones modified by \mst to use the
-% document text fonts. As a result, matters of font encodings may then give
-% unexpected results, for example for $-$. On the present document page we
-% switched to a math version to escape from the |subdued| mode and avoid the
-% problem with \cs{mathbf\{-\}} giving in the normal (subdued) math version
-% {\MTversion{normal}\MTnonlettersobeymathxx$\mathbf-$\sffamily, when
-% `non-letters' are declared to obey math alphabets.}}
+and those for \emph{activation}:\\
+\mbox{}\hspace{1cm}\csb{MTmathoperatorsobeymathxx} (done by default),\\
+\mbox{}\hspace{1cm}\csb{MTeasynonlettersobeymathxx} (done by default),\\
+\mbox{}\hspace{1cm}\csb{MTnonlettersobeymathxx} is \emph{not} done by default
+(see explanations why in the shaded box next) and applies to the ``hard''
+non-letters mentioned above and also to \cs{mid} and \cs{setminus}.
+Furthermore, it applies to
+the braces ${\{}\,{\}}$ only if \csb{MTexplicitbracesobeymathxx} is also used.
+
+
+\begin{shaded*}
+ \textbf{Important:} the package does not execute on its own
+ \csb{MTnonlettersobeymathxx}. The reason is that the
+ mechanism in effet replaces the original ``hard'' characters such as
+ |?|, |[|, |<| by (in math mode only) a more complex structure, which
+ ceases looking to \TeX{} as only one token, and as a consequence |$x^?$|, |$R^+$|
+ or |$\mathopen<A\mathclose>$| raise an error, the workaround being to
+ employ additional braces: |$x^{?}$|, |$R^{+}$| and |$\mathopen{<}A\mathclose{>}$|.
+
+ Similarly |$R^*$| does not work anymore under option asterisk, the user is
+ supposed to know that with this option |$R^{*}$| is the mark-up to use.
+
+ Thus, if one adds
+ \centeredline{|\usepackage{mathastext}|\MTnonlettersobeymathxx} to a
+ pre-existing document, it is needed to check if the mark-up satisfies
+ to the above guidelines. For this reason the mechanism is by default
+ not activated and the user has to execute:
+ \centeredline{\MTnonlettersobeymathxx}
+ This can be done in the preamble and will trigger actual modifications
+ only at time of |\begin{document}|.
+\end{shaded*}
-\begin{framed}
- \textbf{Important:} the package does \csb{MTnonlettersdonotobeymathxx} by
- default. The reason is that activating the mechanism adds some constraints to
- the way things must be input, adding
-\centeredline{|\usepackage{mathastext}|\csb{MTnonlettersobeymathxx}}
- to a pre-existing
- document might well create errors:
- all these characters treated by \mst, such
- as |?|, |[|, |<| now represent (in math mode only!) \emph{two} `tokens' and
- this will utterly confuse \TeX{} if some precautions are not taken: |$x^?$|,
- |$R^+$| or |$\mathopen<A\mathclose>$| \emph{must} now be coded as |$x^{?}$|,
- |$R^{+}$| and |$\mathopen{<}A\mathclose{>}$| (the rule is to do as if |?|,
- |+|, |<| or |>| were each really \emph{two} characters).
-
- Even if this rule is respected in the document source, it is still a
- possibility that incompatibilities with other packages will arise because
- \mst does a \emph{mathematical activation} of the characters which could be
- unexpected and unchecked for by other packages. This is precisely the case
- with the \ctanpkg{amsmath} package, and the problem goes away by just making sure
- that |amsmath| is loaded before \mst{} (generally speaking, \mst should be
- loaded last after all packages dealing with math things).
-\end{framed}
+
+\begin{footnotesize}
+Some \TeX nical notes:%
+%
+\footnote{The complete truth is only to be found in source code. Here are
+ some extra details:
+
+ The
+ dollar sign and the curly braces are not tested for mathematical or catcode
+ activation.
+
+ The $*$\RLNote{changed:}{\mstrelease{1.4}} is tested as
+ are the ``hard'' non-letters, except under option everymath. On the
+ other hand \cs{ast} will be modified independently of what is decided for
+ $*$. Comprenne qui pourra.}
+
+\begin{itemize}[nosep]
+\item
+The asterisk $*$ is associated with its own option asterisk, because
+independently of the matter of its behavior in the scope of math alphabets
+commands, its handling by \mst (via the \MTlowerast associated
+configuration) always requires it to be made mathematically active and to
+expand to a more complex structure. So once this option is received by the
+package, it goes full steam and also adds by default the responsiveness to
+math alphabet commands (in non-subdued math versions).
+
+\item The legacy situation which is a bit late to change is that the
+ responsiveness of the asterisk to math alphabets being on by default under
+ option asterisk, it was decided that this responsiveness would be turned
+ off by \MTeasynonlettersdonotobeymathxx and back on by
+ \MTeasynonlettersobeymathxx, although the $*$ is part of the ``hard''
+ non-letters. One can use \MTnormalasterisk to stop the $*$ to obey math
+ alphabet commands, but it also cancels the \MTlowerast mechanism.
+
+\item At\RLNote{changed:}{\mstrelease{1.4}} \mstrelease{1.4} ``easy''
+ non-letters found out to be (at |\begin{document}| or with \MTversion
+ except for subdued \emph{normal} or \emph{bold}) mathematically active
+ characters will not get overridden by \mst.
+ This applies for example with
+ the dot ``.'' under \ctanpkg{babel} with Spanish language. Its special
+ behavior to transform into a comma ``,'' if before a digit is now
+ kept. As an amusing side note, if \MTnonlettersobeymathxx is used, this
+ comma does obey math alphabet commands.
+
+\item An ``easy'' non-letter which (at |\begin{document}| or with \MTversion
+ except for subdued \emph{normal} or \emph{bold}) is catcode active will
+ still be set by \mst to be of ``variable family type'', if it is not
+ mathematically active. The catcode status is not checked nor modified, only
+ the mathcode as per previous item. Now whether the \mst-ification has any
+ effect depends on how the user has configured the catcode active character
+ to behave if in math mode.
+
+\item When \mst wants to employ mathematical activation for a non-letter
+ character among the ``hard'' cases (inclusive of the asterisk), which is done
+ at |\begin{document}| if not subdued or with every \MTversion except for
+ subdued \emph{normal} or \emph{bold}, it first checks if this character
+ is currently catcode active. If this is the case, it then checks if the
+ character is a \ctanpkg{babel} shorthand. If yes, it then hooks into
+ \ctanpkg{babel} internals to modify the way this shorthand acts in math
+ mode, so that now the character will respond to math alphabet commands.
+ If however the catcode active character does not appear to be a
+ \ctanpkg{babel} shorthand, then \mst does not do anything at all (beyond
+ its general business at package loading time to set-up the
+ font used for the non-active token).
+%
+ In relation to this context \mst should always be loaded \emph{after} \ctanpkg{babel}.
+ And also \emph{after} the \ctanpkg{amsmath} package.
+
+\item
The braces |\{| and |\}| remain unresponsive to the alphabet changing commands
-even after \csb{MTnonlettersobeymathxx}. One must issue also
-\csb{MTexplicitbracesobeymathxx}, but it has the disadvantage that |\{| and
+even after \csb{MTnonlettersobeymathxx}. The user must employ for this
+\centeredline{\csb{MTexplicitbracesobeymathxx}}
+This has the disadvantage that |\{| and
|\}| become then unusable as variable-size delimiters: |\big\{| or |\big\}|
create errors and one must make use of |\big\lbrace| and |\big\rbrace|. But
-\MTmathoperatorsobeymathxx\MTnonlettersobeymathxx\MTexplicitbracesobeymathxx
+%
+\MTmathoperatorsobeymathxx
+\MTnonlettersobeymathxx
+\MTexplicitbracesobeymathxx
+%
one can now enjoy $\mathtt{\{a, a>b\}}$, $\mathbf{\{a, a>b\}}$,
-$\mathsf{\{a, a>b\}}$, or even $\mathnormalbold{\{a, a>b\}}$.\footnote{this
- last example uses the \cs{mathnormalbold} additional alphabet defined by
- \mst.}\footnote{Let me recall that braces will anyhow not be handled at all
+$\mathsf{\{a, a>b\}}$, or even $\mathnormalbold{\{a, a>b\}}$.%
+%
+\footnote{This
+ last example uses the \csb{mathnormalbold} additional alphabet defined by
+ \mst.}%
+%
+\footnote{Let me recall that braces will anyhow not be handled at all
by \mst if the document
font encoding is |OT1|, except under option |alldelims|.}
-Even with \csb{MTnonlettersobeymathxx}, the parenthese-like symbols $($, $)$,
+\item
+Even with \csb{MTnonlettersobeymathxx}, the parentheses-like symbols $($, $)$,
$[$, $]$, $<$ and $>$ and the slashes $/$, $\backslash$, \emph{if used as
- left/right delimiters} (i.e.\@ with |\left/\right|) do not react to math
+ left/right delimiters} (i.e.\@ with |\left/\right|) will not respond to math
alphabet commands. This is mainly explained by the fact that the text font
-will not contain suitable glyphs, hence no attempt was made to make the
+will not contain suitable glyphs, hence no attempt was made by \mst to make the
delimiters pick up their glyphs there.
But \mst does try to pick up most of the `small variants' of the delimiters
-from the text font: |$\left<x\right>$| gives $\left<x\right>$ (but
-|$\left<b\right>$| gives $\left<b\right>$.) Notice that this differs from
+from the text font: |$\left<x\right>$| gives $\left<x\right>$ but
+|$\left<b\right>$| gives $\left<b\right>$. Notice that this differs from
standard \LaTeX{} for which |$\left< x\right>$| gives $\langle x\rangle$. As
-it is perhaps a bit strange to have $\left< x\right>$ next to
-$\left< X\right>$ there is option nosmalldelims: with this option the
-small-sized variants of the delimiters are not modified by \mst (option
-nosmalldelims has the side effect that, for the non-delimiter uses of
-|\{, \}|
-to be \mst-ified it is necessary to issue \csb{MTnonlettersobeymathxx} and
-\csb{MTexplicitbracesobeymathxx}.)
-
-At any rate, as said above, whether `small' or not, delimiters are
-unresponsive to math alphabet commands, due to technical aspects of \TeX, and
-the way \mst handles these things. Examples: |\mathbf{<a,b>}| gives
-$\mathbf{<a,b>}$
-%{\setbox0\hbox{$\mathbf{<a,b>}$}\typeout{ICI}\showboxdepth\maxdimen
-% \showboxbreadth\maxdimen \showbox0}
-(no use of |\left/\right|, hence brackets do obey the math alphabets --- as we
-issued \MTnonlettersobeymathxx a bit earlier), |\mathbf{\left<a,b\right>}|
-gives $\mathbf{\left<a,b\right>}$ (brackets used with |\left/\right| do not
-obey the math alphabets), |\mathbf{\mathopen{<}a,b \mathclose{>}}| gives
-$\mathbf{\mathopen{<} a,b \mathclose{>}}$ (no |\left/\right|, brackets
-do obey the math alphabets).
-
-\endgroup
-For comparison, the \LaTeX{} standard behavior for
-\centeredline{|\mathbf{\mathopen{<}a,b\mathclose{>}}|}
-is $\mathbf{\mathopen{<} a,b
- \mathclose{>}}$ (neither brackets nor the comma do respond).
-
-
-\subsection{Unicode engines}
-
-\mst is minimally Unicode aware since |1.12| and can be used with \XeTeX{} or
-\LuaTeX{}. Starting with release |1.3|, it needs |luatex| to be at least
-as recent as the one which was provided with the TL2013 distribution.
-
-However \mst applies only to (a subset of) the |32-127| ascii range, and
-optionally to Greek letters, but for the latter only if provided via ``\TeX\
-fonts'' such as Euler, Symbol or LGR-encoded fonts.
-It does not know how to use a given Unicode font simultaneously for Latin and
-Greek letters.
-
-Thus, first consider much better alternatives:
-\begin{itemize}
-\item Since 2018, the package \ctanpkg{mathfont}%
-%
-\footnote{Conrad \textsc{Kosowsky}, \emph{Use TrueType and OpenType fonts in math mode}
-\url{https://ctan.org/pkg/mathfont}.}
-%
-adapts Unicode text fonts to usage in math mode. It works with both \XeTeX\
-and \LuaTeX.
-\item For \XeTeX\ only, \ctanpkg{mathspec}%
-%
-\footnote{Andrew Gilbert \textsc{Moschou}, \emph{Specify arbitrary fonts for mathematics in \XeTeX}
-\url{https://ctan.org/pkg/mathspec}.}
-%
-also allows usage of arbitrary text fonts in mathematics.
-\item and of course
-\ctanpkg{unicode-math}%
-%
-\footnote{Will \textsc{Robertson}, et al., \emph{Unicode mathematics with
- support for XeTeX and LuaTeX} \url{https://ctan.org/pkg/unicode-math}.}
-%
-is the standard package for using OpenType fonts which are equipped with the needed extra
-support being used in \TeX\ math mode.
-\end{itemize}
-
-If using any one of the above you probably don't need, don't want, and should
-not use \mst.
-
-Let me insist that \mst has not been tested in any systematic
-manner under the Unicode engines; and that it is expected to be most definitely
-incompatible with \ctanpkg{unicode-math}, although your mileage may vary and some
-features may appear to work.
-
-When using \mst with either \XeTeX{} or \LuaTeX{} it is recommended to use the
-\ctanpkg{fontspec} package (see remark below on \cs{encodingdefault}). Furthermore,
-if using \ctanpkg{fontspec} it is \emph{necessary} to load it with its
-|no-math| option, and this \emph{must} happen before loading \mst.
-\begin{framed}
-\begin{itemize}[label=$\bullet$, leftmargin=1em]
-\item
- Use \ctanpkg{fontspec} with its
- \emph{no-math} option, and load it \emph{prior} to \mst. As some packages
- load \ctanpkg{fontspec} themselves (for example |polyglossia|), a
- \centeredline{|\PassOptionsToPackage{no-math}{fontspec}|} early in the
- preamble might be needed.
+it is perhaps a bit strange to have $\left< x\right>$ and $\left< y\right>$
+not use the same bracketing glyphs, there is an option nosmalldelims: with
+this option the small-sized variants of the delimiters are not modified by
+\mst (option nosmalldelims has the side effect that, for the non-delimiter
+uses of |\{, \}| to be \mst-ified it is necessary to issue
+\csb{MTnonlettersobeymathxx} and \csb{MTexplicitbracesobeymathxx}.)\par
\item
- The \ctanpkg{amsmath} package, if used, \emph{must} be loaded \emph{prior} to \mst.
-
-\item
- Under |lualatex| engine, it is recommended to also load the package
- \ctanpkg{lualatex-math}.% Please check its documentation as possibly it has now
- % been incorporated upstream (I am not following up on the situation).
+At any rate, as said above, whether `small' or not, delimiters will remain
+unresponsive to math alphabet commands, due to technical aspects of \TeX, and
+the way \mst handles these things. Examples:
+\begin{itemize}[nosep]
+\item |\mathbf{<a,b>}| gives $\mathbf{<a,b>}$: no use of |\left/\right|, hence
+ brackets do obey the math alphabets --- as we issued
+ \MTnonlettersobeymathxx a bit earlier,
+\item |\mathbf{\left<a,b\right>}| gives
+ $\mathbf{\left<a,b\right>}$: delimiters used with |\left/\right| will not obey
+ the math alphabets,
+\item |\mathbf{\mathopen{<}a,b \mathclose{>}}| gives
+ $\mathbf{\mathopen{<} a,b \mathclose{>}}$: no |\left/\right|, so the
+ brackets do obey the math alphabets due to \MTnonlettersobeymathxx.
+\item
+\MTnonlettersdonotobeymathxx
+to compare, the \LaTeX{} standard for
+|\mathbf{\mathopen{<}a,b\mathclose{>}}| is to produce
+$\mathbf{\mathopen{<} a,b \mathclose{>}}$: neither brackets nor the comma are
+responding to \cs{mathbf}.
\end{itemize}
-\end{framed}
-
-% obsolete with release 1.3:
-% A little piece of the functionality of \mst is less fully
-% realized under the \LuaLaTeX{} engine than it is with
-% \XeTeX{}. This is a temporary situation as the needed feature
-% of \LuaLaTeX{} has been implemented in its latest development
-% release. I will update \mst when these binaries will have
-% reached the distribution stage.
-
-I already mentioned in the section \ref{sec:ic} the fact that
-the italic corrections were not available for OpenType fonts
-under the \XeTeX{} engine and only partially available for the
-\LuaTeX{} engine, with the result that the spacings in math
-mode when using for the letters an upright text font will be
-less satisfying than with the standard PDF\TeX{} engine (the
-OpenType fonts not being usable with the latter engine, this is
-not a criterion of choice anyhow).
-
-To define math versions when using unicode fonts, use \ctanpkg{fontspec}'s
-\cs{setmainfont} before the \cs{Mathastext}\oarg{version} command, or simply
-before loading \mst for the default math versions.
-
-It is possible to mix usage of Unicode fonts and classical \TeX{}
-fonts. All used 8bits font encoding must have been passed as
-options to the \ctanpkg{fontenc} package.
-
-\subsubsection{The unicodeminus option}
-
-For legacy reason, \mst uses by default the |EN DASH U+2013| for the minus
-sign in math mode, if the font is determined to be a ``Unicode'' font.
-
-There is now the unicodeminus\RightNote{1.3q} to use rather
-% BORDEL DE BORDEL DE FAIT CHIER \verb ET Text for \verb command ended by end
-% of line. je l'ai patch dans etoc et xint mais pas ici encore.
-|MINUS SIGN U+2212|.%
-\footnote{Thanks to Tobias~\textsc{Brink} who asked for this feature.}
-%
-Check \hyperref[nicodeminus]{\ttfamily\hyphenchar\font=189 its documentation}
-on page \pageref{nicodeminus}.
+\end{itemize}
+\end{footnotesize}
-\subsubsection{Two examples}
+\endgroup
-I include
-here two examples which compiled successfully with \XeTeX{} and
-\LuaLaTeX{}, the first one on a Linux machine, the second one on a Mac
-OS X machine.\footnote{A |tex mathastext.dtx| (in a temporary repertory) on a
- copy of |kpsewhich mathastext.dtx| will extract extended versions of
- these examples as test files.}
+\subsubsection{Hacking letters (and even digits) for special tasks}
+\label{ssec:hackingletters}
+
+For some ascii characters, i.e.\@ the ``hard'' non-letters considered in the
+previous section, and even more spectacularly for all ascii letters, \mst
+achieves the capabilities describes in earlier sections via a \TeX nique known
+as ``mathematically active characters''. For letters this is turned on by
+default, but for the non-letter characters it is the command
+\cs{MTnonlettersobeymathxx} which triggers this mathematical activation.
+
+It is possible for daring \LaTeX{} users to hook into this architecture.
+Release \mstrelease{1.4} has made this especially easy regarding ascii letters
+(and even for digits if using the package option activedigits).
+
+Except if told otherwise, \mst will make all Latin ascii letters mathematically
+active, and when \TeX{} encounters e.g.\@ `e' in math mode it replaces it with
+the macro having name \cs{MTcommandlettere} (mind the ending |e|). Its
+default definition inserts \hyperref[sec:mathskips]{optional extra skips}
+and/or an \hyperref[sec:ic]{italic correction}.
+
+You can redefine this \cs{MTcommandlettere}, or any
+\cs{MTcommandletter}\meta{ascii-letter}, to achieve (globally or locally)
+custom goals.%
+%
+\footnote{\CHANGED{\mstrelease{1.4}}%
+Prior to \mstrelease{1.4}, there was no equivalent to
+\cs{MTcommandletter}\meta{letter}. An internal macro \cs{mst@}\meta{letter}
+stood for what is denoted now \cs{MTmathcharletter}\meta{letter}, but required
+a \cs{protected} if redefined as it was submitted to an \cs{edef} during
+processing.}
+%
+Attention, this redefinition should not use `e' itself as a ``naked''
+character to typeset in math mode, else an infinite loop will arise at time of
+use. To access a symbol equivalent to the ``naked'' `e', use
+\cs{MTmathcharlettere} (again mind the ending |e|). For example:
\begin{verbatim}
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage[subdued,italic]{mathastext}
-\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
-\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
-\setmainfont[Color=00FF00]{DejaVu Serif} \Mathastext[DejaVu]
-\MTDeclareVersion{times}{T1}{ptm}{m}{n}
-\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
-\begin{document}
-\newcommand\TEST[1]{\MTversion{#1}%
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789}
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{DejaVu}\TEST{Verdana}\TEST{times}\TEST{Andale}
-\TEST{Arial}\TEST{bold}\TEST{normal}
-\end{document}
+\renewcommand\MTcommandlettere{\mathsf{\MTmathcharlettere}}% not \mathsf{e}!
\end{verbatim}
-And now the same thing with fonts available on Mac OS X:
+In this case we could do the simpler approach with \cs{textsf}, which works
+as it will then typeset the |e| in text mode, not math mode.
\begin{verbatim}
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage[subdued,italic]{mathastext}
-\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
-\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
-\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
-\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
-\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
-\begin{document}
- --- copy here the code from the previous example ---
-\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
-\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}
-\end{document}
+\renewcommand\MTcommandlettere{\textsf{e}}% not \mathsf{e}!
\end{verbatim}
-% The test files which will be produced by running |latex| on
-% |mathastext.dtx| are more extent.
-
-\subsection{Compatibility issues}\label{sec:compat}
+This gives a priori the same result in our \mst context, which
+picks the font for \cs{mathsf} from the one used by \cs{textsf}, assuming here
+default configuration in the preamble following the loading of \mst.%
+%
+\footnote{This example simply reassigns \texttt{e} to another font, and one
+could use also the \LaTeX{} command \cs{DeclareMathSymbol} for this. But few
+\LaTeX{} users are familiar with its interface, and such an approach could
+cost adding an extra math symbol font, depending on what one wants to do.
+Besides \cs{DeclareMathSymbol} is a preamble-only command, which limits
+considerably its usability, forcing basically the change to apply to the whole
+document. Using the \mst interface via mathematically active characters opens
+up the possibility of arbitrary replacements, of local scope in the document
+body.}
-Compatibility issues (or just questions of who decides last) are naturally to
-be expected with packages dealing with the math setting; the fix is simply to
-load \mst last. And one should always load |amsmath| before \mst (this is
-especially true when using Unicode engines but applies in general as well).
-
-Any definition made in a package loaded before \mst of the font to be
-used for letters or for the common characters in the |ascii| basic range
-will be overruled by the loading of \mst (this includes the case
-when the earlier package had made the character `mathematically active').
-Conversely most of the set-up done by \mst may well be overruled by
-packages loaded later which do math related things.
-
-Starting with version |1.2|, \mst makes some characters `mathematically
-active' to achieve certain effects: automatic insertion of the italic
-corrections when using an upright text font in math, extended scope of
-the math alphabet commands which now apply to non-letter symbols (and
-also to math operator names, but this is much easier to achieve). And
-the (already mathematically active) right quote is modified to have some
-extra space added before the derivative glyph ${}'$.
-
-This is compatible with using \cs{label} and \cs{ref} in and outside of
-math mode. But a difficulty arises when some other package has made the
-character `globally active' everywhere in the document. The action of
-\mst is made anew at each mathematical inline or displayed formula. If
-it is detected that a character has been activated then nothing further
-will be done (so the \mst feature\footnote{italic correction insertion
- for the latin letters, receptivity to the math alphabet action for the
- other characters.} for that character is lost) \emph{except} if it
-appears that this activation was done by the Babel system. In that case
-\mst does not make the character mathematically active but it modifies
-in the appropriate manner the action of Babel for that character in math
-mode. Furthermore \mst makes the character mathematically
-\emph{inactive}.\footnote{only the characters
- {{;}\,{,}\,{:}\,{!}\,{?}\,{+}\,{\textendash}\,{=}\,{<}\,{>}\,{(}\,{)}\,{[}\,{]}\,*}
- mentioned in section \ref{sec:mathxx} as `difficult non letters' (and
- the right quote {'}) and
- the latin letters are concerned here; it seems highly unprobable that
- a latin letter ${\in}\{a\mbox{--}z,A\mbox{--}Z\}$ will have been made
- globally active (only letters never being used in command names are
- possible candidates), but \mst has been
- designed to cope with it, should it happen ...}
-
-Here is indeed some code that you should \textbf{not} try at
-home:
+
+It is recommended in general to add an extra pair of braces
+to avoid problems when used with |_| and |^|. Let's give an other example and
+demonstrate its output:
\begin{verbatim}
- \documentclass{article}
- \usepackage[french]{babel}
- \usepackage{mathtools}\mathtoolsset{centercolon}
- \begin{document}
- $:$
- \end{document}
+\[
+\renewcommand\MTcommandlettere{{\mathcolor{blue}{\mathsf{\MTmathcharlettere}}}}%
+abcde^efgh
+\]
\end{verbatim}
-\fbox{DO NOT DO THIS AT HOME}\thinspace: it creates an infinite
-loop.\footnote{This seems to still be the case with Babel |3.9f| and
- frenchb.ldf |2.6e|, as tested on Sep. 2, 2013. Again tested with up-to-date
- TL2015 Jan. 15, 2016 with same result.} This is due
-to the fact that the colon is simultaneously active (this is made by
-\ctanpkg{babel-french} at begin document) and mathematically active (done by
-\ctanpkg{mathtools} in the preamble). The interaction gives an infinite loop. Such a
-situation will be cured by \mst, even loaded before \ctanpkg{mathtools},
-\emph{if} use is made of \cs{MTnonlettersobeymathxx}. At each math formula
-\mst will detect that Babel has activated the colon, and will cancel the
-mathematical activation (the precise definition done by \ctanpkg{mathtools} was
-already lost at begin document due to overwriting by \ctanpkg{babel} but the fact that
-the character was mathematically active remained true).
+\MTversion{times}
+\[
+\renewcommand\MTcommandlettere{{\mathcolor{blue}{\mathsf{\MTmathcharlettere}}}}%
+abcde^efgh
+\]%
+\MTversion{normal}%
+As this document is in subdued mode, we had, to show the effect, to
+switch temporarily to some math version activating \mst, and we used here a
+|times| math version with Times and Helvetica clones.
+
+If you redefine \cs{MTcommandlettere} as described in this section the optional extra
+math skips added before or after via \MTsetmathskips will be lost, as well
+as the automatic italic correction |\/| added by \mst for an upright font, and it
+is up to the redefinition of \cs{MTcommandlettere} to do the job.
+
+The explanations above apply to any (ascii) Latin letters \meta{ascii-letter}
+with associed macros \cs{MTcommandletter}\meta{ascii-letter} and ``naked''
+symbol command \cs{MTmathcharletter}\meta{ascii-letter}.
+
+With option activedigits you can even extend the game to digits. The
+``raw'' digit symbol is kept as a math symbol control sequence
+\cs{MTmathchardigit}\meta{y} where \meta{y} stands for the Roman version of
+the digit: empty
+for $0$, then |i|, |ii|, etc... until |ix|. The macro to redefine for special
+effect is \cs{MTcommanddigit}\meta{y}. Example:
+\begin{verbatim}
+\[
+\renewcommand\MTcommanddigit{{\MTmathchardigit^{\mathcolor{blue}{1}}
+ _{\mathcolor{red}{2}}}}%
+\renewcommand\MTcommanddigiti{{\boxed{\mathbf{\MTmathchardigiti}}}}
+0^0_0
+\]
+\end{verbatim}
+\MTversion{times}
+\[
+\renewcommand\MTcommanddigit{{\MTmathchardigit^{\mathcolor{blue}{1}}
+ _{\mathcolor{red}{2}}}}%
+\renewcommand\MTcommanddigiti{{\boxed{\mathbf{\MTmathchardigiti}}}}
+0^0_0
+\]%
+\MTversion{normal}%
+(\cs{boxed} is from \ctanpkg{amsmath}) Let's hope you find better
+usage... recall that you can't use digit $0$ in its redefinition but must use
+\cs{MTcommanddigit}. But you can of course use other digits... except if
+their definitions use the digit $0$ rather than the non-active symbol control
+sequence \cs{MTmathchardigit}.
+See also \MTmathactiveletters and \MTmathactivedigits.
- So far I have briefly described the problem of document active
- characters (see the test file |mathastexttestalphabets.tex| for more
- explanations and illustrations, and the commented source code of the
- package). Pure mathematical activation revealed an incompatibility of
- another type with \ctanpkg{amsmath}. To fix it, \mst now replaces
- an inner macro of \ctanpkg{amsmath}
- (\cs{resetMathstrut@}) with its own version.\\
- \null\hspace{1cm}\fbox{Always load \ctanpkg{amsmath} before \mst.}\\
- Actually this last commandment was already made necessary by the use of the
- text endash to represent the minus sign in math mode, and, especially for
- Unicode engines, some aspects of the \cs{DeclareMathOperator} macro from
- \ctanpkg{amsmath}.
-
- \begin{framed}\kern-.75\baselineskip
- \begin{framed}
- \textbf{Important!} As is mentioned in the section \ref{sec:mathxx},
- after command \MTnonlettersobeymathxx, characters such as
- |?|, or |[|, now represent \emph{two} `tokens' and this will utterly
- confuse \TeX{} if some precautions are not taken. Examples: |$0^+$| or
- |$x\mathrel?y$| or |$R^*$| \emph{must} be input now as |$0^{+}$|
- and, respectively,
- |$x\mathrel{?}y$| or |$R^{*}$|. This is why the package does
- \MTnonlettersdonotobeymathxx by default.
- \end{framed}\vskip-.75\baselineskip
- \end{framed}
- One thing to take note of is that this mechanism uses the \cs{everymath}
- and \cs{everydisplay}, so if it is needed to add to these \TeX{} `token
- lists' some additional things this should be done in a way preserving the
- former contents.
-
- If one issues (after |\begin{document}|) |\everymath={}| and
- |\everydisplay={}| this annihilates not only all the \mst (evil ?) doings
- with math active characters but also everything else some other package
- might have put in these token registers, so it is better, if the need
- arises to cancel the math activation of characters done by \mst to use the
- command \MTeverymathoff, which does all of
- \MTmathoperatorsdonotobeymathxx, \MTnonlettersdonotobeymathxx (already
- default), \MTmathstandardletters, \MTnormalprime, and
- \MTnormalasterisk. This is supposed to be used in a group or
- environment (as there is no |\MTactivemathon|). It must be used prior to
- entering math mode.
-
- \begin{framed}
- \textcolor{magenta}{\bfseries New with 1.3i:} \mst patches |\url| of
- packages \ctanpkg{url} and \ctanpkg{hyperref}, and also |\nolinkurl|, to force them
- to do automatically \MTeverymathoff. Indeed they use math mode, and it
- is better to turn \mst off for their dealings.
- \end{framed}
-
% 2 septembre 2013; finalis 22:58
% Mardi 19 dcembre 2023: l'utilisation de bleu alors que ce n'est
@@ -4503,7 +4202,7 @@ option).
\item \mstcmd{Mathastext} (or \mstcmd{mathastext}) reinitializes \mst: it sets the
fonts used in math mode (in versions |normal| and |bold|) for letters,
digits and a few ascii symbols to the \emph{current} defaults of encoding,
- family, series and shape.\footnote{\texttt{\char92Mathastext} updates also
+ family, series and shape.\footnote{\csb{Mathastext} updates also
the font and shapes for the Greek letters (|LGRgreek| option), and the
skips to be inserted after the symbols $\oldforall$ and $\oldexists$,
see \emph{infra.}} Both the normal and bold math version are modified by
@@ -4517,7 +4216,7 @@ option).
the \LaTeX{} \cs{DeclareMathVersion} macro. \emph{Do not use}
|\string\Mathastext[foo]| \emph{with
|foo| equal to ``normal'' or ``bold'';} this is already taken care of by the
- initial loading of the package or a later command \cs{Mathastext}
+ initial loading of the package or a later command \csb{Mathastext}
without any optional argument. And it will be rejected.}
\item %\textbf{inheritance:}
\csb{Mathastext}\oarg{version\_name}\oarg{parent\_name}
@@ -4553,7 +4252,7 @@ option).
\mstcmd{MTlettershape}\marg{sh}.%
%
\footnote{These commands exist also with
- long names: \texttt{\char92Mathastextencoding},
+ long names: \csb{Mathastextencoding},
etc\dots{} The same applies to the other commands
mentioned in this section.}
%
@@ -4597,7 +4296,7 @@ optional argument) will these commands have any real effect.
of the time of loading the package.} else letters will
have the same shape as used for digits and operator-names.
- Another optional argument may be used as last argument.\RightNote{1.3c}
+ Another optional argument may be used as last argument.\RightNote{\mstrelease{1.3c}}
Similarly as its
use with \Mathastext this makes the declared math version inherit, for
things not modified by \mst like large symbols, the font set up of the math
@@ -4645,7 +4344,7 @@ optional argument) will these commands have any real effect.
redefined). In the absence of the optional argument, the mandatory one is
used. The versions \emph{must} be either |normal|, or |bold|, or previously
declared ones via \Mathastext or \MTDeclareVersion.
- \item the starred variant\RightNote{1.3c} does the math set-up, but changes \emph{nothing} to
+ \item the starred variant\RightNote{\mstrelease{1.3c}} does the math set-up, but changes \emph{nothing} to
the text fonts (see \autoref{sec:mathversions} for a description of the math
set-up, which summarizes
what is done additionally to only using \LaTeX{}'s |\mathversion|).
@@ -4659,7 +4358,7 @@ optional argument) will these commands have any real effect.
option the package checks separately the letter shape for lowercase and
uppercase.
- \RightNote{1.3j}\MTversion also does \MTexistsdoesskip,
+ \RightNote{\mstrelease{1.3j}}\MTversion also does \MTexistsdoesskip,
\MTforalldoesskip, and also \MTprimedoesskip,
\csb{MTmathoperatorsobeymathxx}, except under the |subdued| option for
\emph{normal} and \emph{bold}, in which case it does the opposite actions.
@@ -4668,17 +4367,13 @@ optional argument) will these commands have any real effect.
the |italic| option) combining the |h| letter and the \={ } accent from the
\mst font. Note that \cs{mathrm}|{\hbar}| and \cs{mathbf}|{\hbar}| will
work and that \cs{hbar} does scale in subscripts and exponents. Since
- |1.3u|, this is a priori compatible with all 8bits text font
- encodings\RightNote{1.3u} supporting the |\=| text accent in
+ \mstrelease{1.3u}, this is a priori compatible with all 8bits text font
+ encodings\RightNote{\mstrelease{1.3u}} supporting the |\=| text accent in
the LaTeX way.%
%
-\footnote{\RightNote{1.3u}The horizontal skips for letter |h| from
- \cs{MTsetmathskips} are ignored for \cs{hbar}.% Formerly, a positive
- % ``before'' skip was not properly taken into account for the horizontal
- % positioning of the accent and thus gave a bad result. The user can extend
- % the package \cs{hbar} definition to add skips.
-}
-\footnote{\RightNote{1.3u}The \cs{hbar} redefinition is canceled in normal and
+\footnote{\RightNote{\mstrelease{1.3u}}The horizontal skips for letter |h| from
+ \csb{MTsetmathskips} are ignored for \cs{hbar}.}
+\footnote{\RightNote{\mstrelease{1.3u}}The \cs{hbar} redefinition is canceled in normal and
bold math versions under the |subdued| option.}
\item \mstcmd{fouriervec}: this is a |\vec| accent taken from the Fourier font;
@@ -4687,7 +4382,7 @@ if option fouriervec.
\item \mstcmd{pmvec}: this provides a poor man \cs{vec} accent command, for
upright letters. It uses the right arrow. Does not change
size in subscripts and exponents.
-\item \RLNote{new description:}{1.3za}\mstcmd{Mathnormal}, \mstcmd{Mathrm},
+\item \RLNote{new description:}{\mstrelease{1.3za}}\mstcmd{Mathnormal}, \mstcmd{Mathrm},
\mstcmd{Mathbf}, \mstcmd{Mathit}, \mstcmd{Mathsf}, \mstcmd{Mathtt}: they use the
\mst-ified fonts. By default, \mstcmd{mathnormal}, \mstcmd{mathrm},
\mstcmd{mathbf}, \mstcmd{mathit}, \mstcmd{mathsf}, \mstcmd{mathtt} are redefined
@@ -4707,7 +4402,7 @@ size in subscripts and exponents.
This command is also made available under subdued option in
the ``normal'' and ``bold'' math versions, as \LaTeX\ does not define it a
priori, contrarily to \mathbf and other math alphabet commands.
- \item \RightNote{1.3x}\mstcmd{mathgreekup}: math alphabet, only available
+ \item \RightNote{\mstrelease{1.3y}}\mstcmd{mathgreekup}: math alphabet, only available
under LGRgreek (or LGRgreeks) option, which gives access to `upright'
Greek letters (picked up from a font available in |LGR|-encoding). Note
that the package also defines \cs{alphaup}, \dots, \cs{piup}, \dots\
@@ -4725,7 +4420,7 @@ size in subscripts and exponents.
support as long as suitable usage of \MTgreekfont later on configures a
suitable font).
- \RightNote{1.3za}Also \mstcmd{mathgreekupbold}.
+ \RightNote{\mstrelease{1.3za}}Also \mstcmd{mathgreekupbold}.
\begin{footnotesize}
These math alphabets are also available under subdued option in the
@@ -4764,14 +4459,14 @@ size in subscripts and exponents.
the subdued option anyhow.\par
\end{footnotesize}
-\item \RightNote{1.3x}\mstcmd{mathgreekit}: math alphabet, only available
+\item \RightNote{\mstrelease{1.3y}}\mstcmd{mathgreekit}: math alphabet, only available
under LGRgreek (or LGRgreeks) option, which gives access to `italic'
Greek letters (picked up from a font available in |LGR|-encoding). The
actual shape is configurable via re-defining \MTgreekitdefault and then
redeclaring the math version via \Mathastext (with optional argument if
for a math version other than the ``normal'' one), or \MTDeclareVersion.
- \RightNote{1.3za}Also \mstcmd{mathgreekitbold}.
+ \RightNote{\mstrelease{1.3za}}Also \mstcmd{mathgreekitbold}.
\begin{footnotesize}
See the discussion of \mathgreekup for some \TeX\ hacker level
@@ -4782,13 +4477,6 @@ size in subscripts and exponents.
font for use in math mode. By default, |\imath| and |\jmath| are redefined to use
them. Since \texttt{1.3t}, these macros obey the \texttt{subdued}
regime.
-%
-% \footnote{\RightNote{1.3t}Formerly (i.e.\@ since \texttt{1.12}) \mst
-% redefined the \texttt{\string\i} and \texttt{\string\j} as robust
-% commands usable both in text and math mode and using the above macros
-% in the latter. I have decided it wasn't such a good idea and there is
-% from now on \texttt{1.3t} no such redefinition of \texttt{\string\i}
-% and \texttt{\string\j}!}
\item \mstcmd{MathEuler}, \mstcmd{MathEulerBold}: math alphabets to access
all the glyphs of the Euler font, if option |eulergreek| (or
|eulerdigits| was passed to the package.
@@ -4811,14 +4499,14 @@ all the glyphs of the Euler font, if option |eulergreek| (or
\cs{let}\cs{varepsilon}$=$\cs{epsilon}, etc\dots,
in case only the `variant' form of the letter was used
in the documents.
-\item \hypertarget{symbolmisc}{Miscelleneous mathematical symbols} from the
+\item \hypertarget{symbolmisc}{Miscellaneous mathematical symbols} from the
postscript Symbol font are made available (or replaced) by option
symbolmisc.\footnote{option \blueit{asterisk} is also required to treat the
$*$.
Recall from \autoref{sec:mathxx} that the asterisk in math mode (also
when using the control sequence \cs{ast}) appears then to \TeX{} to be
a composite object.}
- \makeatletter\let\mst@doasterisk\mst@@doasterisk\makeatother They are
+ \MTactiveasterisk They are
\cs{prod}~$\prod$ \cs{sum}~$\sum$ \cs{implies}~$\implies$
\cs{impliedby}~$\impliedby$ \cs{iff}~$\iff$ \cs{shortiff}~$\shortiff$
\cs{to}~$\to$ \cs{longto}~$\longto$ \cs{mapsto}~$\mapsto$
@@ -4864,64 +4552,106 @@ comments).
The timing for actions of \mst falls into three cases:
\begin{enumerate}
-\item things done during the loading of the package, or delayed to
- |\AtBeginDocument|,
+\item things done by \mst itself during its loading (some are delayed to
+ |\begin{document}|),
\item things done as the result of user commands, either in the preamble or in
- the body of the document,
+ the body of the document, (but note that some commands if used in preamble
+ have a real effect only at the time of |\begin{document}|),
\item things done everytime math mode is entered.
\end{enumerate}
-The second category overlaps with the others, as the (preamble) use of some
-commands can have either immediate effect or only trigger some actions in
-|\AtBeginDocument| or perhaps only influence the things done later by \mst
-each time math mode is entered.
-
-The third category deserves some brief additional comments: it mainly (but not
-exclusively) regards the ``math activation'' of characters, and conversely all
-``math activations'' fall into this category. The package re-checks each time
-math mode is entered if some characters have been made in-between catcode
-active, or math active, and takes appropriate decisions: one important aspect
-of this issue is that |babel|'s mechanism for activating character was not, last
-time I checked, very robust against math active characters. I now checked
-again (on January 15, 2016) that
-\begin{verbatim}
- \documentclass{article}
- \usepackage[french]{babel}
- \usepackage{mathtools}\mathtoolsset{centercolon}
- \begin{document}
- $:$
- \end{document}
-\end{verbatim}
-creates an infinite loop (see section \ref{sec:compat} where this was
-mentioned already, some years ago). Thus \mst has (since |1.2e 2013/01/10|) a
-somewhat elaborate mechanism related to these issues (see the code comments),
-installed into the list of things done by \TeX\ systematically each time
-it enters math mode. For some legacy reason the package also puts into
-this list a few other things which could arguably be done elsewhere once and
-for all. The command \csb{MTeverymathoff} cancels all actions done by
-\mst.
+At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} a very significant
+change took place: the last category, the one of things done everytime math mode
+is entered, has become \emph{empty}.%
+%
+\footnote{There ia always an exception to a good
+rule, and here it is: only with \LuaLaTeX{} engine, a certain
+command is executed as part of \cs{everymath}. For details see
+\csb{MTfixfonts}.}
+
+The everymath option added at \mstrelease{1.4} re-establishes the legacy
+behavior. Except for ascii letters: they will not even then be made
+mathematically active at each entrance in to math mode, but only once at time
+of package loading (if not subdued) and also when using \MTversion (for
+non-subdued math versions).
+
+\begin{shaded*}
+Under everymath option some commands described here as being usable
+everywhere have in fact an effect only if used externally of math mode.
+The documentation is only accurate for the default \mstrelease{1.4}
+configuration, not for the legacy one as re-enacted by everymath.
+\end{shaded*}
+
+\subsubsection{Expert commands which are preamble-only}
+
+\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+\item \mstcmd{MTgreekupdefault}:\RightNote{\mstrelease{1.3y}} a command with
+ no argument whose expansion specifies, under LGRgreek regime, the
+ shape for the `|up|' Greek control sequences (and for the no-postfix
+ Greek control sequences under upgreek option) in all \mst math
+ versions declared \emph{afterwards} via \cs{Mathastext} or
+ \cs{MTDeclareVersion}. The a priori default for this shape is `|n|'
+ (without the quotes). See
+ \autoref{sec:newgreek}.
+
+ This command can also be defined \emph{prior} to loading the package,
+ as the package itself only does:
+ \centeredline{|\providecommand*\MTgreekupdefault{n}|}
+
+\item \mstcmd{MTgreekitdefault}:\RightNote{\mstrelease{1.3y}} a command with
+ no argument whose expansion specifies, under LGRgreek regime, the
+ shape for the `|it|' Greek control sequences (and for the no-postfix
+ Greek control sequences under itgreek option) in all \mst math
+ versions declared \emph{afterwards} via \cs{Mathastext} or
+ \cs{MTDeclareVersion}. The a priori default for this shape is `|it|'
+ (without the quotes).
+ See \autoref{sec:newgreek}.
+
+ This command can also be defined \emph{prior} to loading the package,
+ as the package itself only does:
+ \centeredline{|\providecommand*\MTgreekitdefault{it}|}
+\end{enumerate}
+
\subsubsection{Expert commands usable everywhere}\label{sec:cmds}
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+ \item \mstcmd{MTcustomgreek}:\RightNote{\mstrelease{1.3d}} in case \mst has been loaded with one of its
+ Greek related options, this activates the corresponding
+ customization of Greek letters in math mode. It is issued
+ automatically by the package in the preamble (except if loaded with
+ |subdued| option) and at each switch of math version via
+ |\MTversion| or |\MTversion*| (except for the normal and bold math
+ versions in subdued mode). Also available as
+ |\Mathastextcustomgreek|. May be used even inside of math mode.
+
+ \item \mstcmd{MTstandardgreek}:\RightNote{\mstrelease{1.3d}} in case \mst was loaded with one of the Greek
+ related options this command reverts the customization, it resets the Greek
+ letters to their definitions in force at package loading time. Can be used
+ in the preamble, but is mainly for the document body (may even be used
+ inside math mode ...). Done automatically
+ under the |subdued| option when switching to the normal or bold math
+ version. Also available as |\Mathastextstandardgreek|.
+
+
\DeleteShortVerb{\|}%
\item \mstcmd{MTsetmathskips}\marg{a-z|A-Z}\marg{muglue\_before}\marg{muglue\_after}:
%
\MakeShortVerb{\|}%
%
- is\RightNote{1.3a} used to specify extra skips (or rather mu glue) to be
+ is\RightNote{\mstrelease{1.3a}} used to specify extra skips (or rather mu glue) to be
inserted in math mode, before and after a letter. The rationale is that
standard text fonts used in math mode may sometimes cause glyph (near-)
collisions with math symbols, as \TeX{} has some implicit expectations on the
design of fonts for math letters.
- \begin{framed}
+ \begin{snugshade}
These extra skips around letters are set at their natural width and do not
add any stretchability or shrinkability to the math formula as a whole,
nor do they result in extra potential break points.
- \end{framed}
+ \end{snugshade}
Random (silly) examples:
\centeredline{|\MTsetmathskips{x}{\medmuskip}{\thickmuskip}|} \centeredline
@@ -4941,19 +4671,19 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
\makeatother
\end{verbatim}
- \begin{framed}
+ \begin{snugshade}
\emph{\color{magenta}\bfseries Starting with |v1.3i|:} the extra skips are
\emph{not} applied to the letters within the scope of math alphabet
commands, or the letters from operator names (pre-defined or user
declared).
- \end{framed}
+ \end{snugshade}
{\footnotesize
Note that contrarily to the \csb{MTexistsskip}, \csb{MTforallskip}, and
\csb{MTprimeskip} commands described next, these extra skips (which may be
specified in the preamble) are not recorded in the definition of the math
- version (as defined via \Mathastext with its optional argument or via
- \MTDeclareVersion). The declared skips hold thoughout the document
+ version (as defined via \csb{Mathastext} with its optional argument or via
+ \csb{MTDeclareVersion}). The declared skips hold thoughout the document
until modified or canceled, independently of math versions (of
course, \mst cancels the skips in the normal and bold math versions if
package option \blueit{subdued} was used).\par}
@@ -4967,18 +4697,15 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
cancels the skips
for that letter (they are not set to |0mu| but completely removed).
-
- % setting the skips to |0mu| which prevents formation of ligatures
- % when the letter is used inside a \cs{mathbf} for example). Example (using a
- % version with upright Latin Modern): \centeredline
- % {|\MTsetmathskips{f}{8mu}{0mu}$gffg\MTunsetmathskips{f}ff\mathbf{ff}$|}
- % gives: \begingroup\MTversion{upright}%
- % \MTsetmathskips{f}{8mu}{0mu}$gffg\MTunsetmathskips{f}ff\mathbf{ff}$\endgroup.
- % The ligature was correctly formed.
-
The argument may be a macro (or any expandable code) expanding to a letter.
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalexists}, \mstcmd{MTexistsdoesskip}: the
+ latter (done by default if not |subdued|, and also on each use of
+ |\MTversion| in the body of the document) makes it so that $\oldexists$
+ takes into account the math glue as specified by \MTexistsskip. The
+ former is its opposite.
+
\item \mstcmd{MTexistsskip}\marg{math glue}: specifies the amount of skip or more
generally glue to put after each $\oldexists$ math symbol. Indeed, upright
letters (or digits for that matter) often appear to be positioned a bit too
@@ -4991,17 +4718,13 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
version (and subsequent ones). One may also use the command at any time in
the document. In the case of the option |subdued|, the skip is canceled in
the \emph{normal} and \emph{bold} math versions.
-%
-% \footnote{\RightNote{1.3j}%
-% Formerly, it was set to |0mu|.}
-%
In the case of the option |italic|, the
default skip is set to zero.
-\item \RightNote{1.3j}\mstcmd{MTnormalexists}, \mstcmd{MTexistsdoesskip}: the
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalforall}, \mstcmd{MTforalldoesskip}: the
latter (done by default if not |subdued|, and also on each use of
- |\MTversion| in the body of the document) makes it so that $\oldexists$
- takes into account the math glue as specified by \csb{MTexistsskip}. The
+ |\MTversion| in the body of the document) makes it so that $\oldforall$
+ takes into account the math glue as specified by \MTforallskip. The
former is its opposite.
\item \mstcmd{MTforallskip}\marg{math glue}: the default is to add a |.6667mu| math
@@ -5012,138 +4735,191 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
be declared} math versions. In the case of the option |subdued|, the skip
is canceled in the \emph{normal} and \emph{bold} math
versions.
-%
-%\footnote{\RightNote{1.3j}Formerly, it was set to |0mu|.}
In the
case of the option |italic|, the default skip is zero for all math versions.
One may use the command at any location in the document.
-\item \RightNote{1.3j}\mstcmd{MTnormalforall}, \mstcmd{MTforalldoesskip}: the
- latter (done by default if not |subdued|, and also on each use of
- |\MTversion| in the body of the document) makes it so that $\oldforall$
- takes into account the math glue as specified by \csb{MTforallskip}. The
- former is its opposite.
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalprime},
+ \mstcmd{MTprimedoesskip}: the latter (done by default if not |subdued|,
+ and also on each use of \csb{MTversion} in the body of the document except
+ for the subdued \emph{normal} and \emph{bold} math version) makes it so
+ that $'$ takes into account the math glue as specified by
+ \MTprimeskip. The former is its opposite. In all cases the right quote
+ |'| is a mathematically active character throughout the document producing
+ ${}'$ as is the default in \TeX, it is only its meaning which changes to
+ include or not an extra skip.
-\item \mstcmd{MTprimeskip}\marg{math glue}: the default is to add a |0.5mu| skip
- before the derivative glyph, except for the |italic| option. In the case of
- the option |subdued|, the skip is canceled in the \emph{normal} and
+ \begin{footnotesize}
+ Even though \MTprimedoesskip is not done in the subdued case, it is
+ \emph{not} a no-op even then in the preamble or in the \emph{normal} and
+ \emph{bold} math versions.\par
+ \end{footnotesize}
+
+\item \mstcmd{MTprimeskip}\marg{math glue}: specifies the amount of math
+ skip to add before the derivative glyph. The default iniitial value is
+ |0.5mu|, except with the |italic| option where it is |0mu|. In the case
+ of the option |subdued|, the skip is canceled in the \emph{normal} and
\emph{bold} math versions.
-%
-%\footnote{\RightNote{1.3j}Formerly, it was set to
-% |0mu|.}
-% obsolete et mme faux avec 1.3j
-% \footnote{if \cs{begin\{document\}} is not followed
-% with \cs{MTversion\{normal\}}, the latest values set in the preamble by
-% these commands are used at the beginning of the document,
-% even under option \texttt{subdued}.}
+\item \mstcmd{MTnormalasterisk}, \mstcmd{MTactiveasterisk}: the latter will
+ use for |*| and |\ast| the text font asterisk, suitably lowered; the former
+ if used in the preamble tells \mst to not modify the non-\mst situation, or
+ if used in the body to revert to it. Both are no-op's in absence of option
+ asterisk.
+
+\begin{footnotesize}
+ A legacy feature is that \MTactiveasterisk is \emph{not} a no-op in
+ subdued \emph{normal} or \emph{bold} math versions, and does let the
+ asterisk obey the \MTlowerast configuration, if used explicitly by user
+ (even in the preamble).
+
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} \mst checks at
+ |\begin{document}| (or each time \MTaciveasterisk is made use of) if
+ * is a Babel shorthand (which I far as I know is the case of no
+ language) or is already mathematically active. In the latter case the
+ * is not modified in math mode; and it is not modified either if
+ found to be catcode active but not a \ctanpkg{babel} shorthand. In
+ contrast, the \cs{ast} will always be set to obey \MTlowerast
+ configurtion configuration after \MTactiveasterisk.
-\item \mstcmd{MTlowerast}\marg{dimen}: a \cs{raisebox} command is
+\end{footnotesize}
+
+\item \mstcmd{MTlowerast}\marg{dimen}: under option asterisk
+ a \cs{raisebox} command is
used to lower the text asterisk to produce a reasonable math
asterisk. The package uses this command initially with
argument |0.3\height|, this will have to be fine-tuned for
each given text font but worked out ok with the fonts we
- tried. Note that the dimension argument will be used also in
+ tried. The dimension argument will be used also in
sub-scripts and sub-sub-scripts, so it is best not to use an
- absolute dimension.
+ absolute dimension. The dimension specification is for text
+ it can not be with |mu| unit.
\item \mstcmd{MTmathoperatorsobeymathxx}, \mstcmd{MTmathoperatorsdonotobeymathxx}: the
former is done by default, it makes operator names obey math alphabets. See
- also section \ref{sec:mathxx}. This functionality \emph{does
+ also \autoref{sec:mathxx}. This functionality \emph{does
{\normalfont\bfseries not} rely}
on ``math active characters''. Automatically issued by each \cs{MTversion},
except under option |subdued| when switching to \emph{normal} or \emph{bold}.
- \item \mstcmd{MTcustomgreek}:\RightNote{1.3d} in case \mst has been loaded with one of its
- Greek related options, this activates the corresponding
- customization of Greek letters in math mode. It is issued
- automatically by the package in the preamble (except if loaded with
- |subdued| option) and at each switch of math version via
- |\MTversion| or |\MTversion*| (except for the normal and bold math
- versions in subdued mode). Also available as
- |\Mathastextcustomgreek|. May be used even inside of math mode.
-
- \item \mstcmd{MTstandardgreek}:\RightNote{1.3d} in case \mst was loaded with one of the Greek
- related options this command reverts the customization, it resets the Greek
- letters to their definitions in force at package loading time. Can be used
- in the preamble, but is mainly for the document body (may even be used
- inside math mode ...). Done automatically
- under the |subdued| option when switching to the normal or bold math
- version. Also available as |\Mathastextstandardgreek|.
-\end{enumerate}
-
-\subsubsection{Expert commands which are preamble-only}
-
-\begin{enumerate}[label=$\bullet$, leftmargin=1em]
-\item \mstcmd{MTgreekupdefault}:\RightNote{1.3x} a command with
- no argument whose expansion specifies, under LGRgreek regime, the
- shape for the `|up|' Greek control sequences (and for the no-postfix
- Greek control sequences under upgreek option) in all \mst math
- versions declared \emph{afterwards} via \cs{Mathastext} or
- \cs{MTDeclareVersion}. The a priori default for this shape is `|n|'
- (without the quotes). See
- \autoref{sec:newgreek}.
-
- This command can also be defined \emph{prior} to loading the package,
- as the package itself only does:
- \centeredline{|\providecommand*\MTgreekupdefault{n}|}
-
-\item \mstcmd{MTgreekitdefault}:\RightNote{1.3x} a command with
- no argument whose expansion specifies, under LGRgreek regime, the
- shape for the `|it|' Greek control sequences (and for the no-postfix
- Greek control sequences under itgreek option) in all \mst math
- versions declared \emph{afterwards} via \cs{Mathastext} or
- \cs{MTDeclareVersion}. The a priori default for this shape is `|it|'
- (without the quotes).
- See \autoref{sec:newgreek}.
-
- This command can also be defined \emph{prior} to loading the package,
- as the package itself only does:
- \centeredline{|\providecommand*\MTgreekitdefault{it}|}
-\end{enumerate}
+\item \mstcmd{MTmathactiveletters}:\RightNote{\mstrelease{1.3}}
+ `math activation' of all ascii Latin
+ letters. This is done by the package automatically except under the
+ subdued option.
-\subsubsection{Expert commands usable only outside of math mode}\label{sec:cmdsoutmath}
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} its behavior was
+ modified significantly: instead of setting some toggle obeyed only at
+ entrance of math mode, it acts on the spot immediately.
+\begin{snugshade}
+ Formerly, this command was only a configuration toggle with no immediate
+ impact (and was not usable from inside math mode). Indeed, the \mst work of
+ mathematical activation was done (or not done) \emph{each time} math mode
+ was entered (if not in subdued), and the ascii letters kept standard
+ mathcodes outside of math mode.
+
+ The command now does the mathematical activation on the spot and the meaning
+ of the active shape of the ascii letters --- a priori undefined because
+ typesetting a document with an active ascii letter is near impossible, as no
+ \LaTeX{} command name used in the document can contain it --- is modified
+ here and then; but of course the catcodes are not modified only the
+ mathcodes are. Except if \mst is loaded with the subdued option, this
+ mathematical activation is executed already at package loading time.
+
+ If with the subdued option, the command is inactive in the preamble, as
+ well as in the \emph{normal} and \emph{bold} math versions. In all cases it
+ gets (re-)executed automatically when \MTversion is used for activating a
+ non-subdued math version.
-They are usable only from outside math mode because they act via turning on
-or off the execution, each time math mode is entered, of certain macros added
-by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
+ \begin{footnotesize}
+ The new situation may be dangerous if the document author makes a letter,
+ say |A|, catcode active at some point, with a definition of the active
+ state using |\string A|. As \mst has (earlier, in the preamble) set |A|
+ to be mathematically active as well, and as the \cs{string} changes
+ nothing to that, an infinite loop will be triggered by such an |A| in math
+ mode.
+
+ But, having an active ascii letter can only be in very localized portions
+ of a document, and only be authored by experts. The experts should
+ carefully make sure the mathcode of the letter is not active if they set
+ the catcode to active and let the active meaning use \cs{string} on the
+ letter itself, thus we can trust that the mathematical activation done
+ earlier by \mst is undone and there will be no problems.\par
+ \end{footnotesize}
-\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+ This \mstrelease{1.4} change may thus need to be followed by some
+ adjustments in some quite special circumstances caused by some expert
+ interventions.
-\item \mstcmd{MTmathactiveletters}: activates the `math activation' of Latin
- letters. This is done by the package during loading, except under the
- |subdued| option.
-%
-% \footnote{\RightNote{1.3j}Formerly, it was also executed
-% from each \cs{Mathastext} in the preamble.}
- It is again executed in the
- body at each \cs{MTversion}, except under the |subdued| option when
- switching to the \emph{normal} or \emph{bold} math versions.
+ See \autoref{sec:mathskips} and \autoref{sec:ic} for the rationale of this
+ mathematical activation, and \autoref{ssec:hackingletters} for ways to
+ use it for other goals.
+\end{snugshade}
+ \begin{footnotesize}
+ If you do want mathematically active letters also in subdued \emph{normal}
+ or \emph{bold} math versions (to apply tricks such as those of
+ \autoref{ssec:hackingletters}) there is \cs{mst@mathactivateletters} which
+ does not check the subdued status.\par
+ \end{footnotesize}
+
+\item \mstcmd{MTmathstandardletters}:\RightNote{\mstrelease{1.3}}
+ turns off the mathematical active
+ ascii letters, i.e.\@ reverts their mathcodes to package font configuration.
+ Here ``standard'' thus only means
+ that the letters will not be mathematically active, but they are still under the
+ influence of \mst regarding the typeface they use, so they are only
+ ``standard'' from \mst point of view.
+
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} its behavior was
+ modified: instead of setting some toggle obeyed only at entrance of math
+ mode, it acts on the spot immediately.
+ \begin{snugshade}
+ \MTmathstandardletters will not try to restore the meaning associated to
+ the catcode active variant of the letter token which may have been in place
+ at the time of \MTmathactiveletters. This meaning is not saved for
+ later reset.
+
+ \emph{Except} if the \emph{letter} was an active Babel-shorthand at the time
+ of \MTmathactiveletters, which is in fact almost impossible to achieve
+ via the \ctanpkg{babel} interface.
+
+ And if the letter was catcode-active due to user action,
+ \MTmathactiveletters will not have made it mathematically active, nor
+ will it have modified its active meaning. So the active meaning may get
+ overwritten only for a letter having a normal catcode at time of
+ \MTmathactiveletters but which for some reason has some meaning
+ associated to its catcode active variant.
+ \end{snugshade}
+
+\item \mstcmd{MTmathactivedigits}:\RLNote{new:}{\mstrelease{1.4}}
+ is a no-op except under option
+ activedigits. It then makes all digits mathematically active and is
+ executed during package loading, except if subdued. It is again executed
+ when entering any non-subdued math version in the document body. See
+ \autoref{ssec:hackingletters} for an example of use.
- The letters are made mathematically active\footnote{the |mathcode|'s are
- only modified at the time of execution of \cs{everymath},
- \cs{everydisplay}.} to insert the extra skips as specified by
- \csb{MTsetmathskips} (see section \ref{sec:mathskips}), and also possibly
- the italic corrections when using upright fonts (see section \ref{sec:ic}).
+ \begin{footnotesize}
+ If you do want mathematically active digits also in subdued \emph{normal}
+ or \emph{bold} math versions (to apply tricks such as those of
+ \autoref{ssec:hackingletters}) there is \cs{mst@mathactivatedigits} which
+ does not check the subdued status.\par
+ \end{footnotesize}
-\item \mstcmd{MTmathstandardletters}: cancels the `math activation' of the letters.
- Must be re-issued after each \csb{MTversion}, but see
- \csb{MTeverymathdefault}.
+\item \mstcmd{MTmathstandarddigits}:\RLNote{new:}{\mstrelease{1.4}}
+ a no-op except under option
+ activedigits. Under this option it resets the digits to their normal
+ mathcodes as configured by the package.
\item \mstcmd{MTicinmath}: this command is executed by default by \mst except in
case of option |subdued| or if the user chosen letter shape is oblique (|it|
or |sl|). It tells \mst to add italic corrections after all letters in math
mode, except within the scope of math alphabets.
-%
-% \footnote{\RightNote{1.3i}%
-% Formerly, italic corrections were added to the (non-oblique) letters of
-% \cs{mathnormal} arguments.}
- This command and the next ones in this item can be used in the preamble as
- well as in the body of the document (in case of |subdued| option, using the
- commands from within the preamble will remain without effect, as the
- document body will start in the subdued normal math version anyhow.) But
- each \cs{MTversion} in the body will re-emit \cs{MTicinmath} (in case of
+ This\RLNote{changed:}{\mstrelease{1.4}}
+ command and the next ones in this item can be used anywhere in the
+ document and even from inside math mode. In case of subdued option, using the
+ command from within the preamble remains without effect, as the
+ document body will start in the subdued normal math version anyhow.
+ Each \cs{MTversion} in the body reemits \cs{MTicinmath} (in case of
non-oblique letter shape), except if the
|subdued| option was used and the chosen math version is \emph{normal} or
\emph{bold}.
@@ -5153,54 +4929,38 @@ by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
{\footnotesize
- It may theoretically be used from inside math mode, but the included
- \MTmathactiveletters will have an effect only if issued prior to
- entering math mode.
+ The description above about the command not being executed if the letter
+ shape is italic or slanted is not quite right, as it refers only to the
+ act of inserting or not italic correction. The
+ \MTmathactiveletters component is always executed, however it will be a
+ no-op in |subdued| \emph{normal} and \emph{bold}.
\mstcmd{MTnoicinmath}: this command deactivates the package added
italic corrections. It can be used inside as well as outside
- of math mode (or in the preamble of the document).
-
- \mstcmd{MTICinmath}, \mstcmd{MTnoICinmath}: these commands activate the italic
- corrections only for the uppercase letters (but recall that \cs{MTicinmath}
- is done by default, thus this will typically have to follow
- \cs{MTnoicinmath}.)
-
-% obsolte 1.3i
- % Following some decision of the package author whose rationale has been
- % forgotten, afer \cs{MTICinmath} italic corrections for uppercase letters in
- % arguments to all math alphabets (\emph{i.e.} also \cs{mathnormal}) are
- % suppressed (with \cs{MTicinmath} the italic corrections are suppressed
- % inside the scope of math alphabets \emph{except} \cs{mathnormal}.)
- % No italic corrections are explicitly added inside arguments of math
- % alphabets.
+ of math mode (or in the preamble of the document). Note that it does not
+ deactivate the mathematical activation of the ascii letters. Use
+ \MTmathstandardletters for that.
+
+ \mstcmd{MTICinmath}, \mstcmd{MTnoICinmath}: only acts on the uppercase
+ letters. But recall that \cs{MTicinmath} is done by default, thus
+ using italic corrections only for uppercase needs to go via
+ \cs{MTnoicinmath} then \cs{MTICinmath}.
\mstcmd{MTicalsoinmathxx}: this command de-activates the de-activation of
the italic corrections inside the arguments to the math alphabet
- commands.
-% apart from \cs{mathnormal}.
+ commands.
It can be issued inside as well as outside of math mode. Will be effective
only if \MTicinmath or \MTICinmath is in force.
-% obsolte 1.3i
- % \footnote{it is provided
- % for the \mst defined math alphabet \cs{mathnormalbold} which
- % contrarily to \cs{mathnormal} is not treated apart from the other
- % math alphabets.}
To cancel its effect either enclose it in a group or
environment or re-issue \MTicinmath after it.
}
-\item \mstcmd{MTnormalasterisk}, \mstcmd{MTactiveasterisk}: the latter will use for |*|
- and |\ast| the text font asterisk, suitably lowered; the former tells \mst
- to not modify the \LaTeX\ default. Both are no-op without option
- asterisk.
-
\item \mstcmd{MTeasynonlettersobeymathxx}, \mstcmd{MTeasynonlettersdonotobeymathxx}: the
former is done by default, it makes characters \verb+.+, \verb+/+, \verb+|+,
\verb+\+, \verb+#+, \verb+$+, \verb+%+, and \verb+&+
(if not excluded by package options) obey math alphabet commands. See also
- section \ref{sec:mathxx}. This functionality does \emph{not} make the
+ \autoref{sec:mathxx}. This functionality does \emph{not} make the
characters ``math active'' (but it does modify |\mathcode|'s, naturally).
\item \mstcmd{MTnonlettersobeymathxx}, \mstcmd{MTnonlettersdonotobeymathxx}: the former
@@ -5213,105 +4973,110 @@ by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
it will have to be coded |$a^{!}$|. Hence, by default, the package does
\MTnonlettersdonotobeymathxx.
- \begin{framed}
- Under |subdued| option, \cs{MTnonlettersobeymathxx} effect is of course
- canceled in the \emph{normal} and \emph{bold} math versions; but please
- note that when switching back to a non-subdued math version it will be
- mandatory to issue again \cs{MTnonlettersobeymathxx} explicitly if its
- effect is to be re-activated.
-
- In particular, executing \cs{MTnonlettersobeymathxx} in the preamble or at
- the start of the document body serves nothing, because the document is in
- the subdued \emph{normal} math version regime then. It must thus be
- executed after the first usage of \cs{MTversion} switching to a
- non-subdued math version, and again on each successive exit from the
- \emph{normal} or \emph{bold} math versions.
- \end{framed}
-
\item \mstcmd{MTexplicitbracesobeymathxx}: extends an earlier \MTnonlettersobeymathxx
to also treat \verb|\{| and \verb|\}|. But then |\left\{|, |\right\}| must
be coded |\left\lbrace|, |\right\rbrace| rather. There is also
\mstcmd{MTexplicitbracesdonotobeymathxx}.
-\item \RightNote{1.3j}\mstcmd{MTnormalprime}, \mstcmd{MTprimedoesskip}: the latter (done by default if not
- |subdued|, and also on each use of \csb{MTversion} in the body of the document
- except for the |subdued| \emph{normal} and \emph{bold} math version)
- makes it so that $'$ takes into account the math glue as specified by
- \csb{MTprimeskip}. The former is its opposite. In all cases the right quote
- |'| is a mathematically active character producing ${}'$ as is the default
- in \TeX, it is only its meaning which changes to include or not an extra
- skip. For some (legacy) reason, this change of meaning is done anew
- by \mst each time math mode is entered. The commands of this item are thus
- no-op from inside math mode.
-
-
-\item \RightNote{1.3j}\mstcmd{MTeverymathdefault}: this hook is executed by
- \csb{MTversion}\marg{version\_name}, except under option |subdued|
- when switching to the \emph{normal} or \emph{bold} math versions. Its
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTeverymathdefault}: this hook is executed by
+ \csb{MTversion}\marg{version\_name} (but if under option |subdued|
+ and switching to the \emph{normal} or \emph{bold} math version its default
+ effect is overruled by an \MTeverymathoff executed after it). Its
default meaning is:
\begin{verbatim}
\MTactiveasterisk % this has no effect without option asterisk
\MTprimedoesskip % this makes prime glyph obey extra space
\MTeasynonlettersobeymathxx
- \MTicinmath % this does \MTmathactiveletters, hence also skips from
- % \MTsetmathskips are obeyed.
+ \MTicinmath % this does \MTmathactiveletters, hence the extra
+ % skips from \MTsetmathskips are obeyed.
+ \MTmathactivedigits % this is a no-op in absence of option activedigits
\MTfixfonts % only operant under LuaLaTeX.
\end{verbatim}
- {\footnotesize Notice that under |subdued| option, switching to the
+ {\footnotesize Under |subdued| option, switching to the
\emph{normal} or \emph{bold} version does \csb{MTeverymathoff} which
- includes \cs{MTnonlettersdonotobeymathxx}.
+ includes \MTnonlettersdonotobeymathxx.
The default
\MTeverymathdefault which is issued when going back to a
non-\emph{normal} or \emph{bold} math version doesn't do
- \cs{MTnonlettersobeymathxx}: thus it is up to the user to correct this if
- needed (no issue without |subdued| option).
+ \MTnonlettersobeymathxx: thus it is up to the user to correct this if
+ desired.
Notice also that \csb{MTversion}\marg{version\_name}, except for \emph{normal}
or \emph{bold} if |subdued| does \csb{MTforalldoesskip} and
\csb{MTexistsdoesskip}, which are not included in \cs{MTeverymathdefault}
-actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
+actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par
+
+At \mstrelease{1.4}, the name of this command diverges somewhat from its
+action as mathematical activation of ascii letters (or, optionally, of digits)
+will happen on the spot and not during \cs{everymath} or \cs{everydisplay}
+execution.\par
+}
-\item \RightNote{1.3j}\mstcmd{MTeverymathoff}: does \MTnormalasterisk,
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTeverymathoff}: does \MTnormalasterisk,
\MTnormalprime, \MTnonlettersdonotobeymathxx,
- \MTeasynonlettersdonotobeymathxx, \MTmathstandardletters and
+ \MTeasynonlettersdonotobeymathxx, \MTmathstandardletters,
+ \MTmathstandarddigits\RightNote{\mstrelease{1.4}} and
\MTdonotfixfonts.
- {\footnotesize \RightNote{1.3i}The commands
- |\url/\nolinkurl| of package |hyperref| and |url| from |url.sty| (which
+ Automatically done by \csb{MTversion}|{normal}| (or |{bold}|) under option |subdued|
+ (and
+ also \csb{MTnormalexists} and
+ \csb{MTnormalforall} are executed then).
+
+
+ {\footnotesize \RightNote{\mstrelease{1.3i}}The commands
+ |\url/\nolinkurl| of package |hyperref| and |\url| from |url.sty| (which
use math mode under the hood) are patched by \mst to do \MTeverymathoff
automatically: this is needed because \mst modifies anew some mathcodes
\emph{each time math mode is entered,} hence may overwrite to some extent
- the specific preparation done by |{url,hyperref}.sty|.
- % {\parfillskip0pt\hfill
- % \rlap{\kern10pt\textcolor{magenta}{\bfseries New! (1.3i)}}\par}
+ the specific preparations done by |{url,hyperref}.sty|.
+
+ \RightNote{\mstrelease{1.4}}However, in some cases it may be interesting to
+ be able to apply hacks as described in \autoref{ssec:hackingletters}.
+ You can use now \MTeverymathoff as a hook inside
+ |\url| and |\nolinkurl| commands. Perhaps redefine it (locally) to do
+ all of the above except \MTmathstandardletters and/or
+ \MTmathstandarddigits, and use the \autoref{ssec:hackingletters}
+ instructions to achieve special effects for some letters or digits in
+ the URLs rendered via |\url| and |\nolinkurl|.
+ \par
+ }
- Automatically done by \csb{MTversion} under option |subdued|
- if switching to the \emph{normal} or \emph{bold} math versions; and
- \csb{MTversion} then does also \csb{MTnormalexists} and
- \csb{MTnormalforall}.
-\par}
+\end{enumerate}
+
+\subsubsection{Expert commands usable only outside of math mode}\label{sec:cmdsoutmath}
+
+There is only one pair of commands here: \MTfixfonts and \MTdonotfixfonts.
+They are operant only under \LuaLaTeX{}. As \MTeverymathdefault and
+\MTeverymathoff use them, they arguably could have been listed here, but
+only for engine \LuaLaTeX{}.
\small
-\item \RightNote{1.3o}\mstcmd{MTfixfonts}: this is operant only under
+\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+
+\item \RightNote{\mstrelease{1.3o}}\mstcmd{MTfixfonts}: this is operant only under
\LuaLaTeX{}. It has the effect that each time math mode is entered macro
\csb{MTfixmathfonts} will be executed. The latter forces so-called |base|
mode for the used text font in math mode, in an effort to (only partially,
see code comments) fix the fact that OpenType features such as Lining
Figures were in some cases not being applied in math mode when one uses text
fonts there (text fonts are declared by \LuaTeX+|luaotfload| to use |node|
- mode, which is non-functional in math.) It is invoked automatically by the
+ or |harf| mode, which are non-functional in math.) It is invoked automatically by the
package (except for |normal| and |bold| math versions under |subdued|
option), and in normal situations, there is no reason to use it directly.
+ \RLNote{changed:}{\mstrelease{1.4}}The hack was updated at \mstrelease{1.4}
+ in order to also handle fonts using |Renderer=HarfBuzz|.
+
% pas envie de perdre mon temps l-dessus. D'ailleurs peut-tre dj pour
% commencer bm ne fonctionne pas avec fontes OpenType.
% Notice (not tested) that package |bm| is presumably not compatible.
-\item \RightNote{1.3o}\mstcmd{MTdonotfixfonts}: cancels the job of
+\item \RightNote{\mstrelease{1.3o}}\mstcmd{MTdonotfixfonts}: cancels the job of
|\MTfixfonts|. Done automatically in subdued mode when in the |normal| or
|bold| math version; in normal contexts, there is no reason to use this
command. Only operant under \LuaLaTeX.
@@ -5321,17 +5086,19 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
\subsubsection{Expert commands usable only in math mode}
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
-{\small
-\item\RightNote{1.3p}%
+
+\item\RightNote{\mstrelease{1.3p}}%
\mstcmd{MTfixmathfonts}: this used to be an internal package macro
- but it is given a public name at |1.3p| because I discovered that
+ but it is given a public name at \mstrelease{1.3p} because I discovered that
|$..\hbox{\mathversion{foo}$..$}..$| causes an
issue and one needs to invoke again \cs{MTfixmathfonts} \emph{after} the
\verb|\hbox|, for some reason. To be used \emph{only} under \LuaLaTeX{} and only for
such rare cases where it may be needed.\par
-}
+
\end{enumerate}
+\normalsize
+
\section{Package options}
\subsection{Summary of main options}
@@ -5410,10 +5177,10 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
handles Greek letters, also lowercase (but not uppercase) Greek
letters will use this a priori italic shape except if some other
option such as \blueit{upgreek} was used.%
- \footnote{Since \texttt{1.3x}, in presence of the \blueit{LGRgreek}
- option in addition to \blueit{italic}, the \cs{MTgreekitdefault}
+ \footnote{Since \texttt{1.3y}, in presence of the \blueit{LGRgreek}
+ option in addition to \blueit{italic}, the \csb{MTgreekitdefault}
shape is then used for lowercase Greek letters and
- \cs{MTgreekupdefault} for uppercase.}
+ \csb{MTgreekupdefault} for uppercase.}
\item \mstopt{frenchmath}: configures the lowercase Latin letters to use
italic shape (\cs{itdefault}), and uppercase Latin letters to be in
same shape as for digits and operator names (i.e.\@ a priori
@@ -5424,8 +5191,8 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
and uppercase Greek letters will use the same shape as
operator names, except if some other option such as \blueit{itgreek}
was used.%
- \footnote{Under \blueit{LGRgreek} and since |1.3x|, the
- \cs{MTgreekupdefault} is used for Greek letters if no other option
+ \footnote{Under \blueit{LGRgreek} and since \mstrelease{1.3y}, the
+ \csb{MTgreekupdefault} is used for Greek letters if no other option
such as \blueit{itgreek} was employed.}
\begin{snugshade}
@@ -5434,9 +5201,7 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
be in the same shape as the one for digits and operator
names) is \textbf{not} undone in the subdued ``normal''
and ``bold'' math versions. It holds throughout the
- document, but math versions declared by \mst may use
- \MTshape and \MTlettershape to, in effect, obtain
- whatever configuration is desired.
+ document.
As a bonus, note that doing
\centeredline{|\usepackage[basic,subdued,frenchmath]{mathastext}|}
@@ -5490,7 +5255,7 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
%\end{footnotesize}
-\item \mstopt{defaultalphabets}: \RLNote{new behavior}{1.3za}\mst
+\item \mstopt{defaultalphabets}: \RLNote{new behavior}{\mstrelease{1.3za}}\mst
always defines \cs{Mathnormal}, \cs{Mathrm}, \cs{Mathbf} etc... to
refer to the \mst-ified text fonts, and redefines the math
alphabets \cs{mathrm}, \cs{mathit}, \cs{mathtt} etc\dots{} (but
@@ -5501,22 +5266,22 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
be available whether or not this option is made use of.
\begin{footnotesize}
- Prior to |1.3za| (and since |1.15f|), this option also prevented the
+ Prior to \mstrelease{1.3za} (and since \mstrelease{1.15f}), this option also prevented the
package to declare the \cs{Mathnormal} et al.\@ and \cs{mathnormalbold}
commands. In this context, recall that the dreaded ``too many math
alphabets'' error can only occur on \emph{use} in the document of too many
of such commands, and not at the time of their declarations. The author's
- notes from time of |1.15f| release (|2012/10/25|) only say that it may not
+ notes from time of \mstrelease{1.15f} release (|2012/10/25|) only say that it may not
be ``useful'' to package user to have both (for example) |\mathrm| and
|\Mathrm|, which sounds weird if they are to acquire distinct meanings.
- So since |1.3za| both will exist. In the default package configuration
+ So since \mstrelease{1.3za} both will exist. In the default package configuration
|\mathrm| is configured to expand to |\Mathrm| (with some extra behavior
under LGRgreek+), and with this option or the defaultrm option
|\mathrm| is kept with its original meaning (and the LGRgreek+ extras do
not work).\par
\end{footnotesize}
-\item \RLNote{changed:}{1.3za}\mstopt{defaultnormal}, \mstopt{defaultrm},
+\item \RLNote{changed:}{\mstrelease{1.3za}}\mstopt{defaultnormal}, \mstopt{defaultrm},
\mstopt{defaultbf}, \mstopt{defaultit}, \mstopt{defaultsf},
\mstopt{defaulttt}: tell \mst to not set up, respectively, the
\cs{mathnormal}, \cs{mathrm}, \cs{mathbf}, \cs{mathit}, \cs{mathsf}, and
@@ -5524,11 +5289,11 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
always via \cs{Mathnormal}, \cs{Mathrm}, \cs{Mathbf}, \cs{Mathit}, etc...
\begin{footnotesize}
- Prior to |1.3za| these options also prevented the creation of the
+ Prior to \mstrelease{1.3za} these options also prevented the creation of the
corresponding \mst command with an uppercased initial.\par
\end{footnotesize}
-\item \mstopt{ncccomma}:\RightNote{1.3x} it triggers the loading of the
+\item \mstopt{ncccomma}:\RightNote{\mstrelease{1.3y}} it triggers the loading of the
\ctanpkg{ncccomma} package%
%
\footnote{Alexander I. \textsc{Rozhenko}, \emph{Use comma as decimal
@@ -5553,8 +5318,8 @@ those parts of the document using another language than French.%
reenact it. For background on this issue see
\url{https://github.com/latex3/babel/issues/190}.
- This does not apply to \ctanpkg{decimalcomma} |1.3| or later.}
-\item \mstopt{decimalcomma}:\RightNote{1.3zb} it triggers the loading of the
+ This does not apply to \ctanpkg{decimalcomma} \mstrelease{1.3} or later.}
+\item \mstopt{decimalcomma}:\RightNote{\mstrelease{1.3zb}} it triggers the loading of the
\ctanpkg{decimalcomma} package%
%
\footnote{Antoine \textsc{Missier}, \emph{Comma for decimal numbers},
@@ -5565,7 +5330,7 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
\emph{\texttt{decimalcomma}}, the correct way is to use the eponymous
option.}
-\item \mstopt{binarysemicolon}:\RightNote{1.3x} sets (except if
+\item \mstopt{binarysemicolon}:\RightNote{\mstrelease{1.3y}} sets (except if
\blueit{nopunctuation} is used) the semi-colon to let \TeX\ use
spacing of binary type, not punctuation type, around the semi-colon
(it is often used in French mathematical typesetting as separator in
@@ -5575,12 +5340,12 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
The effect applies to all math versions, even the \emph{normal} and
\emph{bold} math versions with \mst having been loaded with the
\blueit{subdued} option.
-\item \mstopt{frenchmath*}:\RLNote{CHANGED!}{1.3zb} does all three of \blueit{frenchmath},
+\item \mstopt{frenchmath*}:\RLNote{CHANGED!}{\mstrelease{1.3zb}} does all three of \blueit{frenchmath},
\blueit{decimalcomma} and \blueit{binarysemicolon}.
\begin{footnotesize}
- Prior to |1.3zb|, this option did what is now available via frenchmath+.
- The |1.3zb|
+ Prior to \mstrelease{1.3zb}, this option did what is now available via frenchmath+.
+ The \mstrelease{1.3zb}
change was made as a follow-up consecutive to the |2.7| release \ctanpkg{frenchmath}.
Indeed this option as explained in \autoref{ssec:frenchmath} is provided as
a compatiblity layer with \ctanpkg{frenchmath}, and it was mandatory to
@@ -5588,19 +5353,53 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
consecutive to the internal change of \ctanpkg{frenchmath} at its |2.7|
release to use \ctanpkg{decimalcomma}.\par
\end{footnotesize}
-\item \mstopt{frenchmath+}:\RightNote{1.3zb} does all three of \blueit{frenchmath},
+\item \mstopt{frenchmath+}:\RightNote{\mstrelease{1.3zb}} does all three of \blueit{frenchmath},
\blueit{ncccomma} and \blueit{binarysemicolon}. This is what used to be
- called frenchmath* prior to |1.3zb|.
+ called frenchmath* prior to \mstrelease{1.3zb}.
\item \mstopt{endash}, \mstopt{emdash}: use the text font en-dash (\textendash) or even
the em-dash (\textemdash, but this seems crazy) for the minus sign
rather than {}-{}. endash option is default for the package.
-\item \mstopt{unicodeminus}:\RightNote{1.3q} use the |MINUS SIGN U+2212| (requires
+\item \mstopt{unicodeminus}:\RightNote{\mstrelease{1.3q}} use the |MINUS SIGN U+2212| (requires
\ctanpkg{fontspec}.) Or, in the form |unicodeminus=HHHH| with four \emph{uppercased}
hexadecimal digits: use the |U+HHHH| code point. As noendash really means
``use the hyphen from the text font'', unicodeminus remains without effect
under it, or, naturally, under nominus. Without this option,
\mst uses the |EN DASH U+2013| by default for OpenType fonts.
-\item \mstopt{asterisk}: use the text font (or the Symbol font) asterisk in math mode.
+\item \mstopt{asterisk}: this tells \mst to replace the binary math operator $*$
+ and the control sequence \cs{ast} with versions which uses the text asterisk
+ * suitably lowered, and with the correct spaces around it as binary
+ operator. The amount of lowering%
+%
+\footnote{With the option
+ \texttt{symbolmisc}, the asterisk is picked from the Symbol font, and the
+ amount of lowering is non-customizable; however if a math alphabet command
+ is used, the asterisk is then again from a text font and the lowering will
+ be as specified by \cs{MTlowerast}.}
+%
+ is decided by the mandatory argument to the command
+ \csb{MTlowerast}\marg{dimen}. The package does
+ \cs{MTlowerast}|{.3\height}|. Using the |ex| unit as in
+ \cs{MTlowerast}|{.5ex}| is not a good idea as it does not scale properly in
+ the script and scriptscript styles.
+
+ Attention that if using this option, inputs such as |$R^*$| or |$R^\ast$|
+ raise errors and \emph{must} be replaced by |$R^{*}$|, respectively
+ |$R^{\ast}$|. The $*$ is now `mathematically active'\thinspace%
+%
+\footnote{In
+ a hopefully safe way, for example {\ttfamily\$\string\label\{eq*1\}\$} is
+ ok.}
+%
+ and |*| and |\ast| will obey the math alphabet
+ commands (see \autoref{sec:mathxx}).
+
+\item \mstopt{activedigits}: makes all digits mathematically active! This is
+ reserved to expert \LaTeX{} users. See \autoref{ssec:hackingletters} for an
+ example. Do not use this option if you don't intend to make use of such
+ techniques to achieve special effects at some location of your document at
+ least. (I know this goes without saying, but passing this option and not
+ using it is only adding overhead to all your equations with digits).
+
\item \mstopt{nohbar}: prevents \mst from defining its own
\cs{hbar}.
\item \mstopt{noendash}: the minus sign will be the - from the
@@ -5690,7 +5489,7 @@ Euler font.
declared |\alphaup|, |\alphait|, ...., and the
associated \mathgreekup
and \mathgreekit commands to access the underlying fonts, and also since
- |1.3za| \mathgreekupbold and \mathgreekitbold.
+ \mstrelease{1.3za} \mathgreekupbold and \mathgreekitbold.
The font used by these math
alphabet commands in the subdued ``normal'' and ``bold'' is either
@@ -5699,7 +5498,7 @@ Euler font.
\MTgreekfont when the command \Mathastext (without
optional argument) was used in the preamble.
- |1.3za| fixes here a bug which froze the target font to be
+ \mstrelease{1.3za} fixes here a bug which froze the target font to be
the one at time of loading the package: this bug applied
(only) to the subdued ``normal'' and ``bold'' math versions
and was not readily visible as there is a priori no reason to
@@ -5716,7 +5515,7 @@ Euler font.
LGRgreek and then \MTgreekfont manually appropriately.
\item \mstopt{LGRgreek+} and
- \mstopt{LGRgreeks+}:\RightNote{1.3za} they extend
+ \mstopt{LGRgreeks+}:\RightNote{\mstrelease{1.3za}} they extend
respectively LGRgreek or LGRgreeks to let Greek letters
control sequences when in the scope of \mathrm, \mathit,
and \mathbf behave as would be expected by LaTeX users who
@@ -5747,7 +5546,7 @@ Euler font.
accents. As in vanilla \LaTeX{}, they are taken from the font
for the digits and \cs{log}-like names. Obey the alphabet
changing commands.
- \item \mstopt{unimathaccents}:\RightNote{1.3u} extends |mathaccents| to
+ \item \mstopt{unimathaccents}:\RightNote{\mstrelease{1.3u}} extends |mathaccents| to
OpenType fonts. Gave bad results in my brief testing.
\item \mstopt{defaultimath}: do not overwrite \cs{imath} and
\cs{jmath} to use \cs{inodot} and \cs{jnodot}.
@@ -5756,7 +5555,25 @@ OpenType fonts. Gave bad results in my brief testing.
\item \mstopt{fouriervec}: provides a \cs{fouriervec} command. The user can then
add in the preamble \cs{let}\cs{vec}$=$\cs{fouriervec}. There is also
always available a ``poor man'' vec accent \cs{pmvec} for upright letters.
- \end{enumerate}
+\item \mstopt{everymath}:\RLNote{new:}{\mstrelease{1.4}} this option tells
+ \mst to employ as in the \mstrelease{1.3} releases the
+ \cs{everymath}/\cs{everydisplay} registers to store certain actions to be
+ executed at each entrance into math mode. The main change with
+ \mstrelease{1.4} is that mathcode changes done by user (or possibly via
+ language changes in a multilingual \ctanpkg{babel} context) in the document
+ body, and which apply to those characters which \mst used to handle as part of
+ \cs{everymath}/\cs{everydisplay}, will now have an effect, whereas with
+ earlier releases or this one
+ with the everymath option, they may get overruled by \mst. Use
+ everymath for backward compatibility if needed (and \emph{only} if needed).
+ Notice though that regarding ascii letters, there is no return to the
+ pre-\mstrelease{1.4}: they will not acquire their mathcode active status only
+ at each entrance into math mode, even with this option,
+ but once and for all at package loading time, if not subdued, or when using
+ \MTversion to enter a non-subdued math version.
+
+ Please report breakages you may encounter to author.
+\end{enumerate}
Thanks to Kevin~\textsc{Klement}, Tariq~\textsc{Perwez}
and Ricard~\textsc{Torres} for sending bug reports and feature requests when
@@ -5780,6 +5597,7 @@ Numerous examples will be found there:\\
\label{sec:changelog}
\begingroup
+\hyphenation{Lua-La-TeX}
\def\MacroFont{\footnotesize\normalfont}
% utilis par verbatim en classe scrdoc (ou plutt shortvrb)
@@ -5817,16 +5635,27 @@ Numerous examples will be found there:\\
\lccode`\~`1
\lowercase{\endgroup\def~}{\ifvmode\medskip\expandafter\@DTXLOGhelper\fi 1}
+% 2024/07/10 hypertargets pour \mstrelease (import de etoc, et j'ai dj ici
+% toute une infrastructure rendant le truc trivial avec un fol 1 actif). Par
+% contre j'ai fait une modification s/#1\[/#1 \[/ car le #1 avant se terminait
+% par un espace.\]\]
+% Et attention au detokenize...
+% Il y a juste un problme avec le cas "1.15f and 1.15g".
\begingroup
\catcode`\| 0
\catcode`\\ 12
-|long|gdef|@DTXLOGhelper #1 ----#2|par{|@@DTXLOGhelper #1\[\]|par}
-|long|gdef|@@DTXLOGhelper #1\[#2\]#3|par%
- {|textbf{#1}% le #1 ici contient un espace
+% Je rduis --- ici.
+|long|gdef|@DTXLOGhelper #1 ---#2|par{|@@DTXLOGhelper #1 \[\]|par}
+|long|gdef|@@DTXLOGhelper #1 \[#2\]#3|par%
+ {|hypertarget{|detokenize|expandafter{|fixonexv#1 and|relax}}{|textbf{#1}} %
|ifx|relax #2|relax|else [#2]|fi
|par|nopagebreak}
|endgroup
+% uniquement pour s'occuper de "1.15f and 1.15g" et en profitant du fait qu'il
+% n'y a de rfrence 1.15g nulle part.
+\def\fixonexv#1 and#2\relax{#1}
+
\catcode`-=\active
\def-{%
\catcode`M\active
@@ -5869,7 +5698,7 @@ Numerous examples will be found there:\\
\StopEventually{\end{document}\endinput}
\cleardoublepage
-\newgeometry{hmarginratio=3:2}
+\newgeometry{hmarginratio=2:1}
\small
\section{Implementation}
@@ -5884,27 +5713,44 @@ Numerous examples will be found there:\\
%
%</dtx>
%<*package>
-% The usual catcode regime for letters and digits is assumed and some characters
-% such as |*|, |`|, |"|, |=| are supposed to be of catcode other at the time of loading
-% of \mst. The source of \mst takes precautions for some other characters such
-% as the right quote |'|, which may thus be active with no harm at the time of
-% loading. By the way, I think \LaTeX2e should have provided to authors a
+% The comments are a kind of palimpsest. Indeed they are not destined to the
+% reader but to the author: when coming back to the source code perhaps years
+% after having last looked at it, all bits of past information even if
+% obsolete are useful. Not only comments but perhaps also some ancient parts
+% of the code itself are a bit strange (the author hardly new any \LaTeX{} at
+% that time).
+%
+% For about the same reason, there may be some long macro names which do not
+% fit in the margins and that one sees only partially. The author sometimes
+% has used a workaround to hyphenate, but not systematically. Life is
+% time-limited. At \mstrelease{1.4} large chunks of code have been re-ordered
+% but the global architecture is still somewhat of a mess and doing some such
+% large diffs makes it sometimes difficult to follow small bits of code across
+% commit history, so this is done reluctantly.
+%
+% The usual catcode regime for letters and digits is assumed and some
+% characters such as |*|, |`|, |"|, |=| are supposed to be of catcode other at
+% the time of loading of \mst. The source of \mst takes precautions for some
+% other characters such as the right quote |'|, which may thus be active with
+% no harm at the time of loading (note added |2024/07/16|: very hard to
+% understand why I was so paranoid, but I have kept this annoying constraint).
+%
+% By the way, I think \LaTeX2e should have provided to authors a
% standard macro to be used at the beginning of a style file to make sure the
% catcodes are standard. Shorthands created by Babel should be mostly no problem
% as Babel does the activation only at the |\begin{document}|.
%
-% The comments have been accumulating through successive versions with only
-% partial efforts to achieve some sort of coherence; as a result some are a
-% bit strange or obsolete to various degrees. And the similar remark
-% applies to some ancient parts of the code itself!
-%
-% Should I require |2005/12/01| \LaTeX? (not sure about the month).
+% \mstrelease{1.4} removes a few code branches still there for support to
+% old \LaTeX{} and requires \LaTeX{} |2020-02-02| (which made |\{| and |\}|
+% \cs{protected}; earlier release |2019-10-01| had math macros such as the
+% math accents and \cs{hbar} robust and so far we kept supporting both new and
+% old contexts).
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\ProvidesPackage {mathastext}
- [2023/12/29 v1.3zb Use the text font in math mode (JFB)]
+ [2024/07/20 v1.4a Use the text font in math mode (JFB)]
% \end{macrocode}
-% |1.3zb| avoids writing \mst info messages also to console output, only log file.
+% \mstrelease{1.3zb} avoids writing \mst info messages also to console output, only log file.
% Make prefix occupy 20 not 25 characters for alignment with \texttt{LaTeX Font Info},
% as the latter often issues info messages. For similar reason the usages of
% \cs{PackageInfo} will be done with empty lines above and below for better visual
@@ -5915,16 +5761,9 @@ Numerous examples will be found there:\\
\immediate\write\m@ne{}
\PackageInfo{mathastext}{Starting the math mode configuration\@gobble}
% \end{macrocode}
-% \LaTeX{} |2019-10-01| release has made robust math macros such as the math
-% accents and \cs{hbar}.
-% \begin{macrocode}
-\newif\ifmst@robust@obsessed@LaTeX@era
-\@ifl@t@r\fmtversion{2019/10/01}{\mst@robust@obsessed@LaTeX@eratrue}{}
-\edef\mst@robustifyingspace{\ifmst@robust@obsessed@LaTeX@era\space\fi}
-% \end{macrocode}
% Testing for \XeTeX\ and \LuaLaTeX.
%
-% |1.3g 2015/10/15|: update for the naming of primitives, the situation has
+% \mstrelease{1.3g} |2015/10/15|: update for the naming of primitives, the situation has
% evolved both on \XeTeX\ side and on the \LuaLaTeX\ side (LaTeX base
% |2015/10/01|): I was told "U" named math primitives were always available
% for \LuaLaTeX. For \XeTeX, the XeTeX prefix got replaced by U prefix with
@@ -5967,10 +5806,37 @@ Numerous examples will be found there:\\
\ifmst@LuaTeX\mst@XeOrLuatrue\fi
\ifmst@XeTeX \mst@XeOrLuatrue\fi
% \end{macrocode}
-% |1.2|: all inner macros of \mst now starts with |\mst@| for a cleaner
+% \mstrelease{1.4}. I only checked this is correct with TL2024.
+% The macro will be used with |#1| a catcode 11 or 12 token or a one character
+% control sequence such as |\#|.
+% \begin{macrocode}
+\ifmst@XeTeX
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mst@Umathcodenum`#1="1FFFFF
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\else\ifmst@LuaTeX
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mst@Umathcodenum`#1="1000000
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\else
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mathcode`#1="8000
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\fi\fi
+% \end{macrocode}
+% \mstrelease{1.2}: all inner macros of \mst now starts with |\mst@| for a cleaner
% name-space.
%
-% |1.3l 2016/01/29|: hmmm... at this late stage where nobody would expect me
+% \mstrelease{1.3l} |2016/01/29|: hmmm... at this late stage where nobody would expect me
% to still look at the code, I have found at least two macros which still
% didn't: \cs{do@the@endashstuff} and \cs{do@the@emdashstuff}.
%
@@ -5980,16 +5846,16 @@ Numerous examples will be found there:\\
% engines for a while, hence it is not hard to adapt to the replacement of
% |EU1/EU2| by |TU|, maintaining compatibility with legacy installations.
%
+% At \mstrelease{1.4} the support for obsolete |EU1| and |EU2| font encodings
+% has been removed.
+%
% \begin{macro}{\mst@OneifUniEnc}
% The \cs{mst@OneifUniEnc} is expandable but must be used after
% having set \cs{mst@tmp@enc}...
% \begin{macrocode}
\def\mst@oti{OT1}
-\def\mst@eui{EU1}\def\mst@euii{EU2}\def\mst@tu{TU}
-\def\mst@OneifUniEnc {%
- \ifx \mst@tmp@enc\mst@tu 1\else
- \ifx \mst@tmp@enc\mst@eui 1\else
- \ifx \mst@tmp@enc\mst@euii 1\else 0\fi\fi\fi }
+\def\mst@tu{TU}
+\def\mst@OneifUniEnc{\ifx\mst@tmp@enc\mst@tu1\else0\fi}
\newif\ifmst@goahead
\newif\ifmst@abort
% \end{macrocode}
@@ -6006,9 +5872,13 @@ Numerous examples will be found there:\\
\def\mst@enc{\encodingdefault}
\def\mst@fam{\familydefault}
\def\mst@ser{\seriesdefault}
- \def\mst@opsh{\shapedefault} %% will be default shape for operator names
+% \end{macrocode}
+% \noindent\cs{mst@opsh} will hold default shape for operator names.\newline
+% \cs{mst@ltsh} will hold default shape for letters.
+% \begin{macrocode}
+ \def\mst@opsh{\shapedefault}
\def\mst@bold{\bfdefault}
- \def\mst@ltsh{\shapedefault} %% will be default shape for letters
+ \def\mst@ltsh{\shapedefault}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -6017,7 +5887,7 @@ Numerous examples will be found there:\\
% \end{macro}
% \end{macro}
% \begin{macro}{\mst@greekfont}
-% |1.15c|: for use by the LGRgreek and selfGreek options. Defined as
+% \mstrelease{1.15c}: for use by the LGRgreek and selfGreek options. Defined as
% an \cs{edef} in order to be able to set-up once and for all the
% Greek at the time of \cs{usepackage}. Modifiable in the preamble
% via \cs{MTgreekfont}\marg{font\_name}\cs{Mathastext}.
@@ -6026,20 +5896,22 @@ Numerous examples will be found there:\\
% \end{macrocode}
% \end{macro}
% \begin{macro}{Package options}
-% |2011/03/09|: |1.13| introduces the option LGRgreek and systematic use
+% |2011/03/09|: \mstrelease{1.13} introduces the option LGRgreek and systematic use
% of \cs{if...} conditionals, for better readability (by myself) of
% the code.
%
-% |1.3x| of |2022/11/03| adds |ncccomma|, |binarysemicolon| and
+% \mstrelease{1.3y} of |2022/11/03| adds |ncccomma|, |binarysemicolon| and
% |frenchmath*| options.
%
-% |1.3za| adds |LGRgreek+| and |LGRgreeks+|.
+% \mstrelease{1.3za} adds |LGRgreek+| and |LGRgreeks+|.
%
-% |1.3zb| adds |decimalcomma| and modifies |frenchmath*| to use it. And
-% provides |frenchmath+| as an alias to former |frenchmath*|. Consecutive
-% to the change at |2.7| of \ctanpkg{frenchmath} which replaced
+% \mstrelease{1.3zb} adds |decimalcomma| and modifies |frenchmath*| to use
+% it. And provides |frenchmath+| as an alias to former |frenchmath*|.
+% Consecutive to the change at |v2.7| of \ctanpkg{frenchmath} which replaced
% \ctanpkg{ncccomma} by \ctanpkg{decimalcomma} and broke the compatibility
% recipe explained in \autoref{ssec:frenchmath}.
+%
+% \mstrelease{1.4} adds options |everymath| and |activedigits|.
% \begin{macrocode}
\newif\ifmst@italic
\newif\ifmst@frenchmath
@@ -6082,25 +5954,27 @@ Numerous examples will be found there:\\
\newif\ifmst@noexclam
\DeclareOption{noexclam}{\mst@noexclamtrue}
\newif\ifmst@asterisk
- \DeclareOption{noasterisk}{\PackageWarningNoLine{mathastext}
- {option `noasterisk\string' is deprecated.^^J\space\space\space
- Check the documentation}}
\DeclareOption{asterisk}{\mst@asterisktrue}
\newif\ifmst@nospecials
\DeclareOption{nospecials}{\mst@nospecialstrue}
-\newif\ifmst@basic % 1.3 to avoid unnecessary patch of amsmath \newmcodes@
+\newif\ifmst@basic
\DeclareOption{basic}{\mst@basictrue
\ExecuteOptions{noparenthesis,nopunctuation,%
noplusnominus,noequal,noexclam,nospecials,nolessnomore}}
\newif\ifmst@nohbar
\DeclareOption{nohbar}{\mst@nohbartrue}
+% \end{macrocode}
+% \mstrelease{1.4} adds option |activedigits|.
+% \begin{macrocode}
+\newif\ifmst@activedigits
+ \DeclareOption{activedigits}{\mst@activedigitstrue}
\newif\ifmst@nodigits
\DeclareOption{nodigits}{\mst@nodigitstrue}
\newif\ifmst@defaultimath
\DeclareOption{defaultimath}{\mst@defaultimathtrue}
\newif\ifmst@mathaccents
\DeclareOption{mathaccents}{\mst@mathaccentstrue}
-\newif\ifmst@unimathaccents % 1.3u
+\newif\ifmst@unimathaccents
\DeclareOption{unimathaccents}{\mst@mathaccentstrue\mst@unimathaccentstrue}
\newif\ifmst@needsymbol
\newif\ifmst@symboldelimiters
@@ -6108,7 +5982,7 @@ Numerous examples will be found there:\\
\newif\ifmst@symboldigits
\DeclareOption{symboldigits}{\mst@needsymboltrue\mst@symboldigitstrue}
\newif\ifmst@symbolgreek
-\newif\ifmst@customgreek %% new with 1.3d
+\newif\ifmst@customgreek
\DeclareOption{symbolgreek}{\mst@needsymboltrue\mst@symbolgreektrue
\mst@customgreektrue }
\newif\ifmst@symbolre
@@ -6144,13 +6018,13 @@ Numerous examples will be found there:\\
\DeclareOption{itGreek}{\def\mst@greek@select{1}}
\DeclareOption{upGreek}{\def\mst@greek@select{2}}
% \end{macrocode}
-% Starting with |1.15f| the meaning of the `defaultxx' options has changed. They
+% Starting with \mstrelease{1.15f} the meaning of the `defaultxx' options has changed. They
% now prevent |mathastext| from defining additional alphabets rather than
% prevent it from identifying the `mathxx' with the new `Mathxx'. The
% `Mathnormal' and `Mathrm' alphabet commands are always created as they are
% SymbolFontAlphabets.
%
-% This was again changed at |1.3za|. The additional alphabets are
+% This was again changed at \mstrelease{1.3za}. The additional alphabets are
% always declared, the options only prevent mapping the existing
% `mathxx' to the new `Mathxx'. This may be breaking change if
% people used these options because they had a need for the
@@ -6169,7 +6043,7 @@ Numerous examples will be found there:\\
\newif\ifmst@defaulttt
\DeclareOption{defaulttt}{\mst@defaulttttrue}
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed an
+% Here and elsewhere \mstrelease{1.3za} has removed an
% \cs{ifmst@nonormalbold} conditional.
% \begin{macrocode}
\DeclareOption{defaultalphabets}{\ExecuteOptions{defaultnormal,defaultrm,%
@@ -6185,14 +6059,20 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\newif\ifmst@fouriervec
\DeclareOption{fouriervec}{\mst@fouriervectrue}
% \end{macrocode}
-% |1.15|: the subdued option.
+% \mstrelease{1.15}: the |subdued| option.
% \begin{macrocode}
\newif\ifmst@subdued
\DeclareOption{subdued}{\mst@subduedtrue}
% \end{macrocode}
-% |1.3q|: the unicode option. Thanks to Tobias~\textsc{Brink} for suggesting its
-% incorporation. The parsing of |\CurrentOption| does not seek any robustness,
-% it just does its job if the option is used correctly.
+% \mstrelease{1.4}: the |everymath| option.
+% \begin{macrocode}
+\newif\ifmst@everymath
+ \DeclareOption{everymath}{\mst@everymathtrue}
+% \end{macrocode}
+% \mstrelease{1.3q}: the |unicode| option. Thanks to Tobias~\textsc{Brink}
+% for suggesting its incorporation. The parsing of \cs{CurrentOption} does
+% not seek any robustness, it just does its job if the option is used
+% correctly.
% \begin{macrocode}
\def\mst@unicodeminus {2013}
\def\mst@checkoption #1unicodeminus#2\mst@#3\mst@@
@@ -6216,7 +6096,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% This broke usage of \cs{Mathastext} macro in preamble.
%
-% |1.3w| works around this via \cs{mst@DeclareMathAccent}. And other
+% \mstrelease{1.3w} works around this via \cs{mst@DeclareMathAccent}. And other
% changes were made in \mst code to cope with these complications around
% robustness.
% \begin{macrocode}
@@ -6226,13 +6106,36 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathAccent{#1}}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\mst@normalversionname}
+% \begin{macro}{\mst@boldversionname}
% Helper macros to test math version names. User is not allowed to redefine
% via \cs{Mathastext} with optional argument or via \cs{MTDeclareVersion} the
-% |normal| and |bold| math versions! Added at |1.3w|, about 7 years late.
+% |normal| and |bold| math versions. Added at \mstrelease{1.3w}, about 7 years late.
% \begin{macrocode}
\def\mst@normalversionname{normal}%
\def\mst@boldversionname{bold}%
% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@OnlyIfNotSubdued}
+% \mstrelease{1.3u} adds this check that we are not in a subdued normal or
+% bold math version. We do not push the |#1| out of the TeX conditionals,
+% and anyhow there was no real need for expandable coding.
+% \begin{macrocode}
+\def\mst@OnlyIfNotSubdued#1{%
+ \ifmst@subdued
+ \ifx\math@version\mst@normalversionname
+ \else
+ \ifx\math@version\mst@boldversionname
+ \else
+ #1%
+ \fi
+ \fi
+ \else
+ #1%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\exists} \begin{macro}{\mst@exists@skip}
% \begin{macro}{\forall} \begin{macro}{\mst@forall@skip}
% \begin{macro}{\MTnormalexists}
@@ -6240,7 +6143,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTnormalforall}
% \begin{macro}{\MTforalldoesskip }
%
-% |1.15e| |2012/10/21|: math skip/glue \emph{after} \cs{exists} and
+% \mstrelease{1.15e} |2012/10/21|: math skip/glue \emph{after} \cs{exists} and
% \cs{forall}, this is useful with upright letters in math mode.
% Each math version has its own user defined values for the skips,
% stored as macros. The redefinitions of $\exists$ and $\forall$ are
@@ -6249,32 +6152,32 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% The subdued option (later and only for the normal and bold math
% version) and the italic option (here) set to zero the package
-% default skips. With |1.2| the skips can be modified on the fly in
+% default skips. With \mstrelease{1.2} the skips can be modified on the fly in
% the document, they are not necessarily set in the preamble once
% and for all for each math version.
%
-% |1.3j| adds \cs{MTnormalexists}, \cs{MTexistsdoesskip},
+% \mstrelease{1.3j} adds \cs{MTnormalexists}, \cs{MTexistsdoesskip},
% \cs{MTnormalforall}, \cs{MTforalldoesskip}.
%
-% Earlier to |1.3j|, |\let\mst@exists@original\exists| was done at End of
+% Earlier to \mstrelease{1.3j}, |\let\mst@exists@original\exists| was done at End of
% Package, now it is done at Begin Document, and same for |\forall|. We
% pay attention that use of \cs{MTnormalexists} etc... inside the
% preamble does not create self-let's.
%
% Also |subdued| mode will do \cs{MTnormalexists}, \cs{MTnormalforall}
-% (earlier than |1.3j|, it only set the muskips to |0mu|.) Same when
+% (earlier than \mstrelease{1.3j}, it only set the muskips to |0mu|.) Same when
% using |\MTversion{normal}|, if |subdued|.
%
% For some (random, legacy) reason, the handling of $\exists$ and
% $\forall$ is part of the things
% not included inside |\everymath/\everydisplay|.
%
-% |1.3v| The \mst-defined \cs{exists} and \cs{forall} are created
+% \mstrelease{1.3v} The \mst-defined \cs{exists} and \cs{forall} are created
% \cs{protected}. We feel this matches better with their default
% definition as \cs{mathchardef} tokens than dealing with \LaTeX2e robust
% macros. Besides, the coding is simpler.
% \begin{macrocode}
-\newmuskip\mst@exists@muskip %% v 1.15e
+\newmuskip\mst@exists@muskip
\newmuskip\mst@forall@muskip
\def\mst@exists@skip{1mu}
\def\mst@forall@skip{.6667mu}
@@ -6318,13 +6221,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTnormalprime}
% \begin{macro}{\MTprimedoesskip}
%
-% |1.2| |2012/12/17|: math skip/glue \emph{before} the \cs{prime}
+% \mstrelease{1.2} |2012/12/17|: math skip/glue \emph{before} the \cs{prime}
% glyph. This is useful with the default CM glyph and upright letters
% (in contrast the prime from |txfonts| works fine with upright
% letters). For this we replace the \LaTeX{} kernel \cs{active@math@prime}
% with our own skip-enhanced version \cs{mst@active@math@prime}.
%
-% |1.2b| |2012/12/31|: doing\\
+% \mstrelease{1.2b} |2012/12/31|: doing\\
% \null\hspace{1cm}|{\catcode`\'=\active \global\let'\mst@active@math@prime}|\\
% is awfully wrong when the right quote is made active at begin document by
% some other package (as happens with |babel| for some languages). So \mst
@@ -6340,47 +6243,102 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% does its job only as part of the \cs{everymath} and
% \cs{everydisplay} token lists.
%
-% |1.2e| being paranoid, we take precautions against a possibly
+% \mstrelease{1.2e} being paranoid, we take precautions against a possibly
% catcode active right quote at
% the time of loading mathastext.
%
-% |1.3i| adds \cs{MTactiveprime}.
+% \mstrelease{1.3i} adds \cs{MTactiveprime}.
%
-% |1.3j| renames it to \cs{MTprimedoesskip}. Besides, it makes use in the
-% preamble of \cs{MTnormalprime} or \cs{MTprimedoesskip}.
+% \mstrelease{1.3j} renames it to \cs{MTprimedoesskip}. Besides, it makes use in the
+% preamble of \cs{MTnormalprime} or \cs{MTprimedoesskip}.
+%
+% \mstrelease{1.4} adds the support for the new ``non-everymath''
+% implementation, which has to satisfy to very different constraints.
+%
+% The \cs{MTprimedoesskip} is not a |no-op| in |subdued| math version.
+% This is legacy situation, not changed at \mstrelease{1.4}.
+%
% \begin{macrocode}
-\newmuskip\mst@prime@muskip %% v 1.2
+\newmuskip\mst@prime@muskip
\def\mst@prime@skip{.5mu}
\ifmst@italic\ifmst@frenchmath\else\def\mst@prime@skip{0mu}\fi\fi
+% \end{macrocode}
+% Shouldn't I have rather hacked \cs{prim@s}? (answer: perhaps related to
+% Babel see a comment above).\par
+% \noindent
+% TODO: clarify why I used \cs{sp} not |^| in
+% \cs{mst@active@math@prime} in 2012/2013.\newline
+% TODO: clarify why I am paranoid regarding the |'| catcode here.
+%
+% The |everymath| branch was initially superficially refactored at
+% \mstrelease{1.4}, but unfortunately as \cs{mst@mathactivate} had been
+% modified to not handle mathematically active characters, this meant that the
+% \mst feature of extra math skip was lost under the |everymath| option, due to
+% an oversight by the author. For this among other reasons having mainly to
+% do with code comments we did \mstrelease{1.4a}.
+%
+% At \mstrelease{1.4} we can not go via \cs{mst@mathactivate} (defined further
+% down in the code) which filters out the already mathematically active
+% characters.
+%
+% Why am I paranoid here about |'| catcode at package loading time? (this
+% looks ridiculous...).
+% \begin{macrocode}
+\def\mst@tmp#1{%
+\def\mst@mathactivateprime{%
+ \ifnum\catcode`#1=\active
+ \@ifundefined{active@char#1}
+ {}
+ {\mst@do@activecase #1{}{\mst@active@math@prime}}%
+ \else
+ \mst@@mathactivate #1{}{\mst@active@math@prime}%
+ \fi
+}%
+% \end{macrocode}
+% The ``undo'' is needed at \mstrelease{1.4} (but not if |everymath|).
+% \begin{macrocode}
+\def\mst@undo@mathactivateprime{\mst@mathdeactivate#1{"8000}}%
+}\expandafter\mst@tmp\string'
\def\mst@active@math@prime{\sp\bgroup\mskip\mst@prime@muskip\prim@s}
-{\catcode`\'=12
-\gdef\mst@@modifyprime{\mst@mathactivate'{}\mst@active@math@prime}}
-\newcommand*\MTnormalprime {\let\mst@modifyprime\@empty }
-\newcommand*\MTprimedoesskip {\let\mst@modifyprime\mst@@modifyprime}
-\ifmst@subdued
- \MTnormalprime
+\ifmst@everymath
+ \newcommand*\MTnormalprime {\let\mst@modifyprime\@empty}
+ \newcommand*\MTprimedoesskip{\let\mst@modifyprime\mst@mathactivateprime}%
+ \AtBeginDocument{%
+ \everymath\expandafter
+ {\the\everymath \mst@modifyprime \MTnormalprime}%
+ \everydisplay\expandafter
+ {\the\everydisplay \mst@modifyprime \MTnormalprime}%
+% \end{macrocode}
+% MEMO: |subdued| case will do its own \cs{MTnormalprime} at
+% |\begin{document}| later as part of \cs{MTeverymathoff}.
+% \begin{macrocode}
+ \MTprimedoesskip
+ }
\else
- \MTprimedoesskip
+% \end{macrocode}
+% \mstrelease{1.4} must do things a bit differently.
+% \begin{macrocode}
+ \newcommand*\MTnormalprime {\mst@undo@mathactivateprime}
+ \newcommand*\MTprimedoesskip{\mst@mathactivateprime}
+% \end{macrocode}
+% MEMO: |subdued| case will do its own \cs{MTnormalprime} at
+% |\begin{document}| later as part of \cs{MTeverymathoff}.
+% \begin{macrocode}
+ \AtBeginDocument{\MTprimedoesskip}
\fi
-\AtBeginDocument{%
- \everymath\expandafter
- {\the\everymath \mst@modifyprime \MTnormalprime}%
- \everydisplay\expandafter
- {\the\everydisplay \mst@modifyprime \MTnormalprime}%
-}
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
% \begin{macro}{\MTexistsskip}
% \begin{macro}{\MTforallskip}
% \begin{macro}{\MTprimeskip}
-% |1.15e|: These user macros set up the amount of muglue after
+% \mstrelease{1.15e}: These user macros set up the amount of muglue after
% \cs{exists} or \cs{forall}. The normal and
% bold math versions inherit the same skips; these skips are set to
% zero in case of the subdued, or the italic option. Each command
% \cs{Mathastext}\oarg{version\_name} stores the current values in
% the definition of the math version.
%
-% |1.2|: \cs{MTprimeskip} added, the silly \cs{@onlypreamble} are removed
+% \mstrelease{1.2}: \cs{MTprimeskip} added, the silly \cs{@onlypreamble} are removed
% and the macros are modified to have immediate effect in the document,
% independently of their possible use in the preamble for the math
% versions to store values.
@@ -6433,35 +6391,49 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% mathastext font (both in the current math version). If option
% |noparenthesis| was used, we leave everything untouched.
%
-% In |1.3a|, |2013/09/04|, the modification is done only at the time of
+% In \mstrelease{1.3a}, |2013/09/04|, the modification is done only at the time of
% \cs{MTnonlettersobeymathxx}. It is canceled by
% \cs{MTnonlettersdonotobeymathxx}. So the code has been moved to these
% macros and here we just store at the begin document the then meaning of
% \cs{resetMathstrut@}, and check also if \cs{MTnonlettersobeymathxx} has
% been invoked in the preamble.
%
-% |1.3f| |2015/09/12| issues only an Info message not a Warning, as I am
+% \mstrelease{1.3f} |2015/09/12| issues only an Info message not a Warning, as I am
% becoming aware from another context (etoc) that Warnings are stressful to
% users, in some integrated environments for editing and compiling \LaTeX{}
% source files.
+%
+% \mstrelease{1.4} adds here an \cs{AtEndOfPackage}. As this must be
+% executed (if not in the legacy |everymath| context) after the
+% redefinition of \cs{MTnonlettersobeymathxx} which happens at begin
+% document.
% \begin{macrocode}
\ifmst@noparen\else
-\AtBeginDocument{%
- \@ifundefined{resetMathstrut@}{% nothing to do, no amsmath
- }{% amsmath loaded, and possibly patched by things such as lualatex-math
- \let\mst@savedresetMathstrut@\resetMathstrut@
-% \PackageInfo{mathastext}{current `at begin document\string' meaning of
-% amsmath\MessageBreak
-% \string\resetMathstrut@\space preserved for
-% future use\@gobble}%
- \ifx\mst@the\the % means that \MTnonlettersobeymathxx was used in preamble
- \let\mst@the\@gobble\MTnonlettersobeymathxx
- \fi}}
+\AtEndOfPackage{%
+ \AtBeginDocument{%
+ \@ifundefined{resetMathstrut@}
+ {}%
+ {%
+ \let\mst@savedresetMathstrut@\resetMathstrut@
+% \end{macrocode}
+% The |\ifx\mst@the\the| is true iff \cs{MTnonlettersobeymathxx} was used in preamble
+% (last compared to \cs{MTnonlettersdonotobeymathxx}).
+% Setting \cs{mst@the} to \cs{@gobble} here wiil cause \cs{MTnonlettersobeymathxx}
+% to indeed modify \cs{resetMathstrut@} (and it resets \cs{mst@the} to \cs{the} for
+% its behavior in \cs{everymath}).
+% \begin{macrocode}
+ \ifx\mst@the\the
+ \let\mst@the\@gobble
+ \MTnonlettersobeymathxx
+ \fi
+ }%
+ }%
+}%
\fi
% \end{macrocode}
% \end{macro}
%
-% |1.2| |2012/12/20| does some rather daring \emph{math} activation of
+% \mstrelease{1.2} |2012/12/20| does some rather daring \emph{math} activation of
% \verb$; , : ! ? + - = < > ( ) [ ]$ in
% math mode to achieve something I wanted to do since a long time: overcome
% the mutually excluding relation between the variable-family concept and
@@ -6476,7 +6448,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the entrance of the math mode are discussed later),\\
% \null\hspace{1cm}\fbox{but the concerned characters will now expand in math
% mode to \emph{two} tokens.}\\
-% |1.2c| |2012/12/31|: hence, this current
+% \mstrelease{1.2c} |2012/12/31|: hence, this current
% implementation puts constraints on the input: |$x^?$| or |$x\mathrel?y$|
% now create errors. They must be input
% |$x^{?}$|, respectively |$x\mathrel{?}y$|.\\
@@ -6488,8 +6460,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% should be used instead) but it can be activated for them too.
%
%
-% \begin{macro}{\mst@mathactivate}
-% |1.2b| |2012/12/30|: there were bad oversights in the |1.2| code
+% \mstrelease{1.2b} |2012/12/30|: there were bad oversights in the \mstrelease{1.2} code
% for \cs{mst@mathactivate} related to the possibility for some
% characters to have been made active (in the sense of the catcode)
% elsewhere (something which often is done by language definition
@@ -6503,7 +6474,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |:| (assuming for the latter that things would have worked ok before
% the twiddling by \mst).
%
-% |1.2e| |2013/01/09|: alas |$\ref{eq:1}$| still was a problem.
+% \mstrelease{1.2e} |2013/01/09|: alas |$\ref{eq:1}$| still was a problem.
% Indeed in that case the \mst prefix had no means to know it was
% inside a \cs{ref} so it made the character expand to its \mst
% redefinition, which is not acceptable inside a
@@ -6566,13 +6537,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the mathcode to 32768!!}, rather it makes \emph{sure} the character
% is not mathematically active.
%
-% As |1.2e| is a bit paranoid it takes precautions against
+% As \mstrelease{1.2e} is a bit paranoid it takes precautions against
% the possibility of characters it treats being active at
% the time of its loading. Excepted from the scope of the
% paranoia are the latin letters (that would be crazy!) and
% also |*|, |"| and the left quote |`|.
%
-% |1.2f| |2013/01/21| with earlier versions (*) it was important not
+% \mstrelease{1.2f} |2013/01/21| with earlier versions (*) it was important not
% to do twice the business of \cs{mst@mathactivate} (think
% |$\hbox{$?$}$|), so I used (this was a bit wasteful) some sort of
% boolean macro for each character. But now that there are the
@@ -6590,57 +6561,274 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |\label| or |\ref|. So testing for active characters should be done
% always... many things should be done always... I leave as is.
%
-% |1.3i| |2016/01/06| removes a spurious end of line space in
+% \mstrelease{1.3i} |2016/01/06| removes a spurious end of line space in
% \cs{mst@mathactivate} (did not show as anyhow done in math mode).
%
-% \begin{macro}{\mst@do@az}
-% \begin{macro}{\mst@do@AZ}
-% \begin{macro}{\mst@addtodo@az}
-% \begin{macro}{\mst@addtodo@AZ}
-% \begin{macro}{\mst@the}
-% |1.2b| |2012/12/28| now that we understand the great advantages of |"8000|
-% we do it also for all letters a-z and A-Z to insert automatically the
-% italic corrections. See the \hyperref[sec:ic]{discussion} in the user
-% manual. Ironically I wrote the code initially for the |italic| option only
-% to realize later it was more suitable to using an \emph{upright} text font
-% in math mode! So this mathematical activation of the letters is not done if
-% the font shape is detected to be |it| or |sl|; to bypass this the command
-% \cs{MTicinmath} is provided.
-%
-% |1.2e| |2013/01/10| corrects a bad oversight of |1.2b| in
-% \cs{mst@mathactivate} which made the reproduction of the user manual
-% illustrations with |$f_i^i$| impossible. As \cs{mst@mathactivate} was
-% originally used also to get the non-letters obey math alphabet while
-% maintaining the \TeX{} spacings, it added no extra braces. The braces
-% should however be added for expansion of math active letters, in order of
-% things like |x^y| to work as expected. (the group braces do not prevent
-% ligatures when the letters are arguments to the math alphabet commands,
-% the added macros \cs{mst@itcorr} and \cs{mst@before<letter>} expanding to
-% nothing).
+% \mstrelease{1.4} has significantly refactored the coding, there were
+% simplication from a changed way to use \cs{mst@mathactivate} for letters
+% and added branches to accomodate the renouncement to \cs{everymath}.
+% \begin{macro}{\mst@do@activecase}
+% Called by \cs{mst@mathactivate} if |#1| is catcode active.
+%
+% Check if token activation originates apparently into \ctanpkg{babel}:
+% \begin{itemize}[nosep]
+% \item if NO, nothing is done. The active meaning of |#1| is not modified.
+% \item if YES, we hook into \ctanpkg{babel} associated macros so
+% that in math mode the catcode active token does what \mst expects it to
+% do. Its \cs{mathcode} is set to the
+% one of the associated \cs{mathalpha} symbol as declared by \mst, except
+% for asterisk and right tick which simply use their ascii number as mathcode.
+% \end{itemize}
+%
+% In the case of \ctanpkg{babel}-spanish which has a catcode active right
+% tick, resetting its mathcode has the advantage to reveal in output the case
+% of a faulty input using the curly right tick U+8217 which one can get easily
+% from copy paste, for example from the |babel-spanish.pdf| file.
+%
+% And in general it is dangerous to have a character both catcode active and
+% mathcode active.
+%
+% Some auxiliaries.
+% \begin{macrocode}
+\def\mst@magic@v #1#2#3#4#5{#1#3#4}
+\def\mst@magic@vi #1#2#3#4#5#6{#1#2#4#5}
+\def\mst@fork{\ifmmode\mst@magic@v\fi\@thirdofthree}
+\def\mst@safefork{\ifmmode\if@safe@actives\else\mst@magic@vi\fi\fi\@thirdofthree}
+% \end{macrocode}
+% Some refactoring (and streamlining) at \mstrelease{1.4} here.
+% \begin{footnotesize}
+% There was at some point in the case of a Babel-active token a special
+% hanlding for |#1| to use \cs{MTmathcharletter}|#1| (and event for
+% digits!). But this is almost impossible to arise in practice:
+% \begin{itemize}[nosep]
+% \item Babel commands to set up a shorthand are preamble only (they use
+% \cs{AtBeginDocument}),
+% \item A shorthand is made active at begin document, and we don't want that
+% for a letter!
+% \item Activation is recorded as an instruction in the |.aux| file which
+% breaks it almost surely (except perhaps for letter |Z| or such not
+% likely to appear in macro names in the |.aux| file).
+% \item Even if we somehow hack against that (which I did to test) a more
+% subtle problem arises that Babel updates \cs{nfss@catcodes}, so that the
+% latter will want to make (e.g.) |a| of catcode 12! This causes breakage
+% very easily at the time of \cs{process@table} almost as easily as with
+% the |a| set to be an active character...
+% \end{itemize}
+%
+%^^A In revisiting and
+%^^A improving the coding here (following up on a simplification of
+%^^A \cs{mst@mathactivate} itself, I discovered a bug of earlier releases: in
+%^^A this fictitious "letter made active by Babel" branch the insertion of mu
+%^^A glue around the letter was lost, only the italic correction was kept in the
+%^^A modified meaning of Babel active letter in math mode. This bug was
+%^^A dissolved by the new way \cs{mst@mathactivate} is used by
+%^^A \cs{mst@DeclareMathLetter} and the ensuing simplifcation here. But in fact
+%^^A as summarized above this is purely fictitious code, which will never get
+%^^A executed in real life!
+%^^A As I am not of the repenting type, I also add at \mstrelease{1.4} a similar
+%^^A fictituous layer for catcode active digits...\par
+% \end{footnotesize}
+% |#1| here is a character token of catcode 11 or 12.
+% We do something only if the catcode activation appears to have been triggered
+% by \ctanpkg{babel}. The test has been moved earlier at \mstrelease{1.4}.
+% \begin{macrocode}
+\def\mst@do@activecase#1#2#3{%
+% \end{macrocode}
+% As letters and digits are impossible here, |#2| is either empty (which
+% happens only now for asterisk and right tick) or a single token (\cs{mathclose},
+% \cs{mathopen},... ). When |#2| is not empty, |#3| is always a mathchar
+% token. For safety we make sure then the mathcode is not active.
+%
+% The rationale is
+% to avoid context where people have both catcode and math active and use
+% |\string|. In the case of \ctanpkg{babel}-spanish with
+% |activeacute| option it allows to reveal more easily input errors using
+% curly right tick U+8217.
+%
+% Arguably I probably mainly wanted to do this if the character was found
+% catcode active but not a Babel shorthand. But it ended into the Babel
+% branch and the non-Babel branch for active catcode is to do nothing.
+%
+% |#2| is empty exactly for the case of the right tick and the asterisk.
+% In all other cases, then |#3| is a mathchar token.
+% \begin{macrocode}
+ \ifx\relax #2\relax\mathcode`#1=`#1\relax\else\mathcode`#1=#3\relax\fi
+% \end{macrocode}
+% Less \cs{expandafter}'s at \mstrelease{1.4}. Also, it is now required
+% to make sure:
+% \begin{itemize}[nosep]
+% \item not do it twice in succession (else infinite loop),
+% \item and undo it when deactivating.
+% \end{itemize}
+% This was easily done under legacy code (now only used under |everymath|
+% option, and only for non-letters) as it activated only when entering into
+% math mode.
+%
+% This is more annoying when activation happens in an uncontrolled
+% scope, and we handle this via a \cs{mst@hackedshorthand@<char>} flag.
+%
+% MEMO: the undoing is done in \cs{mst@mathdeactivate} which is invoked
+% only for those non-letters submitted to \cs{mst@mathactivate}.
+% \begin{macrocode}
+ \ifmst@everymath\else\@ifundefined{mst@hackedshorthand@#1}{\fi
+ \expandafter\let\csname mst@orig@user@active#1\expandafter\endcsname
+ \csname user@active#1\endcsname
+ \expandafter\let\csname mst@orig@normal@char#1\expandafter\endcsname
+ \csname normal@char#1\endcsname
+ \ifmst@everymath\else}{}\fi
+% \end{macrocode}
+% No more \cs{edef}'s at \mstrelease{1.4}. At this release, in letter case
+% |#3| is empty and |#2| is a single token which needs no extra brace
+% pair as this brace pair will come from its expansion.
+% We can use |{#2}{#3}| in all cases rather than either |{{#2#3}}{}| versus
+% |{#2}#3| depending on whether |#1| is letter or not as was done in the past.
+% Attention that |#2| and |#3| may each be empty.
+% \begin{macrocode}
+ \def\mst@tmp##1##2{\def##1{\mst@fork{#2}{#3}##2}}%
+ \expandafter\mst@tmp\csname user@active#1\expandafter\endcsname
+ \csname mst@orig@user@active#1\endcsname
+ \def\mst@tmp##1##2{\def##1{\mst@safefork{#2}{#3}##2}}%
+ \expandafter\mst@tmp\csname normal@char#1\expandafter\endcsname
+ \csname mst@orig@normal@char#1\endcsname
+ \ifmst@everymath
+ \else
+ \expandafter\let\csname mst@hackedshorthand@#1\endcsname\@empty
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@@mathactivate}
+% \begin{macrocode}
+\begingroup
+ \catcode`\~=\active
+ \def\x{%
+\endgroup
+% \end{macrocode}
+% |##1| is always a token of catcode 11 or 12.
+% \begin{macrocode}
+\ifmst@everymath
+ \def\mst@@mathactivate##1##2##3{%
+ \begingroup
+ \lccode`~=`##1
+ \lccode`##1=`##1
+% \end{macrocode}
+% Careful here as |##2| is empty in the asterisk and prime case. And |##3|
+% also is at \mstrelease{1.4} empty for letters.
+% \begin{macrocode}
+ \lowercase{\endgroup
+% \end{macrocode}
+% Refactoring at \mstrelease{1.4} merged the catcode 11 and catcode 12
+% branches here and in particular avoided in former case an \cs{edef}. This
+% helped into providing the \cs{MTcommandletter}\meta{letter} as a
+% customizable macro. There was no equivalent to this macro, which here is
+% |##2|, prior to \mstrelease{1.4}.
+% \begin{macrocode}
+ \mathcode`##1="8000
+ \def~{##2##3}%
+ }%
+ }%
+\else
+ \def\mst@@mathactivate##1##2##3{%
+ \begingroup
+ \lccode`~=`##1
+ \lccode`##1=`##1
+ \lowercase{\endgroup
+ \mathcode`##1="8000
+% \end{macrocode}
+% Also, \mstrelease{1.4} possibly execute \cs{mst@mathactivate} everywhere
+% in document body (at version changes for example) or at begin document.
+% Hence this modifies globally the active meaning. So we add some safeguard
+% here using an \cs{ifmmode}. And we store the original meaning of the
+% active variant of the token to reset it when ``undoing''.
+%
+% Careful not to do it twice in a row... (but this means \cs{mst@deactivate}
+% might not revert to a user custom redefinition done in-between but to a
+% prior one; although if the character is made active the second
+% \cs{mst@mathactivate} would not have been done).
+% \begin{macrocode}
+ \@ifundefined{mst@prioractivemeaning@##1}
+ {\expandafter\let
+ \csname mst@prioractivemeaning@##1\endcsname ~}
+ {}%
+ \def~{\ifmmode##2##3\else##1\fi}%
+ }%
+ }%
+\fi
+}\x
+% \end{macrocode}
+% At \mstrelease{1.4} the macro was split into two, to test first whether the
+% character which is encountered is currently with active catcode.
%
-% Added note |2016/01/06|: it should be explicitly said that the extra
-% |{..}| in |\mst@mathactivate| for letters end up creating |\hbox|'es
-% around each letter with its extra skips and explicit italic correction,
-% when present. These skips are thus set at natural width and do not add
-% any break point.
+% At \mstrelease{1.4} the non-catcode active branch is entered only if the
+% character isn't mathematically active at time of use..
%
-% \begin{macro}{\MTmath-}\begin{macro}{activeletters}
-% \begin{macro}{\MTmath-}\begin{macro}{standardletters}
-% |1.3| |2013/09/02| extends the use of mathematically active letters to
-% allow the user to specify muglue before and after the letter itself (see
-% \cs{MTsetmathskips}, below).
-% Mathematically active letters were previously used only to add the italic
-% correction; the math activation has now been separated and put in
-% \cs{MTmathactiveletters}. There is also \cs{MTmathactiveLetters} to allow
-% math activation only for the uppercase letters. To cancel the (now default,
-% even with option |italic|) math
-% activation of letters, there is \cs{MTmathstandardletters}. Version |1.3a|
-% removes some silly |\string|'s from the code, which prevented to pass
-% macros as first argument to the command.
-% \begin{macro}{\MTnonletters-}\begin{macro}{obeymathxx}
-% \begin{macro}{\MTnonletters-}\begin{macro}{donotobeymathxx}
-% \begin{macro}{\resetMathstrut@}
-% These macros are modified in version |1.3a| |2013/09/04| in order to
+% Careful that |#2| and |#3| may each be empty. The test for being a Babel
+% shorthand is done here and not as prior to \mst@release{1.4} inside
+% \cs{mst@do@activecase}.
+% \begin{macrocode}
+\def\mst@mathactivate#1#2#3{%
+ \ifnum\catcode`#1=\active
+ \@ifundefined{active@char#1}{}{\mst@do@activecase #1{#2}{#3}}%
+ \else
+ \mst@OnlyIfNotMathActive{#1}{\mst@@mathactivate #1{#2}{#3}}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@mathdeactivate}
+% This is needed at \mstrelease{1.4} for non-letters which are mathematically
+% activated. See comments above in \cs{mst@do@activecase}. Works in
+% sync with \cs{mst@addtodo@nonletters}.
+%
+% The \cs{mst@mathdeactivate} is active (sic) only in the non |everymath|
+% situation. It will restore a previously existing active meaning if it has
+% been changed.
+% \begin{macrocode}
+\ifmst@everymath
+\else
+\def\mst@mathdeactivate#1#2{%
+ \mathcode`#1=#2\relax
+ \@ifundefined{active@char#1}
+ {\@ifundefined{mst@prioractivemeaning@#1}
+ {}%
+ {\mst@restoreactivemeaning#1%
+ \expandafter\let\csname mst@prioractivemeaning@#1\endcsname\relax}%
+ }
+ {\@ifundefined{mst@hackedshorthand@#1}
+ {}
+ {\expandafter\let\csname user@active#1\expandafter\endcsname
+ \csname mst@orig@user@active#1\endcsname
+ \expandafter\let\csname normal@char#1\expandafter\endcsname
+ \csname mst@orig@normal@char#1\endcsname
+ \expandafter\let\csname mst@hackedshorthand@#1\endcsname\relax
+ }%
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@restoreactivemeaning}
+% At \mstrelease{1.4} when we undo the mathematical activation we now also
+% restore the prior existing active meaning, if any. Only in the ``no
+% |everymath|'' branch (because in the |everymath| \TeX{} itself takes care
+% of that on exiting the scope of the math mode).
+% \begin{macrocode}
+\def\mst@restoreactivemeaning#1{%
+ \begingroup
+ \lccode`~=`#1
+ \lccode`#1=`#1
+ \lowercase{\endgroup
+ \expandafter\let\expandafter~\csname mst@prioractivemeaning@#1\endcsname
+ }%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@do@nonletters}
+% \begin{macro}{\mst@addtodo@nonletters}
+% \begin{macro}{\mst@the}
+% \begin{macro}{\MTnonlettersobeymathxx}
+% \begin{macro}{\MTnonlettersdonotobeymathxx}
+% These macros are modified in version \mstrelease{1.3a} |2013/09/04| in order to
% cleverly adjust, or not, the |amsmath| \cs{resetMathstrut@}. When used in
% the preamble, they just modify \cs{mst@the}. And there is code at begin
% document to check the status there of \cs{mst@the} and if its meaning is
@@ -6658,7 +6846,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |2016/03/03 v2.15a| of |amsmath.sty| is still not compatible with a math
% active opening parenthesis. Hence my patch here is still needed.
%
-% At |1.3u| \cs{MTnonlettersobeymathxx} and \cs{MTeasynonlettersobeymathxx}
+% At \mstrelease{1.3u} \cs{MTnonlettersobeymathxx} and \cs{MTeasynonlettersobeymathxx}
% are made no-ops under subdued mode. This fixes some bug if for example
% the former was used in preamble or immediately after |\begin{document}|
% making the minus sign math active although the \mst action was
@@ -6667,42 +6855,42 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% versions.
% \begin{macrocode}
\newtoks\mst@do@nonletters
-\newtoks\mst@do@easynonletters
-\newtoks\mst@do@az
-\newtoks\mst@do@AZ
+\ifmst@everymath
+\else
+ \newtoks\mst@undo@nonletters
+\fi
+% \end{macrocode}
+% |#1| is a category 12 character, |#2| is a \cs{mathopen}, or \cs{mathclose},
+% etc..., |#3| is a \cs{mathchar} (of variable family type).
+%
+% At \mstrelease{1.4}, \cs{mst@mathactivate} will not do anything if |#1|
+% is mathcode active (but not catcode active) at time of use.
+% \begin{macrocode}
+\ifmst@everymath
+ \def\mst@addtodo@nonletters#1#2#3{\mst@do@nonletters\expandafter
+ {\the\mst@do@nonletters\mst@mathactivate#1#2#3}%
+ }%
+\else
+% \end{macrocode}
+% We need to automatize some safeguards related to \cs{mst@do@activecase} when
+% deactivating.
+% \begin{macrocode}
+ \def\mst@addtodo@nonletters#1#2#3{\mst@do@nonletters\expandafter
+ {\the\mst@do@nonletters\mst@mathactivate#1#2#3}%
+ \edef\mst@tmp{\noexpand\mst@mathdeactivate#1{\the\mathcode`#1}}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ }%
+\fi
\let\mst@the\@gobble
-\newcommand*\MTnonlettersdonotobeymathxx{%
- \ifx\mst@the\@gobble
- \else
- \@ifundefined{mst@savedresetMathstrut@}{}{%
- \PackageInfo{mathastext}{restoring for this group or environment
- the original\MessageBreak
- amsmath \protect\resetMathstrut@}%
- \let\resetMathstrut@\mst@savedresetMathstrut@}%
- \fi
- \let\mst@the\@gobble
-}%
% \end{macrocode}
-% |1.3u| adds this check that we are not in a subdued normal or bold math
-% version. No need for expandable coding.
+% As \cs{mst@savedresetMathstrut@} will only be defined at begin document,
+% the next two macros are no-op in the preamble.
% \begin{macrocode}
-\def\mst@OnlyIfNotSubdued#1{%
- \ifmst@subdued
- \ifx\math@version\mst@normalversionname
- \else
- \ifx\math@version\mst@boldversionname
- \else
- #1%
- \fi
- \fi
- \else
- #1%
- \fi
-}%
-\def\mst@nonlettersobeymathxx{%
- \ifx\mst@the\the
- \else
- \@ifundefined{mst@savedresetMathstrut@}{}{%
+\def\mst@redefine@resetMathstrut@{%
+ \@ifundefined{mst@savedresetMathstrut@}
+ {}
+ {%
\ifmst@symboldelimiters
\def\resetMathstrut@{%
\setbox\z@\hbox{\the\textfont\symmtpsymbol\char40
@@ -6715,234 +6903,186 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\the\textfont\symoperators\char40}%
\ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}%
\fi
- \PackageInfo{mathastext}{\string\resetMathstrut@\space
- from amsmath replaced for this\MessageBreak group or environment}}%
- \fi
- \let\mst@the\the
+ \PackageInfo{mathastext}{\string\resetMathstrut@\space
+ from amsmath replaced for this\MessageBreak group or environment}%
+ }%
}%
-\newcommand*\MTnonlettersobeymathxx
- {\mst@OnlyIfNotSubdued\mst@nonlettersobeymathxx}%
-\newcommand*\MTeasynonlettersdonotobeymathxx{\let\mst@theeasy\@gobble}%
-\def\mst@easynonlettersobeymathxx{\let\mst@theeasy\the}%
-\newcommand*\MTeasynonlettersobeymathxx
- {\mst@OnlyIfNotSubdued\mst@easynonlettersobeymathxx}%
-\MTeasynonlettersobeymathxx % no-op here if subdued mode
-\def\mst@mathactiveletters{\let\mst@thef\the \let\mst@theF\the}%
-\newcommand*\MTmathactiveletters
- {\mst@OnlyIfNotSubdued\mst@mathactiveletters}%
-\MTmathactiveletters % no-op here if subdued mode
-\def\mst@mathactiveLetters{\let\mst@theF\the}%
-\newcommand*\MTmathactiveLetters
- {\mst@OnlyIfNotSubdued\mst@mathactiveLetters}%
-\newcommand*\MTmathstandardletters{\let\mst@thef\@gobble \let\mst@theF\@gobble}%
+\def\mst@restore@resetMathstrut@{%
+ \@ifundefined{mst@savedresetMathstrut@}{}{%
+ \PackageInfo{mathastext}{restoring for this group or environment
+ the original\MessageBreak
+ amsmath \protect\resetMathstrut@}%
+ \let\resetMathstrut@\mst@savedresetMathstrut@}%
+}%
+\ifmst@everymath
+ \newcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \ifx\mst@the\the
+ \else
+ \mst@redefine@resetMathstrut@
+ \fi
+ \let\mst@the\the
+ }%
+ }%
+ \newcommand*\MTnonlettersdonotobeymathxx{%
+ \ifx\mst@the\@gobble
+ \else
+ \mst@restore@resetMathstrut@
+ \fi
+ \let\mst@the\@gobble
+ }%
+\else
+ \newcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \AtBeginDocument{\MTnonlettersobeymathxx}%
+ }%
+ }%
+ \newcommand*\MTnonlettersdonotobeymathxx{%
+ \AtBeginDocument{\MTnonlettersdonotobeymathxx}%
+ }%
+ \AtBeginDocument{%
+ \renewcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \the\mst@do@nonletters
+ \ifx\mst@the\the
+ \else
+ \mst@redefine@resetMathstrut@
+ \fi
+ \let\mst@the\the
+ }%
+ }%
+ \renewcommand*\MTnonlettersdonotobeymathxx{%
+ \the\mst@undo@nonletters
+ \ifx\mst@the\@gobble
+ \else
+ \mst@restore@resetMathstrut@
+ \fi
+ \let\mst@the\@gobble
+ }%
+ }%
+\fi
% \end{macrocode}
-% \begin{macro}{\MTicinmath}
-% \begin{macro}{\MTICinmath}
-% \begin{macro}{\MTnoicinmath}
-% \begin{macro}{\MTicalsoinmathxx}
-% \cs{MTnoicinmath} can also be used from inside math mode.
-%
-% \cs{MTicalsoinmathxx} is destined to be used inside
-% \cs{mathnormalbold} as I didn't want to add the complication of
-% extracting the family number used inside \cs{mathnormalbold} (will
-% perhaps come back if I have time to spend on
-% |source2e|). Added note |2016/01/06|: this number is a priori simply
-% |symmtletterfont+1|.
-%
-% \cs{MTicinmath} can also be used inside math mode, to revert an
-% earlier \cs{MTnoicinmath} from inside the same math group: the math mode
-% had to be entered with the math activation of letters allowed.
-%
-% |1.3i| |2016/01/06|: For some reason which I have now forgotten I did
-% until now:
-% \begin{verbatim}
-% \def\mst@itcorr{\ifnum\fam=\m@ne\/\else\ifnum\fam=\symmtletterfont\/\fi\fi}%
-% \end{verbatim}
-% hence italic corrections were also applied inside \cs{mathnormal} (for
-% upright fonts; \cs{mathnormalbold} math alphabet was not treated like
-% \cs{mathnormal}). I now drop this to be more in sync with the handling
-% of the extra skips around letters. Everything gets suppressed inside
-% all math alphabets, allowing ligatures, even for \cs{mathnormal}.
-%
+% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% \begin{macro}{\MTeasynonlettersobeymathxx}
+% \begin{macro}{\MTeasynonlettersdonotobeymathxx}
% \begin{macrocode}
-\newcommand*\MTicinmath{%
- \MTmathactiveletters
- \def\mst@itcorr{\ifnum\fam=\m@ne\/\fi}%
- \let\mst@ITcorr\mst@itcorr}
-\newcommand*\MTICinmath{%
- \MTmathactiveLetters
- \def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}}
-\newcommand*\MTnoicinmath{\let\mst@itcorr\@empty\let\mst@ITcorr\@empty}
-\newcommand*\MTnoICinmath{\let\mst@ITcorr\@empty}
-\newcommand*\MTicalsoinmathxx{%
- \ifx\mst@itcorr\@empty\else\def\mst@itcorr{\/}\fi
- \ifx\mst@ITcorr\@empty\else\def\mst@ITcorr{\/}\fi}
+\newtoks\mst@do@easynonletters
+\ifmst@everymath
+ \newcommand*\MTeasynonlettersdonotobeymathxx{\let\mst@theeasy\@gobble}%
+ \newcommand*\MTeasynonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{\let\mst@theeasy\the}%
+ }%
+ \MTeasynonlettersobeymathxx
+\else
+ \newtoks\mst@undo@easynonletters
+ \newcommand*\MTeasynonlettersdonotobeymathxx{\the\mst@undo@easynonletters}
+ \newcommand*\MTeasynonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{\the\mst@do@easynonletters}%
+ }%
+ \AtEndOfPackage{\MTeasynonlettersobeymathxx}%
+\fi
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \begin{macro}{\MTsetmathskips}
-% \begin{macro}{\MTunsetmathskips}
-% |1.3| |2013/09/02|: user level command to specify extra spaces in math mode
-% around the letters (only the 7bit a,b,..,z and A,B,..,Z). First parameter is
-% the letter, second is the math skip to be inserted before, and third the
-% skip to be inserted after; for example \cs{thickmuskip} or explicitly
-% |0.1mu|.
-%
-% For this, letters are made mathematically active. This is now the package
-% default (version |1.2| did this only in the absence of option |italic|, or
-% more precisely when the font used was not of shape |it| or |sl|). But if
-% \cs{MTsetmathskips} has not been used for that letter, the only effect of
-% the math activation is, as in |1.2|, to add the italic correction
-% automatically, except when the font shape is detected to be |it| or |sl|; in
-% these latter cases, although mathematically active, the letter acts in the
-% standard way.
-%
-% The command \cs{MTmathstandardletters} turns off math activation and its
-% effects for all letters.
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@addtodo@easynonletters}
+% |#1| is a one character control sequence (|\.|, |\/|, |\#|, |\%| or |\&|)
+% and |#2| is a mathchar.
%
-% Ligatures within the argument of a math alphabet command are impeached by
-% skips; so \cs{MTunsetmathskips} is provided to cancel the skips for one
-% specific letter (|f| for example).
+% Perhaps I should use the Unicode engine \cs{Umathcode} et alia. I do this
+% at other places. However
+% I realized in 2013 and it is still true in 2024 that \LaTeX{} interface
+% \cs{DeclareSymbolFont} does not allow to declare more than 16 font
+% families even with \LuaLaTeX{} despite the latter allowing 256 such.
%
-% |1.3a| |2013/09/04|: I strangely had |\string#1| inside \cs{MTsetmathskips}.
-% Phobic of catcode active letters... but with |\string| one needs some
-% |\expandafter| to use \cs{MTsetmathskips} in an |\@for| loop for example. It
-% is better to allow the first argument to be a macro or anything expanding to
-% a letter, and to not be paranoid about improbable catcode active letters
-% (the user just has to tame them at the time of the \cs{MTsetmathskip}) so I
-% take out these |\string|'s.
-%
-% |1.3i| |2016/01/06|: the extra skips are suppressed for the arguments of
-% math alphabet commands. This applies in particular for amsmath's
-% \cs{DeclareMathOperator}.
+% So why bother?
%
+% \mstrelease{1.4} adds to this legacy branch a test to not override
+% a mathematically active ``easy'' non-letter. Main case is the dot
+% with Babel Spanish.
% \begin{macrocode}
-\newcommand*\MTsetmathskips[3]{%
- \@namedef{mst@before#1}{\ifnum\fam=\m@ne\mskip#2\relax\fi }%
- \@namedef{mst@after#1}{\ifnum\fam=\m@ne\mskip#3\relax\fi }%
-}
-\newcommand*\MTunsetmathskips[1]{%
- \@namedef{mst@before#1}{}%
- \@namedef{mst@after#1}{}%
-}
+\ifmst@everymath
+ \def\mst@addtodo@easynonletters#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mathcode`#1=#2}%
+ }%
+ }%
+ \def\mst@addtodo@easynonletters@U#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=#2}%
+ }%
+ }%
+\else
% \end{macrocode}
-% \end{macro}\end{macro}
-% \begin{macro}{\mst@mathactivate}
-% \begin{macro}{\mst@addtodo@nonletters}
-% \begin{macro}{\mst@addtodo@easynonletters}
-% \begin{macro}{\mst@addtodo@az}
-% \begin{macro}{\mst@addtodo@AZ}
-% Added note |2016/01/06|:
-% Notice that the initially |\relax| tokens \verb+\mst@[before|after]@<letter>+
-% formed with |\csname...\endcsname| do not modify TeX's math layout:
-% |{\relax f\relax}| is like |f| (also for ligatures inside |\mathrm| for
-% example).
+% The character may have been made mathcode active
+% exterior to \mst. We can not test this for sure at begin document as it
+% may happen later. If such an ``easy'' character is mathcode active,
+% this can not originate in \mst. So we should not overwrite when
+% we issue \cs{MTeasynonlettersdonotobeymathxx}. Example I know is
+% with \ctanpkg{babel} Spanish which makes the dot math active. With PDF\LaTeX{}
+% it is also catcode active
+%
+% This macro may be used with Unicoe engines, and \LuaTeX{} and \XeTeX{}
+% differ regarding math active characters. I have only tested this (anew)
+% for \mstrelease{1.4} for which this branch is needed, so in 2024.
% \begin{macrocode}
-\def\mst@magic@v #1#2#3#4#5{#1#3#4}
-\def\mst@magic@vi #1#2#3#4#5#6{#1#2#4#5}
-\def\mst@fork{\ifmmode\mst@magic@v\fi\@thirdofthree}
-\def\mst@safefork{\ifmmode\if@safe@actives\else\mst@magic@vi\fi\fi\@thirdofthree}
-\def\mst@do@activecase#1#2#3{% #1 is a category 11 or 12 character token
- \@ifundefined{active@char#1}{}{%
- \ifcat #1a\mathcode`#1=#2\else
- \ifx\relax #2\relax\mathcode`#1=`#1 \else\mathcode`#1=#3\fi\fi
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname mst@orig@user@active#1\endcsname
- \csname user@active#1\endcsname
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname mst@orig@normal@char#1\endcsname
- \csname normal@char#1\endcsname
- \ifcat #1a%
- \expandafter\edef\csname user@active#1\endcsname
- {\noexpand\mst@fork {{#2\noexpand#3}}{}\expandafter
- \noexpand\csname mst@orig@user@active#1\endcsname
- }%
- \expandafter\edef\csname normal@char#1\endcsname
- {\noexpand\mst@safefork {{#2\noexpand#3}}{}\expandafter
- \noexpand\csname mst@orig@normal@char#1\endcsname
- }%
- \else
- \expandafter\edef\csname user@active#1\endcsname
- {\noexpand\mst@fork {#2}\noexpand#3\expandafter
- \noexpand\csname mst@orig@user@active#1\endcsname
- }%
- \expandafter\edef\csname normal@char#1\endcsname
- {\noexpand\mst@safefork {#2}\noexpand#3\expandafter
- \noexpand\csname mst@orig@normal@char#1\endcsname
- }%
- \fi}}
-\begingroup
- \catcode`\~=\active
- \def\x{\endgroup
- \def\mst@mathactivate##1##2##3{% ##1 guaranteed of cat 11 or 12
- \begingroup
- \lccode`~=`##1
- \lccode`##1=`##1
- \lowercase{\endgroup
- \ifnum\catcode`##1=\active
- \mst@do@activecase ##1{##2}##3%
- % careful as ##2 is empty in the asterisk and
- % prime case!
- \else
- \mathcode`##1="8000
- % version 1.3 adds the possibility of extra skips around letters,
- % (only if non catcode active at the time of use).
- \ifcat##1a\edef~{% extra braces for a^b for example
- {\expandafter\noexpand\csname mst@before##1\endcsname
- ##2\noexpand##3%
- \expandafter\noexpand\csname mst@after##1\endcsname}}%
- \else\def~{##2##3}\fi
- \fi}}}
-\x
-\def\mst@addtodo@nonletters#1#2#3{%
- % #1 will be of cat 11 or 12.
- % #2 is empty for asterisk and right quote
- \mst@do@nonletters\expandafter
- {\the\mst@do@nonletters \mst@mathactivate#1{#2}#3}%
-}
-\def\mst@addtodo@easynonletters#1#2{% #1 is a one char control sequence
- \mst@do@easynonletters\expandafter{\the\mst@do@easynonletters\mathcode`#1=#2}%
-}
-\def\mst@addtodo@az#1#2{%
- \mst@do@az\expandafter{\the\mst@do@az\mst@mathactivate#1#2\mst@itcorr}
-}
-\def\mst@addtodo@AZ#1#2{%
- \mst@do@AZ\expandafter{\the\mst@do@AZ\mst@mathactivate#1#2\mst@ITcorr}%
-}
+ \def\mst@addtodo@easynonletters#1#2{%
+ \mst@do@easynonletters\expandafter
+ {\the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mathcode`#1=#2}}%
+ \def\mst@tmp##1\relax{%
+ \def\mst@tmp{\mst@OnlyIfNotMathActive{#1}{\mathcode`#1=##1\relax}}%
+ }%
+ \expandafter\mst@tmp\the\mathcode`#1\relax
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
+ }%
+ \def\mst@addtodo@easynonletters@U#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=#2}%
+ }%
+ \def\mst@tmp##1\relax{%
+ \def\mst@tmp{\mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=##1\relax}}%
+ }%
+ \expandafter\mst@tmp\the\mst@Umathcodenum`#1\relax
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
+ }%
+\fi
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% \end{macro}
% \begin{macro}{\newmcodes@}
% \begin{macro}{\mst@newmcodes@}
% \begin{macro}{\MTresetnewmcodes}
% \begin{macro}{\MTcustomizenewmcodes}
-% |1.15d|: the \cs{newmcodes@} amsmath macro causes an error in Unicode engines as soon
-% someone assigns a Unicode mathcode to the minus sign, and then makes a
-% \cs{DeclareMathOperator} declaration. Furthermore it hard-codes the font
-% family 0 as being the one to be used. Moreover just putting the concerned
-% signs |-|, |:|, |.|, |\| ,|'|, |*| inside braces emulates enough the
-% behavior (although the tick will give a prime).
+% \mstrelease{1.15d}: the \cs{newmcodes@} amsmath macro causes an error in
+% Unicode engines as soon someone assigns a Unicode mathcode to the minus
+% sign, and then makes a \cs{DeclareMathOperator} declaration. Furthermore
+% it hard-codes the font family 0 as being the one to be used. Moreover just
+% putting the concerned signs |-|, |:|, |.|, |\| ,|'|, |*| inside braces
+% emulates enough the behavior (although the tick will give a prime).
%
-% |1.3|: now tests if `basic' option was used.
+% \mstrelease{1.3}: now tests if `basic' option was used.
%
-% |1.3d|: I should re-examine the situation with |\newmcodes@|. In the
+% \mstrelease{1.3d}: I should re-examine the situation with |\newmcodes@|. In the
% meantime its relaxification will not be done if lualatex-math is
% loaded. And the whole thing is put at begin document.
%
-% |1.3m|: |lualatex-math 1.5| n'a pas modifi son traitement de |\newmcodes@|
+% \mstrelease{1.3m}: |lualatex-math 1.5| n'a pas modifi son traitement de |\newmcodes@|
% mais par contre a supprim le patch de \cs{resetMathstrut@}. Mais la date
-% de release est reste |2015/09/22| (date de |1.4a|) au lieu de quelque
+% de release est reste |2015/09/22| (date de \mstrelease{1.4a}) au lieu de quelque
% chose comme |2016/03/13| (date pour l'annonce sur CTAN). Il faudra suivre
% l'volution future de |amsmath.sty| maintenant assure par D.C.
%
-% |1.3n 2016/04/22|: there is no more a patch of |\newmcodes@| by
+% \mstrelease{1.3n} |2016/04/22|: there is no more a patch of |\newmcodes@| by
% |lualatex-math 1.6| |(2016/04/16)|, as |amsmath 2016/03/10 v2.15b| has now
% a version compatible with \LuaLaTeX.
%
% My very radical |\let\newmcodes@\relax| was only a temporary measure I
% adopted for lack of time on October 13, 2012, and apart from avoiding to
% do that in case |lualatex-math| was detected, I never came back... finally
-% I handle it myself for |1.3n|. The remaining problem of this macro (now
+% I handle it myself for \mstrelease{1.3n}. The remaining problem of this macro (now
% that it does not anymore crash |lualatex| or vice versa) is that (also
% with |amsmath| version |2016/03/10 v2.15b|) it hardcodes the font used.
% The aim of the macro is to modify the type of spacing affected to symbols
@@ -6954,7 +7094,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \item \mst makes (or not, depending on commands issued by the user) these
% characters math active (the right tick already is), which complicates
% recovery of former mathcode. We have mathchar type \emph{macros}, but
-% then the complication is in diverging behaviours of the engines:
+% then the complication is in diverging behaviors of the engines:
% |\numexpr\mst@varfam@minus\relax| works with \LuaTeX, not with \XeTeX.
% \item the |*| must presumably really be the non-lowered text glyph.
% \item for the |-| I hesitated but do use the hyphen in the end.
@@ -6979,7 +7119,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \item I noticed that \LuaLaTeX\ does not apply the ``TeX Ligature'' (bad
% name) regarding the right tick APOSTROPHE being transformed into RIGHT
% SINGLE QUOTATION MARK in math mode, but \XeLaTeX\ does. From the point
-% of view of \mst, the behaviour of \XeLaTeX\ is the coherent one. It
+% of view of \mst, the behavior of \XeLaTeX\ is the coherent one. It
% appears that \LuaLaTeX\ use in math mode of a text font does not obey
% the set features.^^A like this
%^^A \url{http://tex.stackexchange.com/questions/208688/oldstylefigure-issue-with-lualatex-and-mathastext}
@@ -6997,7 +7137,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% in 2012! I spent some hours on this small thing, with consequent testing and
% for example this TeX Ligature issue with Unicode engines.
%
-% Since |1.3v| we require e-\TeX{} extensions, so a test for
+% Since \mstrelease{1.3v} we require e-\TeX{} extensions, so a test for
% \cs{numexpr} has been dropped here.
% \begin{macrocode}
\ifmst@basic
@@ -7027,7 +7167,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
}%
\let\mst@originalnewmcodes@\newmcodes@
\fi
- }% end of AtBeginDocument
+ }%
\else
\AtBeginDocument {%
\ifx\newmcodes@\@undefined\else
@@ -7047,9 +7187,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
}%
\let\mst@originalnewmcodes@\newmcodes@
\fi
- }% end of second AtBeginDocument
- \fi % mst@XeOrLua
-\fi % mst@basic
+ }%
+ \fi
+\fi
\newcommand*\MTresetnewmcodes{\ifx\mst@originalnewmcodes@\undefined\else
\let\newmcodes@\mst@originalnewmcodes@\fi}
\newcommand*\MTcustomizenewmcodes{\ifx\mst@originalnewmcodes@\undefined\else
@@ -7080,7 +7220,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% we'll see.
% \begin{macro}{\MTmathoperators-}\begin{macro}{obeymathxx}
% \begin{macro}{\MTmathoperators-}\begin{macro}{donot-}\begin{macro}{obeymathxx}
-% |1.2|: rather than just replacing \cs{symoperators} by
+% \mstrelease{1.2}: rather than just replacing \cs{symoperators} by
% \cs{symmtoperatorfont} I add a modification which makes the
% declared operator names sensitive to the math alphabets... ouh le
% vilain!
@@ -7093,7 +7233,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
% \begin{macro}{mtletterfont}
-% At version |1.1|, we add the possibility to mimick the standard
+% At version \mstrelease{1.1}, we add the possibility to mimick the standard
% behavior, that is to have italic letters and upright
% digits. Thanks to Tariq~\textsc{Perwez} and
% Kevin~\textsc{Klement} who asked for such a feature.
@@ -7134,39 +7274,59 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% simultaneously when specified with |mode=base|. It does work with
% |mode=node| but this mode ``does not work in math mode.''
%
-% Done for |1.3o| of |2016/05/03|.
+% Done for \mstrelease{1.3o} of |2016/05/03|.
+%
+% \mstrelease{1.3p} renames the macro to \cs{MTfixmathfonts} for public access.
+%
+% \mstrelease{1.4} intercepts also |mode=harf|. Cf
+% \url{https://tex.stackexchange.com/questions/722084/change-number-style-with-mathastext}
+% (thanks to |user691586| for bug report). The new code unconditionally
+% replaces |mode=foo| by |mode=base|. The complications due to the output of
+% |\fontname| using only category 12 characters are handled in a different way
+% than the |2016| code.
+%
+% The \url{https://github.com/latex3/fontspec/issues/525} problem causes
+% additional complications.
%
-% |1.3p| renames the macro to \cs{MTfixmathfonts} for public access.
+% Perhaps I should simply zap spaces always rather than check for quotes?
+% Anyway this appears to work.
% \begin{macrocode}
-\begingroup
-\catcode`N 12
-\catcode`O 12
-\catcode`D 12
-\catcode`E 12
-\lowercase{\gdef\mst@fixmathfonts@ #1=NODE;#2#3\relax #4\@empty #5}%
- {\ifx#2\empty\else\font\mst@mathfont=#1=base;#2#3\relax#5=\mst@mathfont\fi}
-\lowercase{\gdef\MTfixmathfonts
-{\expandafter\mst@fixmathfonts@
- \fontname\textfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\textfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptscriptfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptscriptfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\textfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\textfont\symmtletterfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptfont\symmtletterfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptscriptfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptscriptfont\symmtletterfont}%
- }%
+\def\mst@fixmathfonts@#1.#2.#3.{%
+\def\mst@fixmathfonts@##1##2#1=##3;##4##5\relax##6\@empty##7{%
+ \ifx##3\empty\else
+ \if"##1%
+ \font\mst@mathfont=##1##2#1=base;##4##5\relax
+ \else
+ \mst@arrrrgh@fixmathfonts##1##2#1=base;##4##5#2\empty#3\relax
+ \fi
+ ##7=\mst@mathfont
+ \fi
}%
-\endgroup
+\def\mst@arrrrgh@fixmathfonts##1#2##2##3#3##4\relax{%
+ \ifx##2\empty
+ \font\mst@mathfont="##1"\relax
+ \else
+ \font\mst@mathfont="##1"#2##2##3#3\relax
+ \fi
+}%
+}%
+\expandafter\mst@fixmathfonts@\detokenize{mode. at.pt.}%
+\def\MTfixmathfonts#1{%
+\def\MTfixmathfonts{%
+ \expandafter\mst@fixmathfonts@\fontname\textfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\textfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptscriptfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptscriptfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\textfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\textfont\symmtletterfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptfont\symmtletterfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptscriptfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptscriptfont\symmtletterfont}%
+}}%
+\expandafter\MTfixmathfonts\expandafter{\detokenize{mode}}%
\ifmst@LuaTeX
\everymath\expandafter{\the\everymath\mst@fixmathfonts}%
\everydisplay\expandafter{\the\everydisplay\mst@fixmathfonts}%
@@ -7198,7 +7358,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{mathrm} and not \cs{mathnormal}.
%
% Actually math alphabet macros are created robust since \LaTeX{} from 2005,
-% so at |1.3v 2019/09/19| I decided to modify the old \mst approach a bit.
+% so at \mstrelease{1.3v} |2019/09/19| I decided to modify the old \mst approach a bit.
% Indeed with the old approach a \cs{mathtt} in a moving argument translates
% ultimately into \cs{Mathtt} but if for example the new context where it
% gets expanded is a subdued normal math version, this does not give the same
@@ -7220,10 +7380,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% robustness (except of course in the subdued math versions as there the math
% alphabets acquire back their original robust meanings.)
%
-% Potential breaking change at |1.3za|, the |defaultbf| etc... options do
+% Potential breaking change at \mstrelease{1.3za}, the |defaultbf| etc... options do
% not prevent the package declaring |\Mathbf| etc... commands.
%
-% |1.3za| defines a \cs{Mathnormalbold} and then defines \cs{mathnormalbold}
+% \mstrelease{1.3za} defines a \cs{Mathnormalbold} and then defines \cs{mathnormalbold}
% in terms of it in place of defining directly \cs{mathnormalbold} as a math
% alphabet. This is in relation to implementation of the |LGRgreek+|
% option. There was some hesitation though to restrict this change to that
@@ -7249,7 +7409,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mst@original@it\mathit
\let\mst@original@sf\mathsf
\let\mst@original@tt\mathtt
-\def\mst@restorealphabets{% for subdued
+\def\mst@restorealphabets{%
\let\mathnormal\mst@original@normal
\let\mathrm\mst@original@rm
\let\mathbf\mst@original@bf
@@ -7264,7 +7424,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% there to be a robust and easy way to know when one is in the argument of
% \cs{mathrm} or \cs{mathbf}, and the code is spread on various chapters of
% \texttt{source2e.pdf}, and the comments are often not up-to-date. So I did
-% not try a too complex hack and decided for |1.3za| to add a numeric
+% not try a too complex hack and decided for \mstrelease{1.3za} to add a numeric
% indicator to let Greek letters react to it. It incorporates a space to be
% self-delimiting in an \cs{ifcase} to maintain expandability in numeric
% context of the to-be-defined Greek control sequences.
@@ -7316,7 +7476,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTgreekupdefault}
% \begin{macro}{\MTgreekitdefault}
% \begin{macro}{selfGreek}
-% |1.14b|: We can not move the \cs{DeclareSymbolFont} to the
+% \mstrelease{1.14b}: We can not move the \cs{DeclareSymbolFont} to the
% \cs{Mathastext} macro because it resets the font family in *all*
% math versions, and some could have been defined by the user with
% previous calls to \cs{Mathastext}. So we have to have them here.
@@ -7336,7 +7496,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% First we establish the cumulative effect of the greek related options.
%
-% |1.15c| introduces some possibilities to change the shapes of Greek letters
+% \mstrelease{1.15c} introduces some possibilities to change the shapes of Greek letters
% in each math versions, and even the Greek font (in LGR encoding). The
% commands \cs{MTitgreek} etc... will be used in-between calls to
% \cs{Mathastext} and re-adjust the shapes. And the command \cs{MTgreekfont}
@@ -7355,7 +7515,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \LaTeX\ (since 2020-02-02 now that I check this out). As a result this
% triggered Font Warnings in the log about the replacement of |up| by |n|.
%
-% |1.3x| refactors completely the handling of Greek letter shapes under the
+% \mstrelease{1.3y} refactors completely the handling of Greek letter shapes under the
% |LGRgreek(s)| options (and only under them). Under these options we don't
% use one font for lowercase Greek and anotherone for uppercase Greek (some
% above code comments have not been updated) but one math font |mtgreekit| for italic Greek
@@ -7372,7 +7532,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% In order to maintain perfect identical code for non-|LGRgreek|, the
% |LGRgreek| related code is simply added to previously shared
-% constructions. The |LGRgreek| behaviour will remain identical in most
+% constructions. The |LGRgreek| behavior will remain identical in most
% documents, but for example those who used some adventurous `|sc|' for the
% main shape (the one used per default for operator names) need to adjust
% \cs{MTgreekupdefault} to be `|sc|', for the math version being defined, or
@@ -7386,9 +7546,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% package; to be examined next time --- which may be a long time in
% future!).
%
-% Unfortunately the |1.3x/1.3y| did some internal renamings here (using
+% Unfortunately the \mstrelease{1.3y} did some internal renamings here (using
% |@lgr@| in macro names in place of |@greek@|) which were not everywhere
-% followed up, and this broke the |selfGreek| option. Fixed at |1.3z|.
+% followed up, and this broke the |selfGreek| option. Fixed at \mstrelease{1.3z}.
%
% \begin{macrocode}
\providecommand*\MTgreekupdefault{n}
@@ -7442,14 +7602,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\mathgreekit}
% \begin{macro}{\mathgreekupbold}
% \begin{macro}{\mathgreekitbold}
-% The |1.3x| refactoring was done in order to be able to define \cs{alphaup},
+% The \mstrelease{1.3y} refactoring was done in order to be able to define \cs{alphaup},
% etc \dots\ control sequences (\cs{mathchar}'s), as well as the italic ones.
% Formerly two math fonts were created but to be used respectively with
% lowercase or uppercase Greek. Now we have two fonts indexed by their shape,
% and we take advantage to create two math alphabets mapping to the two
% defined symbol fonts |mtgreekup| and |mtgreekit|.
%
-% |1.3za| adds \cs{mathgreekupbold} and \cs{mathgreekitbold}.
+% \mstrelease{1.3za} adds \cs{mathgreekupbold} and \cs{mathgreekitbold}.
% \begin{macrocode}
\ifmst@LGRgreek
\DeclareFontEncoding{LGR}{}{}
@@ -7484,10 +7644,11 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% In case we need the Euler font, we declare it here. It will use
% |uzeur.fd| from the \ctanpkg{eulervm} package of Walter~\textsc{Schmidt}
% \begin{macrocode}
-\ifmst@needeuler\mst@infoline{will use Euler font; command \string\MTEulerScale}
-\DeclareSymbolFont{mteulervm}{U}{zeur}{m}{n}
-\DeclareSymbolFontAlphabet{\MathEuler}{mteulervm}
-\DeclareMathAlphabet{\MathEulerBold}{U}{zeur}{\mst@bold}{n}
+\ifmst@needeuler
+\mst@infoline{will use Euler font; command \string\MTEulerScale}
+ \DeclareSymbolFont{mteulervm}{U}{zeur}{m}{n}
+ \DeclareSymbolFontAlphabet{\MathEuler}{mteulervm}
+ \DeclareMathAlphabet{\MathEulerBold}{U}{zeur}{\mst@bold}{n}
\fi
\newcommand*\MTEulerScale[1]{\edef\zeu@Scale{#1}}
\let\MathastextEulerScale\MTEulerScale
@@ -7534,14 +7695,15 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{psy@scale} will be used to scale the font (see at the
% very end of this file).
% \begin{macrocode}
-\ifmst@needsymbol\mst@infoline{will use Symbol font; command \string\MTSymbolScale}
- \def\psy@scale{1}
- \DeclareSymbolFont{mtpsymbol}{U}{psy}{m}{n}
- \DeclareSymbolFontAlphabet{\MathPSymbol}{mtpsymbol}
-\AtBeginDocument{%
- \DeclareFontFamily{U}{psy}{}%
- \DeclareFontShape{U}{psy}{m}{n}{<->s*[\psy@scale] psyr}{}%
-}
+\ifmst@needsymbol
+ \mst@infoline{will use Symbol font; command \string\MTSymbolScale}
+ \def\psy@scale{1}
+ \DeclareSymbolFont{mtpsymbol}{U}{psy}{m}{n}
+ \DeclareSymbolFontAlphabet{\MathPSymbol}{mtpsymbol}
+ \AtBeginDocument{%
+ \DeclareFontFamily{U}{psy}{}%
+ \DeclareFontShape{U}{psy}{m}{n}{<->s*[\psy@scale] psyr}{}%
+ }
\fi
\newcommand*\MTSymbolScale[1]{\edef\psy@scale{#1}}
\let\MathastextSymbolScale\MTSymbolScale
@@ -7553,10 +7715,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}
% \end{macro}
% \begin{macro}{\pmvec}
-% Definition of a poor man version of the \cs{vec} accent
+% Definition of a poor man version of the \cs{vec} accent.
+% Done using \cs{protected}\cs{def} at \mstrelease{1.4}.
% \begin{macrocode}
-\DeclareRobustCommand*\pmvec[1]{\mathord{\stackrel{\raisebox{-.5ex}%
-{\tiny\boldmath$\mathord{\rightarrow}$}}{{}#1}}}
+\protected\def\pmvec#1{%
+ \mathord{\stackrel{\raisebox{-.5ex}{\tiny\boldmath$\mathord{\rightarrow}$}}%
+ {{}#1}%
+ }%
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\fouriervec}
@@ -7584,7 +7750,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% Some public macros to modify our private internals, and
% we will use them also ourself.
%
-% In version |1.1| we add the possibility to have two
+% In version \mstrelease{1.1} we add the possibility to have two
% distinct font shapes for letters and digits. So in fact
% we could as well have two really unrelated fonts but
% this is really not the spirit of the package.
@@ -7594,7 +7760,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% same time not modifying the \cs{familydefault} or \cs{romandefault}
% etc\dots
%
-% At time of |1.3za| I considered letting |LGRgreeks| and |selfGreeks|
+% At time of \mstrelease{1.3za} I considered letting |LGRgreeks| and |selfGreeks|
% support \cs{MTgreekfont} and this needed a chaneg to \cs{MTfamily}
% here but I dropped the idea. Too wary of documentation changes.
% \begin{macrocode}
@@ -7622,14 +7788,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTitGreek}
% \begin{macro}{\MTupGreek}
% \begin{macro}{\MTgreekfont}
-% |1.15c|: These new macros can be used in-between calls to \cs{Mathastext}.
+% \mstrelease{1.15c}: These new macros can be used in-between calls to \cs{Mathastext}.
% They reset the shapes for Greek letters (applies to LGRgreek(s) and
% selfGreek(s) options). The \cs{MTgreekfont} presupposes either LGRgreek or
% selfGreek (it is inoperant under |LGRgreeks| or |selfGreeks|).
% |\MTgreekfont{\familydefault}| is somewhat like using LGRgreeks or
% selfGreeks.
%
-% At time of |1.3za| I let \cs{MTgreekfont} also have an effect under option
+% At time of \mstrelease{1.3za} I let \cs{MTgreekfont} also have an effect under option
% |LGRgreeks| or |selfGreeks|, via a refactoring which also modified \cs{MTfamily}.
% \begin{macrocode}
\newcommand*\MTitgreek{\mst@itgreektrue\mst@upgreekfalse\def\mst@greek@select{0}}
@@ -7648,55 +7814,343 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}
% \end{macro}
% \end{macro}
+%
% At (long...) last we now change the font for the letters of the
-% latin alphabet. In version |1.1|, Latin letters have their own font
+% latin alphabet. In version \mstrelease{1.1}, Latin letters have their own font
% (shape).
%
-% |1.2b| initiated the use of mathematically active letters to insert the italic
-% corrections. With version |1.3| the use of math active letters is also for
-% extra muglue added before and after the letters. Use of |\@for| to shorten the
-% code initiated with release |1.3|.
+% \mstrelease{1.2b} |2012/12/28| now that we understand the great advantages of |"8000|
+% we do it also for all letters a-z and A-Z to insert automatically the
+% italic corrections. See the \hyperref[sec:ic]{discussion} in the user
+% manual. Ironically I wrote the code initially for the |italic| option only
+% to realize later it was more suitable to using an \emph{upright} text font
+% in math mode! So this mathematical activation of the letters is not done if
+% the font shape is detected to be |it| or |sl|; to bypass this the command
+% \cs{MTicinmath} is provided.
+%
+% \mstrelease{1.2e} |2013/01/10| corrects a bad oversight of \mstrelease{1.2b} in
+% \cs{mst@mathactivate} which made the reproduction of the user manual
+% illustrations with |$f_i^i$| impossible. As \cs{mst@mathactivate} was
+% originally used also to get the non-letters obey math alphabet while
+% maintaining the \TeX{} spacings, it added no extra braces. The braces
+% should however be added for expansion of math active letters, in order of
+% things like |x^y| to work as expected. (the group braces do not prevent
+% ligatures when the letters are arguments to the math alphabet commands,
+% the added macros \cs{mst@itcorr} and \cs{mst@before@<letter>} expanding to
+% nothing).
+%
+% Added note |2016/01/06|: it should be explicitly said that the extra
+% |{..}| in |\mst@mathactivate| for letters end up creating |\hbox|'es
+% around each letter with its extra skips and explicit italic correction,
+% when present. These skips are thus set at natural width and do not add
+% any break point.
+%
+% Added note at \mstrelease{1.4}: the extra pair of braces is inserted here
+% at \cs{mst@DeclareMathLetter}, not at \cs{mst@mathactivate}.
+%
+% \mstrelease{1.3} |2013/09/02| extends the use of mathematically active letters to
+% allow the user to specify muglue before and after the letter itself (see
+% \cs{MTsetmathskips}, below).
+% Mathematically active letters were previously used only to add the italic
+% correction; the math activation has now been separated and put in
+% \cs{MTmathactiveletters}. There is also \cs{MTmathactiveLetters} to allow
+% math activation only for the uppercase letters. To cancel the (now default,
+% even with option |italic|) math
+% activation of letters, there is \cs{MTmathstandardletters}. Version \mstrelease{1.3a}
+% removes some silly |\string|'s from the code, which prevented to pass
+% macros as first argument to the command.
+%
+% Added note |2016/01/06|:
+% Notice that the initially |\relax| tokens \verb+\mst@[before|after]@<letter>+
+% formed with |\csname...\endcsname| do not modify TeX's math layout:
+% |{\relax f\relax}| is like |f| (also for ligatures inside |\mathrm| for
+% example).
+%
+% The code here was refactored at \mstrelease{1.4} and this simplified
+% \cs{mst@mathactivate} definition.
+%
+% The \cs{mst@before}\meta{letter} were renamed at \mstrelease{1.4} into
+% \cs{mst@before@}\meta{letter} and are incorporated at the
+% \cs{mst@DeclareMathLetter} location. Formerly \cs{mst@}\meta{letter} was
+% only the math symbol, now \cs{MTmathcharletter}\meta{letter} is used for that and
+% \cs{MTcommandletter}\meta{letter} is the whole thing to which the active letter
+% expands (the definition of the active letter done by \cs{mst@mathactivate}
+% is done with a \cs{def}, not a \cs{let}).
+% \begin{macro}{\mst@DeclareMathLetter}
% \begin{macrocode}
-\def\mst@DeclareMathLetter #1{%
+\def\mst@DeclareMathLetter#1#2#3#4#5{%
\DeclareMathSymbol {#1}{\mathalpha}{mtletterfont}{`#1}%
- \expandafter
- \DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{mtletterfont}{`#1}%
- \expandafter\mst@addtodo@az\expandafter #1\csname mst@#1\endcsname
+ \DeclareMathSymbol {#4}{\mathalpha}{mtletterfont}{`#1}%
+ \def#2{{#3#4#5\mst@itcorr}}%
+}%
+\@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathLetter
+ \expandafter\mst@tmp
+ \csname MTcommandletter\mst@tmp\expandafter\endcsname
+ \csname mst@before@\mst@tmp\expandafter\endcsname
+ \csname MTmathcharletter\mst@tmp\expandafter\endcsname
+ \csname mst@after@\mst@tmp\endcsname
}%
-\@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do
- {\expandafter\mst@DeclareMathLetter\mst@tmp}%
\ifmst@frenchmath \def\mst@font@tbu{mtoperatorfont}%
\else \def\mst@font@tbu{mtletterfont}%
\fi
-\def\mst@DeclareMathLetter #1{%
+\def\mst@DeclareMathLetter #1#2#3#4#5{%
\DeclareMathSymbol {#1}{\mathalpha}{\mst@font@tbu}{`#1}%
- \expandafter
- \DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{\mst@font@tbu}{`#1}%
- \expandafter\mst@addtodo@AZ\expandafter #1\csname mst@#1\endcsname
+ \DeclareMathSymbol {#4}{\mathalpha}{\mst@font@tbu}{`#1}%
+ \def#2{{#3#4#5\mst@ITcorr}}%
+}%
+\@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathLetter
+ \expandafter\mst@tmp
+ \csname MTcommandletter\mst@tmp\expandafter\endcsname
+ \csname mst@before@\mst@tmp\expandafter\endcsname
+ \csname MTmathcharletter\mst@tmp\expandafter\endcsname
+ \csname mst@after@\mst@tmp\endcsname
+}%
+\def\mst@mathactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\expandafter\expandafter
+ \mst@mathactivate\expandafter\mst@tmp\csname MTcommandletter\mst@tmp\endcsname{}%
+ }%
+}%
+\def\mst@mathactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\expandafter\expandafter
+ \mst@mathactivate\expandafter\mst@tmp\csname MTcommandletter\mst@tmp\endcsname{}%
+ }%
+}%
+\def\mst@mathdeactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=\csname MTmathcharletter\mst@tmp\endcsname
+ }%
+}%
+\def\mst@mathdeactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=\csname MTmathcharletter\mst@tmp\endcsname
+ }%
+}%
+% \end{macrocode}
+% We redo the definitions with some added layer (silly because will never
+% happen in pratice that a letter is Babel-active) related to
+% \cs{mst@do@activecase} in \ctanpkg{babel} context.
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \def\mst@mathdeactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=
+ \csname MTmathcharletter\mst@tmp\endcsname
+ }%
+ }%
+ \def\mst@mathdeactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=
+ \csname MTmathcharletter\mst@tmp\endcsname
+ }%
+ }%
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\MTmathactiveletters}
+% \begin{macro}{\MTmathstandardletters}
+%
+% Important changes at \mstrelease{1.4}.
+%
+% Ascii letters are math-activated at package loading time, rather than again and
+% again each time math mode is entered. But not under |subdued| mode, then
+% the activation is done as part of switching to some math version.
+%
+% The ordering in this code source is a bit of a mess, and it may be too early
+% here to execute \cs{MTmathactiveletters} (I think it is fine now after some
+% major moving around of code chunks but will not waste time checking
+% it) so this will be postponed to end of package loading. Prior to
+% \mstrelease{1.4} \cs{MTmathactiveletters} could be executed here as it only
+% set some toggle to be obeyed at every math mode entrance.
+% \begin{macrocode}
+\def\mst@mathactivateletters{%
+ \mst@mathactivate@lowercase
+ \mst@mathactivate@uppercase
+}%
+\newcommand*\MTmathactiveletters{%
+ \mst@OnlyIfNotSubdued
+ \mst@mathactivateletters
+}%
+\AtEndOfPackage{\MTmathactiveletters}%
+% \end{macrocode}
+% Duplication due to some legacy reasons, do not rely on these internal
+% macro names, beware they change at future release.
+% \begin{macrocode}
+\def\mst@mathactivateLetters{\mst@activate@uppercase}%
+\newcommand*\MTmathactiveLetters{%
+ \mst@OnlyIfNotSubdued
+ \mst@mathactivateLetters
+}%
+\newcommand*\MTmathstandardletters{%
+ \mst@mathdeactivate@lowercase
+ \mst@mathdeactivate@uppercase
}%
-\@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do
- {\expandafter\mst@DeclareMathLetter\mst@tmp}%
-\let\mst@DeclareMathLetter\relax
+% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\MTicinmath}
+% \begin{macro}{\MTICinmath}
+% \begin{macro}{\MTnoicinmath}
+% \begin{macro}{\MTicalsoinmathxx}
+% \cs{MTnoicinmath} can also be used from inside math mode.
+%
+% \cs{MTicalsoinmathxx} is destined to be used inside
+% \cs{mathnormalbold} as I didn't want to add the complication of
+% extracting the family number used inside \cs{mathnormalbold} (will
+% perhaps come back if I have time to spend on
+% |source2e|). Added note |2016/01/06|: this number is a priori simply
+% |symmtletterfont+1|.
+%
+% \cs{MTicinmath} can also be used inside math mode, to revert an
+% earlier \cs{MTnoicinmath} from inside the same math group.
+%
+% \mstrelease{1.3i} |2016/01/06|: For some reason which I have now forgotten I did
+% until then:
+% \begin{verbatim}
+% \def\mst@itcorr{\ifnum\fam=\m@ne\/\else\ifnum\fam=\symmtletterfont\/\fi\fi}%
+% \end{verbatim}
+% hence italic corrections were also applied inside \cs{mathnormal} (for
+% upright fonts; \cs{mathnormalbold} math alphabet was not treated like
+% \cs{mathnormal}). I now drop this to be more in sync with the handling
+% of the extra skips around letters. Everything gets suppressed inside
+% all math alphabets, allowing ligatures, even for \cs{mathnormal}.
+%
+% \begin{macrocode}
+\newcommand*\MTicinmath{%
+ \MTmathactiveletters
+ \def\mst@itcorr{\ifnum\fam=\m@ne\/\fi}%
+ \let\mst@ITcorr\mst@itcorr
+}
+\newcommand*\MTICinmath{%
+ \MTmathactiveLetters
+ \def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}%
+}
+\newcommand*\MTnoicinmath{\let\mst@itcorr\@empty\let\mst@ITcorr\@empty}
+\newcommand*\MTnoICinmath{\let\mst@ITcorr\@empty}
+\newcommand*\MTicalsoinmathxx{%
+ \ifx\mst@itcorr\@empty\else\def\mst@itcorr{\/}\fi
+ \ifx\mst@ITcorr\@empty\else\def\mst@ITcorr{\/}\fi
+}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
+% \begin{macro}{\MTsetmathskips}
+% \begin{macro}{\MTunsetmathskips}
+% \mstrelease{1.3} |2013/09/02|: user level command to specify extra spaces in math mode
+% around the letters (only the 7bit a,b,..,z and A,B,..,Z). First parameter is
+% the letter, second is the math skip to be inserted before, and third the
+% skip to be inserted after; for example \cs{thickmuskip} or explicitly
+% |0.1mu|.
+%
+% For this, letters are made mathematically active. This is now the package
+% default (version \mstrelease{1.2} did this only in the absence of option |italic|, or
+% more precisely when the font used was not of shape |it| or |sl|). But if
+% \cs{MTsetmathskips} has not been used for that letter, the only effect of
+% the math activation is, as in \mstrelease{1.2}, to add the italic correction
+% automatically, except when the font shape is detected to be |it| or |sl|; in
+% these latter cases, although mathematically active, the letter acts in the
+% standard way.
+%
+% The command \cs{MTmathstandardletters} turns off math activation and its
+% effects for all letters.
+%
+% Ligatures within the argument of a math alphabet command are impeached by
+% skips; so \cs{MTunsetmathskips} is provided to cancel the skips for one
+% specific letter (|f| for example).
+%
+% \mstrelease{1.3a} |2013/09/04|: I strangely had |\string#1| inside \cs{MTsetmathskips}.
+% Phobic of catcode active letters... but with |\string| one needs some
+% |\expandafter| to use \cs{MTsetmathskips} in an |\@for| loop for example. It
+% is better to allow the first argument to be a macro or anything expanding to
+% a letter, and to not be paranoid about improbable catcode active letters
+% (the user just has to tame them at the time of the \cs{MTsetmathskip}) so I
+% take out these |\string|'s.
+%
+% \mstrelease{1.3i} |2016/01/06|: the extra skips are suppressed for the arguments of
+% math alphabet commands. This applies in particular for amsmath's
+% \cs{DeclareMathOperator}.
+%
+% \begin{macrocode}
+\newcommand*\MTsetmathskips[3]{%
+ \@namedef{mst@before@#1}{\ifnum\fam=\m@ne\mskip#2\relax\fi}%
+ \@namedef{mst@after@#1}{\ifnum\fam=\m@ne\mskip#3\relax\fi}%
+}
+\newcommand*\MTunsetmathskips[1]{%
+ \@namedef{mst@before@#1}{}%
+ \@namedef{mst@after@#1}{}%
+}
+% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@DeclareMathDigit}
+% \begin{macro}{\MTmathactivedigits}
+% \begin{macro}{\MTmathstandarddigits}
+% In version \mstrelease{1.1}, we have now separated digits from letters, so paradoxically
+% it is less problematic to give them the |mathalpha| type.
+% \begin{macrocode}
\ifmst@nodigits\else
-\def\mst@font@tbu{mtoperatorfont}%
+ \def\mst@font@tbu{mtoperatorfont}%
+ \ifmst@symboldigits \def\mst@font@tbu{mtpsymbol}\fi
+ \ifmst@eulerdigits \def\mst@font@tbu{mteulervm}\fi
+ \DeclareMathSymbol{0}{\mathalpha}{\mst@font@tbu}{`0}%
+ \DeclareMathSymbol{1}{\mathalpha}{\mst@font@tbu}{`1}%
+ \DeclareMathSymbol{2}{\mathalpha}{\mst@font@tbu}{`2}%
+ \DeclareMathSymbol{3}{\mathalpha}{\mst@font@tbu}{`3}%
+ \DeclareMathSymbol{4}{\mathalpha}{\mst@font@tbu}{`4}%
+ \DeclareMathSymbol{5}{\mathalpha}{\mst@font@tbu}{`5}%
+ \DeclareMathSymbol{6}{\mathalpha}{\mst@font@tbu}{`6}%
+ \DeclareMathSymbol{7}{\mathalpha}{\mst@font@tbu}{`7}%
+ \DeclareMathSymbol{8}{\mathalpha}{\mst@font@tbu}{`8}%
+ \DeclareMathSymbol{9}{\mathalpha}{\mst@font@tbu}{`9}%
+ \let\MTmathactivedigits\relax
+ \let\MTmathstandarddigits\relax
% \end{macrocode}
-% In version |1.1|, we have now separated digits from letters, so paradoxically
-% it is less problematic to give them the |mathalpha| type.
-% \begin{macrocode}
-\ifmst@symboldigits \def\mst@font@tbu{mtpsymbol} \fi
-\ifmst@eulerdigits \def\mst@font@tbu{mteulervm} \fi
-\DeclareMathSymbol{0}{\mathalpha}{\mst@font@tbu}{`0}%
-\DeclareMathSymbol{1}{\mathalpha}{\mst@font@tbu}{`1}%
-\DeclareMathSymbol{2}{\mathalpha}{\mst@font@tbu}{`2}%
-\DeclareMathSymbol{3}{\mathalpha}{\mst@font@tbu}{`3}%
-\DeclareMathSymbol{4}{\mathalpha}{\mst@font@tbu}{`4}%
-\DeclareMathSymbol{5}{\mathalpha}{\mst@font@tbu}{`5}%
-\DeclareMathSymbol{6}{\mathalpha}{\mst@font@tbu}{`6}%
-\DeclareMathSymbol{7}{\mathalpha}{\mst@font@tbu}{`7}%
-\DeclareMathSymbol{8}{\mathalpha}{\mst@font@tbu}{`8}%
-\DeclareMathSymbol{9}{\mathalpha}{\mst@font@tbu}{`9}%
+% \mstrelease{1.4} adds possibility of mathematically active digits.
+% \begin{macrocode}
+ \ifmst@activedigits
+ \def\mst@DeclareMathDigit #1#2#3{%
+ \DeclareMathSymbol{#3}{\mathalpha}{\mst@font@tbu}{`#1}%
+ \def#2{#3}%
+ }%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathDigit
+ \expandafter\mst@tmp
+ \csname MTcommanddigit\romannumeral\mst@tmp\expandafter\endcsname
+ \csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ \def\mst@mathactivatedigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\expandafter\expandafter\mst@mathactivate
+ \expandafter\mst@tmp\csname MTcommanddigit\romannumeral\mst@tmp\endcsname{}%
+ }%
+ }%
+ \newcommand*\MTmathactivedigits{\mst@OnlyIfNotSubdued\mst@mathactivatedigits}%
+ \MTmathactivedigits
+ \ifmst@everymath
+ \newcommand*\MTmathstandarddigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp
+ =\csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ }%
+ \else
+% \end{macrocode}
+% We inject some extra layer (silly because will never happen in pratice
+% that a digit token is Babel-active) related to \cs{mst@do@activecase} in
+% \ctanpkg{babel} context.
+% \begin{macrocode}
+ \newcommand*\MTmathstandarddigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp
+ =\csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ }%
+ \fi
+ \fi
\fi
% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
% When |symboldelimiters| is passed as an option, we use the
% Symbol font for the printable characters other than
% letters and digits.
@@ -7709,7 +8163,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@font@tbu{mtoperatorfont}%
\fi
% \end{macrocode}
-% |1.2| adds the tricks to let non letters/digits obey math alphabets. We have
+% \mstrelease{1.2} adds the tricks to let non letters/digits obey math alphabets. We have
% to double the definitions for easy switch on-off of the mechanism, via a token
% list which is put into \cs{everymath} and \cs{everydisplay}.
% \begin{macrocode}
@@ -7727,7 +8181,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\mst@@doasterisk}
% \begin{macro}{\MTnormalasterisk}
% \begin{macro}{\MTactiveasterisk}
-% |1.12d| The \cs{ast} or |*| is defined in |fontmath.ltx| as a binary
+% \mstrelease{1.12d} The \cs{ast} or |*| is defined in |fontmath.ltx| as a binary
% operator from the |symbols| font. Usually the asterisk from the text
% font is in a raised position. Previous versions of \mst did nothing
% with \cs{ast} but strangely defined |*| to be the one from the text
@@ -7740,61 +8194,99 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% The user macro \cs{MTlowerast} sets the amount
% of lowering to be applied to the text asterisk.
%
-% |1.12e| Somehow there was a big omission in |1.12d|, the
+% \mstrelease{1.12e} Somehow there was a big omission in \mstrelease{1.12d}, the
% command \cs{MTlowerast} as described in the manual was missing!
%
-% nota bene: it is assumed that |*| is of type |other| when \mst
-% is loaded... it should neither be active, nor of type |letter|!
+% \mstrelease{1.3i} adds \cs{MTnormalasterisk} and \cs{MTactiveasterisk}.
+% They do nothing if package is loaded without option |asterisk|.
+%
+% \mstrelease{1.4} uses \cs{protected} rather than robust commands.
+% And implements the support for the new default of not using \cs{everymath}.
%
-% |1.3i| adds \cs{MTnormalasterisk} and \cs{MTactiveasterisk}. They do nothing
-% without option |asterisk|.
+% The first two \cs{newcommand*} are because the commands were previously
+% defined unconditionally anyhow, in a way making them no-op's without
+% option |asterisk|.
% \begin{macrocode}
-\def\mst@@doasterisk{\let\ast\mst@ast\mst@mathactivate*{}\mst@ast}%
-\newcommand*\MTnormalasterisk {\let\mst@doasterisk\relax}
-\newcommand*\MTactiveasterisk {\let\mst@doasterisk\mst@@doasterisk}
+\newcommand*\MTnormalasterisk{}
+\newcommand*\MTactiveasterisk{}
\ifmst@asterisk\mst@infoline{asterisk: \string\ast\space and *}
- \AtBeginDocument{%
- \everymath\expandafter
- {\the\everymath \mst@doasterisk \MTnormalasterisk }%
- \everydisplay\expandafter
- {\the\everydisplay\mst@doasterisk \MTnormalasterisk }}
\ifmst@symbolmisc
- \def\mst@bin@ast{%
- \mathbin{\mathchoice{\raisebox{-.1\height}%
- {\the\textfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\textfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\scriptfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\scriptscriptfont\symmtpsymbol\char42}}}}%
+ \protected\def\mst@bin@ast{\mathbin{\mathchoice
+ {\raisebox{-.1\height}{\the\textfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\textfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\scriptfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\scriptscriptfont\symmtpsymbol\char42}}}%
+ }%
\else
- \def\mst@bin@ast{%
- \mathbin{\mathchoice{\raisebox{-\mst@lowerast}%
- {\the\textfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\textfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptscriptfont\symmtoperatorfont\char42}}}}%
+ \protected\def\mst@bin@ast{\mathbin{\mathchoice
+ {\raisebox{-\mst@lowerast}{\the\textfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\textfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptscriptfont\symmtoperatorfont\char42}}}%
+ }%
\fi
- \def\mst@varfam@ast{\ifnum\fam=\m@ne\mst@bin@ast\else
- \mathbin{\mathchoice{\raisebox{-\mst@lowerast}%
- {\the\textfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\textfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptscriptfont\fam\char42}}}\fi}%
- \MTactiveasterisk
- \DeclareRobustCommand*{\mst@ast}{\mst@bin@ast}
+ \protected\def\mst@varfam@ast{\ifnum\fam=\m@ne
+ \mst@bin@ast
+ \else
+ \mathbin{\mathchoice
+ {\raisebox{-\mst@lowerast}{\the\textfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\textfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptscriptfont\fam\char42}}}%
+ \fi}%
+ \let\mst@ast\mst@bin@ast
\newcommand*\MTlowerast[1]{\def\mst@lowerast{#1}}
\MTlowerast{.3\height}
- \mst@do@easynonletters\expandafter\expandafter\expandafter
- {\expandafter\the\expandafter\mst@do@easynonletters
- \expandafter\def\csname mst@ast \endcsname{\mst@varfam@ast}}
+% \end{macrocode}
+% Arguably \mst should have used the ``hard'' non-letters affiliation here.
+% Probably too late to change this in 2024... and costly in documentation
+% time.
+% \begin{macrocode}
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters\let\mst@ast\mst@varfam@ast
+ }%
+ \ifmst@everymath
+ \def\mst@@doasterisk {\let\ast\mst@ast\mst@mathactivate*{}\mst@ast}%
+ \def\MTnormalasterisk {\let\mst@doasterisk\relax}
+ \def\MTactiveasterisk {\let\mst@doasterisk\mst@@doasterisk}
+ \MTactiveasterisk
+ \AtBeginDocument{%
+ \everymath\expandafter
+ {\the\everymath \mst@doasterisk \MTnormalasterisk }%
+ \everydisplay\expandafter
+ {\the\everydisplay\mst@doasterisk \MTnormalasterisk }%
+ }%
+ \else
+ \def\MTnormalasterisk{\AtBeginDocument{\MTnormalasterisk}}
+ \def\MTactiveasterisk{\AtBeginDocument{\MTactiveasterisk}}
+% \end{macrocode}
+% For legacy reasons the responsiveness to math alphabets is made part of the
+% handling of ``easy'' non letters (probably because it is on per default),
+% and this causes me problems of internal logic and even more annoyingly of
+% documentation. I am leaving this standing because it would be too much of a
+% pain at this stage to document a change and it was already quite annoying to
+% better document actual situation.
+% \begin{macrocode}
+ \mst@undo@easynonletters\expandafter{%
+ \the\mst@do@easynonletters\let\mst@ast\mst@bin@ast
+ }%
+% \end{macrocode}
+% For legacy reasons the action of \cs{MTactiveasterisk} is not testing if
+% in |subdued| mode.
+%
+% MEMO: if |subdued| there is \cs{MTeverymathoff} added to |\begin{document}|
+% near end of package and it will do \cs{MTnormalasterisk}.
+% \begin{macrocode}
+ \AtBeginDocument{%
+ \let\mst@orig@abd@ast\ast
+ \edef\MTnormalasterisk{\noexpand\mst@mathdeactivate*{\the\mathcode`\*}%
+ \let\noexpand\ast\noexpand\mst@orig@abd@ast}%
+ \def\MTactiveasterisk{\def\ast{\mst@ast}%
+ \mst@mathactivate*{}\mst@ast
+ }%
+ \MTactiveasterisk
+ }
+ \fi
\fi
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
@@ -7807,17 +8299,19 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% [(Dec. 2012) should I reexamine these definitive sounding remarks?]
%
-% |1.3x| of |2022/11/03| adds support for |ncccomma| option.
+% \begin{macro}{ncccomma}
+% \begin{macro}{decimalcomma}
+% \mstrelease{1.3y} of |2022/11/03| adds support for |ncccomma| option.
%
% Some non-obvious hack is needed for compatibility with our home-made
% mechanism of non-letters obeying math alphabet commands. Alternative would
-% have been to not load at all \ctanpkg{ncccomma} (or since |1.3zb|
+% have been to not load at all \ctanpkg{ncccomma} (or since \mstrelease{1.3zb}
% \ctanpkg{decimalcomma}) and provide the functionality purely by our own
% means; because here in order to support \cs{MTnonlettersobeymathxx} we are
% almost contrived to override quasi entirely the contents of these tiny
% packages.
%
-% |1.3zb| adds support for the |decimalcomma| option. This was mandatory to
+% \mstrelease{1.3zb} adds support for the |decimalcomma| option. This was mandatory to
% keep a compatibility layer with \ctanpkg{frenchmath} after its |2.7| release
% of |2023/12/23|.
%
@@ -7838,7 +8332,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\RequirePackage{decimalcomma}[2023/12/28]% 1.3 or later
% \end{macrocode}
% Attention
-% that the breaking behavior of \cs{AtBeginDocument} at October 2020
+% that the \textbf{BREAKING CHANGE} to \cs{AtBeginDocument} at October 2020
% \LaTeX{} release means that, \emph{taking into account that \emph{\mst} already has
% employed some \emph{\cs{AtBeginDocument}} prior to loading} \ctanpkg{decimalcomma}, any
% code here will be executed \textbf{BEFORE} the \cs{AtBeginDocument} material
@@ -7855,7 +8349,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% latter for which \ctanpkg{babel-french} has a dectection mechanism, which as
% a result avoids the bad interactions with \ctanpkg{numprint} plus its
% |autolanguage| option, which are mentioned below in the \ctanpkg{ncccomma}
-% branch. So we don't need here the workaround done below is in the
+% branch. So we don't need here the workaround done below in the
% |ncccomma| branch. Notice though that in both cases, the `intelligent'
% comma feature will be applied to the whole document, even inside those
% portions where the user has switched to another language such as English.
@@ -7884,19 +8378,26 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mathcomma\mst@varfam@comma
\let\sm@rtcomma\mst@sm@rtcomma
}
- \else % end of decimalcomma branch
- \ifmst@ncccomma
- \mst@infoline{loading package ncccomma for `smart comma\string'}
- \RequirePackage{ncccomma}%
+ \ifmst@everymath
+ \else
+ \edef\mst@tmp{\mathchardef\mathcomma=\the\mathcode`\,\relax}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ \fi
+ \else
% \end{macrocode}
% Work around some bad interaction of \ctanpkg{ncccomma}, \ctanpkg{numprint}
% with |autolanguage| and \ctanpkg{babel-french}. See
% \centeredline{\url{https://github.com/latex3/babel/issues/190}} for
-% background. Some hesitation whether I should use the \cs{noextrasfrench}
-% to work around \ctanpkg{babel-french} code influencing non-French sections
-% in the document. Update: I think the last sentence means I was hesitating
-% at time of |1.3x| whether to insert some extra code inside the \cs{noextrasfrench}.
+% background. Some hesitation whether I should use the \cs{noextrasfrench} to
+% work around \ctanpkg{babel-french} code influencing non-French sections in
+% the document. Update: I think the last sentence means I was hesitating at
+% time of \mstrelease{1.3y} whether to insert some extra code inside the
+% \cs{noextrasfrench}.
% \begin{macrocode}
+ \ifmst@ncccomma
+ \mst@infoline{loading package ncccomma for `smart comma\string'}
+ \RequirePackage{ncccomma}%
\AtBeginDocument{%
\mathcode`\,="8000\relax
\@ifpackageloaded{babel}{%
@@ -7918,34 +8419,77 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mathcomma\mst@varfam@comma
\let\NCC@comma\mst@NCC@comma
}
- \else % neither ncccomma nor decimalcomma
+ \ifmst@everymath
+ \else
+% \end{macrocode}
+% Attention that \ctanpkg{ncccomma} (contrarily to \ctanpkg{icomma} loaded by
+% \ctanpkg{decimalcomma} has made the comma math active already when we loaded it.
+% So we don't use |\the\mathcode`\,\relax| here.
+% \begin{macrocode}
+ \edef\mst@tmp{\mathchardef\mathcomma=\the\mathcomma\relax}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ \fi
+ \else
+% \end{macrocode}
+% Neither option |ncccomma| nor |decimalcomma|. The \mstrelease{1.4} non-use
+% of \cs{everymath} and consequences is accounted for automatically by
+% \cs{mst@addtodo@nonletters}.
+% \begin{macrocode}
\expandafter\mst@addtodo@nonletters\string,\mathpunct\mst@varfam@comma
\fi\fi
+% \end{macrocode}
+% math dot.
+% \begin{macrocode}
\DeclareMathSymbol{.}{\mathord}{\mst@font@tbu}{"2E}
\DeclareMathSymbol{\mst@varfam@dot}{\mathalpha}{\mst@font@tbu}{"2E}
\mst@addtodo@easynonletters\.\mst@varfam@dot
- \DeclareMathSymbol{:}{\mathrel}{\mst@font@tbu}{"3A} % relation spacing
+% \end{macrocode}
+% math colon.
+% \begin{macrocode}
+ \DeclareMathSymbol{:}{\mathrel}{\mst@font@tbu}{"3A}
\DeclareMathSymbol{\mst@varfam@colon}{\mathalpha}{\mst@font@tbu}{"3A}
\expandafter\mst@addtodo@nonletters\string:\mathrel\mst@varfam@colon
\@ifpackageloaded{amsmath}
- {} % \colon defined in amsmath.sty in terms of : with some enlarged explicit
- % spacing. No need to intervene.
- {% no amsmath, use standard punctuation spacing
+% \end{macrocode}
+% \cs{colon} gets defined in \ctanpkg{amsmath} in terms of |:| with some enlarged explicit
+% spacing. No need to intervene.
+% \begin{macrocode}
+ {}
+% \end{macrocode}
+% No \ctanpkg{amsmath}, use standard punctuation spacing.
+%
+% The reason for |\et\colon\undefined| is if some package has redefined
+% \cs{colon} which then can not be used in \cs{DeclareMathSymbol} anymore (we
+% shamelessly overwrite...)
+% \begin{macrocode}
+ {%
\let\colon\undefined
- % the reason is if some package has redefined \colon which then
- % can not be used in \cs{DeclareMathSymbol} anymore (we
- % shamelessly overwrite...)
\DeclareMathSymbol{\colon}{\mathpunct}{\mst@font@tbu}{"3A}
- \mst@do@nonletters\expandafter{\the\mst@do@nonletters
+ \let\mst@colon\colon
% \end{macrocode}
-% |1.3v| uses \cs{protected} for the (optional) \cs{colon} redefinition.
+% \mstrelease{1.3v} uses \cs{protected} for the (optional) \cs{colon} redefinition.
% \begin{macrocode}
- \protected\def\colon{\mathpunct{\mst@varfam@colon}}}%
+ \mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\colon{\mathpunct{\mst@varfam@colon}}%
+ }%
+% \end{macrocode}
+% \mstrelease{1.4} needs extras.
+% \begin{macrocode}
+ \ifmst@everymath
+ \else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\colon\mst@colon
+ }%
+ \fi
}
- \DeclareMathSymbol{\mst@varfam@pointvirgule}{\mathalpha}{\mst@font@tbu}{"3B}
% \end{macrocode}
-% |1.3x| adds |binarysemicolon| option.
+% Semi-colon.
+% \mstrelease{1.3y} adds |binarysemicolon| option.
% \begin{macrocode}
+ \DeclareMathSymbol{\mst@varfam@pointvirgule}{\mathalpha}{\mst@font@tbu}{"3B}
\ifmst@binarysemicolon
\mst@infoline{semi-colon set to be of type \string\mathbin}
\DeclareMathSymbol{;}{\mathbin}{\mst@font@tbu}{"3B}
@@ -7953,21 +8497,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\DeclareMathSymbol{;}{\mathpunct}{\mst@font@tbu}{"3B}
\expandafter\mst@addtodo@nonletters\string;\mathpunct\mst@varfam@pointvirgule
- \fi % binarysemicolno
-\fi % end \ifmst@nopunct else branch
+ \fi
+\fi
% \end{macrocode}
+% \end{macro}\end{macro}
% \begin{macro}{\relbar}
% Due to the way = and - are used by \LaTeX{} in arrows, we will
% have to redefine \cs{Relbar} and \cs{relbar} in order for
% them to preserve their original meanings.
%
-% |1.15d|: Oct 13, 2012. Belated amendment of the code to be compatible
+% \mstrelease{1.15d}: Oct 13, 2012. Belated amendment of the code to be compatible
% with Unicode engines in case someone changed the mathcode of -.
% However, for the time being I can do it in an easy way only for
% \XeTeX, not for \LuaLaTeX. Also I do my modifications to \cs{relbar}
% in a manner testing for the presence of amsmath.
%
-% |1.3v 2019/09/19|: \LaTeX{} of |2019-10-01| defines \cs{leftarrowfill}
+% \mstrelease{1.3v} |2019/09/19|: \LaTeX{} of |2019-10-01| defines \cs{leftarrowfill}
% and \cs{rightarrowfill} as robust macros, so we do the same.
%
% I need to put amsmath under surveillance to check if it decides to
@@ -7981,49 +8526,48 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\ifmst@XeOrLua
\mst@Umathcharnumdef\mst@minus@sign=\mst@Umathcodenum`\-\relax
-%^^A I used this prior to the new \luatexUmathcodenum, as available since TL2013:
-%^^A \mathchardef\mst@minus@sign=8704\relax % "2200
+% \end{macrocode}
+% I used this prior to the new \cs{luatexUmathcodenum}, as available since TL2013:
+% \centeredline{|\mathchardef\mst@minus@sign=8704\relax % "2200|}
+%^^A L'alignement est bizarre dans l'output.
+% \begin{macrocode}
\else
\mathchardef\mst@minus@sign=\mathcode`\-\relax
\fi
\@ifpackageloaded{amsmath}
{\def\relbar{\mathrel{\mathpalette\mathsm@sh\mst@minus@sign}}}
{\DeclareRobustCommand\relbar{\mathrel{\smash\mst@minus@sign}}}
- \ifmst@robust@obsessed@LaTeX@era\expandafter\DeclareRobustCommand
- \else\expandafter\def\fi
- \rightarrowfill{$\m@th\mathord{\relbar}\mkern-7mu%
+ \DeclareRobustCommand\rightarrowfill{$\m@th\mathord{\relbar}\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\relbar\mkern-2mu$}\hfill
\mkern-7mu\mathord\rightarrow$}
- \ifmst@robust@obsessed@LaTeX@era\expandafter\DeclareRobustCommand
- \else\expandafter\def\fi
- \leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
+ \DeclareRobustCommand\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\relbar\mkern-2mu$}\hfill
\mkern-7mu\mathord{\relbar}$}
\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{endash}
-% |1.1| |2011/01/29|: Producing this next piece of code was not a piece
+% \mstrelease{1.1} |2011/01/29|: Producing this next piece of code was not a piece
% of cake for a novice like myself!\newline
-% |1.11| |2011/02/05|: Compatibility with Unicode (via use of fontspec
+% \mstrelease{1.11} |2011/02/05|: Compatibility with Unicode (via use of fontspec
% encodings EU1 and EU2)\newline
-% |1.12| |2011/02/07|: Improved dealing of Unicode possibility.\newline
-% |1.14b| |2011/04/02|: Corrected some very irresponsible bug in the
+% \mstrelease{1.12} |2011/02/07|: Improved dealing of Unicode possibility.\newline
+% \mstrelease{1.14b} |2011/04/02|: Corrected some very irresponsible bug in the
% Unicode part which caused a problem when 10 or more math families have
% been allocated.\newline
-% |1.15| |2012/09/24|: Added AtBeginDocument to circumvent some amsmath
+% \mstrelease{1.15} |2012/09/24|: Added AtBeginDocument to circumvent some amsmath
% problem with unicode engines.
%
-% |1.3l| |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3t| |2018/08/22|: fix to very ancient (|2012/12/20|) bug with
+% \mstrelease{1.3t} |2018/08/22|: fix to very ancient (|2012/12/20|) bug with
% |\DeclareMathSymbol| lacking last argument if encoding not T1, OT1 or
% LY1 when setting up math mode to use the en-dash character as minus
% sign (PDF\TeX\ engine).
%
% \begin{macro}{\mst@subduedminus}
% \begin{macro}{\mst@nonsubduedminus}
-% |1.3t| Further, new macros |\mst@subduedminus| and |\mst@nonsubduedminus|,
+% \mstrelease{1.3t} Further, new macros |\mst@subduedminus| and |\mst@nonsubduedminus|,
% for the good functioning of the subdued option also in case of
% presence of fontspec. This is the only character for which subdued
% option works (now) by setting the mathcode on each math version
@@ -8034,7 +8578,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% change. This means also that |\MTversion| and not |\mathversion|
% must be used for good functioning.
%
-% |1.3u| improves the handling of the minus sign by letting it be compatible
+% \mstrelease{1.3u} improves the handling of the minus sign by letting it be compatible
% with math versions (and not only with the with subdued mechanism but all
% math versions) having varying font encodings, even possibly classic 8bit
% font encoding mixed with TU encoding for Unicode engines. For this it is
@@ -8047,9 +8591,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% This is counter-intuitive and breaks expectations.
% \end{quotation}
%
-% But the |1.3u| mechanism with \cs{mst@UmathchardefWorkAround@i} introduced a
+% But the \mstrelease{1.3u} mechanism with \cs{mst@UmathchardefWorkAround@i} introduced a
% bug which showed under option |noendash| (hence also |symboldelimiters|) with
-% Unicode engines. Fixed at |1.3w|.
+% Unicode engines. Fixed at \mstrelease{1.3w}.
% \begin{macrocode}
\let\mst@subduedminus\empty
\let\mst@nonsubduedminus\empty
@@ -8063,7 +8607,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\textendash\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtoperatorfont}
{\csname\mst@tmp@enc\string\textendash\endcsname}
- \fi}% mst@dothe@endashstuff
+ \fi
+}%
\def\mst@dothe@emdashstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
\if1\mst@OneifUniEnc
@@ -8074,7 +8619,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\textemdash\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtoperatorfont}
{\csname\mst@tmp@enc\string\textemdash\endcsname}
- \fi}% mst@dothe@emdashstuff
+ \fi
+}%
\def\mst@dothe@hyphenstuff#1#2{%
\DeclareMathSymbol{#1}{\mathbin}{\mst@font@tbu}{"2D}%
\DeclareMathSymbol{#2}{\mathalpha}{\mst@font@tbu}{"2D}%
@@ -8090,9 +8636,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\csname mst@minus@mv\math@version\endcsname
\relax
\else
- \mathcode`\-=\@nameuse{mst@minus@mv\math@version}% self-delimiting
+ \mathcode`\-=\@nameuse{mst@minus@mv\math@version}%
\fi
- }% \mst@nonsubduedminus
+ }%
% \end{macrocode}
% The above works only if the \cs{mst@minus@mv<name>} was really
% defined via \cs{Umathchardef}. If it was defined via \cs{DeclareMathSymbol}
@@ -8101,8 +8647,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macrocode}
\ifmst@endash\else\ifmst@emdash\else
\def\mst@nonsubduedminus{%
- \mathcode`\-=\@nameuse{mst@minus@mv\math@version}% self-delimiting
- }% non Umathchardef \mst@minus@mv<mathversion> macros
+ \mathcode`\-=\@nameuse{mst@minus@mv\math@version}%
+ }%
\fi\fi
\fi
\def\mst@UmathchardefWorkAround@i
@@ -8112,7 +8658,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\mst@hbar@mvnormal}
% \begin{macro}{\mst@ltbar@mvnormal}
-% |2011/01/31|, |1.1| I decide to settle the question of the |\hbar|. The
+% |2011/01/31|, \mstrelease{1.1} I decide to settle the question of the |\hbar|. The
% \LaTeX{} definition is |\def\hbar{{\mathchar'26\mkern-9muh}}|
% and its advantage is that |h| is in the correct font. But of course not
% the macron character (|\=|, |\bar|). And anyway |amsfonts| uses a
@@ -8125,26 +8671,26 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% (as an aside, I am only now (April 2, 2011) aware that the package
% |mathtools| provides the |mathrlap| etc... )
%
-% |1.3l 2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3u 2019/08/20|: encoding (8bits) agnostic construct for hbar, using same
+% \mstrelease{1.3u} |2019/08/20|: encoding (8bits) agnostic construct for hbar, using same
% method as for |mathaccents| option. I should add some way to adjust the
% vertical positioning.
%
% On this occasion I replace |h| by |\mst@h| because the mechanism for
% before and after skips does not interact well with the rlap construct.
%
-% |1.3v 2019/09/19| adapts to maintain the robustness of \cs{hbar} which now
+% \mstrelease{1.3v} |2019/09/19| adapts to maintain the robustness of \cs{hbar} which now
% applies with \LaTeX{} |2019-10-01|.
%
-% |1.3w| works around \url{https://github.com/latex3/latex2e/issues/216} via
+% \mstrelease{1.3w} works around \url{https://github.com/latex3/latex2e/issues/216} via
% \cs{mst@DeclareMathAccent}. The upstream bug affected the definition of
% \cs{mst@ltbar@mvnormal} and broke usage of \cs{Mathastext} in preamble.
%
-% |1.3w| also fixes oversight that \cs{hbar} may have been redefined via
+% \mstrelease{1.3w} also fixes oversight that \cs{hbar} may have been redefined via
% \cs{DeclareMathSymbol} by some package (e.g. |amsfonts|) and with \LaTeX{}
% |2019-10-01| this means \cs{hbar<space>} is now undefined. Modifying it
-% changed nothing to \cs{hbar} behaviour in such circumstances. Finally we
+% changed nothing to \cs{hbar} behavior in such circumstances. Finally we
% opt for a \cs{protected} \cs{hbar} and choose to ignore completely if
% there is a \cs{hbar<space>} or not. To avoid extra steps we do not
% undefine it if it exists, because we would need to restore it in
@@ -8161,7 +8707,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}}
\def\mst@dothe@hbarstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
- \if1\mst@OneifUniEnc % Unicode engine and font
+ \if1\mst@OneifUniEnc
\mst@Umathchardef#1="7 \symmtletterfont "0127 \relax %% or 210F?
\else
\begingroup
@@ -8170,13 +8716,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
{\csname\mst@tmp@enc\string\=\endcsname{}}%
\endgroup
- \protected\def#1{\mst@mathrlap{#2{\ }}\mst@h}%
+ \protected\def#1{\mst@mathrlap{#2{\ }}\MTmathcharletterh}%
\fi
-}% end of \mst@dothe@hbarstuff
+}%
% \end{macrocode}
% \end{macro}
% \end{macro}
-% |1.15d|: Oct 13, 2012. The \cs{mathcode} thing with = is (belatedly,
+% \mstrelease{1.15d}: Oct 13, 2012. The \cs{mathcode} thing with = is (belatedly,
% sorry!) made Unicode compatible.
% \begin{macro}{+,=,\Relbar}
% \begin{macrocode}
@@ -8246,7 +8792,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% sequences can not be simultaneously math symbols and math delimiters,
% thus, this complicates things for the mathastextification.
% \begin{macrocode}
-\ifmst@noparen\else\mst@infoline{parentheses \string( \string) \string[ \string] and slash \string/}
+\ifmst@noparen\else
+\mst@infoline{parentheses \string( \string) \string[ \string] and slash \string/}
\ifmst@nosmalldelims
\DeclareMathSymbol{(}{\mathopen}{\mst@font@tbu}{"28}
\DeclareMathSymbol{)}{\mathclose}{\mst@font@tbu}{"29}
@@ -8287,17 +8834,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% other math symbol fonts they do respect the encoding of the CM symbols and
% largesymbols, so this is 90\% safe. But in truth I should extract from the
% meaning of \cs{backslash} the |delcode|.
+%
+% At \mstrelease{1.4} I am a bit perplexed at the \cs{mathalpha} here.
+% Adding a a \cs{mst@mathord@backslash} for matters of option |noeverymath|.
% \begin{macrocode}
\DeclareMathDelimiter{\mst@varfam@backslash}
{\mathalpha}{symbols}{"6E}{largesymbols}{"0F}
+ \let\mst@mathord@backslash\backslash
\else
\DeclareMathDelimiter{<}{\mathopen}{\mst@font@tbu}{"3C}{largesymbols}{"0A}
\DeclareMathDelimiter{>}{\mathclose}{\mst@font@tbu}{"3E}{largesymbols}{"0B}
% \end{macrocode}
% There is no backslash in the Symbol font hence |mtoperatorfont| here.
% \begin{macrocode}
- \DeclareMathDelimiter{\backslash}
+ \DeclareMathDelimiter{\mst@mathord@backslash}
{\mathord}{mtoperatorfont}{"5C}{largesymbols}{"0F}
+ \let\backslash\mst@mathord@backslash
\DeclareMathDelimiter{\mst@varfam@backslash}
{\mathalpha}{mtoperatorfont}{"5C}{largesymbols}{"0F}
\fi
@@ -8309,17 +8861,38 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\expandafter\mst@addtodo@nonletters\string>\mathrel\mst@varfam@more
\mst@do@easynonletters\expandafter{\the\mst@do@easynonletters
\let\backslash\mst@varfam@backslash}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \mst@undo@easynonletters\expandafter{\the\mst@undo@easynonletters
+ \let\backslash\mst@mathord@backslash}
+\fi
\DeclareMathSymbol{\setminus}{\mathbin}{mtoperatorfont}{"5C}
+\let\mst@setminus\setminus
\DeclareMathSymbol{\mst@varfam@setminus}{\mathalpha}{mtoperatorfont}{"5C}
% \end{macrocode}
-% |1.3v| adds a \cs{protected} here for \cs{setminus}.
+% \mstrelease{1.3v} adds a \cs{protected} here for \cs{setminus}.
+% \begin{macrocode}
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\setminus{\mathbin{\mst@varfam@setminus}}%
+}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
% \begin{macrocode}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \protected\def\setminus{\mathbin{\mst@varfam@setminus}}}
+\ifmst@everymath
+\else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\setminus\mst@setminus
+ }
+\fi
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\models}
-% |1.15d|: 13 oct 2012. Before modifying \string| we must preserve \cs{models}.
+% \mstrelease{1.15d}: 13 oct 2012. Before modifying \string| we must preserve \cs{models}.
% \begin{macrocode}
\ifmst@XeOrLua
\mst@Umathcharnumdef\mst@vert@bar=\mst@Umathcodenum`\|\relax
@@ -8335,7 +8908,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% it used to be anyhow, so it is too late. Or not (2019)? maybe I
% \emph{should} do something here...
%
-% |1.3v 2019/09/19|: I discover this rather radical legacy
+% \mstrelease{1.3v} |2019/09/19|: I discover this rather radical legacy
% \verb+\def\vert{|}+, which is done here once in the preamble, but I leave
% it unmodified apart from prefixing it with \cs{protected}. I also add a
% \cs{protected} for the definition of \cs{mid} (which applies only under
@@ -8349,34 +8922,53 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\protected\def\vert{|}
\DeclareMathSymbol{\mst@varfam@vbar}{\mathalpha}{\mst@font@tbu}{124}
\mst@addtodo@easynonletters\|\mst@varfam@vbar
-\let\mid\undefined % 1.3: to avoid problems with some packages
+\let\mid\undefined
\DeclareMathSymbol{\mid}{\mathrel}{\mst@font@tbu}{124}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \protected\def\mid{\mathrel\mst@varfam@vbar}}
+\let\mst@mid\mid
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\mid{\mathrel\mst@varfam@vbar}%
+}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\mid\mst@mid
+ }
+\fi
% \end{macrocode}
% \begin{macro}{\MTexplicitbraces-}\begin{macro}{obeymathxx}
% \begin{macro}{\MTexplicitbraces-}\begin{macro}{donotobeymathxx}
-% Braces. With version |1.2|, |\{| and |\}| will not be acceptable as
+% Braces. With version \mstrelease{1.2}, |\{| and |\}| will not be acceptable as
% delimiters anymore if the redefinitions below in \cs{mst@dobraces} are
-% enacted. But they will obey math alphabets. Improvements in |1.2a|, to
+% enacted. But they will obey math alphabets. Improvements in \mstrelease{1.2a}, to
% preserve robustness.
%
-% For |1.3| I make |\lbrace| and |\rbrace| undefined first, else problems
+% For \mstrelease{1.3} I make |\lbrace| and |\rbrace| undefined first, else problems
% may arise with some packages.
%
-% |1.3e| suppresses under option
+% \mstrelease{1.3e} suppresses under option
% |nosmalldelims| the definitions of |\lbrace| and |\rbrace| as math
% symbols as this made |\left\lbrace| cause an error, it was a bug.
%
-% LaTeX2e defines |\{| and |\}| as robust commands for a long time
+% (obsolete) LaTeX2e defines |\{| and |\}| as robust commands since a long time
% (I don't know since when). The \mst redefinition is done only if user
% has executed \cs{MTexplicitbracesobeymathxx}, and it is done only when
% entering math mode, but there could be some |\hbox| inside math, hence
% it has to be careful to be valid in text too.
%
-% |1.3v| maintains strict \LaTeX2e robustness for |\{| and |\}|.
+% \mstrelease{1.3v} maintains strict \LaTeX2e robustness for |\{| and |\}|.
% This assumes no one fiddled with |\{| and |\}| proper (without space
% in the name).
+%
+% \LaTeX{} made |\{| and |\}| \cs{protected}, not robust, at its
+% |2020-02-02| release, so the code used by \mst under
+% \cs{MTexplicitbracesobeymathxx} toggle remained without effect since
+% as it configured a change to |\{<space>| and |\}<space>|. Fixed at
+% \mstrelease{1.4}.
% \begin{macrocode}
\ifmst@nosmalldelims
\else
@@ -8388,28 +8980,46 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\DeclareMathSymbol{\mst@varfam@lbrace}{\mathalpha}{\mst@font@tbu}{123}
\DeclareMathSymbol{\mst@varfam@rbrace}{\mathalpha}{\mst@font@tbu}{125}
-\DeclareRobustCommand*{\mst@lbrace}
- {\ifmmode\mathopen\mst@varfam@lbrace\else\textbraceleft\fi}
-\DeclareRobustCommand*{\mst@rbrace}
- {\ifmmode\mathclose\mst@varfam@rbrace\else\textbraceright\fi}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \mst@dobraces{\expandafter\let\csname\string{ \expandafter\endcsname
- \csname mst@lbrace \endcsname
- \expandafter\let\csname\string} \expandafter\endcsname
- \csname mst@rbrace \endcsname}}
-\fi % end of \ifmst@alldelims
+% \end{macrocode}
+% \begin{macrocode}
+\protected\def\mst@lbrace{\ifmmode\mathopen\mst@varfam@lbrace\else\textbraceleft\fi}
+\protected\def\mst@rbrace{\ifmmode\mathclose\mst@varfam@rbrace\else\textbraceright\fi}
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \mst@dobraces{\let\{\mst@lbrace\let\}\mst@rbrace}%
+}
+\fi
\newcommand*{\MTexplicitbracesobeymathxx}{\let\mst@dobraces\@firstofone}
\newcommand*{\MTexplicitbracesdonotobeymathxx}{\let\mst@dobraces\@gobble}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \renewcommand*\MTexplicitbracesobeymathxx{%
+ \let\mst@dobraces\@firstofone
+ \MTnonlettersobeymathxx
+ }%
+ \renewcommand*\MTexplicitbracesdonotobeymathxx{%
+ \let\mst@dobraces\@gobble
+ \protected\def\{{\ifmmode \lbrace \else \textbraceleft \fi}%
+ \protected\def\}{\ifmmode \rbrace \else \textbraceright \fi}%
+ }%
+ \mst@undo@nonletters\expandafter{\the\mst@undo@nonletters
+ \protected\def\{{\ifmmode \lbrace \else \textbraceleft \fi}%
+ \protected\def\}{\ifmmode \rbrace \else \textbraceright \fi}%
+ }%
+\fi
\MTexplicitbracesdonotobeymathxx
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}
% \end{macro}\end{macro}
% \begin{macro}{specials}
-% \leavevmode\kern\parindent |1.14b| |2011/04/02|: the redefinitions of
+% \leavevmode\kern\parindent \mstrelease{1.14b} |2011/04/02|: the redefinitions of
% \#, \$, \% and \& were buggy (this showed up when 10 or more math
% families had been created).
%
-% |1.15f| |2012/10/23|: the code, although working, was perhaps a bit insane
+% \mstrelease{1.15f} |2012/10/23|: the code, although working, was perhaps a bit insane
% and
% had definitions which could surprise other packages. For example, it did:\\
% \null\hspace{1cm}|\renewcommand{\%}{\ifmmode\mt@mmode@percent\else\char37\relax\fi}|\\
@@ -8426,60 +9036,80 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% mathcode. So here it is \emph{not} a redefinition of the control sequences,
% purely an adjustment of mathcodes.
%
-% |1.2d| |2013/01/01|: previous versions imposed the variable family type. I
+% \mstrelease{1.2d} |2013/01/01|: previous versions imposed the variable family type. I
% hereby make it possible to de-activate this feature with the macro
% \cs{MTeasynonlettersdonotobeymathxx}. Besides, I have absolutely no idea
% why I had different looking code depending on the engine \XeTeX, \LuaTeX\ or
% default. Removed.
%
-% |1.3c| |2013/12/14|: I have absolutely no idea why I removed the \XeTeX\
-% and \LuaTeX\ code at the time of |1.2d|! the code for tex/pdftex engine
+% \mstrelease{1.3c} |2013/12/14|: I have absolutely no idea why I removed the \XeTeX\
+% and \LuaTeX\ code at the time of \mstrelease{1.2d}! the code for tex/pdftex engine
% could not accomodate more than 16 math families. Code for \XeTeX\ and
% \LuaTeX\ again added. (and since TL2013 no more problems with
% |\luatexUmathcode|.)
+%
+% \mstrelease{1.4} has done slight refactoring here to share more code related
+% to math activation across the two branches.
% \begin{macrocode}
\ifmst@nospecials
\else
- \mst@infoline{\string\#\space\string\mathdollar\space
- \string\%\space\string\&\space}
+ \mst@infoline{\string\#\space\string\mathdollar\space
+ \string\%\space\string\&\space}
\ifmst@XeOrLua
- \mst@Umathcode`\#=0 \symmtoperatorfont "23 \relax
- \mst@Umathchardef\mathdollar=0 \symmtoperatorfont "24 \relax
- \mst@Umathcode`\%=0 \symmtoperatorfont "25 \relax
- \mst@Umathcode`\&=0 \symmtoperatorfont "26 \relax
- \mst@do@easynonletters\expandafter{%
- \the\mst@do@easynonletters
- \mst@Umathcode`\#=7 \symmtoperatorfont "23 \relax
- \mst@Umathchardef\mathdollar=7 \symmtoperatorfont "24 \relax
- \mst@Umathcode`\%=7 \symmtoperatorfont "25 \relax
- \mst@Umathcode`\&=7 \symmtoperatorfont "26 \relax
- }
+ \mst@Umathcode`\#=0 \symmtoperatorfont "23 \relax
+ \mst@Umathchardef\mathdollar=0 \symmtoperatorfont "24 \relax
+ \mst@Umathcode`\%=0 \symmtoperatorfont "25 \relax
+ \mst@Umathcode`\&=0 \symmtoperatorfont "26 \relax
+ \mst@Umathchardef\mst@varfam@mathhash = 7 \symmtoperatorfont "23 \relax
+ \mst@Umathchardef\mst@varfam@mathdollar = 7 \symmtoperatorfont "24 \relax
+ \mst@Umathchardef\mst@varfam@mathpercent = 7 \symmtoperatorfont "25 \relax
+ \mst@Umathchardef\mst@varfam@mathampersand = 7 \symmtoperatorfont "26 \relax
+ \mst@addtodo@easynonletters@U\#\mst@varfam@mathhash
+ \mst@addtodo@easynonletters@U\%\mst@varfam@mathpercent
+ \mst@addtodo@easynonletters@U\&\mst@varfam@mathampersand
\else
- \count@=\symmtoperatorfont
- \multiply\count@ by \@cclvi
- \advance\count@ by 35
- \mathcode`\#\count@
- \advance\count@ by \@ne
- \mathchardef\mathdollar\count@
- \advance\count@ by \@ne
- \mathcode`\%\count@
- \advance\count@ by \@ne
- \mathcode`\&\count@
- \count@=\symmtoperatorfont
- \multiply\count@ by \@cclvi
- \advance\count@ by 28707 % = "7023
- \mathchardef\mst@varfam@mathhash\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathdollar\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathpercent\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathampersand\count@
+ \count@=\symmtoperatorfont
+ \multiply\count@ by \@cclvi
+ \advance\count@ by 35
+ \mathcode`\#\count@
+ \advance\count@ by \@ne
+ \mathchardef\mathdollar\count@
+ \advance\count@ by \@ne
+ \mathcode`\%\count@
+ \advance\count@ by \@ne
+ \mathcode`\&\count@
+ \count@=\symmtoperatorfont
+ \multiply\count@ by \@cclvi
+ \advance\count@ by 28707 % = "7023
+ \mathchardef\mst@varfam@mathhash\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathdollar\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathpercent\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathampersand\count@
+ \mst@addtodo@easynonletters\#\mst@varfam@mathhash
+ \mst@addtodo@easynonletters\%\mst@varfam@mathpercent
+ \mst@addtodo@easynonletters\&\mst@varfam@mathampersand
+ \fi
+% \end{macrocode}
+% It is possible to mathematically activate the dollar sign, and to use
+% it in math mode as |\string$|... well, how many documents will have
+% done that? But we do not modify the mathcode of the |$| character
+% anyhow, so why should I add here a \cs{mst@OnlyIfNotMathActive}?
+% There is no good reason for that.
+% \begin{macrocode}
\mst@do@easynonletters\expandafter{\the\mst@do@easynonletters
- \mathcode`\#=\mst@varfam@mathhash
- \let\mathdollar\mst@varfam@mathdollar
- \mathcode`\%=\mst@varfam@mathpercent
- \mathcode`\&=\mst@varfam@mathampersand}
+ \let\mathdollar\mst@varfam@mathdollar}%
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed. Here too we do not worry
+% about math active dollar character.
+% \begin{macrocode}
+ \ifmst@everymath\else
+ \edef\mst@tmp{\ifmst@XeOrLua\mst@Umathcharnumdef\else\mathchardef\fi
+ \mathdollar=\the\mathdollar\relax}%
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
\fi
\fi
% \end{macrocode}
@@ -8495,7 +9125,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% manipulations, but well, life is finite.
% \begin{macro}{\prod}
% \begin{macro}{\sum}
-% |1.13b|: I correct the brutal re-definitions of \cs{prod} and \cs{sum} from
+% \mstrelease{1.13b}: I correct the brutal re-definitions of \cs{prod} and \cs{sum} from
% the earlier versions of the package; most of the time the Symbol glyphs do
% appear to be too small in display mode. The new redefinitions do have some
% defects: |$\displaystyle\prod_1^2$| changes the position of limits but not
@@ -8506,40 +9136,50 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% October 2012: maybe I should re-examine what I did?
%
-% |1.3c| (|2013/12/14|) renames |\defaultprod| to |\MToriginalprod| and
+% \mstrelease{1.3c} (|2013/12/14|) renames |\defaultprod| to |\MToriginalprod| and
% |\defaultsum| to
% |\MToriginalsum|.
%
-% |1.3v| hesitates about making robust here \cs{prod} and \cs{sum}. Finally I
+% \mstrelease{1.3v} hesitates about making robust here \cs{prod} and \cs{sum}. Finally I
% use \cs{protected} for them.
+%
+% \mstrelease{1.4} finally replaces all control sequences defines earlier via
+% \cs{DeclareRobustCommand} to be defined using \cs{protected}\cs{def}. It
+% also removes \cs{mst@prod} and \cs{mst@sum} which were aliases of
+% \cs{MToriginalprod} and \cs{MToriginalsum}, and having both must have
+% been some left-over of earlier versions in 2012 or 2013 (unchecked).
% \begin{macrocode}
-\ifmst@symbolmisc\mst@infoline{symbolmisc: miscellaneous math symbols from Symbol font}
-\let\mst@prod\prod
+\ifmst@symbolmisc
+\mst@infoline{symbolmisc: miscellaneous math symbols from Symbol font}
\let\MToriginalprod\prod
\DeclareMathSymbol{\prodpsy}{\mathop}{mtpsymbol}{213}
-\protected\def\prod{\ifinner\prodpsy\else\mst@prod\fi}
-\let\mst@sum\sum
+\protected\def\prod{\ifinner\prodpsy\else\MToriginalprod\fi}
\let\MToriginalsum\sum
\DeclareMathSymbol{\sumpsy}{\mathop}{mtpsymbol}{229}
-\protected\def\sum{\ifinner\sumpsy\else\mst@sum\fi}
+\protected\def\sum{\ifinner\sumpsy\else\MToriginalsum\fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macrocode}
\DeclareMathSymbol{\mst@implies}{\mathrel}{mtpsymbol}{222}
-\DeclareRobustCommand*{\implies}{\;\mst@implies\;}
+\protected\def\implies{\;\mst@implies\;}
\DeclareMathSymbol{\mst@impliedby}{\mathrel}{mtpsymbol}{220}
-\DeclareRobustCommand*{\impliedby}{\;\mst@impliedby\;}
-\DeclareRobustCommand*{\iff}{\;\mst@impliedby\mathrel{\mkern-3mu}\mst@implies\;}
+\protected\def\impliedby{\;\mst@impliedby\;}
+\protected\def\iff{\;\mst@impliedby\mathrel{\mkern-3mu}\mst@implies\;}
\DeclareMathSymbol{\mst@iff}{\mathrel}{mtpsymbol}{219}
-\DeclareRobustCommand*{\shortiff}{\;\mst@iff\;}
-\DeclareMathSymbol{\mst@to}{\mathrel}{mtpsymbol}{174}
+\protected\def\shortiff{\;\mst@iff\;}
+% \end{macrocode}
+% \mstrelease{1.4} drops defining a \cs{mst@to} and employs \cs{to}
+% in subsequent definitions
+% \begin{macrocode}
+\let\to\relax
+\DeclareMathSymbol{\to}{\mathrel}{mtpsymbol}{174}
\DeclareMathSymbol{\mst@trait}{\mathrel}{mtpsymbol}{190}
-\DeclareRobustCommand*\to{\mst@to}
-\DeclareRobustCommand*\longto{\mkern2mu\mst@trait\mathrel{\mkern-10mu}\mst@to}
-\DeclareRobustCommand*\mapsto{\mapstochar\mathrel{\mkern0.2mu}\mst@to}
-\DeclareRobustCommand*\longmapsto{%
-\mapstochar\mathrel{\mkern2mu}\mst@trait\mathrel{\mkern-10mu}\mst@to}
+\protected\def\longto{\mkern2mu\mst@trait\mathrel{\mkern-10mu}\to}
+\protected\def\mapsto{\mapstochar\mathrel{\mkern0.2mu}\to}
+\protected\def\longmapsto{%
+ \mapstochar\mathrel{\mkern2mu}\mst@trait\mathrel{\mkern-10mu}\to
+}
\DeclareMathSymbol{\aleph}{\mathord}{mtpsymbol}{192}
\DeclareMathSymbol{\inftypsy}{\mathord}{mtpsymbol}{165}
\DeclareMathSymbol{\emptyset}{\mathord}{mtpsymbol}{198}
@@ -8593,7 +9233,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{symbolre}
% I like the \cs{Re} and \cs{Im} from Symbol, so I overwrite the CM ones.
% \begin{macrocode}
-\ifmst@symbolre\mst@infoline{symbolre: \string\Re\space and \string\Im\space from Symbol font}
+\ifmst@symbolre
+\mst@infoline{symbolre: \string\Re\space and \string\Im\space from Symbol font}
\DeclareMathSymbol{\Re}{\mathord}{mtpsymbol}{"C2}
\DeclareMathSymbol{\Im}{\mathord}{mtpsymbol}{"C1}
\DeclareMathSymbol{\DotTriangle}{\mathord}{mtpsymbol}{92}
@@ -8603,12 +9244,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{Greek letters}
% LGRgreek $>$ selfGreek $>$ eulergreek $>$ symbolgreek
%
-% |1.11| I correct some bugs on how eulergreek and
+% \mstrelease{1.11} I correct some bugs on how eulergreek and
% symbolgreek interacted.
%
-% |1.12b| more bug fixes.
+% \mstrelease{1.12b} more bug fixes.
%
-% |1.13|
+% \mstrelease{1.13}
%
% * Option LGRgreek.
%
@@ -8616,10 +9257,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the default shape is now the one for letters, not for operator-names
% and digits. This complies to the ISO standard.
%
-% * bugfix: version |1.12b| did not define the \cs{omicron} in the
+% * bugfix: version \mstrelease{1.12b} did not define the \cs{omicron} in the
% case when no Greek-related option was passed to the package.
%
-% |1.13d| has new macros |\MTstandardgreek| and |\MTcustomgreek|.
+% \mstrelease{1.13d} has new macros |\MTstandardgreek| and |\MTcustomgreek|.
% And in the subdued case |\MTstandardgreek| is done when switching to
% the normal or bold math versions (previously something like this
% was only done in case of |LGRgreek| option. )
@@ -8672,13 +9313,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macrocode}
\ifx\mst@mathord\mathord
% \end{macrocode}
-% symbolgreek but neither eulergreek nor selfGreek
-% \begin{macrocode}
-%% attention le P de Symbol est un \Pi pas un \Rho
+% \noindent symbolgreek but neither eulergreek nor selfGreek\newline
+% Attention le P de Symbol est un \cs{Pi} pas un \cs{Rho}.\newline
+% Attention le X de Symbol est un \cs{Xi} pas un \cs{Chi}.\newline
+% Attention le F de Symbol est un \cs{Phi}. Il n'y a pas de \cs{Digamma}.
+% \begin {macrocode}
\DeclareMathSymbol{\mst@Rho}{\mathord}{mtpsymbol}{"52}
-%% attention le X de Symbol est un \Xi pas un \Chi
\DeclareMathSymbol{\mst@Chi}{\mathord}{mtpsymbol}{"43}
-%% attention le F de Symbol est un \Phi. Il n'y a pas de \Digamma
\DeclareMathSymbol{\mst@Gamma}{\mathord}{mtpsymbol}{"47}
\DeclareMathSymbol{\mst@Delta}{\mathord}{mtpsymbol}{"44}
\DeclareMathSymbol{\mst@Theta}{\mathord}{mtpsymbol}{"51}
@@ -8690,7 +9331,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\mst@Phi}{\mathord}{mtpsymbol}{"46}
\DeclareMathSymbol{\mst@Psi}{\mathord}{mtpsymbol}{"59}
\DeclareMathSymbol{\mst@Omega}{\mathord}{mtpsymbol}{"57}
- \else % de \mst@mathord=\mathord
+ \else
% \end{macrocode}
% not symbolgreek but eulergreek or selfGreek. Note |2015/10/31| : apparemment
% un moment dans le pass je considrais eulergreek et selfGreek comme pouvant
@@ -8709,8 +9350,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol\mst@Phi {\mathalpha}{\mst@font@tbu}{"08}
\DeclareMathSymbol\mst@Psi {\mathalpha}{\mst@font@tbu}{"09}
\DeclareMathSymbol\mst@Omega {\mathalpha}{\mst@font@tbu}{"0A}
- \fi % de \mst@mathord=\mathord
-\fi % fin de goahead
+ \fi
+\fi
% \end{macrocode}
% There are differences regarding Euler and Symbol with respect to the
% available var-letters. We include one or two things like the |wp| and the
@@ -8796,10 +9437,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
% \end{macrocode}
% \begin{macro}{\alphaup etc...}
-% Completely refactored at |1.3x| to define |\Alphaup|, |\Alphait|,
+% Completely refactored at \mstrelease{1.3y} to define |\Alphaup|, |\Alphait|,
% |\alphaup|, |\alphait|, etc\dots{} and prepare templates |\Alpha|, \dots{},
% |\alpha|, \dots{}, which when activating a math version will be submitted to
-% an |\expanded|, whose behaviour will depend on version-specific conditionals.
+% an |\expanded|, whose behavior will depend on version-specific conditionals.
% \begin{macrocode}
\ifmst@LGRgreek
% cf http://milde.users.sourceforge.net/LGR/lgrxenc.def.html
@@ -8832,7 +9473,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\Tauit}{\mathalpha}{mtgreekit}{84}
\DeclareMathSymbol{\Chiit}{\mathalpha}{mtgreekit}{81}
% \end{macrocode}
-% |1.3w| and earlier had a bug regarding Digamma which was set up
+% \mstrelease{1.3w} and earlier had a bug regarding Digamma which was set up
% to use same font shape as for lowercase digamma.
% \begin{macrocode}
\DeclareMathSymbol{\Digammaup}{\mathalpha}{mtgreekup}{195}
@@ -8916,7 +9557,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\omegaup}{\mathalpha}{mtgreekup}{119}
%
\DeclareMathSymbol{\digammaup}{\mathalpha}{mtgreekup}{147}
-% only varsigma defined (I should check this again)
+% \end{macrocode}
+% Only varsigma defined (I should check this again).
+% \begin{macrocode}
\DeclareMathSymbol{\varsigmaup}{\mathalpha}{mtgreekup}{99}
%
\DeclareMathSymbol{\alphait}{\mathalpha}{mtgreekit}{97}
@@ -8981,12 +9624,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTstandardgreek}
% \begin{macro}{\MTcustomgreek}
% \begin{macro}{\MTrecordstandardgreek}
-% |1.3d 2014/05/23| defines the commands |\MTstandardgreek| and
+% \mstrelease{1.3d} |2014/05/23| defines the commands |\MTstandardgreek| and
% |\MTcustomgreek| for package and user. I leave |\MTrecordstandardgreek|
% undocumented as I don't want to encourage people to load math packages
% after \mst.
%
-% |1.3h 2015/10/31|: corrected |\MTcustomgreek| as it caused |\ell| to
+% \mstrelease{1.3h} |2015/10/31|: corrected |\MTcustomgreek| as it caused |\ell| to
% become undefined under option |symbolgreek| and, much more catastrophic,
% caused |\alpha|, etc.. to become undefined under option |selfGreek| !
% \begin{macrocode}
@@ -9055,7 +9698,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
\let\mst@origpartial\partial
\let\mst@origwp\wp
- \let\mst@origell\ell }% \MTrecordstandardgreek
+ \let\mst@origell\ell }%
\MTrecordstandardgreek
\renewcommand*{\MTstandardgreek}{%
\let\Alpha\mst@origAlpha
@@ -9119,10 +9762,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\partial\mst@origpartial
\let\wp\mst@origwp
\let\ell\mst@origell
-}% \MTstandardgreek
+}%
\ifmst@greekplus
% \end{macrocode}
-% |1.3za| implementation of |LGRgreek+| option. It is not exactly
+% \mstrelease{1.3za} implementation of |LGRgreek+| option. It is not exactly
% clear what we should do for \cs{mathnormal} and \cs{mathnormalbold}.
%
% This definition allows usage of \cs{alpha} for example in numerical
@@ -9210,7 +9853,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@define@lowergreekletter\omega\mst@omega
\mst@define@lowergreekletter\varsigma\mst@varsigma
\mst@define@lowergreekletter\digamma\mst@digamma
-}% end of True branch of \ifmst@greekplus
+}%
\else
% \end{macrocode}
% Under |selfGreek| or other Greek option but not |LGRgreek|, these Greek
@@ -9243,8 +9886,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\Rho\mst@Rho
\let\noexpand\Tau\mst@Tau
\let\noexpand\Chi\mst@Chi
- }% end of first big \expanded
-% 1.3h: \mst@Digamma not defined if symbolgreek option
+ }%
+% \end{macrocode}
+% \mstrelease{1.3h}: \cs{mst@Digamma} not defined if |symbolgreek| option.
+% \begin{macrocode}
\ifmst@symbolgreek\else
\expanded{\let\noexpand\Digamma\mst@Digamma}%
\fi
@@ -9260,10 +9905,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\Phi\mst@Phi
\let\noexpand\Psi\mst@Psi
\let\noexpand\Omega\mst@Omega
- }% end of second big \expanded
+ }%
% \end{macrocode}
-% |1.3h 2015/10/31| adds this conditional to correct the bad bug in
-% |1.3d 2014/05/23| which caused |\alpha| etc... to become undefined
+% \mstrelease{1.3h} |2015/10/31| adds this conditional to correct the bad bug in
+% \mstrelease{1.3d} |2014/05/23| which caused |\alpha| etc... to become undefined
% under option |selfGreek|.
% \begin{macrocode}
\ifmst@selfGreek\else
@@ -9293,28 +9938,34 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\psi\mst@psi
\let\noexpand\omega\mst@omega
\let\noexpand\varsigma\mst@varsigma
- }% end of third big \expanded
-% 1.3h: digamma only defined with option LGRgreek:
+ }%
+% \end{macrocode}
+% \mstrelease{1.3h}: digamma only defined with option |LGRgreek|.
+% \begin{macrocode}
\ifmst@LGRgreek
\expanded{\let\noexpand\digamma\mst@digamma}%
\fi
-% conditional added 1.3h 2015/10/31
+% \end{macrocode}
+% Conditional added \mstrelease{1.3h} |2015/10/31|.
+% \begin{macrocode}
\ifmst@LGRgreek\else
\let\varepsilon\mst@varepsilon
\let\vartheta\mst@vartheta
\let\varpi\mst@varpi
\let\varrho\mst@varrho
\let\varphi\mst@varphi
-%
\let\partial\mst@partial
\let\wp\mst@wp
-% 1.3h: no \mst@ell if symbolgreek (bugfix 1.3h 2015/10/31)
+% \end{macrocode}
+% \mstrelease{1.3h}: no \cs{mst@ell} if |symbolgreek| (bugfix
+% \mstrelease{1.3h} |2015/10/31|).
+% \begin{macrocode}
\ifmst@symbolgreek\else\let\ell\mst@ell\fi
\fi
\fi
-}% \MTcustomgreek
-\fi% end of else branch of \ifmst@greekplus
-\fi% end of \ifmst@customgreek
+}%
+\fi
+\fi
\let\Mathastextstandardgreek\MTstandardgreek
\let\Mathastextcustomgreek\MTcustomgreek
\ifmst@subdued\else\MTcustomgreek\fi
@@ -9322,22 +9973,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\inodot}
% \begin{macro}{\jnodot}
-% In |1.0|, I had them of type |mathord|, here I choose |mathalpha|. If I
+% In \mstrelease{1.0}, I had them of type |mathord|, here I choose |mathalpha|. If I
% used \cs{i} and \cs{j} from the text font the problem would be with the
% fontsize, if in scriptstyle. The amsmath \cs{text} would do the trick.
%
-% |1.14b| |2011/04/02|: again this bug in the EU1/EU2 encoding part, as in the
+% \mstrelease{1.14b} |2011/04/02|: again this bug in the EU1/EU2 encoding part, as in the
% code redefining \$ etc in math mode (see above). Fixed.
%
-% |1.3l| |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3t| |2018/08/22| removes the definitions done of |\i| and |\j|
-% since |1.12| (as robust commands usable both in text and math mode).
+% \mstrelease{1.3t} |2018/08/22| removes the definitions done of |\i| and |\j|
+% since \mstrelease{1.12} (as robust commands usable both in text and math mode).
%
-% |1.3u| lets the \cs{imath} and \cs{jmath} react to the font encoding at each
+% \mstrelease{1.3u} lets the \cs{imath} and \cs{jmath} react to the font encoding at each
% math version.
%
-% |1.3v| lets the redefined \cs{imath} and \cs{jmath} be \cs{protected}.
+% \mstrelease{1.3v} lets the redefined \cs{imath} and \cs{jmath} be \cs{protected}.
% \begin{macrocode}
\def\mst@subduedinodot{%
\let\inodot\mst@original@imath
@@ -9352,7 +10003,6 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@dothe@inodotstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
\if1\mst@OneifUniEnc
- % Unicode engine and font
\mst@Umathchardef#1="7 \symmtletterfont "0131 \relax
\mst@Umathchardef#2="7 \symmtletterfont "0237 \relax
\else
@@ -9360,7 +10010,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\i\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtletterfont}
{\csname\mst@tmp@enc\string\j\endcsname}
- \fi}% \mst@dothe@inodotstuff
+ \fi}%
\ifmst@defaultimath\else\mst@infoline{\string\imath\space and \string\jmath\space}
\AtEndOfPackage{\AtBeginDocument{%
\protected\def\imath{\inodot}%
@@ -9382,10 +10032,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% define math versions with different encodings. Here I
% take T1 if it was the default at the time of loading the
% package, else OT1.
-% |1.12b|: I add LY1 which is quasi like OT1.
+% \mstrelease{1.12b}: I add LY1 which is quasi like OT1.
% \end{quote}
%
-% At |1.3u 2019/08/20| I decide to remove the hard-coded slot positions
+% At \mstrelease{1.3u} |2019/08/20| I decide to remove the hard-coded slot positions
% for OT1, T1 and LY1, and replace them with some hack which assumes
% LaTeX2e way of handling text accents got executed by the encoding
% definition file. If not, some breakage on package loading could occur, but
@@ -9395,21 +10045,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% The |\vec| accent is not considered here because it has no suitable
% available glyph in a standard 8bits text font encodings.
%
-% Also at |1.3u| the math accents adapt to the font encoding at each math
+% Also at \mstrelease{1.3u} the math accents adapt to the font encoding at each math
% version.
%
-% |1.3v| adapts to \LaTeX{} |2019-10-01| which now comes with robust math
-% accent macros. The original-named macros are without the robustifying
-% space (NOT true anymore, see |1.3w| next), as they only serve as meaning
+% (obsolete at \mstrelease{1.4}) \mstrelease{1.3v} adapts to \LaTeX{}
+% |2019-10-01| which now comes with robust math accent macros. The
+% original-named macros are without the robustifying space (NOT true
+% anymore, see \mstrelease{1.3w} next), as they only serve as meaning
% holders.
%
-% On the other hand the macros
-% indexed by math version names are (in the pdflatex branch) always defined
-% via \cs{DeclareMathAccent} hence they will be robust with |2019-10-01| or
+% (obsolete at \mstrelease{1.4}) On the other hand the macros indexed by
+% math version names are (in the pdflatex branch) always defined via
+% \cs{DeclareMathAccent} hence they will be robust with |2019-10-01| or
% later and we must use the \cs{mst@robustifyingspace} with them to access
% their real meaning (this thus differs from the situation with \cs{hbar}).
%
-% |1.3w| The above was a bit optimistic as |amsmath| for example modifies
+% \mstrelease{1.3w} The above was a bit optimistic as |amsmath| for example modifies
% \LaTeX{} internals and handles math accents differently.
%
% We thus needed to double our
@@ -9456,73 +10107,63 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\add@unicode@accent\@firstoftwo
\if1\mst@OneifUniEnc
\ifmst@unimathaccents
- % \` -> \grave
\expandafter\xdef\csname mst@grave@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\`\endcsname{}\relax}%
- % \' -> \acute
\expandafter\xdef\csname mst@acute@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\'\endcsname{}\relax}%
- % \v -> \check
\expandafter\xdef\csname mst@check@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\v\endcsname{}\relax}%
- % \u -> \breve
\expandafter\xdef\csname mst@breve@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\u\endcsname{}\relax}%
- % \= -> \bar
\expandafter\xdef\csname mst@bar@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\=\endcsname{}\relax}%
- % \. -> \dot
\expandafter\xdef\csname mst@dot@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\.\endcsname{}\relax}%
- % \" -> \ddot
\expandafter\xdef\csname mst@ddot@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\"\endcsname{}\relax}%
- % \r -> \mathring
\expandafter\xdef\csname mst@mathring@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\r\endcsname{}\relax}%
- % \^ -> \hat
\expandafter\xdef\csname mst@hat@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\^\endcsname{}\relax}%
- % \~ -> \tilde
\expandafter\xdef\csname mst@tilde@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\~\endcsname{}\relax}%
- \else % false branch of ifmst@unimathaccents
+ \else
% \end{macrocode}
-% |1.3u| used some \cs{def} but this made the accent macro meanings look
+% \mstrelease{1.3u} used some \cs{def} but this made the accent macro meanings look
% slightly different depending on whether the math version being set-up was
% with an 8bit encoding or TU encoding.
%
-% For the sake of uniform treatment we modify this at |1.3v|, but this is a
+% For the sake of uniform treatment we modify this at \mstrelease{1.3v}, but this is a
% bit complicated regarding timing: we need, in absence of |unimathaccents|
% option, in math versions with an OpenType font, to let the \cs{acute} etc...
% acquire back some prior non-\mst meanings. To allow maximal flexibility,
@@ -9535,8 +10176,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% definition of the original-named macros but prior to the (last one, if
% multiple) \cs{mst@nonsubduedmathaccents}.
%
-% Hence |1.3v| delayed a bit the initial execution of this macro (see further
-% down in the code) compared to what happened in |1.3u|.
+% Hence \mstrelease{1.3v} delayed a bit the initial execution of this macro (see further
+% down in the code) compared to what happened in \mstrelease{1.3u}.
%
% We are in a group but \cs{AtEndOfPackage} does the right thing.
% \begin{macrocode}
@@ -9561,7 +10202,6 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% But wouldn't it be simpler to manage \cs{protected} macros?
% \begin{macrocode}
- \ifmst@robust@obsessed@LaTeX@era
\@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
{dot}{ddot}{mathring}{hat}{tilde}%
\do
@@ -9569,58 +10209,47 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\noexpand\protect
\expandafter\noexpand\csname mst@\@tempa @mv#1 \endcsname}%
}%
- \fi
- \else % false branch of ifUniEnc
+ \else
% \end{macrocode}
% \cs{DeclareMathAccent} works \cs{global}ly. And with \LaTeX{} |2019-10-01|
% or later it creates robust macros.
%
% \cs{mst@DeclareMathAccent} to work around \url{https://github.com/latex3/latex2e/issues/216}
% \begin{macrocode}
- % \` -> \grave
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@grave@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\`\endcsname{}}
- % \' -> \acute
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@acute@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\'\endcsname{}}
- % \v -> \check
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@check@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\v\endcsname{}}
- % \u -> \breve
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@breve@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\u\endcsname{}}
- % \= -> \bar
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@bar@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\=\endcsname{}}
- % \. -> \dot
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@dot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\.\endcsname{}}
- % \" -> \ddot
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@ddot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\"\endcsname{}}
- % \r -> \mathring
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@mathring@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\r\endcsname{}}
- % \^ -> \hat
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@hat@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\^\endcsname{}}
- % \~ -> \tilde
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@tilde@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\~\endcsname{}}
\fi
\endgroup
}%
-\fi % \ifmst@mathaccents
+\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTDeclareVersion}
@@ -9634,14 +10263,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{SetSymbolFont}|{mteulervm}||{versionname}||{U}{zeur}{bx}{n}| if
% one wants to have a math version with bold Euler characters.
%
-% For version |1.1| we add an optional parameter specifying the shape
+% For version \mstrelease{1.1} we add an optional parameter specifying the shape
% to be used for letters.
%
% Note: (|2012/10/24|) I really should check whether the user attempts to
% redefine the `normal' and `bold' versions and issue a warning in
-% that case! Finally done at |1.3w| |2019/11/16|! Better late than never...
+% that case! Finally done at \mstrelease{1.3w} |2019/11/16|! Better late than never...
%
-% |1.3c| (|2013/12/14|) adds an extra optional parameter after all
+% \mstrelease{1.3c} (|2013/12/14|) adds an extra optional parameter after all
% previous ones, to inherit the settings from another version. Typically
% to be used with [bold]. I take this opportunity to sanitize a bit some
% line endings to avoid generating (in the preamble, document macros were
@@ -9650,11 +10279,11 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% purpose) the strange way I used |\@onlypreamble| in earlier
% version.
%
-% |1.3u| adds storage of macros holding the needed meanings for
+% \mstrelease{1.3u} adds storage of macros holding the needed meanings for
% \cs{imath}, \cs{hbar}, math accents, and the minus symbol,
% version wise.
%
-% |1.3w| adds the check to forbid |normal| and |bold| as version names.
+% \mstrelease{1.3w} adds the check to forbid |normal| and |bold| as version names.
% \begin{macrocode}
\newcommand*\MTDeclareVersion[6][]{%
\edef\mst@declareversionargs{{#1}{#2}{#3}{#4}{#5}{#6}}%
@@ -9666,14 +10295,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTDoNotDeclareVersion@\expandafter\@gobblefour
\fi
\relax\DeclareMathVersion{\mst@version}\MTDeclareVersion@
-}% \MTDeclareVersion
+}%
\newcommand*\MTDoNotDeclareVersion@[1][]{%
\PackageWarningNoLine{mathastext}{You asked to declare a version with name
`\mst@version'.^^J%
\@spaces Sorry but you are not allowed to do that.^^J%
\@spaces \ifmst@subdued Anyway the `subdued' option is in force\else
Use rather \string\Mathastext\space macro (with no optional argument)\fi
-}}%\MTDoNotDeclareVersion@
+}}%
\newcommand*\MTDeclareVersion@[1][]{%
\edef\mst@tmp{#1}%
\ifx\mst@tmp\empty\else
@@ -9685,7 +10314,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
inherits from `#1\string'\@gobble}%
\fi
\expandafter\MTDeclareVersion@@\mst@declareversionargs
-}% \MTDeclareVersion@
+}%
\newcommand*\MTDeclareVersion@@[6]{%
\expandafter\edef\csname mst@encoding@\mst@version\endcsname{#3}%
\expandafter\edef\csname mst@family@\mst@version\endcsname{#4}%
@@ -9706,46 +10335,52 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\ifx\mst@tmp\empty
\ifmst@italic
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{\mst@ltsh}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the font #3/#4/#5/\mst@ltsh
\ifmst@frenchmath\space(uppercase: #6)\fi\MessageBreak
Other characters (digits, ...) and \protect\log-like names\MessageBreak
will be in `#6\string' shape\@gobble}%
-\immediate\write\m@ne{}%
+ \immediate\write\m@ne{}%
\expandafter\edef\csname mst@ltshape@\mst@version\endcsname{\mst@ltsh}%
\else
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{#6}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the fonts #3/#4/#5(\mst@bold)/#6\@gobble}%
-\immediate\write\m@ne{}%
+ \immediate\write\m@ne{}%
\expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#6}%
\fi
- \else % #1 not empty
+ \else
+% \end{macrocode}
+% |#1| not empty.
+% \begin{macrocode}
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{#1}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the font #3/#4/#5/#1%
\ifmst@frenchmath\space(uppercase: #6)\fi\MessageBreak
Other characters (digits, ...) and
\protect\log-like names\MessageBreak
will be in `#6\string' shape\@gobble}%
-\immediate\write\m@ne{}%
- \expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#1}%
+ \immediate\write\m@ne{}%
+ \expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#1}%
\fi
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed an
+% Here and elsewhere \mstrelease{1.3za} has removed an
% \cs{ifmst@nonormalbold} conditional.
% \begin{macrocode}
\SetMathAlphabet{\Mathnormalbold}{#2}{#3}{#4}{\mst@bold}%
{\csname mst@ltshape@\mst@version\endcsname}%
\SetSymbolFont{mtoperatorfont}{#2}{#3}{#4}{#5}{#6}%
% \end{macrocode}
-% Since |1.3za| (and prior to |1.15f|) these math alphabet
+% Since \mstrelease{1.3za} (and prior to \mstrelease{1.15f}) these math alphabet
% commands are always defined.
% \begin{macrocode}
\SetMathAlphabet{\Mathbf}{#2}{#3}{#4}{\mst@bold}{#6}
@@ -9765,12 +10400,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% options as well as on the (local to this version) shapes for letters
% and digits.
%
-% |1.3x| replaces \cs{updefault} by \cs{MTgreekupdefault} and
+% \mstrelease{1.3y} replaces \cs{updefault} by \cs{MTgreekupdefault} and
% \cs{itdefault} by \cs{MTgreekitdefault}. It also prepares to store
% two Boolean settings saying whether lowercase respectively uppercase
% Greek letters will use `upright' or `italic' (|LGRgreek(s)| only).
%
-% The |1.3x| refactoring of |LGRgreek| is done via a decoupling,
+% The \mstrelease{1.3y} refactoring of |LGRgreek| is done via a decoupling,
% thus things are done here under |selfGreek| or other Greek options
% which ultimately serve nothing and conversely things are done here
% for |LGRgreek| which are superfluous.
@@ -9813,7 +10448,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@greek@upper@uptrue
\fi
% \end{macrocode}
-% |1.3za| refactoring to reduce code duplication; I briefly considered
+% \mstrelease{1.3za} refactoring to reduce code duplication; I briefly considered
% trying to enhance \cs{MTgreekfont} to work also with |LGRgreeks| and
% |selfGreeks| but I have dropped the idea for now.
% \begin{macrocode}
@@ -9875,7 +10510,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\expandafter\mst@dothe@hyphenstuff\mst@tmp
\fi
\fi
-}% \MTDeclareVersion@@
+}%
\let\MathastextDeclareVersion\MTDeclareVersion
% \end{macrocode}
% \end{macro}
@@ -9890,45 +10525,48 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% additionally to the math fonts. Present already in the initial
% version of the package (January 2011.)
%
-% |1.15|: some modifications for the subdued option vs LGRgreek and
+% \mstrelease{1.15}: some modifications for the subdued option vs LGRgreek and
% for the math muskips after \cs{exists} and \cs{forall}.
%
-% |1.2|: with the subdued option sets the math alphabets in the
+% \mstrelease{1.2}: with the subdued option sets the math alphabets in the
% normal and bold math versions do not apply to operator
% names and non-alphabetical symbols. The switch for braces
% is left as it is.
%
-% |1.2b|: with the subdued option, the italic corrections are not added.
+% \mstrelease{1.2b}: with the subdued option, the italic corrections are not added.
% Else, we check the shape of letters in this version. Also, there was a bug
-% since |1.15|: the values of the math skips were taken not from the
+% since \mstrelease{1.15}: the values of the math skips were taken not from the
% settings for the math version (\#2) but from those of the optional argument
% (\#1), if present...
%
-% |1.3|: activation of italic corrections is now separated from actual math
+% \mstrelease{1.3}: activation of italic corrections is now separated from actual math
% activation of letters.
%
-% |1.3c|: a starred variant is added which does not modify the text fonts,
+% \mstrelease{1.3c}: a starred variant is added which does not modify the text fonts,
% only the math set-tup.
%
-% |1.3d|: replaced in |\MTversion@| things like |\edef\mst@encoding{...}| and
-% |\renewcommand{\encodingdefault}{\mst@@encoding}| by
+% \mstrelease{1.3d}: replaced in |\MTversion@| things like |\edef\mst@encoding{...}| and
+% \centeredline{|\renewcommand{\encodingdefault}{\mst@@encoding}|} by
% |\edef\encodingdefault{...}| etc\dots All those |\mst@@...| things were
% useless. I also redefine |\seriesdefault| rather than |\mddefault|.
%
-% |1.3d|: mechanism of restoration of Greek in subdued normal and bold
+% \mstrelease{1.3d}: mechanism of restoration of Greek in subdued normal and bold
% versions has been to all cases, and not only for the
% |LGRgreek| option.
%
-% |1.3u|: version savvy (i.e.\@ font-encoding savvy) minus sign,
+% \mstrelease{1.3u}: version savvy (i.e.\@ font-encoding savvy) minus sign,
% \cs{hbar}, \cs{imath}, math accents.
%
-% |1.3x|: Booleans recovered from stored data in the math version will
+% \mstrelease{1.3y}: Booleans recovered from stored data in the math version will
% configure the things \cs{MTcustomgreek} do, under |LGRgreek| option.
% \begin{macrocode}
-\newcommand*\MTversion {\@ifstar\MTversion@s\MTversion@ }
-\newcommand*\MTversion@s [1]{\mathversion{#1}\MTversion@@ }
+\newcommand*\MTversion {\@ifstar\MTversion@s\MTversion@}
+\newcommand*\MTversion@s [1]{\mathversion{#1}\MTversion@@}
\newcommand*\MTversion@ [2][]{%
- \mathversion{#2}% defines \math@version as expanded #2
+% \end{macrocode}
+% This defines \cs{math@version} as expanded |#2|.
+% \begin{macrocode}
+ \mathversion{#2}%
\edef\mst@tmpa{#1}%
\ifx\mst@tmpa\empty
\let\mst@tmp\math@version
@@ -9946,14 +10584,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\ttdefault {\csname mst@ttdefault@\mst@tmp\endcsname}%
\usefont{\encodingdefault}{\familydefault}{\seriesdefault}{\shapedefault}%
\MTversion@@
-}% \MTversion@
+}%
% \end{macrocode}
-% |1.3j| has a stronger subdued which does \cs{MTnormalprime},
+% \mstrelease{1.3j} has a stronger subdued which does \cs{MTnormalprime},
% \cs{MTnormalexists}, \cs{MTnormalforall} rather than setting the skips to
% |0mu|. Hence \cs{MTversion} by default should do \cs{MTprimedoesskip},
% \cs{MTexistsdoesskip}, \cs{MTforalldoesskip}.
%
-% |1.3u| drops the argument, as the info is in \cs{math@version} from
+% \mstrelease{1.3u} drops the argument, as the info is in \cs{math@version} from
% \LaTeX2e code.
% \begin{macrocode}
\newcommand*\MTversion@@ {%
@@ -9979,18 +10617,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\mst@tmpa{\csname mst@ltshape@\math@version\endcsname}%
\edef\mst@tmpb{\csname mst@shape@\math@version\endcsname}%
% \end{macrocode}
-% |v1.15c|: extending subdued to LGRgreek.
+% \mstrelease{1.15c}: extending subdued to LGRgreek.
%
-% |v1.15f|: subdueing math alphabets in a simpler way than in |1.15e|.
+% \mstrelease{1.15f}: subdueing math alphabets in a simpler way than in \mstrelease{1.15e}.
%
-% |v1.2b|: subdueing the activation of characters in math mode.
+% \mstrelease{1.2b}: subdueing the activation of characters in math mode.
%
-% |v1.2d|: special treatment of the asterisk.
+% \mstrelease{1.2d}: special treatment of the asterisk.
%
-% |v1.3d|: extended LGRgreek mechanism of activation/restoration of Greek to all
+% \mstrelease{1.3d}: extended LGRgreek mechanism of activation/restoration of Greek to all
% cases.
%
-% |v1.3j|: use of \cs{MTeverymathdefault}, which includes \cs{MTicinmath}, but
+% \mstrelease{1.3j}: use of \cs{MTeverymathdefault}, which includes \cs{MTicinmath}, but
% must be corrected then according to shape of letters and presence or absence
% of option |frenchmath|. We do only |\def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}|
% and not \cs{MTICinmath} to not overwrite some user-defined
@@ -9999,6 +10637,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% user customizing possibilities, but if I moved it later, I would possibly
% have to put inside the \cs{MTicinmath} the check for |it| ot |sl|. Similary
% the \cs{MTcustomgreek} always executed (if not |subdued|).
+%
+% MEMO: \cs{MTeverymathdefault} is executed \emph{also} if in |subdued| mode
+% but there is a \cs{MTeverymathoff} done next in the \emph{normal} and
+% \emph{bold} version. It does \cs{MTicinmath} and \cs{MTmathactivedigits}
+% which however are no-ops (only partly for the former, and for the latter
+% always anyhow if no option |activedigits|) in subdude mode.
% \begin{macrocode}
\MTmathoperatorsobeymathxx
\MTeverymathdefault
@@ -10009,7 +10653,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\@for\mst@tmpc:=it,sl\do{\ifx\mst@tmpc\mst@tmpb\MTnoICinmath\fi}%
\fi
% \end{macrocode}
-% |1.3j| has a stronger subdued which does \cs{MTnormalprime},
+% \mstrelease{1.3j} has a stronger subdued which does \cs{MTnormalprime},
% \cs{MTnormalexists}, \cs{MTnormalforall} rather than simply setting the
% skips to |0mu|. Note: \cs{MTnormalprime} is done as part of
% \cs{MTeverymathoff}.
@@ -10027,13 +10671,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTmathoperatorsdonotobeymathxx
\MTnormalexists
\MTnormalforall
+% \end{macrocode}
+% \mstrelease{1.4} has kept \cs{MTmathstandardletters} inside
+% \cs{MTeverymathoff} but its action is now quite different from earlier
+% situation as it resets mathcodes from active to normal status on the spot.
+% \begin{macrocode}
\MTeverymathoff
\MTresetnewmcodes
% \end{macrocode}
-% |1.3t| adds better compatibility with |subdued| mode for
+% \mstrelease{1.3t} adds better compatibility with |subdued| mode for
% |\imath/\jmath| and perfect compatibility for the minus sign.
%
-% |1.3u| extends this further to allow per-math-version meanings
+% \mstrelease{1.3u} extends this further to allow per-math-version meanings
% for them.
% \begin{macrocode}
\mst@subduedhbar
@@ -10056,7 +10705,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\mst@setalphabets
% \end{macrocode}
-% |1.3x| addition for \cs{MTcustomgreek} under |LGRgreeks| option.
+% \mstrelease{1.3y} addition for \cs{MTcustomgreek} under |LGRgreeks| option.
+%
+% MEMO: the needed mathematical re-activation of letters when switching from
+% \emph{normal} or \emph{bold} to a non-|subdued| math version has already
+% been done above from the \cs{MTicinmath} which is part of
+% \cs{MTeverymathdefault}.
+%
+% MEMO: idem for digits under option |activedigits|.
% \begin{macrocode}
\expandafter\let\csname ifmst@greek@upper@up\expandafter\endcsname
\csname ifmst@greek@\math@version @upper@up\endcsname
@@ -10071,19 +10727,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\else
% \end{macrocode}
-% |1.3x| addition for \cs{MTcustomgreek} under |LGRgreek| option.
+% \mstrelease{1.3y} addition for \cs{MTcustomgreek} under |LGRgreek| option.
+%
+% MEMO: the mathematical activation of letters happened above from
+% \cs{MTeverymathdefault}. Idem if |activedigits| for digits.
% \begin{macrocode}
\expandafter\let\csname ifmst@greek@upper@up\expandafter\endcsname
\csname ifmst@greek@\math@version @upper@up\endcsname
\expandafter\let\csname ifmst@greek@lower@up\expandafter\endcsname
\csname ifmst@greek@\math@version @lower@up\endcsname
- \MTcustomgreek % new with 1.3d
+ \MTcustomgreek
\mst@nonsubduedhbar
\mst@nonsubduedinodot
\mst@nonsubduedmathaccents
\mst@nonsubduedminus
\fi
-}% \MTversion@@
+}%
\let\MathastextVersion\MTversion
\let\Mathastextversion\MTversion
\let\MTVersion\MTversion
@@ -10100,7 +10759,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTfamily{#3}
\MTseries{#4}
\MTshape{#5}
- \ifmst@italic\MTlettershape{\itdefault}\fi % was missing in v 1.14 and prior
+ \ifmst@italic\MTlettershape{\itdefault}\fi
\edef\mst@tmp{#1}
\ifx\mst@tmp\empty\else\MTlettershape{#1}\fi
\Mathastext}
@@ -10113,23 +10772,23 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% preamble and any number of time, the last one is the
% one that counts.
%
-% In version |1.1| we have two fonts: they only differ in
+% In version \mstrelease{1.1} we have two fonts: they only differ in
% shape. The |mtletterfont| is for letters, and the
% |mtoperatorfont| for digits and log-like operator
% names. The default is that both are upright.
%
-% Starting with version |1.12|, an optional argument makes
+% Starting with version \mstrelease{1.12}, an optional argument makes
% \cs{Mathastext} act as the declaration of a math
% version, to be later used in the document.
%
-% Versions |1.15x| brought some adaptations related to the subdued
+% Versions \mstrelease{1.15x} brought some adaptations related to the subdued
% option.
%
-% |1.3c| adds a second optional parameter to inherit previous settings
+% \mstrelease{1.3c} adds a second optional parameter to inherit previous settings
% from another version; mostly done to inherit the bold version fonts for
% symbols and large symbols. This is done in |\MTDeclareVersion|.
%
-% |1.3j| moves the code related to \cs{MTicinmath} from \cs{Mathastext@} to
+% \mstrelease{1.3j} moves the code related to \cs{MTicinmath} from \cs{Mathastext@} to
% \cs{AtBeginDocument} (code depending on whether |subdued| option in use).
% But we omit for this from \cs{MTicinmath} the \cs{MTmathactiveletters}
% and issue the latter during loading of package, hence allowing
@@ -10139,15 +10798,15 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% command without optional parameter does not any |\SetSymbolFont| etc...
% but it has a few other tasks to complete nevertheless.
%
-% |1.3u| fixes some long-standing bug that \cs{Mathastext} did not repeat some
+% \mstrelease{1.3u} fixes some long-standing bug that \cs{Mathastext} did not repeat some
% font-encoding dependent things: they got done only once during package
% loading (things regarding the \cs{hbar}, \cs{imath}, the math accents and
% the minus sign). They are now part of the contents of \cs{Mathastext} macro
% itself (which is executed during package loading).
%
-% |1.3x| has refactored the |LGRgreek| associated math fonts.
+% \mstrelease{1.3y} has refactored the |LGRgreek| associated math fonts.
% \begin{macrocode}
-\def\Mathastext {\@ifnextchar [\Mathastext@declare\Mathastext@ }
+\def\Mathastext {\@ifnextchar[\Mathastext@declare\Mathastext@}% ]
\def\Mathastext@declare [#1]{%
\edef\mst@tmp{#1}%
\ifx\mst@tmp\empty
@@ -10156,7 +10815,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\Mathastext@
{\MTDeclareVersion[\mst@ltsh]{#1}{\mst@enc}{\mst@fam}{\mst@ser}{\mst@opsh}}%
-}% \Mathastext@declare
+}%
\def\Mathastext@ {%
\mst@update@greeksh
\edef\mst@encoding@normal{\mst@enc}%
@@ -10187,7 +10846,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\mst@prime@skip@bold{\mst@prime@skip}%
\ifmst@subdued
% \end{macrocode}
-% Since |1.3j| this branch is actually almost superfluous, as entering
+% Since \mstrelease{1.3j} this branch is actually almost superfluous, as entering
% |normal| or |bold| with \cs{MTversion} does \cs{MTnormalexists},
% \cs{MTnormalforall}, and \cs{MTnormalprime}. But some default values are
% needed if the user insists on issuing \cs{MTexistsdoesskip}, etc...
@@ -10199,7 +10858,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@exists@skip@bold{0mu}%
\def\mst@forall@skip@bold{0mu}%
\def\mst@prime@skip@bold{0mu}%
- \else % not subdued
+ \else
\ifmst@italic
\ifmst@frenchmath
\mst@exists@muskip\mst@exists@skip\relax
@@ -10220,8 +10879,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\fi
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed usage of an
-% \cs{ifmst@nonormalbold} conditional which was added at |1.15f|.
+% Here and elsewhere \mstrelease{1.3za} has removed usage of an
+% \cs{ifmst@nonormalbold} conditional which was added at \mstrelease{1.15f}.
% \begin{macrocode}
\SetMathAlphabet{\Mathnormalbold}{normal}{\mst@encoding@normal}%
{\mst@family@normal}%
@@ -10249,7 +10908,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\mst@series@bold}%
{\mst@shape@bold}%
% \end{macrocode}
-% |1.3za| removes the |1.15f| added conditional checks.
+% \mstrelease{1.3za} removes the \mstrelease{1.15f} added conditional checks.
% \begin{macrocode}
\SetMathAlphabet{\Mathbf}{normal}{\mst@encoding@normal}%
{\mst@family@normal}%
@@ -10283,10 +10942,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\mst@ttdefault@bold}%
{\mst@series@bold}%
{\mst@shape@bold}%
- \fi % de \ifmst@subdued
+ \fi
% \end{macrocode}
% \begin{macro}{\MathEulerBold}
-% |1.14c|: We reset |mteulervm| and \cs{MathEulerBold} here as the
+% \mstrelease{1.14c}: We reset |mteulervm| and \cs{MathEulerBold} here as the
% variant for bold may have been changed by the user via
% \cs{Mathastextboldvariant}|{m}|; and we should keep this local to
% math versions.
@@ -10309,9 +10968,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{selfGreek*}
% LGRgreek, LGRgreeks, selfGreek, and selfGreeks options.
%
-% |1.3x| has refactored the |LGRgreek| associated math fonts.
+% \mstrelease{1.3y} has refactored the |LGRgreek| associated math fonts.
%
-% |1.3za| adds the math alphabets \cs{mathgreekitbold} and
+% \mstrelease{1.3za} adds the math alphabets \cs{mathgreekitbold} and
% \cs{mathgreekupbold}.
% And it executes this code also in |subdued| mode, because
% anyhow the symbolfonts |mtgreekup| and |mtgreekit| and
@@ -10352,7 +11011,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \end{macro}
-% |1.3za| adds the log message in case of |selfGreek| option.
+% \mstrelease{1.3za} adds the log message in case of |selfGreek| option.
% \begin{macrocode}
\ifmst@subdued
\else
@@ -10380,7 +11039,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@infoline{Other characters (digits, ...) and \string\log-like names will be}%
\mst@infoline{typeset with the \mst@shape@normal\space shape.}%
\fi
- \fi % end of else branch \ifmst@subdued
+ \fi
\ifmst@nohbar\else
\mst@infoline{\string\hbar}%
\mst@dothe@hbarstuff
@@ -10415,9 +11074,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mst@varfam@minus@mvbold\mst@varfam@minus@mvnormal
\fi
\fi
- \fi % minus
+ \fi
% \end{macrocode}
-% |1.3zb| moves this info line last and also explicitly mentions |italic| or
+% \mstrelease{1.3zb} moves this info line last and also explicitly mentions |italic| or
% |frenchmath| (here and at some other locations above).
% \begin{macrocode}
\ifmst@subdued
@@ -10427,7 +11086,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@infoline{The \ifmst@frenchmath frenchmath \else
italic \fi option is in effect.}%
\fi
-}% \Mathastext@
+}%
\let\mathastext\Mathastext
\Mathastext
% \end{macrocode}
@@ -10488,14 +11147,23 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTeverymathoff}
-% |1.3i 2016/01/06| Compatibility patch with |\url| from |url.sty| and
+% \mstrelease{1.3i} |2016/01/06| Compatibility patch with |\url| from |url.sty| and
% |\url/\nolinkurl| from |hyperref.sty|.
%
-% |1.3j 2016/01/15| renamed the macro from |\MTactivemathoff| to
+% \mstrelease{1.3j} |2016/01/15| renamed the macro from |\MTactivemathoff| to
% |\MTeverymathoff|, as it is not exclusively a matter of math active
% characters due to |\MTeasynonlettersdonotobeymathxx|.
%
-% |1.3o 2016/05/03| adds \cs{MTdonotfixfonts}. Operant with \LuaLaTeX\ only.
+% \mstrelease{1.3o} |2016/05/03| adds \cs{MTdonotfixfonts}. Operant with
+% \LuaLaTeX\ only.
+%
+% \mstrelease{1.4} |2024/07/20| keeps the \cs{MTmathstandardletters} as a
+% component of \cs{MTeverymathoff}. It was checked that \ctanpkg{url} and
+% \ctanpkg{hyperref} do not change mathcodes of ascii letters prior to
+% location where \cs{MTeverymathoff} gets executed, so nothing is
+% overwritten, despite the new mode of action of \cs{MTmathstandardletters}.
+%
+% \mstrelease{1.4} has \cs{MTmathstandarddigits} and inserts it into \cs{MTeverymathoff}.
% \begin{macrocode}
\newcommand*\MTeverymathoff {%
\MTnormalasterisk
@@ -10503,6 +11171,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTnonlettersdonotobeymathxx
\MTeasynonlettersdonotobeymathxx
\MTmathstandardletters
+ \MTmathstandarddigits
\MTdonotfixfonts
}%
\AtBeginDocument {%
@@ -10513,7 +11182,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTeverymathdefault}
-% |1.3j 2016/01/15| Customizable command which gets executed by
+% \mstrelease{1.3j} |2016/01/15| Customizable command which gets executed by
% \cs{MTversion} except when switching to |normal/bold| if option |subdued|.
% The included \cs{MTicinmath} does \cs{MTmathactiveletters} which will also
% activate the math skips around letters.
@@ -10537,13 +11206,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% it will not be overruled (as it is delayed at begin document to after \mst
% dealings).
%
-% |1.3o 2016/05/03| adds \cs{MTfixfonts}. Operant with \LuaLaTeX\ only.
+% \mstrelease{1.3o} |2016/05/03| adds \cs{MTfixfonts}. Operant with
+% \LuaLaTeX\ only.
+%
+% \cs{MTmathactivedigits} of \mstrelease{1.4} is a no-op except under option
+% |activedigits|.
% \begin{macrocode}
\newcommand*\MTeverymathdefault {%
\MTactiveasterisk
\MTprimedoesskip
\MTeasynonlettersobeymathxx
\MTicinmath
+ \MTmathactivedigits
\MTfixfonts
}%
% \end{macrocode}
@@ -10552,48 +11226,54 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \def~{\rlap}
% \begin{macro}{Things to do last ~{``at begin document''}}
% \let~\temp
+%
+% \mstrelease{1.4} has a significant change here that mathematical
+% activation of ascii letters is now not incorporated into the \cs{everymath}
+% and \cs{everydisplay}.
% \begin{macrocode}
-\AtBeginDocument{%
- \everymath\expandafter{\the\everymath
- \mst@the\mst@do@nonletters \let\mst@the\@gobble
- \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
- \mst@thef\mst@do@az \let\mst@thef\@gobble
- \mst@theF\mst@do@AZ \let\mst@theF\@gobble}%
- \everydisplay\expandafter{\the\everydisplay
- \mst@the\mst@do@nonletters \let\mst@the\@gobble
- \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
- \mst@thef\mst@do@az \let\mst@thef\@gobble
- \mst@theF\mst@do@AZ \let\mst@theF\@gobble}%
-% \end{macrocode}
-% |1.3j|: moved here to be executed at begin document (and not from inside
+\ifmst@everymath
+ \AtBeginDocument{%
+ \everymath\expandafter{\the\everymath
+ \mst@the\mst@do@nonletters \let\mst@the\@gobble
+ \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
+ }%
+ \everydisplay\expandafter{\the\everydisplay
+ \mst@the\mst@do@nonletters \let\mst@the\@gobble
+ \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
+ }%
+ }
+\fi
+% \end{macrocode}
+% \mstrelease{1.3j}: moved here to be executed at begin document (and not from inside
% \cs{Mathastext@}.) The \cs{MTeverymathoff} does: \cs{MTnormalasterisk},
% \cs{MTnormalprime}, \cs{MTnonlettersdonotobeymathxx},
% \cs{MTeasynonlettersdonotobeymathxx}, \cs{MTmathstandardletters}.
%
-% |1.3m|: doing \cs{MTmathactiveletters} in subdued mode immediately after
+% \mstrelease{1.3m}: doing \cs{MTmathactiveletters} in subdued mode immediately after
% |\begin{document}| resulted in errors because \cs{mst@itcorr} had been left
% undefined. We thus add \cs{MTnoicinmath} to the subdued initialization.
%
-% Since |1.3n| there is \cs{MTresetnewmcodes} which needs
+% Since \mstrelease{1.3n} there is \cs{MTresetnewmcodes} which needs
% \cs{mst@originalnewmcodes@}, itself defined at begin document. Thus we have
-% wrapped the whole thing in \cs{AtEndOfPackage} (at |1.3u| whole code
+% wrapped the whole thing in \cs{AtEndOfPackage} (at \mstrelease{1.3u} whole code
% directly moved at end of package).
%
-% And |1.3p| adds here \cs{MTcustomizenewmcodes} which had been regrettably
-% forgotten by |1.3n|.
+% And \mstrelease{1.3p} adds here \cs{MTcustomizenewmcodes} which had been regrettably
+% forgotten by \mstrelease{1.3n}.
%
-% |1.3t| adds some extras to handle correctly the minus sign and
+% \mstrelease{1.3t} adds some extras to handle correctly the minus sign and
% dotless i and j in subdued mode, even in case of usage with fontspec.
%
-% |1.3u| similarly lets math accents be correctly subdued.
+% \mstrelease{1.3u} similarly lets math accents be correctly subdued.
%
-% |1.3v| adapts to \cs{hbar} and math accents now being robust with \LaTeX{}
+% \mstrelease{1.3v} adapts to \cs{hbar} and math accents now being robust with \LaTeX{}
% |2019-10-01| or later.
%
-% |1.3w| pays attention to the fact that \cs{hbar} may well be
+% \mstrelease{1.3w} pays attention to the fact that \cs{hbar} may well be
% a |\mathchar| and not a robust macro! And no need to worry about
% \cs{hbar<space>} finally in revised code.
% \begin{macrocode}
+\AtBeginDocument{%
\MTcustomizenewmcodes
\let\mst@original@hbar\hbar
\let\mst@original@imath\imath
@@ -10617,21 +11297,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTresetnewmcodes
\MTnoicinmath
\MTmathoperatorsdonotobeymathxx
- %\mst@subduedhbar
\let\inodot\imath
\let\jnodot\jmath
- %\mst@subduedmathaccents
\mst@subduedminus
\else
\mst@nonsubduedhbar
% \end{macrocode}
-% |1.3v| needs this \cs{mst@nonsubduedmathaccents} to get executed later (see
+% \mstrelease{1.3v} needs \cs{mst@nonsubduedmathaccents} to get executed later (see
% code comments for \cs{mst@dothe@mathaccentsstuff}).
% \begin{macrocode}
- % \mst@nonsubduedmathaccents % will get executed later
\mst@nonsubduedminus
% \end{macrocode}
-% |1.3j|: an earlier version of this code was earlier part of \cs{Mathastext@}.
+% \mstrelease{1.3j}: an earlier version of this code was earlier part of \cs{Mathastext@}.
% As we are now in \cs{AtBeginDocument} we try to be careful not to overwrite
% \cs{MTicinmath}, \cs{MTnoicinmath}, \cs{MTicalsoinmathxx}, ... if issued by
% the user in the preamble, though. And we do not execute
@@ -10652,12 +11329,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\fi
\fi
-}% \AtBeginDocument
+}%
\AtEndOfPackage{\AtBeginDocument{\ifmst@subdued\else\mst@nonsubduedmathaccents\fi}}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{subdued}
-% |1.15|: The subdued code was initiated in May 2011. I returned to
+% \mstrelease{1.15}: The subdued code was initiated in May 2011. I returned to
% |mathastext| on Sep 24, 2012, and decided to complete what I had started
% then, but in the mean time I had forgotten almost all of the little I knew
% about \LaTeX{} macro programming.
@@ -10671,7 +11348,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% $^1$but the \emph{euler} package for example
% assigns the digits to the \emph{letters} symbol font...
%
-% |1.15d|: Oct 13, 2012. The \cs{mathcode} thing has to be used with care
+% \mstrelease{1.15d}: Oct 13, 2012. The \cs{mathcode} thing has to be used with care
% under Unicode engines. Unfortunately the \cs{luatexUmathcode} macro is
% helpless as it is not possible to know if it will return a legacy mathcode
% or a Unicode mathcode. On the other hand the much saner
@@ -10683,14 +11360,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% treats identically under both unicode engines the equal and minus signs (and
% the vertical bar).}
%
-% |1.15e|: Oct 22, 2012. I add the necessary things to also subdue the
+% \mstrelease{1.15e}: Oct 22, 2012. I add the necessary things to also subdue the
% \cs{mathbf}, \cs{mathit}, \cs{mathsf} and \cs{mathtt} macros (previous
% version only took care of the symbol alphabets \cs{mathnormal} and
-% \cs{mathrm}.) [update: |1.15f| does that in a completely different and much
+% \cs{mathrm}.) [update: \mstrelease{1.15f} does that in a completely different and much
% simpler way] Notice that the package defines a \cs{mathnormalbold} macro,
% but it will not be subdued in the normal and bold math versions.
%
-% |1.15f|: Oct 23, 2012. The previous version of the code queried the math
+% \mstrelease{1.15f}: Oct 23, 2012. The previous version of the code queried the math
% family of a, respectively 1, to guess and then extract the fonts to be
% reassigned to mtletterfont and mtoperatorfont (which is done at the end of
% this .sty file). The present code simply directly uses letters and operators
@@ -10705,23 +11382,24 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% to revert these changes (and one would have to do even more hacking for
% |\mathversion{normal}| and not only |\MTversion{normal}| to work).
%
-% |1.15f|: and also I take this opportunity to do the subdued math
+% \mstrelease{1.15f}: and also I take this opportunity to do the subdued math
% alphabets things in a much much easier way, see below.
%
-% |1.3s 2018/08/21|: I have half-forgotten the reasons for modifiying the
+% \mstrelease{1.3s} |2018/08/21|: I have half-forgotten the reasons for modifiying the
% font encoding to current |\encodingdefault|, but at any rate this should
% not be done in a \ctanpkg{fontspec} context, encoding default being (now) |TU| it
% is very unlikely modifying from |TU| or to |TU| from something else will
-% do any good.^^A See
+% do any good.
+%^^A See
%^^A \centeredline{\url{https://tex.stackexchange.com/questions/444565/mathastext-wrong-digits-in-math-mode/}}
%^^A for original report.
% I add workaround here for case of \ctanpkg{fontspec} being
% detected via the |\encodingdefault| setting.
%
-% |1.3t 2018/08/22|: the |1.3s| fix erroneously removed the
+% \mstrelease{1.3t} |2018/08/22|: the \mstrelease{1.3s} fix erroneously removed the
% |OT1->T1| replacement in |TU| context.
%
-% |1.3u|: the whole thing will only get executed At Begin
+% \mstrelease{1.3u}: the whole thing will only get executed At Begin
% Document.
%
% I realize extremely late (|2023/12/28|) I never said explicitly anywhere
@@ -10734,7 +11412,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% behavior of the package.
% \begin{macrocode}
\ifmst@subdued
-\AtBeginDocument{%
+ \AtBeginDocument{%
\def\mst@reserved#1\getanddefine@fonts\symletters#2#3\@nil{%
\def\mst@normalmv@letter{#2}}%
\expandafter\mst@reserved\mv@normal\@nil
@@ -10773,15 +11451,19 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\mst@tmp@enc
\fi/\mst@reste\endcsname}%
- \expandafter\SetSymbolFont@ \expandafter\mv@normal\mst@normalmv@letter\symmtletterfont
- \expandafter\SetSymbolFont@ \expandafter\mv@bold\mst@boldmv@letter\symmtletterfont
- \expandafter\SetSymbolFont@ \expandafter\mv@normal\mst@normalmv@operator\symmtoperatorfont
- \expandafter\SetSymbolFont@ \expandafter\mv@bold\mst@boldmv@operator\symmtoperatorfont
-\immediate\write\m@ne{}%
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@normal\mst@normalmv@letter\symmtletterfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@bold\mst@boldmv@letter\symmtletterfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@normal\mst@normalmv@operator\symmtoperatorfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@bold\mst@boldmv@operator\symmtoperatorfont
+ \immediate\write\m@ne{}%
\PackageInfo{mathastext}{...entering subdued mode...\MessageBreak ...done}%
-\immediate\write\m@ne{}%
-}% \AtBeginDocument
-\fi % \ifmst@subdued
+ \immediate\write\m@ne{}%
+ }%
+\fi
% \end{macrocode}
%^^A In the short-lived |1.15e| I was doing the following for alphabets:\\
%^^A |\def\mst@reservedc#1#2#3#4{\def\mst@normalmv@mathbf{#4#3}}|\\
diff --git a/macros/latex/contrib/mathastext/mathastext.pdf b/macros/latex/contrib/mathastext/mathastext.pdf
index 6e95227410..a804e30762 100644
--- a/macros/latex/contrib/mathastext/mathastext.pdf
+++ b/macros/latex/contrib/mathastext/mathastext.pdf
Binary files differ
diff --git a/macros/latex/contrib/mismath/mismath.dtx b/macros/latex/contrib/mismath/mismath.dtx
index f3fd2168bc..c2d10d32af 100644
--- a/macros/latex/contrib/mismath/mismath.dtx
+++ b/macros/latex/contrib/mismath/mismath.dtx
@@ -20,7 +20,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{mismath}
- [2024/05/04 v3.0 .dtx Miscellaneous mathematical macros]
+ [2024/06/16 v3.1 .dtx Miscellaneous mathematical macros]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -34,13 +34,16 @@
\usepackage{multicol}
\usepackage{sectsty}
\usepackage{xcolor}
-\usepackage{spacingtricks}
+\usepackage[pifont]{spacingtricks}
\usepackage{array}
\usepackage{metalogo} % for logos of XeLaTeX et LuaLaTeX
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\color{darkbrown}}
+% Next command is used for showing original Latin Modern \i and \j in text mode:
+%\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont} % useless with fourier
+
% The following commands provide several shapes for pi
\DeclareFontEncoding{LGR}{}{}
\def\pilmr{\text{\usefont{LGR}{lmr}{m}{n}\symbol{112}}}
@@ -62,15 +65,13 @@
\def\pipx{\text{\usefont{U}{pxmia}{m}{it}\symbol{"19}}}
\def\pitx{\text{\usefont{U}{txmia}{m}{it}\symbol{"19}}}
-% Next command is used for showing original Latin Modern \i and \j in text mode:
-%\DeclareTextFontCommand{\extrafont}{\fontfamily{lmr}\selectfont} % useless with fourier
+\let\updelta\otherdelta
\DisableCrossrefs
%\CodelineIndex
%\RecordChanges
\usepackage{hyperref}
-\let\C\relax % "\C already defined" with hyperref when compiling with xelatex or lualatex
\hypersetup{%
colorlinks,
linkcolor=blue,
@@ -87,7 +88,7 @@
%</driver>
% \fi
%
-% \CheckSum{845}
+% \CheckSum{854}
%
% \CharacterTable
% {Upper-case \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
@@ -105,157 +106,13 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \changes{v0.1}{2011/12/27}{First personal version}
-%
-% \changes{v1.0}{2019/04/11}{
-% - Initial published version: creating dtx and ins files}
-%
-% \changes{v1.1}{2019/04/20}{
-% - Some forgotten french 'et' -> 'and', citecolor=blue,
-% - changing the default font for pinumber Euler -> Symbol}
-%
-% \changes{v1.2}{2019/04/27}{
-% - Works fine with beamer now,
-% - AtBeginDocument for enumber, inumber, jnumber,
-% - creating general mm@operator macro,
-% - using mathup instead of mathrm
-% - added mathtools package,
-% - font definition Roman -> up,
-% - changes in documentation,
-% - replacing the PEroman macro by PEupright}
-%
-% \changes{v1.3}{2019/05/08}{
-% - Using bslash in the internal mm@warning macro,
-% - loading of mathfixs package
-% - Many corrections in documentation}
-%
-% \changes{v1.4}{2019/05/22}{
-% - Changing font definition up -> UpSh, due to incompatibility with unicode-math}
-%
-% \changes{v1.5}{2019/05/30}{
-% - A solution for using mul with frac -> braces,
-% - addition of paren macro}
-% \changes{v1.5}{2019/06/22}{
-% - Small corrections in documentation}
-%
-% \changes{v1.6}{2019/09/06}{
-% - Removing mathfixs package, problems with fractions}
-%
-% \changes{v1.7}{2019/12/27}{
-% - Adding a table of contents to the documentation}
-%
-% \changes{v1.8}{2020/11/15}{
-% - Incompatibility mentioned when using `i' with accent in beamer titles -> use \^i,
-% - small changes in documentation}
-%
-% \changes{v1.9}{2020/10/17}{
-% - UpSh replaced by "operators" font in math mode,
-% - PackageWarning `command exist' replaced by PackageWarningNoLine,
-% - medspace replaced by thickspace in the lfrac command,
-% - changing font in documentation, lmodern -> Palatino (mathpazo)}
-%
-% \changes{v1.10}{2020/10/25}{\
-% - pinumber command code adapted to avoid incompatibility with the new frenchmath,
-% - default option (in upgreek) changed from Symbol to Euler.}
-%
-% \changes{v2.0}{2022/11/11}{
-% - pinumber command has been enhanced to use other Greek letters packages,
-% (and LGR encoding pi by default), it is no longer compatible with the older,
-% - paren command has been removed,
-% - hvect and hlbar have been slightly modified (phantom t instead of phantom h),
-% - several changes in the documentation,
-% - now using the Charter font in the doc (with the package mathdesign)}
-%
-% \changes{v2.1}{2022/12/26}{
-% - Improved management of square brackets with the ibrackets package,
-% - new macros codim, sinc, var, eqdef*,
-% - removing the systematic warning for paren command,
-% - a small change in norm command -> bars in small size,
-% - several changes in documentation}
-%
-% \changes{v2.2}{2023/01/06}{
-% - Loading of ibrackets package is now optional, due to an error
-% when using DeclarePairedDelimiter with square brackets.}
-%
-% \changes{v2.3}{2023/02/09}{
-% - Introducing keyval options for enumber, inumber, jnumber, PEupright
-% (corresponding old commands are maintained for now),
-% - and also for ibrackets, boldvect and arrowvect
-% - Documentation update}
-%
-% \changes{v2.4}{2023/02/18}{
-% - New powerful macros MathUp, MathIt and also MathNumbers, MathProba, MathNormal,
-% - keyval options are no longer useful and have been deleted,
-% - loading package ifthen has been forgotten in v2.3 (causing possible errors),
-% - no more incompatibility when using `i' with accent in beamer titles}
-%
-% \changes{v2.5}{2023/02/23}{
-% - Unification of the code of MathUp and MathIt,
-% - a powerful macro `apply' is used in MathNormal to act on a list,
-% - a new `tensor' command,
-% - small changes in the documentation}
-%
-% \changes{v2.6}{2023/03/01}{
-% - A bug correction in mm@macro
-% - incompatibility of \C macro solved, when using babel with Russian
-% (thanks to Murray Eisenberg for this bug report on TeX StackExchange)
-% - mathrm added in macro eqdef* (useful if italicized Greek uppercase Delta)
-% - Tiny changes in the documentation}
-%
-% \changes{v2.7}{2023/03/05}{
-% - Macros for sets of numbers (\R, \C,...) now available only in math mode
-% (following remarks by David Carlisle and Enrico Gregorio)
-% - special (not generic) warning when loading babel with russian
-% (\C will not be defined in that case)}
-%
-% \changes{v2.8}{2023/07/26}{
-% - Some small changes in the documentation
-% - New macro `onlymathC' designed for using '\C' when Russian language is loaded}
-%
-% \changes{v2.9}{2023/12/19}{
-% - New option decimalcomma
-% - Some small changes in the documentation}
-%
-% \changes{v2.10}{2024/02/20}{
-% - Better compatibility with unicode-math:
-% for the options ibrackets, decimalcomma and the commands MathUp, MathIt
-% - Explicit error message when using mathcols without loading the multicol package}
-%
-% \changes{v2.11}{2024/02/26}{
-% - Enhancements of the pinumber macro with keyval options:
-% * no necessity to load a Greek letters package
-% * improvements of compatibility with unicode-math
-% - Now using the Adobe Utopia font with the package fourier}
-%
-% \changes{v2.12}{2024/02/29}{
-% - The xparse package has been removed by mistake in v2.11,
-% this may cause some compatibility problems;
-% it is loaded again by mismath
-% - Improvements to make pinumber work perfectly with unicode-math
-% - Small corrections in the doc}
-%
-% \changes{v3.0}{2024/03/15}{
-% - Rewriting of the pinumber command including the pifonts macro
-% - Presenting other lgrmath values for pinumber in the doc
-% - The \C macro is now in AtBeginDocument
-% - amsmath isn't loaded anymore because mathtools loads it
-% - Bug fix with options decimalcomma and ibrackets
-% - New option 'nofunction' to lighten the package loading
-% - Addition of coker and Res in standard operator names
-% - New option 'classicReIm' to deactivate Im and Re redefinition
-% - New option 'otherReIm' to provide an alternative writing with cmsy font
-% - Removal of the PEupright command
-% - Additional space in the lfrac macro increased from \: (5mu) to 7mu
-% - New optional parameter for adjusting the space in lfrac
-% - Changing the vphantom in hvect, hvec and lbar from `t' to `A', looks better}
-%
% \GetFileInfo{mismath.sty}
%
% \title{Miscellaneous mathematical macros \\The \textsf{mismath} package\thanks{This document
% corresponds to \textsf{mismath}~\fileversion, dated \filedate.
% Thanks to François Bastouil for initial help in English translation.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{May 04, 2024}
+% \date{June 16, 2024}
%
% \maketitle
% \tableofcontents
@@ -292,8 +149,7 @@
% \item displaymath in double columns for lengthy calculations with short expressions.
% \end{itemize}
%
-% To avoid compatibility issues,
-% most of our macros will only be defined
+% To avoid compatibility issues, most of our macros will only be defined
% if there isn't already a command with the same name in the packages loaded
% before \textsf{mismath}. If a macro is already defined,
% a warning message will be displayed and the \textsf{mismath} definition
@@ -302,16 +158,19 @@
%
% \medskip
% \DescribeEnv{\oarg{options}}
-% The \textsf{mismath} package loads the \textsf{mathtools}
+% The \textsf{mismath} package loads the \textsf{mleftright}
+% \footnote{The \textsf{mleftright} package defines variants \texttt{\string \mleft}
+% and \texttt{\string \mright} of \texttt{\string left} and \texttt{\string \right}.}
+% package by Heiko Oberdiek~\cite{MLR} and also \textsf{mathtools}
% \footnote{The \textsf{mathtools} package offers numerous helpful macros and improvements
% of the \textsf{amsmath} package.}
-% package by Morten Høgholm and Lars Madsen~\cite{TOOL} which in turn loads
-% the \textsf{amsmath} package~\cite{AMS}.
+% by Morten Høgholm and Lars Madsen~\cite{TOOL} which in turn loads
+% the \mbox{\textsf{amsmath}} package~\cite{AMS}.
% If you want to use \mbox{\textsf{amsmath}} or \textsf{mathtools} with specific options,
% you can include these options as options of \mbox{\textsf{mismath}}, or
% you can load \textsf{amsmath} or \textsf{mathtools}
% with the desired options before loading \mbox{\textsf{mismath}}.
-% When using the package \textsf{unicode-math}~\cite{UNIC}, \textsf{mismath}
+% When using the package \mbox{\textsf{unicode-math}}~\cite{UNIC}, \textsf{mismath}
% should be loaded before \textsf{unicode-math}, just like \textsf{amsmath}.
%
% \medskip
@@ -364,7 +223,7 @@
% or imaginary number $\i$, with |\mathup{e}| or |\mathup{i}|,
% the package provides the |\e| command for Euler's number
% and |\i| or |\j| for imaginary numbers.
-% Let us notice that |\i| and |\j| already exist in LaTeX. In LR (left-to-right) mode,
+% Let us notice that |\i| and |\j| already exist in \LaTeX. In LR (left-to-right) mode,
% they produce \mbox{`\i,\ \j'} without the dot,
% allowing you to place accents on them.
% However, in mathematical mode, they produce the warning
@@ -376,7 +235,7 @@
% \medskip
% \DescribeMacro{\MathUp}
% Indeed, typing a lot of backslashes for constants like $\e$, $\i$, or $\j$
-% in a document with numerous formulas can become tiresome.
+% in a document with numerous formulas using them can become tiresome.
% To alleviate this, the package proposes another solution
% with the macro |\MathUp|\marg{char}.
% For example, when |\MathUp{e}| is called, any subsequent occurrence of $\e$
@@ -420,7 +279,7 @@
% These three commands, used until version 2.2 but only functioning within the preamble,
% serve now as aliases for the commands |\MathUp{e}|, |\MathUp{i}| or |\MathUp{j}|,
% so they can be used anywhere
-% in the document or preamble and has an inverse switches with |\MathIt|.
+% in the document or preamble and has an inverse switch with |\MathIt|.
%
% \medskip
% \DescribeMacro{\pinumber[\meta{option}]}
@@ -452,7 +311,7 @@
% which allows the use of any Greek LGR-encoded font in math mode,
% an idea taken up in \textsf{mathgreeks}~\cite{MGREEK}.
% Also note \textsf{newtxmath}~\cite{NTX} which has several font options.
-% These packages provide commands like |\uppi| (\textsf{upgreek}),
+% These packages provide commands like |\uppi| (\textsf{upgreek}, \textsf{mathgreeks}),
% |\piup| (\textsf{mathdesign}, \textsf{kpfonts}, \textsf{lgrmath}),
% |\otherpi| (\textsf{fourier}), etc.
% \footnote{They have also options to typeset all the Greek lowercase
@@ -461,7 +320,7 @@
% In this case, |\pinumber| must be called in the preamble
% with an optional argument being the name of the command, \emph{without the backslash},
% giving access to the upright pi:
-% piup, uppi, otherpi\ldots
+% \texttt{piup}, \texttt{uppi}, \texttt{otherpi}\ldots
% However, installing such a Greek letters package will modify
% all the other Greek letter glyphs.
% ^^A even if, except for pi, they will be in italics.
@@ -482,7 +341,7 @@
% providing the same glyph.
% The following table summarizes the available options.
% When a key is given without a value, |\pinumber| will choose a default value
-% specified in the following text (depending on the key).
+% specified in the text list following the table.
%
% \begin{center}
% \setlength{\extrarowheight}{1pt}
@@ -556,18 +415,18 @@
% (based on Palatino),
% \texttt{txfonts} (based on Times)
% are booleans whose default value is \texttt{true} (when called).
-% The \texttt{txfonts} option yields the same glyph than \texttt{lgrmath=txr}.
+% The \texttt{txfonts} key yields the same glyph than \texttt{lgrmath=txr}.
%
% \end{itemize}
% \end{enumerate}
%
-% The \textsf{unicode-math} package~\cite{UNIC} provides |\uppi|, and you can use
+% The \textsf{unicode-math} package~\cite{UNIC} provides |\uppi|, so you can use
% |\pinumber[uppi]| to produce automatic upright pi in the selected math font,
-% but |\pinumber[uppi]| must be called \emph{after} \mbox{\textsf{unicode-math}},
-% and a math font must have been explicitly chosen with |\setmathfont|.
-% You can also use the \texttt{fontspec} key option to obtain pi in any font
-% that is supported by \mbox{\textsf{unicode-math}} \eg
-% |\pinumber[fontspec=STIX Two Math]|.
+% but a math font must have been explicitly chosen with |\setmathfont|.
+% You can also use the \texttt{fontspec} key option,
+% \eg |\pinumber[fontspec=STIX Two Math]|,
+% to obtain pi in any font
+% that is supported by \textsf{unicode-math}.
%
% For other fonts, it can be quite complicated to make Greek letters packages
% work with \textsf{unicode-math}. In any case, such a package must be loaded
@@ -616,7 +475,7 @@
% \DescribeMacro{\boldvect}
% The |\vect| macro allows vector names to be typeset using bold italic font,
% as recommended by ISO~\cite{NIST}~\cite{SI}, instead of using arrows.
-% By using the |\boldvect| command, you can modify the behavior of |\vect|
+% To achieve this, call the |\boldvect| command, it will modify the behavior of |\vect|
% locally or globally, depending on its placement in the document (inside or outside
% a group or an environment):\\[2ex]
% \begin{minipage}{8cm}
@@ -639,16 +498,16 @@
% \textsf{isomath} with |\mathbfit|
% or \textsf{bm} with the |\bm| command;
% \textsf{unicode-math} provides the |\symbfit| command.
-% To use an alternative command instead of |\boldsymbol| in \textsf{mismath},
+% To use an alternative command instead of |\boldsymbol| in \mbox{\textsf{mismath}},
% redefine |\boldvectcommand|,
-% for instance after loading \textsf{fixmath}:
+% for instance if \textsf{fixmath} is loaded:
%
% \medskip
% \centeredline{|\renewcommand\boldvectcommand{\mathbold}|}
%
% \medskip
% According to ISO rules, symbols for matrices are also in bold italic.
-% Therefore you can use the same |\boldvect| command or create another alias.
+% Therefore you can also use |\vect| with |\boldvect| for matrices, or create another alias.
%
% \medskip
% \DescribeMacro{\arrowvect}
@@ -663,7 +522,7 @@
% When vectors with arrows are typeset side by side,
% the arrows can be set up slightly higher using |\hvect|
% (which places a vertical phantom box containing `$A$')
-% to avoid inelegant effects. For example, writing
+% to prevent inelegant effects. For example, writing
% \begin{itemize}
% \item $\vect{AB}=\hvect{u} + \vect{AC}$, obtained with |\hvect{u}|,
% looks better than $\vect{AB}=\vect{u}+ \vect{AC}$;
@@ -696,7 +555,7 @@
% for adaptive delimiters. Unfortunately, these delimiters
% are always vertically centered, relatively to the mathematical center line,
% whereas vectors with arrows are asymmetric objects.
-% The code |$\norm{\vec{h}}$| raises a smaller double bar to produce $\norm{\vec{h}}$
+% The code |$\norm{\vec{h}}$| raises the double bar to produce $\norm{\vec{h}}$
% instead of $\Vert\vec{h}\Vert$ or $\left\Vert \vec{h} \right\Vert$.
% Let's notice that the height of the bars don't adjust to content,
% but however to context: main text, subscripts or exponents,
@@ -745,6 +604,27 @@
% The command |\di| can also represent the \emph{distance}, hence its name:
% \[\di(u, \cmmathcal{H}) = \frac{\abs{\langle u,v\rangle}}{\lVert v \rVert}.\]
%
+% \DescribeMacro{\opDelta} \DescribeMacro{\opdelta}
+% Two other `difference' operators allow for expressing variations ($\opDelta$)
+% or small variations ($\opdelta$).
+% They are obtained using the |\opDelta| and |\opdelta| commands.
+% \begin{align*}
+% \opDelta f \approx \opDelta h = f'(x_0) \opDelta x &&
+% \frac{\opdelta T}{T}=\frac{1}{2}\frac{\opdelta l}{l} &&
+% h= \opdelta x\opdelta y
+% \end{align*}
+%
+% Like |\di|, these operators use specific spacing and are typeset using
+% the upright Greek letters given by |\updelta| and |\upDelta|.
+% By default |\upDelta| is an alias for |\Delta| (which is supposed to be in upright shape);
+% |\updelta| is not provided by \textsf{mismath} but can be obtained with
+% other packages such as \textsf{mathgreeks}~\cite{MGREEK},
+% \mbox{\textsf{unicode-math}}~\cite{UNIC},
+% or as an alias for the upright delta provided by other fonts
+% \footnote{With \textsf{fourier} (without the \texttt{upright} option) we have used
+% \texttt{\string\let\string\updelta\string\otherdelta}.}.
+%
+% \pagebreak
% \DescribeMacro{\P} \DescribeMacro{\E}
% To refer to probability
% \footnote{\LaTeX\ provides also \texttt{\string \Pr} which gives $\Pr$.}
@@ -754,7 +634,7 @@
%
% \medskip
% \DescribeMacro{\Par}
-% The |\P| command already existed to refer to the end of paragraph symbol \Par\
+% The |\P| command already existed to refer to the `end of paragraph' symbol (\Par)
% and has been redefined, but this symbol can still be obtained with |\Par|.
%
% \medskip
@@ -762,17 +642,16 @@
% Variance is generally denoted by $\var$ or $\Var$ (see the following table),
% but some authors prefer to use $\V$, which can be produced using |\V|.
%
-% \pagebreak
% \DescribeMacro{\MathProba}\DescribeMacro{\MathNormal}
% As for $\e$, $\i$ or $\j$, you can use |\MathUp{P}|, |\MathUp{E}|
% or |\MathUp{V}| to avoid typing many |\P|, |\E| or |\V|.
% However you can also achieve this in a single command with |\MathProba|,
% for example |\MathProba{PE}|. We get the inverse toggle with
-% |\MathIt| for any individual letter or |\MathNormal| for a list.
+% |\MathIt| for any individual letter or |\MathNormal| for a comma-separated list.
%
% \medskip
% \DescribeMacro{\probastyle}
-% Some authors use ``outline'' font shape to represent probability, expectation
+% Some authors use double-struck font shape to represent probability, expectation
% and variance: $\mathbb{P}, \mathbb{E}, \mathbb{V}$.
% The |\probastyle| macro sets the appearance of |\P|, |\E| and |\V|.
% For instance |\renewcommand\probastyle{\mathbb}|
@@ -780,7 +659,7 @@
% in which it is used.}
% brings the double-struck letters.
% The |\mathbb| command is provided by \textsf{amsfonts} package
-% (which needs to be called in the preamble), but also by other complete math font
+% (which needs to be loaded in the preamble), but also by other complete math font
% packages such as \textsf{mathdesign}, \textsf{kpfonts}, \textsf{fourier},
% \textsf{unicode-math}\ldots
% \hypertarget{nofunction}{}
@@ -829,8 +708,8 @@
%
% \DescribeMacro{[nofunction]}
% Some may find that the definition of all these operators and functions is not useful
-% for their needs. So, the above definitions (on this page)
-% can be disabled with the \texttt{nofunction} option.
+% for their needs. So, the definitions of standard operators and functions in both
+% previous tables can be disabled with the \texttt{nofunction} option.
% \hypertarget{classicReIm}{}
%
% \medskip
@@ -841,7 +720,6 @@
% Nevertheless, it is still possible to obtain the old symbols
% with |\oldRe| and |\oldIm|.
%
-% \medskip
% \DescribeMacro{[otherReIm]}
% An alternative notation $\Re$, $\Im$ is provided by invoking the \texttt{otherReIm}
% package option,
@@ -874,9 +752,9 @@
% \DescribeMacro{\mathset}
% The |\mathset| command enables you to change the behavior
% of all these macros in a global way.
-% By default, |\mathset| is an alias for |\mathbf|, but if you prefer outline letters,
-% you can simply use |\renewcommand\mathset{\mathbb}| (with local effect when
-% inside an environment or a pair of curly braces).
+% By default, |\mathset| is an alias for |\mathbf|, but if you prefer double-struck letters,
+% you can simply use |\renewcommand\mathset{\mathbb}| (with local effect within
+% an environment or a pair of curly braces).
%
% \smallskip
% \DescribeMacro{\onlymathC}
@@ -894,7 +772,7 @@
%
% \medskip
% Symbols with limits behave differently for in-line formulas or for displayed equations.
-% In the latter case, ``limits'' are placed under or above the symbol
+% In the latter case, `limits' are placed under or above the symbol
% whereas for in-line math mode,
% they are placed on the right, as a subscript or exponent. Compare:
% $\zeta(s)=\sum_{n=1}^{\infty }\frac{1}{n^s}$ with
@@ -905,9 +783,9 @@
% With in-line math mode, displaymath can be forced with |\displaystyle|
% or its alias |\ds|. However, when using these commands, all the rest of the current
% mathematical environment will be set in displaymath mode
-% (as shown in the previous example, where the fraction will be expanded).
+% (as shown in the previous example, where the fraction is expanded).
% To limit the display style effect to the affected symbol only,
-% similar the the \textsf{amsmath} command |\dfrac|,
+% similar to the \textsf{amsmath} command |\dfrac|,
% we can use the following macros:
% |\dlim|, |\dsum|, |\dprod|, |\dcup|, |\dcap|.
% So
@@ -969,13 +847,16 @@
% \DescribeMacro{\iif}
% |\iif| is an alias for ``\iif'', to be used in text mode.
%
+% \medskip
+% \DescribeMacro{\then}
+% This macro produces the symbol $\Longrightarrow$ surrounded by large spaces,
+% like the standard macro |\iff| does it with $\Longleftrightarrow$.
+% It's just an alias for the \textsf{amsmath} |\implies| macro.
+%
% \subsection{Improved spacing in mathematical formulas}
%
-% \DescribeMacro{\then}
-% The |\then| macro produces the symbol $\Longrightarrow$ surrounded by large spaces
-% just like the standard macro |\iff| does it with $\Longleftrightarrow$.
-% Similarly, the |\txt|, \DescribeMacro{\txt}
-% based on the |\text| macro from the \textsf{amstext} package
+% \DescribeMacro{\txt}
+% The |\txt| macro, based on |\text| from the \textsf{amstext} package
% (loaded by \textsf{amsmath}),
% leaves em quad spaces (|\quad|) around the text. See the following example:
% \begin{center}
@@ -988,76 +869,82 @@
% The multiplication symbol obtained with |\times| produces the same spacing as addition
% or subtraction operators, whereas division obtained with $/$ is closer to its operands.
% This actually hides the priority of multiplication over $+$ and $-$.
-% That's why we provide the |\mul| macro, behaving like $/$
-% (ordinary symbol) and leaving less space around than |\times|:
+% That's why we provide the |\mul| macro, to avoid the large space surrounding |\times|:
% \begin{center}
% $\lambda+\alpha \mul b-\beta \mul c$, obtained with |\mul|,
% looks better than $\lambda+\alpha \times b-\beta \times c$.
% \end{center}
%
-% When using |\mul| before a function name or around a |\left...\right| structure,
-% the space may be too large on one side of |\mul|.
-% To ensure the same amount of space on both sides,
-% you can use thin negative spaces |\!|
-% or enclose the function or structure with braces:
+% Using |\mul| before a function name works also fine (since v3.1) without the need
+% of curly braces to avoid the additional space before the operator name:
+% |$x\mul\sin x$| yields $x\mul{\sin x}$.
+%
+% \medskip
+% When using a |\left| \ldots |\right| structure,
+% \TeX\ sets additional surrounding space in some situations.
+% The \textsf{mleftright}~\cite{MLR} package, loaded by \textsf{mismath},
+% offers the variants |\mleft| and |\mright|
+% to address these spacing issues of inner formulas.
+% It also provides the |\mleftright| macro that redefines |\left| as |\mleft|
+% and |\right| as |\mright|.
+%
% \begin{center}
-% $x\mul{\sin x}$, obtained with |x\mul{\sin x}|, is slightly better than $x\mul\sin x$;\\[1ex]
-% |$\sin\!{\left( \frac{\pi}{3} \right)} \mul 2$|\\
-% yields $\sin\!{\left(\frac{\pi}{3}\right)}\mul 2$, which looks better than
-% $\sin\left(\frac{\pi}{3}\right)\mul 2$.
+% Compare $\sin\left(\frac{\pi}{3}\right)\mul 2$ with
+% $\sin\mleft(\frac{\pi}{3}\mright)\mul 2$ obtained with
+% |$\sin\mleft(\frac{\pi}{3}\mright)}\mul 2$|.
% \end{center}
-% The negative thin space after the function name is not related to |\mul|,
-% but to the ``excessive'' spaces around the |\left... \right| structure.
%
-% \medskip
% \DescribeMacro{\pow}
% In the same way, when typesetting an exponent after a closing \emph{big}
% parenthesis produced by |\right)|,
% the exponent appears to be a little to far from the parenthesis.
% To address this issue, the |\pow|\marg{expr}\marg{pow} command is provided
% \footnote{This macro gives bad results with \emph{normal-sized} parenthesis.},
-% which sets the positioning of the exponent \meta{pow}
+% which places \meta{expr} in a pair of parenthesis and
+% sets the positioning of the exponent \meta{pow}
% slightly closer to the right parenthesis.
% Compare:
% \[ \e^a =\lim_{n \to +\infty}\pow{1+\frac{a}{n}}{n}
% \txt{obtained with \texttt{\string \pow}, rather than}
% \e^a =\lim_{n \to +\infty}\left(1+\frac{a}{n}\right)^{n}.\]
%
-% \DescribeMacro{\abs}
-% The correct typesetting of absolute value (or modular for a complex number) is achieved
-% using |\lvert| \ldots |\rvert|, rather than $\mid$, as the latter doesn't maintain
-% proper spacing in some situations (when a sign follows the open delimiter).
-% For bars whose height has to adapt to the content,
-% we can use |\left\vert| \ldots |\right\vert| or, more simply,
-% the |\abs|\{\ldots\} command, which is equivalent
+% \DescribeMacro{\abs} \DeleteShortVerb{\|}
+% The \cs{abs} command typesets the absolute value while properly managing the spacing,
+% which \texttt{|}\ldots\texttt{|} does not. Compare $\abs{-x}$,
+% obtained with \cs{abs}, to $|-x|$ without.
+% Using the delimiters \cs{lvert} and \cs{rvert} presents another issue when
+% the absolute value follows a function name; \eg \verb@\ln\lvert x\rvert@ yields
+% $\ln \lvert x\rvert$
+% instead of $\ln\abs{x}$ (with \verb@\ln\abs{x}@).
+% Moreover, with \cs{abs}, the size of the delimiters adapts to the content
% \footnote{We could also define \texttt{\string \abs}
% using \texttt{\string \DeclarePairedDelimiter}
% from the \mbox{\textsf{mathtools}} package~\cite{TOOL}.}.
+% \MakeShortVerb{\|}
%
% \medskip
% \DescribeMacro{\lfrac}
% The |\lfrac| macro behaves like |\frac|
-% but with thicker spaces around the arguments,
-% making the corresponding fraction bar slightly longer. See the following examples:
+% but with additional spacing around the arguments,
+% making the corresponding fraction bar slightly longer.
+% This macro has an optional parameter |\lfrac|\oarg{space}\marg{num}\marg{denom}
+% to adjust the length of the fraction bar. The optional \meta{space} argument must be given
+% with \emph{math units} (\texttt{mu});
+% the default value is \texttt{7mu} (equivalent to |\:\,|).
+% See the following examples;
+% the last one is obtained with |\lfrac[4mu]{1}{\sqrt{x}}|.
% \[ \lbar{Z} = \lfrac{\lbar{z_1-z_2}}{\lbar{z_1+z_2}} \qquad
% u(x)= \lfrac{\frac{1-2x}{5}}{x^2+1} \qquad
% y'+xy=\lfrac[4mu]{1}{\sqrt{x}}
% \]
-%
-% This macro has an optional parameter |\lfrac|\oarg{space}\marg{num}\marg{denom}
-% to adjust the length of the fraction bar. The optional \meta{space} argument must be given
-% in \emph{math units} (\texttt{mu});
-% the default value is \texttt{7mu} (equivalent to |\:\,|),
-% \texttt{4mu} in the last example.
% \hypertarget{ibrackets}{}
%
-% \medskip
% \DescribeMacro{[ibrackets]}
% Open intervals are commonly represented with parenthesis, \eg $(0, +\infty)$,
% but sometimes square brackets are used, especially in French mathematics: $]0, +\infty[$.
-% In that specific case, the space around the square brackets is often inappropriate,
+% In that case, the space around the square brackets is generally inappropriate,
% as in the expression $x \in \mathclose{]} 0, +\infty[$.
-% To address this issue, we have redefined the brackets in the \textsf{ibrackets}
+% To address this issue, we have redefined the brackets in the \mbox{\textsf{ibrackets}}
% package~\cite{BRACKET}.
% This one can be optionally
% loaded by \textsf{mismath} using the \texttt{ibrackets} package option.
@@ -1107,7 +994,7 @@
% However, in the math mode of \LaTeX, the comma is always, by default,
% treated as a punctuation symbol and therefore is followed by a space.
% This is appropriate in intervals: |$[a,b]$| results in $[a,b]$,
-% but is not appropriate for numbers where the comma represents the decimal separator.
+% but not for numbers where the comma represents the decimal separator.
% For example, |$12,5$| is displayed as $12, 5$ instead of $12{,}5$.
%
% Two very convenient packages allow handling the decimal comma in math mode:
@@ -1143,15 +1030,15 @@
% \DescribeMacro{\systemsep}
% This first example could also have been achieved using the \texttt{cases} environment
% from the \textsf{amsmath} package, although \texttt{cases} places mathematical expressions
-% closer to the bracket.
-% The |\systemsep| length allows you to adjust the gap between
-% the bracket and the expressions.
+% closer to the curly brace.
+% The |\systemsep| length allows to adjust the gap between
+% the bracket and the math expressions.
% By default, the gap is set to |\medspace|. You can reduce this gap by redefining
-% the command, \eg: |\renewcommand{\systemsep}{\thinspace}|.
-% Alternatively you can increase the gap using |\thickspace|
-% and the same spacing as of the \texttt{cases} environment
-% is obtained with |\renewcommand\systemsep}{}|.
-% The |\systemsep| command allows for greater flexibility in adjusting the spacing
+% the command, \eg |\renewcommand{\systemsep}{\thinspace}|.
+% Alternatively you can increase the gap using |\thickspace|;
+% the same spacing as of the \texttt{cases} environment
+% being obtained with |\renewcommand\systemsep}{}|.
+% So the |\systemsep| command allows for greater flexibility in adjusting the spacing
% within the \texttt{system} environment.
%
% \medskip
@@ -1179,7 +1066,7 @@
% The default spacing between the lines of a \texttt{system} environment has been slightly
% enlarged compared to the one used in \texttt{array} environments (using a factor of 1.2).
% This can be adjusted by using
-% |\renewcommand{\systemstretch}|\marg{stretch}, where \meta{stretch} is the desired value
+% |\renewcommand{\systemstretch}|\marg{stretch}, where \meta{stretch} is the desired factor
% for the spacing. You can place this command
% inside the current mathematical environment for a local change, or outside
% for a global change. The default value for is 1.2.
@@ -1241,7 +1128,7 @@
% as shown in the following example.
% However, to use this feature, the \textsf{multicol} package must be loaded in the preamble.
% The \texttt{mathcols} environment activates mathematical mode
-% in display style and uses an \texttt{aligned} environment.
+% in display style and uses the \texttt{aligned} environment (from \textsf{amsmath}).
% \begin{mathcols}
% & \frac{1}{2 \mul {\pow{\frac{1}{4}}{n}} + 1} \geq 0.999 \\
% \iff\ & 1 \geq 1.998 \pow{\frac{1}{4}}{n} + 0.999 \\
@@ -1293,6 +1180,7 @@
% \end{tabular}
% \end{center}
% \StopEventually{}
+%
% \section{Implementation}
%
% We load certain packages conditionally to avoid 'option clash' errors in cases
@@ -1314,6 +1202,7 @@
%\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
\@ifpackageloaded{mathtools}{}{\RequirePackage{mathtools}}
\@ifpackageloaded{esvect}{}{\RequirePackage[b]{esvect}}
+\RequirePackage{mleftright}
\RequirePackage{ifthen}
\RequirePackage{xparse} % provides \NewDocumentCommand, now in LaTeX3
\RequirePackage{xspace} % for \iif command
@@ -1369,7 +1258,7 @@
% \DescribeMacro{\mm@warning} \DescribeMacro{\mm@macro} \DescribeMacro{\mm@operator}
% The next three internal macros serve as meta commands for
% conditionally defining macros while providing a warning message if the macro already exists.
-% These macros can be useful in other packages as well.
+%
% \medskip
% \begin{macrocode}
\newcommand\mm@warning[1]{
@@ -1395,7 +1284,7 @@
% This command also works fine with other sans serif fonts like \textsf{cmbright}.
%
% Moreover for \textsf{beamer}, which changes the default font family (to sans serif),
-% |\e|, |\i|, |\j| have no effect without |\AtBeginDocument|.
+% |\e|, |\i|, |\j| have no effect without |\AtBeginDocument| and
% |\AtBeginDocument| is also necessary to redefine |\i| when calling
% the \textsf{hyperref} package which overwrites the |\i| definition.
% \medskip
@@ -1411,15 +1300,15 @@
% \end{macrocode}
%
% \DescribeMacro{\MathFamily}
-% The following macros |\MathUp| and |\MathIt| are switches that transform
+% The following macros |\MathUp| and |\MathIt| are toggles that transform
% any chosen letter in math mode to roman or italic style.
-% These switches can be used anywhere in the document or preamble.
+% These switches can be used anywhere in the document or the preamble.
% They are based on the generic macro |\MathFamily|.
% To obtain a letter in roman style instead of italic, we need to change the
% mathcode digit that represents the font family: 1 to 0.
%
% For example, except for \LuaLaTeX, mathcode of the `e' letter is:
-% `e="7165 (decimal 29029), with the second digit `1' indicating ``italic'' style.
+% e="7165 (decimal 29029), with the second digit `1' indicating ``italic'' style.
% To get a roman `e', we need to change its mathcode to "7065.
%
% When used in the preamble, we call |\MathFamily| by |\AtBeginDocument|
@@ -1531,7 +1420,7 @@
% Let its author, Petr Ol\v{s}ák, be thanked.
% This macro allows to accomplish tasks that
% usual loop instructions like |\@for| or |\foreach| cannot achieve due to
-% errors like ``!~Improper alphabetic constant''.
+% errors like ``\texttt{!~Improper alphabetic constant}''.
% For instance, if you try |\def\letter{A} \MathUp{\letter}| it will fail
% because the control sequence |\letter| is not strictly
% equivalent here to the single character `A'.
@@ -1549,11 +1438,11 @@
% \end{macrocode}
%
-% The following commands were used until version 2.2 but still work.
-% They were intended to set some letters in upright shape
-% in math mode, but only worked in the preamble.
-% This is now managed by the more powerful |\MathUp| command, and
-% the old commands are maintained but as alias for |\MathUp|.
+% The following commands were used originally (until version 2.2)
+% to set the math letters e, i or j in upright shape,
+% but only worked in the preamble.
+% This is now managed by the more powerful |\MathUp| command, but
+% the old commands are maintained as alias for |\MathUp|.
% \medskip
%
% \begin{macrocode}
@@ -1564,7 +1453,7 @@
% \end{macrocode}
%
% Obtaining an upright Greek letter $\pi$ must be handled differently.
-% The switches are called |\pinumber| and |\pinormal|
+% The toggles are called |\pinumber| and |\pinormal|
% and can be used anywhere in the document.
%
% But |\pinumber| must be called first in the preamble with an optional argument.
@@ -1573,11 +1462,11 @@
% Compatibility with \textsf{unicode-math} is a bit tricky!
% When given without an argument in the preamble,
% |\pinumber| uses an LGR font encoding called \texttt{lmr}.
-% A new feature (v2.11) is to use |\pinumber| with a keyval option to
+% A new feature (v2.11) for |\pinumber| is provided with keyval options to
% use many other Greek pi letters without loading
% a whole package, thus without altering the other (italic) Greek letters.
% We achieve this with |\DeclareSymbolFont| and |\DeclareMathSymbol|.
-% We just have to know the ``name'' of the desired symbol font.
+% We just have to know the `name' of the desired symbol font.
%
% \medskip
% \begin{macrocode}
@@ -1722,28 +1611,28 @@
% \end{macrocode}
% When |\pinumber|\oarg{keyval} has been called, you can also get
-% some other mathematical constants using Greek letters,
+% some other mathematical constants using Greek letters in the same font (\texttt{mmupgr})
% \eg $\othergamma$, the Euler-Mascheroni constant:
% \begin{verbatim}
% \let\gamma\relax
% \DeclareMathSymbol{\gamma}{\mathord}{mmupgr}{"0D}
% \end{verbatim}
% \vspace{-2ex}
-% If \textsf{unicode-math} is used, you must put these commands in
+% If \textsf{unicode-math} is used, you must put these commands inside
% |\AtBeginDocument|.
% The hexadecimal code |"0D| depends on the option passed to |\pinumber|
-% in the preamble (see the command |\pifonts| above and search in package docs). \\
+% in the preamble (see the command |\pifonts| above and search in package docs).
% And to get the golden ratio $\othervarphi$:
% \begin{verbatim}
-% \let\phi\relax
+% \let\varphi\relax
% \DeclareMathSymbol{\varphi}{\mathord}{mmupgr}{"27}
% \end{verbatim}
% \vspace{-2ex}
-% To preserve the original $\gamma$ or $\varphi$,
+% I you want to preserve the original $\gamma$ or $\varphi$,
% you can define |\upgamma| or |\upvarphi| instead.
%
% \medskip
-% And now the commands for vectors and tensors.
+% Commands for vectors and tensors follow.
% \medskip
% \begin{macrocode}
\newboolean{arrowvect}
@@ -1774,9 +1663,48 @@
\newcommand{\tensor}{\mathbfsfit} % isomath uses \mathsfbfit
% \end{macrocode}
+%
+% `Operators', as for example common function names, are generally defined
+% using the |\DeclareMathOperator| command or |\operatorname| for occasional use.
+% Operators are then typeset in roman (upright) shape and with appropriate thin space
+% before and after the operator name.
+% However, for the `differential' operator d, no space should be left after it
+% to obtain, for example, `$\di x$' instead of `$\operatorname{d} x$'.
+%
+% \medskip
+% Two other operators, suggested by `quark67', representing differences
+% or variations are defined by the macros |\opDelta| and |\opdelta|.
+% They use the Greek letters $\upDelta$ and $\updelta$ with appropriate spacing,
+% similar to |\di|.
+% By default |\upDelta| will be an alias for |\Delta|.
+% Generally, the uppercase Delta is upright
+% unless a package is loaded to change this, but the lowercase delta
+% is italic by default.
+%
+% To use the |\opdelta| macro, it is therefore necessary
+% to load a package that provides the lowercase delta in upright shape,
+% such as \textsf{mathgreeks} or \textsf{unicode-math},
+% or you can use the same symbol font \texttt{mmupgr} as seen above for the upright pi
+% (if |\pinumber|\oarg{keyval} has been called previously).
+% So you could get the upright delta with:
+% \begin{verbatim}
+% \DeclareMathSymbol{\updelta}{\mathord}{mmupgr}{"0E}
+% \end{verbatim} \vspace{-2ex}
+% The hexadecimal code |"0E| depends on the option passed to |\pinumber|.
+% If you have loaded a package that provides upright shapes of Delta and delta,
+% it may be necessary to create new aliases for |\upDelta| or |\updelta|,
+% \eg |\let\updelta\|\meta{mydelta}.
+% \begin{macrocode}
+\mm@macro{di}{\operatorname{d}\mathopen{}}
+\mm@macro{upDelta}{\Delta}
+\mm@macro{opDelta}{\operatorname{\upDelta}\mathopen{}}
+\mm@macro{opdelta}{\operatorname{\updelta}\mathopen{}}
+% \end{macrocode}
+% For the field of probability, we provide the macros |\P|, |\E|, and |\V|,
+% which are defined as operators. They are typeset in normal roman font,
+% but can be changed to double-struck style (or another style) if desired.
% \begin{macrocode}
-\mm@macro{di}{\mathop{}\!\mathup{d}}
\newcommand\probastyle{}
\let\Par\P % end of paragraph symbol
\renewcommand{\P}{\operatorname{\probastyle{P}}}
@@ -1790,7 +1718,7 @@
}
% \end{macrocode}
-% Classic identifiers are presented below. They will be defined only
+% Classic operators or function identifiers are presented below. They will be defined only
% if the option \texttt{nofunction} has not been activated.
% \medskip
% \begin{macrocode}
@@ -1840,13 +1768,13 @@
%
% The |\mathcal| alphabet, from the original Computer Modern font family,
% is used here to produce $\Re$, $\Im$ and $\bigO$.
-% Several font packages redefines this alphabet producing glyphs that may seem less
+% Several font packages redefine this alphabet producing glyphs that may seem less
% suitable for the commands below.
% We have therefore retained the original |\cmmathcal| math alphabet,
% which can be used for other letters.
% If \textsf{unicode-math} is called, it will redefine the commands |\Re| and |\Im|
-% in |\AtBeginDocument|, hence the use of `|\AtEndPreamble{\AtBeginDocument{|'
-% to ensure that the \textsf{mismath} redefinition occur after the actions
+% in |\AtBeginDocument|, hence the use of |\AtEndPreamble{\AtBeginDocument{|\ldots
+% to ensure that the \textsf{mismath} redefinitions occur after the actions
% of \textsf{unicode-math}.
%
% \begin{macrocode}
@@ -1880,24 +1808,23 @@
% \end{macrocode}
% And finally we present the remaining macros.
%
-% With Cyrillic languages, the command |\C| may already be defined but only for text mode.
-% Thus, it will not be redefined by \textsf{mismath}. However, when activating
-% |\onlymathC|, you can to use our |\C| macro only for math mode,
+% With Cyrillic languages, the command |\C| may already be defined
+% but works only in text mode.
+% Then, it will not be redefined by \textsf{mismath}. However, the command
+% |\onlymathC| allows to use our |\C| macro in math mode,
% without interfering the definition of the text |\C| that is already defined.
%
% When using \XeTeX\ or \LuaTeX\ engines with the \textsf{hyperref} package,
% |\C| will be already defined and
-% you get the message "\texttt{Command \string\C\space unavailable in encoding TU}".
+% you get the message ``\texttt{Command \string\C\space unavailable in encoding TU}''.
% Therefore |\onlymathC| is automatically called in that case.
% \medskip
% \begin{macrocode}
\mm@macro{mathset}{\mathbf}
\mm@macro{R}{\mathset{R}}
-\AtBeginDocument{
- \@ifpackageloaded{hyperref}%
- {\iftutex\onlymathC\fi}% LuaTex or XeTeX engines
- {\mm@macro{C}{\mathset{C}}}
-}
+\mm@macro{C}{\mathset{C}}
+\AtBeginDocument{% \iftutex = LuaTex or XeTeX engines
+ \@ifpackageloaded{hyperref}{\iftutex\onlymathC\fi}{} }
\providecommand\onlymathC{\let\oldC\C
\renewcommand{\C}{\TextOrMath{\oldC}{\mathset{C}}} }
\mm@macro{N}{\mathset{N}}
@@ -1918,29 +1845,27 @@
\providecommand*{\hlbar}[1]{\overline{\vphantom{A}#1}}}{
\mm@warning{hlbar} }
\newcommand\@eqdef{\stackrel{\mathup{def}}{=}}
-\newcommand\@@eqdef{\stackrel{\mathrm{\Delta}}{=}}
+\newcommand\@@eqdef{\stackrel{\upDelta}{=}}
\mm@macro{eqdef}{\@ifstar{\@@eqdef}{\@eqdef}}
\mm@macro{unbr}{\underbrace}
\mm@macro{iif}{if and only if\xspace}
+\mm@macro{then}{\implies}
-% \end{macrocode}
-% Above, we have used |\mathrm| before |\Delta| in case of defining capital Greek letters
-% in italics (for example with the \textsf{fixmath} package).
-%
-% The use of |\mbox{}| ensures that the space produced by |\| in the |\then| macro
-% is not suppressed in tables.
-% \medskip
-% \begin{macrocode}
-\mm@macro{then}{\ \Longrightarrow \ \mbox{} }
\@ifundefined{txt}{
\providecommand*{\txt}[1]{\quad\text{#1}\quad} }{
\mm@warning{txt} }
-\mm@macro{mul}{\mathord{\times}}
+\mm@macro{mul}{\mathclose{}\mathord{\times}\mathopen{}}
\@ifundefined{pow}{
\providecommand*{\pow}[2]{\left( #1 \right)^{\!#2}} }{
\mm@warning{pow} }
+% \end{macrocode}
+% For |\abs|, the |\left...\right| structure is inserted within a pair of curly braces
+% to prevent incorrect spacing before the first delimiter when it follows a function name,
+% in cases where the package \textsf{mleftright} is used and activated.
+% This issue was pointed out by `quark67'.
+% \begin{macrocode}
\@ifundefined{abs}{
- \providecommand*{\abs}[1]{\left\vert#1\right\vert} }{
+ \providecommand*{\abs}[1]{{\left\vert#1\right\vert}} }{
\mm@warning{abs} }
\@ifundefined{lfrac}{
\providecommand*{\lfrac}[3][7mu]{%
@@ -1981,7 +1906,216 @@
}
% \end{macrocode}
%
-% \begin{thebibliography}{34}
+% \pagebreak
+% \section*{Change History}
+%
+% \begin{multicols}{2}\begin{raggedright}
+% \renewcommand\changes[3]{\item[#1 \ (#2)] \mbox{}\\ #3}
+% \setlength{\compactlistindent}{-1em}
+% \begin{list}{}{\setlength\labelwidth{1.4em}\setlength{\leftmargin}{2em}
+% \setlength{\parsep}{0pt}}
+%
+% \changes{v0.1}{2011/12/27}{First personal version.}
+%
+% \changes{v1.0}{2019/04/11}{Initial published version.}
+%
+% \changes{v1.1}{2019/04/20}{
+% Changing the default font for \cs{pinumber} from Euler to Symbol.}
+%
+% \changes{v1.2}{2019/04/27}{
+% \begin{compactlist}
+% \item commands \cs{enumber}, \cs{inumber}, \cs{jnumber} in \cs{AtBeginDocument}\\
+% \hand works fine with \textsf{beamer} now,
+% \item new general \cs{mm@operator} macro,
+% \item using \cs{mathup} instead of \cs{mathrm},
+% \item including \textsf{mathtools},
+% \item in \cs{DeclareSymbolFont} 'Roman' changed to 'up',
+% \item changes in the documentation,
+% \item replacing \cs{PEroman} by \cs{PEupright}.
+% \end{compactlist}}
+%
+% \changes{v1.3}{2019/05/08}{
+% \begin{compactlist}
+% \item using \cs{bslash} in the internal \cs{mm@warning} macro
+% to type out a control sequence whose name is given as parameter,
+% \item including the \textsf{mathfixs} package,
+% \item many corrections in the documentation.
+% \end{compactlist}}
+%
+% \changes{v1.4}{2019/05/22}{
+% In \cs{DeclareSymbolFont} 'up' chan\-ged to 'UpSh'
+% to prevent incompatibility with \textsf{unicode-math}.}
+%
+% \changes{v1.5}{2019/05/30}{
+% \begin{compactlist}
+% \item a solution for using \cs{mul} with \cs{frac} \hand use braces,
+% \item addition of the \cs{paren} macro.
+% \end{compactlist}}
+%
+% \changes{v1.6}{2019/09/06}{
+% Removing the \textsf{mathfixs} package because of problems with fractions.}
+%
+% \changes{v1.7}{2019/12/27}{
+% Adding a table of contents to the documentation.}
+%
+% \changes{v1.8}{2020/11/15}{
+% Small changes in the documentation, in particular
+% an incompatibility is mentioned when using `i' with accent in \textsf{beamer} titles:
+% (use \texttt{\textbackslash\textasciicircum i} instead of î).}
+%
+% \changes{v1.9}{2020/10/17}{
+% \begin{compactlist}
+% \item in \cs{DeclareSymbolFont} 'UpSh' replaced by 'operators'
+% \item\cs{PackageWarning} replaced by \cs{PackageWarningNoLine} for existing macros,
+% \item \cs{thickspace} replaces \cs{medspace} in \cs{lfrac},
+% \item changing the documentation font: from lmodern to Palatino (\textsf{mathpazo}).
+% \end{compactlist}}
+%
+% \changes{v1.10}{2020/10/25}{
+% \cs{pinumber} code updated to prevent incompatibility
+% with the new version of the \textsf{frenchmath} package
+% (in which the default 'upgreek' option has been changed from Symbol to Euler).}
+%
+% \changes{v2.0}{2022/11/11}{
+% \begin{compactlist}
+% \item enhancing \cs{pinumber} to use other Greek letters packages
+% (it is no longer compatible with the older),
+% \item \cs{paren} has been removed (useless),
+% \item \cs{hvect} and \cs{hlbar} have been slightly modified (\cs{phantom}\texttt{\{t\}}
+% instead of \cs{phantom}\texttt{\{h\}}),
+% \item several changes in the documentation
+% (now the Charter font is used, with the \textsf{mathdesign} package).
+% \end{compactlist}}
+%
+% \changes{v2.1}{2022/12/26}{
+% \begin{compactlist}
+% \item including the \textsf{ibrackets} package to improve
+% the management of square brackets,
+% \item new macros \cs{codim}, \cs{sinc}, \cs{var}, \cs{eqdef*},
+% \item removing the warning for the obsolete \cs{paren} command,
+% \item a small change in the \cs{norm} command (bars in small size),
+% \item several changes in documentation.
+% \end{compactlist}}
+%
+% \changes{v2.2}{2023/01/06}{
+% New option \texttt{ibrackets} to load the \textsf{ibrackets} package
+% \emph{optionally} because of errors
+% when using \cs{DeclarePairedDelimiter} with square brackets.}
+%
+% \changes{v2.3}{2023/02/09}{
+% Introducing keyval options as an alternative to \cs{enumber},
+% \cs{inumber}, \cs{jnumber}, \cs{PEupright},
+% and also for using ibrackets, \cs{boldvect} and \cs{arrowvect}.}
+%
+% \changes{v2.4}{2023/02/18}{
+% \begin{compactlist}
+% \item new powerful macros \cs{MathUp}, \cs{MathIt},
+% (and \cs{MathNumbers}, \cs{MathProba}, \cs{MathNormal}),
+% \item keyval options are no longer useful and have been removed,
+% \item loading the package \textsf{ifthen} has been forgotten in v2.3
+% (causing possible issues),
+% \item no more incompatibility when using `i' with accent in \textsf{beamer} titles.
+% \end{compactlist}}
+%
+% \changes{v2.5}{2023/02/23}{
+% \begin{compactlist}
+% \item unification of the code of \cs{MathUp} and \cs{MathIt},
+% \item a new powerful macro \cs{apply} is used in \cs{MathNormal} to act on a list,
+% \item new \cs{tensor} command.
+% \end{compactlist}}
+%
+% \changes{v2.6}{2023/03/01}{
+% \begin{compactlist}
+% \item bug fix in \cs{mm@macro},
+% \item solving incompatibility of the \cs{C} macro when using \textsf{babel} with Russian
+% (thanks to Murray Eisenberg for this bug report on TeX StackExchange),
+% \item \cs{mathrm} added in the macro \cs{eqdef*}.
+% \end{compactlist}}
+%
+% \columnbreak
+% \changes{v2.7}{2023/03/05}{
+% \begin{compactlist}
+% \item macros for sets of numbers (\cs{R}, \cs{C}\ldots) now available only in math mode
+% (following remarks by David Carlisle and Enrico Gregorio),
+% \item special warning when loading \textsf{babel} with Russian
+% (\cs{C} will not be defined in that case).
+% \end{compactlist}}
+%
+% \changes{v2.8}{2023/07/26}{
+% New macro \cs{onlymathC} designed for using \cs{C} in pmath mode
+% when Russian language is loaded.}
+%
+% \changes{v2.9}{2023/12/19}{
+% New option \texttt{decimalcomma}.}
+%
+% \changes{v2.10}{2024/02/20}{
+% \begin{compactlist}
+% \item better compatibility with \textsf{unicode-math}:
+% for the options \texttt{ibrackets}, \texttt{decimalcomma}
+% and the commands \cs{MathUp}, \cs{MathIt},
+% \item Explicit error message when using \texttt{mathcols}
+% without loading the \textsf{multicol} package.
+% \end{compactlist}}
+%
+% \changes{v2.11}{2024/02/26}{
+% \begin{compactlist}\setlength\compactlistindent{-0.5em}
+% \item enhancements of the \cs{pinumber} macro with keyval options:
+% \begin{compactlist}[\dash]
+% \item no necessity to load a Greek letters package,
+% \item improvements of compatibility with \textsf{unicode-math};
+% \end{compactlist}
+% \item changing the font to Adobe Utopia with the package \textsf{fourier}.
+% \end{compactlist}}
+%
+% \changes{v2.12}{2024/02/29}{
+% \begin{compactlist}
+% \item the \textsf{xparse} package has been removed by mistake in v2.11,
+% causing some compatibility issues, it is loaded again by \textsf{mismath},
+% \item improvements to make \cs{pinumber} work better with \textsf{unicode-math}.
+% \end{compactlist}}
+%
+% \changes{v3.0}{2024/03/15}{
+% \begin{compactlist}
+% \item rewriting the \cs{pinumber} command with a new \cs{pifonts} macro,
+% \item presenting other \texttt{lgrmath} values for \cs{pinumber} in the doc,
+% \item The \cs{C} macro is now inside \cs{AtBeginDocument},
+% \item \textsf{amsmath} isn't loaded explicitly because \textsf{mathtools} loads it,
+% \item bug fix with options \texttt{decimalcomma} and \texttt{ibrackets},
+% \item new option \texttt{nofunction} to lighten the package loading,
+% \item addition of macros \cs{coker} and \cs{Res} as standard operator names,
+% \item new option \texttt{classicReIm} to deactivate \cs{Im} and \cs{Re} redefinition,
+% \item new option \texttt{otherReIm} to provide an alternative writing
+% with \texttt{cmsy} font,
+% \item removing the \cs{PEupright} command,
+% \item additional space in the \cs{lfrac} macro increased from \texttt{\textbackslash:}
+% (5mu) to 7mu,
+% \item new optional parameter for adjusting the space in \cs{lfrac},
+% \item changing the \cs{vphantom} argument in \cs{hvect}, \cs{hvec} and \cs{lbar}
+% from `t' to `A', looks better.
+% \end{compactlist}}
+%
+% \changes{v3.1}{2024/06/16}{
+% \begin{compactlist}\setlength\compactlistindent{-0.5em}
+% \item adding a change history,
+% \item bug fix with the \cs{C} macro when using \textsf{hyperref} with
+% \LuaTeX{} or \XeTeX{} engines,
+% \item the $\upDelta$ produced in \cs{eqdef*} is now obtained with \cs{upDelta}
+% (\cs{mathrm}, used before, doesn't work generally),
+% \item several relevant suggestions and remarks by `quark67':
+% \begin{compactlist}[\dash]
+% \item new macros for variations \cs{opDelta} and small variations \cs{opdelta},
+% \item redefinition of \cs{then} as an alias for \cs{implies},
+% \item improvement of the \cs{abs} macro,
+% \item including the \textsf{mleftright} package;
+% \end{compactlist}
+% \item new implementation of \cs{di},
+% \item improvement of the \cs{mul} macro.
+% \end{compactlist}}
+%
+% \end{list}\end{raggedright}
+% \end{multicols}
+%
+% \begin{thebibliography}{35}
% \begin{raggedright}
% \bibitem{TYPMA} \emph{Typesetting mathematics for science and technology according
% to ISO 31/XI}, Claudio Beccari, TUGboat Volume 18 (1997), No.~1.
@@ -1997,6 +2131,7 @@
% \url{https://old.iupac.org/standing/idcns/italic-roman_dec99.pdf}.
% \bibitem{VECT} \emph{\textsf{esvect} -- Typesetting vectors with beautiful
% arrow with \LaTeXe}, Eddie Saudrais, CTAN, v1.3 2013/07/11.
+% \bibitem{MLR} \emph{The \textsf{mleftright} package}, Heiko Oberdiek, CTAN, v1.2 2019/12/03.
% \bibitem{TOOL} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen, CTAN,
% v1.29 2022/06/29.
% \bibitem{AMS} \emph{\textsf{amsmath} -- \AmS\ mathmatical facilities for \LaTeX},
diff --git a/macros/latex/contrib/mismath/mismath.pdf b/macros/latex/contrib/mismath/mismath.pdf
index fd41e6702c..79dc76ec46 100644
--- a/macros/latex/contrib/mismath/mismath.pdf
+++ b/macros/latex/contrib/mismath/mismath.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
index f0964659d8..e7f9b4a01a 100644
--- a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
+++ b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
index 2faced3b18..fc7e8a88f1 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
@@ -1,12 +1,11 @@
% !TEX encoding = UTF-8 Unicode
-% !BIB TS-program = biber
-% !BIB program = biber
+% !BIB TS-program = biber
% This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class.
%
-% Version: 1.11, 2023/11/02
+% Version: 1.14, 2024/07/19
%
-% Author: John H. Lienhard, copyright 2023. Reuse under the MIT license: https://ctan.org/license/mit
+% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit
% Documentation is here: https://ctan.org/pkg/mitthesis
@@ -16,8 +15,11 @@
pdfstandard = a-2b,
pdfversion = 1.7,
lang = en-US,
-% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata
+% pdfversion = 2.0,
+% pdfstandard = a-4,
+% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[twoside]{mitthesis} %,fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2
@@ -26,9 +28,9 @@
% option [lineno] provides line numbers, as for editing
% option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults.
% option [fontset] is a keyvalue which can be:
-% pdftex or unicode engines: defaultfonts, libertine, lucida
-% pdftex only: fira-newtxsf, newtx, newtx-sans-text
-% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
+% for pdftex or unicode engines: defaultfonts, libertine, lucida
+% for pdftex only: fira-newtxsf, newtx, newtx-sans-text
+% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font".
% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts].
% If you are using multiple languages, load the babel package in your fontset file, before the fonts.
@@ -39,12 +41,23 @@
\usepackage{listings}% documentation is here https://ctan.org/pkg/listings
%% Set chemical formulas nicely
-\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem
+\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem
-%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum
+%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum)
\usepackage{lipsum}
\IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{}
+%% Table related packages
+
+\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs)
+
+\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array)
+
+%\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn)
+% \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package
+
+%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx)
+
%%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -56,8 +69,17 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
+
+%% IEEE style citations and references
+% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
+% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL"
+
+%% author-year style citations and references
+%% use \parencite, not \cite, when you want "(Author, year)"
+%% The sample files are not set up to include parentheses.
+% \usepackage[style=authoryear, maxbibnames=10]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE
@@ -65,9 +87,11 @@
%% to avoid split urls and stretched white space, you can set the bibliography ragged-right:
%\appto{\bibsetup}{\raggedright}
-% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs.
-% documentation is here: https://ctan.org/pkg/biblatex
+%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs.
+%% documentation is here: https://ctan.org/pkg/biblatex
+%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf
+%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again
%%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -79,19 +103,9 @@
%%% You can use this to rename the bibliography section
%\renewcommand{\bibname}{References}
-%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue")
+%%% To adjust space between bibliography items
%\setlength\bibsep{4pt plus 1pt minus 1pt}
-
-
-%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs
-\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array
-
-%\usepackage{tabularx}% https://ctan.org/pkg/tabularx
-
-%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn
-%\newcolumntype{d}[1]{D{.}{.}{#1}}
+% change 4pt to something else; don't drop last two lengths (they are stretchable "glue")
%%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -107,13 +121,13 @@
% \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace
% \setstretch{1.1}% you can choose some other value for the stretch of space between lines
%
-%% Use one or more of the these commands AFTER the frontmatter
+%% Use one or more of the these commands *AFTER* the frontmatter
%
% \onehalfspacing
% \doublespacing
% \singlespacing % will turn these effects off (you can use these anywhere in the document)
-%% The best result may be to stay with leading selected by the typographer who set up the font.
+%% The best result is usually to stay with leading selected by the typographer who set up the font.
%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,7 +142,7 @@
pdfkeywords={Massachusetts Institute of Technology, MIT},
% Add keywords that will help search engines and libraries to find your work.
% Includes the name[s] of the author[s]
- % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.)
+ % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.)
%
pdfurl={},
% If you have a url for the thesis, put it here. Otherwise delete this.
@@ -162,29 +176,31 @@
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
-% \Degree{Bachelor of Science in Physics}{Department of Physics}
-% \Degree{Master of Science in Physics}{}
-\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering}
+\Degree{Bachelor of Science in Physics}{Department of Physics}
+%\Degree{Master of Science in Physics}{}
+%\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering}
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
+% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else}
% \Supervisor{Secunda Castor}{Professor of Research}
% \Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
-% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.**
- \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
+ \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{}%{Undergraduate Officer, Department of Physics}
% \Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
+%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}.
% Usage: \DegreeDate{Month}{year}
-% Valid degree months are September, February, or June
+% Valid degree months are February, May, June, or September
\DegreeDate{June}{1876}
% Date that final thesis is submitted to department
\ThesisDate{May 18, 1876}
+
%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% If you are using a cc license, put details of your cc license here.
@@ -208,33 +224,34 @@
% (c) you can put the acceptor name and title onto two lines, rather than three like this:
%
% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}
-% \Acceptor{Quarta Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
%
-% (d) you can change the font size of the the author name[s] with
+% (d) you can change the font size of the author name[s] with
%
% \AuthorNameSize{\normalsize}
%
-% (e) and you can omit any previous degrees from the title page, instead mentioning them in the Biosketch
+% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch
% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you
-% can you this command to squash all of the vertical glue (stretchy space) with this command:
+% can use this command to squash all of the vertical glue (stretchy space) with this command:
%
% \Squash
%
% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically
% when the page is too full.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make titlepage
\maketitle
-%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...}
-% for usage, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html
+% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html
-%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The abstract environment creates all the required headings and footers.
% You only need to the text of the abstract in the file abstract.tex
@@ -242,24 +259,22 @@
\input{abstract.tex}% use \input rather than \include because we're inside an environment
\end{abstract}
-\include{acknowledgments}% .tex extension is presumed by \include
-
-\include{biography}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format
+\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include)
+\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format)
-%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%%
+%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%%
\tableofcontents
\listoffigures
\listoftables
-
%%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% If you want to use "double spacing", you should start here...
\include{chapter1}% .tex extension is presumed
-%\include{chapter2}
+% \include{chapter2}
%\include{chapter3}
%\include{chapter4}
@@ -270,9 +285,13 @@
\include{appendixa}
-%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
-\printbibliography[title={References},heading=bibintoc]
+\printbibliography[title={\refname},heading=bibintoc]
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
index a1ceaacffd..de4fcfd51d 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
@@ -1,11 +1,11 @@
%% acknowledgments.tex
% From mitthesis package
-% Version: 1.01, 2023/10/16
+% Version: 1.02, 2024/06/19
% Documentation: https://ctan.org/pkg/mitthesis
-
\chapter*{Acknowledgments}
-\addcontentsline{toc}{chapter}{Acknowledgments}
+\pdfbookmark[0]{Acknowledgments}{acknowledgments}
+
Write your acknowledgments here.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
index 30e4784525..6148c2f133 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
@@ -2,11 +2,12 @@
%% This section is optional
% From mitthesis package
-% Version: 1.01, 2023/10/16
+% Version: 1.02, 2024/06/19
% Documentation: https://ctan.org/pkg/mitthesis
\chapter*{Biographical Sketch}
-\addcontentsline{toc}{chapter}{Biographical Sketch}
+\pdfbookmark[0]{Biographical Sketch}{biosketch}
+
Silas Whitcomb Holman was born in Harvard, Massachusetts on January 20, 1856. He received his S.B. degree in Physics from MIT in 1876, and then joined the MIT Department of Physics as an Assistant. He became Instructor in Physics in 1880, Assistant Professor in 1882, Associate Professor in 1885, and Full Professor in 1893. Throughout this period, he struggled with increasingly severe rheumatoid arthritis. At length, he was defeated, becoming Professor Emeritus in 1897 and dying on April 1, 1900.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
index cc7683744e..1f2acd20a6 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
@@ -1,5 +1,5 @@
% From mitthesis package
-% Version: 1.04, 2023/10/19
+% Version: 1.06, 2024/07/09
% Documentation: https://ctan.org/pkg/mitthesis
@@ -7,11 +7,11 @@
\lipsum[1-2] Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse negent~\cite{DKE1969,ww1920,kirk2288a,churchill1948,gibbs1863}.
-\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfup{J/\psi}\)}\fi}
+\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfit{J/\psi}\)}\fi}
We begin with some ideas from the literature \cite{Fong2015,sharpe1}.
-\begin{equation}
+\begin{equation}\label{eqn:1}
\frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right]
={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\bigl(d_{ji}u_i\bigr)
\end{equation}
@@ -37,7 +37,8 @@ We begin with some ideas from the literature \cite{Fong2015,sharpe1}.
\lipsum[4]
-\subsection{Subsection~eqn.~\eqref{eqn:WT1}}
+%% note use of \ref* here to avoid placing a nested link in the table of contents
+\subsection[Subsection~eqn.~(\ref*{eqn:WT1})]{Subsection~eqn.~\eqref{eqn:WT1}}
\lipsum[5-6]
\subsubsection{A subsubsection}
@@ -84,9 +85,9 @@ L(\ifpdftex\bm{A}\else\symbfup{A}\fi) = \begin{pmatrix}
\ce{SO4^2- + Ba^2+ -> BaSO4 v} \\[0.5em]
\ce{Zn^2+
<=>[+ 2OH-][+ 2H+]
-$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$
+$\underset{\textrm{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$
<=>[+ 2OH-][+ 2H+]
-$\underset{\text{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$
+$\underset{\textrm{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$
}
\end{gather}
These examples of chemical formul\ae\ are copied directly from the documentation of the \texttt{mhchem} package, which was used to typeset them.
@@ -94,7 +95,7 @@ These examples of chemical formul\ae\ are copied directly from the documentation
\section{Baroclinic generation of vorticity\label{sec:stratified-flow}}
Substitution of the particle acceleration and application Stokes theorem leads to the \textit{Kelvin-Bjerknes circulation theorem}, for
-$\rho \neq \text{fn}(p)$:
+$\rho \neq \textrm{fn}(p)$:
\begin{align}
\frac{d\Gamma}{dt} &{}= \frac{d}{dt} \int_{\mathcal{C}} \mathbf{u} \cdot d\mathbf{r}\\
&{}= \int_{\mathcal{C}} \frac{D\mathbf{u}}{Dt} \cdot d\mathbf{r} + \underbrace{\int_{\mathcal{C}} \mathbf{u}\cdot d\biggl( \frac{d\mathbf{r}}{dt}\Biggr)}_{=\, 0} \\[-2pt]
@@ -130,11 +131,11 @@ Baroclinic generation of vorticity accounts for the sea breeze and various other
\\[-0.5em]
\toprule
\multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{8pt}} &
-\multicolumn{1}{c}{$\text{erf}(x)$} &
-\multicolumn{1}{c!{\hspace*{3.em}}}{$\text{erfc}(x)$} &
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
\multicolumn{1}{c}{$x$} &
-\multicolumn{1}{c}{$\text{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\text{erfc}(x)$} \\ \midrule
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\
0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
index a599af35e2..03d62286e2 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
@@ -1,14 +1,17 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/09/12 v1.02 Load newtx sans-serif text and regular math fonts]
+\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/10/03 v1.03 Load newtx sans-serif text and regular math fonts]
%% newtx package with sans-serif text (Helvetica-like text with Times-like math)
%
\ifpdftex
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals
- \renewcommand{\familydefault}{\sfdefault}% use sans for main text
+ \AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03
+ \renewcommand{\familydefault}{\sfdefault}% use sans for main text
+% \renewcommand{\rmdefault}{\sfdefault}% uses sans for \textrm{}, if that's desired.
+ }
% these two commands enable hyphenation of the typewriter font - https://tex.stackexchange.com/a/204421/119566
% \input{t1ntxtt.fd}
% \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} %
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
index 2a612d88a1..1d9184e973 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
@@ -1,14 +1,14 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mydesign.tex}[2023/10/11 v1.03 Typographic design options for thesis]
+\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis]
%%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Color package: xcolor.
%% Change this if you prefer something else
-\usepackage[hyperref,dvipsnames,svgnames,x11names]{xcolor}
+\usepackage[dvipsnames,svgnames,x11names]{xcolor}
%% can add option [table] to xcolor to use color in tables (see xcolor documentation)
@@ -57,7 +57,7 @@
\titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
-% ==> NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <==
+% ==> NOT every font includes a bold math version, so you may need other math macros in the headings to get bold math <==
%%%%%%%%% Change page margins %%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/README.md b/macros/latex/contrib/mitthesis/README.md
index 9ead4e57e0..9d2918ca36 100644
--- a/macros/latex/contrib/mitthesis/README.md
+++ b/macros/latex/contrib/mitthesis/README.md
@@ -1,11 +1,11 @@
#mitthesis --- A LaTeX template for an MIT thesis#
- v1.11 dated 2023/11/02
+ v1.14 dated 2024/07/19
####Overview####
This class provides a LaTeX template to format an MIT thesis according to
- the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2023):
+ the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2024):
[https://libraries.mit.edu/distinctive-collections/thesis-specs/](https://libraries.mit.edu/distinctive-collections/thesis-specs/)
@@ -53,9 +53,30 @@
---
####Change log####
+ v1.14 (19 July 2024)
+ - add backward compatibility code for \\text_titlecase_all:n
+ - adjust supervisor and acceptor titles used on sample cover pages
+ - format J/psi as \\symbfit in sample chapter 1 and regenerate font samples
+ - edit documentation
+
+ v1.13 (03 July 2024)
+ - same as v1.12, except now includes the correct documentation
+
+ v1.12 (02 July 2024)
+ - add logic for one degree issued by two departments
+ - fix missing space in abstract block for multiple departments
+ - adjust second department layout on title and abstract pages
+ - table of contents revised
+ - revise documentation
+ - switch default citation style to numeric (from IEEE). Provide examples for IEEE and author/year styles.
+ - add \\AtEndPreamble{..} to mitthesis-newtx-sans-text.tex to accommodate v1.731 of newtx
+ - in chapter1.tex, replace \\text by \\textrm; fix nested link in section heading
+ - remove obsolete hyperref option from xcolor
+ - minor changes to log notes of fontset files
+ - code clean up
v1.11 (02 November 2023)
- - Revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font.
+ - revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font.
- use \\mdseries for linenumbers in all cases, rather than using the locally active series
- remove \\raggedright in favor of \\bibsetup for bibliography in MIT-Thesis.tex
- add backward compatibility for alt tag of \\includegraphics for pre-2021/11/15 distributions, add alt tag in chapter1.tex
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
index 304d89113b..159f037a4d 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
index 737603f89c..8b4d3e0942 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
new file mode 100644
index 0000000000..e7e2f13e88
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
index 7ab9882820..1adb097a70 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
index 8950c7ed3c..0617a275f8 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
index 61a2b63115..7e4300d5b6 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
index c9ccbd8a9a..299acda338 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
new file mode 100644
index 0000000000..6c1f5c3982
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
@@ -0,0 +1,123 @@
+% !TEX encoding = UTF-8 Unicode
+% !BIB TS-program = biber
+% !BIB program = biber
+
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
+% Version 1.02, 2024/07/08
+
+% Documentation: https://ctan.org/pkg/mitthesis
+
+%% Don't modify the \DocumentMetadata command unless you know what it does.
+%% If this command throws an "undefined" error, your latex system is out of date: try commenting this command out.
+\DocumentMetadata
+{
+ pdfstandard = a-2b,
+ pdfversion = 1.7,
+ lang = en-US,
+% debug = {xmp-export}, % output xmpi file to directly examine metadata
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[]{mitthesis}
+%
+% option [twoside] gives facing-page behavior for printing; omitting it will eliminate even-numbered blank pages.
+% option [lineno] provides line numbers, as for editing
+% option [mydesign] loads titlesec, enumitem, caption, subcaption - you may edit the mydesign.tex file as you like it.
+% option [fontset] is a keyvalue which can be:
+% pdftex or unicode engines: defaultfonts, libertine, lucida
+% pdftex only: fira-newtxsf, newtx, newtx-sans-text
+% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
+% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the latex font".
+% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts].
+% If you are using multiple languages, load the babel package in your fontset file, before the fonts.
+
+
+%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Most of the document metadata is created automatically.
+% The following items should be adjusted to match your work. <================= !!!!!!!!!!
+
+\hypersetup{%
+ pdfsubject={Template for writing MIT theses with the mitthesis class},
+ % Change this to briefly state topic of your thesis
+%
+ pdfkeywords={Massachusetts Institute of Technology, MIT},
+ % Add keywords that will help search engines and libraries to find your work.
+ % Includes the name[s] of the author[s]
+ % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.)
+%
+ pdfurl={},
+ % If you have a url for the thesis, put it here. Otherwise delete this.
+ % (MIT Libraries will put your thesis in DSPACE with a persistent url after you submit it.)
+%
+ pdfcontactemail={},
+ % You can put a [permanent] email address into the metadata, if you like.
+ % Otherwise delete this.
+%
+ pdfauthortitle={},
+ % If you have a title, you can include it here.
+}
+
+
+%%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+
+%%% edit the following commands to match your thesis %%%%%%%%%%
+
+\title{The Atomic Theory as Applied To Gases, with Some Experiments on the Viscosity of Air}
+
+% \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][...
+% Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted
+
+% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
+
+\Author{Silas W. Holman}{Department of Nuclear Science and Engineering}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
+%\Author{Luisa Hernández}{Department of Research}%[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
+
+% For one degree issued by two departments, leave the degree argument blank for the second degree {}.
+\Degree{Master of Science in Computational Nuclear Materials}{Department of Nuclear Science and Engineering}
+\Degree{}{Center for Computational Science and Engineering}
+
+% If there is more than one supervisor, use the \Supervisor command for each.
+\Supervisor{Edward C. Pickering}{Professor of Nuclear Science and Engineering}
+%\Supervisor{Secunda Castor}{Professor of Research}
+%\Supervisor{Quintus Castor}{Professor of Log Dams}
+
+% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
+% If more than one department, use more than once
+% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
+\Acceptor{Primus Castor}{Professor and Graduate Officer}{Department of Nuclear Science and Engineering}
+\Acceptor{Tertius Castor}{Professor and Graduate Officer}{Center for Computational Science and Engineering}
+%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
+
+
+% Usage: \DegreeDate{Month}{year}
+% Valid degree months are September, February, or June.
+\DegreeDate{June}{1876}
+
+% Date that final thesis is submitted to department
+\ThesisDate{May 18, 1876}
+
+%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% If you are using a cc license, put details of your cc license here.
+% Omit this command if you are not using a cc license.
+%
+\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Titlepage
+\maketitle
+
+% The abstract environment creates all the required headers and footnote.
+% You only need to add the text of the abstract itself in the file abstract.tex
+\begin{abstract}
+ \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment
+\end{abstract}
+
+\end{document}
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
index 6334a228ae..f8ebb1b965 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
@@ -85,8 +85,7 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
index e5e2618b69..a757806b01 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
@@ -2,7 +2,7 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
% Documentation: https://ctan.org/pkg/mitthesis
@@ -75,7 +75,7 @@
% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
-\Author{Luisa Hernández}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
+\Author{Luisa Hernández}{Department of Physics}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
@@ -85,20 +85,11 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-%\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
-%\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Graduate Officer, Department of Physics}
\Acceptor{Quintus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
-%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
-
-% If your title page is overflowing (from too many names, degrees, etc.), you can scale
-% down the Signature block at the bottom with this command, or use another creative solution...
-%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize}
% Usage: \DegreeDate{Month}{year}
% Valid degree months are September, February, or June.
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
index 5e004fe134..57a957b6ba 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
@@ -2,8 +2,8 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
-% Version 1.01, 2023/10/27
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
+% Version 1.02, 2024/07/08
% Documentation: https://ctan.org/pkg/mitthesis
@@ -81,20 +81,17 @@
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
\Degree{Master of Science in Physics}{Department of Physics}
-%\Degree{Master of Science in Physics}{}
\Degree{Master of Science in Mechanical Engineering}{Department of Mechanical Engineering}
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
\Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{}
\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
% In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two
% lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size,
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh
new file mode 100755
index 0000000000..da23571eff
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh
@@ -0,0 +1,31 @@
+#! /bin/bash
+
+# first run
+
+for i in *.tex;
+ do
+ if [ "$i" != "abstract.tex" ] ; then
+ pdflatex $i;
+ fi;
+ done
+
+# second run
+
+for i in *.tex;
+ do
+ if [ "$i" != "abstract.tex" ] ; then
+ pdflatex $i;
+ fi;
+ done
+
+# clean up
+
+mkdir pdffiles
+mv *.pdf pdffiles
+rm *.aux
+rm *.gz
+rm *.log
+
+
+
+
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
index e55782bbb4..97243bde84 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
index 2d802b2a0e..cc3e40ce75 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
index 09a93e218b..c09afd43ee 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
index 45b6d25430..418bf7e8d3 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
index 383bbfd3a9..43081a36f0 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
index 3c8fc160ba..d21ca4d057 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
index 142d3afc0d..45952c0c52 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
index 46b54f1a07..0792ee30f9 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
index e4306cb237..80b8e07d10 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
index 93e1db4400..90dfd3ab31 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
index 8b34293ed2..b6480ef952 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
index d428bcadf1..f2c8ed1158 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,12 +246,11 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
-% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
-% see the biblatex manual, section 3.14.3
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
%%%% Option for natbib %%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
index 1ae057c0cd..7e914bfa38 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,9 +246,13 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
%
-\printbibliography[title={References},heading=bibintoc]
+\printbibliography[title={\refname},heading=bibintoc]
}
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
index 8fa97df9b0..9198d8a489 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
index 1af3c90754..3fd445d4ff 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
index 87ad88c57e..9729118c30 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,12 +246,11 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
-% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
-% see the biblatex manual, section 3.14.3
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
%%%% Option for natbib %%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
index eb96cc7892..e2cebe98ac 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
index c4d5c782c1..beacdde0a3 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
@@ -12,3 +12,5 @@ mitthesis-sample.bib
mydesign.tex
All of those files are in the directory mitthesis/MIT-thesis-template.
+
+You should also copy the fontsets directory (and mitthesis.cls) into this folder.
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
index ffc9657186..6fe4965432 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
index 29bb0e05cf..3bbf3c8333 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
index fb2f11a35d..92a905fe99 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh
new file mode 100755
index 0000000000..fdb19c1f4f
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh
@@ -0,0 +1,72 @@
+#! /bin/bash
+
+# first run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# biber
+
+biber Defaultfonts
+biber Fira_Newtxsf
+biber Libertine
+biber Lucida
+biber Newtx-sans-text
+biber Newtx
+biber Heros-Stix2
+biber Stix2
+biber Termes-stix2
+biber Termes
+
+# second run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# third run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# clean up
+
+mkdir pdffiles
+mv *.pdf pdffiles
+rm *.aux
+rm *.bbl
+rm *.bcf
+rm *.blg
+rm *.log
+rm *.lot
+rm *.lof
+rm *.toc
+rm *.xml
+
+
diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
index 611f9c69ac..ab61cf59e5 100644
--- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
+++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
index 2b434f49a7..4e5e739585 100644
--- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
+++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
@@ -1,12 +1,13 @@
% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode
-% Version date: 02 November 2023
+% Version date: 19 July 2024
\DocumentMetadata
{
- pdfstandard = a-2b,%a-3u,%a-4,%
- pdfversion = 1.7, %2.0,
+ pdfstandard = a-4,
+ pdfversion = 2.0,
+% testphase = {phase-III, table, firstaid, math},
lang = en-US,
% debug = {xmp-export}, % note that subject entries are all fine in dc format of outputted xmpi file.
}
@@ -23,6 +24,8 @@
\usepackage[x11names,svgnames,dvipsnames,table]{xcolor}
\usepackage{luacolor} % load AFTER xcolor
+\usepackage{mathtools}
+
\usepackage[en-US]{datetime2} %% change default date format
\makeatletter
\newcommand{\daymonthyeardate}{%
@@ -32,41 +35,6 @@
\usepackage{booktabs}
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3}}
- {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28
- }%
- }%
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}%
- }%
-}
-
-%%% Create an optional argument for unnumbered SUBsections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-\let\svsubsection\subsection
-\RenewDocumentCommand{\subsection}{s o m}{%
- \IfBooleanTF {#1}
- {\svsubsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{subsection}{#3}}
- {\addcontentsline{toc}{subsection}{#2}}
- }%
- }%
- {\IfNoValueTF {#2}
- {\svsubsection{#3}}
- {\svssubection[#2]{#3}}%
- }%
-}
%%%%%%%%% Set up text and math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,7 +96,7 @@
citecolor=blue,
urlcolor=violet,
filecolor=red,
-% anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does)
+ anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does)
% colorscheme=phelype,% overrides link, cite, url, file colors with a preset scheme, through \DocumentMetadata
pdfpagelayout=SinglePage,
pdfdisplaydoctitle=true,%
@@ -159,42 +127,40 @@
\ExplSyntaxOff
\urlstyle{same} % this changes font for \url to the current text font, but it is not recognized by \href.
-\RequirePackage{bookmark}% improves handling of pdf bookmarks
+%\RequirePackage{bookmark}% improves handling of pdf bookmarks
%\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code
-%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\nomname}{Nomenclature}
\newlength\nomenwidth
\newlength\savitemsep
\makeatletter
+% nomenclature entries
\NewDocumentCommand\entry{m m}{%
- \ifblank{#2}{%
- \ClassWarning{\ClassName}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading}
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
- }{%
- \item[#1\hfill]#2%
- \@itempenalty=-\@lowpenalty%
- }%
+ \item[#1\hfill]#2%
+ \@itempenalty=-\@lowpenalty
}
-% A separate command command for nomenclature subheadings
+% nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
+ \itemsep3\p@ plus 1\p@ minus 1\p@
+ \goodbreak\item[\itshape#1\hfill]\mbox{}% mbox added for tagged pdf 2023/10/11
+ \setlength{\itemsep}{\savitemsep}\@itempenalty=1000
}
\makeatother
%
% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
+% Third optional argument selects section-level or chapter-level style for the nomenclature list.
+\newcounter{dummy}% for tagging code
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
- \csname #3\endcsname *{#2}% this level will probably vary amongst users! add to toc, as well.
-% \phantomsection\addcontentsline{toc}{#3}{#2}% removed for this example.
+ \csname #3\endcsname *{#2}% this level will vary amongst users!
+% \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% omit contentsline for this document!
\raggedright
\begin{list}{}{%
\setlength{\itemsep}{0pt}%
@@ -203,7 +169,7 @@
\setlength{\labelwidth}{\nomenwidth}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
- \setlength\savitemsep\itemsep%
+ \setlength{\savitemsep}{\itemsep}%
}%
}{\end{list}\ignorespacesafterend}
@@ -211,110 +177,121 @@
%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\title{The MIT thesis template}
-\author{John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology}
-\date{\daymonthyeardate}
+\renewcommand\abstractname{SUMMARY}
\begin{document}
-\maketitle
+\begingroup
+ \centering
+ \LARGE The MIT thesis template\\[1em]
+ \large
+ John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology
+ \\[1em]
+ \daymonthyeardate\\[1em]
+\endgroup
-\section*{THE MIT THESIS TEMPLATE}
-This template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of fonts, and it is compatible with either pdfTeX or unicode engines such as luaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template.
+\phantomsection\pdfbookmark[1]{\abstractname}{summary}
+\begin{abstract}
+This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as LuaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template.
+\end{abstract}
-\subsection*{Background}
+\tableofcontents
+
+\section{BACKGROUND}
The original MIT Thesis template was written \LaTeX\ 2.09 by Stephen Gildea in the late 1980s (in CTAN, \href{https://mirrors.ctan.org/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty}{here}). That template was edited by many later students.
-LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template.
+LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries changed the required format several times, especially as electronic thesis submission became the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template.
This new MIT thesis template was developed in 2023 at the request of the MIT Libraries. The title and abstract pages strictly follow the current \href{https://libraries.mit.edu/distinctive-collections/thesis-specs/}{requirements of the Libraries}. The underlying code is entirely new, with extensive use of \texttt{expl3} syntax.
-\subsection*{System requirements}
+\section{SYSTEM REQUIREMENTS AND INSTALLATION}
The new \texttt{mitthesis} class uses the features of \LaTeX\ as of 2022, with limited backward compatibility. An up-to-date \LaTeX\ system is therefore necessary when using this template.
-\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides similar functionality.)
+\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users to download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides a similar functionality.)
If you are missing a package or documentation, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
-\subsection*{\LaTeX\ engine}
-The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of lua code in your \texttt{.tex} file.
-
-\subsection*{Downloading the template}
+\subsection{Downloading the template}
The files needed for preparing your thesis are in the CTAN repository: \url{https://ctan.org/pkg/mitthesis}. Copy the subdirectory \texttt{MIT-thesis-template} onto your system. That directory contains files you can modify into your own thesis.
-If \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory.
+If the most current version of \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory.
-\subsection*{File structure}
+\subsection{File structure}
The new MIT thesis template consists of: \texttt{mitthesis.cls}; a root file \texttt{MIT-Thesis.tex}; a file to load the abstract, \texttt{abstract.tex}; a file for design options, \texttt{mydesign.tex}; and an optional file to change the fonts (see the subdirectory, \texttt{fontset}). You should change the name of the root file to something more descriptive of your own work (e.g., \texttt{JohnsThesis.tex}, \texttt{MagnumOpusScientiae.tex},\ldots). In addition, files must be loaded for acknowledgments, an optional biosketch, chapters, optional appendices, and bibliography.
-\subsection*{Bibliography}
-You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}.
+\subsection{\LaTeX\ engine}
+The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of Lua code in your \texttt{.tex} file. With Lua code, you can automate plotting, table generation, and other numerical computations.
-\subsection*{PDF/A compatibility}
-PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{..}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, the \texttt{mitthesis} class will fall back to loading the \texttt{hyperxmp} package to support pdf metadata, but PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). An up-to-date \LaTeX\ installation is preferred.
+\subsection{PDF/A compliance}
+PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{pdfstandard = a-2b}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX,
+PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). Current \LaTeX\ development (ca.~2024) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures.
-Current \LaTeX\ development (ca.~2023) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures.
-\section*{INFORMATION YOU NEED TO COMPLETE}
-Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless some comments follow.
+\section{SETTING UP TITLE PAGE, ABSTRACT, AND BIBLIOGRAPHY}
+Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless, some explanation follows.
-In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file.
-The commands that define the title page are as follow.
-\begin{itemize}
+\begin{enumerate}
+\item In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file.
+
\item \verb|\title{the title of your thesis}|
\item \verb|\Author{author full name}{author department}[1st PREVIOUS degree][2nd...| \linebreak
Note that third, fourth, fifth, and sixth arguments are optional [..] and may be omitted. Use once for each author.
-\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. If the thesis satisfies two degrees from one department, leave the department argument blank for the \textit{second} degree: \verb|\Degree{2nd degree name}{}|
+\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis.
+
+If two departments jointly issue a single degree, leave the degree name blank for the \textit{second} degree:
+\verb|\Degree{}{2nd department name}|.
+If the thesis satisfies two degrees from one department, leave the department argument blank for
+the \textit{second} degree: \verb|\Degree{2nd degree name}{}|.
-\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor.
+If you wish to cause a line break in a very long degree name, you can insert \verb|\\| at an appropriate point.
+Department names should not break across lines. For example:
+\begin{quote}
+\verb|\Degree{Doctor of Philosophy \\ in \\ Electrical Engineering and Computer|\linebreak
+\hbox{}\qquad\verb|Science}{Department of Electrical Engineering and Computer Science}|
+\end{quote}
+
+\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. See \S\ref{sec:6.3} if your supervisor has more than one title.
\item \verb|\Acceptor{acceptor name}{acceptor title}{thesis related position}|. Professor who accepts theses for your department (e.g., the Graduate Officer). Use once for each department.
\item \verb|\DegreeDate{Month}{year}|. Date degree is awarded (February, May, June, or September).
\item \verb|\ThesisDate{date}|. Date that your final thesis is submitted to the department.
-\end{itemize}
+\end{enumerate}
-\subsection*{Copyright license}
+\subsection{Copyright license}
If you wish to make your thesis available under a Creative Commons License, issue the following command between
\verb|\begin{document}| and \verb|\maketitle|: \verb|\CClicense{license type}{license url}|. For example,
\vskip 5pt
\noindent\quad\verb|\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}|.
-\subsection*{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can using some or all of the following techniques. The commands must be given before \verb|\maketitle|.
-\begin{enumerate}
- \item Reduce the 12pt and 18pt skips between the various blocks of text to 6pt with this command:
- \vskip 5pt
- \noindent\verb|\Tighten|
- \item Reduce the font size in the signature block with this command:
- \vskip 5pt
- \noindent\verb|\SignatureBlockSize{\small}|
- \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank:
- \vskip 5pt
- {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|}
- \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command:
- \vskip 5pt
- \noindent\verb|\AuthorNameSize{\normalsize}|
- \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch.
-\end{enumerate}
+\subsection{Bibliography}
+You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. The \texttt{biblatex} package is very powerful, and you can customize most aspects the reference list and citations to suit your needs. See the documentation for details: \hrefurl{https://ctan.org/pkg/biblatex}{ctan.org/pkg/biblatex}.
-Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you
-can use this command to squash the vertical glue (\TeX's stretchy space):
- \vskip 5pt
- \quad\verb|\Squash|
- \vskip 5pt
-\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full.
+The style of citations and references can be set in your \texttt{.tex} file. For numerical citations of references (e.g., [1]), you can do
+\vskip 5pt
+\verb|\usepackage[style=ext-numeric-comp,giveninits=true,sorting=none]{biblatex}|
+\vskip 5pt
+\noindent For IEEE style citations and references, you might do
+\vskip 5pt
+\verb| \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}|
+\vskip 5pt
+\noindent For author/year style (Smith, 2024), you might do
+\vskip 5pt
+\verb| \usepackage[style=authoryear, maxbibnames=10]{biblatex} |
+\vskip 5pt
+\noindent In the author/year style, \verb|\cite{..}| commands do not automatically produce parentheses. Instead, you can do
+\verb|\parencite{..}| to get ``(Author, year).''
-\section*{PACKAGE OPTIONS}
-Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow.
+\section{CLASS OPTIONS}
+Class options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow.
\begin{table}[b]
\caption{Options to the document class\label{tab:1}}
@@ -323,7 +300,7 @@ Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These
\small
\begin{tabular}{>{\ttfamily}l<{} >{\raggedright\arraybackslash}p{42em} }
\toprule
-\textrm{Package option} & Effect \\
+\textrm{Class option} & Effect \\
\midrule
fontset & is a keyvalue, \texttt{fontset = <\textit{name}>}, which selects the set of fonts used for the thesis. See description below. \\
lineno & this option loads the \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package, which provides line numbers, as for editing. The \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package provides additional commands to control line numbering. \\
@@ -334,17 +311,16 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e
\end{tabular}}%
\end{table}
-\subsection*{Font loading}
-By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ fonts, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts.
+\subsection{Font loading}
+By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ typeface, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts.
-Ten fontsets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named.
+Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. For unicode engines, you must have the relevant fonts installed as system fonts on your computer.
-Among the predefined fonts, Termes and NewTX are serifed fonts similar to the digital font Times New Roman. STIX Two is more similar to the original metal-type Times font. Linux Libertine is a serif font inspired by 19\textsuperscript{th} century book type. Lucida is a serifed font designed for high legibility at small size or on low resolution devices. This font is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text fonts similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX font. Fira is a humanist sans-serif text font designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ font---is a Didone font, with high contrast between thick and thin elements.
+Among the predefined font sets, Termes and NewTX are serifed typefaces similar to the digital typeface Times New Roman. STIX Two is more similar to the original metal-type Times typeface. Linux Libertine is a serif typeface inspired by 19\textsuperscript{th} century book type. Lucida is a serifed typeface designed for high legibility at small size or on low resolution devices. Lucida is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text typefaces similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX fonts. Fira is a humanist sans-serif text typeface designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ typeface---is a Didone typeface, with high contrast between thick and thin elements.
+% STIX Two, Termes, and LMR do not include a separate bold math font.
-You may also place your own fontset file, say \texttt{Myfontset.tex}, in your working directory, and load it with
-
-\vskip10pt
-\hfill\verb|\documentclass[fontset=Myfontset]{mitthesis}|\hfill\hbox{}
+You may also place your own font-set file, say \texttt{Myfontset.tex}, in your working directory, and load it with:
+\verb|\documentclass[fontset=Myfontset]{mitthesis}|.
\begin{table}[t]
\caption{Predefined font sets\label{tab:2}}
@@ -362,7 +338,7 @@ default & yes & yes & serif & serif & CM \& LM fonts are included in \TeX\
libertine & yes & yes & serif & serif & in \TeX\ Live for \pdfTeX. For unicode, OpenType text fonts freely available here
\linebreak \url{https://sourceforge.net/projects/linuxlibertine/}\linebreak and the math font here
\linebreak \url{https://github.com/alerque/libertinus} \\
-lucida & yes & yes & serif & serif & the lucida fonts are available from the \TeX\ User's Group,
+lucida & yes & yes & serif & serif & the Lucida fonts are available from the \TeX\ User's Group,
\url{https://tug.org/store/lucida} \\[2em]
heros-stix2 & no & yes & sans & serif & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \linebreak\url{https://github.com/stipub/stixfonts} \linebreak fonts are free \\
stix2 & no & yes & serif & serif & \url{https://github.com/stipub/stixfonts}, fonts are free\\
@@ -374,17 +350,65 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/
\end{tabular}}%
\end{table}
-\subsection*{Design options}
+\subsection{Design options}
The thesis will follow the default styles of the \LaTeX\ report class for sections headings, captions, and lists. If you prefer different styles you can use the class option [mydesign] which loads the file \texttt{mydesign.tex}.
-With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, that change the margins, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
+With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can change the margins with \verb|\newgeometry{..}| from the \texttt{\hrefurl{https://ctan.org/pkg/geometry}{geometry}} package. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
Hyperlink colors and pdf bookmark or viewing options from the \texttt{hyperref} package can be changed by using \verb|\hypersetup{ .. }| in the preamble or using \verb|\AtBeginDocument{ \hypersetup{ .. } }| in the \texttt{mydesign.tex} file.
-\subsection*{Single-sided vs.\ double-sided layout}
+\subsection{Single-sided vs.\ double-sided layout}
The sample template uses the option \texttt{[twosided]}, which starts major sections (abstract, table of contents, chapters, etc.) on odd-numbered pages. This arrangement is suitable for two-sided printing, but can lead to empty even-numbered pages. If you do not wish to have this behavior, omit that option. By default, even and odd page margins are the same; this can be changed in \texttt{mydesign.tex} if necessary.
-\begin{table}[t]
+\subsection{Additional commands}
+The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed.
+
+\subsection{Nomenclature}
+An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you
+have one nomenclature list for whole thesis or one for each chapter (the default is section).
+
+For example, the following code
+\begin{center}
+\begin{minipage}{0.85\textwidth}
+\begin{verbatim}
+\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
+\EntryHeading{Roman letters}
+\entry{$\mathcal{C}$}{material curve}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
+\EntryHeading{Greek letters}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
+\end{nomenclature}
+\end{verbatim}
+\end{minipage}
+\end{center}
+produces the nomenclature list below
+\begin{center}
+\begin{minipage}{0.8\textwidth}
+\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
+\EntryHeading{Roman letters}
+\entry{$\mathcal{C}$}{material curve}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
+\EntryHeading{Greek letters}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
+\end{nomenclature}
+\end{minipage}
+\end{center}
+%% \cramped is from the mathtools package, and moves the superscript a bit lower
+
+\section{PACKAGES FOR MATH, CHEMISTRY, CODE, TABLES, AND MORE}
+The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1
+
+Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code.
+
+Several packages focus on table and tabular environments. The \texttt{\hrefurl{https://ctan.org/pkg/booktabs}{booktabs}} package, use in the sample thesis template, produces better quality horizontal lines (called \textit{rules}) for separating material in tables. The \texttt{\hrefurl{https://ctan.org/pkg/array}{array}} package (also used) provides additional options for column formats in tabular environments, and the \texttt{\hrefurl{https://ctan.org/pkg/dcolumn}{dcolumn}} package aligns columns of numbers on the decimal separator.
+
+When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online.
+
+The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}.
+
+\begin{table}
\caption{External packages used. For documentation, visit CTAN, \url{https://ctan.org}. Alternatively, if you have \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live} installed, you can open a terminal window and type \texttt{\%\ texdoc package-name}.\label{tab:3}}
\vskip5pt
\centering{\small%
@@ -398,22 +422,25 @@ bm & defines commands to access bold math symbols (loaded for default fonts) &
bookmarks& is loaded automatically under the new pdf-management system & customize pdf bookmarks \\
doi & support for hyperlinking DOIs & hyperlink a doi number: \verb|\doi{..}| \\
etoolbox & extend or modify other macros & can use in preamble if needed \\
-iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\
geometry & set page size and margins & can use \verb|\newgeometry| in \texttt{mydesign.tex}\\
graphicsx& support for inserting images & use to include graphics\\
hyperref & support for hyperlinks and metadata & must complete setup in preamble\\
+iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\
mathtools& loads and extends \texttt{amsmath} & \textbf{many useful math macros available}. See documentation for \texttt{amsmath} and \texttt{mathtools} \\[0.7em]
\midrule
hyperxmp & fallback if no \verb|\DocumentMetadata{..}|& ---\\
kvoptions& key values for systems pre 2022/11/01 & ---\\
-xparse & for systems older than 2020/10/01 & macros to define new commands\\[0.7em]
+xparse & for systems older than 2020/10/01 & macros to define new commands\\
\midrule
-lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package has additional commands that control line numbering\\[3em]
+lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package adds commands to control numbering\\[0.7em]
\midrule
caption & also loaded by \texttt{mydesign.tex} & support for caption styling \\
subcaption & also loaded by \texttt{mydesign.tex} & support for subfigures within figures \\
titlesec & also loaded by \texttt{mydesign.tex} & support for styling section headings \\
xcolor & also loaded by \texttt{mydesign.tex} & support for colors, including colored fonts \\[0.7em]
+array & --- & additional options for formatting table columns \\
+booktabs & --- & better quality tables, with additional commands \\
+dcolumn & --- & align number columns on selectable separators \\
\midrule
babel & --- & if you use multiple languages, load \texttt{babel} in a fontset file before loading fonts \\
biblatex & --- & sample template uses this bibliography tool. Change to \texttt{natbib} if you prefer\\
@@ -428,75 +455,71 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\
\end{tabular*}}%
\end{table}
-\subsection*{Additional commands}
-The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed.
-
-
-\subsection*{Nomenclature}
-An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you
-have one nomenclature list for whole thesis or one for each chapter (the default is section).
+\section{TROUBLESHOOTING AND MODIFICATIONS}
+\subsection{Listing thesis committee members or using a signature page}
+Listing committee members (with or without signatures) is not required under MIT's thesis specifications. Only the thesis supervisor should appear on the title page, not a list of committee members. However, some departments may require a separate committee or signature page. That page can be inserted by the author between the title and abstract pages. Check with your department about this page and any associated formatting requirements.
-For example, the following code
-\begin{center}
-\begin{minipage}{0.8\textwidth}
-\begin{verbatim}
-\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
-\EntryHeading{Roman letters}
-\entry{$\mathcal{C}$}{material curve}
-\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\end{nomenclature}
-\end{verbatim}
-\end{minipage}
-\end{center}
-produces the nomenclature list below
-\begin{center}
-\begin{minipage}{0.8\textwidth}
-\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
-\EntryHeading{Roman letters}
-\entry{$\mathcal{C}$}{material curve}
-%\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]}
-\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-%\entry{$\rho$}{mass density [kg m$^{-3}$]}
-\end{nomenclature}
-\end{minipage}
-\end{center}
+\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3}
+When a thesis supervisor has multiple titles (which will not fit on one line), you can obtain a line break with proper horizontal spacing by doing
+ \vskip 5pt
+ \quad\verb|\Supervisor{name}{first title and \\ \> second title}|
+ \vskip 5pt
+\noindent\textbf{\TeX hackers note:} The signature block is typeset as a \LaTeX\ \texttt{tabbing} environment.
-\section*{PACKAGES FOR MATH, CHEMISTRY, CODE LISTINGS, AND MORE}
-The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1
+\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can use some or all of the following techniques. The commands must be given before \verb|\maketitle|.
+\begin{enumerate}
+ \item Reduce the 12 pt and 18 pt skips between the various blocks of text to 6 pt with this command:
+ \vskip 5pt
+ \noindent\verb|\Tighten|
+ \item Reduce the font size in the signature block with this command:
+ \vskip 5pt
+ \noindent\verb|\SignatureBlockSize{\small}|
+ \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank:
+ \vskip 5pt
+ {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|}
+ \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command:
+ \vskip 5pt
+ \noindent\verb|\AuthorNameSize{\normalsize}|
+ \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch.
+\end{enumerate}
-Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code.
-When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online.
+\subsection{Push title page text toward top} If you prefer to keep the text toward the top of the page with most white space at the bottom, you
+can use this command to squash the vertical glue (\TeX's stretchy space):
+ \vskip 5pt
+ \quad\verb|\Squash|
+ \vskip 5pt
+\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full.
-The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}.
+\subsection{Changing paragraph separation}
+If you prefer to denote paragraph breaks by vertical space rather than indentation, you can try the \texttt{parskip} package: \hrefurl{https://ctan.org/pkg/parskip}{ctan.org/pkg/parskip}. See that package's documentation for details.
-\section*{USE OUTSIDE MIT}
-If you wish to adapt this template for use at a different institution, you can put the following commands in your preamble.
+\subsection{Use outside MIT}
+To adapt this template for use at a different institution, you can put the following commands in your preamble.
\begin{itemize}
-\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. %{\small\textit{New with v1.06.}}
+\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page.
\item Use \verb|\maketitle*| (in place of \verb|\maketitle|) to drop the MIT copyright permission statement
\item If your institution issues degrees in months other than February, May, June, or September, you can still put those months into the
-\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.11.}}
+\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|.
-\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.06.}}
+\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|.
+
+\item To change ``Thesis Supervisor'' to something else use \verb|\SupervisorDesignation{..}|.
\end{itemize}
Please do not remove the license/copyright text from the sources files --- this code took me some time write!
-\section*{RESOURCES FOR \LaTeX}
+\section[RESOURCES FOR LATEX]{RESOURCES FOR \LaTeX}
\LaTeX\ documentation is easy to find online. A few useful resources, among many, are these:
\begin{description}
\item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book.
\item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group.
\item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own!
-\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code.
+\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could sometimes accurately answer \LaTeX-related questions or write acceptable \LaTeX\ and expl3 code.
\end{description}
-
\vskip 30pt
\centering{\color{Red3}\Large\textbf{\textit{Good luck with your thesis and your thesis defense!}}
diff --git a/macros/latex/contrib/mitthesis/mitthesis.cls b/macros/latex/contrib/mitthesis/mitthesis.cls
index b48703d745..0a3a44310c 100644
--- a/macros/latex/contrib/mitthesis/mitthesis.cls
+++ b/macros/latex/contrib/mitthesis/mitthesis.cls
@@ -4,11 +4,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the mitthesis LaTeX class for formatting theses according to
-%% MIT Libraries' requirements as of 2023.
+%% MIT Libraries' requirements as of 2024.
%%
%% This file's version and date:
- \def\versionno{1.11}
- \def\versiondate{2023/11/02\space}
+ \def\versionno{1.14}
+ \def\versiondate{2024/07/19\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -25,7 +25,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -57,34 +57,24 @@
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If... added to latex 2021/11/15
+\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15
\IfFormatAtLeastTF{2020/10/01}{%
- \typeout{^^JYour LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results^^J}
+ \ClassNoteNoLine{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results}
}{%
\ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2022/11/01 or later are strongly recommended for this class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now...}%
}
-% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp)
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp and bookmark packages after loading hyperref)
\newif\ifmit@pdfmanagement
-\ExplSyntaxOn
- \msg_new:nnn { \ClassName } { loading_hyperxmp } { pdfmanagement\ is\ not\ active.\ Will\ load\ hyperxmp\ instead. }
- % As of 2021/07/23 we could instead use \IfPDFManagementActiveTF{true code}{false code}
- \IfFormatAtLeastTF{2020/10/01}{
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
- { \pdfmanagement_if_active_p: }
- }
- { \mit@pdfmanagementtrue }
- { \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
- }{ \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
-\ExplSyntaxOff
+\IfPDFManagementActiveTF{
+ \mit@pdfmanagementtrue
+}{
+ \mit@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
\ifdefined\NewDocumentCommand\else
@@ -163,19 +153,35 @@
%%%%%%%%%%%%% Patch table of contents, list of figures, and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{etoolbox}% provides \patchcmd
-
-% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents
+% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents and have
+% pdf bookmarks. This is not automatic for \chapter*, which is the format of toc, lof, and lot.
-\patchcmd{\tableofcontents}{\@starttoc{toc}}{\pdfbookmark[0]{Table of Contents}{toc}\@starttoc{toc}}{}{}
-\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\listfigurename}\addcontentsline{toc}{chapter}{\listfigurename}}{}{}
-\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\listtablename}\addcontentsline{toc}{chapter}{\listtablename}}{}{}
+\RequirePackage{etoolbox}% provides \patchcmd
+\patchcmd{\tableofcontents}{\contentsname}{\pdfbookmark[0]{Table of Contents}{toc}\contentsname}{}{} % placement matters.
+\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\phantomsection\listfigurename}\addcontentsline{toc}{frontmatter}{\listfigurename}}{}{}
+\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\phantomsection\listtablename}\addcontentsline{toc}{frontmatter}{\listtablename}}{}{}
+
+\NewCommandCopy\l@frontmatter\l@chapter
+\NewCommandCopy\l@backmatter\l@chapter
+\providecommand*{\toclevel@frontmatter}{0}% prevent warning, see hyperref manual Sec. 13.3
+\providecommand*{\toclevel@backmatter}{0}
+%% if you want different formatting for front/back matter, change here (cf. report.cls). This approach preserves tagging hooks.
+\AtBeginDocument{
+ \patchcmd{\l@frontmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@frontmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+ \patchcmd{\l@frontmatter}{1.0em}{3pt}{}{}
+ \patchcmd{\l@backmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@backmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+}
%%%%%%%%%%%%% Geometry, mathtools, graphics, design, fonts, hyperrefs, bookmarks, footnotes %%%%%%%%%%%%%%%%%%%
-%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry} % bottom margin allows 45\baselineskip in \textheight
-\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry} % 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
+%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry}
+% bottom margin allows 45\baselineskip in \textheight
+
+\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry}
+% 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
\RequirePackage{mathtools}% loads and extends amsmath; must load before hyperref and unicode-math
@@ -198,16 +204,17 @@
https://ctan.org/tex-archive/macros/latex/contrib/mitthesis/MIT-thesis-template.}%
}%
\else
- \RequirePackage[hyperref,dvipsnames,svgnames,x11names]{xcolor}
+ \RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
%
\RequirePackage{caption,subcaption}
%
\RequirePackage{titlesec}
% these titlesec commands just automate the bold math in some headings (rest follows default styles)
% NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <==
- \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection }{1em}{}
+ % Predefined fontsets for which bold math exists are: CMR, Fira, Libertinus, Lucida, newtx
+ \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{}
- \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
+ \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
%
\AtBeginDocument{
\hypersetup{
@@ -226,21 +233,21 @@
\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
-\typeout{^^JFontset key is \mit@fontset.^^J}
+\ClassNoteNoLine{\ClassName}{Fontset key is \mit@fontset}
\IfFileExists{fontsets/\ClassName-\mit@fontset.tex}{% 2023/07/03
\input{fontsets/\ClassName-\mit@fontset.tex}
}{%
- \ClassWarning{\ClassName}{^^JFontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory}
\IfFileExists{\mit@fontset.tex}{% 2023/08/30
\input{\mit@fontset.tex}
}{
- \ClassWarning{\ClassName}{^^JFontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory}
\ifpdftex
- \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads fontspec package, but default fonts are not selected by fontspec in this case.
@@ -251,15 +258,18 @@
%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[psdextra]{hyperref}
-% the new pdf-management scheme loads the bookmarks package internally.
% authors should use hypersetup to set details, in root .tex file
\urlstyle{same} % this changes font for \url to the current text font
-\providecommand\hrefurl[2]{\href{#1}{#2}}% in case \DocumentMetadata has not been loaded
\RequirePackage{doi} % create macro for hyperlinking doi numbers
+%% In case \DocumentMetadata was not loaded
+\providecommand\hrefurl[2]{\href{#1}{#2}}
+
+% pdfmanagement loads bookmarks package internally
\ifmit@pdfmanagement\else
\RequirePackage{hyperxmp}
+ \RequirePackage{bookmark}
\fi
% the user can alter these choices in the preamble, or by
@@ -289,7 +299,7 @@
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%%% Let's disable \( and \) in pdf bookmarks
+%% Let's disable \( and \) in pdf bookmarks
\pdfstringdefDisableCommands{%
\def\({\relax}%
\def\){\relax}%
@@ -312,10 +322,22 @@
\def\footnote#1{}%
}
+%%% Here's a more cumbersome removal of the warning for $ (math shift) in pdfbookmarks.
+%%% Not implementing this by default, since novice authors may benefit from the warning.
+%%% https://tex.stackexchange.com/a/620360/119566
+%\let\oldHyPsd@CatcodeWarning\HyPsd@CatcodeWarning
+%\renewcommand{\HyPsd@CatcodeWarning}[1]{%
+% \ifnum\pdfstrcmp{#1}{math shift}=0 % If 'math shift' is present, do nothing
+% \else
+% \oldHyPsd@CatcodeWarning{#1}% % else, keep usual warning.
+% \fi
+%}
\ExplSyntaxOn
%\debug_on:n {all}
+\prop_gput:Nnn \g_msg_module_type_prop { \ClassName } { Class }
+
%%%%%%%%%% Commas between successive footnotes %%%
\cs_new:Npn \__mitthesis_NoteComma:n { \peek_meaning:NT \footnote {\textsuperscript{\mdseries,}} }
@@ -346,11 +368,10 @@
}
\msg_new:nnnn { \ClassName } { wrong_month } {The\ degree\ month\ must\ be\ one\ of\ February,\ May,\ June,\ or\ September.} {You\ cannot\ use\ #1\ as\ the\ degree\ month.}
-\cs_generate_variant:Nn \text_titlecase:n {o,V}
\NewDocumentCommand\DegreeDate{mm}{% {month}{year}
\__dd_setdates:nn {#1}{#2}
- \cs_new:Npn \DegreeMonth { \text_titlecase:V { \g__dd_month_tl } }
- \cs_new:Npn \DegreeYear { \text_titlecase:V { \g__dd_year_tl } }
+ \cs_new:Npn \DegreeMonth { \text_titlecase_first:n { \text_lowercase:n \g__dd_month_tl } }
+ \cs_new:Npn \DegreeYear { \text_expand:n { \g__dd_year_tl } }% edited 2024/06/24
}
\msg_new:nnnn { \ClassName } { no_degree_date } {Missing\ degree\ date!}{
You\ MUST\ issue\ the\ \DegreeDate{month}{year}\ command\ between\ \string\begin{document}\ and\ \string\maketitle.}
@@ -516,7 +537,6 @@
\seq_new:N \g_supervisor_title_seq
\int_gzero_new:N \g_supervisor_supervisorcnt_int
-
\NewDocumentCommand\Supervisor{mm}{
\tl_if_blank:nTF{#1}{
\msg_error:nn { \ClassName } { blank_supervisor }
@@ -535,11 +555,27 @@
\cs_new_protected:Nn \__supervisor_data_add:nn
{
\int_gincr:N \g_supervisor_supervisorcnt_int
- \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
+ \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_supervisor_title_seq } { \tl_trim_spaces:n {#2} }
}
-
+\tl_new:N \g_titlepage_supervisor_designation_tl
+\tl_new:N \g_abstract_supervisor_designation_tl
+\tl_gset:Nn \g_titlepage_supervisor_designation_tl {Thesis\ Supervisor}
+\tl_gset:Nn \g_abstract_supervisor_designation_tl {Thesis\ supervisor}% style from MIT Libraries
+
+% If for some reason you need to change "Thesis Supervisor" to a different string (say, "Doctoral Advisor")
+% This construction removes leading and trailing spaces and lowercases the string.
+\NewDocumentCommand\SupervisorDesignation{ m } {
+ \tl_gset:Nn \g_titlepage_supervisor_designation_tl
+ { \cs_if_exist:NTF \text_titlecase_all:n % not def'd until 2023/07/08
+ { \text_titlecase_all:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } }
+ { \tl_trim_spaces:n {#1} }
+ }
+ \tl_gset:Nn \g_abstract_supervisor_designation_tl
+ { \text_titlecase_first:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } }
+ }
+
\cs_new:Nn \__supervisor_abstractblock: {
\int_zero_new:N \l__supervisor_supervisorno_int
\int_incr:N \l__supervisor_supervisorno_int
@@ -549,11 +585,13 @@
\msg_error:nn { \ClassName } { no_supervisor }
}
{\int_until_do:nNnn { \l__supervisor_supervisorno_int } = { \g_supervisor_supervisorcnt_int } {
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \g_abstract_supervisor_designation_tl :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\par\medskip
\int_incr:N \l__supervisor_supervisorno_int
}
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \g_abstract_supervisor_designation_tl :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\ignorespaces
}
}
@@ -593,8 +631,8 @@
{ Missing\ acceptor\ department,\ check\ for\ blank\ in\ \Acceptor{name}{department}{title}\ command. }{
You\ MUST\ provide\ the\ acceptor's\ department\ using\ the\ \Acceptor{name}{department}{title}\ command.}
\msg_new:nnn { \ClassName } { blank_acceptor_title }
- { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\ Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\
- You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\ For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.}
+ { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\space Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\space
+ You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\space For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.}
\cs_new_protected:Nn \__acceptor_data_add:nnn
{
@@ -607,36 +645,56 @@
%%%%%%%%%% End Acceptor Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% extensive edits 2024/06/25
\seq_new:N \g_degree_name_seq
\seq_new:N \g_degree_department_seq
\int_gzero_new:N \g_degree_degreecnt_int
-\int_gzero_new:N \g__degree_degreeflag_int
+\int_gzero_new:N \g_degree_deptcnt_int
\NewDocumentCommand\Degree{mm}
{
- \tl_if_blank:nTF {#1} {
- \msg_error:nn { \ClassName } { blank_degree }
- }{
- \__degree_data_add:nn { #1 } { #2 }
- }
- \tl_if_blank:nT {#2} {
- \int_gset_eq:NN \g__degree_degreeflag_int \g_degree_degreecnt_int
- \msg_warning:nnx { \ClassName } { blank_degree_dep } { \int_to_arabic:n { \g__degree_degreeflag_int } }
- \tl_if_blank:nT {#1} { \int_gincr:N \g__degree_degreeflag_int }% in case both are blank
- }
+ \int_compare:nNnTF { \g_degree_deptcnt_int } = {0} {
+ \tl_if_blank:nTF {#1} {
+ \msg_error:nn { \ClassName } { no_degree_name }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nT {#2} {
+ \msg_error:nn { \ClassName } { no_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ }
+ }{
+ \tl_if_blank:nTF {#1} {
+ \msg_warning:nn { \ClassName } { blank_degree }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nTF {#2} {
+ \msg_warning:nn { \ClassName } { blank_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ \tl_if_blank:nT {#1} { % in case department is blank
+ \__degree_data_add:nn { #1 } { #2 }
+ }
+ }
+ }
}
+
\cs_new_protected:Nn \__degree_data_add:nn
{
- \int_gincr:N \g_degree_degreecnt_int
\seq_gput_right:cx { g_degree_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_degree_department_seq } { \tl_trim_spaces:n {#2} }
}
-\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
- {You\ MUST\ provide\ a\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
-\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ for\ Degree\ command\ number\
- #1.\ Will\ treat\ as\ a\ duplicate\ of\ previous\ department.}{}
+\msg_new:nnnn { \ClassName } { no_degree_name } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { no_degree_dep } {Missing\ degree\ department\ for\ Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ department\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name\ in\ second\ Degree\ command.\ Will\ treat\ as\ two\ departments\ issuing\ one\ degree.}{}
+\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ in\ second\ \ Degree\ command.\ Will\ treat\ as\ one\ department\ issuing\ two\ degrees.}{}
\int_zero_new:N \l__degree_degreeno_int
\int_zero_new:N \l__degree_departmentno_int
@@ -651,20 +709,18 @@
\int_incr:N \l__degree_departmentno_int
\cs_new:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_new:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
+% \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
\int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \l__degree_departmentno_int } = {\g__degree_degreeflag_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox {\__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox {in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
- \par%\medskip, removed 2023/10/25 to work better with four block layout of title page
+ \par
\int_until_do:nNnn { \l__degree_degreeno_int } = { \g_degree_degreecnt_int } {
\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par and\par
\int_incr:N \l__degree_degreeno_int
@@ -681,16 +737,14 @@
\int_set:Nn \l__degree_departmentno_int {1}
\cs_set:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_set:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ }\mbox{\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
- \int_incr:N \l__degree_departmentno_int
+% \mbox {Submitted\ to\ the\ }\mbox {\__degree_prevdept:} % changed 2024/4/20
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
+ \int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \g__degree_degreeflag_int } = { \g_degree_degreecnt_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox { \__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox{on\ \g_dd_thesisdate_tl\ in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
@@ -749,7 +803,8 @@
\int_do_while:nNnn { \g__signature_supno_int } < { \g_supervisor_supervisorcnt_int } {
\int_gincr:N \g__signature_supno_int
Certified\ by: \> \seq_item:cn { g_supervisor_name_seq } { \g__signature_supno_int } \\
- \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\ Thesis\ Supervisor\\[1em]
+ \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\
+ \g_titlepage_supervisor_designation_tl \\[1em]
}
\int_compare:nNnF { \g_acceptor_acceptorcnt_int } = {0} {
\int_do_while:nNnn { \g__signature_accno_int } < { \g_acceptor_acceptorcnt_int } {
@@ -883,12 +938,12 @@
\tl_gset:Nn \g_copyright_copyrightlicencse_tl
{This\ work\ is\ licensed\ under\ a\ \mbox{\g_copyright_cclicensetext_tl}\ license.\par\g_copyright_mitpermission_tl}
\tl_gset:Nn \g_copyright_pdfrightstext_tl
- {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\ \g_copyright_mitpermission_tl}
+ {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\space \g_copyright_mitpermission_tl}
}{
\tl_gset:Nn \g_copyright_copyrightlicencse_tl
{All\ rights\ reserved. \par\g_copyright_mitpermission_tl}
\tl_gset:Nn \g_copyright_pdfrightstext_tl
- {All\ rights\ reserved.\ \g_copyright_mitpermission_tl}
+ {All\ rights\ reserved.\space \g_copyright_mitpermission_tl}
}
\int_compare:nNnTF {\g_author_authorcnt_int} > {1}
{
@@ -908,8 +963,10 @@
{\centering \vbox_to_ht:nn { \vsize }% to prevent signature block from breaking across page
{
\setlength{\parskip}{7.5pt plus 1pt minus 1pt}% edited all vertical space on this page 2023/10/25
- \setlength{\parindent}{0pt}
- {\Large\textbf{\g_mitthesis_title_tl}\phantomsection\addcontentsline{toc}{chapter}{Title\ page}\par} % revise for tagging in future
+ \setlength{\parindent}{0pt}\pdfbookmark[0]{Title\ page}{titlepage}
+ {\Large\textbf{\g_mitthesis_title_tl}
+ %\phantomsection\addcontentsline{toc}{chapter}{Title\ page}
+ \par}
\__titlepage_blockskip:nn {12}{1.5}% new idea
\__author_block:
\__titlepage_blockskip:nn {12}{1.5}
@@ -925,7 +982,7 @@
}
}
\hypersetup{
- pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\ \g_copyright_pdfrightstext_tl},
+ pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\space \g_copyright_pdfrightstext_tl},
pdfauthor={\g__author_pdfca_tl},
pdfcaptionwriter = {\g__author_pdfca_tl},
}
@@ -937,14 +994,17 @@
%%%%%%%%%% Abstract page Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% to change abstract name, follow either of these approaches in your preamble:
+% to change abstract name (e.g., to "Summary"), follow either approach in your preamble:
% \RenewExpandableDocumentCommand\abstractname{}{Summary}
% \renewcommand\abstractname{Summary}
\RenewDocumentEnvironment{abstract}{+b}{
\newpage
\begin{center}
- {\large{\textbf{\g_mitthesis_title_tl}}\phantomsection\addcontentsline{toc}{chapter}{\abstractname}\par} % revise for tagging as LaTeX evolves further
+ \pdfbookmark[0]{Abstract}{abstract}
+ {\large{\textbf{\g_mitthesis_title_tl}}
+ %\phantomsection\addcontentsline{toc}{chapter}{\abstractname}
+ \par}
\setlength{\parskip}{0.5\baselineskip plus 2pt minus 2pt}
\__author_abstractblock:
\par
@@ -992,11 +1052,12 @@
% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
% Third optional argument selects section-level or chapter-level style for the nomenclature list.
+\newcounter{dummy}% for tagging code
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
\csname #3\endcsname *{#2}% this level will vary amongst users!
- \phantomsection\addcontentsline{toc}{#3}{#2}% tagged pdf may not capture both of these ... 2023/10/18
+ \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% \refstepcounter is a hack until tagging code evolves more
\raggedright
\begin{list}{}{%
\setlength{\itemsep}{0pt}%
diff --git a/macros/latex/contrib/moderncv/CHANGELOG b/macros/latex/contrib/moderncv/CHANGELOG
index 245eda72b7..bcfdad1373 100644
--- a/macros/latex/contrib/moderncv/CHANGELOG
+++ b/macros/latex/contrib/moderncv/CHANGELOG
@@ -1,371 +1,396 @@
-version 2.3.1 (2022-02-21)
-- Fix duplicate GitLab icon (#105)
-- Revert using detokenize in social links (#97)
-- Fix broken compilation in classic style (#96)
-
-version 2.3.0 (2021-12-16)
-- Remove font loading from class (#87)
-- Add Matrix and Signal icon (#84)
-- Improved symbol loading (#84)
-
-version: 2.2.0 (2021-07-28)
-- Remove dot in cventry when using moderncvbodyi.
+version 2.4.1 (18 Jul 2024)
+- Fix commons/colors.tex not found in package (#194)
+
+version 2.4.0 (08 Jul 2024)
+- Rewrote user guide, thanks to David Seus (#58, #106, #169).
+- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162).
+- Fixed unnecessary academicons warning when academicons aren't used (#161).
+- Fixed page counts unnecessarily linking to the last page of the PDF (#159).
+- Added support for an optional signature in the cover letter (#157).
+- Added support for non-ASCII characters in links (#155).
+- Added option to force a homepage link to use HTTP rather than HTTPS (#154).
+- Passed unicode option directly to hyperref to avoid conflicts with the
+ inclusion of hyperref by other packages (#148).
+- Fixed the sender block on the cover letter in banking style (#146).
+- Added option to classic style to align header elements at the top (#144).
+- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation
+ and Battle.net social icons (#131).
+- Removed extra dash in PDF metadata when CV title is empty (#116).
+- Added support for an optional subject line in the cover letter (#114).
+- Added Discord social icon (#112).
+- Replace instances of ~~~ in codebase with \hspace to be more compatible with
+ babel for Spanish (#109).
+- Added Codeberg and Mastodon social icons (#107).
+- New \social options: arXiv, INSPIRE (#185)
+- Systematize colors and make them user adjustable. See documentation for details.
+ This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151).
+- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150).
+- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150).
+- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74).
+- Introducing \cvtripleitem command for items in three columns. Closing feature request #174.
+- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69).
+
+version 2.3.1 (21 Feb 2022)
+- Fix duplicate GitLab icon (#105).
+- Revert using detokenize in social links (#97).
+- Fix broken compilation in classic style (#96).
+
+version 2.3.0 (16 Dec 2021)
+- Remove font loading from class (#87).
+- Add Matrix and Signal icon (#84).
+- Improved symbol loading (#84).
+
+version: 2.2.0 (28 Jul 2021)
+- Remove dot in \cventry when using moderncvbodyi.
+
- Remove http baseurl in hyperref.
-- Change font encoding to use fontspec with Latin Modern for luatex and xetex,
+- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
- Add birthdate field command.
- Add Social entries for WhatsApp, Signal and Matrix.
- Fix Researcher ID not showing (#29).
-- Make options 'symbols' and 'nosymbols' available to all styles to toggle whether
- symbols should be used or not. Include symbols in oldstyle by default.
-- Migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
+- Make options "symbols" and "nosymbols" available to all styles to toggle
+ whether symbols should be used or not. Include symbols in oldstyle by default.
+- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax.
- Fix resumé typo in template. Is now résumé.
- Various other minor fixes.
version 2.1.0 (21 Jan 2021)
-- maintainer change: now team maintained (https://github.com/moderncv), since
- original repository is basically dead since 2016.
-- new \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
- ResearcherID, ResearchGate, Telegram and Google Scholar
-- hyperlinks in phone numbers
-- switch from l3regex to expl3
-- new skill matrix feature
-- move to fonawesome5 package
-- default to https
+- Maintainer change: now team maintained (https://github.com/moderncv), since
+ original repository has been basically dead since 2016.
+- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
+ ResearcherID, ResearchGate, Telegram and Google Scholar.
+- Hyperlinks in phone numbers.
+- Switch from l3regex to expl3.
+- New skill matrix feature.
+- Move to fontawesome5 package.
+- Default to https.
version 2.0.0 (28 Jul 2015)
- - refactored the code into heads, body, foot and icon substyles. All styles
- (classic, casual, banking and oldstyle) are just a combination of these and
- some font selection. Mixing substyles (e.g., the banking header with the
- classic body) is now trivial by using the \moderncvhead, \moderncvbody,
- \moderncvfoot and \moderncvicons commands. Each of these take a substyle number
- as argument. \moderncvcolor takes a color name as argument.
- - added a new style, "fancy".
- - added an optional argument to \moderncvstyle to specify style options, i.e.
- \moderncvstyle[options]{style}. Below is a list of the available options per
- style:
- * classic
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * casual
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * banking
- > to specify how the section- and subsectionrules should be set:
- "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
- short rules for subsections), "centered" (fullrules with centered title)
- and "norules" (norules, small caps font);
- > to specify how the body should be aligned: left" (default), "center" or
- "right";
- * oldstyle & fancy
- n/a
- - added a new color variant: "burgundy".
- - corrected the color of \addressstyle to match the one effectively used
- (color2).
- - adjusted the bibliography spacing to handle entries with or without labels.
- - added a check on the emptyness of \title when setting the hyperref document
- properties.
+- Refactored the code into heads, body, foot and icon substyles. All styles
+ (classic, casual, banking and oldstyle) are just a combination of these and
+ some font selection. Mixing substyles (e.g., the banking header with the
+ classic body) is now trivial by using the \moderncvhead, \moderncvbody,
+ \moderncvfoot and \moderncvicons commands. Each of these take a substyle
+ number as argument. \moderncvcolor takes a color name as argument.
+- Added a new style: fancy.
+- Added an optional argument to \moderncvstyle to specify style options, i.e.
+ \moderncvstyle[options]{style}. Below is a list of the available options per
+ style:
+ * classic
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * casual
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * banking
+ > to specify how the section and subsection rules should be set:
+ "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
+ short rules for subsections), "centered" (fullrules with centered title)
+ and "norules" (norules, small caps font);
+ > to specify how the body should be aligned: left" (default), "center" or
+ "right";
+ * oldstyle & fancy
+ > n/a
+- Added a new color variant: "burgundy".
+- Corrected \addressstyle color to match the one effectively used (color2).
+- Adjusted the bibliography spacing to handle entries with or without labels.
+- Added a check on the emptiness of \title when setting the hyperref document
+ properties.
version 1.5.1 (29 Apr 2013)
- - made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon
- set and if not, revert to the marvosym icon set.
+- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set
+ and if not, revert to the marvosym icon set.
version 1.5.0 (23 Apr 2013)
- - added a command to showcase social accounts in one's personal information:
- \social. The command currently handles automatically LinkedIn, Twitter and
- Github accounts, and other links can be provided explicitly.
- - added a new icon set: "awesome" (using the icons from the Font Awesome font).
- - set the "awesome" icon set as the default for the "casual" and "banking"
- style variants (can be changed back with \moderncvicons{marvosym}).
- - forced all the icons of the "letters" icon set to be of the same width, for
- alignment purpose.
- - added a letter icon ("W") for the homepage of the "letters" icon set.
- - forced some white space between the main text and the footer of the "casual"
- style variant.
- - removed the rule below the headings of the cvcolumns environment.
+- Added a command to showcase social accounts in one's personal information:
+ \social. The command currently handles LinkedIn, Twitter and Github accounts
+ automatically, and other links can be provided explicitly.
+- Added a new icon set: "awesome" (using the icons from the Font Awesome font).
+- Set the "awesome" icon set as the default for the casual and banking styles
+ (can be changed back with \moderncvicons{marvosym}).
+- Forced all the icons of the "letters" icon set to be of the same width, for
+ alignment purposes.
+- Added a letter icon ("W") for the homepage of the "letters" icon set.
+- Forced some whitespace between the main text and the footer of the casual
+ style.
+- Removed the rule below the headings of the cvcolumns environment.
version 1.4.0 (28 Mar 2013)
- - deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
- can be "fixed" (default), "mobile" or "fax". As part of the change, one can now
- use each of these multiple times, to e.g. display multiple mobile phone numbers.
- - deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
- - added a new mechanism to select amongs different possible icon sets:
- \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
- default in the "banking", "casual" and "classic" style variants) or "letters"
- (used by default in the "oldstyle" style variant). \moderncvicons should
- always be called after \moderncvstyle in order to override the style variants
- defaults.
- - added a command to control the font of the page numbering: \pagenumberfont,
- as requested by fr1a1nky (launchpad question #224496).
- - removed the use of the suffix package.
+- Deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
+ can be "fixed" (default), "mobile" or "fax". As part of the change, one can
+ now use each of these multiple times, e.g. to display multiple mobile phone
+ numbers.
+- Deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
+- Added a new mechanism to select amongs different possible icon sets:
+ \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
+ default in the banking, casual and classic styles) or "letters" (used by
+ default in the oldstyle style). \moderncvicons should always be called after
+ \moderncvstyle in order to override the styles' defaults.
+- Added a command to control the font of the page numbering: \pagenumberfont, as
+ requested by fr1a1nky (launchpad question #224496).
+- Removed the use of the suffix package.
version 1.3.0 (09 Feb 2013)
- - added a new environment to create multiple columns: cvcolumns. Each column
- is then created by \cvcolumn[width]{header}{content}, where the optional width
- is given as a fraction of the total width (between 0 and 1). The header and
- content are robust and can contain any paragraph command (e.g., a nest itemize
- environment).
- - added a macro (\pdfpagemode) to control what is visible upon opening compiled
- pdfs (assuming pdf reader support), as suggested by U. Stöhr.
- Possible values include: "UseNone" (only the document), "UseThumbs" (show
- thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
- fullscreen mode).
- - added a 3rd, fully optional (can be omitted or left blank) argument to
- \address to specify a country, as requested on launchpad (launchpad bug
- #1063995).
- - compacted list environments further.
- - replaced the use of the xargs package by the xparse one.
+- Added a new environment to create multiple columns: cvcolumns. Each column is
+ then created by \cvcolumn[width]{header}{content}, where the optional width is
+ given as a fraction of the total width (between 0 and 1). The header and
+ content are robust and can contain any paragraph command (e.g., a nested
+ itemize environment).
+- Added a macro (\pdfpagemode) to control what is visible upon opening compiled
+ PDFs (assuming PDF reader support), as suggested by U. Stöhr.
+ Possible values include: "UseNone" (only the document), "UseThumbs" (show
+ thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
+ fullscreen mode).
+- Added a 3rd, fully optional (can be omitted or left blank) argument to
+ \address to specify a country, as requested on launchpad (launchpad bug
+ #1063995).
+- Compacted list environments further.
+- Replaced the use of the xargs package by the xparse one.
version 1.2.1 (04 Dec 2012)
- - fixed a regression bug introduced in version 1.2.0 in the header of the
- "banking" style when no title is used, as reported on tex.stackexchange
- (question #85427).
+- Fixed a regression bug introduced in v1.2.0 in the header of the banking style
+ when no title is used, as reported on tex.stackexchange (question #85427).
version 1.2.0 (31 Oct 2012)
- - updated the "banking" style header to include the option to show a title.
- - set the values of \arrayrulewidth and \doublerulesep to their standard values
- (0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by
- default.
- - modified the code of \makecvtitle and \makelettertitle of the "casual" style
- to avoid it to cause horizontal alignment issues after and before itself.
- - corrected a bug in \makelettertitle of most styles that displayed the current
- date (\today) instead of the date given through the \date command, as reported
- by B. Schlimmchen and S. Fnord.
- - removed the need to set pdfpagelabels=false when loading hyperref, by putting
- \pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured
- out by J. Wolf.
- - corrected the line wrapping of \cvlistitem of the "banking" style.
- - corrected a bug in \makecvtitle and \makelettertitle of the "banking" style.
- - removed an unwanted space in the footer of the "casual" style.
- - moved the font style definitions to moderncv.cls for better readability
- (moderncv.cls is meant to be a sort of header file, implementing only some
- macros shared by all styles and defining the macros that the style files need
- to implement).
+- Updated the banking style header to include the option to show a title.
+- Set the values of \arrayrulewidth and \doublerulesep to their standard values
+ (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and
+ arrays by default.
+- Modified the code of \makecvtitle and \makelettertitle of the casual style to
+ avoid it causing horizontal alignment issues before and after itself.
+- Corrected a bug in \makelettertitle of most styles that displayed the current
+ date (\today) instead of the date given through the \date command, as reported
+ by B. Schlimmchen and S. Fnord.
+- Removed the need to set pdfpagelabels=false when loading hyperref by putting
+ \pagenumbering{arabic} (to define \thepage) before loading hyperref, as
+ figured out by J. Wolf.
+- Corrected the line wrapping of \cvlistitem of the banking style.
+- Corrected a bug in \makecvtitle and \makelettertitle of the banking style.
+- Removed an unwanted space in the footer of the casual style.
+- Moved the font style definitions to moderncv.cls for better readability
+ (moderncv.cls is meant to be a sort of header file, implementing only some
+ macros shared by all styles and defining the macros that the style files need
+ to implement).
version 1.1.3 (10 Aug 2012)
- - corrected a longstanding issue causing hyperref to issue two warnings
- regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld
- (launchpad bug #1035466).
+- Corrected a long-standing issue causing hyperref to issue two warnings about
+ its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad
+ bug #1035466).
version 1.1.2 (09 Aug 2012)
- - fixed a regression bug introduced in version 1.0.0 in the footer of the
- "casual" style, as discovered on tex.stackexchange (question #66316).
+- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style,
+ as discovered on tex.stackexchange (question #66316).
version 1.1.1 (30 Jul 2012)
- - fixed a compatibility issue introduced in version 1.0.0 when
- \maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe
- on launchpad (launchpad bug #1030802). The template now correctly uses
- \makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for
- backward compatibility.
+- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was
+ renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad
+ bug #1030802). The template now correctly uses \makecvtitlenamewidth, and
+ \maketitlenamewidth was created as an alias forbackward compatibility.
version 1.1.0 (29 Jul 2012)
- - fixed the switching from letter to resume, correcting spacing errors when a
- letter is typeset before the resume, as noticed by U. Gabor.
- - fixed the vertical alignment of the footers, as reported by T. Homa.
- Footers are now aligned to the bottom and the letter and cv footers are
- perfectly aligned in the "casual" style.
- - prepared moderncv for fontspec font loading (still commented in code).
- - changed the handling of the "sans" and "roman" class options, to be reflected
- at the beginning of the document and override style font choices.
- - turned unicode support in hyperref on by default.
- - tweaked the use of \textbullet to avoid the fall-back to Computer Modern
- fonts and prepared the use of symbols from the MarVoSym font for fontspec
- (LauLaTeX or XeLaTeX).
- - tweaked the \subsectionfill of the "banking" style to distribute extra space
- evenly between leaders.
- - added two options to change the "Enclosure" string used for the letter
- enclosure: either specify another string as optional argument to \enclosure,
- or redefine \enclname, as suggested by D. Wille.
+- Fixed the switching from letter to resume, correcting spacing errors when a
+ letter is typeset before the resume, as noticed by U. Gabor.
+- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers
+ are now aligned to the bottom and the letter and CV footers are perfectly
+ aligned in the casual style.
+- Prepared moderncv for fontspec font loading (still commented out in code).
+- Changed the handling of the "sans" and "roman" class options, to be reflected
+ at the beginning of the document and override style font choices.
+- Turned unicode support in hyperref on by default.
+- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts
+ and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or
+ XeTeX).
+- Tweaked the \subsectionfill of the banking style to distribute extra space
+ evenly between leaders.
+- Added two options to change the "Enclosure" string used for the letter
+ enclosure: either specify another string as an optional argument to \enclosure
+ or redefine \enclname, as suggested by D. Wille.
version 1.0.0 (26 Mar 2012)
- - added commands to generate letters for every resume style: \recipient, \date,
- \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
- old \maketitle and \makefooter commands are now deprecated and replaced by
- \makecvtitle and \makecvfooter.
- - changed the alignment algorithm for the personal data display in the oldstyle
- style, as to align on the baseline of the first line with the surrounding text.
+- Added commands to generate letters for every resume style: \recipient, \date,
+ \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
+ old \maketitle and \makefooter commands are now deprecated and replaced by
+ \makecvtitle and \makecvfooter.
+- Changed the alignment algorithm for the personal data display in the oldstyle
+ style, to align on the baseline of the first line with the surrounding text.
version 0.19.0 (06 Feb 2012)
- - reintroduced the ability to force the width reserved to display the name
- in the resume header for the classic style (\maketitlenamewidth).
- - improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476).
- - fixed a footersymbol bug in the casual style when no mobile number was given,
- as reported by S. Wunsch (launchpad bug #922470).
- - fixed a display bug when an address was given without postcode/city, as
- reported by O. Shaneh (launchpad bug #670263).
+- Reintroduced the ability to force the width reserved to display the name in
+ the resume header for the classic style (\maketitlenamewidth).
+- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476).
+- Fixed a \footersymbol bug in the casual style when no mobile number was given,
+ as reported by S. Wunsch (launchpad bug #922470).
+- Fixed a display bug when an address was given without postcode/city, as
+ reported by O. Shaneh (launchpad bug #670263).
version 0.18.0 (05 Feb 2012)
- - corrected the handling of pdf bookmarks, as suggested on stackexchange by
- U. Fischer.
- - improved the spacing between sections and subsections by using \addvspace
- instead of \vspace.
- - corrected the spacing between entries with nested itemize environments
- (temporary solution working only for single line items).
- - added a check in the oldstyle style for an empty 4th argument in the
- \cvdoubleitem definition, to avoid printing a colon without preceding label.
- - added a new style on top of classic, casual and oldstyle: banking.
+- Corrected the handling of PDF bookmarks, as suggested on stackexchange by
+ U. Fischer.
+- Improved the spacing between sections and subsections by using \addvspace
+ instead of \vspace.
+- Corrected the spacing between entries with nested itemize environments
+ (temporary solution working only for single line items).
+- Added a check in the oldstyle style for an empty 4th argument in the
+ \cvdoubleitem definition to avoid printing a colon without a preceding label.
+- Added a new style on top of classic, casual and oldstyle: banking.
version 0.17.0 (25 Jan 2012)
- - changed the footer algorithm of style casual to avoid starting lines with
- the footer symbol.
- - aligned the space before and after the title across styles.
- - added an optional title to the casual style.
- - changed the definition of the font styles to avoid undesired extra spacing.
- - added a Spanish template, kindly provided by I. Buitrón.
- - corrected the vertical misalignment between the page number and the center
- footer in the casual style.
+- Changed the footer algorithm of the casual style to avoid starting lines with
+ the footer symbol.
+- Aligned the space before and after the title across styles.
+- Added an optional title to the casual style.
+- Changed the definition of the font styles to avoid undesired extra spacing.
+- Added a Spanish template, kindly provided by I. Buitrón.
+- Corrected the vertical misalignment between the page number and the center
+ footer in the casual style.
version 0.16.0 (15 Jan 2012)
- - added starred versions of \section and \subsection (that are identical to
- their non-starred version, to e.g. enable biblatex support as requested by
- S. Verberkt (launchpad bug #913102).
- - corrected a misalignment of the colored rule in front of the section titles
- in the classic and casual styles, as reported by P. Neidhardt (launchpad bug
- #915910).
+- Added starred versions of \section and \subsection that are identical to their
+ non-starred versions (e.g. to enable BibLaTeX support) as requested by
+ S. Verberkt (launchpad bug #913102).
+- Corrected a misalignment of the colored rule in front of the section titles in
+ the classic and casual styles, as reported by P. Neidhardt (launchpad bug
+ #915910).
version 0.15.1 (23 December 2011)
- - corrected a bug in the classic style causing the address font and color not
- being carried over newlines, as reported by J. Smith.
+- Corrected a bug in the classic style causing the address font and color to not
+ be carried over newlines, as reported by J. Smith.
version 0.15.0 (19 December 2011)
- - corrected list spacing.
- - corrected inconsistent use of sans serif fonts in roman layout option.
- - the lmodern fonts are now automatically loaded only if installed on the
- system. The "nolmodern" option is now therefore obsolete.
- - complete code refactoring separating themes in separate styles and colors.
- - renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
- to \cvdoubleitem (the old command name still work and redirect to the new ones,
- but are deprecated).
- - removed the arbitrary minipage widths of skill proficiency vs comment in
- \cvitemwithcomments. The skill proficiency is now typeset exactly as given
- (i.e. one one line if no linebreaks are implicitly given) and the comment uses
- the remaining horizontal space.
- - changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
- the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc).
- The way to change the list symbol is to redefine \listitemsymbol.
- - added a new style on top of classic and casual: oldstyle.
- - loaded the microtype package to improve typography.
+- Corrected list spacing.
+- Corrected inconsistent use of sans serif fonts in roman layout option.
+- The lmodern fonts are now automatically loaded only if they're installed on
+ the system. The "nolmodern" option is now therefore obsolete.
+- Completed code refactoring separating themes in separate styles and colors.
+- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
+ to \cvdoubleitem (the old command names still work and redirect to the new
+ ones, but are deprecated).
+- Removed the arbitrary minipage widths of skill proficiency vs comment in
+ \cvitemwithcomments. The skill proficiency is now typeset exactly as given
+ (i.e. one one line if no linebreaks are implicitly given) and the comment uses
+ the remaining horizontal space.
+- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
+ the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc).
+ The way to change the list symbol is to redefine \listitemsymbol.
+- Added a new style on top of classic and casual: oldstyle.
+- Loaded the microtype package to improve typography.
version 0.14.0 (04 December 2011)
- - added support for CJK, thanks to the help of P. D'Apice.
- - the use of \recomputelengths after modifying any length in the preamble is
- now unnecessary; \recomputelength is automatically called at the start of the
- document.
+- Added support for CJK, thanks to the help of P. D'Apice.
+- The use of \recomputelengths after modifying any length in the preamble is now
+ unnecessary; \recomputelength is automatically called at the start of the
+ document.
version 0.13.1 (11 November 2011)
- - corrected a bug introduced by v0.13 in the classic style when no \photo is
- used, as reported by S. Gislais (launchpad bug #888702).
+- Corrected a bug introduced by v0.13 in the classic style when no \photo is
+ used, as reported by S. Gislais (launchpad bug #888702).
version 0.13.0 (06 November 2011)
- - added a "black" color option to render the resume in black & white, as
- suggested by F. Bicarri.
- - removed the pdflatex option when loading hyperref to enable other engines
- (e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by
- K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
- - added a "purple" color option, as proposed by B. Ravel.
- - added a 3rd optional argument to the \photo command to control the thickness
- of the framebox. Setting it to 0pt will disable the frame around the photo, as
- requested by T. Krennwallner (launchpad bug #664568).
+- Added a "black" color option to render the resume in black & white, as
+ suggested by F. Bicarri.
+- Removed the pdflatex option when loading hyperref to enable other engines
+ (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by
+ K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
+- Added a "purple" color option, as proposed by B. Ravel.
+- Added a 3rd optional argument to the \photo command to control the thickness
+ of the framebox. Setting it to 0pt will disable the frame around the photo, as
+ requested by T. Krennwallner (launchpad bug #664568).
version 0.12.0 (03 August 2010)
- - prevented pagebreaks after sections and subsections (launchpad bug #409902),
- as originally reported by C. Gaspoz and fixed by launchpad user tentotwo).
+- Prevented pagebreaks after sections and subsections (launchpad bug #409902),
+ as originally reported by C. Gaspoz and fixed by launchpad user tentotwo.
version 0.11.0 (20 July 2010)
- - removed the \ifpdf check when loading the graphicx package, as graphicx does
- does check internally and this was preventing proper functionning with xelatex
- and luatex, as reported by A. Trautmann. The same check was also removed
- everywhere else in the document (i.e. when loading the color and hyperref
- packages).
+- Removed the \ifpdf check when loading the graphicx package, as graphicx
+ already does this check internally. This was preventing proper functioning
+ with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also
+ removed everywhere else in the document (i.e. when loading the color and
+ hyperref packages).
version 0.10.0 (13 June 2010)
- - fixed a compatibility issue with the natbib package (natbib uses \section*
- to format the bibliography title, while only \section was defined by
- moderncv), as reported on launchpad (launchpad bug #393920).
- - fixed a compatibility issues with (any package relying on) the etoolbox
- package, due to the double definition of \AtEndPreamble, as reported by
- D. Becker.
+- Fixed a compatibility issue with the natbib package (natbib uses \section* to
+ format the bibliography title, while only \section was defined by moderncv),
+ as reported on launchpad (launchpad bug #393920).
+- Fixed compatibility issues with (any package relying on) the etoolbox package,
+ due to the double definition of \AtEndPreamble, as reported by D. Becker.
version 0.9.0 (31 May 2010)
- - added support for the itemize, enumerate and description environments.
+- Added support for the itemize, enumerate and description environments.
version 0.8.0 (24 May 2010)
- - added support for multibib. Also modified the template to illustrate how to
+- Added support for multibib. Also modified the template to illustrate how to
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
- - added a command to indicate your personal homepage (\homepage{url}), as
+- Added a command to indicate your personal homepage (\homepage{url}), as
requested by J. de Jong and A. Pairet.
- - corrected an alignment bug for text following a \quote with no immediate
+- Corrected an alignment bug for text following a \quote with no immediate
\section, as kindly reported by J. Vermeulen and L. Saliou.
- - corrected a spacing bug when no blank line (or \par) is left after
- \maketitle. Thanks to A. Menzel for reporting the strange behaviour.
- - corrected the alignment of the extrainfo title part when no picture was
- used, as reported by M. Bana.
- - corrected the missplacement of pdf bookmarks as noticed by L. Fortunato.
- - corrected several bugs linked to the code for checking for empty arguments
- in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
+- Corrected a spacing bug when no blank line (or \par) is left after \maketitle.
+ Thanks to A. Menzel for reporting the strange behaviour.
+- Corrected the alignment of the \extrainfo title part when no picture was used,
+ as reported by M. Bana.
+- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato.
+- Corrected several bugs linked to the code for checking for empty arguments in
+ \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
E. Gregorio.
version 0.7.0 (17 June 2008)
- - corrected an outstanding spacing bug (space between cvlines longer
- than 1 line).
- - removed the need to use \closesection and \emptysection as internal
- tabulars are now always closed. This allows she use of bibliography packages
- such as bibunits. Thanks to S. Busch for pointing out the incompatibility and
- helping testing out the bug correction.
- - changed the definition of \photo: the first (optional) argument should
- give the desired width of the picture, instead of its height
- - corrected an alignment bug for \cvlistitems longer than 1 line, as
- reported by S. Nikolopoulos.
- - deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
+- Corrected an outstanding spacing bug where the space between cvlines was
+ longer than 1 line.
+- Removed the need to use \closesection and \emptysection as internal tabulars
+ are now always closed. This allows the use of bibliography packages such as
+ bibunits. Thanks to S. Busch for pointing out the incompatibility and helping
+ test out the bug correction.
+- Changed the definition of \photo: the first (optional) argument should give
+ the desired width of the picture, instead of its height
+- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by
+ S. Nikolopoulos.
+- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
Instead, just set \hintscolumnwidth to the desired length by using the regular
\setlength or \settowidth commands, and call \recomputelengths.
- - added the ability to control the width of the name placeholder in the
- classic theme, by setting the length \maketitlenamewidth. Again, don't forget
- to call \recomputelengths afterward.
+- Added the ability to control the width of the name placeholder in the classic
+ theme, by setting the length \maketitlenamewidth. Again, don't forget to call
+ \recomputelengths afterward.
version 0.6.0 (28 May 2007)
- - corrected some spacing bugs and cleaned up the code.
- - corrected a bug in the bibliography file of the examples spotted by
- U. Stöhr.
- - added color variants to the classic and casual style, as suggested by
+- Corrected some spacing bugs and cleaned up the code.
+- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr.
+- Added color variants to the classic and casual styles, as suggested by
U. Stöhr.
- - added a page counter for resumes running longer than 1 page, as requested by
+- Added a page counter for resumes running longer than 1 page, as requested by
A. Martin. It can be disabled by the command \nopagenumbers{}.
- - added commands to include a mobile phone and fax number.
- - made the symbols used for the phone number, the email, ... customizable.
- To modify those symbols, just redefine \phonesymbol, emailsymbol, ...
- - corrected the pdf information given to hyperref as pointed out by
- C. Knuepfer.
- - rewrote the examples.
+- Added commands to include a mobile phone and fax number.
+- Made the symbols used for the phone number, the email etc. customizable. To
+ modify those symbols, just redefine \phonesymbol, \emailsymbol etc.
+- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer.
+- Rewrote the examples.
version 0.5.0 (9 September 2006)
- - added a \photo command to display a picture. That command takes the name of
- the file with the picture as argument, and the desired height as optional
- argument.
- - implemented the needed commands to make moderncv compatible with BibTeX, as
+- Added a \photo command to display a picture. This command takes the name of
+ the file with the picture as a required argument and the desired height as an
+ optional argument.
+- Implemented the needed commands to make moderncv compatible with BibTeX, as
suggested by J. Lie. This makes it possible to display one's publications,
- stored in the BibTeX file 'publications.bib'
- by using:
+ stored in the BibTeX file "publications.bib" by using:
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}
- As usual, the name of the section title can be changed by redefining the
- command \refname.
- - added the \today command, useful for example if one need to add the date the
- resumé was produced with
+ As usual, the name of the section title can be changed by redefining \refname.
+- Added the \today command, useful for example if one needs to add the date the
+ resume was produced with:
\closesection{}
\vfill{\hfill{\scriptsize Produced \today.}}
at the end of your CV, as suggested by F. Hammann.
version 0.4.0 (2 May 2006)
- - removed the dependency on the geometry package, so that users can now invoke
- it themselve, and easily change the geometry of the page.
+- Removed the dependency on the geometry package so that users can now invoke it
+ themselves and easily change the geometry of the page.
version 0.3.0 (10 April 2006)
- - moderncv now uses the 'longtable' class, allowing cv sections to split
- across multiple pages.
- - the different lengths used by moderncv are now customizable! In particular,
- the first column (the one containing the date in the examples), can now be set
+- Moderncv now uses the longtable class, allowing CV sections to split across
+ multiple pages.
+- The different lengths used by moderncv are now customizable! In particular,
+ the first column (the one containing the date in the examples) can now be set
to any width, for people needing a smaller or larger one. To do that, either
use
\sethintscolumnlength{<length>},
@@ -374,33 +399,32 @@ version 0.3.0 (10 April 2006)
where <string> is a string of the desired length (usually, the longest string
that has to appear in the column). Thanks to A. Pöge for pointing out the need
of such a feature.
- - added the command \emptysection{}, which makes it possible to start a
- section without name. In combination with \closesection{}, this makes it
- possible to drop out of the layout of moderncv, and come back to it later.
- This should make the inclusion of arbitrary elements not covered by moderncv
- code possible.
- - corrected a spacing problem in the cventry command, as pointed out and
- solved by B. Eßmann.
+- Added the command \emptysection{}, which makes it possible to start an unnamed
+ section. In combination with \closesection{}, this makes it possible to drop
+ out of the layout of moderncv, and come back to it later. This should make the
+ inclusion of arbitrary elements not covered by moderncv code possible.
+- Corrected a spacing problem in the \cventry command, as pointed out and solved
+ by B. Eßmann.
version 0.2.0 (6 March 2006)
- - rewrite of the code to have the styles (fonts, colours, headers and footers)
+- Rewrite of the code to have the styles (fonts, colours, headers and footers)
be defined in different files than the class. The styles are now defined in a
separate file per style, named moderncvstyle<style_name>. It should now be
easy to write your own style, starting from moderncvstyleempty.sty. If you
feel you have created a nice style, just email it to me and I'll include it in
the next version.
- - due to the previous point, styles are now loaded by the command
+- Due to the previous point, styles are now loaded by the command
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
"casual" and "classic" class options, so these are now broken! Use
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
- document. This should be the only incompatibility with version 0.1.
- - added class option "nolmodern" for people without the latin modern fonts.
- - corrected some English mistakes in the examples. Thanks to M. H. Prager for
+ document. This should be the only incompatibility with v0.1.
+- Added class option "nolmodern" for people without the Latin Modern fonts.
+- Corrected some English mistakes in the examples. Thanks to M. H. Prager for
pointing them out.
- - added a \cvlistitem to produce items with a bullet (or whatever is defined
- in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for
- consistency purpose. For compatibility reasons, the command \cvresume still
- works, but should be avoided.
+- Added a \cvlistitem to produce items with a bullet (or whatever is defined in
+ \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency
+ purposes. For compatibility reasons, the command \cvresume still works, but
+ should be avoided.
version 0.1.0 (1 March 2006)
- - first release.
+- First release.
diff --git a/macros/latex/contrib/moderncv/KNOWN_BUGS b/macros/latex/contrib/moderncv/KNOWN_BUGS
index 15b86eccbc..25ef872007 100644
--- a/macros/latex/contrib/moderncv/KNOWN_BUGS
+++ b/macros/latex/contrib/moderncv/KNOWN_BUGS
@@ -1,15 +1,12 @@
-- When using the "fancy" style, undesired space is added between the bibliography
- head and the first entry, as well as after the last entry
-- Moderncv is incompatible with biblatex.
-- Footnotes generates errors (though the output seem correct when running with
- "-interaction=nonstopmode")
-- When using CJK, the last \clearpage required for fancyhdr to work properly kills
- the "lastpage" counter, hence also the page numbering.
-- Moderncv produces an error ("lonely \item--perhaps a missing list environment")
- when used with bibentry, through the output is actually correct. Amongst other,
- this causes compilation by LyX to stop.
-- The space after a cventry gets eaten up when the last argument contains a nested
- itemize environment. An ugly hack and incomplete solution was implemented by
- including a \strut in every item label, but this doesn't solve the problem for
- multi-line items. Ideally, the strut should end the item, but there seems to be
- no way to do this.
+- moderncv is incompatible with biber.
+- moderncv is incompatible with BibLaTeX.
+- moderncv is incompatible with babel in Spanish.
+
+- Skill matrices don't break automatically in fancy style.
+- Long names break the oldstyle style and possibly other styles (needs testing).
+- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented.
+- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode"
+- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering.
+- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop.
+- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this.
diff --git a/macros/latex/contrib/moderncv/README.md b/macros/latex/contrib/moderncv/README.md
index 1eb439d16b..19ff062dae 100644
--- a/macros/latex/contrib/moderncv/README.md
+++ b/macros/latex/contrib/moderncv/README.md
@@ -1,27 +1,44 @@
# moderncv
+[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
+[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
+[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+
## A modern curriculum vitae class for LaTeX
-**moderncv** provides a documentclass for typesetting curricula vitae in various styles. Moderncv aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing one to define his own by modifying colors, fonts, icons, etc.
+The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc.
-Most commands are defined in such a way that arguments are optional.
+## Getting started
-Until a decent manual is written, one can always look in the `template.tex` file for an example. It can be compiled to pdf via `latexmk -pdf ./template.tex`.
+### Installation
+`moderncv` should already be included in your installed LaTeX distribution.
+If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv).
+Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files:
+```
+latexmk -pdf ./template.tex manual/moderncv_userguide.tex
+```
-If using [`academicons`](https://ctan.org/tex-archive/fonts/academicons) in the template, you need to use a Xe(La)TeX or Lua(La)TeX engine for them to render. Otherwise an alternative will be used automatically.
+### Usage
+To get started on your own CV, use and modify the template file `template.tex`.
+The user guide can be found in the folder `manual` and contains additional information on what the document class offers.
+Take a look at it to see if this package suits your needs.
-## Development
+If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically.
-[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
-[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
-[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+## Development
-As the main goal is to keep this package alive, it is maintained in a loosely structured team. You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. Development takes places at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
+As the main goal is to keep this package alive, it is maintained in a loosely structured team.
+You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute.
+Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
## Licence
-moderncv is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
+
+`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
## Origin
-Original author: Xavier Danaux <xdanaux@gmail.com><br/>
-Original repository: https://github.com/xdanaux/moderncv<br/>
-This repository is a fork aiming to maintain moderncv inside CTAN, since upstream is dead since 2016.
+
+Original author: Xavier Danaux <xdanaux@gmail.com>
+<br/>
+Original repository: https://github.com/xdanaux/moderncv
+
+This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016.
diff --git a/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf b/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
index cadbefe386..0468a22e0f 100644
--- a/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
+++ b/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex b/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
index 26d2016178..feb6f31f6f 100644
--- a/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
+++ b/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
@@ -1,462 +1,1071 @@
-%% moderncv_userguide.tex (compiled with pdfLaTeX)
-%% Copyright 2007 Cristina Sambo
+%% moderncv_userguide.tex as shipped with 2024-07-18 v2.4.1 modern curriculum vitae and letter document class (moderncv)
+%% 2021 David Seus, cryptointerest@posteo.de
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
-\documentclass[a4paper,11pt]{article}
+\documentclass[a4paper, 11pt]{article}
-\title{\bfseries Moderncv -- v. 0.6}
-\author{Package by Xavier Danaux \\ \begin{small}Documentation by Cristina Sambo \end{small}}
-\date{}
+\title{%
+ \texttt{moderncv} User Guide\\
+ {\small Package v2.4.1}%
+}
+% Cristina Sambo,
+\author{%
+ Package by Xavier Danaux\\
+ and\\
+ moderncv community\\
+ {\small Documentation by David Seus}%
+}
+\date{\today}
-%language and encoding options
+% Language and encoding options
\usepackage[english]{babel}
+\usepackage{ifxetex, ifluatex}
+\newif\ifxetexorluatex
+\ifxetex
+ \xetexorluatextrue
+\else
+ \ifluatex
+ \xetexorluatextrue
+ \else
+ \xetexorluatexfalse
+ \fi
+\fi
+
+% PDFLaTeX or LUALaTeX/XeLaTeX
+\ifxetexorluatex
+ % \usepackage{luatextra}
+ % \usepackage{lualatex-math}
+ \usepackage{shellesc} % Fix a bug for lualatex shellescape
+ % \usepackage{unicode-math}
+ % \setmathfont{xits-math.otf}
+\else
+ \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex
+\fi
+\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic
\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-%font options
+% Font options
\usepackage{txfonts}
\usepackage{marvosym}
\usepackage{pifont}
-%margins, spacing and page layout
-\usepackage[pdftex,colorlinks=true]{hyperref} %(hyperref must be loaded before geometry)
-\usepackage[pdftex]{geometry}
+% Margins, spacing and page layout
+\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry
+\usepackage[pdftex, marginparwidth=50pt]{geometry}
\geometry{top=2.5cm, bottom=3cm}
-\setlength{\parindent}{0pt} %(to soppress indentation when starting a new paragraph)
-\frenchspacing %(to soppress additional space after a full stop)
-
-%packages
-\usepackage[pdftex]{graphicx}
-\usepackage[pdftex]{xcolor}
-\usepackage[labelfont=sl,font=small,width=0.9\textwidth]{caption}
+\usepackage{parskip} % Replace paragraph indentation with vertical spacing
+\frenchspacing % Suppress additional space after a full stop
+\renewcommand{\arraystretch}{1.1}
+
+% Packages
+\usepackage{graphicx}
+\usepackage{xcolor}
+\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption}
\usepackage{marvosym}
\usepackage{latexsym}
-
-%pdfLaTeX options
-\pdfpagewidth=\paperwidth
-\pdfpageheight=\paperheight
-\pdfimageresolution=150
-\pdfinfo{
- /Title (Moderncv -- v. 0.6)
- /Author (Cristina Sambo)
- /Subject (Moderncv package user's guide)
- /Keywords (curriculum vitae, LaTeX)
+\usepackage{url}
+\usepackage{scrhack} % Fix warnings when using KOMA with listings package
+\usepackage{xspace} % Fix spacing after macros
+\usepackage{mparhack} % Fix marginpar
+\usepackage{microtype}
+\usepackage{multicol} % Multicolumn text for long lists
+
+% Code listings
+\usepackage{listings}
+% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords
+\lstset{%
+ language=[LaTeX]Tex, % C++,
+ morekeywords={PassOptionsToPackage, selectlanguage},
+ keywordstyle=\color{cvblue}, % \bfseries,
+ basicstyle=\small\ttfamily,
+ % identifierstyle=\color{NavyBlue},
+ commentstyle=\color{gray}\ttfamily,
+ stringstyle=\rmfamily,
+ numbers=none, % left,
+ numberstyle=\scriptsize, % \tiny
+ stepnumber=5,
+ numbersep=8pt,
+ showstringspaces=false,
+ breaklines=true,
+ % frameround=ftff,
+ % frame=single,
+ belowcaptionskip=0.75\baselineskip,
+ % frame=L,
+ emph={
+ cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
+ cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
+ name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment,
+ recipient, subject, opening, closing, signature, enclosure
+ },
+ emphstyle={\color{cvblue}},
+ emph={[2]
+ familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
+ addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
+ xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
+ stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol,
+ researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
+ },
+ emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries},
+ literate={{é}{{\'e}}1},
}
-%my commands
-\definecolor{bluecv}{rgb}{0.25,0.5,0.75}
-\definecolor{greencv}{rgb}{0.55,0.85,0.35}
-\definecolor{redcv}{rgb}{1.00,0.30,0.30}
-\definecolor{orangecv}{rgb}{1,0.65,0.20}
-\definecolor{greycv}{rgb}{0.75,0.75,0.75}
+% Hyperlinks
+\usepackage{hyperref}
+\hypersetup{
+ unicode=true,
+ % draft, % Draft mode for printing (see below)
+ colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,
+ % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing)
+ breaklinks=true, pageanchor=true,
+ pdfpagemode=UseNone,
+ % pdfpagemode=UseOutlines,
+ plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,
+ hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks,
+ urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue,
+ % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black,
+ % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks
+ % linkbordercolor=gray!15,
+ % citebordercolor=green!15,
+}
-%==================
+% Colors
+\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30}
+\definecolor{cvred}{rgb}{0.95, 0.20, 0.20}
+\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75}
+\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55}
+\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80}
+
+% Macros
+\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}}
+\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}}
+\newcommand{\note}{\paragraph{Note.}}
+\newcommand{\code}[1]{\lstinline!#1!}
+\newcommand{\moderncv}{\code{moderncv}}
+\newcommand{\Moderncv}{\moderncv~}
+\newcommand{\github}{GitHub}
+\newcommand{\Github}{\github~}
+\newcommand{\ctan}{CTAN}
+\newcommand{\Ctan}{\ctan~}
+\newcommand{\cvtemplate}{\code{template.tex}}
+\newcommand{\Cvtemplate}{\cvtemplate~}
+\newcommand{\Latex}{\LaTeX~}
+\newcommand{\biblatex}{BibLaTeX}
+\newcommand{\Biblatex}{\biblatex~}
+\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}}
+\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}}
+\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}}
+
+
+
+
+
+% ==================
% DOCUMENT BEGINNING
-%==================
+% ==================
\begin{document}
\maketitle
-
\begin{abstract}
-\noindent \texttt{Moderncv}, as its author says in the readme file, provides a documentclass for typesetting modern curriculum vitaes in various styles. It is fairly customizable, allowing you to define your own style by changing the colors, the fonts, \dots\ and provides two default styles: classic and casual.
+ \noindent
+ The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles.
+ Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors.
+ It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking.
+ Several macros allow the user to add content to the CV and format it in a consistent way.
+ A letter of motivation consistent with the style is part of the template as well.
\end{abstract}
+\tableofcontents
+
-\section{Introduction}
-When I saw for the first time this class I was amazing: ``Here it is what I need'', I thought. Using the very clear examples, was easy to make my first curriculum.
-Indeed the class is very simple to use, in this documentation I will only put together all the things to help users to have all on hand.
-
-\smallskip
-\texttt{Moderncv} requires the following packages: \texttt{ifthen}, \texttt{ifpdf}, \texttt{color}, \texttt{lmodern}, \texttt{marvosym}, \texttt{url}, \texttt{hyperref}, \texttt{longtable}, \texttt{graphicx}, \texttt{fancyhdr}, usually all just included in the \LaTeX\ distributions.
-
-\section{In the preamble}
-
-At the very beginning of your preamble (that is the part before \verb|\begin{document}|) insert:
-
-\begin{verbatim}
-\documentclass[<options>]{moderncv}
-\end{verbatim}
-
-where the options are:
-
-\begin{description}
- \item[paper size options:] \texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, \texttt{letterpaper}, \texttt{legalpaper}, \texttt{ex\-ec\-u\-tive\-pa\-per}, \texttt{landscape}
- \item[font size options:] \texttt{10pt}, \texttt{11pt}, \texttt{12pt}
- \item[font option:] \texttt{nolmodern}, for people without the latin modern fonts
- \item[color option:] \texttt{nocolor}, to have all in black and white
- \item[draft/final options:] \texttt{draft}, \texttt{final}
-\end{description}
-
-The default options are: \texttt{a4paper}, \texttt{11pt}, \texttt{color}, \texttt{final}.
-
-After the documentclass specification, choose the theme for your curriculum vit\ae:
-
-\begin{verbatim}
-\moderncvtheme[<options>]{casual}
-\end{verbatim}
-
-which is the default theme, or
-
-\begin{verbatim}
-\moderncvtheme[<options>]{classic}
-\end{verbatim}
-
-where the theme options are:
-
-\begin{description}
- \item[color options:] you can choose between five color:
- \begin{itemize}
- \item[\texttt{blue}] {\color{bluecv}\rule{1cm}{2ex}} (default color)
- \item[\texttt{green}] {\color{greencv}\rule{1cm}{2ex}}
- \item[\texttt{red}] {\color{redcv}\rule{1cm}{2ex}}
- \item[\texttt{orange}] {\color{orangecv}\rule{1cm}{2ex}}
- \item[\texttt{grey}] {\color{greycv}\rule{1cm}{2ex}}
- \end{itemize}
- \item[roman option:] \texttt{roman}, for {\fontsize{11}{12} \usefont{T1}{lmr}{m}{n}\selectfont roman} fonts, instead of \fontsize{11}{12} \usefont{T1}{lmss}{m}{n}\selectfont sans serif fonts.
-\end{description}
-
-Then you have to specify the character encoding (utf8, latin1, and so on):
-
-\begin{verbatim}
-\usepackage[<your encoding>]{inputenc}
-\end{verbatim}
-
-and you can adjust the page geometry:
-
-\begin{verbatim}
-\usepackage[<options>]{geometry}
-\recomputelengths
-\end{verbatim}
-
-where \verb|\recomputelengths| is required when changes are made to page layout lengths.
-
-Now we can get into the part most related to our curriculum vit\ae: our personal data. They will be inserted in the header of the first page, in the classic theme, or in the footer of every page, in the case of casual theme.
-
+
+\section{Getting started}
+\subsection{How to read this manual}
+This manual is organized as follows.
+The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages.
+% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.}
+Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step.
+Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks.
+Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems.
+
+\subsection{Installation instructions}
+If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github:
+
+\begin{tabular}{l}
+ \moderncvCtan \\% [.5ex]
+ \moderncvGithub
+\end{tabular}
+
+\note Depending on your \Latex distribution, you may have to install some additional packages.
+Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system.
+
+
+
+\section{The \texttt{moderncv} template step by step}
+This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV.
+\label{section:moderncvTemplate}
+The easiest way to get started with \Moderncv is to use the template that comes with the package.
+If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package.
+In this folder, there should be a file called \cvtemplate.
+If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package.
+
+\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package.
+Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed.
+
+Test your setup by compiling \Cvtemplate and looking at the result.
+
+\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}.
+However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.}
+
+\subsection{Basic setup}
+A document using the \Moderncv document class is set up like any other document class.
+We will go through the template step by step.
+
+\subsubsection*{Configuring document class options}
+The \Moderncv document class is loaded as per usual, by
+\begin{lstlisting}
+ \documentclass[<options>]{moderncv}
+\end{lstlisting}
+where at most one value for each option can be passed to the document class:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}}
+ \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper},
+ \code{legalpaper}, \code{executivepaper}, \code{landscape} \\
+ \textbf{\code{font family}:} & \code{sans}, \code{roman} \\
+ \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\
+ \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default)
+\end{tabular}
+
+\subsubsection*{Choosing a \texttt{moderncv} style and color}
+Choose a \Moderncv style and color by adjusting the commands
+\begin{lstlisting}
+ \moderncvstyle{<style>}
+ \moderncvcolor{<color>}
+\end{lstlisting}
+As explained in \cvtemplate, the possible values are
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.65\textwidth}}
+ \textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle},
+ \code{fancy} \\
+ \textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred}
+\end{tabular}
+
+\note Some of the styles take additional options to fine-tune their appearance.
+To keep this overview short, these options will be described in section \ref{section:customization:stylesAndOptions}.
+
+\subsubsection*{Font family and page numbering}
+The default font family is set by the line \code{\\renewcommand\{\\familydefault\}\{\\sfdefault\}} in \cvtemplate.
+Use \code{\\sfdefault} for the default sans-serif font, \code{\\rmdefault} for the default roman font, and likewise for any \TeX{} font name.
+The general syntax is
+\begin{lstlisting}
+ \renewcommand{\familydefault}{<fontfamily>}
+ % \nopagenumbers{}
+\end{lstlisting}
+Uncommenting \code{\%\\nopagenumbers\{\}} suppresses automatic page numbering for CVs longer than one page.
+
+\subsubsection*{Adjusting input encoding}
+If you are not using \code{xelatex} or \code{lualatex}, which both use \code{utf8} encoding by default, uncomment the \code{\\usepackage[utf8]\{inputenc\}} import and change the encoding as needed.
+
+\subsubsection{Language-specific setup}
+The \code{babel} package can be loaded in the preamble of your CV.
+
+\note \Moderncv doesn't work with \code{babel} in Spanish (see this \href{https://github.com/moderncv/moderncv/issues/103}{GitHub issue}).
+
+For CJK users, uncomment the \code{\\usepackage\{CJKutf8\}} import.
+
+\subsection{Personal data}
+Edit the personal data section to reflect your personal information.
+This data will appear in the header of the first page of the CV and/or in the footer of every page, as well as on the cover letter.
+Most of the commands are optional, so try out what you like and see what you need.
+
+\paragraph{\code{\\name}}
+A command for your name. Takes the given name and surname as arguments.
+\begin{lstlisting}
+ \name{<given name>}{<surname>}
+\end{lstlisting}
+
+\paragraph{\code{\\title}}
+A command for a document title. Could be used for a generic CV title, job title, etc.
+\begin{lstlisting}
+ \title{<title>}
+\end{lstlisting}
+
+\paragraph{\code{\\born}}
+A command for a birth date.
+\begin{lstlisting}
+ \born{<birth date>}
+\end{lstlisting}
+
+\paragraph{\code{\\address}}
+A command for a three-lined street address.
+\begin{lstlisting}
+ \address{<street address>}{<city and postcode>}{<country>}
+\end{lstlisting}
+
+\paragraph{\code{\\phone}}
+A command for a phone number. Takes the phone type as an optional argument.
+\begin{lstlisting}
+ \phone[<type>]{<phone number>}
+\end{lstlisting}
+The allowed values for \code{<type>} are \code{fax}, \code{fixed} and \code{mobile}.
+
+\paragraph{\code{\\email}}
+A command for an email address.
+\begin{lstlisting}
+ \email{<email address>}
+\end{lstlisting}
+
+\paragraph{\code{\\homepage}}
+A command for a personal website.
+\begin{lstlisting}
+ \homepage{<web address>}
+\end{lstlisting}
+
+\paragraph{\code{\\social}}
+A command for a social media account.
+Takes the platform as an optional argument.
+\begin{lstlisting}
+ \social[<platform>]{<username or handle>}
+\end{lstlisting}
+The following values are supported for \code{<platform>}:
\begin{itemize}
-\item \verb|\firstname{John}|
-\item \verb|\familyname{Doe}|
-\item \verb|\title{Resum\'e title}|: optional
-\item \verb|\address{street and number}{postcode city}|: optional
-\item \verb|\mobile{mobile}|: optional
-\item \verb|\phone{phone}|: optional
-\item \verb|\fax{fax}|: optional
-\item \verb|\email{email}|: optional
-\item \verb|\extrainfo{additional information}|: optional; here you can put, for example, the address of your website
-\item \verb|\photo[64pt]{picture}|: optional; \texttt{64pt} is the height the picture, you can set here the size you prefer; \texttt{picture} is the name of the picture file
-\item \verb|\quote{Some quote}|: optional
-\end{itemize}
-
-Finally you can suppress automatic page numbering for CVs longer than one page:
-
-\begin{verbatim}
-\nopagenumbers{}
-\end{verbatim}
-
-\subsection{Examples}
-
-In practice, you will type:
-
-\begin{verbatim}
-\documentclass[11pt,a4paper]{moderncv}
-
-% moderncv themes
-\moderncvtheme[green]{casual}
-
-% character encoding
-\usepackage[utf8]{inputenc}
-
-% adjust the page margins
-\usepackage[scale=0.8]{geometry}
-\recomputelengths
-
-% personal data
-\firstname{John}
-\familyname{Doe}
-\title{Design enthusiast}
-\address{12 somestreet}{3456 somecity}
-\mobile{+123 456 7890}
-\phone{+12 (3)456 78 90}
-\fax{+12 (3)456 78 90}
-\email{jdoe@design.org}
-\extrainfo{\weblink{www.ctan.org}}
-\photo[64pt]{jdoe_picture}
-\quote{Any intelligent fool can make things bigger, more complex,
-and more violent. It takes a touch of genius -- and a lot of courage -- to
-move in the opposite direction.}
-
-\begin{document}
-\maketitle
-
-... <what you'll see in the next section>
-
-\end{document}
-\end{verbatim}
-
-to obtain a casual moderncv in green, as shown in figure \ref{fig:casual}, and you will substitute the line describing the theme with:
-
-\begin{verbatim}
-% moderncv themes
-\moderncvtheme[blue]{classic}
-\end{verbatim}
-
-to obtain a classic moderncv in blue, as shown in figure \ref{fig:classic}.
-
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_casual.pdf}}
- \caption{An example of casual moderncv in green.}
- \label{fig:casual}
-\end{figure}
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_classic.pdf}}
- \caption{An example of classic moderncv in blue.}
- \label{fig:classic}
-\end{figure}
-
-\section{Customize sections}
-
-Now we are ready to edit the part between \verb|\begin{document}| and \verb|\end{document}|.
-
-As you can seen in figure \ref{fig:casual} e \ref{fig:classic}, you can divide your CV into sections, each of them describing what you are, what you know and what you have done in your life. Every section is divide into items chosen from different flavours. More in details:
-
-\subsection{Section}
-
-The command to open a new section is:
-
-\begin{verbatim}
-\section{<title>}
-\end{verbatim}
-
-and every section can be divided into subsections:
-
-\begin{verbatim}
-\subsection{<title>}
-\end{verbatim}
-
-If necessary, there is a command to close the section:
-
-\begin{verbatim}
-\closesection{}
-\end{verbatim}
-
-and even one to create an empty section:
-
-\begin{verbatim}
-\emptysection{}
-\end{verbatim}
-
-An example of their usage can be the next one:
-
-\begin{verbatim}
-\section{Section with your own content}\closesection
-Your content here, inside the normal \LaTeX{} environment.
-You can use any regular \LaTeX{} command, display mathematics
-\[e =m\,c^2,\]
-put some table or figure, \dots
-
-\emptysection{}
-\cvitem{Now}{Back to moderncv layout, without making a new section :-)}
-\end{verbatim}
-
-whose results is shown in figure \ref{fig:ex_sec}.
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[width=0.9\textwidth]{ex_sec}}
- \caption{Example of usage of section commands.}
- \label{fig:ex_sec}
-\end{figure}
-
-\subsection{Items}
-
-Inside sections, you can choose between different kind of items depending on the purpose:
+ \begin{multicols}{4}
+ \item \code{arxiv}
+ \item \code{battlenet}
+ \item \code{bitbucket}
+ \item \code{codeberg}
+ \item \code{discord}
+ \item \code{github}
+ \item \code{gitlab}
+ \item \code{googlescholar}
+ \item \code{inspire}
+ \item \code{instagram}
+ \item \code{linkedin}
+ \item \code{mastodon}
+ \item \code{matrix}
+ \item \code{orcid}
+ \item \code{playstation}
+ \item \code{researcherid}
+ \item \code{researchgate}
+ \item \code{signal}
+ \item \code{skype}
+ \item \code{soundcloud}
+ \item \code{stackoverflow}
+ \item \code{steam}
+ \item \code{telegram}
+ \item \code{tiktok}
+ \item \code{twitch}
+ \item \code{twitter}
+ \item \code{whatsapp}
+ \item \code{xbox}
+ \item \code{xing}
+ \item \code{youtube}
+ \end{multicols}
+\end{itemize}
+\paragraph{\code{\\extrainfo}}
+A command for any extra information.
+\begin{lstlisting}
+ \extrainfo{<extra information>}
+\end{lstlisting}
+
+\paragraph{\code{\\photo}}
+A command for a photo.
+Takes the image file name as a required argument.
+Takes the height of the photo and the thickness of the photo frame as optional arguments.
+\begin{lstlisting}
+ \photo[<photo height>][<frame thickness>]{<photo file name>}
+\end{lstlisting}
+
+\paragraph{\code{\\quote}}
+A command for a quote.
+\begin{lstlisting}
+ \quote{<quote>}
+\end{lstlisting}
+
+\note{Long names and URLs can break some CVs and cover letters depending on the used style. Manually inserting line breaks for names with \code{\\\\} can help for \texttt{oldstyle} or \texttt{fancy}. Adjusting lengths as described in section \ref{subsection:adjusting:lengths} could help to mitigate issues with long URLs.}
+
+\paragraph{Pictures.}
+For some occasions you may need to include pictures besides the portrait photo. For this task it is helpful to know basic lengths used in \moderncv. For a more detailed description of lengths see section \ref{subsection:adjusting:lengths}.
+For instance, pictures can be included with \code{\\includegraphics}:
+\begin{lstlisting}
+ \hspace{\hintscolumnwidth + \separatorcolumnwidth}\includegraphics[<scale>]{<file name picture>}
+\end{lstlisting}
+Adding \code{\\hspace} in units of basic \code{moderncv} lengths will fit them more naturally into the CV or resume.
+
+\paragraph{Bibliography.}
+In case BibTeX is used, the bibliography settings are adjusted in the lines
+\begin{lstlisting}
+ % to show numerical labels in the bibliography (default is to show no labels)
+ % \renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}
+ % \renewcommand{\refname}{Articles}
+
+ % bibliography with mutiple entries
+ % \usepackage{multibib}
+ % \newcites{book, misc}{{Books}, {Others}}
+\end{lstlisting}
+By default, no labels are shown for bibliography entries.
+Uncommenting the line \code{\%\\renewcommand*\{\\bibliographyitemlabel\}\{[\\arabic\{enumiv\}]\}}
+allows one to fine-tune the labels.
+Uncommenting the line \code{\%\\renewcommand\{\\refname\}\{Articles\}} allows one to redefine the bibliography heading string ``Publications'' that is shown by default.
+Finally, adjustments using the \code{multibib} package can be done in the last two lines shown here.
+
+\note \Biblatex is currently not supported.
+
+\subsection{Modifying CV content}
+\subsubsection{Structuring the CV}
+As with any other document style, the CV can be structured into sections and subsections using \code{\\section} and \code{\\subsection}.
+
+The \Moderncv package provides some macros to add content to your CV.
+The easiest way to understand their intended use is to look at how they're used in the template.
+Nonetheless, we list the macros here along with a short description of their intended use.
+
+\subsubsection{General macros}
+
+\paragraph{\code{\\cvitem}}
+A flexible command for a single CV entry.
+Takes the descriptor and body text as required arguments.
+Can be used to list job experiences and similar.
+\begin{lstlisting}
+ \cvitem{<descriptor>}{<body>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvdoubleitem}}
+A two-column variation of \code{\\cvitem}.
+Takes four required arguments: the descriptor and body text of the first column and the descriptor and body text of the second column.
+Can be used to enter skills, such as computer skills or language skills, in a two-column fashion.
+\begin{lstlisting}
+ \cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvtripleitem}}
+A three-column variation of \code{\\cvitem}.
+Takes six required arguments: the descriptor and body text of the first column, second and third column.
+Can be used to enter skills, such as computer skills or language skills, in a three-column fashion.
+\begin{lstlisting}
+ \cvtripleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}{<descriptor 3>}{<body 3>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvitemwithcomment}}
+A variation of \code{\\cvitem} with an additional argument for a comment.
+Can be used to enter skills such as computer skills or language skills.
+\begin{lstlisting}
+ \cvitemwithcomment{<descriptor>}{<skill level>}{<comment>}
+\end{lstlisting}
+
+\paragraph{\code{\\cventry}}
+A command for entering an education or job experience.
+Takes six required arguments: date(s), degree/job title, educational institution/employer, city, academic grade and description.
+While arguments 3 to 6 aren't optional, they can be left empty.
+If line breaks in argument 6 aren't done properly, a minipage can be used.
+Alternatively, \code{\\newline\{\}} can be used to break lines in argument 6.
+\begin{lstlisting}
+ \cventry{<year--year>}{<degree/job title>}{<institution/employer>}
+ {<city>}{<grade>}{<description>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistitem}}
+A command for a single bullet-list item.
+Very long lines get broken.
+\begin{lstlisting}
+ \cvlistitem{<item>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistdoubleitem}}
+A two-column variation of \code{\\cvlistitem}.
+\begin{lstlisting}
+ \cvlistdoubleitem{<item 1>}{item 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvcolumns}}
+An environment typesetting multicolumn \code{\\cvitem}s.
+This can be combined with the \code{itemize} environment.
+\begin{lstlisting}
+ \begin{cvcolumns}
+ \cvcolumn{<category 1>}{<content>}
+ \cvcolumn{<category 2>}{<content>}
+ \cvcolumn[<width>]{<content>}
+ \end{cvcolumns}
+\end{lstlisting}
+\code{<width>} is a number between 0 and 1 controling the width of the column.
+
+\subsubsection{Skill matrix macros}
+The skill matrix is a table for displaying skills such as computer skills or project management skills graphically.
+The skill matrix table consists of several elements:
\begin{itemize}
- \item in the sections describing your education or your job experiences, you can use:
- \begin{verbatim}
-\cventry{years}{degree/job title}{institution/employer}
-{localization}{optional: grade/...}
-{optional: comment/job description}
- \end{verbatim}
-\vspace{-20pt}
-where the last three arguments are optional
- \item inside `language' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvlanguage{name}{level}{comment}
- \end{verbatim}
- \item inside `computer skills' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvcomputer{category}{programs}{category}{programs}
- \end{verbatim}
- \item to typeset lines with a hint on the left:
- \begin{verbatim}
-\cvline{leftmark}{text}
- \end{verbatim}
- \item to typeset entry with a description on the left, but in two columns inside a cvsection:
- \begin{verbatim}
-\cvdoubleitem{subtitle}{text}{subtitle}{text}
- \end{verbatim}
- \item to typeset lists on one column inside a cvsection:
- \begin{verbatim}
-\cvlistitem{point1}
- \end{verbatim}
- \item to typeset lists on two columns inside a cvsection:
- \begin{verbatim}
-\cvlistdoubleitem{point1}{point2}
- \end{verbatim}
- \item to add a section listing all your publications stored in a BibTeX file:
- \begin{verbatim}
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{BibTeX_file}
- \end{verbatim}
-\vspace{-20pt}
- where the name of the section title can be changed by redefining the \texttt{refname} with \verb|\renewcommand{\refname}{<new_name>}|
+ \item the graphical representation of the skill on a scale from 0 to 5,
+ \item the legend to explain the meaning of the scale,
+ \item a header line to explain the meaning of the table columns and
+ \item the actual skill entries.
\end{itemize}
-\subsubsection*{Example}
-
-Let's put all together and see in figure \ref{fig:sections} what is the result:
-
-\begin{verbatim}
-... preamble ...
-\begin{document}
-\section{Education}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-%
-\section{Master thesis}
-\cvline{title}{\emph{Title}}
-\cvline{supervisors}{Supervisors}
-\cvline{description}{\small Short thesis abstract}
-%
-\section{Experience}
-\subsection{Vocational}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\subsection{Miscellaneous}
-\cventry{year--year}{Job title}{Employer}{City}{}%
- {Description line 1\newline{}Description line 2}
-%
-\section{Languages}
-\cvlanguage{language 1}{Skill level}{Comment}
-\cvlanguage{language 2}{Skill level}{Comment}
-%
-\section{Computer skills}
-\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 3}{XXX, YYY, ZZZ}
-\cvcomputer{category 2}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
-%
-\section{Interests}
-\cvline{hobby 1}{\small Description}
-\cvline{hobby 2}{\small Description}
-\cvline{hobby 3}{\small Description}
-%
-\closesection{}
-\pagebreak
-%
-\section{Extra}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem{Item 3}
-%
-\section{Extra 2}
-\cvlistdoubleitem{Item 1}{Item 4}
-\cvlistdoubleitem{Item 2}{Item 5}
-\cvlistdoubleitem{Item 3}{}
-%
-% Publications from a BibTeX file
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{publications} % 'publications' is the name of a BibTeX file
-%
-\end{document}
-\end{verbatim}
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection2.pdf}}\\
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection1.pdf}}
-\caption{Example of usage of items inside cvsections.}
- \label{fig:sections}
-\end{figure}
-
-\section{More customizations}
-
-You have some useful commands to personalize your CV further.
-
-\subsection*{Modifying the symbols}
-You can modify the symbols used for the personal data (phone number, the email, \ldots) redefining \texttt{phonesymbol}, \texttt{emailsymbol}, \texttt{addresssymbol}, \texttt{mobilesymbol}, \texttt{faxsymbol}.
-
-For example: if you want to use the dingbat fonts, load the \texttt{pifont} package in the preamble, then substitute the default symbol \Telefon\ with the dingbat symbol \ding{38}\ by:
-\begin{verbatim}
-\renewcommand{\phonesymbol}{\ding{38}}
-\end{verbatim}
-
-You can change the symbol for lists in two way:
+\paragraph{\code{\\cvskill}}
+A command for the graphical representation of a single skill.
+The required argument must be a number from 0 to 5.
+\begin{lstlisting}
+ \cvskill{<0-5>}
+\end{lstlisting}
+This command can be used outside of the skill matrix, too.
+
+\paragraph{\code{\\cvskilllegend}}
+A command for a legend for the skill matrix.
+Takes six optional arguments: post-padding width and the descriptions for the five skill levels.
+\begin{lstlisting}
+ \cvskilllegend
+ \cvskilllegend*[<post-padding>][<level 1>][<level 2>][<level 3>]
+ [<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+The command with no arguments inserts the legend in its standard form: without a descriptor or any lines.
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+The most general form of this command can be used to translate the legend descriptions into other languages or to add a name descriptor:
+\begin{lstlisting}
+ % Example: German translation
+ \cvskilllegend[0.2em][Grundkenntnisse]
+ [Grundkenntnisse und eigene Erfahrung in Projekten]
+ [Umfangreiche Erfahrung in Projekten]
+ [Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillplainlegend}}
+A variation of \code{\\cvskilllegend} with the first three skill levels in the first column.
+\begin{lstlisting}
+ \cvskillplainlegend
+ \cvskillplainlegend*[<post-padding>][<level 1>][<level 2>]
+ [<level 3>][<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillhead}}
+A command for a header line for the skill matrix.
+Takes five optional arguments: post-padding width, level, skill label, years of experience and a comment.
+\begin{lstlisting}
+ \cvskillhead[<post-padding>][<level>][<skill>][<years of experience>][<comment>]
+\end{lstlisting}
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+\paragraph{\code{\\cvskillentry}}
+A command for an entry in the skill matrix.
+Takes five required arguments: skill category, skill level (0 to 5), skill name, years of experience and a comment.
+Takes a single optional argument for the post-padding width.
+\begin{lstlisting}
+ \cvskillentry*[<post-padding>]{<skill category>}{<0-5>}
+ {<skill name>}{<years of experience>}{<comment>}
+\end{lstlisting}
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+How to make length adjustments to the skill matrix will be explained in section \ref{section:length:skillmatrix}.
+
+\subsection{Letter of motivation}
+
+In order to provide additional information for a job application, {\moderncv} provides a motivation letter. Define the following recipient data fields to customize your letter:
+\paragraph{\code{\\recipient}}
+A command for the letter's recipient. This allows line breaks to properly format the recipient's address.
+\begin{lstlisting}
+ \recipient{<Team or contact person>}{<company>\\<street>\\<city>}
+\end{lstlisting}
+
+\paragraph{\code{\\date}}
+A command to set the letter's date.
+\begin{lstlisting}
+ \date{<your custom date>}
+\end{lstlisting}
+
+\paragraph{\code{\\subject}}
+A command to define the job application subject.
+\begin{lstlisting}
+ \subject{<subject>}
+\end{lstlisting}
+
+\paragraph{\code{\\opening}}
+A command to set your opening (e.g. ``Dear X,'' or ``To whom it may concern,'').
+\begin{lstlisting}
+ \opening{<greeting>}
+\end{lstlisting}
+
+\paragraph{\code{\\closing}}
+A command to set your closing (e.g. ``Sincerely,'' or ``Yours truly,'').
+\begin{lstlisting}
+ \closing{<closing>}
+\end{lstlisting}
+
+\paragraph{\code{\\signature}}
+An optional command to include your signature after the closing. This feature is defined using the \code{\\includegraphics}. The first argument is the scale and the second argument is the filename of your scanned signature.
+\begin{lstlisting}
+ \signature{<scale>}{<signature filename>}
+\end{lstlisting}
+
+\paragraph{\code{\\enclosure}}
+A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label.
+\begin{lstlisting}
+ \enclosure[<optional alternative label>]{<list of documents>}
+\end{lstlisting}
+
+\note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined.
+
+\section{Customization}
+\label{section:customization}
+\subsection{Styles and their options}
+\label{section:customization:stylesAndOptions}
+Each style allows fine-tuning via options passed into the \code{\\moderncvstyle} command:
+\begin{lstlisting}
+ \moderncvstyle[<option 1>, <option 2>, ...]{<style>}
+\end{lstlisting}
+Each style defines its own options, and not all options are available for each style.
+Below is a list of all the options available for each style:
+
+\paragraph{\code{casual}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}}
+ \textbf{\code{head alignment}} & values: \code{left}, \code{right} (default).
+ Aligns the title and the picture if one is included. \\
+ \textbf{\code{name}} & values: \code{alternate}.
+ Displays the name in all lowercase.
+ Differentiation of the name is done by color (disabled by default).
+ This feature is discouraged for longer names. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{classic}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{banking}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.68\textwidth}}
+ \textbf{\code{alignment (body)}} & values: \code{left} (default), \code{center}, \code{right}.
+ Aligns the entries in the style. \\
+ \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}.
+ Adjusts the rules used in the style. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{oldstyle}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{fancy}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\note Only one option from each option category can be passed in at a time, e.g.
+\begin{lstlisting}
+ \moderncvstyle[left, nosymbols]{casual}
+\end{lstlisting}
+
+\paragraph{\code{contemporary}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
+ Enables or disables the inclusion of a QR code of your personal website.
+\end{tabular}
+\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
+\begin{lstlisting}
+ \usepackage[hmargin=0.5in,vmargin=10pt]{geometry}
+\end{lstlisting}
+
+\subsection{Adjusting colors}
+The colors of each style can be adjusted.
+
+\note The color theme must be loaded \emph{before} \code{\\moderncvstyle}, i.e.
+\begin{lstlisting}
+ \moderncvcolor{blue}
+ \moderncvstyle{casual}
+\end{lstlisting}
+
+\paragraph{Base colors.}
+Each style defines three main colors: \code{color0}, \code{color1} and \code{color2}.
+\code{color0} is black and the main text color.
+\code{color1} is the main theme color, like blue, green, etc.
+\code{color2} is a some form of grey used for the user data, etc.
+These colors can be redefined by using either \code{\\definecolor} or \code{\\colorlet}:
+\begin{lstlisting}
+ \definecolor{color1}{rgb}{0.55, 0.55, 0.55} % dark grey
+ \colorlet{color1}{black}
+\end{lstlisting}
+Any mechanism for naming and defining colors used by the \code{xcolor} package can be used to redefine the colors of a \Moderncv style.
+
+\paragraph{Fine tuning.}
+If an even finer control over the color scheme of the style is desired, the following color settings are used internally for the \code{casual} style and can be redefined:
+\begin{lstlisting}
+ % Head and footer
+ \colorlet{lastnamecolor}{color1}
+ \colorlet{namecolor}{lastnamecolor}
+ \colorlet{headrulecolor}{color1}
+ \colorlet{firstnamecolor}{lastnamecolor!50}
+ \colorlet{titlecolor}{color2}
+ \colorlet{addresscolor}{color2}
+ \colorlet{quotecolor}{color1}
+ \colorlet{pictureframecolor}{color1}
+ % Body
+ \colorlet{bodyrulecolor}{color1}
+ \colorlet{sectioncolor}{color1}
+ \colorlet{subsectioncolor}{color1}
+ \colorlet{hintstylecolor}{color0}
+ % Letter
+ \colorlet{letterclosingcolor}{color2}
+ % Skill matrix
+ \colorlet{skillmatrixfullcolor}{color1}
+ \colorlet{skillmatrixemptycolor}{color2!30}
+\end{lstlisting}
+
+
+\subsection{Modifying symbols and icons}
+\subsubsection{Icons}
+As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}.
+
+The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols:
+\begin{lstlisting}
+ \renewcommand*{<\symbolcommand>}{{\small<\symbol>}~}
+\end{lstlisting}
+Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}.
+Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols.
+The tilde ensures proper spacing after the symbols and is recommended as well.
+
+Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
\begin{itemize}
- \item redefining the command \texttt{listitemsymbol}: \verb|\renewcommand{\listitemsymbol}{-}|
- \item adding a specification for the label in \texttt{cvlistitem} and \texttt{cvlistdoubleitem}
+ \begin{multicols}{2}
+ \item \code{\\addresssymbol}
+ \item \code{\\mobilephonesymbol}
+ \item \code{\\fixedphonesymbol}
+ \item \code{\\faxphonesymbol}
+ \item \code{\\emailsymbol}
+ \item \code{\\homepagesymbol}
+ \item \code{\\linkedinsocialsymbol}
+ \item \code{\\xingsocialsymbol}
+ \item \code{\\twittersocialsymbol}
+ \item \code{\\githubsocialsymbol}
+ \item \code{\\gitlabsocialsymbol}
+ \item \code{\\stackoverflowsocialsymbol}
+ \item \code{\\googlescholarsocialsymbol}
+ \item \code{\\telegramsocialsymbol}
+ \item \code{\\whatsappsocialsymbol}
+ \item \code{\\signalsocialsymbol}
+ \item \code{\\matrixsocialsymbol}
+ \item \code{\\orcidsocialsymbol}
+ \item \code{\\researchgatesocialsymbol}
+ \item \code{\\researcheridsocialsymbol}
+ \item \code{\\bitbucketsocialsymbol}
+ \item \code{\\skypesocialsymbol}
+ \item \code{\\bornsymbol}
+ \item \code{\\arxivsocialsymbol}
+ \item \code{\\inspiresocialsymbol}
+ \end{multicols}
\end{itemize}
+The possible options for \code{<\\symbol>} depend on the package that is used.
+By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome5} packages are loaded if either \code{lualatex} or \code{xelatex} is used.
+Full lists of all available symbols and icons can be found in the documentation of each respective package:
+
+\begin{tabular}{l}
+ \url{https://ctan.org/pkg/marvosym} \\[1ex]
+ \url{https://ctan.org/pkg/fontawesome5} \\[1ex]
+ \url{https://ctan.org/pkg/academicons}
+\end{tabular}
+
+\paragraph{Example.}
+If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with
+\begin{lstlisting}
+ \renewcommand*{\fixedphonesymbol}{\ding{38}~}
+\end{lstlisting}
+
+\paragraph{Alternative to icons}
+In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble.
+\begin{lstlisting}
+ \moderncvicons{<symbols|letters>}
+\end{lstlisting}
+This mechanism is also used to determine the icon set. In principle the \code{\\moderncvicons} can be used to determine the icon set with the possible values \texttt{marvosym}, \texttt{awesome} or \texttt{academic}, but it is recommended to let {\moderncv} decide the correct icon set due to differing \Latex compiler support.
+
+\subsubsection{Listing labels}
+The labels used in \code{itemize} environments, \code{cvlistitem} and \code{cvlistdoubleitem} can be changed in two different ways:
-For example: the following code produces the result shown in figure \ref{fig:ex_items}.
-
-\begin{verbatim}
-\closesection{} % needed to renewcommands
-\renewcommand{\listitemsymbol}{-} % change the symbol for lists
-
-\section{Extra 1}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem[+]{Item 3} % optional other symbol
-
-\section{Extra 2}
-\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
-\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
-\cvlistdoubleitem[\Neutral]{Item 3}{}
-\end{verbatim}
-
-\begin{figure}[!hbt]
- \centering
- \fbox{\includegraphics[width=.8\textwidth]{ex_items.png}}
- \caption{Example of customization of the list labels.}
- \label{fig:ex_items}
-\end{figure}
-
-\subsection*{Adjusting lenghts}
-The different lengths used by moderncv are customizable by
-\begin{verbatim}
-\setlength{<length>}{<new_dimensions>}
-\end{verbatim}
-where \texttt{<length>} are \texttt{quote\-width}, \texttt{sep\-a\-ra\-tor\-col\-umn\-width}, \texttt{main\-col\-umn\-width}, \texttt{doub\-le\-i\-tem\-main\-col\-umn\-width}, \texttt{list\-i\-tem\-sym\-bol\-width}, \texttt{list\-doub\-le\-i\-tem\-main\-col\-umn\-width},
-
-In particular, the first column, can be set to any width. You can do that in two way:
\begin{itemize}
- \item using \verb|\sethintscolumnlength{<length>}|, where \texttt{<length>} is the desired length in a unit LaTeX understands
- \item using \verb|\sethintscolumntowidth{<string>}|, where \texttt{<string>} is a string of the desired length (usually, the longest string that has to appear in the column)
+ \item Redefining \code{\\labelitemi}, \code{\\labelitemii}, \code{\\labelitemiii} and \code{\\labelitemiv} changes the labels for \code{itemize} environments as well as for \code{cvlistitem} and \code{cvlistdoubleitem}, e.g.
+ \begin{lstlisting}
+ \renewcommand{\labelitemi}{-}
+ \end{lstlisting}
+ \item Redefining \code{\\listitemsymbol} changes the labels for \code{cvlistitem} and \code{cvlistdoubleitem} but \emph{not} for \code{itemize} environments, e.g.
+ \begin{lstlisting}
+ \renewcommand{\listitemsymbol}{-}
+\end{lstlisting}
\end{itemize}
-\subsection*{Additional commands}
-There are commands to manage hypertextual links:
+\subsection{Adjusting lengths}\label{subsection:adjusting:lengths}
+Some lengths in \Moderncv can be adjusted.
+
+The hints column can be adjusted by setting \code{\\hintscolumnwidth}:
+\begin{lstlisting}
+ \setlength{\hintscolumnwidth}{3cm}
+\end{lstlisting}
+
+For the \code{classic} style, the amount of horizontal space for the name can be adjusted by setting \code{\\makecvheadnamewidth} to avoid breaks:
+\begin{lstlisting}
+ \setlength{\makecvheadnamewidth}{10cm}
+\end{lstlisting}
+One should be careful though, as the length is normally calculated to avoid any overlap with the personal information.
+This should be used at one's own typographical risk.
+
+The spacing between the hints column and the CV entries can be adjusted by setting\\
+\code{\\separatorcolumnwidth}. The default value is \code{0.025\\textwidth}.
+\begin{lstlisting}
+ \setlength{\separatorcolumnwidth}{0.05\textwidth}
+\end{lstlisting}
+
+The spacing between the list symbol and the text item of \code{\\cvlistitem} and \code{\\cvlistdoubleitem} can be adjusted by setting \code{\\listitemsymbolspace} in the preamble. The default value is set to \code{0pt}.
+\begin{lstlisting}
+ \setlength{\listitemsymbolspace}{5pt}
+\end{lstlisting}
+
+The width of the footer can be adjusted by setting \code{\\footwidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.8\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputefootlengths}{%
+ \setlength{\footwidth}{0.9\textwidth}}
+\end{lstlisting}
+
+The width of the quote can be adjusted by setting \code{\\quotewidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.65\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.5\textwidth}}
+\end{lstlisting}
+
+
+% The different lengths used by moderncv are customizable by
+% \begin{lstlisting}
+% \setlength{<length>}{<new_dimensions>}
+% \end{lstlisting}
+% where \code{<length>} are \code{maincolumnwidth}, \code{doubleitemmaincolumnwidth}, \code{listitemsymbolwidth}, \code{listdoubleitemmaincolumnwidth},
+
+
+\subsubsection{Lengths in the skill matrix}
+\label{section:length:skillmatrix}
+Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted.
+
+The width of the skill matrix legend can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskilllegendcolumns[<width>][<factor>]
+ % Examples:
+ \setcvskilllegendcolumns[][0.45]
+ \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
+ \setcvskilllegendcolumns[0ex][0.46] % useful for the banking style
+\end{lstlisting}
+\code{<width>} should be a length smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+The width of the skill matrix columns can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskillcolumns[<width>][<factor>][<exp_width>]
+ % Examples:
+ \setcvskillcolumns[5em][][] % adjust first column, same as \setcvskillcolumns[5em]
+ \setcvskillcolumns[][0.45][] % adjust third (skill) column, same as \setcvskillcolumns[][0.45]
+ \setcvskillcolumns[][][\widthof{``Year''}] % adjust fourth (years of experience) column
+ \setcvskillcolumns[][0.45][\widthof{``Year''}]
+ \setcvskillcolumns[\widthof{``Language''}][0.48][]
+ \setcvskillcolumns[\widthof{``Language''}]
+\end{lstlisting}
+\code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation
+To create links to a website or a email address, use the following commands:
+
+A general weblink with optional text.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[name of the link]{ftp://ftp.somesite.org}
+\end{lstlisting}
+
+An HTTP link. The HTTP prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[goto HTTP site]{www.somehttpsite.org}
+\end{lstlisting}
+
+A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \httpslink[goto HTTPS site]{www.somesecuresite.org}
+\end{lstlisting}
+
+An email link. The mailto prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \emaillink[my email]{jdoe@website.org}
+\end{lstlisting}
+
+\subsection{Page breaks and orphaned section headers}
+If \Latex breaks pages just after \code{\\section} or \code{\\subsection} commands, try adjusting the stretchability of the page with \code{\\cvsectionstretchability} or \code{\\cvsubsectionstretchability}:
+\begin{lstlisting}
+ \setlength{\cvsectionstretchability}{\baselineskip}
+ \setlength{\cvsubsectionstretchability}{100pt}
+\end{lstlisting}
+These two lengths tell \Latex how much extra length it needs after \code{\\section} and \code{\\subsection} commands.
+By default, \Moderncv sets both lengths to \code{0.9\\baselineskip}.
+
+This should solve orphaned \code{\\section} and \code{\\subsection} commands that are used alone for most users.
+However, \Latex does not check for content.
+For example, writing
+\begin{lstlisting}
+ \section{blub}
+ \subsection{blubblub}
+\end{lstlisting}
+one after the other may cause \Latex to place the section and subsection headers on separate pages.
+Since \Latex considers the subsection header to not be orphaned, it may place the section header at the bottom of a page if there is enough space to do so while placing the subsection header on the next page.
+One solution is to increase \code{\\cvsectionstretchability} to force the break of the section header.
+However, this changes the behaviour for all \code{\\section} commands in your CV and might cause unnecessary page breaks.
+It is therefore recommended to force the page break manually with a \code{\\newpage} in this case.
+
+\paragraph{Experts only:}
+Internally, \Moderncv uses a custom \code{\\needspace} command:
+\begin{lstlisting}
+ \NewDocumentCommand\@cvneedspace{m}{%
+ \begingroup
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@
+ \penalty \withinstretchpenalty\vskip\z@\@plus -\dimen@
+ \vskip\dimen@
+ \penalty \poststretchpenalty%
+ \vskip -\dimen@
+ \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
+ \endgroup
+ }
+\end{lstlisting}
+Thus, instead of setting \code{\\cvsectionstretchability} and/or \code{\\cvsubsectionstretchability}, page break behavior can be adjusted by redefining the following internal penalties:
+\begin{lstlisting}
+ \renewcommand{\withinstretchpenalty}{<-100...9999>}
+ \renewcommand{\poststretchpenalty}{<-100...9999>}.
+\end{lstlisting}
+By default, \Moderncv sets \code{\\withinstretchpenalty} to 0 and \code{\\poststretchpenalty} to 9999.
+The higher the penalties are, the less likely a page break will occur.
+A good explanation of \code{\\needspace} can be found at \url{https://tex.stackexchange.com/questions/348994/understanding-needspace}.
+
+
+\subsection{Tips and Tricks}
+\subsubsection{Legal disclaimer at the end of the CV}
+Some countries (e.g. Italy) require you to add a legal disclaimer authorizing the use of the personal data in your CV.
+To add such a disclaimer, add the following to the bottom of your CV:%
+\footnote{Example provided by Cristina Sambo}%
+\begin{lstlisting}
+ \vfill
+ \begin{center}
+ \textit{\small Ai sensi del D. Lgs. 196/2003 ...}
+ \end{center}
+\end{lstlisting}
+
+
+
+\section{Implementation details}
+\label{section:implementationDetails}
+
+\subsection{Creating your own styles}
+Currently {\moderncv} ships with six different styles: \texttt{casual} (default), \texttt{classic}, \texttt{banking}, \texttt{oldstyle}, \texttt{fancy} and \texttt{contemporary}. Internally, these styles are numbered 1, 2, 3, 4, 5 and 6, respectively. All styles except \texttt{oldstyle} and \texttt{fancy} possess additional option parameters which were described in section \ref{section:customization:stylesAndOptions}.
+
+Different styles' head, body and foot can be combined to create custom styles. This is done by setting \code{\\moderncvhead}, \code{\\moderncvbody} and \code{\\moderncvfoot} in the preamble. Here is an example of a custom style with a \texttt{banking} head, an \texttt{oldstyle} body and a \texttt{casual} foot:
+\begin{lstlisting}
+ \moderncvhead{3}
+ \moderncvbody{4}
+ \moderncvfoot{1}
+\end{lstlisting}
+Furthermore, options for each part of {\moderncv} parts can be set as well in such combinations. To get a CV with a \texttt{classic} head and a \texttt{banking} body with full rules, define the following in the preamble:
+\begin{lstlisting}
+ \moderncvhead{2}
+ \moderncvbody[fullrules]{3}
+ \moderncvfoot{1}
+\end{lstlisting}
+
+
+\subsection{Required packages}
+\label{section:implementationDetails:requiredPackages}
+In addition to the packages that \Moderncv provides, the following packages are loaded internally:
\begin{itemize}
- \item[-] \verb|\weblink[optional text]{link}|
- \item[-] \verb|\httplink[optional text]{link}|
- \item[-] \verb|\emaillink[optional text]{link}|
+ \begin{multicols}{3}
+ \item \code{etoolbox}
+ \item \code{ifthen}
+ \item \code{xcolor}
+ \item \code{ifxetex} or \code{ifluatex}
+ \item \code{fontenc}
+ \item \code{url}
+ \item \code{hyperref}
+ \item \code{graphicx}
+ \item \code{fancyhdr}
+ \item \code{tweaklist}%
+ \footnote{The \code{tweaklist} package has been altered for the development of \Moderncv and ships with \moderncv.}
+ \item \code{calc}
+ \item \code{xparse}
+ \item \code{microtype}
+ \item \code{expl3}
+ \item \code{tikz}
+ \item \code{changepage}
+ \item \code{fontawesome5}
+ \item \code{academicons}
+ \item \code{tgpagella}
+ \item \code{ebgaramond}
+ \item \code{kurier}
+ \item \code{multirow}
+ \item \code{arydshln}
+ \end{multicols}
\end{itemize}
-There is a \verb|\today| command, useful for example if you need to add the date the CV was produced.
-
-\subsection*{Putting things at the end of CV}
-Sometimes there is the need to add some lines at the end of the CV. For example, in Italy is necessary to add the permission to treat the personal data contained in the r\'esum\'e. You can do that dropping out of the layout of \texttt{moderncv} and pushing the lines at the end by the command \verb|\vfill|:
-\begin{verbatim}
-\emptysection{}\closesection
-\vfill
-\begin{center}
-\textit{\small Ai sensi del D. Lgs. 196/2003 ...}
-\end{center}
-\end{verbatim}
+Most of these packages should be included in your \Latex distribution of choice.
+
+\subsection{Known conflicts with other packages}
+\begin{enumerate}
+ \item \Moderncv is incompatible with \code{biber}.
+ \item \Moderncv is incompatible with \biblatex.
+ \item \Moderncv is incompatible with \code{babel} in Spanish
+\end{enumerate}
+
+\subsection{Known bugs}
+\begin{enumerate}
+ \item Skill matrices don't break automatically in \texttt{fancy} style.
+ \item Long names break the \texttt{oldstyle} style and possibly other styles (needs testing).
+ \item Long URLs in \texttt{classic} style can make the name break line.
+ Fixed width for the address part must be implemented.
+ \item When using the \texttt{fancy} style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+ \item Footnotes generate errors, but the output seems correct when running with \code{-interaction=nonstopmode}.
+ \item When using CJK, the last \code{\\clearpage} required for the \code{fancyhdr} package to work properly kills the ``lastpage'' counter, and therefore also the page numbering.
+ \item \Moderncv produces the error ``\code{lonely \\item--perhaps a missing list environment}'' when used with the \code{bibentry} package, though the output is actually correct.
+ Among other things, this causes compilation by LyX to stop.
+ \item The space after a \code{\\cventry} gets eaten up when the last argument contains a nested \code{itemize} environment.
+ An ugly hack and incomplete solution was implemented by including a \code{\\strut} in every item label, but this doesn't solve the problem for multi-line items.
+ Ideally, the \code{\\strut} should end the item, but there seems to be no way to do this.
+\end{enumerate}
\end{document}
diff --git a/macros/latex/contrib/moderncv/moderncv.cls b/macros/latex/contrib/moderncv/moderncv.cls
index 44b9e35914..20cedc8b61 100644
--- a/macros/latex/contrib/moderncv/moderncv.cls
+++ b/macros/latex/contrib/moderncv/moderncv.cls
@@ -1,5 +1,5 @@
%% start of file `moderncv.cls'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2022-02-21 v2.3.1 modern curriculum vitae and letter document class]
+\ProvidesClass{moderncv}[2024-07-18 v2.4.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -103,7 +103,8 @@
\urlstyle{tt}
\AtEndPreamble{
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
- \RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
+ \PassOptionsToPackage{unicode}{hyperref}
+ \RequirePackage{hyperref}
\hypersetup{
breaklinks,
pdfborder = 0 0 0,
@@ -114,10 +115,16 @@
bookmarksopen = true,
bookmarksdepth= 2,% to show sections and subsections
pdfauthor = {\@firstname{}~\@lastname{}},
- pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
+ pdftitle =
+ {\@firstname{}~\@lastname{}\expandafter\notblank\expandafter{\@title}{ -- \@title}{}}, %\notblank does not expand argument automatically
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
+% pdftex not using pdfmanagement-testphase requires T1 font encoding in order to handle links containing special characters somewhat properly
+\ifpdftex
+ \IfPDFManagementActiveTF{}{\RequirePackage[T1]{fontenc}}
+\fi
+
% graphics
\RequirePackage{graphicx}
@@ -138,9 +145,9 @@
\@ifundefined{r@lastpage}{}{%
\ifthenelse{\pageref{lastpage}>1}{%
\newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
+ \settowidth{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}%
\fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
+ \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
\pagestyle{plain}}{}}\fi}%
\AtEndDocument{\label{lastpage}}}
\pagestyle{plain}
@@ -231,8 +238,9 @@
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional)
-% usage: \homepage{<url>}
-\newcommand*{\homepage}[1]{\def\@homepage{#1}}
+% usage: \homepage[<optional protocol>]{<url>}
+% where <optional protocol> should be either "https" (default) or "http"
+\NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
@@ -247,11 +255,41 @@
% http://latex.org/forum/viewtopic.php?t=12239
\def\SplitMyMacro#1/#2{#2}
-
-
+
+
% adds a social link to one's personal information (optional)
% usage: \social[<optional type>][<optional url>]{<account name>}
-% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab", "bitbucket" or "skype"
+% where <optional type> should be either:
+% - "linkedin"
+% - "xing"
+% - "twitter"
+% - "mastodon"
+% - "github"
+% - "gitlab"
+% - "stackoverflow"
+% - "bitbucket"
+% - "skype"
+% - "orcid"
+% - "researchgate"
+% - "researcherid"
+% - "telegram"
+% - "whatsapp"
+% - "signal"
+% - "matrix"
+% - "googlescholar"
+% - "codeberg"
+% - "discord"
+% - "twitch"
+% - "youtube"
+% - "tiktok"
+% - "instagram"
+% - "soundcloud"
+% - "steam
+% - "xbox"
+% - "playstation"
+% - "battlenet"
+% - "arxiv"
+% - "inspire"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
@@ -259,6 +297,7 @@
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}%
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}%
@@ -271,7 +310,20 @@
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
- \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
+ \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}%
+ \ifthenelse{\equal{#1}{codeberg}} {\collectionadd[codeberg]{socials} {\protect\httpslink[#3]{codeberg.org/#3}}} {}%
+ \ifthenelse{\equal{#1}{discord}} {\collectionadd[discord]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{twitch}} {\collectionadd[twitch]{socials} {\protect\httpslink[#3]{twitch.tv/#3}}} {}%
+ \ifthenelse{\equal{#1}{youtube}} {\collectionadd[youtube]{socials} {\protect\httpslink[#3]{youtube.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{tiktok}} {\collectionadd[tiktok]{socials} {\protect\httpslink[#3]{tiktok.com/@#3}}} {}%
+ \ifthenelse{\equal{#1}{instagram}} {\collectionadd[instagram]{socials} {\protect\httpslink[#3]{instagram.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{soundcloud}} {\collectionadd[soundcloud]{socials} {\protect\httpslink[#3]{soundcloud.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{steam}} {\collectionadd[steam]{socials} {\protect\httpslink[#3]{steamcommunity.com/id/#3}}} {}%
+ \ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
+ \ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
+ \ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authoris/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
@@ -312,6 +364,7 @@
\newcommand*{\linkedinsocialsymbol} {}
\newcommand*{\xingsocialsymbol} {}
\newcommand*{\twittersocialsymbol} {}
+\newcommand*{\mastodonsocialsymbol} {}
\newcommand*{\githubsocialsymbol} {}
\newcommand*{\gitlabsocialsymbol} {}
\newcommand*{\stackoverflowsocialsymbol}{}
@@ -325,6 +378,19 @@
\newcommand*{\whatsappsocialsymbol} {}
\newcommand*{\matrixsocialsymbol} {}
\newcommand*{\signalsocialsymbol} {}
+\newcommand*{\codebergsocialsymbol} {}
+\newcommand*{\discordsocialsymbol} {}
+\newcommand*{\twitchsocialsymbol} {}
+\newcommand*{\youtubesocialsymbol} {}
+\newcommand*{\tiktoksocialsymbol} {}
+\newcommand*{\instagramsocialsymbol} {}
+\newcommand*{\soundcloudsocialsymbol} {}
+\newcommand*{\steamsocialsymbol} {}
+\newcommand*{\xboxsocialsymbol} {}
+\newcommand*{\playstationsocialsymbol} {}
+\newcommand*{\battlenetsocialsymbol} {}
+\newcommand*{\arxivsocialsymbol} {}
+\newcommand*{\inspiresocialsymbol} {}
% other
%------
@@ -441,6 +507,8 @@
% styles
\newcommand*{\namestyle}[1]{{\namefont#1}}
+\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
+\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
@@ -492,12 +560,16 @@
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
+% makes a resume line 3 headers and their corresponding text
+% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3}
+\newcommand*{\cvtripleitem}[7][.1em]{}
+
% makes a resume line with a list item
-% usage: \cvlistitem[label]{item}
+% usage: \cvlistitem[spacing]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
% makes a resume line with 2 list items
-% usage: \cvlistdoubleitem[label]{item1}{item2}
+% usage: \cvlistdoubleitem[spacing]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
% makes a typical resume job / education entry
@@ -510,25 +582,39 @@
% makes a generic hyperlink
% usage: \link[optional text]{link}
-\newcommand*{\link}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{#2}{#2}}%
- {\href{#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\link}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{#2}{#2}}%
+ {\hrefurl[urlencode]{#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{#2}{#2}}%
+ {\href{#2}{#1}}}}
% makes a http hyperlink
% usage: \httplink[optional text]{link}
-\newcommand*{\httplink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{http://#2}{#2}}%
- {\href{http://#2}{#1}}}
-
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httplink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{http://#2}{#2}}%
+ {\hrefurl[urlencode]{http://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{http://#2}{#2}}%
+ {\href{http://#2}{#1}}}}
% makes an https hyperlink
% usage: \httpslink[optional text]{link}
-\newcommand*{\httpslink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{https://#2}{#2}}%
- {\href{https://#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httpslink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{https://#2}{#2}}%
+ {\hrefurl[urlencode]{https://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{https://#2}{#2}}%
+ {\href{https://#2}{#1}}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
@@ -712,8 +798,10 @@
% elements
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
+\newcommand*{\subject}[1]{\def\@subject{#1}}
\newcommand*{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}}
+\newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}}
\newcommand*{\enclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
diff --git a/macros/latex/contrib/moderncv/moderncvbodyi.sty b/macros/latex/contrib/moderncv/moderncvbodyi.sty
index 02ac2e3aa5..d3db954fef 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyi.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -44,11 +44,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
@@ -59,6 +62,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -73,7 +78,7 @@
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
+ \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
@@ -97,15 +102,28 @@
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
@@ -162,13 +180,14 @@
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyiii.sty b/macros/latex/contrib/moderncv/moderncvbodyiii.sty
index 003f9f3e1b..37d8d13200 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyiii.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 3]
+\ProvidesPackage{moderncvbodyiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 3]
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse
@@ -37,7 +37,7 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
@@ -61,16 +61,16 @@
\renewcommand*{\sectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \sectionfont\textcolor{color1}{#1}%
+ \sectionfont\textcolor{sectioncolor}{#1}%
\if@shortrules\else%
\par\fi}}
\renewcommand*{\subsectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \subsectionfont\textcolor{color1}{#1}%
+ \subsectionfont\textcolor{subsectioncolor}{#1}%
\if@shortrules\else\if@mixedrules\else%
\par\fi\fi}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -83,11 +83,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -96,6 +99,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -133,14 +138,14 @@
\newcommand*{\sectionrule}{}
\newcommand*{\subsectionrule}{}
\if@fullrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\if@shortrules%
- \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@mixedrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@norules%
\renewcommand*{\sectionrule}{}
\renewcommand*{\subsectionrule}{}\fi
@@ -155,16 +160,24 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
+ \listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifstrempty{#3}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
@@ -231,13 +244,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyiv.sty b/macros/latex/contrib/moderncv/moderncvbodyiv.sty
index 9127af18e8..0d9fe6fb87 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyiv.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 4]
+\ProvidesPackage{moderncvbodyiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 4]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -49,6 +49,10 @@
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -57,6 +61,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -87,15 +93,23 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -170,13 +184,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyv.sty b/macros/latex/contrib/moderncv/moderncvbodyv.sty
index 1f49692984..f29e57786b 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyv.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 5]
+\ProvidesPackage{moderncvbodyv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 5]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
@@ -34,9 +34,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
% lengths
% used by \cvitem (and all children command)
@@ -46,6 +46,8 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
@@ -53,6 +55,7 @@
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
%\@initializelength{\listdoubleitemmaincolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\@initializecommand{\recomputecvbodylengths}{%
@@ -61,6 +64,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -72,7 +77,8 @@
\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline sections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\raggedleft\sectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
@@ -83,7 +89,8 @@
\par\ignorespaces\fi%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{subsection}{#2}%
- \noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline subsections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
\renewcommand*{\cvitem}[3][.5ex]{%
@@ -99,7 +106,7 @@
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\if@aftersection\else%
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -117,15 +124,23 @@
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1ex]{%
+ \@cvitem[#1]{}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}}
+
\renewcommand*{\cvlistitem}[2][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -165,7 +180,7 @@
{%
\bibliographyhead{\refname}%
% \small%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\noindent%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
@@ -206,13 +221,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
- {\color{color2}\itshape\enclname: \@enclosure}}}
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvbodyvi.sty b/macros/latex/contrib/moderncv/moderncvbodyvi.sty
new file mode 100644
index 0000000000..76e1a15c3a
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvbodyvi.sty
@@ -0,0 +1,203 @@
+%% start of file `moderncvbodyvi.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvbodyvi}[2023/11/21 v2.0.0 modern curriculum vitae and letter body variant: 6]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{moderncvverticaltimeline}
+% No customization currently exists for `modercvbodyvi`; just reuse
+% `moderncvbodyi`. We might consider supporting a short table format (only skill
+% name and rating) in the future.
+\RequirePackage[moderncvbodyi,circle]{moderncvskillmatrix}
+
+
+%-------------------------------------------------------------------------------
+% overall body definition
+%-------------------------------------------------------------------------------
+% fonts
+\renewcommand*{\sectionfont}{\Large\upshape\bfseries}
+\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
+\renewcommand*{\hintfont}{}
+
+% styles
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume body definition
+%-------------------------------------------------------------------------------
+% lengths
+% used by \cvitem (and all children command)
+\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth}
+\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
+\@initializelength{\maincolumnwidth}
+% used by \cvdoubleitem
+\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+% used by \cvlistitem
+\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
+\@initializelength{\listitemcolumnwidth}
+% used by \cvlistdoubleitem
+\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
+\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
+
+% commands
+\renewcommand*{\recomputecvbodylengths}{%
+ % body lengths
+ \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}%
+ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
+ \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
+ \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
+ % regular lengths
+ \setlength{\parskip}{0\p@}}
+
+\@initializelength{\baseletterheight}
+\settoheight{\baseletterheight}{\sectionstyle{o}}
+\setlength{\baseletterheight}{\baseletterheight-0.95ex}
+% The optional argument can be used to place a small icon near the section name.
+% E.g. `\section[\faBookmark]{Education}`
+\RenewDocumentCommand{\section}{sO{}m}{%
+ \tl@resetchain%
+ \par\addvspace{2.5ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{section}{#3}%
+ \strut\sectionstyle{\textcolor{color1!55!white}{{#2}\rule{.75ex}{0pt}\rule{1pt}{\heightof{#3}}}%
+ \rule{.75ex}{0pt}#3}%
+ \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\RenewDocumentCommand{\subsection}{sm}{%
+ \par\addvspace{1ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{subsection}{#2}%
+ \cvitem[0ex]{}{\strut\subsectionstyle{#2}}%
+ \par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\renewcommand*{\cvitem}[3][.25em]{%
+ \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
+ \raggedleft\hintstyle{#2} &{#3}%
+ \end{tabular}%
+ \par\addvspace{#1}}
+
+\renewcommand*{\cvdoubleitem}[5][.25em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+\renewcommand*{\cvlistitem}[2][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
+
+\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \ifthenelse{\equal{#3}{}}%
+ {}%
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
+
+\renewcommand*{\cventry}[7][.25em]{%
+ \cvitem[#1]{\tl@milestone{#2}}{%
+ {\bfseries#3}%
+ \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
+ \ifthenelse{\equal{#5}{}}{}{, #5}%
+ \ifthenelse{\equal{#6}{}}{}{, #6}%
+ \strut%
+ \ifx&#7&%
+ \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
+
+\@initializebox{\cvitemwithcommentbox}
+\@initializelength{\cvitemwithcommentskilllength}
+\@initializelength{\cvitemwithcommentcommentlength}
+\renewcommand*{\cvitemwithcomment}[4][.25em]{%
+ \savebox{\cvitemwithcommentbox}{{#3}}%
+ \setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}%
+ \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
+
+\renewenvironment{thebibliography}[1]%
+ {%
+ \bibliographyhead{\refname}%
+% \small%
+ \begin{list}{\bibliographyitemlabel}%
+ {%
+ \setlength{\topsep}{0pt}%
+ \setlength{\labelwidth}{\hintscolumnwidth}%
+ \setlength{\labelsep}{\separatorcolumnwidth}%
+ \leftmargin\labelwidth%
+ \advance\leftmargin\labelsep%
+ \@openbib@code%
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty%
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy%
+ \clubpenalty4000%\@clubpenalty \clubpenalty%
+ \widowpenalty4000%
+ \sfcode`\.\@m%
+ \sfcode `\=1000\relax}%
+ {%
+ \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+ \end{list}}
+
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterbodylengths}{%
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
+ {\bfseries\@firstname~\@lastname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfil%
+ {\color{color2}\itshape\enclname: \@enclosure}}%
+ \vfil}
+
+
+\endinput
+
+
+%% end of file `moderncvbodyvi.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvcollection.sty b/macros/latex/contrib/moderncv/moderncvcollection.sty
index 5d3432e661..bddc9a5177 100644
--- a/macros/latex/contrib/moderncv/moderncvcollection.sty
+++ b/macros/latex/contrib/moderncv/moderncvcollection.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcollection.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcollection}[2022-02-21 v2.3.1 moderncv collections]
+\ProvidesPackage{moderncvcollection}[2024-07-18 v2.4.1 moderncv collections]
%-------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/moderncv/moderncvcolorblack.sty b/macros/latex/contrib/moderncv/moderncvcolorblack.sty
index ea3653eace..29ba5bd410 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorblack.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorblack.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblack.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0,0,0}% black
-\definecolor{color2}{rgb}{0,0,0}% black
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{black}% black
+\colorlet{color2}{black}% black
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorblue.sty b/macros/latex/contrib/moderncv/moderncvcolorblue.sty
index b02992e1b3..779b3be956 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorblue.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorblue.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblue.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{lightblue}% light blue
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty b/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
index 775f033f23..aeeccf5ef6 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorburgundy.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorburgundy}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: burgundy]
+\ProvidesPackage{moderncvcolorburgundy}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078)
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{burgundy}% burgundy
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty b/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty
new file mode 100644
index 0000000000..1f7cce83c7
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty
@@ -0,0 +1,32 @@
+%% start of file `moderncvcolorcerulean.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvcolorcerulean}[2023/11/21 v2.0.0 modern curriculum vitae and letter color scheme: cerulean]
+
+
+%-------------------------------------------------------------------------------
+% color scheme definition
+%-------------------------------------------------------------------------------
+\definecolor{color0}{rgb}{0,0,0}% black
+\definecolor{color1}{HTML}{0081a7}% cerulean
+\definecolor{color2}{HTML}{4d908e}% dark cyan
+\definecolor{headTL}{HTML}{00afb9}% verdigris
+\colorlet{headBR}{color1}
+\definecolor{headtext}{HTML}{ffffff}% white
+\colorlet{headhr}{color2}
+
+
+\endinput
+
+
+%% end of file `moderncvcolorcerulean.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvcolorgreen.sty b/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
index 891c3290b5..03c026ea07 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgreen.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{green}% green
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorgrey.sty b/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
index 37d2b57749..6bd9184c0e 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgrey.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
-\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{darkgrey}% dark grey
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolororange.sty b/macros/latex/contrib/moderncv/moderncvcolororange.sty
index f249fd7de9..c4f612ab6d 100644
--- a/macros/latex/contrib/moderncv/moderncvcolororange.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolororange.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolororange.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{orange}% orange
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorpurple.sty b/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
index 22053d7849..d0110526f1 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorpurple.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{purple}% purple
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorred.sty b/macros/latex/contrib/moderncv/moderncvcolorred.sty
index 68b1335c84..bc51d4adf5 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorred.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorred.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorred.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{red}% red
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolors.tex b/macros/latex/contrib/moderncv/moderncvcolors.tex
new file mode 100644
index 0000000000..7f840ff059
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvcolors.tex
@@ -0,0 +1,35 @@
+%-------------------------------------------------------------------------------
+% built-in colors
+%-------------------------------------------------------------------------------
+
+\definecolor{black}{RGB}{0, 0, 0}
+\definecolor{red}{rgb}{0.95, 0.20, 0.20}
+\definecolor{darkgrey}{rgb}{0.45, 0.45, 0.45}
+\definecolor{orange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{burgundy}{rgb}{0.596078, 0, 0}% 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{purple}{rgb}{0.50, 0.33, 0.80}
+\definecolor{lightblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{green}{rgb}{0.35, 0.70, 0.30}
+
+%-------------------------------------------------------------------------------
+% default colors
+%-------------------------------------------------------------------------------
+
+\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
+
+%-------------------------------------------------------------------------------
+% colors for social icons
+%-------------------------------------------------------------------------------
+
+% \definecolor{weixin}{rgb}{.184, .533, .098}
+% \definecolor{linkedin}{HTML}{0a66c2}
+% \definecolor{orcid}{HTML}{a6ce39}
+% \definecolor{twitter}{RGB}{29, 155, 240}
+% \definecolor{facebook}{HTML}{1b74e4}
+% TODO: add more colors
+
+%-------------------------------------------------------------------------------
+% custom colors
+%-------------------------------------------------------------------------------
+
+% \definecolor{tsinghua}{HTML}{791CB5}
diff --git a/macros/latex/contrib/moderncv/moderncvcompatibility.sty b/macros/latex/contrib/moderncv/moderncvcompatibility.sty
index fb9a8c4363..e8e0af713f 100644
--- a/macros/latex/contrib/moderncv/moderncvcompatibility.sty
+++ b/macros/latex/contrib/moderncv/moderncvcompatibility.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcompatibility.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2022-02-21 v2.3.1 modern curriculum vitae and letter compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2024-07-18 v2.4.1 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/moderncv/moderncvdebugtools.sty b/macros/latex/contrib/moderncv/moderncvdebugtools.sty
index b28e409b54..c19651ab05 100644
--- a/macros/latex/contrib/moderncv/moderncvdebugtools.sty
+++ b/macros/latex/contrib/moderncv/moderncvdebugtools.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvdebugtools.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvdebugtools}[2022-02-21 v2.3.1 modern curriculum vitae and letter debug tools]
+\ProvidesPackage{moderncvdebugtools}[2024-07-18 v2.4.1 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
@@ -32,7 +32,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (a\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south);
\end{pgfonlayer}
\end{tikzpicture}}
@@ -42,7 +42,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (b\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east);
\end{pgfonlayer}
\end{tikzpicture}}
diff --git a/macros/latex/contrib/moderncv/moderncvfooti.sty b/macros/latex/contrib/moderncv/moderncvfooti.sty
index 370365848f..f1de51a44e 100644
--- a/macros/latex/contrib/moderncv/moderncvfooti.sty
+++ b/macros/latex/contrib/moderncv/moderncvfooti.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvfooti.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvfooti}[2022-02-21 v2.3.1 modern curriculum vitae and letter footer variant: 1]
+\ProvidesPackage{moderncvfooti}[2024-07-18 v2.4.1 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------
@@ -79,7 +79,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \color{color2}\addressfont%
+ \color{addresscolor}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -89,7 +89,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
@@ -109,7 +110,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
@@ -121,7 +122,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
diff --git a/macros/latex/contrib/moderncv/moderncvheadi.sty b/macros/latex/contrib/moderncv/moderncvheadi.sty
index 087cf776e2..9dfb35a06c 100644
--- a/macros/latex/contrib/moderncv/moderncvheadi.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 1]
+\ProvidesPackage{moderncvheadi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 1]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -23,6 +23,11 @@
\@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue}
+% top options: align header elements by their top instead of their bottom
+% default: bottom
+\@initializeif{\if@top}\@topfalse
+\DeclareOption{top}{\@toptrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,10 +48,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -72,7 +79,7 @@
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -81,7 +88,8 @@
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
@@ -94,7 +102,7 @@
{%
\if@left%
\hspace*{\separatorcolumnwidth}\fi%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -112,9 +120,14 @@
\begin{minipage}[b]{\makecvheadnamewidth}%
\if@left\raggedright\fi%
\if@right\raggedleft\fi%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}}%
+ % raise boxes if top option is set
+ \if@top%
+ \savebox{\makecvheadnamebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadnamebox}}}%
+ \savebox{\makecvheaddetailsbox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheaddetailsbox}}}%
+ \savebox{\makecvheadpicturebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadpicturebox}}}\fi%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -126,11 +139,17 @@
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
\hfill%
\usebox{\makecvheadnamebox}\fi%
- \\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
@@ -150,7 +169,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -159,9 +178,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -173,6 +193,8 @@
\hfill% US style
% \\[1em]% UK style
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadii.sty b/macros/latex/contrib/moderncv/moderncvheadii.sty
index b699242ed4..a36c8e1af4 100644
--- a/macros/latex/contrib/moderncv/moderncvheadii.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 2]
+\ProvidesPackage{moderncvheadii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 2]
% details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse
@@ -47,10 +47,10 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -110,7 +110,7 @@
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
- {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
+ {\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
% name (pre-rendering)
\@initializelength{\makecvheadpicturewidth}%
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
@@ -121,9 +121,9 @@
\if@right\raggedleft\fi%
\namefont%
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
- {\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
+ {\color{firstnamecolor}\MakeLowercase\@firstname}{\color{lastnamecolor}\MakeLowercase\@lastname}%
\else% default design: first- and lastname as given with a space in between
- {\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
+ {\color{firstnamecolor}\@firstname} {\color{lastnamecolor}\@lastname}\fi}}%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -131,11 +131,11 @@
\if@right%
\usebox{\makecvheadpicturebox}%
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
- {\color{color2!50}\rule{\textwidth}{.25ex}}%
+ {\color{headrulecolor}\rule{\textwidth}{.25ex}}%
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -144,7 +144,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -157,15 +158,18 @@
\titlestyle{\MakeLowercase\@title}%
\else%
\titlestyle{\@title}\fi%
- }\\[2.5em]%
+ }
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\null\hfill%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
\begin{minipage}{\quotewidth}%
\centering%
\quotestyle{\@quote}%
- \end{minipage}\hfill\null\\[2.5em]}}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
@@ -189,7 +193,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadiii.sty b/macros/latex/contrib/moderncv/moderncvheadiii.sty
index e4dbafd5ae..51a3aa2444 100644
--- a/macros/latex/contrib/moderncv/moderncvheadiii.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 3]
+\ProvidesPackage{moderncvheadiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -36,10 +36,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -81,12 +83,12 @@
\parbox{\makeheaddetailswidth}{%
\centering%
% name and title
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
\\%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -95,11 +97,12 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
- \flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
+ \flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
%-------------------------------------------------------------------------------
@@ -117,8 +120,15 @@
\makehead%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
@@ -132,9 +142,25 @@
\renewcommand*{\makeletterhead}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
- % sender block
- \makehead%
- \par%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -145,7 +171,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadiv.sty b/macros/latex/contrib/moderncv/moderncvheadiv.sty
index 9b59dacb9b..5a088fdb73 100644
--- a/macros/latex/contrib/moderncv/moderncvheadiv.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 4]
+\ProvidesPackage{moderncvheadiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 4]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -38,10 +38,12 @@
\renewcommand*{\quotefont}{\large\itshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -80,7 +82,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -91,7 +93,7 @@
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
{}%
\begin{minipage}[b]{\makecvheadnamewidth}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
@@ -103,7 +105,7 @@
% optional details
\if@details%
\makecvheadinfo{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -111,7 +113,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@@ -143,13 +146,15 @@
\@recipientaddress}\\[1em]%
% date
\@date\\[2em]%
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\@opening\\[1.5em]%
% sender contact info
\if@details%
\hspace{0pt}%
\marginpar{%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -157,7 +162,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
diff --git a/macros/latex/contrib/moderncv/moderncvheadv.sty b/macros/latex/contrib/moderncv/moderncvheadv.sty
index c4d4084324..e92233ef34 100644
--- a/macros/latex/contrib/moderncv/moderncvheadv.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 5]
+\ProvidesPackage{moderncvheadv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 5]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -37,10 +37,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -61,7 +63,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -75,7 +77,7 @@
% optional details
\if@details%
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -83,7 +85,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
@@ -91,23 +94,32 @@
% name and optional title
\newlength{\makecvheadpictureboxskip}%
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\\[1.25em]\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}
- }{
- \\[1.25em]\titlestyle{\@title}\\[2.5em]%
+ {}%
+ {%
+ \\[1.25em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}%
+ \end{minipage}}%
+ }{%
+ \\[1.25em]%
+ \titlestyle{\@title}
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}
+ \end{minipage}}}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
\let\standarddoublebackslash\\%
\newcommand*{\@makecvtitle}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{headrulecolor}%
\setlength\arrayrulewidth{1.2\p@}%
\if@aftersection\else%
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -137,7 +149,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -146,9 +158,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -159,7 +172,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadvi.sty b/macros/latex/contrib/moderncv/moderncvheadvi.sty
index 8595901901..ecd6dbb041 100644
--- a/macros/latex/contrib/moderncv/moderncvheadvi.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadvi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadvi.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadvi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header: 6]
+\ProvidesPackage{moderncvheadvi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header: 6]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -24,7 +24,7 @@
\DeclareOption{right} {\@leftfalse\@righttrue}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{details, left}
+\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,20 +43,22 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{\textwidth}%
% name and title
\if@left\hfill\fi%
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% rule
- {\color{color1}\rule{\textwidth}{.25ex}}}
+ {\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
%-------------------------------------------------------------------------------
% resume head definition
@@ -107,7 +109,7 @@
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -116,7 +118,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -154,7 +157,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadvii.sty b/macros/latex/contrib/moderncv/moderncvheadvii.sty
new file mode 100644
index 0000000000..f0c259ec05
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvheadvii.sty
@@ -0,0 +1,226 @@
+%% start of file `moderncvheadvii.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvheadvii}[2023/11/21 v2.0.0 modern curriculum vitae and letter header variant: 7]
+
+% details options: "details" (default) or "nodetails"
+\@initializeif{\if@details}\@detailsfalse
+\DeclareOption{details} {\@detailstrue}
+\DeclareOption{nodetails} {\@detailsfalse}
+% QR options: "qr" (default) or "noqr". If "qr" is specified, a QR code is generated to point to the
+% homepage and placed near the details section
+\@initializeif{\if@headqr}\@headqrfalse
+\DeclareOption{qr} {\@headqrtrue}
+\DeclareOption{noqr} {\@headqrfalse}
+
+% left/right options: "left" (default) or "right"
+\@initializeif{\if@left} \@leftfalse
+\DeclareOption{left} {\@lefttrue\@rightfalse}
+\@initializeif{\if@right}\@rightfalse
+\DeclareOption{right} {\@leftfalse\@righttrue}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{details,qr,left}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{qrcode}
+\RequirePackage{tikz}
+\usetikzlibrary{tikzmark,fit}
+
+
+%-------------------------------------------------------------------------------
+% overall head definition
+%-------------------------------------------------------------------------------
+\@ifundefined{\string\color@headTL}{\colorlet{headTL}{color1}}{}
+\@ifundefined{\string\color@headBR}{\colorlet{headBR}{color1}}{}
+\@ifundefined{\string\color@headtext}{\colorlet{headtext}{color2}}{}
+\@ifundefined{\string\color@headhr}{\colorlet{headhr}{color2}}{}
+
+% fonts
+\renewcommand*{\namefont}{\fontsize{30}{32}\rmfamily\mdseries\upshape}
+\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
+\renewcommand*{\addressfont}{\small\mdseries\slshape}
+\renewcommand*{\quotefont}{\large\slshape}
+
+% styles
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{headtext}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{headtext}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{headtext}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume head definition
+%-------------------------------------------------------------------------------
+% lengths
+\@initializelength{\quotewidth}
+\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
+\renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.65\textwidth}}
+
+% commands
+\renewcommand*{\makecvhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ % optional detailed information (pre-rendering)
+ \@initializebox{\makecvheaddetailsbox}%
+ \if@details%
+ \def\phonesdetails{}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
+ \def\socialsdetails{}%
+ \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
+ \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
+ \savebox{\makecvheaddetailsbox}{%
+ \addressfont\color{headtext}%
+ \if@left\begin{tabular}[b]{@{}r@{}}\fi%
+ \if@right\begin{tabular}[b]{@{}l@{}}\fi%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
+ \end{tabular}
+ }\fi%
+ % optional photo (pre-rendering)
+ \@initializebox{\makecvheadpicturebox}%
+ \savebox{\makecvheadpicturebox}{%
+ \ifthenelse{\isundefined{\@photo}}%
+ {}%
+ {%
+ \if@right%
+ \hspace*{\separatorcolumnwidth}\fi%
+ \begin{tikzpicture}
+ \path[top color=headBR,bottom color=headTL,shading angle=45] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth*2);
+ \path[fill=white] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth);
+ \begin{scope}
+ \clip (0,0) circle (\dimexpr\@photowidth/2);
+ \node[inner sep=0pt] at (0,0) {\includegraphics[width=\@photowidth]{\@photo}};
+ \end{scope}
+ \end{tikzpicture}%
+ }%
+ \if@left%
+ \hspace*{\separatorcolumnwidth}\fi}%
+ % optional QR for homepage (pre-rendering)
+ \@initializebox{\makecvheadqrbox}%
+ \if@headqr%
+ \savebox{\makecvheadqrbox}{%
+ \ifthenelse{\isundefined{\@homepage}}{}{\tikz\node[inner sep=1ex,fill=white]{\qrcode[height=1.5cm]{\@homepage}};}%
+ }\fi%
+ % name and title (pre-rendering)
+ \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
+ \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
+ \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
+ {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
+ {}%
+ \@initializebox{\makecvheadnamebox}%
+ \savebox{\makecvheadnamebox}{%
+ \begin{minipage}[b]{\makecvheadnamewidth}%
+ \if@left\raggedright\fi%
+ \if@right\raggedleft\fi%
+ \namestyle{\@firstname\ {\scshape\@lastname}}%
+ \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
+ \end{minipage}}%
+ % rendering
+ \begin{tikzpicture}[remember picture,overlay]
+ \node(head-bg) [top color=headTL,bottom color=headBR,shading angle=45,inner sep=0pt,
+ fit={(current page.north west)(current page.north east)(pic cs:head-end)}] {};
+ % Users may define `\@moderncvheadBackground` for additional background decoration
+ \ifthenelse{\isundefined{\@moderncvheadBackground}}{}{\@moderncvheadBackground}
+
+ \path[draw,line width=\@photoframewidth]
+ (head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
+ ([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
+ ([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
+ \end{tikzpicture}%
+ \if@left%
+ \usebox{\makecvheadpicturebox}%
+ \usebox{\makecvheadnamebox}%
+ \hfill%
+ \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \usebox{\makecvheadqrbox}\fi%
+ \if@right%
+ \usebox{\makecvheadqrbox}%
+ \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \hfill%
+ \usebox{\makecvheadnamebox}%
+ \usebox{\makecvheadpicturebox}\fi%
+ \\[.15em]%
+ \tikzmark{head-end}\\[.15em]%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[.15em]}}%
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
+
+
+%-------------------------------------------------------------------------------
+% letter head definition
+%-------------------------------------------------------------------------------
+% lengths
+%\renewcommand*{\recomputeletterheadlengths}{}
+
+% commands
+\renewcommand*{\makeletterhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[1em]
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+
+\endinput
+
+
+%% end of file `moderncvheadvii.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncviconsacademic.sty b/macros/latex/contrib/moderncv/moderncviconsacademic.sty
index e1eae589aa..cf7bbbb536 100644
--- a/macros/latex/contrib/moderncv/moderncviconsacademic.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsacademic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsacademic.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsacademic}[2022-02-21 v2.3.1 modern curriculum vitae icons: academicons]
+\ProvidesPackage{moderncviconsacademic}[2024-07-18 v2.4.1 modern curriculum vitae icons: academicons]
%-------------------------------------------------------------------------------
@@ -18,7 +18,19 @@
%-------------------------------------------------------------------------------
% Package for academic icons
\RequirePackage{academicons}
+\RequirePackage{xcolor}
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{researcherid}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{arxiv}{named}{default-socialicon-color}
+\providecolor{inspire}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -39,14 +51,16 @@
%\newcommand*{\stackoverflowsocialsymbol}{}
%\newcommand*{\bitbucketsocialsymbol} {}
%\newcommand*{\skypesocialsymbol} {}
-\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
-\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
-\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
+\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
+\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
%\newcommand*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {}
%\newcommand*{\signalsocialsymbol} {}
+\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
+\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncviconsawesome.sty b/macros/latex/contrib/moderncv/moderncviconsawesome.sty
index 2a0ea3a23c..a51729faa6 100644
--- a/macros/latex/contrib/moderncv/moderncviconsawesome.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsawesome.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsawesome.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,51 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsawesome}[2022-02-21 v2.3.1 modern curriculum vitae icons: awesome]
+\ProvidesPackage{moderncviconsawesome}[2024-07-18 v2.4.1 modern curriculum vitae icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome5}
+\RequirePackage{xcolor}
+
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{address}{named}{default-socialicon-color}
+\providecolor{mobilephone}{named}{default-socialicon-color}
+\providecolor{fixedphone}{named}{default-socialicon-color}
+\providecolor{faxphone}{named}{default-socialicon-color}
+\providecolor{email}{named}{default-socialicon-color}
+\providecolor{homepage}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{linkedin}{named}{default-socialicon-color}
+\providecolor{xing}{named}{default-socialicon-color}
+\providecolor{twitter}{named}{default-socialicon-color}
+\providecolor{mastodon}{named}{default-socialicon-color}
+\providecolor{github}{named}{default-socialicon-color}
+\providecolor{gitlab}{named}{default-socialicon-color}
+\providecolor{stackoverflow}{named}{default-socialicon-color}
+\providecolor{bitbucket}{named}{default-socialicon-color}
+\providecolor{skype}{named}{default-socialicon-color}
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{telegram}{named}{default-socialicon-color}
+\providecolor{whatsapp}{named}{default-socialicon-color}
+\providecolor{discord}{named}{default-socialicon-color}
+\providecolor{twitch}{named}{default-socialicon-color}
+\providecolor{youtube}{named}{default-socialicon-color}
+\providecolor{tiktok}{named}{default-socialicon-color}
+\providecolor{instagram}{named}{default-socialicon-color}
+\providecolor{soundcloud}{named}{default-socialicon-color}
+\providecolor{steam}{named}{default-socialicon-color}
+\providecolor{xbox}{named}{default-socialicon-color}
+\providecolor{playstation}{named}{default-socialicon-color}
+\providecolor{battlenet}{named}{default-socialicon-color}
+\providecolor{born}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -28,28 +66,41 @@
%\renewcommand*{\addresssymbol} {}
-\renewcommand*{\mobilephonesymbol} {{\small\faMobile*}~} % alternative: \faMobile (solid style)
-\renewcommand*{\fixedphonesymbol} {{\small\faPhone*}~} % alternative: \faPhone (reversed)
-\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
-\renewcommand*{\emailsymbol} {{\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
-\renewcommand*{\homepagesymbol} {{\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
-\renewcommand*{\linkedinsocialsymbol} {{\small\faLinkedinIn}~} % alternative: \faLinkedin
-\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
-\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
-\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
-\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
-\renewcommand*{\stackoverflowsocialsymbol}{{\small\faStackOverflow}~}
-\renewcommand*{\bitbucketsocialsymbol} {{\small\faBitbucket}~}
-\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
-\renewcommand*{\orcidsocialsymbol} {{\small\faOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\faResearchgate}~}
+\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
+\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
+\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
+\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
+\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
+\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
+\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
+\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
+\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
+\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
+\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
+\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
+\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
+\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
%\renewcommand*{\researcheridsocialsymbol} {}
%\renewcommand*{\googlescholarsocialsymbol}{}
-\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
-\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
+\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
+\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
+\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
+\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
+\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
+\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
+\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
+\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
+\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
+\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
+\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
+\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
%\renewcommand*{\signalsocialsymbol} {}
%\renewcommand*{\matrixsocialsymbol} {}
-\renewcommand*{\bornsymbol} {{\small\faAsterisk}~} % alternative: \faBabyCarriage
+% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
+% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
+\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncviconsletters.sty b/macros/latex/contrib/moderncv/moderncviconsletters.sty
index 832e21035a..2dc6386d51 100644
--- a/macros/latex/contrib/moderncv/moderncviconsletters.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsletters.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsletters.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsletters}[2022-02-21 v2.3.1 modern curriculum vitae icons: letter]
+\ProvidesPackage{moderncviconsletters}[2024-07-18 v2.4.1 modern curriculum vitae icons: letter]
%-------------------------------------------------------------------------------
% symbols definition
@@ -31,6 +31,7 @@
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
+\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~}
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
@@ -45,6 +46,18 @@
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
\renewcommand*{\bornsymbol} {\textbf{B}~}
+\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~}
+\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~}
+\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~}
+\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~}
+\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~}
+\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~}
+\renewcommand*{\steamsocialsymbol} {\textbf{st}~}
+\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
+\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
+\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
+\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
+\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}
diff --git a/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty b/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
index 0a1d8f107d..2dbc71011e 100644
--- a/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsmarvosym.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsmarvosym}[2022-02-21 v2.3.1 modern curriculum vitae icons: marvosym]
+\ProvidesPackage{moderncviconsmarvosym}[2024-07-18 v2.4.1 modern curriculum vitae icons: marvosym]
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
diff --git a/macros/latex/contrib/moderncv/moderncviconssymbols.sty b/macros/latex/contrib/moderncv/moderncviconssymbols.sty
index 256304380e..b6c1fb7b1d 100644
--- a/macros/latex/contrib/moderncv/moderncviconssymbols.sty
+++ b/macros/latex/contrib/moderncv/moderncviconssymbols.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconssymbols.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -17,7 +17,7 @@
\RequirePackage{moderncviconsawesome}
\RequirePackage{moderncviconsacademic}
\else
- \ClassWarningNoLine{moderncv}{"academicons requires xetex/luatex to work. Using alternatives."}
+ \typeout{^^Jmoderncv: academicons requires XeTeX/LuaTeX to work. Using alternatives.^^J}
\ifpdftex
\RequirePackage{moderncviconsawesome}
\else
diff --git a/macros/latex/contrib/moderncv/moderncviconstikz.sty b/macros/latex/contrib/moderncv/moderncviconstikz.sty
index c3e9f40b0d..e1a0248924 100644
--- a/macros/latex/contrib/moderncv/moderncviconstikz.sty
+++ b/macros/latex/contrib/moderncv/moderncviconstikz.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconstikz.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconstikz}[2022-02-21 v2.3.1 modern curriculum vitae and letter icons: tickz]
+\ProvidesPackage{moderncviconstikz}[2024-07-18 v2.4.1 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
@@ -218,7 +218,7 @@
\protect\begin{tikzpicture}[x=0.11em, y=0.11em, xscale=0.015, yscale=-0.015, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=color2,line width=0.057pt]
- (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
+ (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
(86.3000,24.9000) -- (29.8000,199.7000) -- (161.7000,199.7000) .. controls
(161.7000,199.7000) and (105.2000,24.9000) .. (105.2000,24.9000) -- cycle
(0.9000,287.7000) .. controls (-1.7000,295.7000) and (1.2000,304.6000) ..
@@ -327,7 +327,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
(3.1300,31.2520) .. controls (3.3452,32.0075) and (2.8778,32.0803) ..
@@ -374,7 +374,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.1pt, x=0.1pt, yscale=-0.13, xscale=0.13, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(430.1000,180.9000) -- (437.8000,211.9000) .. controls (407.6000,219.3000)
and (378.7000,231.3000) .. (352.1000,247.3000) -- (335.7000,220.0000) ..
controls (365.0000,202.3000) and (396.9000,189.1000) .. (430.1000,180.9000) --
@@ -439,6 +439,25 @@
~}
}{}\par
+\ifdefempty{\codebergsocialsymbol} {
+ \renewcommand*{\codebergsocialsymbol} {
+ \protect\raisebox{-0.12em}{
+ \protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
+ \protect\begin{scope}[shift={(507, 387)}]
+ \protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
+ (11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
+ (11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
+ (11250.0698,-1872.8557)arc(329.460:269.346:0.201313 and 0.150) -- cycle;
+
+ \protect\path[scale=0.265, fill=color2, line width=0.426pt]
+ (11249.3743,-1883.6959)arc(269.785:180.000:23.067)arc(180.001:147.920:23.067)
+ -- (11249.1480,-1873.2412)arc(209.929:330.071:0.360097 and 0.269) --
+ (11269.0053,-1848.3766)arc(32.082:-0.002:23.067)arc(360.000:270.000:23.067)arc(270.108:269.892:23.067)
+ -- cycle;
+ \protect\end{scope}
+ \protect\end{tikzpicture}}
+ ~}
+}{}\par
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvskillmatrix.sty b/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
index 68b8db9a0a..9f03be117a 100644
--- a/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
+++ b/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
@@ -2,30 +2,30 @@
%% Copyright 2021 David Seus (cryptointerest@posteo.de).
%
% This package provides a skill matrix template for the moderncv package.
-% Some recruiting firms require applicants to rate their skills, computer
-% skills, management tools, or similar in a table involving a graphical
-% illustration of their skill level. This package implements this idea
-% and provides the following commands to use within the moderncv
+% Some recruiting firms require applicants to rate their skills, computer
+% skills, management tools, or similar in a table involving a graphical
+% illustration of their skill level. This package implements this idea
+% and provides the following commands to use within the moderncv
% package:
-%
-%
+%
+%
% PUBLIC COMMANDS
% \cvskill{<1-5>}
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% input_1: integer between 0 and 5
-%
-% Example usages:
+%
+% Example usages:
% \cvskill{3}
-%
-%
+%
+%
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -34,25 +34,25 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
-%
-%
+%
+%
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -61,40 +61,40 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-%
-%
+%
+%
% \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -102,98 +102,98 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
-%
+%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
-%
-%
+%
+%
% PRIVATE COMMANDS
-%
+%
% \recompute@cvskillmatrix@lengths
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
-%
-%
+% \recompute@cvskillmatrix@lengths
+%
+%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
@@ -203,10 +203,10 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvskillmatrix}[2022-02-21 v2.3.1 modern curriculum vitae and letter skill matrix]
+\ProvidesPackage{moderncvskillmatrix}[2024-07-18 v2.4.1 modern curriculum vitae and letter skill matrix]
-% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
-% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
+% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
+% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
\@initializeif{\if@moderncvbodyi}\@moderncvbodyifalse
\DeclareOption{moderncvbodyi}{\@moderncvbodyitrue\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
\@initializeif{\if@moderncvbodyii}\@moderncvbodyiifalse % this option is added in case moderncvbodyii gets implemented standalone
@@ -218,6 +218,10 @@
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
+% If option `circle` is specified, use circles instead of small rectangles for rating skills
+\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
+\DeclareOption{circle}{\@cvskillcircletrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{moderncvbodyi}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -239,23 +243,29 @@
% %-------------------------------------------------------------------------------
% The code for the Skilllevel illustration with the little boxes.
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
-\@initializelength{\cvSkill@RectangleSize}
-\setlength{\cvSkill@RectangleSize}{1.2ex}
+\@initializelength{\cvSkill@ShapeSize}
+\if@cvskillcircle%
+ \setlength{\cvSkill@ShapeSize}{.7ex}%
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
+\else
+ \setlength{\cvSkill@ShapeSize}{1.2ex}
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
+\fi
\newcount\my@repeat@count
\DeclareDocumentCommand{\cvskill}{m}{%
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% integer between 0 and 5
-% Example usage:
+% Example usage:
% \cvskill{3}
\begingroup
\my@repeat@count=\z@
- \@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count<#1\do{\cvSkill@Shape{skillmatrixfullcolor}\advance%
\my@repeat@count\@ne\,}%
\my@repeat@count=\numexpr5-\z@\relax
- \@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count>#1\do{\cvSkill@Shape{skillmatrixemptycolor}\advance%
\my@repeat@count\m@ne\,}%
\endgroup
}% end \cvskill
@@ -279,10 +289,10 @@
\@initializelength{\skilllegend@padding}
\@initializelength{\skilllegend@bodylength}
-% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
+% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
% define it to not throw an error in the other cases
\if@moderncvbodyv%
-%
+%
\else%
\@initializelength{\separatorrulewidth}
\setlength{\separatorrulewidth}{1ex}
@@ -292,13 +302,13 @@
%% DEFINITION \recompute@cvskillmatrix@lengths
% declare the command \recompute@cvskillmatrix@lengths empty
\DeclareDocumentCommand{\recompute@cvskillmatrix@lengths}{}{}%
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
+% \recompute@cvskillmatrix@lengths
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyi
\if@moderncvbodyi%
@@ -332,7 +342,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
@@ -352,7 +362,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}
\setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
\setlength{\skilllegend@bodylength}{\maincolumnwidth}
@@ -371,7 +381,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\maincolumnwidth}%
@@ -385,43 +395,43 @@
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
\DeclareDocumentCommand{\setcvskillcolumns}{+O{\skillmatrix@hintscolumnwidth} +O{\skillmatrix@columnwidth} +O{\cvskill@experiencewidth}}{%
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
+%
\def\arg@new@hintscolumnwidth{#1}% <-- all these terminal % signs are necessary for the fancy style to not show weird spaces!!!
- \def\arg@new@bodyLengthFactor{#2}%
- \def\arg@new@experienceWidth{#3}%
- % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
+ \def\arg@new@bodyLengthFactor{#2}%
+ \def\arg@new@experienceWidth{#3}%
+ % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
% without any arguments leads to nonempty arguments \arg@new@hintscolumnwidth and
- % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
- % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
+ % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
+ % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
% \setcvskillcolumns[<somelength>][], \setcvskillcolumns[][<somefactor>] \setcvskillcolumns[][][<length>]
\ifdefempty{\arg@new@hintscolumnwidth}{%
% Case \setcvskillcolumns[], \setcvskillcolumns[][] or \setcvskillcolumns[][<somefactor>]
@@ -445,13 +455,13 @@
% \cvskill@descriptorwidth accordingly
\setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
- }%
+ }%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
% Case \setcvskillcolumns[] nothing needs to be done here recalculate lengths affected by the change
- }{%
- % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
+ }{%
+ % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
% or \setcvskillcolumns[<width>][<somefactor>]
\setlength{\skillmatrix@hintscolumnwidth}{\arg@new@hintscolumnwidth}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
@@ -483,41 +493,41 @@
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
}%
-%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
\DeclareDocumentCommand{\setcvskilllegendcolumns}{+O{\skilllegend@hintscolumnwidth} +O{\skilllegend@leftdesriptorfactor}}{%
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
%
\def\arg@new@legend@hintscolumnwidth{#1}%
@@ -532,8 +542,8 @@
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
}%
% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered
- }{%
- % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
+ }{%
+ % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
% or \setcvskilllegendcolumns[<width>][<somefactor>]
\setlength{\skilllegend@hintscolumnwidth}{\arg@new@legend@hintscolumnwidth}%
\if@moderncvbodyi%
@@ -554,18 +564,18 @@
}%
}%
}%
-%
+%
% %-------------------------------------------------------------------------------
-% % \cvskilllegend
+% % \cvskilllegend
% %-------------------------------------------------------------------------------
% default legend style
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\NewDocumentCommand\skillLegend@FontSize{}{\scriptsize}
\DeclareDocumentCommand\cvskilllegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -574,15 +584,15 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
@@ -596,7 +606,7 @@
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -610,7 +620,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\%
- %
+ %
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup
@@ -629,7 +639,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
- %
+ %
& & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup%
@@ -646,11 +656,11 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- % recalculate desrciptor widths on the fly. Allows for different padding
+ % recalculate desrciptor widths on the fly. Allows for different padding
% in the stared and nonstared case
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
@@ -660,13 +670,13 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\
- %
- & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
+ %
+ & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
\begingroup%
- % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
+ % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
% but while testing I got overflow of text into the margin
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-5\skilllegend@padding}%
@@ -678,8 +688,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{3} & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} &{\skillLegend@FontSize #6 } \\
- %
- & & & \cvskill{5} & {\skillLegend@FontSize #7 }
+ %
+ & & & \cvskill{5} & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}
@@ -697,7 +707,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -713,32 +723,32 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1}& {\skillLegend@FontSize #3} & \cvskill{3}& {\skillLegend@FontSize #5 }\\%
%
& \cvskill{2}& \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& {\skillLegend@FontSize #6 }\\%
- %
+ %
& & & \cvskill{5} & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillplainlegend
+% % \cvskillplainlegend
% %-------------------------------------------------------------------------------
% alternative legend style
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\DeclareDocumentCommand\cvskillplainlegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -747,12 +757,12 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
@@ -766,7 +776,7 @@
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -780,7 +790,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & %
\end{tabular}%
\endgroup%
@@ -799,7 +809,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5 } & & %
\end{tabular}%
\endgroup%
@@ -816,7 +826,7 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@@ -828,8 +838,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
%
& \cvskill{2} & &{\skillLegend@FontSize#4} & \cvskill{5} & &{\skillLegend@FontSize#7}\\%
- %
- & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
+ %
+ & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
@@ -845,7 +855,7 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6} \\
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7} \\
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & %
\end{tabular}%
\endgroup
@@ -863,7 +873,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -879,16 +889,16 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6}\\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7}\\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
@@ -900,20 +910,20 @@
\NewDocumentCommand\cvSkillMatrix@HeadFont{}{\normalfont}
\DeclareDocumentCommand\cvskillhead{+O{} +O{} +O{} +O{} +O{}}{}%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
\NewDocumentCommand\skillMatrix@HeaderDefaultOne{}{Level}
@@ -924,13 +934,13 @@
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth}@{\hspace{\skillmatrix@padding}}
p{\skillmatrix@commentwidth}@{}}%
- & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
+ & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
\end{tabular}%
\endgroup
\par\addvspace{#1}
@@ -938,7 +948,7 @@
% Definition of \cvskillhead valid moderncvbodyv
\if@moderncvbodyv%
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
\begingroup%
@@ -954,19 +964,19 @@
& & \centering{\cvSkillMatrix@HeadFont#2} & \centering{\cvSkillMatrix@HeadFont#3} & \centering{\cvSkillMatrix@HeadFont#4} & {\cvSkillMatrix@HeadFont#5} \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillentry
+% % \cvskillentry
% %-------------------------------------------------------------------------------
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
\DeclareDocumentCommand\cvskillentry{s +O{} +m +m +m +m +m}{}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -974,14 +984,14 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
% Definition of \cvskillentry valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii, moderncvbodyiv
@@ -990,7 +1000,7 @@
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
@@ -1018,7 +1028,7 @@
\if@moderncvbodyv%
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
%test for the star * in the command
@@ -1038,13 +1048,13 @@
}%
\IfBooleanTF{#1}{% the star does not do anything here
\@starIndependentMatrixEntry%
- }{%
+ }{%
\@starIndependentMatrixEntry%
}%
\par\@aftersectionfalse\ignorespaces%
}%
\fi
-%
+%
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylebanking.sty b/macros/latex/contrib/moderncv/moderncvstylebanking.sty
index afc20e5399..6398480ef9 100644
--- a/macros/latex/contrib/moderncv/moderncvstylebanking.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylebanking.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylebanking.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
@@ -24,6 +24,12 @@
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
+% head options
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
\DeclareOption{symbols} {\@symbolstrue}
@@ -55,19 +61,45 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
-
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!60}
+\colorlet{titlecolor}{color2!85}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{3}
+\moderncvhead[\moderncvstyleheadoptions]{3}
\moderncvbody[\moderncvstylebodyoptions]{3}
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylecasual.sty b/macros/latex/contrib/moderncv/moderncvstylecasual.sty
index eba5df696e..1192c8911c 100644
--- a/macros/latex/contrib/moderncv/moderncvstylecasual.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylecasual.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylecasual.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,18 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: casual]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+% head options alternate, details and no details
+\DeclareOption{alternate}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,alternate}}
+\@initializeif{\if@datainhead}\@datainheadfalse
+\DeclareOption{details}{\@datainheadtrue\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +29,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{right,symbols}
+\ExecuteOptions{right,symbols,nodetails}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,18 +48,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{2}
\moderncvbody{1}
-\moderncvfoot{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstyleclassic.sty b/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
index 3018cc67a7..07950bcfa5 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleclassic.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
+
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +28,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{left,symbols}
+\ExecuteOptions{left,symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,17 +47,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{1}
\moderncvbody{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty b/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty
new file mode 100644
index 0000000000..32f02ceb37
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty
@@ -0,0 +1,63 @@
+%% start of file `moderncvstylecontemporary.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvstylecontemporary}[2023/11/24 v2.0.0 modern curriculum vitae and letter style scheme: contemporary]
+
+% head section alignment options: "left" (default) or "right"
+\@initializecommand{\moderncvstyleheadoptions}{}
+\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
+\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
+\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{left,qr}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+%-------------------------------------------------------------------------------
+% fonts & icons
+%-------------------------------------------------------------------------------
+% Latin Modern fonts
+%\ifxetexorluatex
+% \setmainfont{Latin Modern Roman}
+% \setsansfont{Latin Modern Sans}
+% \setmathfont{Latin Modern Math}
+%\else
+ \IfFileExists{lmodern.sty}%
+ {\RequirePackage{lmodern}}%
+ {}
+%\fi
+
+% symbols
+\providecolor{default-socialicon-color}{named}{headtext}
+\moderncvicons{symbols}
+
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% skillmatrix
+\colorlet{bodyrulecolor}{color1}
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
+% header, body & footer
+%-------------------------------------------------------------------------------
+\moderncvhead[\moderncvstyleheadoptions]{7}
+\moderncvbody{6}
+
+
+\endinput
+
+
+%% end of file `moderncvstylecontemporary.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvstyleempty.sty b/macros/latex/contrib/moderncv/moderncvstyleempty.sty
index a86560524c..8dcce13aa5 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleempty.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleempty.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleempty.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2022-02-21 v2.3.1 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2024-07-18 v2.4.1 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
% required packages
@@ -33,11 +33,34 @@
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+% \colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
diff --git a/macros/latex/contrib/moderncv/moderncvstylefancy.sty b/macros/latex/contrib/moderncv/moderncvstylefancy.sty
index 56de636100..1ad8d8732f 100644
--- a/macros/latex/contrib/moderncv/moderncvstylefancy.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylefancy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylefancy.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylefancy}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: fancy]
+\ProvidesPackage{moderncvstylefancy}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: fancy]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,10 +24,34 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{color1}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% EB Garamond font
@@ -38,7 +68,7 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
@@ -47,9 +77,16 @@
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{5}
+\moderncvhead[\moderncvstyleheadoptions]{5}
\moderncvbody{5}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty b/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
index 78225e0a58..37de3c57b3 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleoldstyle.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,14 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: oldstyle]
+\ProvidesPackage{moderncvstyleoldstyle}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: oldstyle]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,7 +25,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -51,11 +58,41 @@
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{4}
+\moderncvhead[\moderncvstyleheadoptions]{4}
\moderncvbody{4}
-
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty b/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty
new file mode 100644
index 0000000000..1ee94a5ef5
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty
@@ -0,0 +1,79 @@
+%% start of file `moderncvverticaltimeline.sty'.
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvverticaltimeline}[2023/11/29 v2.0.0 modern curriculum vitae vertical timeline]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{tikz}
+
+%-------------------------------------------------------------------------------
+% vertical timeline implementation
+%-------------------------------------------------------------------------------
+\tikzset{
+ tl_milestone/.style={circle,inner sep=1.5pt,draw=color0!20,label={west:#1}},
+ tl_link/.style={thick,densely dotted,color0!20},
+}
+
+\newcounter{tl@chainidx}\setcounter{tl@chainidx}{0}
+\newcounter{tl@nodeidx}\setcounter{tl@nodeidx}{0}
+
+% Mark the end of the current chain; any `\tl@milestone` issued afterward will be on a new timeline.
+\def\tl@resetchain{%
+ \stepcounter{tl@chainidx}%
+ \setcounter{tl@nodeidx}{0}%
+}
+
+% Create a node in the current timeline and link it to the previous node; if the previous milestone
+% is on the last shipped out page, draw a line that extends until the top margin. The argument is laid out as a label (default left).
+\def\tl@milestone#1{%
+ \edef\@tl@prev{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \stepcounter{tl@nodeidx}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \node[tl_milestone={#1}] (\@tl@this) {};
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@this) -- ([yshift=-1em] \@tl@this |- current page.north);
+ \else
+ \draw[tl_link] (\@tl@this) -- (\@tl@prev);
+ \fi
+ \fi
+ }
+}
+
+\AddToHook{shipout/background}{%
+ % If there are follow-up milestones in the current timeline, draw a line that extends until the bottom margin
+ \edef\@tl@prev{tl-\thetl@chainidx-\number\numexpr\thetl@nodeidx-1}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@prev) -- ([yshift=1em] \@tl@prev |- current page.south);
+ \fi
+ \fi
+ }
+}
+
+\AtEndDocument{\tl@resetchain}
+
+\let\@old@section=\section%
+\RenewDocumentCommand{\section}{sm}{\tl@resetchain\@old@section{#1}}
+
+\endinput
+
+
+%% end of file `moderncvverticaltimeline.sty'.
diff --git a/macros/latex/contrib/moderncv/signature.png b/macros/latex/contrib/moderncv/signature.png
new file mode 100644
index 0000000000..8daa868ed8
--- /dev/null
+++ b/macros/latex/contrib/moderncv/signature.png
Binary files differ
diff --git a/macros/latex/contrib/moderncv/template.tex b/macros/latex/contrib/moderncv/template.tex
index 38d313b383..7128f09e08 100644
--- a/macros/latex/contrib/moderncv/template.tex
+++ b/macros/latex/contrib/moderncv/template.tex
@@ -1,5 +1,5 @@
%% start of file `template.tex'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -8,17 +8,23 @@
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
+\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
% moderncv themes
-\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
-\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
+\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
+ % the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
% adjust the page margins
-\usepackage[scale=0.75]{geometry}
-\setlength{\footskip}{136.00005pt} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning
+\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin
+%\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
+%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
+
+% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed
+%\def\@moderncvheadBackground{
+%}
% font loading
% for luatex and xetex, do not use inputenc and fontenc
@@ -30,7 +36,13 @@
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
- \setmathfont{Latin Modern Math}
+ \setmathfont{Latin Modern Math}
+
+ % you may also consider Fira Sans Light for a extra modern look
+ %\setsansfont[ItalicFont={Fira Sans Light Italic},%
+ % BoldFont={Fira Sans},%
+ % BoldItalicFont={Fira Sans Italic}]%
+ % {Fira Sans Light}%
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -54,24 +66,49 @@
% Social icons
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted
-\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+
\social[github]{jdoe} % optional, remove / comment the line if not wanted
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
-\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
+\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
+\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+
+\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
-\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted
+
+% YouTube links can take several forms, depending on how your account and channel are set up.
+% See https://support.google.com/youtube/answer/6180214 for more information.
+\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/'
+\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened
+\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
+
+\social[twitch]{jdoe} % optional, remove / comment the line if not wanted
+\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted
+\social[instagram]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[steam]{jdoe} % optional, remove / comment the line if not wanted
+\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
+\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
+\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
+\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
+\social[inspire]{0000000} % optional, remove / comment the line if not wanted
\extrainfo{additional information} % optional, remove / comment the line if not wanted
-\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
+\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
\quote{Some quote} % optional, remove / comment the line if not wanted
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
@@ -92,7 +129,7 @@
%----- resume ---------------------------------------------------------
\makecvtitle
-\section{Education}
+\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
@@ -135,12 +172,13 @@ Detailed achievements:
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
+\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
\section{Skill matrix}
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
-%% Skill matrix as an alternative to rate one's skills, computer or other.
+%% Skill matrix as an alternative to rate one's skills, computer or other.
-%% Adjusts width of skill matrix columns.
+%% Adjusts width of skill matrix columns.
%% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
%% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
%% Examples:
@@ -179,12 +217,12 @@ Detailed achievements:
%% Adjust head of the skill matrix for other languages
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
-%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
+%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
%% Example usages:
\cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.}
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
-\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
+\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
%% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
@@ -232,8 +270,10 @@ Detailed achievements:
% recipient data
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
\date{January 01, 1984}
+\subject{Job application}
\opening{Dear Sir or Madam,}
\closing{Yours faithfully,}
+\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle
@@ -254,4 +294,3 @@ Albert Einstein discovered that $e=mc^2$ in 1905.
%% end of file `template.tex'.
-
diff --git a/macros/latex/contrib/moderncv/tweaklist.sty b/macros/latex/contrib/moderncv/tweaklist.sty
index 3739c95f92..c5f5870000 100644
--- a/macros/latex/contrib/moderncv/tweaklist.sty
+++ b/macros/latex/contrib/moderncv/tweaklist.sty
@@ -1,6 +1,6 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
-%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
diff --git a/macros/latex/contrib/moremath/MANIFEST.md b/macros/latex/contrib/moremath/MANIFEST.md
new file mode 100644
index 0000000000..ef52db4ec2
--- /dev/null
+++ b/macros/latex/contrib/moremath/MANIFEST.md
@@ -0,0 +1,26 @@
+# Manifest of the `moremath`-package
+
+This file lists all files that are considered to be part of `moremath`.
+
+
+## Source Files
+- `moremath.dtx`: Documentation and package source.
+- `moremath.ins`: Batch file for generating `moremath.sty`
+
+## Text Files
+These plain text files are included as documentation or metadata.
+
+- `README.md`: README file.
+- `MANIFEST.md`: This file.
+
+## Derived Files
+
+These files are derived from other files mentioned above.
+
+### Documentation
+
+- `moremath-doc.pdf`: Package documentation generated from `moremath.dtx`
+
+### Unpacked Package Code
+
+- `moremath.sty`: File generated from `moremath.dtx` by `moremath.ins`.
diff --git a/macros/latex/contrib/moremath/README.md b/macros/latex/contrib/moremath/README.md
new file mode 100644
index 0000000000..4727b4b11d
--- /dev/null
+++ b/macros/latex/contrib/moremath/README.md
@@ -0,0 +1,48 @@
+# `moremath`: Convenience Math Macros
+
+The `moremath` package provides convenience shorthand math macros such as
+(auto-)delimited operators, (auto-)delimited vector calculus operators
+and some commands for quickly producing diagonal matrices,
+column, and row vectors.
+
+It depends on [mathtools](https://ctan.org/pkg/mathtools),
+[amssymb](https://ctan.org/pkg/amsfonts),
+and optionally on [bm](https://ctan.org/pkg/bm).
+
+_____
+**Note: This package is still in its initial development phase.**
+
+Its interface may be subject to change until version 1.0.0 has been reached.
+
+_____
+
+## Unpacking the Source Code
+
+To unpack the source code use
+
+``` shell
+TEX moremath.ins
+```
+
+## Generating the Documentation
+
+To produce the documentation run `moremath.dtx` through `*latex`.
+
+
+## License
+
+Copyright (C) 2024 Marcel Ilg
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Marcel Ilg.
+
+This work consists of the files listed in `MANIFEST.md`.
diff --git a/macros/latex/contrib/moremath/moremath-doc.pdf b/macros/latex/contrib/moremath/moremath-doc.pdf
new file mode 100644
index 0000000000..4a90adc8e7
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/moremath/moremath.dtx b/macros/latex/contrib/moremath/moremath.dtx
new file mode 100644
index 0000000000..3b520f4ac2
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath.dtx
@@ -0,0 +1,5515 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Marcel Ilg
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%
+% https://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status ‘maintained’.
+%
+% The Current Maintainer of this work is Marcel Ilg.
+%
+% This work consists of the files listed in MANIFEST.md.
+% \fi
+%
+% \iffalse
+%
+%<*driver>
+% Generated by ctanbib
+\begin{filecontents*}[overwrite]{\jobname.bib}
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{amsfonts,
+ title = {The \ctanbibpkgname{amsfonts} package},
+ subtitle = {TeX fonts from the American Mathematical Society},
+ author = {{The American Mathematical Society}},
+ url = {https://ctan.org/pkg/amsfonts},
+ urldate = {2024-07-04},
+ date = {},
+ version = {3.04},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{amsmath,
+ title = {The \ctanbibpkgname{amsmath} package},
+ subtitle = {AMS mathematical facilities for LaTeX},
+ author = {{The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/amsmath},
+ urldate = {2024-07-04},
+ date = {2023-05-13},
+ version = {2.17o},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{bm,
+ title = {The \ctanbibpkgname{bm} package},
+ subtitle = {Access bold symbols in maths mode},
+ author = {Carlisle, David and Mittelbach, Frank and {The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/bm},
+ urldate = {2024-07-04},
+ date = {2023-12-19},
+ version = {1.2f},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{mathtools,
+ title = {The \ctanbibpkgname{mathtools} package},
+ subtitle = {Mathematical tools to use with amsmath},
+ author = {Høgholm, Morten and Madsen, Lars and Robertson, Will and Wright, Joseph and {The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/mathtools},
+ urldate = {2024-07-04},
+ date = {2024-03-11},
+ version = {1.30},
+}
+\end{filecontents*}
+\begin{filecontents*}[overwrite]{\jobname-ams-op-table.tex}
+\begin{tabular}{rlrlrlrl}
+ \cs[module=amsmath,replace=false]{arccos} &\(\arccos\) &\cs[module=amsmath,replace=false]{deg} &\( \deg \) &\cs[module=amsmath,replace=false]{lg} &\( \lg \) &\cs[module=amsmath,replace=false]{projlim} &\( \projlim \)\\
+ \cs[module=amsmath,replace=false]{arcsin} &\(\arcsin\) &\cs[module=amsmath,replace=false]{det} &\( \det \) &\cs[module=amsmath,replace=false]{lim} &\( \lim \) &\cs[module=amsmath,replace=false]{sec} &\( \sec \)\\
+ \cs[module=amsmath,replace=false]{arctan} &\(\arctan\) &\cs[module=amsmath,replace=false]{dim} &\( \dim \) &\cs[module=amsmath,replace=false]{liminf} &\( \liminf \) &\cs[module=amsmath,replace=false]{sin} &\( \sin \)\\
+ \cs[module=amsmath,replace=false]{arg} &\(\arg\) &\cs[module=amsmath,replace=false]{exp} &\( \exp \) &\cs[module=amsmath,replace=false]{limsup} &\( \limsup \) &\cs[module=amsmath,replace=false]{sinh} &\( \sinh \)\\
+ \cs[module=amsmath,replace=false]{cos} &\(\cos\) &\cs[module=amsmath,replace=false]{gcd} &\( \gcd \) &\cs[module=amsmath,replace=false]{ln} &\( \ln \) &\cs[module=amsmath,replace=false]{sup} &\( \sup \)\\
+ \cs[module=amsmath,replace=false]{cosh} &\(\cosh\) &\cs[module=amsmath,replace=false]{hom} &\( \hom \) &\cs[module=amsmath,replace=false]{log} &\( \log \) &\cs[module=amsmath,replace=false]{tan} &\( \tan \)\\
+ \cs[module=amsmath,replace=false]{cot} &\(\cot\) &\cs[module=amsmath,replace=false]{inf} &\( \inf \) &\cs[module=amsmath,replace=false]{max} &\( \max \) &\cs[module=amsmath,replace=false]{tanh} &\( \tanh \)\\
+ \cs[module=amsmath,replace=false]{coth} &\(\coth\) &\cs[module=amsmath,replace=false]{injlim} &\(\injlim\) &\cs[module=amsmath,replace=false]{min} &\( \min \) & &\\
+ \cs[module=amsmath,replace=false]{csc} &\(\csc\) &\cs[module=amsmath,replace=false]{ker} &\(\ker\) &\cs[module=amsmath,replace=false]{Pr} &\( \Pr \) & &\\
+\end{tabular}
+\begin{center}
+ \begin{tabular}{rlrl}
+ \cs[module=amsmath,replace=false]{varinjlim} &\(\varinjlim\) &\cs[module=amsmath,replace=false]{varliminf} &\(\varliminf\)\\
+ \cs[module=amsmath,replace=false]{varprojlim} &\(\varprojlim\) &\cs[module=amsmath,replace=false]{varlimsup} &\(\varlimsup\)\\
+ \end{tabular}
+\end{center}
+\end{filecontents*}
+
+
+% custom commands for use inside the documentation
+\ExplSyntaxOn
+% Property list storing version date information
+\prop_new:N \l__moremathdoc_version_date_prop
+
+\cs_new_protected:Nn \moremathdoc_add_version:nn
+{
+ \prop_put_if_new:Nnn \l__moremathdoc_version_date_prop {#1} {#2}
+}
+
+\cs_new_protected:Nn \moremathdoc_get_version:n
+{
+ \group_begin:
+ \prop_get:NnNT \l__moremathdoc_version_date_prop {#1} \l_tmpa_tl
+ {
+ \tl_use:N \l_tmpa_tl
+ }
+ \group_end:
+}
+
+\NewDocumentCommand \AddVersion { m m }
+{
+ \moremathdoc_add_version:nn {#1} {#2}
+}
+
+\NewDocumentCommand \GetVersionDate { m }
+{
+ \moremathdoc_get_version:n {#1}
+}
+\ExplSyntaxOff
+
+\documentclass[%
+%show-notes,%
+]{l3doc}
+
+\SetupDoc{reportchangedates=true}
+\RecordChanges
+
+\usepackage[american]{babel}
+\AddBabelHook[american]{nofrench}{afterextras}{\frenchspacing}
+
+\usepackage[style=alphabetic]{biblatex}
+\addbibresource{\jobname.bib}
+
+\usepackage{csquotes}
+\SetCiteCommand{\autocite}
+
+\usepackage{amssymb}
+\usepackage[bm]{moremath}
+
+% renew the ctanbibpkgname command
+\NewDocumentCommand\ctanbibpkgname{m}{\pkg{#1}}
+
+% Example operators and commands
+\DeclareMathOperator{\glorb}{glorb}
+\DeclarePairedDelimiter{\inparen}{\lparen}{\rparen}
+\DeclareDelimitedOperator{\pglorb}{\glorb}{\inparen}
+
+\begin{document}
+ \DocInput{moremath.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% ^^X Get the package version name etc.
+% \GetFileInfo{moremath.sty}
+%
+% ^^X Register changes here
+% \AddVersion{v0.1.0}{2024-06-28}
+% \AddVersion{v0.2.0}{2024-07-04}
+% \AddVersion{v0.3.0}{2024-07-08}
+% \AddVersion{v0.4.0}{2024-07-15}
+%
+% ^^X Placeholder for unreleased versions
+% \AddVersion{vUNRELEASED}{UNRELEASED}
+%
+% \begin{documentation}
+%
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Initial development release}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Split the documentation into several parts.
+% }
+% \changes{v0.4.0}{\GetVersionDate{v0.4.0}}{
+% \textbf{Breaking Change:} Rename the package
+% and the \meta{prefix} used for function names from
+% "conmath" to "moremath".
+% }
+%
+% \title{The \pkg{moremath} package\thanks{This document coresponds to
+% \textsf{moremath}~\fileversion, dated \filedate.}}
+%
+% \author{Marcel Ilg\thanks{\texttt{mister01x (at) web (dot) de}}}
+%
+% \date{Released \filedate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The \pkg{moremath} package provides several document level commands
+% to ease the typesetting
+% and \LaTeX{} code readability of certain mathematical constructs.
+% It provides complementary commands to all operators defined by \pkg{amsmath},
+% the commands typeset delimiters that may be automatically, manually or
+% not scaled at all.
+% The commands also accept optional sub- and superscripts to the operators.
+%
+% Furthermore it provides several commands to typeset gradient, divergence,
+% curl, and Laplace operators,
+% for which there are also versions with delimiters.
+% Those commands also accept an optional subscript
+% and their appearance can be modified using key-value options.
+%
+% Additionally commands are provided for producing row and column vectors,
+% as well as (anti-)diagonal matrices,
+% utilizing \pkg{mathtools} \env{matrix*} family of environments.
+%
+% Most of the document level commands defined by this package can also
+% be disabled using a package load-time option to avoid clashes with
+% commands defined by other packages.
+% \end{abstract}
+%
+% \section*{Note: This Package is Still in its Initial Development Phase}
+% Do not expect a stable interface until version 1.0.0 has been reached!
+% While I try to keep the interface stable and backwards compatible,
+% I am unable to promise this.
+%
+% \tableofcontents
+%
+% \part{Document Author Documentation}
+% \label{pt:doc-auth}
+%
+% \section{Introduction}
+% \label{sec:intro}
+%
+% When typesetting mathematics in \LaTeX{} it is very common to often encounter,
+% code patterns such as |\sin \left( \frac{x}{2} \right)|.
+% While this above code works as expected its not especially easy for human
+% readers of this code to immediately understand what that code is going to
+% do.
+%
+% This package tries to ease readability of such commonly used constructs
+% by providing commands that (hopefully) increase readability,
+% as well as speeding up writing math in \LaTeX{}.
+% Using \pkg{moremath} the above code can be simplified to |\psin*{\frac{x}{2}}|,
+% which is shorter and better \enquote{human readable}.
+% The package also provides the possibility for users to define such delimited operators,
+% on their own.
+%
+% There are also other things that can be improved when typesetting math.
+% One prominent example is the typsetting of row and column vectors,
+% which require the use of a \env{matrix} environment.
+% For this case \pkg{moremath} provides commands which accept a comma separated
+% list of vector entries,
+% obliterating the need for a \env{matrix} environment to typeset vectors.
+%
+% The same goes for (anti-)diagonal matrices,
+% only the elements of the diagonal are of importance here.
+% Therefore the production of those matrices may also be simplified into a single command,
+% which again improves readability of the code compared to a mostly empty \env{matrix} environment.
+%
+% Another feature of this package is the definition of several (delimited)
+% vector calculus operators such as gradient, divergence and curl operators,
+% this does not only improve the semantics of the math code
+% (|\mathop{\nabla} f| vs.\ |\grad f|),
+% but also tries to provide the correct spacing between the operator and its
+% arguments.
+%
+% The \pkg{moremath} package is written using \LaTeX{}3
+% and provides a small \LaTeX{}3 interface for class and package writers.
+%
+% The source code for \pkg{moremath} is hosted on GitHub at
+% \begin{center}
+% \url{https://github.com/Mister00X/moremath}
+% \end{center}
+% If you have any issues or found a bug, feel free to register an issue there.
+%
+% \section{Dependencies}
+% \label{sec:deps}
+%
+% The main dependency of this package is \pkg{mathtools}~\autocite{mathtools}.
+% Optionally the \pkg{bm}~\autocite{bm} may be loaded.
+%
+% If the option "no-vector" has \emph{not} been given as a package load time option,
+% this package also loads the \pkg{amssymb}~\autocite{amsfonts} package.
+%
+% \section{Package Options}
+% \label{sec:pack-opts}
+%
+% ^^X SUBSECTION: Package Load Time Options
+% \subsection{Package Load Time Options}
+% \label{sec:pkg-load-time-opts}
+% The options described in this section \emph{must} be given
+% at package load time i.e.\ as package options.
+% All options which are not described below will be passed to
+% \pkg{mathtools}~\autocite{mathtools},
+% see its documentation for more information.
+%
+% \DescribeOption{bm} The \verb|bm| option
+% loads the \pkg{bm}~\autocite{bm} package which provides a better version of
+% the \cs{boldsymbol} command.
+%
+%
+%
+%
+% The options
+% \DescribeOption{no-vector} "no-vector",
+% \DescribeOption{no-abs-shorthands} "no-abs-shorthands",
+% \DescribeOption{no-operators} "no-operators",
+% \DescribeOption{no-crvector} "no-crvector",
+% and \DescribeOption{no-matrix} "no-matrix"
+% disable the definition of the predefined commands described in sections~\ref{sec:vector-calculus},
+% \ref{sec:shorthands},
+% \ref{sec:delim-ops},
+% \ref{sec:rc-vectors},
+% and~\ref{sec:matrices}
+% respectively.
+%
+% \DescribeOption{nopredef}
+% The option |nopredef| achieves the same as the three
+% |no-|\meta{functionality} options above.
+% It accepts multiple values, valid option values are:
+% |vector|,
+% |abs|,
+% |operators|,
+% |crvector|,
+% |matrix|,
+% and |all|.
+% The values
+% |abs|,
+% |operators|,
+% and |vector|
+% disable the predefined
+% document level commands for
+% delimited operators,
+% vector calculus
+% and the shorthands for absolute value and norm respectively.
+% The values "crvector" and "matrix" disable the shorthand commands
+% for row and column vectors, and simple matrices respectively.
+% The special value |all| disables all of them.
+%
+% The option accepts multiple values which can be given as a comma separated
+% list, or as multiple key-value options, like in the examples below:
+% \begin{verbatim}
+% \usepackage[nopredef={vector,abs,operators}]{moremath}
+% \end{verbatim}
+% This is equivalent to
+% \begin{verbatim}
+% \usepackage[nopredef=all]{moremath}
+% \end{verbatim}
+% and to:
+% \begin{verbatim}
+% \usepackage[nopredef=vector,nopredef=abs,nopredef=operators]{moremath}
+% \end{verbatim}
+%
+% The command \cs{NewDelimitedOperator} is not affected by any of the above
+% settings.
+%
+% ^^X SUBSECTION: General Options
+% \subsection{General Options}
+% \label{sec:pkg-general-options}
+%
+% The options described in this section
+% \emph{must not} be given as package options,
+% instead they should be set using \cs{moremathsetup}
+% or given as optional argument to the commands described later.
+% \begin{function}[updated = 2024-07-15]{\moremathsetup}
+% \begin{syntax}
+% \cs{moremathsetup}\marg{kv~list}
+% \end{syntax}
+% Sets the options specified in the \meta{key-value list},
+% the assignment is local to the current group.
+% If a \meta{value} contains a comma it needs to be wrapped in braces.
+% This command may be used anywhere in the document after \pkg{moremath}
+% has been loaded.
+% \end{function}
+%
+% \subsubsection{Options Affecting Vector Calculus Operators}
+% \label{sec:options-vec-calc}
+%
+% \DescribeOption{nabla}
+% The option |nabla| sets the symbol to use by the document level commands
+% described in section~\ref{sec:vector-calculus} to use for the nabla.
+% It accepts a list of \meta{tokens}. Its default value is |\nabla|.
+%
+% \DescribeOption{arrownabla}
+% The option |arrownabla| puts a small arrow over the gradient operator symbol.
+% Its default value is |false|.
+%
+% \DescribeOption{boldnabla}
+% The option |boldnabla| makes the nabla symbol bold.
+% If the |bm| package option has been given the |\boldsymbol| command from
+% the \pkg{bm} package is used for the bold symbol,
+% otherwise the \pkg{amsmath}~\autocite{amsmath} version is used.
+%
+% \DescribeOption{grad-op}
+% The option |grad-op| may be used to overwrite,
+% the built in version of the gradient operator, it accepts a \meta{token list}.
+% Use at your own responsibility.
+%
+% \DescribeOption{laplacian-symb}
+% The option |laplacian-symb| sets the symbol to use by the document level
+% commands described in section~\ref{sec:vector-calculus} to use for the
+% Laplace operator. It accepts a list of \meta{tokens}.
+%
+% \DescribeOption{delta-laplace}
+% The option |delta-laplace| replaces the Laplace operator symbol
+% (by default \(\laplacian\)) with a uppercase delta
+% (\(\laplacian[delta-laplace=true]\)).
+% Its default value is |false|.
+%
+% \DescribeOption{arrowlaplace}
+% The option |arrowlaplace| if set to |true| makes the Laplace operator look
+% like this: \(\laplacian[arrowlaplace=true]\).
+%
+% \DescribeOption{laplacian}
+% Like the option |grad-op| above the option |laplacian| may be used to
+% overwrite the built-in version of the Laplace operator.
+% Use at your own responsibility.
+%
+% \DescribeOption{dalembert-symb}
+% Like the option "nabla" this sets the symbol to use by the document level
+% commands described in section~\ref{sec:dalembert-op-cmds} to use as symbol
+% for the \foreignlanguage{french}{d'Alembert} operator. It accepts a list of
+% \meta{tokens}. It's default value is \cs[module=amssymb,replace=false]{square}.
+%
+% \DescribeOption{vcenter}
+% The option "vcenter" controls if certain mathematical symbols
+% of the operators described in section~\ref{sec:vector-calculus} should be
+% vertically centered along the math-axis.
+% The default value of this option is "true".
+%
+%
+%
+% \subsubsection{Options Affecting Matrices and Vectors}
+% \label{sec:options-matrix}
+%
+% The options in this section only affect the commands described in sections~\ref{sec:rc-vectors}
+% and~\ref{sec:matrices}. To set them with \cs{moremathsetup} it is necessary
+% to add the prefix |matrix / | to these options,
+% so that the resulting command looks like \cs{moremathsetup}\texttt{\{matrix / \meta{option}\}}.
+% When using these options inside the optional argument of the commands described
+% in sections~\ref{sec:rc-vectors} and~\ref{sec:matrices}, the prefix "matrix /"
+% must be omitted.
+%
+% \DescribeOption{delimiter}
+% The option |delimiter| determines the delimiters used for the matrices,
+% valid values are "p" for parenthesis, "b" for brackets, "B" for braces,
+% "v" for single vertical lines (\enquote{\(\vert\)}),
+% "V" for double vertical lines (\enquote{\(\Vert\)}) or empty for no delimiters.
+% The default value is "{}" (empty).
+%
+% \DescribeOption{fill}
+% The fill option determines the values an (anti-)diagonal matrix is filled with,
+% outside the diagonal. The default is again empty.
+%
+% \DescribeOption{align}
+% This option determines the alignment of the numbers inside the matrix.
+% The value of this option gets passed to the optional argument of the \env{matrix*}
+% or \env{smallmatrix*} family of environments defined by \pkg{mathtools}~\autocite{mathtools}.
+% Valid values for both types of those environments are |l| for left alignment,
+% |r| for right alignment and |c| for centered alignment. The default is |c|.
+%
+% \begin{texnote}
+% The non-"small" versions of the commands described in the sections~\ref{sec:rc-vectors}
+% and~\ref{sec:matrices}, accept \textcquote{mathtools}{\textelp{}
+% any column type valid in the usual \env{array} environment.}
+% \end{texnote}
+%
+%
+% \section{Delimited Operators}
+% \label{sec:delim-ops}
+%
+% \subsection{Delimited Operators Predefined by \pkg{moremath}}
+% \label{sec:delim-op-predef}
+%
+% \DescribeOption{no-operators}
+% If the package load time option |no-operators| is not given this package defines several
+% delimited mathematical operators.
+%
+% \begin{table}
+% \caption{%
+% Operator commands defined by the \pkg{amsmath}~\autocite{amsmath}
+% package.}
+% \label{tab:amsmath-operators}
+% \vspace{.5\baselineskip}
+% \input{\jobname-ams-op-table.tex}
+% \end{table}
+%
+% \begin{function}{
+% \parccos, \barccos, \Barccos, \varccos, \Varccos,
+% }
+% \begin{syntax}
+% \cs{parccos} \oarg{size cmd} \marg{contents}
+
+% \cs{parccos} \oarg{size cmd} \textasciicircum\marg{superscript} \marg{contents}
+%
+% \cs{parccos} \oarg{size cmd} \_\marg{subscript} \marg{contents}
+%
+% \cs{parccos} \oarg{size cmd} \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+%
+% \cs{parccos}* \marg{contents}
+%
+% \cs{parccos}* \textasciicircum\marg{superscript} \marg{contents}
+%
+% \cs{parccos}* \_\marg{subscript} \marg{contents}
+% \cs{parccos}* \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+%
+%
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \textasciicircum\marg{superscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \textasciicircum\marg{superscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+% \end{syntax}
+% For all of the operators predefined by \pkg{amsmath}~\autocite{amsmath},
+% which are shown in table~\ref{tab:amsmath-operators},
+% \pkg{moremath} declares delimited versions.
+% The name of those commands follows the scheme \cs[no-index]{\meta{prefix}\meta{op}},
+% where \meta{prefix} is one of |p|, |b|, |B|, |v|, or |V|
+% and \meta{op} is the name of one of the operators shown in table~\ref{tab:amsmath-operators}.
+%
+% The \meta{prefix}es |p|, |b|, |B|, |v|, and |V| stand for
+% parenthesis, brackets, braces, single vertical lines (\enquote{\(\vert\)}), and double vertical lines
+% (\enquote{\(\Vert\)}) respectively.
+%
+% The commands accept a \meta{size cmd} optional argument, which is usually one of
+% \cs{big}, \cs{Big}, \cs{bigg} and \cs{Bigg}.
+% These \meta{size cmd}s are used to change the size of the delimiters.
+%
+% The commands also accept sub- and superscripts,
+% which have to be issued \emph{after} the optional argument (if present),
+% but before the mandatory argument \meta{contents}.
+%
+% The starred variant uses automatic scaling for the delimiters depending on the height of its contents.
+% \end{function}
+%
+% \paragraph{Examples}
+%
+% The following examples showcase the use of those predefined delimited operators:
+% \begin{enumerate}
+% \item Different delimited operators without any scaling:
+%
+% \begin{verbatim}
+% \[
+% \pcos{x} \times \bcos{y}
+% \times \Bcos{z} \times \vcos{a}
+% \times \Vcos{b}
+% \]
+% \end{verbatim}
+% \[
+% \pcos{x} \times \bcos{y}
+% \times \Bcos{z} \times \vcos{a}
+% \times \Vcos{b}
+% \]
+%
+% \item Delimited operator with automatic scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos*{\frac{x^{2}}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos*{\frac{x^{2}}{2}}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with manual scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos[\Big]{\frac{x^{2}}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos[\Big]{\frac{x^{2}}{2}}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with subscript:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plog_{10}{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% ^^X XXX: Using an underscore is broken here (because of l3doc???) therefore I
+% ^^X use "\sb" instead.
+% \[
+% \plog\sb{10}{1+x}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with superscript:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos^{2}{x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos^{2}{x}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with both sub- and superscript and manual scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos[\Big]^{2}_{x}{\frac{x}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% ^^X XXX: Again use "\sb" instead of "_" because of l3doc
+% \[
+% \pcos[\Big]^{2}\sb{x}{\frac{x}{2}}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \subsection{Declaring New Delimited Operators}
+% \label{sec:delim-op-new}
+%
+% \begin{function}{\DeclareDelimitedOperator}
+% \begin{syntax}
+% \cs{DeclareDelimitedOperator}\marg{new op}\marg{op}\marg{delim}
+% \end{syntax}
+% Creates a new delimited operator,
+% the name of the new command will be \meta{new op}.
+% The \meta{op} is the command of the operator to use,
+% which is usually a command declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+% \meta{delim} is the command to use as paired delimiter,
+% it is expected to behave like a paired delimiter declared by
+% \pkg{mathtools}~\autocite{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+% \end{function}
+%
+% \paragraph{Example: Creating a New Delimited Operator}
+% The following code creates a new operator and a paired delimiter
+% and uses it afterwards to declare a paired operator.
+% \begin{verbatim}
+% \documentclass{scrartcl}
+%
+% \DeclareMathOperator{\glorb}{glorb}
+% \DeclarePairedDelimiter{\inparen}{\lparen}{\rparen}
+% \DeclarePairedOperator{\pglorb}{\glorb}{\inparen}
+%
+% \begin{document}
+% \[
+% \pglorb{a}
+% \]
+% \end{document}
+% \end{verbatim}
+% The result then looks like this:
+% \[
+% \pglorb{a}
+% \]
+%
+%
+% \section{Vector Calculus Operators}
+% \label{sec:vector-calculus}
+%
+% \DescribeOption{no-vector}
+% The commands in this section are only declared if the option |no-vector|
+% has not been given to the package as a load time option.
+%
+% \DescribeOption{vcenter}
+% The option "vcenter" controls if the symbols for the operators described below
+% should be vertically centered along the math axis. Its default value is "true".
+%
+% This option only shows its effects if other options like "arrownabla",
+% "arrowlaplace", or "boldnabla" are set to "true".
+% Like in the example below:
+% \begin{quote}
+% \begin{verbatim}
+% \begin{gather*}
+% \grad f(x) \quad \grad[arrownabla,vcenter=false] f(x)
+% \quad \grad[arrownabla,vcenter=true] f(x)\\
+% \laplacian f(x) \quad \laplacian[arrowlaplace,vcenter=false] f(x)
+% \quad \laplacian[arrowlaplace,vcenter=true] f(x)
+% \end{gather*}
+% \end{verbatim}
+% \begin{gather*}
+% \grad f(x) \quad \grad[arrownabla,vcenter=false] f(x)
+% \quad \grad[arrownabla,vcenter=true] f(x)\\
+% \laplacian f(x) \quad \laplacian[arrowlaplace,vcenter=false] f(x)
+% \quad \laplacian[arrowlaplace,vcenter=true] f(x)
+% \end{gather*}
+% \end{quote}
+%
+% All of the commands described in this section take key-value options
+% as optional argument, which are described in section~\ref{sec:options-vec-calc}
+%
+% \subsection{Gradient Operator Commands}
+% \label{sec:grad-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:grad-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{
+% \grad,
+% }
+% \begin{syntax}
+% \cs{grad} \oarg{kv opts}
+% \cs{grad} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{grad} command produces a gradient operator
+% looking like this \enquote{\(\grad\)} by default.
+% The optional argument \meta{kv opts} accepts the key-value options
+% described in section~\ref{sec:options-vec-calc},
+% whitespace between the command name
+% and \oarg{kv~opts} is \emph{not allowed}.
+% An optional subscript using "_" may be given after the optional argument.
+% \end{function}
+%
+% \paragraph{Examples of Use}
+% \begin{enumerate}
+% \item Standalone gradient operator (with and without subscript):
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad f(x), \quad \grad_{x} f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad f(x), \quad \grad\sb{x} f(x)
+% \]
+% \end{minipage}
+%
+% \item Bold version of the gradient operator:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad[boldnabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad[boldnabla] f(x)
+% \]
+% \end{minipage}
+%
+% \item Gradient operator with an arrow:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad[arrownabla] f(x)
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:grad-op-delim}
+%
+% \begin{function}{
+% \pgrad,
+% \bgrad,
+% \Bgrad,
+% \vgrad,
+% \Vgrad
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}grad} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}grad}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}grad}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}grad} family of commands produces
+% gradient operator which is followed by \meta{contents} inside delimiters.
+% The delimiter is determined by the first letter of the command \meta{delim},
+% which may be "p" for parenthesis, "b" for brackets, "B" for braces,
+% "v" for a single vertical line (\enquote{\(\vert\)}), or "V" for a double
+% vertical line (\enquote{\(\Vert\)}).
+%
+% The commands accept either a \meta{size command} as optional argument,
+% which gets passed to \pkg{mathtools}~\autocite{mathtools} paired delimiter
+% or a list of \meta{key-value option}s,
+% the \meta{kv opts} \emph{must} be given using the complete syntax,
+% i.e.\ \meta{key}"="\meta{value},
+% shorthands for options with an implicit default value (|arrownabla|),
+% will not work here.
+% The \meta{size~command} is usually one of \cs{big}, \cs{Big}, \cs{bigg} and
+% \cs{Bigg}.
+% Valid \meta{kv opts} are all options described in section~\ref{sec:options-vec-calc}
+% and the key "scale" which accepts a \meta{size cmd}.
+%
+% \begin{quote}
+% \textbf{Note:}\\
+% Do not mix \meta{kv opts} and \meta{size cmd},
+% use either |\pgrad[\big]{f(x)}| or |\pgrad[arrownabla=true,scale=\big]{f(x)}|.
+% \end{quote}
+%
+% \medskip\noindent
+% An optional \meta{subscript} may be given between the optional argument,
+% and \meta{contents}. One use case for this subscript is to write formulae
+% using the so called Feynman-notation, where the gradient operator acts
+% only on one variable.
+%
+% The starred version of the commands automatically scale the delimiters
+% with its contents.
+% \end{function}
+%
+% \paragraph{Examples:}
+% \begin{enumerate}
+% \item Gradient operator with non-scaled delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad{1+\vec{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad{1+\vec{x}}
+% \]
+% \end{minipage}
+%
+% \item Bold version:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad[boldnabla=true]{1+\vec{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad[boldnabla=true]{1+\vec{x}}
+% \]
+% \end{minipage}
+%
+% \item Gradient operator with automatically scaled delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad*{\frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad*{\frac{1}{x}}
+% \]
+% \end{minipage}
+%
+% \item Manually scaled version:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \begin{gather*}
+% \pgrad[\Big]{\frac{1}{x}}\\[.5ex]
+% \pgrad[scale=\Big]{\frac{1}{x}}
+% \end{gather*}
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \begin{gather*}
+% \pgrad[\Big]{\frac{1}{x}}\\[.5ex]
+% \pgrad[scale=\Big]{\frac{1}{x}}
+% \end{gather*}
+% \end{minipage}
+%
+% \item Feynman-Notation:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad_{x}{x+y+z}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad\sb{x}{x+y+z}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsection{Divergence Operator Commands}
+% \label{sec:div-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:div-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{\divergence}
+% \begin{syntax}
+% \cs{divergence} \oarg{kv opts}
+% \cs{divergence} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{divergence} command produces the divergence operator
+% \enquote{\(\divergence\)},
+% its usage is analogous to the use of the \cs{grad} command,
+% which is described in section~\ref{sec:grad-op-standalone}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Standalone divergence operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\divergence f\]
+% \end{minipage}
+%
+% \item Standalone divergence operator
+% with an arrow over the gradient operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\divergence[arrownabla] f(x)\]
+% \end{minipage}
+%
+% \item Standalone divergence operator with subscript
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence_{x} f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% ^^X We need to use \sb because of the subscript package
+% \begin{minipage}{.49\linewidth}
+% \[\divergence\sb{x} f(x)\]
+% \end{minipage}
+% \end{enumerate}
+% \subsubsection{Operators with Delimiters}
+% \label{sec:div-op-delim}
+%
+% \begin{function}{
+% \pdiv,
+% \bdiv,
+% \Bdiv,
+% \vdiv,
+% \Vdiv
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}div} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}div}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}div}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}div} family of commands produces the divergence
+% operator with its arguments placed inside delimiters.
+% The usage of these commands is analogous to the \cs[no-index]{\meta{delim}grad}
+% family of commands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \paragraph{Examples}
+%
+% \begin{enumerate}
+% \item Divergence operator with parenthesis and no scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiv{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pdiv{1+x}\]
+% \end{minipage}
+% \item Bold version with manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \pdiv[boldnabla=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[\pdiv[boldnabla=true,scale=\Big]\sb{x}{1+\frac{1}{x}}\]
+%
+% \item Automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiv*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pdiv*{1 + \frac{1}{x}}\]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsection{Curl Operator Commands}
+% \label{sec:curl-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:curl-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{\curl}
+% \begin{syntax}
+% \cs{curl} \oarg{kv opts}
+% \cs{curl} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{curl} command produces the curl operator \enquote{\(\curl\)},
+% its usage is analogous to the use of the \cs{grad} command
+% described in section~\ref{sec:grad-op-standalone}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Standalone curl operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl f(x)\]
+% \end{minipage}
+%
+% \item Standalone curl operator with an arrow over the gradient operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl[arrownabla] f(x)\]
+% \end{minipage}
+%
+% \item Standalone curl operator with subscript
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl_{x} f(x,y)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl\sb{x} f(x,y)\]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:curl-op-delim}
+%
+% \begin{function}{
+% \pcurl,
+% \bcurl,
+% \Bcurl,
+% \vcurl,
+% \Vcurl
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}curl} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}curl}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}curl}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}curl} family of commands produce the curl operator
+% with its arguments placed inside delimiters.
+% The usage of these commands is analogous to the \cs[no-index]{\meta{delim}grad}
+% family of commmands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Curl operator with parenthesis without scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcurl{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pcurl{1+x}\]
+% \end{minipage}
+%
+% \item Bold version with manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \pcurl[boldnabla=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[
+% \pcurl[boldnabla=true,scale=\Big]\sb{x}{1 + \frac{1}{x}}
+% \]
+%
+% \item Automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcurl*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pcurl*{1 + \frac{1}{x}}\]
+% \end{minipage}
+% \end{enumerate}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Fixed example to match description.
+% }
+%
+%
+% \subsection{Laplace Operator Commands}
+% \label{sec:laplace-op-cmds}
+%
+% This section describes commands which can be used to typeset a Laplace
+% operator.
+%
+%
+% Like the commands described in sections~\ref{sec:grad-op-cmds},
+% \ref{sec:div-op-cmds}, and~\ref{sec:curl-op-cmds}
+% the commands in this section accept key-value options via an optional
+% argument.
+% There is some deviation from the options compared to the above commands:
+% The "arrownabla" option is ignored,
+% instead the "arrowlaplace" option produces an arrow over the operator.
+% The "boldnabla" option on the other hand is not ignored.
+% Finally the "delta-laplace" option replaces the symbol used
+% for the operator from \(\laplacian\) to \(\laplacian[delta-laplace]\)
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:laplace-op-standalone}
+%
+%
+% \begin{function}[updated=2024-07-08]{\laplacian}
+% \begin{syntax}
+% \cs{laplacian} \oarg{kv opts}
+% \cs{laplacian} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{laplacian} command produces a Laplace operator,
+% which looks by default like this: \(\laplacian\).
+%
+% Its interface is analogous to the \cs{grad}, \cs{divergence},
+% and \cs{curl} commands described above,
+% with the difference in key-value options described at the start of this
+% subsection.
+% \end{function}
+%
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:laplace-op-delim}
+%
+% \begin{function}{
+% \plaplacian,
+% \blaplacian,
+% \Blaplacian,
+% \vlaplacian,
+% \Vlaplacian
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Laplace operator delimited by parenthesis without scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian{1+x}\]
+% \end{minipage}
+%
+% \item Version with arrow, manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \plaplacian[arrowlaplace=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[
+% \plaplacian[arrowlaplace=true,scale=\Big]\sb{x}{1 + \frac{1}{x}}
+% \]
+%
+% \item Version with automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian*{1 + \frac{1}{x}}\]
+% \end{minipage}
+%
+% \item Using a delta as symbol for the Laplacian
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian[delta-laplace=true]{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian[delta-laplace=true]{1+x}\]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \subsection{^^X
+% Commands Producing a \foreignlanguage{french}{d'Alembert} operator
+% }
+% \label{sec:dalembert-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:dalembert-op-standalone}
+%
+% \begin{function}[
+% added = 2024-07-04,
+% updated=2024-07-08,
+% ]{\quabla}
+% \begin{syntax}
+% \cs{quabla} \oarg{kv~opts}
+% \cs{quabla} \oarg{kv~opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{quabla} command produces
+% the \foreignlanguage{french}{d'Alembert} operator \enquote{\(\quabla\)}.
+% This command accepts an optional subscript.
+% \end{function}
+%
+% The command is called \cs{quabla} because thats shorter and easier to type than
+% \cs[no-index]{dalembertian}.
+% If you want to have a command called \cs[no-index]{dalembertian},
+% put the following in your documents preamble.
+% \begin{verbatim}
+% \NewCommandCopy\quabla\dalembertian
+% \end{verbatim}
+%
+% \paragraph{Example of Use:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \quabla f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\quabla f(x)\]
+% \end{minipage}
+% \end{quote}
+%
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:dalembert-op-delim}
+%
+% \begin{function}[added = 2024-07-04]{
+% \pquabla,
+% \bquabla,
+% \Bquabla,
+% \vquabla,
+% \Vquabla,
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}quabla} \oarg{size~cmd} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{kv~opts} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{size~cmd} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{kv~opts} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla}* \oarg{kv~opts} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla}* \oarg{kv~opts} \_\marg{subscript} \marg{contents}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}quabla} family of commands produce a
+% \foreignlanguage{french}{d'Alembert} operator with <contents> placed inside
+% delimiters.
+% Their usage is analogous to the \cs[no-index]{\meta{delim}grad} family of
+% commands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Fixed syntax description of standalone operators not matching reality.
+% }
+%
+%
+% \section{Row- and Column Vectors}
+% \label{sec:rc-vectors}
+%
+% \DescribeOption{no-crvector}
+% The command in this section are only declared if the option |no-crvector|
+% has not been given as a package option.
+%
+% ^^X \DescribeOption{delimiter}
+% ^^X \DescribeOption{fill}
+% ^^X \DescribeOption{align}
+% ^^X The commands in this section all accept key-value options as optional argument.
+% Valid keys are "delimiter", "fill", and "align",
+% their usage is described in section~\ref{sec:options-matrix}.
+%
+% \begin{function}{
+% \cvector,
+% \rvector
+% }
+% \begin{syntax}
+% \cs{cvector} \oarg{kv opts} \marg{clist}
+% \cs{rvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The commands \cs{cvector} and \cs{rvector} produce row and column vectors
+% respectively. Both of them accept key-value options as optional argument
+% \meta{kv opts}. Valid keys and values are described in section~\ref{sec:options-matrix}.
+%
+% The mandatory argument \meta{clist} is a comma-separated-list,
+% whose elements are the entries of the column/row vector.
+% If a comma has to appear inside an entry the entire entry has to be wrapped
+% in braces.
+%
+% The delimiter of the row or column vectors depends on the current value of
+% the option |delimiter|, by default empty. The option |fill| has no effect
+% on the commands and is simply ignored.
+%
+% \begin{texnote}
+% If you were to define your own \env{matrix*}-like environment
+% called \env{mymatrix*},
+% which has an interface compatible to \pkg{mathtools}'s \env{matrix*}
+% family of environments,
+% you could make use of it by setting the value of |delimiter| to |my|.
+% \end{texnote}
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Examples:}
+% \begin{enumerate}
+% \item Column \enquote{vector} without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{minipage}
+%
+% \item A column vectors delimited with parenthesis and different alignment:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=c]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=c]{-1,2,3}
+% \]
+% \end{minipage}\\[1ex]
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=r]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=r]{-1,2,3}
+% \]
+% \end{minipage}\\[1ex]
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=l]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=l]{-1,2,3}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \paragraph{Row- and Column Vectors with Predefined Delimiters}
+%
+% As vectors are commonly delimited by parenthesis, brackets, braces, etc.\
+% several shorthands producing delimited vectors are also available.
+% \begin{function}{
+% \pcvector,
+% \bcvector,
+% \Bcvector,
+% \vcvector,
+% \Vcvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}cvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{\meta{delim}rvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}\meta{c or r}vector} family of commands,
+% accepts a list of key-value options as optional argument \meta{kv opts}.
+% Valid keys are described in section~\ref{sec:options-matrix}.
+%
+% The mandatory argument \meta{clist} is a comma-separated-list of
+% the entries of the vector.
+% If a comma needs to appear inside an entry of the vector,
+% that entry has to be wrapped in braces.
+%
+% \meta{delim} may have the value "p" for parenthesis,
+% "b" for brackets, "B" for braces, "v" for a single vertical line,
+% or "V" for a double vertical line.
+% \end{function}
+%
+% \subparagraph{Example}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+% \subsection{Small Versions for Inline Math}
+% \label{sec:rc-vectors-small}
+%
+% As the \env{matrix} and \env{matrix*} family of environments is unsuitable,
+% for inline math,
+% \pkg{mathtools}~\autocite{mathtools} provides the \env{smallmatrix}
+% and \env{smallmatrix*} family of environments.
+% This package provides analogous commands for row and column vectors
+% to be typeset in inline math mode.
+%
+% \begin{function}{
+% \smallcvector,
+% \smallrvector
+% }
+% \begin{syntax}
+% \cs{smallcvector} \oarg{kv opts} \marg{clist}
+% \cs{smallrvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% \cs{smallcvector} and \cs{smallrvector} produce column and row vectors
+% suitable for inline math.
+% Both commands accept the same optional key-value arguments as
+% \cs{cvector} and \cs{rvector}.
+% \end{function}
+%
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of \verb|\cvector| looks like this
+% \(\smallcvector{1,0}\).
+% \end{verbatim}
+% An inline version of \verb|\cvector| looks like this
+% \(\smallcvector{1,0}\).
+% \end{quote}
+%
+% \begin{function}{
+% \psmallcvector,
+% \bsmallcvector,
+% \Bsmallcvector,
+% \vsmallcvector,
+% \Vsmallcvector,
+% \psmallrvector,
+% \bsmallrvector,
+% \Bsmallrvector,
+% \vsmallrvector,
+% \Vsmallrvector,
+% }
+% \begin{syntax}
+% \cs{psmallcvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{psmallrvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{\meta{delim}small\meta{c or r}vector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}small\meta{c or r}vector} family of commands
+% like \cs{psmallcvector} produce small inline math version of row and column
+% vectors. Their interface is identical to the commands described above.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}\nobreak
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of \verb|\pcvector| looks like this
+% \(\psmallcvector{1,0}\).
+% \end{verbatim}
+% An inline version of \verb|\pcvector| looks like this
+% \(\psmallcvector{1,0}\).
+% \end{quote}
+%
+%
+% \section{Shorthands for Simple Matrices}
+% \label{sec:matrices}
+%
+% \DescribeOption{no-matrix}
+% The commands in this section are only defined if the option "no-matrix"
+% \emph{has not been given} to the package at load-time.
+%
+%
+% \subsection{(Anti-)diagonal Matrices}
+% \label{sec:diagonal-matrices}
+%
+% \begin{function}{
+% \diagmat,
+% \antidiagmat,
+% }
+% \begin{syntax}
+% \cs{diagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{antidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% \cs{diagmat} and \cs{antidiagmat} produce a diagonal or anti-diagonal matrix
+% respectively.
+% The optional argument \meta{kv~opts} accepts the key value options
+% described in section~\ref{sec:options-matrix}.
+%
+% The key "fill" determines the contents of the matrix entries
+% which are not part of the (anti-)diagonal,
+% its default value is |{}| i.e.\ empty.
+% The key "align" determines the alignment of the entries inside the
+% matrix, valid values are usually "l", "c", and "r",
+% the default is "c".
+% The key "delimiter" determines the delimiter around the matrix,
+% its default value is |{}| (none).
+% Valid values for the delimiters are "p" for parenthesis,
+% "b" for brackets, "B" for braces, "v" for a single vertical line
+% (\enquote{\(\vert\)}), and "V" for a double vertical line (\enquote{\(\Vert\)}).
+% See the \pkg{mathtools} manual~\autocite{mathtools} for more information.
+%
+% \begin{texnote}
+% The value of "delimiter" gets inserted inside the |\begin{#1matrix*}|
+% and |\end{#1matrix*}| commands.
+% Therefore it would be possible to define your own \env{matrix*}
+% like environment,
+% called for example \env{mymatrix*} and set "delimiter=my"
+% to make use of it.
+% \end{texnote}
+%
+% The mandatory argument \meta{diagonal} has to be a comma separated list
+% of the entries of the (anti-)diagonal.
+% If an entry of the diagonal needs to contain a comma "," the entire entry
+% has to be wrapped in braces.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Examples:}
+% \begin{enumerate}
+% \item A diagonal and an anti-diagonal matrix without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \begin{gather*}
+% \diagmat{1,2,3}\\[.5ex]
+% \antidiagmat{1,2,3}
+% \end{gather*}
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \begin{gather*}
+% \diagmat{1,2,3}\\[.5ex]
+% \antidiagmat{1,2,3}
+% \end{gather*}
+% \end{minipage}
+% \item A diagonal matrix delimited by parenthesis filled with zeros:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \diagmat[delimiter=p,fill=0]{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \diagmat[delimiter=p,fill=0]{1,2,3}
+% \]
+% \end{minipage}
+%
+% \item A diagonal matrix filled with a symbol:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \diagmat[fill=\square]{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\diagmat[fill=\square]{1,2,3}\]
+% \end{minipage}
+%
+% \item Diagonal matrices with different alignment:
+%
+% \begin{verbatim}
+% \[
+% \diagmat[delimiter=p,align=c,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=l,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=r,fill=0]{-1,-2,-3}
+% \]
+% \end{verbatim}
+% \[
+% \diagmat[delimiter=p,align=c,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=l,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=r,fill=0]{-1,-2,-3}
+% \]
+% \end{enumerate}
+%
+%
+% \paragraph{Shorthands for (Anti-)diagonal Matrices with Delimiters}
+%
+% As matrices are more often than not written inside of delimiters,
+% \pkg{moremath} provides several shorthands for producing those matrices
+% without having to set the "delimiter" key explicitly.
+% \begin{function}{
+% \pdiagmat,
+% \bdiagmat,
+% \Bdiagmat,
+% \vdiagmat,
+% \Vdiagmat
+% }
+% \begin{syntax}
+% \cs{pdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vdiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}diagmat} family of commands provides
+% shorthands for producing a delimited (anti-)diagonal matrix
+% without having to set the "delimiter" key explicitly every time.
+% The pre-set "delimiter" may be overwritten by explicitly passing "delimiter"
+% as a key-value option.
+%
+% The optional argument \meta{kv~opts} accepts the same key-value arguments
+% as \cs{diagmat}.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiagmat{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pdiagmat{1,2,3}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+% \begin{function}{
+% \pantidiagmat,
+% \bantidiagmat,
+% \Bantidiagmat,
+% \vantidiagmat,
+% \Vantidiagmat
+% }
+% \begin{syntax}
+% \cs{pantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}antidiagmat} family of commands behaves
+% like the \cs[no-index]{\meta{delim}diagmat} commands described above,
+% except they produce anti-diagonal matrices.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pantidiagmat{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pantidiagmat{1,2,3}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+%
+% \subsubsection{Small Versions for Inline Math}
+% \label{sec:matrices-small}
+%
+% \pkg{mathtools} defines special matrix environments for use in
+% inline math mode,
+% the \env{smallmatrix} and \env{smallmatrix*} family of environments.
+% \pkg{moremath} provides for the case of typesetting an (anti-)diagonal
+% matrix several commands which utilize these inline math versions.
+%
+% \begin{function}{
+% \smalldiagmat,
+% \smallantidiagmat,
+% }
+% \begin{syntax}
+% \cs{smalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{smallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs{smalldiagmat} and \cs{smallantidiagmat} commands behave like
+% their non-"small" counterpart described above,
+% see their description for more information.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of a diagonal matrix looks like this
+% \(\smalldiagmat{1,1}\).
+% \end{verbatim}
+% An inline version of a diagonal matrix looks like this
+% \(\smalldiagmat{1,1}\).
+% \end{quote}
+%
+% \begin{function}{
+% \psmalldiagmat,
+% \bsmalldiagmat,
+% \Bsmalldiagmat,
+% \vsmalldiagmat,
+% \Vsmalldiagmat,
+% }
+% \begin{syntax}
+% \cs{psmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}diagmat} commands described above
+% there are also shorthand commands for producing an inline math version
+% of a diagonal matrix with pre-set delimiters.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline math delimited diagonal matrix looks like this
+% \(\psmalldiagmat{1,1}\).
+% \end{verbatim}
+% An inline math delimited diagonal matrix looks like this
+% \(\psmalldiagmat{1,1}\).
+% \end{quote}
+%
+% \begin{function}{
+% \psmallantidiagmat,
+% \bsmallantidiagmat,
+% \Bsmallantidiagmat,
+% \vsmallantidiagmat,
+% \Vsmallantidiagmat,
+% }
+% \begin{syntax}
+% \cs{psmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}antidiagmat} commands described above
+% there are also shorthand commands for producing inline math versions
+% of anti-diagonal matrices inside of delimiters.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% A delimited version of an inline math anti-diagonal matrix
+% looks like this \(\psmallantidiagmat{1,1}\).
+% \end{verbatim}
+% A delimited version of an inline math anti-diagonal matrix
+% looks like this \(\psmallantidiagmat{1,1}\).
+% \end{quote}
+%
+% \subsection{Identity Matrices}
+% \label{sec:id-matrices}
+%
+% As identity matrices are always quadratic,
+% one can further simplify the typesetting of identity matrices to a command,
+% which constructs the identity matrix from the number of dimensions.
+% The commands in this subsection perform this.
+%
+% \begin{function}[added = 2024-07-04]{
+% \idmat,
+% \smallidmat,
+% }
+% \begin{syntax}
+% \cs{idmat} \oarg{kv~opts} \marg{dimension}
+% \cs{smallidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% The \cs{idmat} command produces an identity matrix.
+% The optional argument <kv~opts> accepts any valid \emph{matrix} key-value
+% arguments,
+% which are described in section~\ref{sec:options-matrix}.
+% The mandatory argument <dimension> expects a \emph{positive} integer,
+% which specifies the dimensions of the identity matrix.
+%
+% The \cs{smallidmat} command behaves like the \cs{idmat} command,
+% except it produces a matrix suitable for inline math mode.
+%
+% \begin{texnote}
+% The maximum number of columns is determined by the \TeX{} counter
+% "MaxMatrixCols",
+% which has a default value of 10.
+% See \textcite{amsmath} for more information.
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{function}[added = 2024-07-04]{
+% \pidmat,
+% \bidmat,
+% \Bidmat,
+% \vidmat,
+% \Vidmat
+% }
+% \begin{syntax}
+% \cs{pidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{bidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Bidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{vidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Vidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}diagmat} commands,
+% the \cs[no-index]{\meta{delim}idmat} commands produce an identity matrix
+% with a pre-set delimiter around the matrix,
+% i.e.\ they behave like \cs{idmat}|[delimiter = |<delim>|]|\marg{dimension}.
+% <delim> can be "p" for parenthesis,
+% "b" for brackets,
+% "B" for braces,
+% "v" for a single vertical line (\enquote{\(\vert\)}),
+% or "V" for a double vertical line (\enquote{\(\Vert\)}).
+%
+% Furthermore these commands accept the same <kv~opts> as the \cs{idmat} command.
+% \end{function}
+%
+% \begin{function}[added = 2024-07-04]{
+% \psmallidmat,
+% \bsmallidmat,
+% \Bsmallidmat,
+% \vsmallidmat,
+% \Vsmallidmat
+% }
+% \begin{syntax}
+% \cs{psmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{bsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Bsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{vsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Vsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% These commands are provide inline math suitable versions of the
+% \cs[no-index]{\meta{delim}idmat} commands described above.
+% See their description for more information.
+%
+% The commands accept any of the key-value options described in section~\ref{sec:options-matrix}
+% as optional argument <kv~opts>.
+% \end{function}
+%
+% \paragraph{Examples of Use}
+% \begin{enumerate}
+% \item Identity matrix without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \idmat{3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\idmat{3}\]
+% \end{minipage}
+%
+% \item Identity matrices with different delimiters:
+%
+% \begin{verbatim}
+% \[
+% \pidmat{3}\text{,}\quad \bidmat{3}\text{,}\quad
+% \Bidmat{3}\text{,}\quad \vidmat{3}\text{,}\quad
+% \Vidmat{3}
+% \]
+% \end{verbatim}
+% \[
+% \pidmat{3}\text{,}\quad
+% \bidmat{3}\text{,}\quad
+% \Bidmat{3}\text{,}\quad
+% \vidmat{3}\text{,}\quad
+% \Vidmat{3}
+% \]
+%
+% \item Inline math versions of identity matrices with delimiters:
+%
+% \begin{verbatim}
+% Inline math mode matrices look like this:
+% \(\psmallidmat{2}\), \(\bsmallidmat{2}\), \(\Bsmallidmat{2}\),
+% \(\vsmallidmat{2}\), \(\Vsmallidmat{2}\).
+% \end{verbatim}
+% Inline math mode matrices look like this:
+% \(\psmallidmat{2}\), \(\bsmallidmat{2}\), \(\Bsmallidmat{2}\),
+% \(\vsmallidmat{2}\), \(\Vsmallidmat{2}\).
+%
+% \item Identity matrix using the "fill" option for the non-diagonal elements
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pidmat[fill=\star]{3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pidmat[fill=\star]{3}\]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \section{Shorthands for Absolute Value and Norm}
+% \label{sec:shorthands}
+%
+% \DescribeOption{no-abs-shorthands}
+% The commands in this section are only declared if the option "no-abs-shorthands"
+% has not been given to the package as a load time option.
+%
+% \begin{function}{
+% \abs,
+% \norm
+% }
+% \begin{syntax}
+% \cs{abs} \oarg{size cmd} \marg{content}
+% \cs{abs}* \marg{content}
+% \cs{norm} \oarg{size cmd} \marg{content}
+% \cs{norm}* \marg{content}
+% \end{syntax}
+% The commands \cs{abs} and \cs{norm}, produce \(\abs{\cdot}\) and
+% \(\norm{\cdot}\) respectively.
+% These commands are simply paired delimiters defined using \pkg{mathtools}'
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command,
+% instruction on their usage can therefore be found in~\textcite{mathtools}.
+% \end{function}
+%
+%
+% \section{Vertically Centering Math Along the Math Axis}
+% \label{sec:vcenter}
+%
+% Sometimes it is useful to explicitly center a math symbol along the math axis.
+% A prominent example is the case of |\mathop{\boldsymbol\nabla}\nolimits|
+% vs.\ |\mathop{\nabla}\nolimits|,
+% as displayed below.
+% \[
+% \mathop{\boldsymbol\nabla}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% Here the bold nabla is slightly higher up than the non-bold version.
+%
+% \begin{function}[added=2024-07-08]{\VCenterMath}
+% \begin{syntax}
+% \cs{VCenterMath} \marg{contents}
+% \end{syntax}
+% \begin{danger}
+% The command \cs{VCenterMath} centers <contents> along the current math axis,
+% while adhering to the current math style.
+% This command is not in a \TeX{}-sense
+% \tn[no-index]{long}, i.e.\ it does not take \tn[no-index]{par} tokens.
+%
+% This command is somewhat dangerous as it utilizes the \tn{vcenter} primitive,
+% which leaves math mode and requires to reenter it.
+% \emph{Use at your own responsibility.}
+% \end{danger}
+% \begin{texnote}
+% This command is a wrapper around \tn{vcenter}, \cs{hbox:n}
+% and \tn{mathpalette}, it reenters math mode inside the hbox.
+% \end{texnote}
+% \end{function}
+%
+% With \cs{VCenterMath} it is possible to fix the above example to:
+% \begin{quote}
+% \begin{verbatim}
+% \[
+% \mathop{\VCenterMath{\boldsymbol\nabla}}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% \end{verbatim}
+% \[
+% \mathop{\VCenterMath{\boldsymbol\nabla}}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% \end{quote}
+%
+%
+% \part{Documentation for Class and Package Authors}
+% \label{sec:package-auth-doc}
+%
+% \section{Setting of Options}
+% \label{sec:authors-options}
+%
+% \begin{function}[updated = 2024-07-15]{
+% \moremath_setup:n
+% }
+% \begin{syntax}
+% \cs{moremath_setup:n} \marg{kv opts}
+% \end{syntax}
+% This functions sets the key-value options \meta{kv~opts} in the "moremath" namespace.
+% \end{function}
+%
+% \section{Delimited Operators}
+% \label{sec:authors-delim-op}
+%
+% \begin{function}[updated = 2024-07-15]{
+% \moremath_delim_op_noscale:NNnnn,
+% \moremath_delim_op_autoscale:NNnnn
+% }
+% \begin{syntax}
+% \cs{moremath_delim_op_noscale:NNnnn} \meta{math~op} \meta{delim}
+% \hspace*{2ex} \marg{sup~tl} \marg{sub~tl} \marg{tl}
+% \cs{moremath_delim_op_autoscale:NNnnn} \meta{math op} \meta{delim}
+% \hspace*{2ex} \marg{sup~tl} \marg{sub~tl} \marg{tl}
+% \end{syntax}
+% The two functions \cs{moremath_delim_op_noscale:NNnnn} and \cs{moremath_delim_op_autoscale:NNnnn}
+% provide a version of a delimited operator with no scaling or automatic scaling respectively.
+% The token list arguments \meta{sup~tl} and \meta{sub~tl} take the super- and subscript
+% of the operator respectively. Both of those token lists may be empty.
+%
+% The first argument to the function is a control sequence \meta{math~op},
+% which should be an operator declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+% The second argument \meta{delim} has to be a control sequence of a paired delimiter,
+% as defined by \pkg{mathtools}'s
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% The final argument \meta{tl} is a list of arbitrary token to put inside the delimiters.
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_op_manuscale:NNnnnn,
+% \moremath_delim_op_manuscale:NNVnnn
+% }
+% \begin{syntax}
+% \cs{moremath_delim_op_manuscale:NNnnnn} \meta{math op} \meta{delim} \marg{scale cmd}
+% \hspace*{2ex} \marg{sup} \marg{sub} \marg{tl}
+% \end{syntax}
+% The function \cs{moremath_delim_op_manuscale:NNnnnn} typesets a math operator with
+% manual scaling of its delimiters.
+% Its arguments are identical to \cs{moremath_delim_op_noscale:NNnnn}
+% except for the argument \meta{scale~cmd} which has to be a token list containing
+% a \meta{size~cmd} that can be understood by \pkg{mathtools},
+% usually \cs{big}, \cs{Big}, \cs{bigg} and \cs{Bigg}.
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_new_delim_op_command:NNN,
+% \moremath_new_delim_op_command:cNN,
+% }
+% \begin{syntax}
+% \cs{moremath_new_delim_op_command:NNN} \meta{new~csname} \meta{operator} \meta{delim}
+% \end{syntax}
+% The function \cs{moremath_new_delim_op_command:NNN} defines a new document level command
+% called \meta{new~csname}, utilizing the operator \meta{operator} and the delimiter \meta{delim}.
+%
+% \meta{operator} has to be a control sequence referring to an operator,
+% as declared by \cs{DeclareMathOperator}.
+%
+% \meta{delim} has to be a paired delimiter as defined by \pkg{mathtools}'
+% \cs{DeclarePairedDelimiter}.
+% \end{function}
+%
+% \section{Vector Calculus Typesetting}
+% \label{sec:authors-vec-calc}
+%
+% \subsection{Functions Producing Standalone Operators with Subscripts}
+% \label{sec:authors-vec-calc-operators}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_gradient_operator:n,
+% \moremath_divergence_operator:n,
+% \moremath_curl_operator:n,
+% \moremath_laplace_operator:n,
+% \moremath_dalembert_operator:n
+% }
+% \begin{syntax}
+% \cs{moremath_gradient_operator:n} \marg{subscript}
+% \cs{moremath_divergence_operator:n} \marg{subscript}
+% \cs{moremath_curl_operator:n} \marg{subscript}
+% \cs{moremath_laplace_operator:n} \marg{subscript}
+% \cs{moremath_dalembert_operator:n} \marg{subscript}
+% \end{syntax}
+% Each of these functions return a vector calculus operator,
+% with an (optional) subscript.
+% The argument \meta{subscript}, a token list, may be empty,
+% in which case no subscript is produced.
+%
+% The actual operator produced depends on the current settings
+% of the key-value options described in section~\ref{sec:pack-opts}
+% inside the current group.
+% \end{function}
+%
+% \subsection{Functions Producing Operators with Delimiters}
+% \label{sec:authors-vec-calc-delim-ops}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_nabla_op_noscale:NNnn,
+% \moremath_delim_nabla_op_autoscale:NNnn,
+% }
+% \begin{syntax}
+% \cs{moremath_delim_nabla_op_noscale:NNnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{sub} \marg{contents}
+%
+% \cs{moremath_delim_nabla_op_autoscale:NNnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{sub} \marg{contents}
+% \end{syntax}
+% The usage of these functions is similar to the functions
+% \cs{moremath_delim_op_noscale:NNnnn} and \cs{moremath_delim_op_autoscale:NNnnn}
+% except for the missing superscript.
+%
+% The first argument \meta{operator} has to be a function which accepts one argument
+% (the subscript).
+% This is usually one of the \cs[no-index]{moremath_\meta{op}_operator:n} commands.
+%
+% The argument \meta{sub}, which may be empty,
+% is a token list to pass as the subscript to
+% \cs[no-index]{moremath_\meta{op}_operator:n}.
+%
+% The last argument \meta{contents} is a token list to put inside the delimiters.
+%
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_nabla_op_manuscale:NNnnn,
+% \moremath_delim_nabla_op_manuscale:NNVnn,
+% }
+% \begin{syntax}
+% \cs{moremath_delim_nabla_op_manuscale:NNnnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{scale~cmd} \marg{sub} \marg{contents}
+% \end{syntax}
+% The usage of function is similar to the above functions
+% except for the additional argument \meta{scale~cmd} which is a token list
+% with a \meta{size~cmd} that should be understood by \pkg{mathtools}
+% (e.g.\ \cs{big}, \cs{Big}, etc.).
+% \end{function}
+%
+% \section{Formatting Matrices and Vectors}
+% \label{sec:authors-matrix}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_column_vector:nn,
+% \moremath_row_vector:nn,
+% \moremath_column_smallvector:nn,
+% \moremath_row_smallvector:nn
+% }
+% \begin{syntax}
+% \cs{moremath_column_vector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_row_vector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_column_smallvector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_row_smallvector:nn} \marg{delim spec tl} \marg{clist}
+% \end{syntax}
+% These functions produce a column or row vector.
+% The "small"\meta{c~or~r}"vector" versions are intended for inline math mode.
+%
+% The first argument \meta{delim spec tl} should be the specification of
+% a delimiter, as used in the naming of the \env{matrix*} environments
+% by \pkg{mathtools}.
+%
+% The second argument \meta{clist}, is a comma-separated list of entries
+% of the vector.
+%
+% Of this commands the "c" versions produce column vectors, the "r" versions
+% produce row vectors.
+%
+% The alignment of the entries inside the vector depends on the current
+% value of the key "align".
+% \end{function}
+%
+% \begin{function}[
+% updated = 2024-07-04,
+% updated=2024-07-15,
+% ]{
+% \moremath_diagonal_matrix:nn,
+% \moremath_diagonal_matrix:nV,
+% \moremath_diagonal_matrix:Vn,
+% \moremath_diagonal_matrix:VV,
+% \moremath_antidiagonal_matrix:nn,
+% \moremath_antidiagonal_matrix:nV,
+% \moremath_antidiagonal_matrix:Vn,
+% \moremath_antidiagonal_matrix:VV,
+% \moremath_diagonal_smallmatrix:nn,
+% \moremath_diagonal_smallmatrix:nV,
+% \moremath_diagonal_smallmatrix:Vn,
+% \moremath_diagonal_smallmatrix:VV,
+% \moremath_antidiagonal_smallmatrix:nn,
+% \moremath_antidiagonal_smallmatrix:nV,
+% \moremath_antidiagonal_smallmatrix:Vn,
+% \moremath_antidiagonal_smallmatrix:VV,
+% }
+% \begin{syntax}
+% \cs{moremath_diagonal_matrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_antidiagonal_matrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_diagonal_smallmatrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_antidiagonal_smallmatrix:nn} \marg{delim tl} \marg{clist}
+% \end{syntax}
+% These functions produce (anti-)diagonal matrices.
+% The argument \meta{delim~tl} is a token list,
+% intended to specify the delimiter of the matrix or no delimiter if the
+% <tl> is empty no delimiters are produced.
+%
+% The argument <clist> is a list of comma separated values which specify the
+% entries of the diagonal.
+% Other properties of the matrix to produce like alignment ("align")
+% and the tokens to insert for non-diagonal entries ("fill")
+% depend on the current setting of the keys described in section~\ref{sec:options-matrix}.
+%
+% The "smallmatrix" versions are intended for use in inline math mode.
+% \end{function}
+%
+% \begin{function}[
+% added = 2024-07-04,
+% updated=2024-07-15,
+% ]{
+% \moremath_id_matrix:n,
+% \moremath_id_matrix:V,
+% \moremath_id_smallmatrix:n,
+% \moremath_id_smallmatrix:V,
+% }
+% \begin{syntax}
+% \cs{moremath_id_matrix:n} \marg{dimensions}
+% \cs{moremath_id_smallmatrix:n} \marg{dimensions}
+% \end{syntax}
+% These functions produce a identity matrix with <dimensions> rows and columns.
+% <dimensions> is expected to be a \emph{positive} integer.
+% The "smallmatrix" version utilizes \pkg{mathtools}' \env{smallmatrix*} environment,
+% which makes it suitable for inline math mode.
+%
+% The delimiter around the matrix is determined by the current value of the key
+% "matrix / delimiter" inside the current group.
+%
+% As these functions utilize \cs{moremath_diagonal_matrix:VV} or
+% \cs{moremath_diagonal_smallmatrix:VV} and make use of temporary variables
+% it is advised to put them into their own group,
+% i.e.\ surround them by \cs{group_begin:} and \cs{group_end:}.
+% \end{function}
+%
+% \section{Vertically Centering Math Along the Math Axis}
+% \label{sec:autors-vcenter}
+%
+% As already said in section~\ref{sec:vcenter} sometimes it is needed to
+% explicitly center some math code.
+%
+% \begin{function}[
+% added=2024-07-08,
+% updated=2024-07-15,
+% ]{
+% \moremath_vcenter:n,
+% }
+% \begin{syntax}
+% \cs{moremath_vcenter:n} \marg{contents}
+% \end{syntax}
+% The function \cs{moremath_vcenter:n} places <contents> inside a "hbox",
+% which is centered along the math axis by \tn{vcenter}.
+% The contents inside the "hbox" are set in math mode.
+% The function also applies the \enquote{outer} math style
+% to the contents of the "hbox".
+%
+% This function is not \tn[no-index]{long},
+% as it sets its contents inside a "hbox".
+%
+% \begin{texnote}
+% This function is a wrapper around \tn{vcenter}, \cs{hbox:n},
+% and \tn{mathpalette}.
+% Inside the "hbox" math mode is reentered.
+% \end{texnote}
+% \end{function}
+%
+% \end{documentation}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \begin{implementation}
+% \part{Implementation}
+% \label{pt:implementation}
+% Start the \pkg{DocStrip} guards.
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% Set the internal prefix for this package so that \pkg{DocStrip} knows what to
+% do.
+% \begin{macrocode}
+%<@@=moremath>
+% \end{macrocode}
+%
+% \section{Initial Setup}
+%
+% First set the required version of \LaTeX{},
+% we need at least
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+% \end{macrocode}
+% for key-value option handling, \pkg{xparse}-like document commands
+% (especially for using the "=" option specification)
+% and hooks.
+%
+% Then identify this package as \pkg{moremath}.
+% \begin{macrocode}
+\ProvidesExplPackage{moremath}
+ {2024-07-15}{v0.4.0}{More Math Macros}
+% \end{macrocode}
+%
+% ^^X Debugging switch
+% \iffalse
+% \debug_on:n {all}
+% \fi
+% \section{Key-value interfaces}
+% \label{sec:key-val}
+% To make use of key-value interfaces we need to define a few keys.
+%
+% \subsection{Package load time options}
+% \label{sec:load-time-options}
+%
+% To allow for the conditional definition of macros at load time
+% we define a few keys.
+%
+% But before doing so we define a few messages to write the package options to
+% the log file.
+% One message to issue if the \texttt{bm} option has been given:
+% \begin{macrocode}
+\msg_new:nnn { moremath } {load / bm}
+{
+ Option~'bm'~given.\\
+ Loading~the~bm~package~\msg_line_context:.
+}
+% \end{macrocode}
+% And a more generic message to issue for the other options,
+% which all disable certain parts of the library.
+% \begin{macrocode}
+\msg_new:nnn {moremath} { load / disabling }
+{
+ Option~'#1'~given.\\
+ Disabling~#2~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{variable}{
+% \l_@@_predef_vector_op_bool,
+% \l_@@_predef_operators_bool,
+% \l_@@_predef_crvector_bool,
+% \l_@@_predef_matrix_bool,
+% \l_@@_predef_abs_bool,
+% }
+% To store the values of several switch type key-value options
+% we declare several boolean variables.
+% \begin{macrocode}
+\bool_new:N \l_@@_predef_vector_op_bool
+\bool_new:N \l_@@_predef_operators_bool
+\bool_new:N \l_@@_predef_crvector_bool
+\bool_new:N \l_@@_predef_matrix_bool
+\bool_new:N \l_@@_predef_abs_bool
+% \end{macrocode}
+%
+% The variables \cs{l_@@_predef_vector_op_bool}, \cs{l_@@_predef_operators_bool}
+% \cs{l_@@_predef_abs_bool}, \cs{l_@@_predef_matrix_bool}
+% and \cs{l_@@_predef_crvector_bool}
+% control if the predefined macros
+% for vector calculus, delimited operators, the matrix shorthands,
+% the row and column vectors,
+% and the shorthands for absolute value
+% and norm shall be defined.
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Explicitly declared boolean variables used to store key-value options.
+% }
+% \end{variable}
+%
+% \begin{optionenv}{
+% bm,
+% no-vector,
+% no-operators,
+% no-abs-shorthands,
+% no-matrix,
+% no-crvector,
+% nopredef,
+% }
+% Now we define package load time keys:
+% \begin{macrocode}
+\keys_define:nn { moremath / load }
+{
+% \end{macrocode}
+% We provide an option to conditionally load the \pkg{bm}-package~\autocite{bm}
+% to provide better looking bold symbols.
+% \begin{macrocode}
+ bm .code:n = {
+ \msg_info:nn {moremath} {load / bm}
+ \RequirePackage{bm}
+ },
+ bm .value_forbidden:n = true,
+ bm. usage:n = load,
+% \end{macrocode}
+% Then we define options for en-/disabling predefined macros of this package
+% to avoid name clashes.
+% \begin{macrocode}
+ no-vector .bool_set_inverse:N = \l_@@_predef_vector_op_bool,
+ no-vector .default:n = true,
+ no-vector .initial:n = false,
+ no-vector .usage:n = load,
+ no-operators .bool_set_inverse:N = \l_@@_predef_operators_bool,
+ no-operators .default:n = true,
+ no-operators .initial:n = false,
+ no-operators .usage:n = load,
+ no-abs-shorthands .bool_set_inverse:N = \l_@@_predef_abs_bool,
+ no-abs-shorthands .default:n = true,
+ no-abs-shorthands .initial:n = false,
+ no-abs-shorthands .usage:n = load,
+ no-matrix .bool_set_inverse:N = \l_@@_predef_matrix_bool,
+ no-matrix .initial:n = false,
+ no-matrix .default:n = true,
+ no-matrix .usage:n =load,
+ no-crvector .bool_set_inverse:N = \l_@@_predef_crvector_bool,
+ no-crvector .default:n = true,
+ no-crvector .initial:n = false,
+ no-crvector .usage:n = load,
+ nopredef .multichoice:,
+ nopredef / operators .meta:nn = { moremath / load }
+ {
+ no-operators = true
+ },
+ nopredef / vector .meta:nn = { moremath / load }
+ {
+ no-vector = true
+ },
+ nopredef / abs .meta:nn = { moremath / load }
+ {
+ no-abs-shorthands = true,
+ },
+ noperdef / matrix .meta:nn = { moremath / load }
+ {
+ no-matrix = true,
+ },
+ nopredef / crvector .meta:nn = {moremath / load}
+ {
+ no-crvector = true,
+ },
+ nopredef / all .meta:nn = { moremath / load }
+ {
+ no-operators = true,
+ no-vector = true,
+ no-abs-shorthands = true
+ },
+ nopredef .usage:n = load,
+% \end{macrocode}
+% Unknown package options get passed to \pkg{mathtools}.
+% \begin{macrocode}
+ unknown .code:n = {\PassOptionsToPackage{\CurrentOption}{mathtools}},
+ unknown .usage:n = load,
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added package load-time options.
+% }
+% \end{optionenv}
+%
+%
+% \subsection{Keys controlling appearance}
+% \label{sec:keys-appearance}
+%
+% \begin{variable}{
+% \l_@@_nabla_tl,
+% \l_@@_nabla_arrow_bool,
+% \l_@@_nabla_arrow_bold_bool,
+% \l_@@_grad_op_tl,
+% \l_@@_laplacian_symb_tl,
+% \l_@@_laplacian_delta_bool,
+% \l_@@_laplacian_arrow_bool,
+% \l_@@_laplacian_tl,
+% \l_@@_dalembert_symb_tl,
+% }
+% We declare several variables to store the values of the keys affecting
+% appearance.
+% \begin{macrocode}
+\tl_new:N \l_@@_nabla_tl
+\bool_new:N \l_@@_nabla_arrow_bool
+\bool_new:N \l_@@_nabla_arrow_bold_bool
+\tl_new:N \l_@@_grad_op_tl
+% \end{macrocode}
+%
+% The symbol to use as \enquote{nabla} is stored in \cs{l_@@_nabla_tl}.
+% The variables \cs{l_@@_nabla_arrow_bool} and \cs{l_@@_nabla_bold_bool}
+% determine if the nabla-symbol shall have an arrow over itself and/or be bold
+% respectively.
+%
+% The variable \cs{l_@@_grad_op_tl} contains a user provided token list to
+% overwrite the built-in gradient operator of the package.
+%
+% \begin{macrocode}
+\tl_new:N \l_@@_laplacian_symb_tl
+\bool_new:N \l_@@_laplacian_delta_bool
+\bool_new:N \l_@@_laplacian_arrow_bool
+\tl_new:N \l_@@_laplacian_tl
+% \end{macrocode}
+% The token list variable \cs{l_@@_laplacian_symb_tl} stores the tokens to be
+% used for the Laplace operator.
+% The boolean variable \cs{l_@@_laplacian_delta_bool}
+% determines if a delta should be used instead
+% of \(\laplacian\) for the laplacian symbol.
+% If the boolean variable \cs{l_@@_laplacian_arrow_bool} a small arrow will be
+% placed over the Laplace operator symbol.
+% If the user wants to overwrite the symbol used for the Laplacian,
+% the user provided list of tokens is stored in the variable
+% \cs{l_@@_laplacian_tl}.
+%
+% Finally we define a variable to hold the symbol to use for the
+% \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+\tl_new:N \l_@@_dalembert_symb_tl
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Explicitly declared variables before using them to set keys.
+% }
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added: New variable \cs{l_@@_dalembert_symb_tl}
+% }
+% \end{variable}
+%
+% \begin{variable}{
+% \l_@@_vcenter_bool,
+% }
+% Additionally we declare a variable to decide if certain math symbols
+% shall be centered explicitly along the math axis.
+% \begin{macrocode}
+\bool_new:N \l_@@_vcenter_bool
+% \end{macrocode}
+% If \cs{l_@@_vcenter_bool} is true, the symbols of certain math operators,
+% should be centered explicitly.
+% \end{variable}
+%
+% \begin{optionenv}{
+% nabla,
+% arrownabla,
+% boldnabla,
+% grad-op,
+% laplacian-symb,
+% delta-laplace,
+% arrowlaplace,
+% laplacian,
+% dalembert-symb,
+% }
+% First define keys for the vector calculus macros.
+% \begin{macrocode}
+\keys_define:nn { moremath }
+{
+% \end{macrocode}
+% First we define keys for use with the gradient and gradient based operators.
+% \begin{macrocode}
+ % Symbol to use for the nabla
+ nabla .tl_set:N = \l_@@_nabla_tl,
+ nabla .initial:n = {\nabla},
+ nabla .value_required:n = true,
+ % shall the nabla have an arrow over it
+ arrownabla .bool_set:N = \l_@@_nabla_arrow_bool,
+ arrownabla .default:n = {true},
+ arrownabla .initial:n = {false},
+ % shall the nabla be bold
+ boldnabla .bool_set:N = \l_@@_nabla_bold_bool,
+ boldnabla .default:n = {true},
+ boldnabla .initial:n = {false},
+% \end{macrocode}
+% We also provide an override for the gradient operator
+% \begin{macrocode}
+ % Symbol to use for the gradient operator
+ grad-op .tl_set:N = \l_@@_grad_op_tl,
+ grad-op .value_required:n = true,
+% \end{macrocode}
+%
+% Then we define keys for the laplacian.
+% \begin{macrocode}
+ % Symbol to use for the laplacian
+ laplacian-symb .tl_set:N = \l_@@_laplacian_symb_tl,
+ laplacian-symb .initial:n = {\l_@@_nabla_tl},
+ % shall the Laplace operator be a delta
+ delta-laplace .bool_set:N = \l_@@_laplacian_delta_bool,
+ delta-laplace .initial:n = {false},
+ % shall the laplace operator have an arrow over itself
+ arrowlaplace .bool_set:N = \l_@@_laplacian_arrow_bool,
+ arrowlaplace .default:n = {true},
+ arrowlaplace .initial:n = {false},
+ % overwrite the laplace operator
+ laplacian .tl_set:N = \l_@@_laplacian_tl,
+ laplacian .value_required:n = true,
+% \end{macrocode}
+% And keys for the \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+ dalembert-symb .tl_set:N = \l_@@_dalembert_symb_tl,
+ dalembert-symb .initial:n = {\square},
+% \end{macrocode}
+% \begin{optionenv}{
+% vcenter,
+% }
+% The "vcenter" option will control the manual centering of certain math
+% operators.
+% \begin{macrocode}
+ vcenter .bool_set:N = \l_@@_vcenter_bool,
+ vcenter .initial:n = true,
+ vcenter .value_required:n = true,
+}% \keys_define:nn
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new option.
+% }
+% \end{optionenv} ^^X vcenter
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added options controlling appearance.
+% }
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added: New option "dalembert-symb".
+% }
+% \end{optionenv}
+%
+% \begin{optionenv}{
+% delimiter,
+% fill,
+% align
+% }
+% Then we define some keys for the matrix based environments:
+% \begin{macrocode}
+\keys_define:nn { moremath / matrix }
+{
+% \end{macrocode}
+% \begin{variable}{
+% \l_@@_matrix_delim_tl,
+% \l_@@_matrix_fill_tl,
+% \l_@@_matrix_align_tl,
+% }
+% Every one of the following keys stores its value inside a token list variable.
+% \begin{macrocode}
+ delimiter .tl_set:N = \l_@@_matrix_delim_tl,
+ delimiter .initial:n = {},
+ fill .tl_set:N = \l_@@_matrix_fill_tl,
+ fill .initial:n = {},
+ align .tl_set:N = \l_@@_matrix_align_tl,
+ align .initial:n = {c},
+ align .value_required:n = true,
+}
+% \end{macrocode}
+% The keys \verb|delimiter| and \verb|fill| set the variables
+% \cs{l_@@_matrix_delim_tl} and \cs{l_@@_matrix_fill_tl} respectively.
+% \cs{l_@@_matrix_delim_tl} determines the delimiter in use to surround
+% matrices and \cs{l_@@_matrix_fill_tl} determines the fill values of the
+% \cs{diag}, \cs{smalldiag}, \cs[no-index]{Xdiag} and \cs[no-index]{Xsmalldiag}
+% commands, which are used for non-diagonal matrix entries.
+% The variable \cs{l_@@_matrix_align_tl} contains the alignment specifier
+% for use with the \env{matrix*} environment.
+%
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added internal variables.
+% }
+% \end{variable}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added options for the matrix-based environments of \pkg{mathtools}.
+% }
+% \end{optionenv}
+%
+% \subsection{Functions for Setting Options}
+% \label{sec:option-setters}
+%
+%
+% Now we define a function for setting the options within the document
+% \begin{macro}{\moremath_setup:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_setup:n
+{
+ \keys_set:nn {moremath} {#1}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added function for setting options.
+% }
+% \end{macro}
+%
+% Additionally we provide the user with a version of this command.
+% \begin{macro}{\moremathsetup}
+% \begin{macrocode}
+\NewDocumentCommand \moremathsetup {m}
+{
+ \moremath_setup:n {#1}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added document command for setting package options.
+% }
+% \end{macro}
+% We also need a function for setting the package load time options.
+% This function should set all given values for all key families
+% and pass unknown options to mathtools.
+% \begin{macro}{\@@_load_time_setup:}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_load_time_setup:
+{
+ \ProcessKeyOptions[ moremath / load ]
+}
+% \end{macrocode}
+% \end{macro}
+%
+% ^^X SUBSECTION: Package Initialization
+% \section{Package Initialization}
+% \label{sec:init}
+%
+% We now \enquote{initialize} the package by processing the package options,
+% all unknown options are passed to \pkg{mathtools}~\autocite{mathtools},
+% which is loaded afterwards.
+% Because certain \pkg{mathtools}-features are needed by this package,
+% we need to require a version of at least 2004/06/05.
+% As explained in section~\ref{sec:load-time-options} this may also load \pkg{bm}
+% if the \verb|bm| package option has been given.
+% \begin{macrocode}
+\@@_load_time_setup:
+% \end{macrocode}
+% If the "no-vector" option has not been given during load time,
+% we also need the \pkg{amssymb} package~\autocite{amsfonts} for the
+% \cs[module=amssymb,replace=false]{square} command.
+% We first define a message to inform the user about this.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { load / loading-amssymb }
+{
+ Vector~calculus~commands~enabled.\\
+ Loading~amssymb~package~\msg_line_context:.
+}
+% \end{macrocode}
+% Then we conditionally load the package.
+% \begin{macrocode}
+\bool_if:NT \l_@@_predef_vector_op_bool
+{
+ \msg_info:nn { moremath } { load / loading-amssymb }
+ \RequirePackage{amssymb}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% New: Load \pkg{amssymb} if the "no-vector" option has \emph{not} been given.
+% }
+%
+% Finally we load our most important dependency \pkg{mathtools}.
+% \begin{macrocode}
+\RequirePackage{mathtools}[2004/06/05]
+% \end{macrocode}
+%
+%
+% \section{Centering Math Symbols Along the Math-Axis}
+% \label{sec:impl-vcenter}
+%
+% Certain math constructs such cause \TeX{}
+% to not center the operator along the math axis,
+% like case of |\mathop{\nabla}\nolimits| vs.\
+% |\mathop{\boldsymbol\nabla}\nolimits|,
+% as can be seen below.
+% \[
+% \mathop{\nabla}\nolimits f(x)
+% \quad \text{vs.} \quad
+% \mathop{\boldsymbol\nabla}\nolimits f(x)
+% \]
+% As can be seen the bold nabla symbol is slightly higher up than the non-bold
+% version.
+% Because of this it is sometimes useful to manually center some math symbols,
+% along the math axis.\footnote{%
+% The code in this section is inspired by
+% \url{http://www.tug.org/TUGboat/Articles/tb22-4/tb72perlS.pdf}
+% }
+%
+% \begin{macro}[added = 2024-07-08]{
+% \moremath_vcenter:n
+% }
+% The function \cs{moremath_vcenter:n} is a wrapper around the \tn{vcenter}
+% \TeX{} primitive.
+% It takes a single argument.
+% \begin{arguments}
+% \item A \meta{tl} containing math mode material to center along the math axis.
+%
+% This argument is typeset in math mode.
+% \end{arguments}
+% The function uses the \tn{mathpalette} primitive to switch to the right
+% math style.
+% The function is not in a \TeX{}-sense long,
+% i.e.\ it does not take \tn{par} tokens.
+%
+% As this function might be useful not only for internal use by \pkg{moremath},
+% we declare it as a public function here.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_vcenter:n
+{
+ \mathpalette \@@_vcenter:Nn {#1}
+}
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+% \begin{macro}[added=2024-07-08]{
+% \@@_vcenter:Nn,
+% }
+% As \tn{mathpalette} needs as its first argument a macro which takes two
+% arguments
+% (the first is a math style switch and the second the contents).\footnote{%
+% See \TeX{}SE answer \url{https://tex.stackexchange.com/a/34412}
+% }
+% We define an internal helper function for \cs{moremath_vcenter:n} for
+% \cs{mathpalette} to call.
+%
+% The function \cs{@@_vcenter:Nn} takes two arguments:
+% \begin{arguments}
+% \item The math style macro, which is passed to this function by
+% \tn{mathpalette}.
+%
+% \item The \meta{tl} to typeset inside the \tn{vcenter}.
+% \end{arguments}
+%
+% Because of the properties of \tn{vcenter}, it switches to vertical mode,
+% we need to put the contents to typeset inside a horizontal box.
+% Because of this we also need to reenter math mode, and because of this
+% we need to remove the spacing inserted by entering math mode
+% by setting \tn{mathsurround} to zero.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_vcenter:Nn
+{
+ \vcenter
+ {
+ \hbox:n
+ {
+ $
+ \mathsurround=0pt
+ #1 {#2}
+ $
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection*{Document Level Command}
+%
+% Although unlikely there might arise the need for a document author to center
+% some math along the math axis.
+% For this purpose we are going to define a new document level command.
+%
+% But first we are going to declare some messages to use by the command.
+% The first message informs the user that the command is not available,
+% because its \meta{csname} is already taken.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { csname-already-defined }
+{
+ Control~sequence~' #1 '~is~already~ defined.\\
+ Skipping~definition~\msg_line_context:
+}
+% \end{macrocode}
+% The second message should be issued if a command that only works in math mode
+% was given outside of it.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { vcenter / only-in-math-mode }
+{
+ Command~#1~used~outside~math~mode~\msg_line_context:.
+}
+{
+ The~command~#1~may~only~be~used~inside~math~mode.
+}
+% \end{macrocode}
+% \begin{macro}{
+% \VCenterMath,
+% }
+% Now to the document level command for centering math along the math axis.
+% \begin{macrocode}
+\cs_if_free:NTF \VCenterMath
+{
+ \NewDocumentCommand \VCenterMath { m }
+ {
+ \mode_if_math:TF
+ {
+ \moremath_vcenter:n {#1}
+ }{% \mode_if_math:TF FALSE BRANCH
+ \msg_error:nnn { moremath } { vcenter / only-in-math-mode } {\VCenterMath}
+ }
+ }
+}{% \cs_if_free:NTF \VCenterMath FALSE BRANCH
+ \msg_warning:nnn { moremath } { csname-already-defined } {\VCenterMath}
+}
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new document level command.
+% }
+% \end{macro}
+%
+%
+% ^^X SECTION: Paired Delimiters
+% \section{Declaring Paired Delimiters for Internal Use}
+% \label{sec:impl-paired-delim}
+%
+% \begin{macro}{
+% \@@_inparent:w,
+% \@@_inbrack:w,
+% \@@_inbrace:w,
+% \@@_in_vert:w,
+% \@@_in_Vert:w
+% }
+% As we are going to use \pkg{mathtools}' \emph{paired delimiters}
+% at several places throughout this package,
+% we define \emph{paired delimiters} for internal use, as functions with weird
+% syntax.
+% \begin{macrocode}
+\DeclarePairedDelimiter{\@@_inparent:w}{\lparen}{\rparen}
+\DeclarePairedDelimiter{\@@_inbrack:w}{\lbrack}{\rbrack}
+\DeclarePairedDelimiter{\@@_inbrace:w}{\lbrace}{\rbrace}
+\DeclarePairedDelimiter{\@@_in_vert:w}{\lvert}{\rvert}
+\DeclarePairedDelimiter{\@@_in_Vert:w}{\lVert}{\rVert}
+% \end{macrocode}
+% \end{macro}
+%
+% ^^X SECTION: Delimited Operators
+% \section{Delimited Operators}
+% \label{sec:impl-delim-op}
+%
+% We need three different functions for providing the delimited operators.
+% But as we share a lot of code between those, we define an additional
+% helper function beforehand.
+% \begin{macro}{
+% \@@_operator:Nnn
+% }
+% The function \cs{@@_operator:Nnn} takes care of the operator part
+% of the new delimiter.
+% It allows the operator to have super- and subscripts.
+% It takes three arugments.
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+% \item A \meta{token list}, which is used as the superscript operator.
+%
+% This argument may be empty
+% \item A \meta{tl}, which is used as the subscript operator.
+%
+% The \meta{tl} may be empty.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_operator:Nnn
+{
+ #1
+ % add superscript if present
+ \tl_if_empty:nF {#2} {^{#2}}
+ % add subscript if present
+ \tl_if_empty:nF {#3} { \c_math_subscript_token {#3} }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We now define three version of the delimited operators.
+% \begin{macro}{
+% \moremath_delim_op_noscale:NNnnn,
+% \moremath_delim_op_autoscale:NNnnn,
+% }
+% \cs{moremath_delim_op_noscale:NNnnn} is provides a delimited operator without
+% any scaling of the delimiters
+% and \cs{moremath_delim_op_autoscale:NNnnn} provides a version with
+% automatic scaling of the delimiters.
+% Both of them take five arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% Any operator declared with \pkg{amsmath}'s \cs{operatorname}
+% and/or\linebreak[3]
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}
+% is valid for this.
+%
+% \item The \meta{csname} of a paired delimiter declared by
+% \pkg{mathtools}'~\autocite{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% \item A \meta{tl} to use as the superscript of the operator.
+%
+% \item A \meta{tl} to use as the subscript of the operator.
+%
+% \item A \meta{tl} to insert inside the delimiters.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_op_noscale:NNnnn
+{
+ \@@_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 {#5}
+}
+
+\cs_new_protected_nopar:Nn \moremath_delim_op_autoscale:NNnnn
+{
+ \@@_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 * {#5}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added "noscale" and "autoscale" versions.
+% }
+% \end{macro}
+% \begin{macro}{
+% \moremath_delim_op_manuscale:NNnnnn,
+% \moremath_delim_op_manuscale:NNVnnn
+% }
+% \cs{moremath_delim_op_manuscale:NNnnnn} provides a delimited operator with
+% manual scaling.
+% This version takes six arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% \item The \meta{csname} of the paired delimiter
+% declared by \pkg{mathtools}'~\autocite{mathtools}\linebreak[3]
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% \item A \meta{tl} containing the scaling macro i.e.\ \cs{big}, \cs{Big},
+% \cs{Bigg},\dots
+%
+% \item A \meta{tl} containing the superscript of the operator.
+%
+% The \meta{tl} may be empty
+%
+% \item A \meta{tl} containing the subscript of the operator
+%
+% The \meta{tl} may be empty.
+%
+% \item A \meta{tl} to insert inside the delimiters
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_op_manuscale:NNnnnn
+{
+ \@@_operator:Nnn #1 {#4} {#5}
+ % #2 is the paired delimiter
+ #2 [ #3 ] {#6}
+}
+% \end{macrocode}
+% We also provide a variant for the scaling macro.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_delim_op_manuscale:NNnnnn {NNVnnn}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Function added.
+% }
+% \end{macro}
+%
+% For the creation of document level commands we also create a function,
+% so that the user is also able to declare new delimited operators.
+% But before we do so we create a message to inform the user if a
+% \meta{csname} was already taken.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { delimop / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~of~delimited~operator~'#1'~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% We also create a message to inform the user about conflicting options
+% given to the command.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { delimop / auto-manu-scale-conflict }
+{
+ Both~star~and~scale~cmd~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~will~be~
+ ignored~\msg_line_context:.
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_new_delim_op_command:NNN,
+% \moremath_new_delim_op_command:cNN,
+%}
+% \cs{moremath_new_delim_op_command:NNN} takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to be defined.
+%
+% \item The \meta{csname} of the operator to use,
+% which should be an operator declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+%
+% \item The \meta{csname} of the delimiter to use,
+% which should have been declared with
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_new_delim_op_command:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ { s o E{ ^ \char_generate:nn {`_} {8} }{{}{}} m }
+ {
+ \tl_if_novalue:nTF {##2}
+ {
+ % second argument empty
+ \bool_if:nTF {##1}
+ {
+ % star given
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{
+ % star not given
+ \moremath_delim_op_noscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }
+ }{
+ % second argument present
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % Warn if both star and scaling factor are present
+ \msg_warning:nnn { moremath } { delimop / auto-manu-scale-conflict }
+ {#1}
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{ % FALSE BRANCH
+ \moremath_delim_op_manuscale:NNnnnn #2 #3 {##2} {##3} {##4} {##5}
+ }
+ }
+ }
+ }{ % \cs_if_free:nTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { delimop / already-defined-skip }
+ {#1}
+ }
+}
+
+\cs_generate_variant:Nn \moremath_new_delim_op_command:NNN {cNN}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added function and variant.
+% }
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:impl-delim-op-doc-cmds}
+%
+% \begin{macro}{\DeclareDelimitedOperator}
+% Finally provide the user with a command to declare an additional
+% delimited operator.
+% \begin{macrocode}
+\NewDocumentCommand\DeclareDelimitedOperator { m m m }
+{
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } { error }
+ \moremath_new_delim_op_command:NNN #1 #2 #3
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } {}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Added document level command.}
+% \end{macro}
+%
+% As \pkg{amsmath}~\autocite{amsmath} pre-defines the following operators
+% it is only sensible to also define delimited versions of them:\\
+% \input{\jobname-ams-op-table.tex}
+%
+% \begin{macro}{\@@_new_delim_op_cmds:nN}
+% \cs{@@_new_delim_op_cmds:nN} creates document level macros of the form
+% \cs[no-index]{\meta{prefix}\meta{op name}}.
+% It declares fife versions \cs[no-index]{p\meta{op name}},
+% \cs[no-index]{b\meta{op name}}, \cs[no-index]{B\meta{op name}},
+% \cs[no-index]{v\meta{op name}} and \cs[no-index]{V\meta{op name}}.
+%
+% The function takes two arguments:
+% \begin{arguments}
+% \item A token list which contains \meta{op name}
+%
+% \item The \meta{csname} of the operator to use.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_delim_op_cmds:nN
+{
+ \moremath_new_delim_op_command:cNN {p #1} #2 \@@_inparent:w
+ \moremath_new_delim_op_command:cNN {b #1} #2 \@@_inbrack:w
+ \moremath_new_delim_op_command:cNN {B #1} #2 \@@_inbrace:w
+ \moremath_new_delim_op_command:cNN {v #1} #2 \@@_in_vert:w
+ \moremath_new_delim_op_command:cNN {V #1} #2 \@@_in_Vert:w
+}
+% \end{macrocode}
+% \end{macro}
+%
+% The decision if the following macros are defined depends on a package load
+% time option.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_operators_bool
+{
+% \end{macrocode}
+% We define the commands for the operators already declared by amsmath.
+% \begin{macro}[documented-as=\parccos]{
+% \parccos, \barccos, \Barccos, \varccos, \Varccos,
+% }
+% For \cs[module=amsmath,replace=false]{arccos},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arccos} \arccos
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added delimited document commands for all \pkg{amsmath}-defined operators.
+% }
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \parcsin, \barcsin, \Barcsin, \varcsin, \Varcsin,
+% }
+% \cs[module=amsmath,replace=false]{arcsin},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arcsin} \arcsin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \parctan, \barctan, \Barctan, \varctan, \Varctan,
+% }
+% \cs[module=amsmath,replace=false]{arctan},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arctan} \arctan
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \Parg, \barg, \Barg, \varg, \Varg,
+% }
+% \cs[module=amsmath,replace=false]{arg}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arg} \arg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcos, \bcos, \Bcos, \vcos, \Vcos,
+% }
+% \cs[module=amsmath,replace=false]{cos}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cos} \cos
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcosh, \bcosh, \Bcosh, \vcosh, \Vcosh,
+% }
+% \cs[module=amsmath,replace=false]{cosh},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cosh} \cosh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcot, \bcot, \Bcot, \vcot, \Vcot,
+% }
+% \cs[module=amsmath,replace=false]{cot},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cot} \cot
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcoth, \bcoth, \Bcoth, \vcoth, \Vcoth,
+% }
+% \cs[module=amsmath,replace=false]{coth},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {coth} \coth
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcsc, \bcsc, \Bcsc, \vcsc, \Vcsc,
+% }
+% \cs[module=amsmath,replace=false]{csc},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {csc} \csc
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdeg, \bdeg, \Bdeg, \vdeg, \Vdeg,
+% }
+% \cs[module=amsmath,replace=false]{deg},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {deg} \deg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdet, \bdet, \Bdet, \vdet, \Vdet,
+% }
+% \cs[module=amsmath,replace=false]{det},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {det} \det
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdim, \bdim, \Bdim, \vdim, \Vdim,
+% }
+% \cs[module=amsmath,replace=false]{dim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {dim} \dim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pexp, \bexp, \Bexp, \vexp, \Vexp,
+% }
+% \cs[module=amsmath,replace=false]{exp},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {exp} \exp
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pgcd, \bgcd, \Bgcd, \vgcd, \Vgcd,
+% }
+% \cs[module=amsmath,replace=false]{gcd},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {gcd} \gcd
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \phom, \bhom, \Bhom, \vhom, \Vhom,
+% }
+% \cs[module=amsmath,replace=false]{hom},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {hom} \hom
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pinf, \binf, \Binf, \vinf, \Vinf,
+% }
+% \cs[module=amsmath,replace=false]{inf},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {inf} \inf
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pinjlim, \binjlim, \Binjlim, \vinjlim, \Vinjlim,
+% }
+% \cs[module=amsmath,replace=false]{injlim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {injlim} \injlim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pker, \bker, \Bker, \vker, \Vker,
+% }
+% \cs[module=amsmath,replace=false]{ker},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {ker} \ker
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plg, \blg, \Blg, \vlg, \Vlg,
+% }
+% \cs[module=amsmath,replace=false]{lg},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {lg} \lg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plim, \blim, \Blim, \vlim, \Vlim,
+% }
+% \cs[module=amsmath,replace=false]{lim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {lim} \lim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pliminf, \bliminf, \Bliminf, \vliminf, \Vliminf,
+% }
+% \cs[module=amsmath,replace=false]{liminf},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {liminf} \liminf
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plimsup, \blimsup, \Blimsup, \vlimsup, \Vlimsup,
+% }
+% \cs[module=amsmath,replace=false]{limsup},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {limsup} \limsup
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pln, \bln, \Bln, \vln, \Vln,
+% }
+% \cs[module=amsmath,replace=false]{ln}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {ln} \ln
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plog, \blog, \Blog, \vlog, \Vlog,
+% }
+% \cs[module=amsmath,replace=false]{log},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {log} \log
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pmax, \bmax, \Bmax, \vmax, \Vmax,
+% }
+% \cs[module=amsmath,replace=false]{max},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {max} \max
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pmin, \bmin, \Bmin, \vmin, \Vmin,
+% }
+% \cs[module=amsmath,replace=false]{min},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {min} \min
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pPr, \bPr, \BPr, \vPr, \VPr,
+% }
+% \cs[module=amsmath,replace=false]{Pr},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {Pr} \Pr
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pprojlim, \bprojlim, \Bprojlim, \vprojlim, \Vprojlim,
+% }
+% \cs[module=amsmath,replace=false]{projlim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {projlim} \projlim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psec, \bsec, \Bsec, \vsec, \Vsec,
+% }
+% \cs[module=amsmath,replace=false]{sec},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sec} \sec
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psin, \bsin, \Bsin, \vsin, \Vsin,
+% }
+% \cs[module=amsmath,replace=false]{sin},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sin} \sin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psinh, \bsinh, \Bsinh, \vsinh, \Vsinh,
+% }
+% \cs[module=amsmath,replace=false]{sinh},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sinh} \sinh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psup, \bsup, \Bsup, \vsup, \Vsup,
+% }
+% \cs[module=amsmath,replace=false]{sup},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sup} \sup
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \ptan, \btan, \Btan, \vtan, \Vtan,
+% }
+% \cs[module=amsmath,replace=false]{tan},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {tan} \tan
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \ptanh, \btanh, \Btanh, \vtanh, \Vtanh
+% }
+% and \cs[module=amsmath,replace=false]{tanh}.
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {tanh} \tanh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pvarinjlim, \bvarinjlim, \Bvarinjlim, \vvarinjlim, \Vvarinjlim,
+% \pvarprojlim, \bvarprojlim, \Bvarprojlim, \vvarprojlim, \Vvarprojlim,
+% \pvarliminf, \bvarliminf, \Bvarliminf, \vvarliminf, \Vvarliminf,
+% \pvarlimsup, \bvarlimsup, \Bvarlimsup, \vvarlimsup, \Vvarlimsup,
+% }
+% We also provide delimited versions of \cs[module=amsmath,replace=false]{varinjlim},
+% \cs[module=amsmath,replace=false]{varprojlim},
+% \cs[module=amsmath,replace=false]{varliminf},
+% and \cs[module=amsmath,replace=false]{varlimsup}.
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {varinjlim} \varinjlim
+\@@_new_delim_op_cmds:nN {varprojlim} \varprojlim
+\@@_new_delim_op_cmds:nN {varliminf} \varliminf
+\@@_new_delim_op_cmds:nN {varlimsup} \varlimsup
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+}{
+ \msg_info:nnnn {moremath} {load /disabling} {no-operators}
+ {
+ predefined~delimited~operator~macros
+ }
+} % End of the conditional
+% \end{macrocode}
+%
+% ^^X SECTION: Vector Calculus Macros
+% \section{Vector Calculus Macros}
+% \label{sec:vector-calc}
+%
+% For providing macros which help with vector differentials,
+% we first need some setup functions.
+%
+% \subsection{Macros Providing Symbols of Operators}
+% \label{sec:op-symbols}
+%
+% \begin{macro}{
+% \@@_maybe_vcenter:n,
+% }
+% Sometimes a symbol should be centered explicitly,
+% as this will depend on the current setting of "vcenter",
+% i.e.\ the current value of \cs{l_@@_vcenter_bool},
+% we provide a helper function which puts its argument
+% \begin{arguments}
+% \item A list of \meta{tokens}
+% \end{arguments}
+% inside a \tn{vcenter} by means of \cs{moremath_vcenter:n}
+% or not depending on the current value of \cs{l_@@_vcenter_bool}.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_maybe_vcenter:n
+{
+ \bool_if:NTF \l_@@_vcenter_bool
+ {
+ \moremath_vcenter:n {#1}
+ }{
+ #1
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_gradient_operator_get:}
+% This function returns the gradient operator depending on the current setting
+% of the keys.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_gradient_operator_get:
+{
+ \tl_if_empty:NTF \l_@@_grad_op_tl
+ {
+ \mathop
+ {
+% \end{macrocode}
+% Otherwise we first need to check if the operator shall have an arrow over it.
+% Afterwards if the nabla shall be bold.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_nabla_arrow_bool
+ {
+ \vec
+ {
+% \end{macrocode}
+% In case \cs{l_@@_nabla_arrow_bool} is true we should \emph{maybe}
+% center the symbol.
+% \begin{macrocode}
+ \@@_maybe_vcenter:n
+ {
+ \bool_if:NT \l_@@_nabla_bold_bool
+ {
+ \boldsymbol
+ }
+ \l_@@_nabla_tl
+ }
+ }
+ }{
+% \end{macrocode}
+% Like in the case above we should \emph{maybe} center the symbol
+% if \cs{l_@@_nabla_bold_bool} is true.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_nabla_bold_bool
+ {
+ \@@_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l_@@_nabla_tl
+ }
+ }{
+ \l_@@_nabla_tl
+ }
+ }
+ }% \mathop
+ \nolimits
+ }{
+% \end{macrocode}
+% If the user provided its own implementation of the operator,
+% we simply return it.
+% \begin{macrocode}
+ \l_@@_grad_op_tl
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_laplace_operator_get:}
+% Then we define a function for returning the laplace operator symbol,
+% depending on the currently set keys.
+% The function wraps the symbol for the operator inside
+% \tn{mathop} to provide the right spacing.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_laplace_operator_get:
+{
+ \tl_if_empty:NTF \l_@@_laplacian_tl
+ {
+ \mathop
+ {
+ \bool_if:NTF \l_@@_laplacian_delta_bool
+ {
+ \Delta
+ }{
+ \bool_if:NTF \l_@@_laplacian_arrow_bool
+ {
+ \vec{
+ \@@_maybe_vcenter:n
+ {
+ \bool_if:NT \l_@@_nabla_bold_bool {\boldsymbol}
+ \l_@@_laplacian_symb_tl
+ }
+ }
+ }{
+ \bool_if:NTF \l_@@_nabla_bold_bool
+ {
+ \@@_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l_@@_laplacian_symb_tl
+ }
+ }{
+ \l_@@_laplacian_symb_tl
+ }
+ }
+ }
+ }\nolimits
+ \bool_if:NF \l_@@_laplacian_delta_bool
+ {
+ \c_math_superscript_token
+ {
+ 2
+ }
+ }
+ }{
+ \l_@@_laplacian_tl
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_dalembert_operator_get:
+% }
+% This function returns the \foreignlanguage{french}{d'Alembert} operator
+% depending on the currently set keys. The symbol for the
+% \foreignlanguage{french}{d'Alembert} operator is wrapped inside \tn{mathop}
+% to provide proper spacing.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_dalembert_operator_get:
+{
+ \mathop
+ {
+ \l_@@_dalembert_symb_tl
+ }% \mathop
+ \nolimits
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added function: \cs{@@_dalembert_operator_get:}
+% }
+% \end{macro}
+%
+% \subsection{Macros Producing an Operator}
+% \label{sec:op-macros}
+%
+% After we have defined the symbols it is now time to provide a function which
+% produces the entire gradient operator
+% \begin{macro}{
+% \moremath_gradient_operator:n,
+% \moremath_laplace_operator:n
+% }
+% This function takes one arguments, the subscript to use with the operator.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_gradient_operator:n
+{
+ \@@_gradient_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+% \end{macrocode}
+%
+% Like for the gradient operator we do the same for the laplacian
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_laplace_operator:n
+{
+ \@@_laplace_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_divergence_operator:n,
+% \moremath_curl_operator:n
+% }
+% Using the already defined gradient operator it is possible to define a
+% function which acts as an operator suitable for representing the divergence
+% operator and the curl operator.
+% Like the gradient operator this functions take one argument
+% \begin{arguments}
+% \item the subscript of the gradient operator.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_divergence_operator:n
+{
+% \end{macrocode}
+% The braces around \cs{moremath_gradient_operator:n} are necessary to avoid
+% issues with the spacing between \tn{cdot} and the following \tn{mathopen}
+% from any braces.\footnote{%
+% See: \url{https://tex.stackexchange.com/a/223914}
+% }
+% Example:
+% \[
+% \text{With braces:}\quad \pdiv{f(x)} \text{,}
+% \qquad\text{without braces: }\quad \mathop{\nabla}\nolimits\cdot(f(x))
+% \]
+% \begin{macrocode}
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \cdot
+}
+
+\cs_new_protected_nopar:Nn \moremath_curl_operator:n
+{
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \times
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_dalembert_operator:n
+% }
+% This function produces the \foreignlanguage{french}{d'Alembert} operator,
+% including an optional subscript.
+% The function takes one argument:
+% \begin{arguments}
+% \item A \meta{tl} with the contents of the subscript of the operator.
+%
+% This variable may be empty,
+% in this case no subscript (not even an empty one) is produced.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_dalembert_operator:n
+{
+ \@@_dalembert_operator_get:
+ \tl_if_empty:nF {#1}
+ {
+ \c_math_subscript_token {#1}
+ }
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added new function \cs{moremath_dalembert_operator:n}.
+% }
+% \end{macro}
+%
+%
+% \subsection{Producing Delimited Vector Calculus Operators}
+% \label{sec:delim-vec-ops}
+%
+% \begin{macro}{
+% \moremath_delim_nabla_op_noscale:NNnn,
+% \moremath_delim_nabla_op_autoscale:NNnn
+% }
+% These functions produce a vector calculus operator with \meta{contents}
+% inside delimiters.
+% The "autoscale" variant scales the delimiters with the size of \meta{contents},
+% the "noscale" variant does no scaling at all.
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% This should have the same form as \cs{moremath_gradient_operator:n},
+% i.e.\ the function passed as \meta{csname} should accept one argument
+% to typeset as subscript.
+%
+% \item The \meta{csname} of the \emph{paired delimiter} to use.
+%
+% The paired delimiter has to be one declared using \pkg{mathtools}'
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command.
+%
+% \item A \meta{tl} with the subscript of the operator.
+%
+% \item A \meta{tl} with the contents to typeset inside the delimiters
+% \end{arguments}
+% We begin with the "noscale" version.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_noscale:NNnn
+{
+ #1 {#3} #2{#4}
+}
+% \end{macrocode}
+% Then we create the version with automatic scaling.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_autoscale:NNnn
+{
+ #1 {#3} #2 * {#4}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added "noscale" and "autoscale" functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_delim_nabla_op_manuscale:NNnnn
+% }
+% This function produces a vector calculus operator like
+% \cs{moremath_delim_nabla_op_noscale:NNnn}
+% and \cs{moremath_delim_nabla_op_autoscale:NNnn},
+% but with manual scaling.
+% It takes five arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% \item The \meta{csname} of the paired delimiter.
+%
+% \item A \meta{token~list} containing the \meta{scale~cmd} like
+% \cs{big}, \cs{Big}, \cs{bigg}, etc.
+%
+% \item A \meta{tl} with the subscript of the operator.
+%
+% \item A \meta{tl} with the contents to typeset inside the delimiters.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_manuscale:NNnnn
+{
+ #1 {#4} #2 [#3] {#5}
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_delim_nabla_op_manuscale:NNVnn
+% }
+% We also declare a variant for passing a variable with the \meta{scale~cmd}
+% instead of a \meta{token~list}.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_delim_nabla_op_manuscale:NNnnn {NNVnn}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Add variant.
+% }
+% \end{macro}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Add function.
+% }
+% \end{macro}
+%
+% To ease the definition of those macros we define a function for defining
+% the delimited versions.
+%
+% Of course we also need a way to declare a user interface for this functions.
+% For this purpose we first need some helpers for setting
+% necessary parameters.
+% \begin{macro}{\@@_parse_kv_args:nN}
+% This helper macro takes two arguments,
+% \begin{arguments}
+% \item A token list of the key-value arguments.
+% \item The \meta{csname} of a token list to put the scale value in.
+% \end{arguments}
+% The function sets the given keys but before it does so it searches for a
+% key named \verb|scale| and puts it into the second argument.
+% For this to work it is necessary that all values have \verb|=| in them.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_parse_kv_args:nN
+{
+% \end{macrocode}
+% We first put the key-value arguments inside a property list.
+% Afterwards we check if the key \verb|scale| has been given.
+% If yes we pop it and assign it to the second argument.
+% Otherwise we do nothing.
+% \begin{macrocode}
+ \prop_set_from_keyval:Nn \l_tmpa_prop {#1}
+
+ \prop_pop:NnNT \l_tmpa_prop {scale} #2 {}
+
+ \keys_set:ne {moremath} {\prop_to_keyval:N \l_tmpa_prop}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We also need a warning message for conflicting arguments,
+% to inform the user that one of his options is going to be ignored.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { vector-calc / scale-star-conflict }
+{
+ Both~star~and~scaling~factor~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~'#2'~will~be~
+ ignored~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_new_delim_nabla_doc_cmd:NNN,
+% \@@_new_delim_nabla_doc_cmd:cNN,
+% }
+% This function takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the to be defined command
+% \item The \meta{csname} of the operator to use.
+%
+% This should be a function like \cs{moremath_gradient_operator:n}.
+% \item The \meta{csname} of the delimiter function to use.
+%
+% This should be a macro/command created with \pkg{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command.
+% \end{arguments}
+% Its purpose is to create a new document level command,
+% for the delimited vector calculus operators.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_delim_nabla_doc_cmd:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ {
+ s ={scale} o E{ \char_generate:nn {`_}{8} }{ {} } m
+ }
+ { % command code
+ \group_begin:
+ % optional arguments given?
+ \tl_if_novalue:nF {##2}
+ {
+ \@@_parse_kv_args:nN {##2} \l_tmpa_tl
+ }
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % scale factor given?
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+ \msg_warning:nnnV { moremath } { vector-calc / scale-star-conflict }
+ {#1} \l_tmpa_tl
+ }
+ \moremath_delim_nabla_op_autoscale:NNnn #2 #3 {##3} {##4}
+ }{ % \bool_if:nTF {##1} FALSE BRANCH
+ % scale factor given?
+ \tl_if_empty:NTF \l_tmpa_tl
+ {
+ \moremath_delim_nabla_op_noscale:NNnn #2 #3 {##3} {##4}
+ }{ % FALSE BRANCH
+ \moremath_delim_nabla_op_manuscale:NNVnn #2 #3 \l_tmpa_tl {##3} {##4}
+ }
+ } % \bool_if:nTF {##1}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip } {#1}
+ } % \cs_if_free:NTF #1
+}
+%
+\cs_generate_variant:Nn \@@_new_delim_nabla_doc_cmd:NNN {cNN}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_new_nabla_doc_cmds:nN}
+% This internal function creates five different document level commands at once,
+% using \cs{@@_new_delim_nabla_doc_cmd:cNN}.
+% It takes two arguments:
+% \begin{arguments}
+% \item The a \meta{suffix~tl} for constructing the command names.
+%
+% The resulting commands will have the form \cs[no-index]{p\meta{suffix}},
+% \cs[no-index]{b\meta{suffix}}, \cs[no-index]{B\meta{suffix}},
+% \cs[no-index]{v\meta{suffix}} and \cs[no-index]{V\meta{suffix}}.
+%
+% \item The \meta{csname} of the operator to use
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_nabla_doc_cmds:nN
+{
+ \@@_new_delim_nabla_doc_cmd:cNN { p #1 } #2 \@@_inparent:w
+ \@@_new_delim_nabla_doc_cmd:cNN { b #1 } #2 \@@_inbrack:w
+ \@@_new_delim_nabla_doc_cmd:cNN { B #1 } #2 \@@_inbrace:w
+ \@@_new_delim_nabla_doc_cmd:cNN { v #1 } #2 \@@_in_vert:w
+ \@@_new_delim_nabla_doc_cmd:cNN { V #1 } #2 \@@_in_Vert:w
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:vec-doc-lvl-commands}
+%
+% The predefined macros for vector calculus are also guarded by a package
+% option to be conditionally disabled by the user.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_vector_op_bool
+{
+% \end{macrocode}
+% \subsubsection{Standalone Operators}
+% \label{par:impl-vector-calc-standalone}
+% The user might want to use also a non-delimited version
+% of the vector calculus operators,
+% we provide them with a standalone version of those.
+%
+% As the definition of a new document command can fail if the \meta{csname}
+% clashes with some already defined macro,
+% we define an error message to use when defining document level commands.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { vector-calc / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \grad,
+% \divergence,
+% \curl,
+% \laplacian
+% }
+% Now we provide the user with document level commands for
+% \cs[no-index]{moremath_\meta{op}_operator:n}.
+% \begin{macrocode}
+\cs_if_free:NTF \grad
+{
+ \exp_args:NNe \NewDocumentCommand \grad { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_gradient_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\grad}
+}
+
+\cs_if_free:NTF \divergence
+{
+ \exp_args:NNe \NewDocumentCommand \divergence
+ { !o E{ \char_generate:nn {`_} {8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_divergence_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\divergence}
+}
+
+\cs_if_free:NTF \curl
+{
+ \exp_args:NNe \NewDocumentCommand \curl
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_curl_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {vector-calc / already-defined-skip} {\curl}
+}
+
+\cs_if_free:NTF \laplacian
+{
+ \exp_args:NNe \NewDocumentCommand \laplacian
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_laplace_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip }
+ {\laplacian}
+}
+% \end{macrocode}
+% \begin{macro}{\quabla}
+% We now also define a command to use as a standalone
+% \foreignlanguage{french}{d'Alembert} operator.
+% As the name \cs[no-index]{dalembertian} is a bit cumbersome to type out,
+% I've decided to use one of its alternate names \cs{quabla}
+% \begin{macrocode}
+\cs_if_free:NTF \quabla
+{
+ \exp_args:NNe \NewDocumentCommand \quabla
+ { !o E{ \char_generate:nn {`_} { 8 } }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath } {#1}
+ }
+ \moremath_dalembert_operator:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \quabla FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip }
+ {\quabla}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added \cs{quabla} command.
+% }
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Changed: Spaces between the \meta{csname}
+% and the optional argument are now disallowed.
+% }
+% \end{macro}^^X \quabla
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added \cs{grad}, \cs{divergence}, \cs{curl} and \cs{laplacian}
+% commands.
+% }
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Changed: Spaces between the \meta{csname}
+% and the optional argument are now disallowed
+% for \cs{grad}, \cs{divergence}, \cs{curl} and \cs{laplacian}.
+% }
+% \end{macro}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{par:impl-vec-calc-op-delim}
+%
+% \begin{macro}{
+% \pgrad,
+% \bgrad,
+% \Bgrad,
+% \vgrad,
+% \Vgrad,
+% }
+% Now lets declare the delimited gradient operators.
+% We provide five versions using parenthesis, brackets, braces, single \tn{vert},
+% and double \tn{Vert}.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {grad} \moremath_gradient_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited gradient operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pdiv,
+% \bdiv,
+% \Bdiv,
+% \vdiv,
+% \Vdiv
+% }
+% Now we do the same for the divergence operator.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {div} \moremath_divergence_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited divergence operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pcurl,
+% \bcurl,
+% \Bcurl,
+% \vcurl,
+% \Vcurl
+% }
+% Now to the curl macros.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {curl} \moremath_curl_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited curl operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \plaplacian,
+% \blaplacian,
+% \Blaplacian,
+% \vlaplacian,
+% \Vlaplacian
+% }
+% Next we take care of the laplacian
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {laplacian} \moremath_laplace_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited Laplace operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pquabla,
+% \bquabla,
+% \Bquabla,
+% \vquabla,
+% \Vquabla
+% }
+% Finally we define delimited commands for the
+% \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {quabla} \moremath_dalembert_operator:n
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added commands for a delimited \foreignlanguage{french}{d'Alembert}
+% operator.
+% }
+% \end{macro}
+%
+% If the user issued \texttt{no-vector} as a package loading option,
+% write this to the log file.
+% \begin{macrocode}
+}{ % IF NOT \l_@@_predef_vector_op_bool
+ \msg_info:nnnn {moremath} { load /disabling } {no-vector}
+ {
+ predefined~vector~calculus~macros
+ }
+} % END \l_@@_predef_vector_op_bool
+% \end{macrocode}
+%
+% \section{Macros Producing Matrices and Vectors}
+% \label{sec:impl-matr-vec}
+%
+% \subsection{Producing Row and Column Vectors}
+%
+% The functions in this section are used to generate row and column vectors
+% utilizing \pkg{mathtools}~\autocite{mathtools} \env{matrix*} and
+% \env{smallmatrix*} environments.
+%
+% \begin{variable}{\l_@@_vector_entries_seq}
+% For generating row or column vectors it is necessary to store the entries
+% inside a variable. \cs{l_@@_vector_entries_seq} is used for this purpose.
+% \begin{macrocode}
+\seq_new:N \l_@@_vector_entries_seq
+% \end{macrocode}
+% \end{variable}
+%
+% Then we need a function for formatting the actual entries of the vector.
+% We need two version one for the row vector and one for the column vector
+% version.
+% \begin{macro}{
+% \@@_seq_to_column_vector:N,
+% \@@_seq_to_row_vector:N
+% }
+% These functions take one argument
+% \begin{arguments}
+% \item A sequence which should be converted to the contents of the single
+% column/row matrix.
+% \end{arguments}
+% They format the input suitable to be put inside a \env{matrix*} environment.
+% We begin with the column vector version.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_seq_to_column_vector:N
+{
+ \seq_use:Nn #1 {\\}
+}
+% \end{macrocode}
+% Then we get to the row vector.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_seq_to_row_vector:N
+{
+ \seq_use:Nn #1 {&}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% In the next step we construct the single row/column matrix from the user
+% provided input.
+% \begin{macro}{
+% \moremath_column_vector:nn,
+% \moremath_row_vector:nn,
+% }
+% The two commands \cs{moremath_column_vector:n} and \cs{moremath_row_vector:n}
+% construct the matrix, they both take two arguments.
+% \begin{arguments}
+% \item The delimiter specifier.
+%
+% This should be one of the prefixes of the \env{\meta{prefix}matrix*},
+% environments.
+%
+% Another possibility is to issue |small| as this parameter to get
+% an inline matrix.
+%
+% \item The comma separated contents of the matrix.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_column_vector:nn
+{
+ \seq_clear:N \l_@@_vector_entries_seq
+ \seq_set_from_clist:Nn \l_@@_vector_entries_seq {#2}
+
+ \exp_args:NnNV \begin{#1 matrix*} [ \l_@@_matrix_align_tl ]
+ \@@_seq_to_column_vector:N \l_@@_vector_entries_seq
+ \end{#1 matrix*}
+}
+
+\cs_new_protected_nopar:Nn \moremath_row_vector:nn
+{
+ \seq_clear:N \l_@@_vector_entries_seq
+ \seq_set_from_clist:Nn \l_@@_vector_entries_seq {#2}
+
+ \exp_args:NnNV \begin{#1matrix*} [ \l_@@_matrix_align_tl ]
+ \@@_seq_to_row_vector:N \l_@@_vector_entries_seq
+ \end{#1matrix*}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing row- and column vectors.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_column_smallvector:nn,
+% \moremath_row_smallvector:nn
+% }
+% To make the code more readable, we define functions specifically for
+% creating row and column vectors using the \env{smallmatrix*} family of
+% environments. These functions take the same arguments as the non-small
+% versions above.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_column_smallvector:nn
+{
+ \moremath_column_vector:nn {#1 small} {#2}
+}
+
+\cs_new_protected_nopar:Nn \moremath_row_smallvector:nn
+{
+ \moremath_row_vector:nn {#1 small} {#2}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing inline math row- and column vectors.
+% }
+% \end{macro}
+%
+% ^^X SUBSECTION: Shorthands for simple matrices
+% \subsection{Shorthands for Simple Matrices}
+% \label{sec:impl-matr-shorth}
+%
+% The construction of several simple matrices like diagonal matrices,
+% can be simplified as there is no need to use the \env{matrix} environment.\footnote{%
+% The code in this section is heavily inspired by the following answer on
+% \TeX{}SE: \url{https://tex.stackexchange.com/a/539741}
+% }
+%
+% \begin{variable}{
+% \l_@@_mat_diag_entries_seq,
+% \l_@@_mat_row_entries_seq,
+% }
+% We construct the matrices row by row, therefore we need to store the
+% currently constructed row inside a variable.
+% The same is true for the diagonal entries which also need to be stored
+% somewhere.
+% We therefore declare two sequence variables \cs{l_@@_mat_diag_entries_seq}
+% and \cs{l_@@_mat_row_seq} for this purpose
+% \begin{macrocode}
+\seq_clear_new:N \l_@@_mat_diag_entries_seq
+\seq_clear_new:N \l_@@_mat_row_entries_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{(Anti-)diagonal matrices}
+% We split the construction of the matrix into multiple parts,
+% utilizing internal helper functions.
+% \begin{macro}{
+% \@@_constr_diagmat_row:n,
+% \@@_constr_antidiagmat_row:n
+% }
+% \cs{@@_constr_diagmat_row:n} and \cs{@@_constr_antidiagmat_row:n}
+% take one integer argument:
+% \begin{arguments}
+% \item The number of the current row.
+% \end{arguments}
+% They both construct a matrix row and place it inside the input stream.
+% They take the content of the (anti-)diagonal from the variable
+% \cs{l_@@_mat_diag_entries_seq}
+% and use the variable \cs{l_@@_mat_row_entries_seq}
+% to store the current row.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_constr_diagmat_row:n
+{
+ \seq_clear:N \l_@@_mat_row_entries_seq
+% \end{macrocode}
+% As all diagonal matrices \(M \in A^{m \times n}\), where \(A\) is a field,
+% are quadratic i.e.\ \(A^{m \times n} \equiv A^{n \times n}\) the length of the
+% diagonal sequence equals the number of rows and columns of the matrix.
+% We exploit this fact here.
+% \begin{macrocode}
+ \int_step_inline:nn {\seq_count:N \l_@@_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ \seq_put_right:Nx \l_@@_mat_row_entries_seq
+ {
+ \seq_item:Nn \l_@@_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_right:NV \l_@@_mat_row_entries_seq \l_@@_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l_@@_mat_row_entries_seq { & } \\
+}
+
+% Anti-diagonal version
+\cs_new_protected:Nn \@@_constr_antidiagmat_row:n
+{
+ \seq_clear:N \l_@@_mat_row_entries_seq
+ \int_step_inline:nn {\seq_count:N \l_@@_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ % as this is a anti diagonal matrix we put in the elements from the
+ % left so that the first entry is the right most entry
+ \seq_put_left:Nx \l_@@_mat_row_entries_seq
+ {
+ \seq_item:Nn \l_@@_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_left:NV \l_@@_mat_row_entries_seq \l_@@_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l_@@_mat_row_entries_seq { & } \\
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_diagonal_matrix:nn,
+% \moremath_antidiagonal_matrix:nn,
+% \moremath_diagonal_smallmatrix:nn,
+% \moremath_antidiagonal_smallmatrix:nn,
+% }
+% The \cs[no-index]{moremath_\meta{a or d}_matrix:nn} and
+% \cs[no-index]{moremath_\meta{a or d}_smallmatrix:nn} family of functions
+% produce a matrix based on \pkg{mathtools}~\autocite{mathtools}
+% \env{matrix*} environment.
+% The functions take two arguments.
+% \begin{arguments}
+% \item The delimiter specifier.
+%
+% This should be one of the prefixes of the \env{\meta{prefix}matrix*}
+% environments.
+%
+% \item The comma separated contents of the (anti-)diagonal.
+% \end{arguments}
+% These functions also use the values of the variables
+% \cs{l_@@_matrix_fill_tl} and \cs{l_@@_matrix_align_tl}.
+% And modifies the variable \cs{l_@@_mat_diag_entries_seq}.
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_diagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l_@@_mat_diag_entries_seq { #2 }
+ \exp_args:NnNV \begin{#1 matrix*} [ \l_@@_matrix_align_tl ]
+ \int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
+ \@@_constr_diagmat_row:n
+ \end{#1 matrix*}
+}
+
+% Anti-diagonal matrix
+\cs_new_protected:Nn \moremath_antidiagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l_@@_mat_diag_entries_seq { #2 }
+ \exp_args:NnNV \begin{ #1 matrix* } [ \l_@@_matrix_align_tl ]
+ \int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
+ \@@_constr_antidiagmat_row:n
+ \end{ #1 matrix* }
+}
+
+% Small versions
+\cs_new_protected:Nn \moremath_diagonal_smallmatrix:nn
+{
+ \moremath_diagonal_matrix:nn {#1 small} {#2}
+}
+
+\cs_new_protected:Nn \moremath_antidiagonal_smallmatrix:nn
+{
+ \moremath_antidiagonal_matrix:nn {#1 small} {#2}
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_diagonal_matrix:nV,
+% \moremath_diagonal_matrix:Vn,
+% \moremath_diagonal_matrix:VV,
+% \moremath_antidiagonal_matrix:nV,
+% \moremath_antidiagonal_matrix:Vn,
+% \moremath_antidiagonal_matrix:VV,
+% \moremath_diagonal_smallmatrix:nV,
+% \moremath_diagonal_smallmatrix:Vn,
+% \moremath_diagonal_smallmatrix:VV,
+% \moremath_antidiagonal_smallmatrix:nV,
+% \moremath_antidiagonal_smallmatrix:Vn,
+% \moremath_antidiagonal_smallmatrix:VV,
+% }
+% For convenience we also define some variants of the above functions.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { n V }
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { V n }
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { V V }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { n V }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { V n }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { V V }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { n V }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { V n }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { V V }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { n V }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { V n }
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { V V }
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Added variants.}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{Added "nV" and "VV" variants.}
+% \end{macro}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing (anti-)diagonal matrices.
+% Also added versions for inline math.
+% }
+% \end{macro}
+%
+%
+% \subsubsection{Identity Matrices}
+% As we already have functions available for producing diagonal matrices,
+% it makes only sense to also provide a shorthand for producing an identity matrix,
+% i.e.\ a diagonal matrix with \enquote{1} along the diagonal.
+%
+%
+% \begin{macro}{
+% \@@_generate_one_filled_clist:Nn
+% }
+% The function \cs{@@_generate_one_filled_clist:Nn} produces a \meta{clist},
+% consisting only of \enquote{1} as entries.
+% This function takes two arguments:
+% \begin{arguments}
+% \item The \emph{csname} of a \meta{clist~var} to store the \meta{clist}
+% into.
+%
+% \item An \meta{int} to represent the number of entries to produce.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_generate_one_filled_clist:Nn
+{
+ \seq_clear:N \l_tmpa_seq
+ \int_step_inline:nn {#2}
+ {
+ \seq_put_right:NV \l_tmpa_seq \c_one_int
+ }
+ \clist_set_from_seq:NN #1 \l_tmpa_seq
+}
+% \end{macrocode}
+% \begin{macro}{
+% \@@_generate_one_filled_clist:NV
+% }
+% We also define a variant accepting an integer variable.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_generate_one_filled_clist:Nn { N V }
+% \end{macrocode}
+% \end{macro}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added function.
+% }
+% \end{macro}
+%
+% \begin{variable}{
+% \l_@@_id_entries_clist
+% }
+% As we want to utilize the \cs{moremath_diagonal_matrix:VV} and
+% \cs{moremath_diagonal_smallmatrix:VV} functions for creating the identity
+% matrix we declare an internal \meta{clist~var} called
+% \cs{l_@@_id_entries_clist} for passing the \meta{clist} around.
+% \begin{macrocode}
+\clist_new:N \l_@@_id_entries_clist
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{Added variable.}
+% \end{variable}
+%
+% \begin{macro}{
+% \moremath_id_matrix:n,
+% \moremath_id_smallmatrix:n
+% }
+% These functions are intended to produce an identity matrix from an integer
+% expression.
+% They take one argument.
+% \begin{arguments}
+% \item The number of diagonal entries.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_id_matrix:n
+{
+ \clist_clear:N \l_@@_id_entries_clist
+ \@@_generate_one_filled_clist:Nn \l_@@_id_entries_clist {#1}
+ \moremath_diagonal_matrix:VV \l_@@_matrix_delim_tl \l_@@_id_entries_clist
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_id_smallmatrix:n
+{
+ \clist_clear:N \l_@@_id_entries_clist
+ \@@_generate_one_filled_clist:Nn \l_@@_id_entries_clist {#1}
+ \moremath_diagonal_smallmatrix:VV \l_@@_matrix_delim_tl \l_@@_id_entries_clist
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \moremath_id_matrix:V,
+% \moremath_id_smallmatrix:V
+% }
+% We also provide variants, which accepts a "V"-type argument:
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_id_matrix:n { V }
+\cs_generate_variant:Nn \moremath_id_smallmatrix:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added functions \cs{moremath_id_matrix:n} and \cs{moremath_id_smallmatrix:n}
+% and variants.
+% }
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:mat-doc-lvl-cmds}
+%
+% Now we define document level commands for the previously defined
+% functions.
+%
+% But before we do so we define a message to be issued in case the targeted
+% \meta{csname} is already defined elsewhere.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { matrix / already-defined-doc-cmd-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+{
+ The~control~sequence~'#1'~has~already\\
+ been~defined~by~some~other~package.\\
+ And~I~am~refusing~to~overwrite~the~existing~definition,\\
+ therefore~I~am~skipping~the~definition~of~this~command.
+}
+% \end{macrocode}
+%
+% \subsubsection{Row and Column Vectors}
+% We begin with the row and column vector functions.
+% As with the other document level commands, we guard the definitions
+% with a key value option, so that the user can disable them.
+% \begin{macrocode}
+\bool_if:nTF \l_@@_predef_crvector_bool
+{
+% \end{macrocode}
+% \begin{macro}{
+% \cvector,
+% \rvector,
+% \smallcvector,
+% \smallrvector
+% }
+% First we define the document level command for the bare column vector
+% \begin{macrocode}
+\cs_if_free:NTF \cvector
+{
+ \NewDocumentCommand \cvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_column_vector:nn {\l_@@_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % issue a warning message if the csname is already taken.
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \cvector
+ }
+} % \cs_if_free:NTF \cvector
+% \end{macrocode}
+% and the row vector.
+% \begin{macrocode}
+\cs_if_free:NTF \rvector
+{
+ \NewDocumentCommand \rvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_vector:nn {\l_@@_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip}
+ {
+ \rvector
+ }
+} % \cs_if_free:NTF \rvector
+% \end{macrocode}
+% Then we define the smaller inline versions of those commands.
+% \begin{macrocode}
+\cs_if_free:NTF \smallcvector
+{
+ \NewDocumentCommand \smallcvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath / matrix} {#1}
+ }
+ \moremath_column_smallvector:nn {\l_@@_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % Issue a warning message if the csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallcvector
+ }
+} % \cs_if_free:NTF \smallcvector
+
+\cs_if_free:NTF \smallrvector
+{
+ \NewDocumentCommand \smallrvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_smallvector:nn {\l_@@_matrix_delim_tl} {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallrvector
+ }
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands producing row and column vectors,
+% including inline math versions.
+% }
+% \end{macro}
+%
+% \paragraph{Commands with Pre-defined Delimiters}
+% Next we define several shorthands to for the commonly used delimiters,
+% to avoid code duplication, we first create some helper functions which
+% define those functions.
+% \begin{macro}{
+% \@@_new_vector_shorth_doc_cmd:NNn
+% }
+% The function \cs{@@_new_vector_shorth_doc_cmd} creates a new vector shorthand,
+% command. It takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to be defined.
+% \item The \meta{function} to use for this shorthand.
+%
+% This should be one of the
+% \cs[no-index]{moremath_\meta{type}_\meta{size}vector:nn}
+% like commands.
+%
+% \item The \meta{delimiter} to use.
+%
+% Usually one of |p|, |b|, |B|, |v|, |V|.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_vector_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ % set the delimiter key pre-set for this function
+ \keys_set:nn {moremath / matrix } {delimiter = #3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn {moremath / matrix } {##1}
+ }
+ #2 {\l_@@_matrix_delim_tl} {##2}
+ \group_end:
+ }
+ }{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \pcvector,
+% \bcvector,
+% \Bcvector,
+% \vcvector,
+% \Vcvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector,
+% }
+% Now we define shorthands for all of the matrix types so that the user
+% does not have to specify |delimiter=|\meta{delim} every time.
+% We begin with the column vector.
+% \begin{macrocode}
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \pcvector \moremath_column_vector:nn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bcvector \moremath_column_vector:nn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bcvector \moremath_column_vector:nn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vcvector \moremath_column_vector:nn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vcvector \moremath_column_vector:nn {V}
+% \end{macrocode}
+% Now to the row vectors.
+% \begin{macrocode}
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \prvector \moremath_row_vector:nn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \brvector \moremath_row_vector:nn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Brvector \moremath_row_vector:nn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vrvector \moremath_row_vector:nn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vrvector \moremath_row_vector:nn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for row and column vectors with predefined delimiters.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \psmallcvector,
+% \bsmallcvector,
+% \Bsmallcvector,
+% \vsmallcvector,
+% \Vsmallcvector,
+% \psmallrvector,
+% \bsmallrvector,
+% \Bsmallrvector,
+% \vsmallrvector,
+% \Vsmallrvector
+% }
+% We also define shorthands for the \cs{shortcvector} and \cs{shortrvector}
+% versions.
+% \begin{macrocode}
+% column vectors
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \psmallcvector \moremath_column_smallvector:nn
+ {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallcvector \moremath_column_smallvector:nn
+ {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallcvector \moremath_column_smallvector:nn
+ {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallcvector \moremath_column_smallvector:nn
+ {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallcvector \moremath_column_smallvector:nn
+ {V}
+%
+% row vectors
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \psmallrvector \moremath_row_smallvector:nn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallrvector \moremath_row_smallvector:nn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallrvector \moremath_row_smallvector:nn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallrvector \moremath_row_smallvector:nn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallrvector \moremath_row_smallvector:nn {V}
+
+
+}{ % \bool_if:nTF \l_@@_predef_crvector_bool FALSE PATH
+ \msg_info:nnnn {moremath} {load / disabling} {no-crvector}
+ {
+ commands~producing~row~and~column~vectors
+ }
+} % \bool_if:nTF \l_@@_predef_crvector_bool
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for inline math row and column vectors
+% with predefined delimiters.
+% }
+% \end{macro}
+%
+%
+% \subsubsection{(Anti-)diagonal Matrices}
+% Now to the (anti-)diagonal matrix shorthands,
+% these are also guarded by a key value option.
+% \begin{macrocode}
+\bool_if:nTF \l_@@_predef_matrix_bool
+{
+% \end{macrocode}
+% \begin{macro}{
+% \diagmat,
+% \antidiagmat,
+% \smalldiagmat,
+% \smallantidiagmat,
+% }
+% \begin{NOTE}{MI}
+% Say something like we begin with some commands producing a matrix that
+% is not necessarily delimited.
+% \end{NOTE}
+% \begin{macrocode}
+\cs_if_free:NTF \diagmat
+{
+ \NewDocumentCommand \diagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_matrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {matrix / already-defined-doc-cmd-skip}
+ {
+ \diagmat
+ }
+} % \cs_if_free:nTF \diagmat
+
+\cs_if_free:NTF \antidiagmat
+{
+ \NewDocumentCommand \antidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_matrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \antidiagmat
+ }
+} % \cs_if_free:nTF \antidiagmat
+
+\cs_if_free:NTF \smalldiagmat
+{
+ \NewDocumentCommand \smalldiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_smallmatrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smalldiagmat
+ }
+}
+
+\cs_if_free:NTF \smallantidiagmat
+{
+ \NewDocumentCommand \smallantidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_smallmatrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallantidiagmat
+ }
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands producing (anti-)diagonal matrices, including inline math
+% versions.
+% }
+% \end{macro}
+%
+% \paragraph{(Anti-)diagonal Matrices with Pre-defined Delimiters}
+% As it is sort of cumbersome to always specify the delimiter key,
+% we also provide commands with pre-defined delimiters.
+% \begin{macro}{
+% \@@_new_matrix_shorth_doc_cmd:NNn
+% }
+% To provide several shorthands for delimited matrices,
+% we use a helper function to avoid code duplication.
+% \cs{@@_new_matrix_shorth_doc_cmd:NNn} takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to define
+% \item The \meta{csname} of the matrix function to use,
+% which should have the signature |Vn|.
+% \item The \enquote{predefined} delimiter of this version
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_matrix_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix }
+ {
+ delimiter = #3
+ }
+ } % \tl_if_empty:nF {#3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 \l_@@_matrix_delim_tl {##2}
+ \group_end:
+ }
+ }{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We now define the shorthand commands with predefined delimiters.
+% \begin{macro}{
+% \pdiagmat,
+% \bdiagmat,
+% \Bdiagmat,
+% \vdiagmat,
+% \Vdiagmat,
+% }
+% We begin with the regular diagonal matrix
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \pdiagmat \moremath_diagonal_matrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bdiagmat \moremath_diagonal_matrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bdiagmat \moremath_diagonal_matrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vdiagmat \moremath_diagonal_matrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vdiagmat \moremath_diagonal_matrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited diagonal matrices.
+% }
+% \end{macro}
+% \begin{macro}{
+% \pantidiagmat,
+% \bantidiagmat,
+% \Bantidiagmat,
+% \vantidiagmat,
+% \Vantidiagmat,
+% }
+% Now for the anti-diagonal matrix commands.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \pantidiagmat
+ \moremath_antidiagonal_matrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited antidiagonal matrices.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \psmalldiagmat,
+% \bsmalldiagmat,
+% \Bsmalldiagmat,
+% \vsmalldiagmat,
+% \Vsmalldiagmat,
+% }
+% We continue with the inline math versions based on the \env{smallmatrix*}
+% environment.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \psmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited diagonal matrices suitable for inline math.
+% }
+% \end{macro}
+% \begin{macro}{
+% \psmallantidiagmat,
+% \bsmallantidiagmat,
+% \Bsmallantidiagmat,
+% \vsmallantidiagmat,
+% \Vsmallantidiagmat,
+% }
+% We provide also anti-diagonal versions of the small matrices.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \psmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited anti-diagonal matrices suitable for inline math.
+% }
+% \end{macro}
+%
+% \subsubsection{Identity Matrices}
+% We also provide document level commands for producing an identity matrix.
+% These commands are also guarded by the same variable as the other matrix commands
+% (\cs{l_@@_predef_matrix_bool}).
+%
+% \begin{macro}{
+% \idmat,
+% \smallidmat,
+% }
+% We provide two document level commands for producing the identiy matrix,
+% one for inline math mode and one for display math mode.
+%
+% We start with the display math mode version.
+% \begin{macrocode}
+\cs_if_free:NTF \idmat
+{
+ \NewDocumentCommand \idmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_matrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \idmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\idmat}
+}
+% \end{macrocode}
+% Afterwards we continue with the inline math mode version.
+% \begin{macrocode}
+\cs_if_free:NTF \smallidmat
+{
+ \NewDocumentCommand \smallidmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_smallmatrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \smallidmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\smallidmat}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added \cs{idmat} and \cs{smallidmat} document level commands.
+% }
+% \end{macro}
+%
+% \paragraph{Identity Matrices with Pre-defined Delimiters}
+% We also define shorthands for the commonly used delimiters around matrices,
+% to avoid code duplication, we first declare a helper function for this.
+% \begin{macro}{
+% \@@_new_id_matrix_doc_cmd:NNn
+% }
+% This function creates a new document level command for an identity matrix like
+% command.
+% It allows pre-setting \meta{kv~opts}.
+% The function takes three arguments.
+% \begin{arguments}
+% \item The \meta{csname} of the document level command to define
+%
+% \item The \meta{csname} of the function to use
+%
+% This is indented to be one of \cs{moremath_id_matrix:n} or
+% \cs{moremath_id_smallmatrix:n}
+%
+% \item \meta{kv~opts} to preset in the "moremath / matrix" namespace
+% for this command
+%
+% This is meant to be used for pre-setting the key "delimiter".
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_id_matrix_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix } {#3}
+ }
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 {##2}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {#1}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \pidmat,
+% \bidmat,
+% \Bidmat,
+% \vidmat,
+% \Vidmat
+% }
+% We begin with the display math versions,
+% starting with the version delimited by parenthesis,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \pidmat \moremath_id_matrix:n { delimiter = p }
+% \end{macrocode}
+% continue with the bracketed version,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \bidmat \moremath_id_matrix:n { delimiter = b }
+% \end{macrocode}
+% the version using braces,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Bidmat \moremath_id_matrix:n { delimiter = B }
+% \end{macrocode}
+% single vertical lines,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \vidmat \moremath_id_matrix:n { delimiter = v }
+% \end{macrocode}
+% and finally double vertical lines.
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Vidmat \moremath_id_matrix:n { delimiter = V }
+% \end{macrocode}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added document level commands \cs{pidmat}, \cs{bidmat}, \cs{Bidmat},
+% \cs{vidmat}, and \cs{Vidmat}.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \psmallidmat,
+% \bsmallidmat,
+% \Bsmallidmat,
+% \vsmallidmat,
+% \Vsmallidmat,
+% }
+% Now we also define shorthands for inline math mode.
+% We start again defining the version using parenthesis,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \psmallidmat \moremath_id_smallmatrix:n
+ { delimiter = p }
+% \end{macrocode}
+% then brackets,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = b }
+% \end{macrocode}
+% then braces,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = B }
+% \end{macrocode}
+% followed by single vertical lines,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = v }
+% \end{macrocode}
+% and finally double vertical lines.
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = V }
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added document level commands \cs{psmallidmat}, \cs{bsmallidmat},
+% \cs{Bsmallidmat}, \cs{vsmallidmat} and \cs{Vsmallidmat}.
+% }
+% \end{macro}
+%
+% \begin{macrocode}
+}{ % \bool_if:nTF \l_@@_predef_matrix_bool FALSE BRANCH
+ \msg_info:nnnn {moremath} { load / disabling } { no-matrix }
+ {
+ (anti-)diagonal~matrix~commands
+ }
+} % \bool_if:nTF \l_@@_predef_matrix_bool
+% \end{macrocode}
+%
+%
+% \section{Shorthand Macros for Absolute Value and Norm}
+% \label{sec:impl-abs-shorthands}
+%
+% We first declare another warning message to inform the user of the case that,
+% the \meta{csnames} are already taken.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { abs-shorth / csname-already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~declaration~of~paired~delimiter~\msg_line_context:.\\
+ Use~package~option~'no-abs-shorthands'~to~disable~the~paired\\
+ delimiter~shorthands.
+}{
+ The~control~sequence~'#1'~has~already~been\\
+ defined~by~something~else.\\
+ I~am~refusing~to~overwrite~its~existing~definition~and~instead~avoid\\
+ declaring~a~paired~delimiter.\\
+}
+% \end{macrocode}
+%
+%
+% As with the other parts these macros may be conditionally disabled.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_abs_bool
+{
+% \end{macrocode}
+% \begin{macro}{\abs,\norm}
+% These macros provide shorthands for \(\abs{\meta{content}}\)
+% and \(\norm{\meta{content}}\).
+% \begin{macrocode}
+\cs_if_free:NTF \abs
+{
+ \DeclarePairedDelimiter \abs {\lvert} {\rvert}
+}{
+ % warn if the csname is taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\abs}
+} % \cs_if_free:NTF \abs
+
+\cs_if_free:NTF \norm
+{
+ \DeclarePairedDelimiter \norm {\lVert} {\rVert}
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\norm}
+} % \cs_if_free:NTF
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added shorthands for absolute value and norm.
+% }
+% \end{macro}
+%
+% \begin{macrocode}
+}{
+ \msg_info:nnnn {moremath} {load / disabling} {no-abs-shorthands}
+ {
+ '\abs'~and~'\norm'~macros
+ }
+} % End of the conditional
+% \end{macrocode}
+%
+% \iffalse debug-switch
+%\debug_off:n {all}
+% \fi
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \end{implementation}
+%
+% \section*{Copyright and License}
+% \addcontentsline{toc}{section}{Copyright and License}
+% \label{sec:license}
+%
+% The following copyright notice applies to the \pkg{moremath} package:
+%
+% \begin{quote}
+% Copyright \textcopyright{} 2024 Marcel Ilg
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% \url{https://www.latex-project.org/lppl.txt}
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status \enquote{maintained}.
+%
+% The Current Maintainer of this work is Marcel Ilg.
+%
+% This work consists of the files listed in \file{MANIFEST.md}.
+% \end{quote}
+%
+% \noindent The file \file{MANIFEST.md} has to be distributed together with the
+% package.
+%
+%
+% \printbibliography[heading=bibintoc]
+% \PrintChanges
+% \PrintIndex
diff --git a/macros/latex/contrib/moremath/moremath.ins b/macros/latex/contrib/moremath/moremath.ins
new file mode 100644
index 0000000000..f04f2b04b2
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath.ins
@@ -0,0 +1,66 @@
+%%
+%% Copyright (C) 2024 Marcel Ilg
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status ‘maintained’.
+%%
+%% The Current Maintainer of this work is Marcel Ilg.
+%%
+%% This work consists of the files listed in MANIFEST.md.
+
+\input docstrip
+
+\usedir{tex/latex/moremath}
+
+\keepsilent
+
+\preamble
+
+This is a generated file.
+
+
+Copyright (C) 2024 Marcel Ilg
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+
+ https://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status ‘maintained’.
+
+The Current Maintainer of this work is Marcel Ilg.
+
+This work consists of the files listed in MANIFEST.md.
+
+\endpreamble
+
+\generate{\file{moremath.sty}{\from{moremath.dtx}{package}}}
+
+\obeyspaces
+\Msg{***************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following file into a}
+\Msg{* directory searched by TeX:}
+\Msg{*}
+\Msg{* moremath.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file moremath.dtx through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{***************************************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/ms/README.md b/macros/latex/contrib/ms/README.md
deleted file mode 100644
index 65a355a9fc..0000000000
--- a/macros/latex/contrib/ms/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# ms – Various LaTeX packages by Martin Schröder
-
-Copyright (C) 1994–2011 Martin Schröder
-
-multitoc 1999/06/08 v2.01 MultiToc Package
-count1to 2009/05/25 v2.1 Count1to LaTeX Package
-
-The new upload has only been done to split the ms-bundle.
-The packages everyshi, everysel and prelim2e are no longer part of this bundle
-
-The current maintainer of this package is Marei Peischl <marei@peitex.de>
diff --git a/macros/latex/contrib/ms/count1to.ins b/macros/latex/contrib/ms/count1to.ins
deleted file mode 100644
index 1bd534ef1d..0000000000
--- a/macros/latex/contrib/ms/count1to.ins
+++ /dev/null
@@ -1,112 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{count1to.ins}
- [2009/05/24 v2.1 Installation script for Count1to9 Package (MS)]
-%%
-%% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Martin Schr\"oder.
-%%
-%% This work consists of the files count1to.dtx and count1to.ins
-%% and the derived file count1to.sty.
-%%
-%% This file will be used by the docstrip.tex program to generate
-%% fast loadable files from the doc files.
-%%
-%% $Id: count1to.ins 1368 2009-05-24 16:02:57Z oneiros $
-%%
-%% --------------- start of docstrip commands ------------------
-\input docstrip.tex
-{\ifx\endbatchfile\undefined
-\Msg{**********************************************}
-\Msg{*}
-\Msg{* This installation requires docstrip}
-\Msg{* version 2.4d or later.}
-\Msg{*}
-\Msg{* An older version of docstrip has been input}
-\Msg{*}
-\Msg{**********************************************}
-\errhelp{Move or rename old docstrip.tex.}
-\errmessage{Old docstrip in input path}
-\batchmode
-\csname @@end\endcsname
-\fi}
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* The count1to distribution contains these files:}
-\Msg{*}
-\Msg{* \space\space count1to.dtx}
-\Msg{* \space\space count1to.ins}
-\Msg{* \space\space count1to.bug}
-\Msg{*}
-\Msg{* If you receive only some of these files from someone, complain!}
-\Msg{*}
-\Msg{***********************************************************}
-
-\preamble
-
-Copyright (c) 1994..2009 by Martin Schroeder. All rights reserved.
-
-This file is part of the Count1to package
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainer of this work is Martin Schroeder.
-
-This work consists of the files count1to.dtx and count1to.ins
-and the derived file count1to.sty.
-
-\endpreamble
-\declarepreamble\driverpreamble
-
-This file is part of the Count1to package
------------------------------------------
-
-Copyright (c) 1994..2009 by Martin Schroeder. All rights reserved.
-
-To produce the documentation in the way you like you are allowed
-to change this driver file.
-
-\endpreamble
-
-\keepsilent
-\askforoverwritefalse
-\generate{%
- \file{count1to.sty}{\from{count1to.dtx}{package}}
- \usepreamble\driverpreamble
- \file{count1to.drv}{\from{count1to.dtx}{driver}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* style files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space count1to.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file count1to.drv}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-\endbatchfile
-%%
-%% End of file `count1to.ins'.
diff --git a/macros/latex/contrib/ms/count1to.pdf b/macros/latex/contrib/ms/count1to.pdf
deleted file mode 100644
index 9e339af9c9..0000000000
--- a/macros/latex/contrib/ms/count1to.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/ms/multitoc.asc b/macros/latex/contrib/ms/multitoc.asc
deleted file mode 100644
index 3fcaa10673..0000000000
--- a/macros/latex/contrib/ms/multitoc.asc
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN PGP MESSAGE-----
-Version: 2.6.3ia
-Comment: PGP sig of multitoc.dvi
-
-iQEVAwUAN11/jOHJal4pKBTlAQEoKAf8CqoIr8kQR2fuygRaYeeOKwV0sn2hZ8nE
-0jRurHZvMG+oeqNWQmmhUWf5QbmhoeySV4k0oZptAJH7trA4VUOyQPekqW/lRlUs
-yoqxArqL9qhSK9+L6NDPKjZ9K3xejC8ivPkzoWSdHM7T4pOPwjmYNqrIo11I4DsQ
-eP/v4MlI83QPfDwWWQPq6AVPNa2yPoztsCKe5A6t4nkesgBPwBEorg/8LDwbGAzB
-psrpO/a/0V6FBKQ9MkeZ3pXSzZm6o91M4wZXf864pw67lj7BWnOsecbidJAuzd//
-+4VD1/BYIuGV7Mt8K5r2DNx9IRWCEQWiIXXO31lD4MBP6Jz382PTIw==
-=8lva
------END PGP MESSAGE-----
diff --git a/macros/latex/contrib/ms/multitoc.bug b/macros/latex/contrib/ms/multitoc.bug
deleted file mode 100644
index 400db9b6b5..0000000000
--- a/macros/latex/contrib/ms/multitoc.bug
+++ /dev/null
@@ -1,11 +0,0 @@
-This file is part of the multitoc package.
------------------------------------------
-
-\ProvidesFile{multitoc.bug}[1999/06/08 v2.01 MultiToc Package Bugs (MS)]
-
-This file contains problem-records and bug-reports. Unsolved problems
-and uncorrected but known bugs (so called features) start out with two
-exclamation marks before the number. Fixed problems will start with two
-asterisks.
-
-No bugs so far. \ No newline at end of file
diff --git a/macros/latex/contrib/ms/multitoc.ins b/macros/latex/contrib/ms/multitoc.ins
deleted file mode 100644
index 154b6ec1d5..0000000000
--- a/macros/latex/contrib/ms/multitoc.ins
+++ /dev/null
@@ -1,116 +0,0 @@
-%% \ProvidesFile{multitoc.ins}
-%% [1999/06/08 v2.01 Installation script for MultiToc Package (MS)]
-%%
-%% Copyright (c) [1998..1999] by Martin Schr\"oder. All rights reserved.
-%%
-%% This program may be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License, either version 1.0 of this
-%% license, or (at your option) any later version.
-%% The latest version of this license is in
-%% CTAN:macros/latex/base/lppl.txt.
-%%
-%% Happy users are requested to send me a postcard. :-)
-%%
-%% checksum = "55078 128 458 3787"
-%%
-%% The checksum field above contains a CRC-16 checksum as the first
-%% value, followed by the equivalent of the standard UNIX wc (word
-%% count) utility output of lines, words, and characters.
-%% This is produced by Robert Solovay's checksum utility.
-%%
-%% --------------- start of docstrip commands ------------------
-\input docstrip
-{\ifx\endbatchfile\undefined
-\Msg{**********************************************}
-\Msg{*}
-\Msg{* This installation requires docstrip}
-\Msg{* version 2.4d or later.}
-\Msg{*}
-\Msg{* An older version of docstrip has been input}
-\Msg{*}
-\Msg{**********************************************}
-\errhelp{Move or rename old docstrip.tex.}
-\errmessage{Old docstrip in input path}
-\batchmode
-\csname @@end\endcsname
-\fi}
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* The multitoc distribution contains these files:}
-\Msg{*}
-\Msg{* \space\space multitoc.asc}
-\Msg{* \space\space multitoc.dtx}
-\Msg{* \space\space multitoc.dvi}
-\Msg{* \space\space multitoc.ins}
-\Msg{* \space\space multitoc.bug}
-\Msg{*}
-\Msg{* If you receive only some of these files from someone, complain!}
-\Msg{*}
-\Msg{***********************************************************}
-
-\preamble
-
-Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
-
-This file is part of the MultiToc package
-
-This program may be redistributed and/or modified under the terms
-of the LaTeX Project Public License, either version 1.0 of this
-license, or (at your option) any later version.
-The latest version of this license is in
- CTAN:macros/latex/base/lppl.txt.
-
-Happy users are requested to send me a postcard. :-)
-
-The MultiToc package contains these files:
-
- multitoc.asc
- multitoc.dtx
- multitoc.dvi
- multitoc.ins
- multitoc.bug
-
-Error Reports in case of UNCHANGED versions to
-
- Martin Schr"oder
- Cr"usemannallee 3
- D-28213 Bremen
- Martin.Schroeder@ACM.org
-
-\endpreamble
-\declarepreamble\driverpreamble
-
-This file is part of the MultiToc package
------------------------------------------
-
-Copyright (c) [1998..1999] by Martin Schr"oder. All rights reserved.
-
-To produce the documentation in the way you like you are allowed
-to change this driver file.
-
-\endpreamble
-
-\keepsilent
-\askforoverwritefalse
-\generate{%
- \file{multitoc.sty}{\from{multitoc.dtx}{package}}
- \usepreamble\driverpreamble
- \file{multitoc.drv}{\from{multitoc.dtx}{driver}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* style files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space multitoc.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file multitoc.drv}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-\endbatchfile
-%%
-%% End of file `multitoc.ins'.
diff --git a/macros/latex/contrib/ms/multitoc.pdf b/macros/latex/contrib/ms/multitoc.pdf
deleted file mode 100644
index b72c2a0c4c..0000000000
--- a/macros/latex/contrib/ms/multitoc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md
index 8e706e6de9..d1942487f7 100644
--- a/macros/latex/contrib/msu-thesis/README.md
+++ b/macros/latex/contrib/msu-thesis/README.md
@@ -1,4 +1,4 @@
-# MSU Thesis Class Version 4.2b 2024/05/16
+# MSU Thesis Class Version 4.3b 2024/07/08
Copyright 2011-2024 by Alan Munn <amunn@msu.edu>
@@ -58,6 +58,7 @@ a template.
If you are using Overleaf, you should upload a copy of `msu-thesis.cls` to your project. It *must* have exactly this name to be found. Click on the Menu icon and make sure to choose the latest version of TeX Live for compilation.
+## Licence
This package may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license or
diff --git a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
index 7ea3b12edf..ffd0904eb8 100644
--- a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+++ b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{4.2b}
-\def\msudate{2024/05/16}
+\def\msuversion{4.3b}
+\def\msudate{2024/07/08}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -137,6 +137,7 @@ In addition to all the user functionality defined by \pkg{memoir}, the \pkg{msu-
\toprule
{\bs msucaptiondelim} & Delimiter for floating elements (see section \ref{captiondelim}).\\
{\bs msutocdelim} & Delimiter for table of contents chapter/section titles.\\
+{\bs msuappendixdelim} & Delimiter for table of contents appendix titles.\\
%{\bs setabstractnamespace} & Changes spacing after the name in the abstract (see section \ref{abstractspacing}).\\
\bottomrule
\end{tabularx}
@@ -200,8 +201,8 @@ The thesis guide suggests that you use a simplified table of contents that lists
\begin{quote}
|\setcounter{msutocdepth}{0}|
\end{quote}
-\subsubsection{Ensuring the minimum number of leader dots}
-If your chapter titles are very long, they sometimes fail to put any leader dots before the page number in the Table of Contents. The thesis office requires a minimum of three dots of leaders for any TOC line. You can solve this problem by putting a line break into the TOC entry title. To do this, use the optional argument of the corresponding |\chapter| or |\section| etc. command. Note that the line break needs to be preceded by |\protect|.
+\subsubsection{Adding line breaks to TOC entries}
+If your chapter titles are very long, they sometimes fail to put any leader dots before the page number in the Table of Contents or they hyphenate a word in the title. The thesis office requires a minimum of three dots of leaders for any TOC line, and they don't seem to like hyphenation inside TOC entries. You can solve both of these problems by putting a line break into the TOC entry title. To do this, use the optional argument of the corresponding |\chapter| or |\section| etc. command. Note that the line break needs to be preceded by |\protect|.
%\begin{quote}
\begin{lstlisting}[frame=none,xleftmargin=2.5em]
@@ -211,7 +212,9 @@ If your chapter titles are very long, they sometimes fail to put any leader dots
%\end{quote}
\subsection{Captions}
\subsubsection{Caption delimiter}\label{captiondelim}
-Because the thesis office doesn't understand anything about punctuation, it requires the colon that would appear in a caption to also appear in the contents lists. Since they don't care about the colon itself, but just consistency I've removed colons from the captions entirely, since leaving it in makes the contents lists look really stupid. But in case you or your advisor want the colon in captions, you can add the colon back in by adding |\renewcommand{\msucaptiondelim}{:\space}| to your preamble, and the class will make sure the Lists of Tables and Figures match in formatting. If you have other floating objects with captions (e.g., algorithms, listings) you may need to change their delimiter too (see below). How you do this may depend on the particular packages you are using.
+Because the thesis office doesn't understand anything about punctuation, it requires the colon that would appear in a caption to also appear in the contents lists. Since they don't care about the colon itself, but just consistency I've removed colons from the captions entirely, since leaving it in makes the contents lists look really stupid. But in case you or your advisor want the colon in captions, you can add the colon back in by adding |\renewcommand{\msucaptiondelim}{:}| to your preamble, and the class will make sure the Lists of Tables and Figures match in formatting. If you have other floating objects with captions (e.g., algorithms, listings) you may need to change their delimiter too (see below). How you do this may depend on the particular packages you are using.
+\subsection{Colons after Appendix titles}\label{appendixdelim}
+I have also received reports that sometimes the thesis office requires a colon after appendix titles in the table of contents. To add this colon you can add |\renewcommand{\msuappendixdelim}{:}| to your preamble.
\subsubsection{New lists and floats}
Note that the thesis office no longer seems to \emph{require} lists of anything other than the main table of contents. This is another odd decision on their part. If do include a List of Tables and List of Figures and need to add other lists, you can follow the directions here. Note that lists of algorithms require special treatment. See §\ref{algorithms}.
@@ -452,7 +455,8 @@ Version 3.7 added improved support for \pkg{hyperref}.
Version 4.0 implements the new requirements as of September 2022, including adding a |\dualmajor| command.
Various spacing changes have been made which will make your document look like you used Word, but this is what the thesis office seems to care about.
Version 4.1 added the |msutocdepth| counter to allow for the chapters-only format that the thesis office recommends.
-Version 4.2 changed the spacing parameters for subsections to appease the thesis office yet again.
+Version 4.2 changed the spacing parameters for subsections to appease the thesis office yet again and added an explicit check for an up-to-date kernel.
+Version 4.3 added a |\msuappendixdelim| command to appease the thesis office's thirst for colons.
\section{Acknowledgements}
Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of
@@ -463,8 +467,8 @@ Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fisch
current \pkg{hyperref} code. Thanks to David Carlisle for helping me understand a ridiculous spacing problem.
Thanks also to the following people who have reported
problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank,
-Nathan Brugnone, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
-Jung, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka
+Nathan Brugnone, Dmitriy Bryndin, Harrison Cassady, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
+Jung, Minkyu Kim, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka
Pai, Alicia Parrish, Victoria Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam
Soliman, Mookyong Son, Erik Stitt, Fanurs C.E. Teh, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Atacan Yücesoy, Ali
Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls
index f873f7a964..538a98da06 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.cls
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls
@@ -192,11 +192,13 @@
% Version 4.1h 2023/10/07 Changed option processing code
% Version 4.1i 2023/12/02 Fixed spurious blank page with biblatex bibliography
% Version 4.2 2024/02/18 Changed spacing for sections to address complaints about adjacent sectioning commands
-% Version 4.2b 2024/05/16 Added version check for l3kernel.
+% Version 4.2b 2024/05/16 Added version check for l3kernel.
+% Version 4.3 2024/06/07 Fixed bug with TOCs when calc package was loaded; added \msuappendixdelim
+% Version 4.3b 2024/07/08 Fixed spurious page break with biblatex per chapter bibliographies
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{4.2b}
-\def\msu@date{2024/05/16}
+\def\msu@version{4.3b}
+\def\msu@date{2024/07/08}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
\@ifundefined{ExplLoaderFileDate}
@@ -333,7 +335,6 @@ chapterapp.code = {
% This may also be solved by using \hypersetup{hypertexnames=false}
% hard to tell whether this is a better solution.
-
% make title 2in from top of page
% This value is crazy because the grad school doesn’t know how to measure
\setlength{\droptitle}{.25in} % changed again due to topskip removal 12/13/17
@@ -499,6 +500,7 @@ chapterapp.code = {
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
+ \renewcommand*\cftchapteraftersnum{\msuappendixdelim}
}
\cftinsertcode{SINGAPP}{\renewcommand{\cftchapteraftersnum}{}}
@@ -517,7 +519,7 @@ chapterapp.code = {
% chapters in the source
\newlength\apptoclen
-\settowidth{\apptoclen}{APPENDIX M}
+\settowidth{\apptoclen}{APPENDIX: M}
\cftinsertcode{APPENDICES}{
\setlength\cftchapterindent{\cftsectionindent}
\setlength\cftsectionnumwidth{\apptoclen} % add the extra space
@@ -525,7 +527,7 @@ chapterapp.code = {
\renewcommand\cftsectionfont{\msu@tocfont} % fixed 12/13/17
\renewcommand\cftchapterpagefont{\msu@tocfont}
\renewcommand*{\cftappendixname}{APPENDIX\space}
- \renewcommand\cftchapteraftersnum{\msutocdelim}
+ \renewcommand\cftchapteraftersnum{\msuappendixdelim}
%\ifthenelse{\value{msutocdepth}=0}{\addtocounter{tocdepth}{-1}}{} % removed 8/12/2023
}
@@ -538,7 +540,7 @@ chapterapp.code = {
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \setcounter{tocdepth}{\value{msutocdepth}}
+ \protect\setcounter{tocdepth}{\value{msutocdepth}}
}
% This code resets the changes made in the APP code back to normal
% so that the bibliography will appear correctly in the TOC
@@ -547,7 +549,7 @@ chapterapp.code = {
\setlength{\cftbeforechapterskip}{1.0em \@plus\p@}
\renewcommand\cftchapterfont{\msu@chapfont\MakeUppercase}
\renewcommand\cftchapterpagefont{\msu@chapfont}
- \setcounter{tocdepth}{\value{msutocdepth}}
+ \protect\setcounter{tocdepth}{\value{msutocdepth}}
}
\cftinsertcode{CHAPBIB}{
@@ -679,6 +681,7 @@ chapterapp.code = {
% contents lists don't look so stupid. Can be changed if necessary.
\newcommand*\msucaptiondelim{\space}
\newcommand*\msutocdelim{} % removed idiotic colon 5/25/23
+\newcommand*\msuappendixdelim{} % added 6/7/24
\captiondelim{\msucaptiondelim}
\pagestyle{plain}
@@ -773,11 +776,11 @@ chapterapp.code = {
% \ifmsu@chapterapp\else
\msu@singleappendixtrue
% \fi% make sure single appendix doesn't have a number if global 3.1b (always 3.2)
- \msu@apppage\cftinserthook{toc}{SINGAPP}\setcounter{tocdepth}{0}\@resets@pp\anappendixtrue}%
+ \msu@apppage\cftinserthook{toc}{SINGAPP}\protect\setcounter{tocdepth}{0}\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset aded 2022/04/16
\renewenvironment{appendices}%
- {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\addtocontents{toc}{\setcounter{tocdepth}{0}}
+ {\msu@singleappendixfalse\msu@apppage\ifmsu@chapterapp\cftinserthook{toc}{APPENDICES}\fi\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
\@resets@pp\anappendixtrue}%
{\@ppsaveapp\@pprestoresec\anappendixfalse\cftinserthook{toc}{CHAPAPPR}} % reset added 2022/04/16
@@ -835,9 +838,10 @@ chapterapp.code = {
% This code probably needs to be revisited since it’s a unholy amalgam of old and new code
% Removed clearpage from the document level code in response to issue #26.
% Problem seems to only arise with biblatex so more testing is needed
+% Added test for natbib here 7/8/2024 because biblatex produces extra page
\newcommand\msu@addbibheadtotoc{%
\ifmsu@chapterbib
- \clearpage\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
+ \@ifpackageloaded{natbib}{\clearpage}{}\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
\else
\phantomsection\addcontentsline{toc}{chapter}{\bibtocname}
\fi
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
index 89f49a4d54..11fe39050a 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
index 3fea93983a..2de16c4965 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
index f4ee4c9157..d0ce1cca0c 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex
@@ -7,7 +7,7 @@
\usepackage[]{chapterbib}
\usepackage[]{natbib}
\usepackage{lipsum}
-
+\renewcommand{\msuappendixdelim}{:}
\usepackage{hyperref}
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
index eb0b2e2b83..6c02721c99 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex
@@ -1,5 +1,5 @@
% This is a template for use with the MSU Thesis class
-% Version 4.1b 2023/05/25
+% Version 4.3 2024/06/07
%
% Class options:
%[PhD] Doctor of Philosophy (default)
@@ -61,10 +61,6 @@
%
%\dedication{This thesis is dedicated to someone.}
%
-% The default TOC format for the class lists both chapters and sections
-% The thesis office suggests only listing chapters. If you prefer that format
-% uncomment the next line:
-%\setcounter{msutocdepth}{0} % sets TOC to list chapters only
%
\begin{document}
@@ -100,9 +96,21 @@
Your acknowledgements here.
%
\clearpage
+% The default TOC format for the class lists both chapters and sections
+% The thesis office suggests only listing chapters. If you prefer that format
+% uncomment the next line:
+%
+%\setcounter{msutocdepth}{0} % sets TOC to list chapters only
+%
% We need to turn single spacing back on for the contents/figures/tables lists
+
\SingleSpacing
\tableofcontents* % table of contents will not be listed in the TOC
+%
+% The thesis office now seems to discourage the use of lists of tables/figures etc.
+% Again, this is a very dubious suggestion, since it makes it harder for the people who actually
+% read your thesis, so I would recommend keeping these lists unless the thesis office forces you to
+% remove them or finds other problems with them.
%\clearpage
%\listoftables % comment this out if you have no tables
%\clearpage
@@ -131,6 +139,11 @@ Your acknowledgements here.
% If you are using it for an MA/MS thesis you still need to have chapters, even if they are very small.
\chapter{Your first chapter}
+% The \chapter command supports an optional argument for the entry in the Table of Contents. The thesis
+% office sometimes complains about hyphenation in the TOC or entries with too few dots! If they do, you
+% can use the optional argument of \chapter (or \section etc.) to add explicit linebreaks in the TOC entries:
+%\chapter[Long title that will \protect\\ break before the word ‘break’]{Long title that will break before the word ‘break’}
+%
%
% If you have pages that must appear in landscape mode, use the [lscape] documentclass option
% and enclose the pages in a {landscape} environment.
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
index 1b819b0aa0..8ac6fc3ef5 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
index bd67ccb091..a00f0b1070 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
@@ -1,5 +1,5 @@
% !TEX TS-program = pdflatexmk
-% v4.1c Testfile
+% v4.3 Testfile
\listfiles
\documentclass[lscape]{msu-thesis}
@@ -26,6 +26,7 @@
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{enumitem}
+\usepackage{calc}
\usepackage[unit=in]{fgruler}
\usepackage{gb4e}
\counterwithin{exx}{chapter}
@@ -41,6 +42,7 @@
\newlistentry{listing}{lol}{0}
\renewcommand*{\cftlistingname}{Listing\space}
\renewcommand*{\cftlistingaftersnum}{\msucaptiondelim}
+\renewcommand*{\msuappendixdelim}{:}
\usepackage[bookmarksopenlevel=2,bookmarks=true]{hyperref} % not needed but here for testing
\setcounter{msutocdepth}{1} % default is 1; this puts only chapters in the TOC
@@ -269,6 +271,7 @@ A & B & C & D & E & F & G \\
% use this if you have more than one appendix
\clearpage
%\backmatter
+
\bibliography{MSU-thesis-testfile}
%\begin{appendix} ... \end{appendix} % use this if you have only one appendix
%\begin{appendix}
@@ -284,8 +287,7 @@ A & B & C & D & E & F & G \\
\section{An appendix section}
\lipsum[16-17]
\end{appendices}
-% This command creates the cover page for the bibliography
-%\makebibliographypage
+
\end{document}
diff --git a/macros/latex/contrib/multitoc/README.md b/macros/latex/contrib/multitoc/README.md
new file mode 100644
index 0000000000..69078f454e
--- /dev/null
+++ b/macros/latex/contrib/multitoc/README.md
@@ -0,0 +1,44 @@
+# The `multitoc` package
+
+Copyright (C) Martin Schröder, 1998–1999, Marei Peischl (peiTeX) <marei@peitex.de>, 2024
+
+ multitoc 2024/06/13 v2.02
+
+***************************************************************************
+
+ This material is subject to the LaTeX Project Public License version 1.3c
+ or later. See http://www.latex-project.org/lppl.txt for details.
+
+***************************************************************************
+
+This work has the LPPL maintenance status `maintained'.
+This package is maintained but will not receive any additional features anymore.
+
+The Current Maintainer of this work is
+ Marei Peischl <marei@peitex.de>.
+
+[Link to the GitLab Repository](https://gitlab.com/TeXhackse/ragged2e)
+
+## Abstract
+This package only exists and is maintained for compatibility reasons!
+
+The package automatically sets the table of contents, list of figures and list of tables in two or more columns (the number of columns may be configured).
+
+The package uses the multicol package.
+
+## Provided files
+
+* README.md
+* multitoc.dtx
+* multitoc.ins
+
+The file
+* multitoc.sty
+
+## Issue Tracker
+If you think you may have found a bug in this package, please visit
+ https://gitlab.com/TeXhackse/multitoc/issues
+
+## Version History
+ * 2.02 Bugfix to no longer break other lists but toc/lot and lof
+t. \ No newline at end of file
diff --git a/macros/latex/contrib/ms/multitoc.dtx b/macros/latex/contrib/multitoc/multitoc.dtx
index a88e69fbe6..2e6c5bd9c9 100644
--- a/macros/latex/contrib/ms/multitoc.dtx
+++ b/macros/latex/contrib/multitoc/multitoc.dtx
@@ -1,16 +1,53 @@
+%% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Copyright (C) Martin Schröder, 1998–1999
+% Marei Peischl (peiTeX) <marei@peitex.de>, 2024
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% This package is maintained but will not receive any additional features.
+%
+% The Current Maintainer of this work is
+% Marei Peischl <marei@peitex.de>.
+%
+%
+% This work consists of the files
+% README.md
+% multitoc.dtx
+% multitoc.ins
+% and the derived file
+% multitoc.sty.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
% \iffalse
-\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2015-09-18]
%<package>\ProvidesPackage{multitoc}
-%<package> [1999/06/08 v2.01 MultiToc Package (MS)]
+%<package> [2024/06/13 v2.02 MultiToc Package]
%
%<*driver>
\ProvidesFile{multitoc.drv}
- [1999/06/08 v2.01 Driver for MultiToc Package (MS)]
+ [1999/06/08 v2.02 Driver for MultiToc Package]
\documentclass{ltxdoc}
\usepackage{url}
\usepackage{ragged2e}
\usepackage[toc]{multitoc}
\GetFileInfo{multitoc.sty}
+\makeatletter
+\IfFileExists{gitHeadInfo.gin}{
+ \newcommand*{\GI@githeadinfo@file}{gitHeadInfo.gin}
+}{}
+\makeatother
+\usepackage{gitinfo2}
\setcounter{IndexColumns}{2}
\EnableCrossrefs
%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
@@ -25,74 +62,8 @@
\DocInput{multitoc.dtx}
\end{document}
%</driver>
-%
-% Copyright (c) [1998..1999] by Martin Schr\"oder. All rights reserved.
-%
-% This program may be redistributed and/or modified under the terms
-% of the LaTeX Project Public License, either version 1.0 of this
-% license, or (at your option) any later version.
-% The latest version of this license is in
-% CTAN:macros/latex/base/lppl.txt.
-%
-% Happy users are requested to send me a postcard. :-)
-%
-% For error reports in case of UNCHANGED versions see multitoc.ins
-%
% \fi
%
-% \CheckSum{83}
-%
-%% \CharacterTable
-%% {Upper-case \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
-%% Lower-case \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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-style-file{
-%% author = {Martin Schr\"oder},
-%% version = "2.01",
-%% date = "8 June 1999",
-%% filename = "multitoc.sty",
-%% address = {Martin Schr\"oder
-%% Cr\"usemannallee 3
-%% D-28213 Bremen
-%% telephone = "+49-421-2239425",
-%% email = "Martin.Schroeder@ACM.org",
-%% pgp-Key = "2048 bit / KeyID 292814E5",
-%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E",
-% checksum = "62732 556 2216 19056",
-% codetable = "ISO/ASCII",
-% keywords = "LaTeX, multicol, toc, lof, lot",
-% dependences = "multicol",
-% supported = "yes",
-%% docstring = "LaTeX package which automatically sets only
-%% the table of contents, list of figures and list
-%% of tables in two or more columns.
-%% The number of columns can be configured.
-%% Uses the multicol package.
-%
-% The checksum field above contains a CRC-16
-% checksum as the first value, followed by
-% the equivalent of the standard UNIX wc
-% (word count) utility output of lines,
-% words, and characters. This is produced
-% by Robert Solovay's checksum utility."
-%% }
-%% ===================================================================
-%% \fi
-%
% \changes{v0.90}{1998/05/23}{New}
% \changes{v1.00}{1998/08/09}{Documentation improved}
% \changes{v2.00}{1998/08/23}{Redesign}
@@ -109,24 +80,28 @@
% \title{\unskip
% The \textsf{multitoc} package^^A
% \thanks{^^A
-% The version number of this file is \fileversion,
-% last revised \filedate.\protect\newline
+% The version number of this file is \fileversion,
+% revision~\#\gitAbbrevHash, last revised \protect\gitAuthorIsoDate.\protect\newline
% The name \textsf{multitoc} is a tribute to the $8+3$
% file-naming convention of certain ``operating
% systems''; strictly speaking it should be
% \textsf{MulticolumnToc}.}
% }
-% \author{Martin Schr\"oder\\[0.5ex]
-% \normalsize Cr\"usemannallee 3\\
-% \normalsize D-28213 Bremen\\
-% \normalsize Martin.Schroeder@ACM.org\\
-% \scriptsize \texttt{PGP-Key: 2048 bit / KeyID 292814E5}\\[-0.5em]
-% \scriptsize \texttt{7E86 6EC8 97FA 2995~~82C3 FEA5 2719 090E}}
+% \author{Martin Schröder\\
+% \url{https://gitlab.com/TeXhackse/multitoc}\thanks{maintained by Marei Peischl}}
% \date{\filedate}
% \maketitle
%
% ^^A -----------------------------
%
+% \begingroup\renewcommand*{\abstractname}{Disclaimer/Warning}
+% \begin{abstract}
+% \changes{v2.02}{2024/06/13}{Add note, that there will not be any additional features.}
+% This package is maintained to keep compatibility but will not receive any further feature extensions as there are a lot of packages providing by far more functionality.
+%
+% In case you are looking for methods to modify lists have a look at Markus Kohm's tocbasic Package \cite{package:tocbasic} or the corresponding CTAN Topic \url{https://ctan.org/topic/toc-etc}.
+% \end{abstract}
+% \endgroup
%
% \begin{abstract}
% This package allows setting only the table of contents, list of
@@ -318,6 +293,11 @@
% \newblock The \package{count1to} package.
% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/count1to.dtx}.
% \newblock \LaTeXe{} package.
+% \bibitem{package:tocbasic}
+% Markus Kohm
+% \newblock KOMA-Script
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/koma-script/tocbasic.dtx}.
+% \newblock \LaTeXe{} package.
% \end{thebibliography}
%
% }
@@ -448,25 +428,24 @@
% We also have to determine the number of columns to use.\footnote{^^A
% This could probably be coded more effeciently, but this code
% works\ldots}
+% \changes{v2.02}{2024/06/13}{Fix bug breaking other lists but toc/lof/lot. Thanks to Markus Kohm for reporting.}
% \begin{macrocode}
\let\@multitoc@starttoc\@starttoc
+\ExplSyntaxOn
\renewcommand*{\@starttoc}[1]{%
- \ifthenelse{\boolean{@multitoc@toc}\and\equal{#1}{toc}}{%
- \begin{multicols}{\multicolumntoc}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- \ifthenelse{\boolean{@multitoc@lot}\and\equal{#1}{lot}}{%
- \begin{multicols}{\multicolumnlot}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- \ifthenelse{\boolean{@multitoc@lof}\and\equal{#1}{lof}}{%
- \begin{multicols}{\multicolumnlof}%
- \@multitoc@starttoc{#1}%
- \end{multicols}%
- }{}%
- }
+ \clist_if_in:nnTF {toc,lof,lot} {#1} {
+ \ifthenelse{\boolean{@multitoc@#1}}{
+ \begin{multicols}{\use:c{multicolumn#1}}%
+ \@multitoc@starttoc{#1}%
+ \end{multicols}
+ }{
+ \@multitoc@starttoc{#1}
+ }
+ }{
+ \@multitoc@starttoc{#1}
+ }
+}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/multitoc/multitoc.ins b/macros/latex/contrib/multitoc/multitoc.ins
new file mode 100644
index 0000000000..e42692f99a
--- /dev/null
+++ b/macros/latex/contrib/multitoc/multitoc.ins
@@ -0,0 +1,47 @@
+\input docstrip.tex
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ragged2e.ins}
+ [2024/06/13 v2.02 Installation script for MultiToc Package]
+
+\preamble
+Copyright (C) 1998–1999 Martin Schröder, 2024 Marei Peischl (peiTeX) <marei@peitex.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is
+ Marei Peischl <marei@peitex.de>.
+
+This work consists of the files multitoc.dtx and multitoc.ins
+and the derived file multitoc.sty.
+
+\endpreamble
+\keepsilent
+\askforoverwritefalse
+\generate{%
+ \file{multitoc.sty}{\from{multitoc.dtx}{package}}
+}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space multitoc.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file multitoc.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `multitoc.ins'.
diff --git a/macros/latex/contrib/multitoc/multitoc.pdf b/macros/latex/contrib/multitoc/multitoc.pdf
new file mode 100644
index 0000000000..7401b2f53e
--- /dev/null
+++ b/macros/latex/contrib/multitoc/multitoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/README.md b/macros/latex/contrib/nicematrix/README.md
index da760d4374..2318c86d3a 100644
--- a/macros/latex/contrib/nicematrix/README.md
+++ b/macros/latex/contrib/nicematrix/README.md
@@ -4,6 +4,8 @@ Author: F. Pantigny (`fpantigny@wanadoo.fr`).
CTAN page: `https://ctan.org/pkg/nicematrix`
+GitHub page: `github.com/fpantigny/nicematrix`
+
## License
The LaTeX extension `nicematrix` is distributed under the LPPL 1.3 license.
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.dtx b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
index 340d2e0f5e..05251bd9cd 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% This file should be compiled with $xelatex$.
+% This file should be compiled with $lualatex$.
%
% Copyright (C) 2018-2024 by F. Pantigny
% ------------------------------------------
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.27b}
-\def\myfiledate{2024/04/23}
+\def\myfileversion{6.28b}
+\def\myfiledate{2024/06/29}
%
%
%<*batchfile>
@@ -102,25 +102,11 @@ version 2005/12/01 or later.
%
%
% \bigskip
-% By default, the package \pkg{nicematrix} doesn't patch any existing code.
+% The development of the extension \pkg{nicematrix} is done on the following GitHub
+% depot:
%
-% \smallskip
-% However, when the option |renew-dots| is used, the commands |\cdots|,
-% |\ldots|, |\dots|, |\vdots|, |\ddots| and |\iddots| are redefined in the
-% environments provided by \pkg{nicematrix}. In the same way, if the option
-% |renew-matrix| is used, the environment |{matrix}| of \pkg{amsmath} is
-% redefined.
-%
-% \smallskip
-% On the other hand, the environment |{array}| is never redefined.
+% \verb|https://github.com/fpantigny/nicematrix|
%
-% \smallskip
-% Of course, the package \pkg{nicematrix} uses the features of the package
-% \pkg{array}. It tries to be independent of its implementation. Unfortunately,
-% it was not possible to be strictly independent. For example, the package
-% \pkg{nicematrix} relies upon the fact that the package |{array}| uses
-% |\ialign| to begin the |\halign|.
-%
%
% \bigskip
% \section{Declaration of the package and packages loaded}
@@ -169,7 +155,11 @@ version 2005/12/01 or later.
% In the version 2.6a of \pkg{array}, important modifications have been done for
% the Tagging Project.
% \begin{macrocode}
-\bool_const:Nn \c_@@_tagging_array_bool { \cs_if_exist_p:N \ar@ialign }
+\bool_const:Nn \c_@@_tagging_array_bool
+ { \IfPackageAtLeastTF { array } { 2024/05/01 } \c_true_bool \c_false_bool }
+\bool_const:Nn \c_@@_testphase_table_bool
+ { \IfPackageLoadedTF { latex-lab-testphase-table } \c_true_bool \c_false_bool
+ }
% \end{macrocode}
%
%
@@ -299,19 +289,27 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_security_test_i:w \ignorespaces #1
+\bool_if:NTF \c_@@_tagging_array_bool
{
- \peek_meaning:NF \unskip { \@@_error:n { Internal~error } }
- #1
+ \cs_new_protected:Npn \@@_security_test_i:w \ignorespaces #1
+ {
+ \peek_meaning:NF \textonly@unskip { \@@_error:n { Internal~error } }
+ #1
+ }
+ }
+ {
+ \cs_new_protected:Npn \@@_security_test_i:w \ignorespaces #1
+ {
+ \peek_meaning:NF \unskip { \@@_error:n { Internal~error } }
+ #1
+ }
}
% \end{macrocode}
%
% \bigskip
% Here, the box |\l_tmpa_box| will be used as sandbox to take our security test.
-% This code has been modified in version 6.18 (see question 682891 on TeX
-% StackExchange).
% \begin{macrocode}
-\hook_gput_code:nnn { begindocument / after } { . }
+\hook_gput_code:nnn { begindocument / end } { . }
{
\IfPackageLoadedTF { mdwtab }
{ \@@_fatal:n { mdwtab~loaded } }
@@ -397,6 +395,7 @@ version 2005/12/01 or later.
\tl_const:Nn \c_@@_dot_tl { . }
\tl_const:Nn \c_@@_default_tl { default }
\tl_const:Nn \c_@@_star_tl { * }
+\str_const:Nn \c_@@_star_str { * }
\str_const:Nn \c_@@_r_str { r }
\str_const:Nn \c_@@_c_str { c }
\str_const:Nn \c_@@_l_str { l }
@@ -415,8 +414,8 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\cs_generate_variant:Nn \seq_set_split:Nnn { N V n }
-\cs_generate_variant:Nn \str_lowercase:n { V }
+\cs_generate_variant:Nn \seq_set_split:Nnn { N o n }
+\cs_generate_variant:Nn \str_lowercase:n { o }
% \end{macrocode}
%
% \medskip
@@ -565,8 +564,8 @@ version 2005/12/01 or later.
% the rules even if \pkg{colortbl} is not loaded.
% \begin{macrocode}
\cs_set_protected:Npn \CT@arc@ { }
- \cs_set:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
- \cs_set:Npn \CT@arc #1 #2
+ \cs_set_nopar:Npn \arrayrulecolor #1 # { \CT@arc { #1 } }
+ \cs_set_nopar:Npn \CT@arc #1 #2
{
\dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
{ \cs_gset_nopar:Npn \CT@arc@ { \color #1 { #2 } } }
@@ -574,13 +573,13 @@ version 2005/12/01 or later.
% \end{macrocode}
% Idem for |\CT@drs@|.
% \begin{macrocode}
- \cs_set:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
- \cs_set:Npn \CT@drs #1 #2
+ \cs_set_nopar:Npn \doublerulesepcolor #1 # { \CT@drs { #1 } }
+ \cs_set_nopar:Npn \CT@drs #1 #2
{
\dim_compare:nNnT \baselineskip = \c_zero_dim \noalign
{ \cs_gset:Npn \CT@drsc@ { \color #1 { #2 } } }
}
- \cs_set:Npn \hline
+ \cs_set_nopar:Npn \hline
{
\noalign { \ifnum 0 = `} \fi
\cs_set_eq:NN \hskip \vskip
@@ -599,8 +598,8 @@ version 2005/12/01 or later.
% be linked to |\cline| in the beginning of |{NiceArrayWithDelims}|. The
% following commands must \emph{not} be protected.
% \begin{macrocode}
-\cs_set:Npn \@@_standard_cline #1 { \@@_standard_cline:w #1 \q_stop }
-\cs_set:Npn \@@_standard_cline:w #1-#2 \q_stop
+\cs_set_nopar:Npn \@@_standard_cline #1 { \@@_standard_cline:w #1 \q_stop }
+\cs_set_nopar:Npn \@@_standard_cline:w #1-#2 \q_stop
{
\int_if_zero:nT \l_@@_first_col_int { \omit & }
\int_compare:nNnT { #1 } > \c_one_int
@@ -694,8 +693,8 @@ version 2005/12/01 or later.
\tl_if_blank:nF { #1 }
{
\tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@arc@ { \color #1 } }
- { \cs_set:Npn \CT@arc@ { \color { #1 } } }
+ { \cs_set_nopar:Npn \CT@arc@ { \color #1 } }
+ { \cs_set_nopar:Npn \CT@arc@ { \color { #1 } } }
}
}
\cs_generate_variant:Nn \@@_set_CT@arc@:n { o }
@@ -706,8 +705,8 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_set_CT@drsc@:n #1
{
\tl_if_head_eq_meaning:nNTF { #1 } [
- { \cs_set:Npn \CT@drsc@ { \color #1 } }
- { \cs_set:Npn \CT@drsc@ { \color { #1 } } }
+ { \cs_set_nopar:Npn \CT@drsc@ { \color #1 } }
+ { \cs_set_nopar:Npn \CT@drsc@ { \color { #1 } } }
}
\cs_generate_variant:Nn \@@_set_CT@drsc@:n { o }
% \end{macrocode}
@@ -732,10 +731,6 @@ version 2005/12/01 or later.
\cs_generate_variant:Nn \@@_color:n { o }
% \end{macrocode}
%
-% \bigskip
-% \begin{macrocode}
-\cs_set_eq:NN \@@_old_pgfpointanchor \pgfpointanchor
-% \end{macrocode}
%
% \bigskip
% \begin{macrocode}
@@ -970,6 +965,7 @@ version 2005/12/01 or later.
\bool_new:N \g_@@_rotate_bool
% \end{macrocode}
%
+%
% \bigskip
% The following boolean will be raise then the command |\rotate| is used with
% the key |c|.
@@ -1110,12 +1106,12 @@ version 2005/12/01 or later.
% The following command will be able to reconstruct the full name of the current
% command or environment (despite its name which contains \textsl{env}). This
% command must \emph{not} be protected since it will be used in error messages
-% and we have to use |\str_if_eq:VnTF| and not |\tl_if_eq:NnTF| because we need
+% and we have to use |\str_if_eq:onTF| and not |\tl_if_eq:NnTF| because we need
% to be fully expandable).
% \begin{macrocode}
\cs_new:Npn \@@_full_name_env:
{
- \str_if_eq:VnTF \g_@@_com_or_env_str { command }
+ \str_if_eq:onTF \g_@@_com_or_env_str { command }
{ command \space \c_backslash_str \g_@@_name_env_str }
{ environment \space \{ \g_@@_name_env_str \} }
}
@@ -1163,6 +1159,14 @@ version 2005/12/01 or later.
\bool_new:N \l_@@_in_code_after_bool
% \end{macrocode}
%
+%
+% \bigskip
+% The following parameter will be raised when a block content a |&| in its
+% content (=label).
+% \begin{macrocode}
+\bool_new:N \l_@@_ampersand_bool
+% \end{macrocode}
+%
% \bigskip
% The counters |\l_@@_old_iRow_int| and |\l_@@_old_jCol_int| will be used to
% save the values of the potential LaTeX counters |iRow| and |jCol|. These LaTeX
@@ -1275,11 +1279,21 @@ version 2005/12/01 or later.
% The L3 programming layer provides scratch dimensions |\l_tmpa_dim| and
% |\l_tmpb_dim|. We creates two more in the same spirit.
% \begin{macrocode}
-\dim_zero_new:N \l_@@_tmpc_dim
-\dim_zero_new:N \l_@@_tmpd_dim
+\dim_new:N \l_@@_tmpc_dim
+\dim_new:N \l_@@_tmpd_dim
% \end{macrocode}
%
% \bigskip
+% \begin{macrocode}
+\dim_new:N \g_@@_dp_row_zero_dim
+\dim_new:N \g_@@_ht_row_zero_dim
+\dim_new:N \g_@@_ht_row_one_dim
+\dim_new:N \g_@@_dp_ante_last_row_dim
+\dim_new:N \g_@@_ht_last_row_dim
+\dim_new:N \g_@@_dp_last_row_dim
+% \end{macrocode}
+%
+% \bigskip
% Some cells will be declared as ``empty'' (for example a cell with an
% instruction |\Cdots|).
% \begin{macrocode}
@@ -1475,6 +1489,7 @@ version 2005/12/01 or later.
\str_new:N \l_@@_hpos_block_str
\str_set:Nn \l_@@_hpos_block_str { c }
\bool_new:N \l_@@_hpos_of_block_cap_bool
+\bool_new:N \l_@@_p_block_bool
% \end{macrocode}
%
% \medskip
@@ -1485,10 +1500,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% For the vertical position, the possible values are |c|, |t| and |b|.
+% For the vertical position, the possible values are |c|, |t|, |b|, |T| and |B|
+% (but |\l_@@_vpos_block_str| will remain empty if the user doesn't use a key
+% for the vertical position).
% \begin{macrocode}
\str_new:N \l_@@_vpos_block_str
-\str_set:Nn \l_@@_vpos_block_str { c }
% \end{macrocode}
%
%
@@ -1761,6 +1777,14 @@ version 2005/12/01 or later.
\newcounter { tabularnote }
% \end{macrocode}
%
+% We want to avoid error messages for duplicate labels when the package
+% \pkg{hyperref} is used. That's why we will count all the tabular notes of the
+% whole document with |\g_@@_tabularnote_int|.
+% \begin{macrocode}
+\int_new:N \g_@@_tabularnote_int
+\cs_set:Npn \theHtabularnote { \int_use:N \g_@@_tabularnote_int }
+% \end{macrocode}
+%
% \begin{macrocode}
\seq_new:N \g_@@_notes_seq
\seq_new:N \g_@@_notes_in_caption_seq
@@ -1986,7 +2010,12 @@ version 2005/12/01 or later.
% \begin{macrocode}
\int_gdecr:N \c@tabularnote
\int_set_eq:NN \l_tmpa_int \c@tabularnote
- \refstepcounter { tabularnote }
+% \end{macrocode}
+% The following line is only to avoid error messages for multipy defined labels
+% when the package \pkg{hyperref} is used.
+% \begin{macrocode}
+ \int_gincr:N \g_@@_tabularnote_int
+ \refstepcounter { tabularnote }
\int_compare:nNnT \l_tmpa_int = \c@tabularnote
{ \int_gincr:N \c@tabularnote }
\seq_clear:N \l_@@_notes_labels_seq
@@ -2261,6 +2290,12 @@ version 2005/12/01 or later.
\tl_new:N \l_@@_baseline_tl
\tl_set:Nn \l_@@_baseline_tl { c }
% \end{macrocode}
+%
+% \bigskip
+% The following parameter corresponds to the key |ampersand-in-blocks|
+% \begin{macrocode}
+\bool_new:N \l_@@_amp_in_blocks_bool
+% \end{macrocode}
%
% \bigskip
% The flag |\l_@@_exterior_arraycolsep_bool| corresponds to the option
@@ -2492,6 +2527,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / Global }
{
+ ampersand-in-blocks .bool_set:N = \l_@@_amp_in_blocks_bool ,
+ ampersand-in-blocks .default:n = true ,
+ &-in-blocks .meta:n = ampersand-in-blocks ,
no-cell-nodes .code:n =
\cs_set_protected:Npn \@@_node_for_cell:
{ \box_use_drop:N \l_@@_cell_box } ,
@@ -3475,10 +3513,10 @@ version 2005/12/01 or later.
% \end{macrocode}
% |\l_@@_baseline_tl| may have the value |t|, |c| or |b|. However, if the value
% is |b|, we compose the |\array| (of \pkg{array}) with the option |t| and the
-% right translation will be done further. Remark that |\str_if_eq:VnTF| is
+% right translation will be done further. Remark that |\str_if_eq:onTF| is
% fully expandable and we need something fully expandable here.
% \begin{macrocode}
- [ \str_if_eq:VnTF \l_@@_baseline_tl c c t ]
+ [ \str_if_eq:onTF \l_@@_baseline_tl c c t ]
}
% \end{macrocode}
%
@@ -3554,7 +3592,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_everycr_i:
{
- \bool_if:NT \c_@@_tagging_array_bool
+ \bool_if:NT \c_@@_testphase_table_bool
{
\tbl_if_row_was_started:T { \UseTaggingSocket { tbl / row / end } }
\tbl_update_cell_data_for_next_row:
@@ -3587,10 +3625,7 @@ version 2005/12/01 or later.
{
\int_compare:nNnF \c@iRow = \l_@@_last_row_int
% \end{macrocode}
-% The command |\CT@arc@| is a command of \pkg{colortbl} which sets the color of
-% the rules in the array. The package \pkg{nicematrix} uses it even if
-% \pkg{colortbl} is not loaded. We use a TeX group in order to limit the scope
-% of |\CT@arc@|.
+%
% \begin{macrocode}
{ \hrule height \arrayrulewidth width \c_zero_dim }
}
@@ -3636,21 +3671,21 @@ version 2005/12/01 or later.
% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_redefine_everycr: { \everycr { \@@_everycr: } }
-\hook_gput_code:nnn { begindocument } { . }
- {
- \IfPackageLoadedTF { colortbl }
- {
- \cs_set_protected:Npn \@@_redefine_everycr:
- {
- \CT@everycr
- {
- \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
- \@@_everycr:
- }
- }
- }
- { }
- }
+ \hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { colortbl }
+ {
+ \cs_set_protected:Npn \@@_redefine_everycr:
+ {
+ \CT@everycr
+ {
+ \noalign { \cs_gset_eq:NN \CT@row@color \prg_do_nothing: }
+ \@@_everycr:
+ }
+ }
+ }
+ { }
+ }
% \end{macrocode}
%
% If \pkg{booktabs} is loaded, we have to patch the macro |\@BTnormal| which is
@@ -3688,16 +3723,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_some_initialization:
{
- \dim_gzero_new:N \g_@@_dp_row_zero_dim
\dim_gset:Nn \g_@@_dp_row_zero_dim { \box_dp:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_ht_row_zero_dim
\dim_gset:Nn \g_@@_ht_row_zero_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_ht_row_one_dim
- \dim_gset:Nn \g_@@_ht_row_one_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_dp_ante_last_row_dim
- \dim_gzero_new:N \g_@@_ht_last_row_dim
+ \dim_gset_eq:NN \g_@@_ht_row_one_dim \g_@@_ht_row_zero_dim
+ \dim_gzero:N \g_@@_dp_ante_last_row_dim
\dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
- \dim_gzero_new:N \g_@@_dp_last_row_dim
\dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
}
% \end{macrocode}
@@ -3735,7 +3765,7 @@ version 2005/12/01 or later.
\cs_set_nopar:Npn \arraystretch { 0.47 }
\dim_set:Nn \arraycolsep { 1.45 pt }
% \end{macrocode}
-% By default, |\@@_small_scripstyle:| is null.
+% By default, |\@@_tuning_key_small:| is no-op.
% \begin{macrocode}
\cs_set_eq:NN \@@_tuning_key_small: \scriptstyle
}
@@ -3763,9 +3793,9 @@ version 2005/12/01 or later.
{
\cs_set_nopar:Npn \ar@ialign
{
- \tbl_init_cell_data_for_table:
+ \bool_if:NT \c_@@_testphase_table_bool \tbl_init_cell_data_for_table:
\@@_redefine_everycr:
- \tabskip = \c_zero_skip
+ \dim_zero:N \tabskip
\@@_some_initialization:
% \end{macrocode}
%
@@ -3786,7 +3816,7 @@ version 2005/12/01 or later.
\cs_set_nopar:Npn \ialign
{
\@@_redefine_everycr:
- \tabskip = \c_zero_skip
+ \dim_zero:N \tabskip
\@@_some_initialization:
\cs_set_eq:NN \ialign \@@_old_ialign:
\halign
@@ -4061,7 +4091,9 @@ version 2005/12/01 or later.
% |\hbox_set_end:| corresponding to this |\hbox_set:Nw| will be in the second
% part of the environment (and the closing |\c_math_toggle_token| also).
% \begin{macrocode}
- \hbox_set:Nw \l_@@_the_array_box
+ \hbox_set:Nw \l_@@_the_array_box
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \UseTaggingSocket { tbl / hmode / begin } }
% \end{macrocode}
%
% \begin{macrocode}
@@ -4101,7 +4133,7 @@ version 2005/12/01 or later.
% \section{The \textbackslash CodeBefore}
%
% The following command will be executed if the |\CodeBefore| has to be actually
-% executed (that commmand will be used only once and is present only for legibility).
+% executed (that commmand will be used only once and is present alone only for legibility).
% \begin{macrocode}
\cs_new_protected:Npn \@@_pre_code_before:
{
@@ -4426,6 +4458,7 @@ version 2005/12/01 or later.
\tl_gset:Nn \g_@@_left_delim_tl { #1 }
\tl_gset:Nn \g_@@_right_delim_tl { #2 }
\tl_gset:Nn \g_@@_user_preamble_tl { #4 }
+ \tl_if_empty:NT \g_@@_user_preamble_tl { \@@_fatal:n { empty~preamble } }
% \end{macrocode}
%
%
@@ -4545,7 +4578,7 @@ version 2005/12/01 or later.
% command |\@@_CodeBefore_Body:w|. After that job, the command |\@@_CodeBefore_Body:w|
% will go on with |\@@_pre_array:|.
% \begin{macrocode}
- \IfBooleanTF { #6 } \@@_CodeBefore_Body:w \@@_pre_array:
+ \bool_if:nTF { #6 } \@@_CodeBefore_Body:w \@@_pre_array:
}
% \end{macrocode}
%
@@ -4558,6 +4591,18 @@ version 2005/12/01 or later.
\c_math_toggle_token
\skip_horizontal:N \l_@@_right_margin_dim
\skip_horizontal:N \l_@@_extra_right_margin_dim
+
+ % % awful workaround
+ \int_compare:nNnT \g_@@_col_total_int = \c_one_int
+ {
+ \dim_compare:nNnT \l_@@_columns_width_dim > \c_zero_dim
+ {
+ \skip_horizontal:N - \l_@@_columns_width_dim
+ \bool_if:NTF \l_@@_tabular_bool
+ { \skip_horizontal:n { - 2 \tabcolsep } }
+ { \skip_horizontal:n { - 2 \arraycolsep } }
+ }
+ }
\hbox_set_end:
% \end{macrocode}
% End of the construction of the array (in the box |\l_@@_the_array_box|).
@@ -4798,7 +4843,7 @@ version 2005/12/01 or later.
%
% \bigskip
% The final user provides a preamble, but we must convert that preamble into a
-% preamble that will be given to |{array}| (of the package \pkg{array}).
+% preamble which will be given to |{array}| (of the package \pkg{array}).
%
% \bigskip
% The preamble given by the final user is stored in |\g_@@_user_preamble_tl|.
@@ -4872,6 +4917,12 @@ version 2005/12/01 or later.
{
\IfPackageLoadedTF { colortbl }
{
+% \end{macrocode}
+% When \pkg{colortbl} is used, we have to catch the tokens |\columncolor| in the
+% preamble because, otherwise, \pkg{colortbl} will catch them and the colored
+% panels won't be drawn by \pkg{nicematrix} but by \pkg{colortbl} (with an
+% output which is not perfect).
+% \begin{macrocode}
\regex_const:Nn \c_@@_columncolor_regex { \c { columncolor } }
\cs_new_protected:Npn \@@_replace_columncolor:
{
@@ -5186,7 +5237,7 @@ version 2005/12/01 or later.
%
%
% \medskip
-% For |p|, |b| and |m|.
+% For |p| but also |b| and |m|.
% \begin{macrocode}
\cs_new:Npn \@@_p #1
{
@@ -5262,7 +5313,7 @@ version 2005/12/01 or later.
{ \tl_clear:N \exp_not:N \l_@@_hpos_cell_tl }
{
\cs_set_nopar:Npn \exp_not:N \l_@@_hpos_cell_tl
- { \str_lowercase:V \l_@@_hpos_col_str }
+ { \str_lowercase:o \l_@@_hpos_col_str }
}
\str_case:on \l_@@_hpos_col_str
{
@@ -5288,7 +5339,7 @@ version 2005/12/01 or later.
% \end{macrocode}
% We use |\str_lowercase:n| to convert |R| to |r|, etc.
% \begin{macrocode}
- { \str_lowercase:V \l_@@_hpos_col_str }
+ { \str_lowercase:o \l_@@_hpos_col_str }
}
}
% \end{macrocode}
@@ -5341,6 +5392,8 @@ version 2005/12/01 or later.
% mono-column blocks.
% \begin{macrocode}
\dim_set:Nn \l_@@_col_width_dim { #2 }
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \tag_struct_begin:n { tag = Div } }
\@@_cell_begin:w
% \end{macrocode}
% We use the form |\minipage|--|\endminipage| (|\varwidth|--|\endvarwidth|) for
@@ -5355,6 +5408,7 @@ version 2005/12/01 or later.
\vrule height \box_ht:N \@arstrutbox width \c_zero_dim
\everypar { }
}
+ \bool_if:NT \c_@@_testphase_table_bool \tagpdfparaOn
% \end{macrocode}
% Now, the potential code for the horizontal position of the content of the cell
% (|\centering|, |\raggedright|, |\RaggedRight|, etc.).
@@ -5381,28 +5435,19 @@ version 2005/12/01 or later.
% \begin{macrocode}
#4
\@@_cell_end:
+ \bool_if:NT \c_@@_testphase_table_bool \tag_struct_end:
}
}
}
% \end{macrocode}
%
% \bigskip
-%
% \begin{macrocode}
\str_new:N \c_@@_ignorespaces_str
\str_set:Nx \c_@@_ignorespaces_str { \ignorespaces }
\str_remove_all:Nn \c_@@_ignorespaces_str { ~ }
-% \end{macrocode}
-%
-% \bigskip
-% In order to test whether a cell is empty, we test whether it begins by
-% |\ignorespaces\unskip|. However, in some circunstancies, for example when
-% |\collectcell| of \pkg{collcell} is used, the cell does not begin with
-% |\ignorespaces|. In that case, we consider as not empty...
-%
-% First, we test if the next token is |\ignorespaces| and it's not very easy...
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_test_if_empty: { \peek_after:Nw \@@_test_if_empty_i: }
+\cs_new_protected:Npn \@@_test_if_empty:
+ { \peek_after:Nw \@@_test_if_empty_i: }
\cs_new_protected:Npn \@@_test_if_empty_i:
{
\str_set:Nx \l_tmpa_str { \token_to_meaning:N \l_peek_token }
@@ -5410,17 +5455,40 @@ version 2005/12/01 or later.
{ \@@_test_if_empty:w }
}
\cs_new_protected:Npn \@@_test_if_empty:w \ignorespaces
- {
- \peek_meaning:NT \unskip
- {
- \tl_gput_right:Nn \g_@@_cell_after_hook_tl
- {
- \box_set_wd:Nn \l_@@_cell_box \c_zero_dim
- \skip_horizontal:N \l_@@_col_width_dim
- }
+ { \peek_after:Nw \@@_test_if_empty_ii: }
+% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_nullify_cell:
+ {
+ \tl_gput_right:Nn \g_@@_cell_after_hook_tl
+ {
+ \box_set_wd:Nn \l_@@_cell_box \c_zero_dim
+ \skip_horizontal:N \l_@@_col_width_dim
}
}
% \end{macrocode}
+%
+% \bigskip
+% \begin{macrocode}
+\bool_if:NTF \c_@@_tagging_array_bool
+ {
+ \cs_new_protected:Npn \@@_test_if_empty_ii:
+ { \peek_meaning:NT \textonly@unskip \@@_nullify_cell: }
+ }
+% \end{macrocode}
+% In the old version of \pkg{array}, we test whether it begins by
+% |\ignorespaces\unskip|. However, in some circunstancies, for example when
+% |\collectcell| of \pkg{collcell} is used, the cell does not begin with
+% |\ignorespaces|. In that case, we consider as not empty...
+% First, we test if the next token is |\ignorespaces| and it's not very easy...
+% \begin{macrocode}
+ {
+ \cs_new_protected:Npn \@@_test_if_empty_ii:
+ { \peek_meaning:NT \unskip \@@_nullify_cell: }
+ }
+% \end{macrocode}
%
%
% \begin{macrocode}
@@ -6032,7 +6100,9 @@ version 2005/12/01 or later.
\multispan { #1 }
\cs_set_eq:NN \@@_update_max_cell_width: \prg_do_nothing:
\begingroup
- \cs_set:Npn \@addamp
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \tbl_update_multicolumn_cell_data:n { #1 } }
+ \cs_set_nopar:Npn \@addamp
{ \legacy_if:nTF { @firstamp } { \@firstampfalse } { \@preamerr 5 } }
% \end{macrocode}
%
@@ -6051,6 +6121,8 @@ version 2005/12/01 or later.
\exp_args:No \@mkpream \g_@@_preamble_tl
\@addtopreamble \@empty
\endgroup
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \UseTaggingSocket { tbl / colspan } { #1 } }
% \end{macrocode}
%
% \medskip
@@ -6084,7 +6156,7 @@ version 2005/12/01 or later.
% \medskip
% The following lines were in the original definition of |\multicolumn|.
% \begin{macrocode}
- \cs_set:Npn \@sharp { #3 }
+ \cs_set_nopar:Npn \@sharp { #3 }
\@arstrut
\@preamble
\null
@@ -6736,7 +6808,7 @@ version 2005/12/01 or later.
}
}
{
- \@@_create_col_nodes:
+ \@@_create_col_nodes:
\endarray
}
% \end{macrocode}
@@ -6784,7 +6856,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
{
\@@_create_col_nodes:
- \endarray
+ \endarray
}
% \end{macrocode}
%
@@ -6804,7 +6876,7 @@ version 2005/12/01 or later.
\tl_set_rescan:Nno \l_@@_end_of_row_tl { } \l_@@_end_of_row_tl
\bool_if:NTF \l_@@_light_syntax_expanded_bool
\seq_set_split:Nee
- \seq_set_split:NVn
+ \seq_set_split:Non
\l_@@_rows_seq \l_@@_end_of_row_tl { #1 }
% \end{macrocode}
% We delete the last row if it is empty.
@@ -6913,7 +6985,7 @@ version 2005/12/01 or later.
% The command |\@@_create_col_nodes:| will construct a special last row.
% That last row is a false row used to create the |col| nodes and to fix the
% width of the columns (when the array is constructed with an option which
-% specifies the width of the columns).
+% specifies the width of the columns such as |columns-width|).
% \begin{macrocode}
\cs_new:Npn \@@_create_col_nodes:
{
@@ -7080,7 +7152,7 @@ version 2005/12/01 or later.
{ \skip_gset:Nn \g_tmpa_skip { 0 pt~plus 1 fill } }
\skip_horizontal:N \g_tmpa_skip
\int_gincr:N \g_tmpa_int
- \bool_lazy_any:nF % modified 2023/12/13
+ \bool_lazy_any:nF
{
\g_@@_delims_bool
\l_@@_tabular_bool
@@ -7160,7 +7232,7 @@ version 2005/12/01 or later.
\endpgfpicture
}
}
- \cr
+ % \cr
}
% \end{macrocode}
%
@@ -7492,7 +7564,11 @@ version 2005/12/01 or later.
\@@_settings_for_tabular:
\NiceArray { #2 }
}
- { \endNiceArray }
+ {
+ \endNiceArray
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \UseTaggingSocket { tbl / hmode / end } }
+ }
% \end{macrocode}
%
% \begin{macrocode}
@@ -7982,7 +8058,7 @@ version 2005/12/01 or later.
%
% \bigskip
% We define a new \textsc{pgf} shape for the diag nodes because we want to
-% provide a anchor called |.5| for those nodes.
+% provide an anchor called |.5| for those nodes.
% \begin{macrocode}
\pgfdeclareshape { @@_diag_node }
{
@@ -7993,6 +8069,14 @@ version 2005/12/01 or later.
}
\anchor { 5 } { \five }
\anchor { center } { \pgfpointorigin }
+ \anchor { 1 } { \five \pgf@x = 0.2 \pgf@x \pgf@y = 0.2 \pgf@y }
+ \anchor { 2 } { \five \pgf@x = 0.4 \pgf@x \pgf@y = 0.4 \pgf@y }
+ \anchor { 3 } { \five \pgf@x = 0.6 \pgf@x \pgf@y = 0.6 \pgf@y }
+ \anchor { 4 } { \five \pgf@x = 0.8 \pgf@x \pgf@y = 0.8 \pgf@y }
+ \anchor { 6 } { \five \pgf@x = 1.2 \pgf@x \pgf@y = 1.2 \pgf@y }
+ \anchor { 7 } { \five \pgf@x = 1.4 \pgf@x \pgf@y = 1.4 \pgf@y }
+ \anchor { 8 } { \five \pgf@x = 1.6 \pgf@x \pgf@y = 1.6 \pgf@y }
+ \anchor { 9 } { \five \pgf@x = 1.8 \pgf@x \pgf@y = 1.8 \pgf@y }
}
% \end{macrocode}
%
@@ -12916,6 +13000,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / Block / FirstPass }
{
+ j .code:n = \str_set:Nn \l_@@_hpos_block_str j
+ \bool_set_true:N \l_@@_p_block_bool ,
+ j .value_forbidden:n = true ,
l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
l .value_forbidden:n = true ,
r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
@@ -12936,6 +13023,11 @@ version 2005/12/01 or later.
b .value_forbidden:n = true ,
B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
B .value_forbidden:n = true ,
+ m .code:n = \str_set:Nn \l_@@_vpos_block_str c ,
+ m .value_forbidden:n = true ,
+ v-center .meta:n = m ,
+ p .code:n = \bool_set_true:N \l_@@_p_block_bool ,
+ p .value_forbidden:n = true ,
color .code:n =
\@@_color:n { #1 }
\tl_set_rescan:Nnn
@@ -13021,12 +13113,12 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_lazy_or:nnTF
{ \tl_if_blank_p:n { #1 } }
- { \str_if_eq_p:nn { #1 } { * } }
+ { \str_if_eq_p:Vn \c_@@_star_str { #1 } }
{ \int_set:Nn \l_tmpa_int { 100 } }
{ \int_set:Nn \l_tmpa_int { #1 } }
\bool_lazy_or:nnTF
{ \tl_if_blank_p:n { #2 } }
- { \str_if_eq_p:nn { #2 } { * } }
+ { \str_if_eq_p:Vn \c_@@_star_str { #2 } }
{ \int_set:Nn \l_tmpb_int { 100 } }
{ \int_set:Nn \l_tmpb_int { #2 } }
% \end{macrocode}
@@ -13066,18 +13158,18 @@ version 2005/12/01 or later.
%
%
% \medskip
-% If the block is mono-column or mono-row, we have a special treatment. That's
-% why we have two macros: |\@@_Block_iv:nnnnn| and |\@@_Block_v:nnnnn| (the five
+% We have different treatments when the key |p| is used and when the block is
+% mono-column or mono-row, etc. That's why we have several macros:
+% |\@@_Block_iv:nnnnn|, |\@@_Block_v:nnnnn|, |\@@_Block_vi:nnnn|, etc. (the five
% arguments of those macros are provided by curryfication).
% \begin{macrocode}
- \bool_if:nTF
+ \bool_set_false:N \l_tmpa_bool
+ \bool_if:NT \l_@@_amp_in_blocks_bool
+ { \tl_if_in:nnT { #5 } { & } { \bool_set_true:N \l_tmpa_bool } }
+ \bool_case:nF
{
- (
- \int_compare_p:nNn \l_tmpa_int = \c_one_int
- ||
- \int_compare_p:nNn \l_tmpb_int = \c_one_int
- )
- && ! \tl_if_empty_p:n { #5 }
+ \l_tmpa_bool { \exp_args:Nee \@@_Block_vii:nnnnn }
+ \l_@@_p_block_bool { \exp_args:Nee \@@_Block_vi:nnnnn }
% \end{macrocode}
% For the blocks mono-column, we will compose right now in a box in order to
% compute its width and take that width into account for the width of the
@@ -13087,10 +13179,14 @@ version 2005/12/01 or later.
% column, it's imperative. Otherwise, the process for the determination of the
% widths of the columns will be wrong.
% \begin{macrocode}
- && ! \l_@@_X_bool
- }
- { \exp_args:Nee \@@_Block_iv:nnnnn }
- { \exp_args:Nee \@@_Block_v:nnnnn }
+ \l_@@_X_bool { \exp_args:Nee \@@_Block_v:nnnnn }
+ { \tl_if_empty_p:n { #5 } } { \exp_args:Nee \@@_Block_v:nnnnn }
+ { \int_compare_p:nNn \l_tmpa_int = \c_one_int }
+ { \exp_args:Nee \@@_Block_iv:nnnnn }
+ { \int_compare_p:nNn \l_tmpb_int = \c_one_int }
+ { \exp_args:Nee \@@_Block_iv:nnnnn }
+ }
+ { \exp_args:Nee \@@_Block_v:nnnnn }
{ \l_tmpa_int } { \l_tmpb_int } { #3 } { #4 } { #5 }
}
% \end{macrocode}
@@ -13098,12 +13194,13 @@ version 2005/12/01 or later.
%
% \bigskip
% The following macro is for the case of a |\Block| which is mono-row or
-% mono-column (or both). In that case, the content of the block is composed
-% right now in a box (because we have to take into account the dimensions of
-% that box for the width of the current column or the height and the depth of the
-% current row). However, that box will be put in the array \emph{after the
-% construction of the array} (by using \textsc{pgf}) with |\@@_draw_blocks:| and
-% above all |\@@_Block_v:nnnnnn| which will do the main job.
+% mono-column (or both) and don't use the key~|p|. In that case, the content of
+% the block is composed right now in a box (because we have to take into account
+% the dimensions of that box for the width of the current column or the height
+% and the depth of the current row). However, that box will be put in the array
+% \emph{after the construction of the array} (by using \textsc{pgf}) with
+% |\@@_draw_blocks:| and above all |\@@_Block_v:nnnnnn| which will do the main
+% job.
%
% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
@@ -13202,14 +13299,14 @@ version 2005/12/01 or later.
{ ! \g_@@_rotate_bool }
}
% \end{macrocode}
-% When the block is mono-column in a column with a fixed width (eg |p{3cm}|), we
+% When the block is mono-column in a column with a fixed width (e.g. |p{3cm}|), we
% use a |{minipage}|.
% \begin{macrocode}
{
\use:e
{
\exp_not:N \begin { minipage }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
+ [ \str_lowercase:o \l_@@_vpos_block_str ]
{ \l_@@_col_width_dim }
\str_case:on \l_@@_hpos_block_str
{ c \centering r \raggedleft l \raggedright }
@@ -13224,7 +13321,7 @@ version 2005/12/01 or later.
\use:e
{
\exp_not:N \begin { tabular }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
+ [ \str_lowercase:o \l_@@_vpos_block_str ]
{ @ { } \l_@@_hpos_block_str @ { } }
}
#5
@@ -13240,7 +13337,7 @@ version 2005/12/01 or later.
\use:e
{
\exp_not:N \begin { array }%
- [ \str_lowercase:V \l_@@_vpos_block_str ]
+ [ \str_lowercase:o \l_@@_vpos_block_str ]
{ @ { } \l_@@_hpos_block_str @ { } }
}
#5
@@ -13254,7 +13351,7 @@ version 2005/12/01 or later.
% \bigskip
% If there were |\rotate| (which raises |\g_@@_rotate_bool|) in the content of
% the |\Block|, we do a rotation of the box (and we also adjust the
-% baseline the rotated box).
+% baseline of the rotated box).
% \begin{macrocode}
\bool_if:NT \g_@@_rotate_bool \@@_rotate_box_of_block:
% \end{macrocode}
@@ -13275,37 +13372,36 @@ version 2005/12/01 or later.
}
}
% \end{macrocode}
-% If we are in a mono-row block and if that block has no vertical option for the
-% position\footnote{If the block has a key of a vertical position, that means
-% that it has to be put in a vertical space determined by the \emph{others}
-% cells of the row. Therefore there is no point creating space here. Moreover,
-% that would lead to problems when a multi-row block with a position key such as
-% |b| or |B|.}, we take into account the height and the depth of that block for the
-% height and the depth of the row.
+% If we are in a mono-row block we take into account the height and the depth of
+% that block for the height and the depth of the row, excepted when the block
+% uses explicitely an option of vertical position.
% \begin{macrocode}
- \str_if_eq:VnT \l_@@_vpos_block_str { c }
+ \bool_lazy_and:nnT
+ { \int_compare_p:nNn { #1 } = \c_one_int }
+% \end{macrocode}
+% If the user has not used a key for the vertical position of the block, then
+% |\l_@@_vpos_block_str| remains empty.
+% \begin{macrocode}
+ { \str_if_empty_p:N \l_@@_vpos_block_str }
{
- \int_compare:nNnT { #1 } = \c_one_int
+ \dim_gset:Nn \g_@@_blocks_ht_dim
{
- \dim_gset:Nn \g_@@_blocks_ht_dim
+ \dim_max:nn
+ \g_@@_blocks_ht_dim
{
- \dim_max:nn
- \g_@@_blocks_ht_dim
- {
- \box_ht:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- \dim_gset:Nn \g_@@_blocks_dp_dim
+ \box_ht:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
+ \dim_gset:Nn \g_@@_blocks_dp_dim
+ {
+ \dim_max:nn
+ \g_@@_blocks_dp_dim
{
- \dim_max:nn
- \g_@@_blocks_dp_dim
- {
- \box_dp:c
- { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
- }
- }
- }
+ \box_dp:c
+ { g_@@_ block _ box _ \int_use:N \g_@@_block_box_int _ box }
+ }
+ }
}
\seq_gput_right:Nx \g_@@_blocks_seq
{
@@ -13329,7 +13425,6 @@ version 2005/12/01 or later.
{ m }
{ \int_compare:nNnT \c@iRow = \l_@@_last_row_int T }
}
-
}
{
\box_use_drop:c
@@ -13340,6 +13435,8 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+%
+%
% \bigskip
% \begin{macrocode}
\cs_new:Npn \@@_adjust_hpos_rotate:
@@ -13398,10 +13495,10 @@ version 2005/12/01 or later.
%
% \bigskip
% The following macro is for the standard case, where the block is not mono-row
-% and not mono-column. In that case, the content of the block is \emph{not}
-% composed right now in a box. The composition in a box will be done further,
-% just after the construction of the array (cf. |\@@_draw_blocks:| and
-% above all |\@@_Block_v:nnnnnn|).
+% and not mono-column and does not use the key |p|). In that case, the content of
+% the block is \emph{not} composed right now in a box. The composition in a box
+% will be done further, just after the construction of the array (cf.
+% |\@@_draw_blocks:| and above all |\@@_Block_v:nnnnnn|).
%
% |#1| is $i$ (the number of rows of the block), |#2| is $j$ (the number of
% columns of the block), |#3| is the list of \textsl{key=values} pairs, |#4| are
@@ -13434,18 +13531,20 @@ version 2005/12/01 or later.
% the tabular is the same as the external alignment of the tabular (that is to
% say the position of the block in its zone of merged cells).
% \begin{macrocode}
- \use:e
- {
- \exp_not:N \begin { tabular } [ \l_@@_vpos_block_str ]
- { @ { } \l_@@_hpos_block_str @ { } }
- }
- #5
- \end { tabular }
+ \bool_if:NT \c_@@_testphase_table_bool
+ { \tag_stop:n { table } }
+ \use:e
+ {
+ \exp_not:N \begin { tabular } [ \l_@@_vpos_block_str ]
+ { @ { } \l_@@_hpos_block_str @ { } }
+ }
+ #5
+ \end { tabular }
}
\group_end:
}
% \end{macrocode}
-% When we are \emph{not} in an environments |{NiceTabular}| (or similar).
+% When we are \emph{not} in an environment |{NiceTabular}| (or similar).
% \begin{macrocode}
{
\group_begin:
@@ -13473,6 +13572,40 @@ version 2005/12/01 or later.
}
}
% \end{macrocode}
+%
+% \bigskip
+% The following macro is for the case of a |\Block| which uses the key~|p|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_vi:nnnnn #1 #2 #3 #4 #5
+ {
+ \seq_gput_right:Nx \g_@@_blocks_seq
+ {
+ \l_tmpa_tl
+ { \exp_not:n { #3 } }
+ {
+ \group_begin:
+ \exp_not:n { #4 #5 }
+ \group_end:
+ }
+ }
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
+% The following macro is for the case of a |\Block| which uses the key~|p|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_Block_vii:nnnnn #1 #2 #3 #4 #5
+ {
+ \seq_gput_right:Nx \g_@@_blocks_seq
+ {
+ \l_tmpa_tl
+ { \exp_not:n { #3 } }
+ { \exp_not:n { #4 #5 } }
+ }
+ }
+% \end{macrocode}
+%
%
% \bigskip
% We recall that the options of the command |\Block| are analyzed twice: first
@@ -13483,6 +13616,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / Block / SecondPass }
{
+ ampersand-in-blocks .bool_set:N = \l_@@_amp_in_blocks_bool ,
+ ampersand-in-blocks .default:n = true ,
+ &-in-blocks .meta:n = ampersand-in-blocks ,
tikz .code:n =
\IfPackageLoadedTF { tikz }
{ \seq_put_right:Nn \l_@@_tikz_seq { { #1 } } }
@@ -13523,6 +13659,8 @@ version 2005/12/01 or later.
% Some keys have not a property |.value_required:n| (or similar) because they
% are in |FirstPass|.
% \begin{macrocode}
+ j .code:n = \str_set:Nn \l_@@_hpos_block_str j
+ \bool_set_true:N \l_@@_p_block_bool ,
l .code:n = \str_set:Nn \l_@@_hpos_block_str l ,
r .code:n = \str_set:Nn \l_@@_hpos_block_str r ,
c .code:n = \str_set:Nn \l_@@_hpos_block_str c ,
@@ -13536,9 +13674,11 @@ version 2005/12/01 or later.
T .code:n = \str_set:Nn \l_@@_vpos_block_str T ,
b .code:n = \str_set:Nn \l_@@_vpos_block_str b ,
B .code:n = \str_set:Nn \l_@@_vpos_block_str B ,
- m .code:n = \str_set:Nn \l_@@_vpos_block_str { c } ,
+ m .code:n = \str_set:Nn \l_@@_vpos_block_str c ,
m .value_forbidden:n = true ,
v-center .meta:n = m ,
+ p .code:n = \bool_set_true:N \l_@@_p_block_bool ,
+ p .value_forbidden:n = true ,
name .tl_set:N = \l_@@_block_name_str ,
name .value_required:n = true ,
name .initial:n = ,
@@ -13610,10 +13750,22 @@ version 2005/12/01 or later.
{
\int_compare:nNnTF \l_@@_last_row_int > \g_@@_row_total_int
{ \msg_error:nnnn { nicematrix } { Block~too~large~1 } { #1 } { #2 } }
- { \@@_Block_v:nnnnnn { #1 } { #2 } { #3 } { #4 } { #5 } { #6 } }
+ {
+ \@@_Block_v:nnVVnn
+ { #1 }
+ { #2 }
+ \l_@@_last_row_int
+ \l_@@_last_col_int
+ { #5 }
+ { #6 }
+ }
}
}
% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_Block_v:nnnnnn { n n V V n n }
+% \end{macrocode}
%
%
% \medskip
@@ -13636,8 +13788,17 @@ version 2005/12/01 or later.
\keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
% \end{macrocode}
%
+%
+% If the content of the block contains |&|, we will have a special treatement
+% (since the cell must be divided in several sub-cells).
+% \begin{macrocode}
+ \tl_if_in:nnT { #6 } { & } { \bool_set_true:N \l_@@_ampersand_bool }
+% \end{macrocode}
+%
% \begin{macrocode}
- \bool_if:NT \l_@@_vlines_block_bool
+ \bool_lazy_and:nnT
+ \l_@@_vlines_block_bool
+ { ! \l_@@_ampersand_bool }
{
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
@@ -13768,11 +13929,6 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-% \medskip
-% \begin{macrocode}
- \hbox_set:Nn \l_@@_cell_box { \set@color #6 }
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
-% \end{macrocode}
%
% \bigskip
% Let's consider the following |{NiceTabular}|. Because of the instruction
@@ -13825,38 +13981,40 @@ version 2005/12/01 or later.
% The construction of the node corresponding to the merged cells.
% \begin{macrocode}
\pgfpicture
- \pgfrememberpicturepositiononpagetrue
- \pgf@relevantforpicturesizefalse
- \@@_qpoint:n { row - #1 }
- \dim_set_eq:NN \l_tmpa_dim \pgf@y
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- \@@_qpoint:n { row - \int_eval:n { \l_@@_last_row_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
- \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@y
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \@@_qpoint:n { row - \int_eval:n { \l_@@_last_row_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
% \end{macrocode}
%
+%
+%
% We construct the node for the block with the name |(#1-#2-block)|.
%
% The function |\@@_pgf_rect_node:nnnnn| takes in as arguments the name of the node
% and the four coordinates of two opposite corner points of the rectangle.
% \begin{macrocode}
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block }
- \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
- \str_if_empty:NF \l_@@_block_name_str
- {
- \pgfnodealias
- { \@@_env: - \l_@@_block_name_str }
- { \@@_env: - #1 - #2 - block }
- \str_if_empty:NF \l_@@_name_str
- {
- \pgfnodealias
- { \l_@@_name_str - \l_@@_block_name_str }
- { \@@_env: - #1 - #2 - block }
- }
- }
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block }
+ \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
+ \str_if_empty:NF \l_@@_block_name_str
+ {
+ \pgfnodealias
+ { \@@_env: - \l_@@_block_name_str }
+ { \@@_env: - #1 - #2 - block }
+ \str_if_empty:NF \l_@@_name_str
+ {
+ \pgfnodealias
+ { \l_@@_name_str - \l_@@_block_name_str }
+ { \@@_env: - #1 - #2 - block }
+ }
+ }
% \end{macrocode}
%
% \medskip
@@ -13867,64 +14025,64 @@ version 2005/12/01 or later.
% normal node is used to put the label.
%
% \begin{macrocode}
- \bool_if:NF \l_@@_hpos_of_block_cap_bool
- {
- \dim_set_eq:NN \l_tmpb_dim \c_max_dim
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool
+ {
+ \dim_set_eq:NN \l_tmpb_dim \c_max_dim
% \end{macrocode}
% The short node is constructed by taking into account the \emph{contents} of
% the columns involved in at least one cell of the block. That's why we have to
% do a loop over the rows of the array.
% \begin{macrocode}
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
% \end{macrocode}
% We recall that, when a cell is empty, no (normal) node is created in that
% cell. That's why we test the existence of the node before using it.
% \begin{macrocode}
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
- {
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
- \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
- }
- }
- }
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - #2 }
+ {
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor { \@@_env: - ##1 - #2 } { west }
+ \dim_set:Nn \l_tmpb_dim { \dim_min:nn \l_tmpb_dim \pgf@x }
+ }
+ }
+ }
% \end{macrocode}
% If all the cells of the column were empty, |\l_tmpb_dim| has still the same
% value |\c_max_dim|. In that case, you use for |\l_tmpb_dim| the value of the
% position of the vertical rule.
% \begin{macrocode}
- \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
- {
- \@@_qpoint:n { col - #2 }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
- }
- \dim_set:Nn \l_@@_tmpd_dim { - \c_max_dim }
- \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
- {
- \cs_if_exist:cT
- { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
- {
- \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
- {
- \pgfpointanchor
- { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
- { east }
- \dim_set:Nn \l_@@_tmpd_dim { \dim_max:nn \l_@@_tmpd_dim \pgf@x }
- }
- }
- }
- \dim_compare:nNnT \l_@@_tmpd_dim = { - \c_max_dim }
- {
- \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
- \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
- }
- \@@_pgf_rect_node:nnnnn
- { \@@_env: - #1 - #2 - block - short }
- \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
- }
+ \dim_compare:nNnT \l_tmpb_dim = \c_max_dim
+ {
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ }
+ \dim_set:Nn \l_@@_tmpd_dim { - \c_max_dim }
+ \int_step_inline:nnn \l_@@_first_row_int \g_@@_row_total_int
+ {
+ \cs_if_exist:cT
+ { pgf @ sh @ ns @ \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ {
+ \seq_if_in:NnF \g_@@_multicolumn_cells_seq { ##1 - #2 }
+ {
+ \pgfpointanchor
+ { \@@_env: - ##1 - \int_use:N \l_@@_last_col_int }
+ { east }
+ \dim_set:Nn \l_@@_tmpd_dim { \dim_max:nn \l_@@_tmpd_dim \pgf@x }
+ }
+ }
+ }
+ \dim_compare:nNnT \l_@@_tmpd_dim = { - \c_max_dim }
+ {
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@x
+ }
+ \@@_pgf_rect_node:nnnnn
+ { \@@_env: - #1 - #2 - block - short }
+ \l_tmpb_dim \l_tmpa_dim \l_@@_tmpd_dim \l_@@_tmpc_dim
+ }
% \end{macrocode}
%
% \medskip
@@ -13946,145 +14104,288 @@ version 2005/12/01 or later.
{ south~east }
}
}
+ \endpgfpicture
% \end{macrocode}
%
+% \bigskip
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_ampersand_bool
+ {
+ \seq_set_split:Nnn \l_tmpa_seq { & } { #6 }
+ \int_zero_new:N \l_@@_split_int
+ \int_set:Nn \l_@@_split_int { \seq_count:N \l_tmpa_seq }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \@@_qpoint:n { row - #1 }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \@@_qpoint:n { row - \int_eval:n { #3 + 1 } }
+ \dim_set_eq:NN \l_@@_tmpd_dim \pgf@y
+ \@@_qpoint:n { col - #2 }
+ \dim_set_eq:NN \l_tmpa_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { #4 + 1 } }
+ \dim_set:Nn \l_tmpb_dim
+ { ( \pgf@x - \l_tmpa_dim ) / \int_use:N \l_@@_split_int }
+ \bool_lazy_or:nnT
+ \l_@@_vlines_block_bool
+ { \tl_if_eq_p:NN \l_@@_vlines_clist \c_@@_all_tl }
+ {
+ \int_step_inline:nn { \l_@@_split_int - 1 }
+ {
+ \pgfpathmoveto
+ {
+ \pgfpoint
+ { \l_tmpa_dim + ##1 \l_tmpb_dim }
+ \l_@@_tmpc_dim
+ }
+ \pgfpathlineto
+ {
+ \pgfpoint
+ { \l_tmpa_dim + ##1 \l_tmpb_dim }
+ \l_@@_tmpd_dim
+ }
+ \CT@arc@
+ \pgfsetlinewidth { 1.1 \arrayrulewidth }
+ \pgfsetrectcap
+ \pgfusepathqstroke
+ }
+ }
+ \@@_qpoint:n { row - #1 - base }
+ \dim_set_eq:NN \l_@@_tmpc_dim \pgf@y
+ \int_step_inline:nn \l_@@_split_int
+ {
+ \group_begin:
+ \dim_set:Nn \col@sep
+ { \bool_if:NTF \l_@@_tabular_bool \tabcolsep \arraycolsep }
+ \pgftransformshift
+ {
+ \pgfpoint
+ {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ l { \l_tmpa_dim + ##1 \l_tmpb_dim - \l_tmpb_dim + \col@sep}
+ c { \l_tmpa_dim + ##1 \l_tmpb_dim - 0.5 \l_tmpb_dim }
+ r { \l_tmpa_dim + ##1 \l_tmpb_dim - \col@sep }
+ }
+ }
+ { \l_@@_tmpc_dim }
+ }
+ \pgfset
+ {
+ inner~xsep = \c_zero_dim ,
+ inner~ysep = \c_zero_dim
+ }
+ \pgfnode
+ { rectangle }
+ {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { base }
+ l { base~west }
+ r { base~east }
+ }
+ }
+ { \seq_item:Nn \l_tmpa_seq { ##1 } } { } { }
+ \group_end:
+ }
+ \endpgfpicture
+ }
+ {
+ \bool_if:NTF \l_@@_p_block_bool
+ {
+% \end{macrocode}
+% When the final user has used the key~|p|, we have to compute the width.
+% \begin{macrocode}
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_if:NTF \l_@@_hpos_of_block_cap_bool
+ {
+ \@@_qpoint:n { col - #2 }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@x
+ \@@_qpoint:n { col - \int_eval:n { \l_@@_last_col_int + 1 } }
+ }
+ {
+ \pgfpointanchor { \@@_env: - #1 - #2 - block - short } { west }
+ \dim_gset_eq:NN \g_tmpa_dim \pgf@x
+ \pgfpointanchor { \@@_env: - #1 - #2 - block - short } { east }
+ }
+ \dim_gset:Nn \g_tmpb_dim { \pgf@x - \g_tmpa_dim }
+ \endpgfpicture
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \begin { minipage } [ \str_lowercase:o \l_@@_vpos_block_str ]
+ { \g_tmpb_dim }
+ \str_case:on \l_@@_hpos_block_str
+ { c \centering r \raggedleft l \raggedright j { } }
+ #6
+ \end { minipage }
+ }
+ }
+ { \hbox_set:Nn \l_@@_cell_box { \set@color #6 } }
+ \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+% \end{macrocode}
%
-% \medskip
-% Now, we will put the label of the block.
+% \bigskip
+% Now, we will put the label of the block. We recall that |\l_@@_vpos_block_str|
+% is empty when the user has not used a key for the vertical position of the block.
% \begin{macrocode}
- \bool_lazy_any:nTF
- {
- { \str_if_eq_p:on \l_@@_vpos_block_str { c } }
- { \str_if_eq_p:on \l_@@_vpos_block_str { T } }
- { \str_if_eq_p:on \l_@@_vpos_block_str { B } }
- }
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgf@relevantforpicturesizefalse
+ \bool_lazy_any:nTF
+ {
+ { \str_if_empty_p:N \l_@@_vpos_block_str } % added 2024/06/29
+ { \str_if_eq_p:on \l_@@_vpos_block_str { c } }
+ { \str_if_eq_p:on \l_@@_vpos_block_str { T } }
+ { \str_if_eq_p:on \l_@@_vpos_block_str { B } }
+ }
% \end{macrocode}
% \medskip
% \begin{macrocode}
- {
+ {
% \end{macrocode}
% If we are in the first column, we must put the block as if it was with the key~|r|.
% \begin{macrocode}
- \int_if_zero:nT { #2 } { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_r_str }
+ \int_if_zero:nT { #2 } { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_r_str }
% \end{macrocode}
% If we are in the last column, we must put the block as if it was with the key~|l|.
% \begin{macrocode}
- \bool_if:nT \g_@@_last_col_found_bool
- {
- \int_compare:nNnT { #2 } = \g_@@_col_total_int
- { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_l_str }
- }
+ \bool_if:nT \g_@@_last_col_found_bool
+ {
+ \int_compare:nNnT { #2 } = \g_@@_col_total_int
+ { \str_set_eq:NN \l_@@_hpos_block_str \c_@@_l_str }
+ }
% \end{macrocode}
% |\l_tmpa_tl| will contain the anchor of the \textsc{pgf} node which will be used.
% \begin{macrocode}
- \tl_set:Nx \l_tmpa_tl
- {
- \str_case:on \l_@@_vpos_block_str
+ \tl_set:Nx \l_tmpa_tl
{
- c {
- \str_case:on \l_@@_hpos_block_str
- {
- c { center }
- l { west }
- r { east }
- }
+ \str_case:on \l_@@_vpos_block_str
+ {
+% \end{macrocode}
+% We recall that |\l_@@_vpos_block_str| is empty when the user has not used a key
+% for the vertical position of the block.
+% \begin{macrocode}
+ { } { % added 2024-06-29
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
+ }
+ c {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
- }
- T {
- \str_case:on \l_@@_hpos_block_str
- {
- c { north }
- l { north~west }
- r { north~east }
- }
+ }
+ T {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { north }
+ l { north~west }
+ r { north~east }
+ j { north }
+ }
- }
- B {
- \str_case:on \l_@@_hpos_block_str
- {
- c { south}
- l { south~west }
- r { south~east }
- }
+ }
+ B {
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { south }
+ l { south~west }
+ r { south~east }
+ j { south }
+ }
- }
+ }
+ }
}
- }
% \end{macrocode}
% \begin{macrocode}
- \pgftransformshift
- {
- \pgfpointanchor
- {
- \@@_env: - #1 - #2 - block
- \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
+ \pgftransformshift
+ {
+ \pgfpointanchor
+ {
+ \@@_env: - #1 - #2 - block
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
+ }
+ { \l_tmpa_tl }
}
+ \pgfset
+ {
+ inner~xsep = \c_zero_dim ,
+ inner~ysep = \c_zero_dim
+ }
+ \pgfnode
+ { rectangle }
{ \l_tmpa_tl }
- }
- \pgfset
- {
- inner~xsep = \c_zero_dim ,
- inner~ysep = \c_zero_dim
- }
- \pgfnode
- { rectangle }
- { \l_tmpa_tl }
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
% \end{macrocode}
% End of the case when |\l_@@_vpos_block_str| is equal to |c|, |T| or |B|.
% Now, the other cases.
% \begin{macrocode}
- {
+ {
% \end{macrocode}
%
% \begin{macrocode}
- \pgfextracty \l_tmpa_dim
- {
- \@@_qpoint:n
+ \pgfextracty \l_tmpa_dim
{
- row - \str_if_eq:onTF \l_@@_vpos_block_str { b } { #3 } { #1 }
- - base
+ \@@_qpoint:n
+ {
+ row - \str_if_eq:onTF \l_@@_vpos_block_str { b } { #3 } { #1 }
+ - base
+ }
}
- }
- \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
+ \dim_sub:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
% \end{macrocode}
% We retrieve (in |\pgf@x|) the $x$-value of the center of the block.
% \begin{macrocode}
- \pgfpointanchor
- {
- \@@_env: - #1 - #2 - block
- \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
- }
- {
- \str_case:on \l_@@_hpos_block_str
+ \pgfpointanchor
+ {
+ \@@_env: - #1 - #2 - block
+ \bool_if:NF \l_@@_hpos_of_block_cap_bool { - short }
+ }
{
- c { center }
- l { west }
- r { east }
- }
- }
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { center }
+ l { west }
+ r { east }
+ j { center }
+ }
+ }
% \end{macrocode}
% We put the label of the block which has been composed in |\l_@@_cell_box|.
% \begin{macrocode}
- \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
- \pgfset { inner~sep = \c_zero_dim }
- \pgfnode
- { rectangle }
- {
- \str_case:on \l_@@_hpos_block_str
+ \pgftransformshift { \pgfpoint \pgf@x \l_tmpa_dim }
+ \pgfset { inner~sep = \c_zero_dim }
+ \pgfnode
+ { rectangle }
{
- c { base }
- l { base~west }
- r { base~east }
+ \str_case:on \l_@@_hpos_block_str
+ {
+ c { base }
+ l { base~west }
+ r { base~east }
+ j { base }
+ }
}
- }
- { \box_use_drop:N \l_@@_cell_box } { } { }
- }
+ { \box_use_drop:N \l_@@_cell_box } { } { }
+ }
% \end{macrocode}
%
% \begin{macrocode}
- \endpgfpicture
+ \endpgfpicture
+ }
\group_end:
}
% \end{macrocode}
@@ -15425,6 +15726,7 @@ version 2005/12/01 or later.
{
\nullfont
\c_math_toggle_token
+ \colorlet { current-color } { . }
\@@_color:o \l_@@_delimiters_color_tl
\left .
\vcenter
@@ -15436,7 +15738,7 @@ version 2005/12/01 or later.
}
\right #1
\tl_if_empty:nF { #3 } { _ { \smash { #3 } } }
- ^ { \smash { #4 } }
+ ^ { \color { current-color } \smash { #4 } }
\c_math_toggle_token
}
{ #2 }
@@ -15474,9 +15776,12 @@ version 2005/12/01 or later.
{
left-shorten .bool_set:N = \l_@@_brace_left_shorten_bool ,
left-shorten .default:n = true ,
+ left-shorten .value_forbidden:n = true ,
right-shorten .bool_set:N = \l_@@_brace_right_shorten_bool ,
- shorten .meta:n = { left-shorten , right-shorten } ,
right-shorten .default:n = true ,
+ right-shorten .value_forbidden:n = true ,
+ shorten .meta:n = { left-shorten , right-shorten } ,
+ shorten .value_forbidden:n = true ,
yshift .dim_set:N = \l_@@_brace_yshift_dim ,
yshift .value_required:n = true ,
yshift .initial:n = \c_zero_dim ,
@@ -15764,9 +16069,9 @@ version 2005/12/01 or later.
% \begin{macrocode}
\NewDocumentCommand \@@_ShowCellNames_CodeBefore { }
{
- \dim_zero_new:N \g_@@_tmpc_dim
- \dim_zero_new:N \g_@@_tmpd_dim
- \dim_zero_new:N \g_@@_tmpe_dim
+ \dim_gzero_new:N \g_@@_tmpc_dim
+ \dim_gzero_new:N \g_@@_tmpd_dim
+ \dim_gzero_new:N \g_@@_tmpe_dim
\int_step_inline:nn \c@iRow
{
\begin { pgfpicture }
@@ -15850,9 +16155,9 @@ version 2005/12/01 or later.
\pgfusepathqfill
\endpgfpicture
}
- \dim_zero_new:N \g_@@_tmpc_dim
- \dim_zero_new:N \g_@@_tmpd_dim
- \dim_zero_new:N \g_@@_tmpe_dim
+ \dim_gzero_new:N \g_@@_tmpc_dim
+ \dim_gzero_new:N \g_@@_tmpd_dim
+ \dim_gzero_new:N \g_@@_tmpe_dim
\int_step_inline:nn \c@iRow
{
\bool_if:NTF \l_@@_in_code_after_bool
@@ -16207,7 +16512,7 @@ version 2005/12/01 or later.
~you~try~to~use~more~columns~than~allowed~by~your~
\@@_full_name_env:.\@@_message_hdotsfor:\ The~maximal~number~of~columns~is~
\int_use:N \g_@@_static_num_of_col_int\
- ~(plus~the~potential~exterior~ones).
+ ~(plus~the~potential~exterior~ones).~
This~error~is~fatal.
}
% \end{macrocode}
@@ -16224,6 +16529,15 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \begin{macrocode}
+\@@_msg_new:nn { empty~preamble }
+ {
+ Empty~preamble.\\
+ The~preamble~of~your~\@@_full_name_env:\ is~empty.\\
+ This~error~is~fatal.
+ }
+% \end{macrocode}
+%
%
% \begin{macrocode}
\@@_msg_new:nn { in~first~col }
@@ -16471,7 +16785,7 @@ version 2005/12/01 or later.
Incompatible~keys.\\
You~can't~use~the~keys~'hlines',~'vlines'~or~'hvlines'~for~a~
'\token_to_str:N \Block'~when~the~key~'color'~or~'draw'~is~used.\\
- Maybe~it~will~possible~in~future~version.\\
+ However,~you~can~put~several~commands~\token_to_str:N \Block.\\
Your~key~will~be~discarded.
}
% \end{macrocode}
@@ -16512,7 +16826,7 @@ version 2005/12/01 or later.
\@@_msg_new:nn { ragged2e~not~loaded }
{
You~have~to~load~'ragged2e'~in~order~to~use~the~key~'\l_keys_key_str'~in~
- your~column~'\l_@@_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:V
+ your~column~'\l_@@_vpos_col_str'~(or~'X').~The~key~'\str_lowercase:o
\l_keys_key_str'~will~be~used~instead.
}
% \end{macrocode}
@@ -16971,9 +17285,10 @@ version 2005/12/01 or later.
\c_@@_available_keys_str
}
{
- The~available~keys~are~(in~alphabetic~order):~b,~B,~borders,~c,~draw,~fill,~
- hlines,~hvlines,~l,~line-width,~name,~opacity,~rounded-corners,~r,~
- respect-arraystretch,~t,~T,~tikz,~transparent~and~vlines.
+ The~available~keys~are~(in~alphabetic~order):~&-in-blocks,~ampersand-in-blocks,~
+ b,~B,~borders,~c,~draw,~fill,~hlines,~hvlines,~l,~line-width,~name,~
+ opacity,~rounded-corners,~r,~respect-arraystretch,~t,~T,~tikz,~transparent~
+ and~vlines.
}
% \end{macrocode}
%
@@ -17107,7 +17422,9 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
allow-duplicate-names,~
+ ampersand-in-blocks,~
caption-above,~
cell-space-bottom-limit,~
cell-space-limits,~
@@ -17121,6 +17438,7 @@ version 2005/12/01 or later.
create-extra-nodes,~
create-medium-nodes,~
create-large-nodes,~
+ custom-line,~
delimiters~(several~subkeys),~
end-of-row,~
first-col,~
@@ -17164,6 +17482,8 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
@@ -17228,6 +17548,8 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
@@ -17291,6 +17613,8 @@ version 2005/12/01 or later.
}
{
The~available~keys~are~(in~alphabetic~order):~
+ &-in-blocks,~
+ ampersand-in-blocks,~
b,~
baseline,~
c,~
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.pdf b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
new file mode 100644
index 0000000000..fb046dc4c9
--- /dev/null
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
@@ -0,0 +1,52976 @@
+%PDF-1.5
+%
+4 0 obj
+<< /S /GoTo /D (section.0.1) >>
+endobj
+7 0 obj
+(\376\377\0001\000\040\000D\000e\000c\000l\000a\000r\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000a\000n\000d\000\040\000p\000a\000c\000k\000a\000g\000e\000s\000\040\000l\000o\000a\000d\000e\000d)
+
+endobj
+8 0 obj
+<< /S /GoTo /D (section.0.2) >>
+endobj
+11 0 obj
+(\376\377\0002\000\040\000S\000e\000c\000u\000r\000i\000t\000y\000\040\000t\000e\000s\000t)
+
+endobj
+12 0 obj
+<< /S /GoTo /D (section.0.3) >>
+endobj
+15 0 obj
+(\376\377\0003\000\040\000C\000o\000l\000l\000e\000c\000t\000i\000n\000g\000\040\000o\000p\000t\000i\000o\000n\000s)
+
+endobj
+16 0 obj
+<< /S /GoTo /D (section.0.4) >>
+endobj
+19 0 obj
+(\376\377\0004\000\040\000T\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
+
+endobj
+20 0 obj
+<< /S /GoTo /D (section.0.5) >>
+endobj
+23 0 obj
+(\376\377\0005\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s)
+
+endobj
+24 0 obj
+<< /S /GoTo /D (section.0.6) >>
+endobj
+27 0 obj
+(\376\377\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000t\000a\000b\000u\000l\000a\000r\000n\000o\000t\000e)
+
+endobj
+28 0 obj
+<< /S /GoTo /D (section.0.7) >>
+endobj
+31 0 obj
+(\376\377\0007\000\040\000C\000o\000m\000m\000a\000n\000d\000\040\000f\000o\000r\000\040\000c\000r\000e\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000r\000e\000c\000t\000a\000n\000g\000l\000e\000\040\000n\000o\000d\000e\000s)
+
+endobj
+32 0 obj
+<< /S /GoTo /D (section.0.8) >>
+endobj
+35 0 obj
+(\376\377\0008\000\040\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000s)
+
+endobj
+36 0 obj
+<< /S /GoTo /D (section.0.9) >>
+endobj
+39 0 obj
+(\376\377\0009\000\040\000I\000m\000p\000o\000r\000t\000a\000n\000t\000\040\000c\000o\000d\000e\000\040\000u\000s\000e\000d\000\040\000b\000y\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175\000\040)
+
+endobj
+40 0 obj
+<< /S /GoTo /D (section.0.10) >>
+endobj
+43 0 obj
+(\376\377\0001\0000\000\040\000T\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
+
+endobj
+44 0 obj
+<< /S /GoTo /D (section.0.11) >>
+endobj
+47 0 obj
+(\376\377\0001\0001\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
+
+endobj
+48 0 obj
+<< /S /GoTo /D (section.0.12) >>
+endobj
+51 0 obj
+(\376\377\0001\0002\000\040\000W\000e\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000a\000r\000r\000a\000y)
+
+endobj
+52 0 obj
+<< /S /GoTo /D (section.0.13) >>
+endobj
+55 0 obj
+(\376\377\0001\0003\000\040\000T\000h\000e\000\040\000r\000e\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000\134\000m\000u\000l\000t\000i\000c\000o\000l\000u\000m\000n)
+
+endobj
+56 0 obj
+<< /S /GoTo /D (section.0.14) >>
+endobj
+59 0 obj
+(\376\377\0001\0004\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175\000\040\000a\000n\000d\000\040\000i\000t\000s\000\040\000v\000a\000r\000i\000a\000n\000t\000s)
+
+endobj
+60 0 obj
+<< /S /GoTo /D (section.0.15) >>
+endobj
+63 0 obj
+(\376\377\0001\0005\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000,\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000X\000\175\000\040\000a\000n\000d\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000*\000\175)
+
+endobj
+64 0 obj
+<< /S /GoTo /D (section.0.16) >>
+endobj
+67 0 obj
+(\376\377\0001\0006\000\040\000A\000f\000t\000e\000r\000\040\000t\000h\000e\000\040\000c\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000a\000r\000r\000a\000y)
+
+endobj
+68 0 obj
+<< /S /GoTo /D (section.0.17) >>
+endobj
+71 0 obj
+(\376\377\0001\0007\000\040\000W\000e\000\040\000d\000r\000a\000w\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
+
+endobj
+72 0 obj
+<< /S /GoTo /D (section.0.18) >>
+endobj
+75 0 obj
+(\376\377\0001\0008\000\040\000T\000h\000e\000\040\000a\000c\000t\000u\000a\000l\000\040\000i\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n\000s\000\040\000f\000o\000r\000\040\000d\000r\000a\000w\000i\000n\000g\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000w\000i\000t\000h\000\040\000T\000i\000k\000z)
+
+endobj
+76 0 obj
+<< /S /GoTo /D (section.0.19) >>
+endobj
+79 0 obj
+(\376\377\0001\0009\000\040\000U\000s\000e\000r\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000v\000a\000i\000l\000a\000b\000l\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000n\000e\000w\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
+
+endobj
+80 0 obj
+<< /S /GoTo /D (section.0.20) >>
+endobj
+83 0 obj
+(\376\377\0002\0000\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000l\000i\000n\000e\000\040\000a\000c\000c\000e\000s\000s\000i\000b\000l\000e\000\040\000i\000n\000\040\000c\000o\000d\000e\000-\000a\000f\000t\000e\000r)
+
+endobj
+84 0 obj
+<< /S /GoTo /D (section.0.21) >>
+endobj
+87 0 obj
+(\376\377\0002\0001\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
+
+endobj
+88 0 obj
+<< /S /GoTo /D (section.0.22) >>
+endobj
+91 0 obj
+(\376\377\0002\0002\000\040\000C\000o\000l\000o\000r\000s\000\040\000o\000f\000\040\000c\000e\000l\000l\000s\000,\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
+
+endobj
+92 0 obj
+<< /S /GoTo /D (section.0.23) >>
+endobj
+95 0 obj
+(\376\377\0002\0003\000\040\000T\000h\000e\000\040\000v\000e\000r\000t\000i\000c\000a\000l\000\040\000a\000n\000d\000\040\000h\000o\000r\000i\000z\000o\000n\000t\000a\000l\000\040\000r\000u\000l\000e\000s)
+
+endobj
+96 0 obj
+<< /S /GoTo /D (section.0.24) >>
+endobj
+99 0 obj
+(\376\377\0002\0004\000\040\000T\000h\000e\000\040\000e\000m\000p\000t\000y\000\040\000c\000o\000r\000n\000e\000r\000s)
+
+endobj
+100 0 obj
+<< /S /GoTo /D (section.0.25) >>
+endobj
+103 0 obj
+(\376\377\0002\0005\000\040\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000B\000l\000o\000c\000k\000\175)
+
+endobj
+104 0 obj
+<< /S /GoTo /D (section.0.26) >>
+endobj
+107 0 obj
+(\376\377\0002\0006\000\040\000T\000h\000e\000\040\000e\000x\000t\000r\000a\000\040\000n\000o\000d\000e\000s)
+
+endobj
+108 0 obj
+<< /S /GoTo /D (section.0.27) >>
+endobj
+111 0 obj
+(\376\377\0002\0007\000\040\000T\000h\000e\000\040\000b\000l\000o\000c\000k\000s)
+
+endobj
+112 0 obj
+<< /S /GoTo /D (section.0.28) >>
+endobj
+115 0 obj
+(\376\377\0002\0008\000\040\000H\000o\000w\000\040\000t\000o\000\040\000d\000r\000a\000w\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000l\000y)
+
+endobj
+116 0 obj
+<< /S /GoTo /D (section.0.29) >>
+endobj
+119 0 obj
+(\376\377\0002\0009\000\040\000A\000u\000t\000o\000m\000a\000t\000i\000c\000\040\000a\000r\000r\000a\000y\000s)
+
+endobj
+120 0 obj
+<< /S /GoTo /D (section.0.30) >>
+endobj
+123 0 obj
+(\376\377\0003\0000\000\040\000T\000h\000e\000\040\000r\000e\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000o\000t\000f\000i\000l\000l\000\040)
+
+endobj
+124 0 obj
+<< /S /GoTo /D (section.0.31) >>
+endobj
+127 0 obj
+(\376\377\0003\0001\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
+
+endobj
+128 0 obj
+<< /S /GoTo /D (section.0.32) >>
+endobj
+131 0 obj
+(\376\377\0003\0002\000\040\000T\000h\000e\000\040\000k\000e\000y\000w\000o\000r\000d\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+
+endobj
+132 0 obj
+<< /S /GoTo /D (section.0.33) >>
+endobj
+135 0 obj
+(\376\377\0003\0003\000\040\000T\000h\000e\000\040\000d\000e\000l\000i\000m\000i\000t\000e\000r\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e)
+
+endobj
+136 0 obj
+<< /S /GoTo /D (section.0.34) >>
+endobj
+139 0 obj
+(\376\377\0003\0004\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
+
+endobj
+140 0 obj
+<< /S /GoTo /D (section.0.35) >>
+endobj
+143 0 obj
+(\376\377\0003\0005\000\040\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000e\000t\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e)
+
+endobj
+144 0 obj
+<< /S /GoTo /D (section.0.36) >>
+endobj
+147 0 obj
+(\376\377\0003\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l)
+
+endobj
+148 0 obj
+<< /S /GoTo /D (section.0.37) >>
+endobj
+151 0 obj
+(\376\377\0003\0007\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
+
+endobj
+152 0 obj
+<< /S /GoTo /D (section.0.38) >>
+endobj
+155 0 obj
+(\376\377\0003\0008\000\040\000W\000e\000\040\000p\000r\000o\000c\000e\000s\000s\000\040\000t\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000s\000\040\000a\000t\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000l\000o\000a\000d\000i\000n\000g)
+
+endobj
+156 0 obj
+<< /S /GoTo /D (section.0.39) >>
+endobj
+159 0 obj
+(\376\377\0003\0009\000\040\000A\000b\000o\000u\000t\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000u\000n\000d\000e\000r\000s\000c\000o\000r\000e)
+
+endobj
+160 0 obj
+<< /S /GoTo /D (section.0.40) >>
+endobj
+163 0 obj
+(\376\377\0004\0000\000\040\000E\000r\000r\000o\000r\000\040\000m\000e\000s\000s\000a\000g\000e\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
+
+endobj
+164 0 obj
+<< /S /GoTo /D (toc1.1) >>
+endobj
+167 0 obj
+(\376\377\000C\000o\000n\000t\000e\000n\000t\000s)
+
+endobj
+168 0 obj
+<< /S /GoTo /D [ 169 0 R /FitBH 771.02165 ] >>
+endobj
+171 0 obj
+<< /Filter /FlateDecode /Length 2073 >>
+stream
+xڝY[ۺ~_j,;-ͦ 6m kӶ[`EkFyH%97ofd-3?ï<2=\"#
+Q"8Ϧ338#0&&*SIM7ٯte/&>2?i^/³[ŁS3K{#cLʙݘ){a
+!
+lD7Sw9$FL'*Pn\bl73^I 4D$C p ϝ;|psanl;;w<? ?OXKKci~]愂G#~q}tT;}
+6vYB~_
+ɦliѬ3dcfMN֦Y]75fʮnrQv'xy}bCQ6miB:1,ɐ& w.3s=mIHT{&C2ob:ޭiz <ݭ]P{^K>XXH@n30.;H~%W)m˛u\Ey'vʡ8W $0p͛zp+A
+#2f:y&ERwCՙT* ?i # d2+ KTCL*Qc×S)$teߕlf.6hDW %ԶČ~Ⱥ6-ct\ R`ցIrlkʮ4=I~zگlb0[qь7>HјبJ1#؇_wGAJ:HET5 HXC"}g7B y$%9
+C"d(vp<ֱ͑Vp E8nmP.+.^2}|WL5su"7McZcQee=?LoRc$!:zEh79+rڴ&̄n F2]<9ʹ~Mu\?' $zK0f,=$ 32+\F :aW7>/ #):eVOl)?G{}q_aD9x>i!+ptvLmc0&at~?Dxړ(&1?TMjȐ>
+ W\
+endstream
+endobj
+169 0 obj
+<< /Type /Page /Contents 171 0 R /Resources 170 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+172 0 obj
+<< /D [ 169 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+173 0 obj
+<< /D [ 169 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+5 0 obj
+<< /D [ 169 0 R /XYZ 79.37 516.661 null ] >>
+endobj
+188 0 obj
+<< /D [ 169 0 R /XYZ 77.103 376.109 null ] >>
+endobj
+190 0 obj
+<< /D [ 169 0 R /XYZ 77.103 365.15 null ] >>
+endobj
+191 0 obj
+<< /D [ 169 0 R /XYZ 77.103 336.492 null ] >>
+endobj
+192 0 obj
+<< /D [ 169 0 R /XYZ 77.103 325.533 null ] >>
+endobj
+193 0 obj
+<< /D [ 169 0 R /XYZ 77.103 314.574 null ] >>
+endobj
+194 0 obj
+<< /D [ 169 0 R /XYZ 77.103 303.615 null ] >>
+endobj
+195 0 obj
+<< /D [ 169 0 R /XYZ 77.103 292.656 null ] >>
+endobj
+196 0 obj
+<< /D [ 169 0 R /XYZ 77.103 281.697 null ] >>
+endobj
+197 0 obj
+<< /D [ 169 0 R /XYZ 77.103 216.232 null ] >>
+endobj
+198 0 obj
+<< /D [ 169 0 R /XYZ 78.427 184.289 null ] >>
+endobj
+199 0 obj
+<< /D [ 169 0 R /XYZ 78.427 153.755 null ] >>
+endobj
+200 0 obj
+<< /D [ 169 0 R /XYZ 78.427 142.796 null ] >>
+endobj
+201 0 obj
+<< /D [ 169 0 R /XYZ 78.427 131.837 null ] >>
+endobj
+202 0 obj
+<< /D [ 169 0 R /XYZ 78.427 120.879 null ] >>
+endobj
+203 0 obj
+<< /D [ 169 0 R /XYZ 78.427 109.92 null ] >>
+endobj
+170 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F39 174 0 R /F40 175 0 R /F46 176 0 R /F51 177 0 R /F62 178 0 R /F66 179 0 R /F65 180 0 R /F67 181 0 R /F68 182 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R /F72 187 0 R /F73 189 0 R /F57 204 0 R /F63 205 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+209 0 obj
+<< /Filter /FlateDecode /Length 1990 >>
+stream
+xڵZ]۸}_aXT0> X٢/Ʀ=jeɕLg/m8 $<N</72m_npʙbyƥ-73>9,M8>[lgxr}OY$㯡T˾hs,?;-XO麶cٗcնRʦZm9tc4s$ux,dJ"9^E욪ټBP>DeθH4#B)yy9߇I4P1ˮ*apQ2odS&vf`
+%-7V}*NH$IDЫˡ_q<{IS$)($(eC3SLiJ)* x"pYDM Ls&YLq N:H#զ\EY=ڒ[YzkҨtUk?~kvpmU/}U{6ms~%vBNOq5Ó B Y'tfJk`4Ul-2
+m{s/t=؋,gۭ\8 Lsa۶÷Y,h6v"d-=t0mG,~87 J2I*G='O}8ܚQ1+ym'W>~?mK_+;Λtl€Iδe~7Wd_?;eBKdy؍ D+fgu\-WwC5v~5T!s)TMPTKP}3 `
+BVadŕɀhk'mZvp}
+}
+۞j/*@Wz ^ᢿq| WTVOaJ&(EF#=Ş'XJOMC'ew5fym&ǣ%΢[ d Xj=ٷereO!ϪݛO6׾ߗu:'-Or\]۸V8ZfO$rɤ-HV$Vj<989ZH#ϲL$7q^٪^>$&*Y`IJiP:Z,)=`'(9:s7-ly0"нKE_WJMW1
+[$.h`_3أؕvp8 CP/})(LͲ#~<;*+*(#NR0\ zWޮ/+<cݏӁD
+endstream
+endobj
+208 0 obj
+<< /Type /Page /Contents 209 0 R /Resources 207 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+210 0 obj
+<< /D [ 208 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+211 0 obj
+<< /D [ 208 0 R /XYZ 78.427 768.832 null ] >>
+endobj
+212 0 obj
+<< /D [ 208 0 R /XYZ 78.427 757.873 null ] >>
+endobj
+213 0 obj
+<< /D [ 208 0 R /XYZ 78.427 746.914 null ] >>
+endobj
+214 0 obj
+<< /D [ 208 0 R /XYZ 78.427 735.955 null ] >>
+endobj
+215 0 obj
+<< /D [ 208 0 R /XYZ 78.427 724.996 null ] >>
+endobj
+216 0 obj
+<< /D [ 208 0 R /XYZ 78.427 714.037 null ] >>
+endobj
+217 0 obj
+<< /D [ 208 0 R /XYZ 78.427 703.078 null ] >>
+endobj
+218 0 obj
+<< /D [ 208 0 R /XYZ 78.427 692.119 null ] >>
+endobj
+219 0 obj
+<< /D [ 208 0 R /XYZ 78.427 625.37 null ] >>
+endobj
+220 0 obj
+<< /D [ 208 0 R /XYZ 78.427 614.411 null ] >>
+endobj
+221 0 obj
+<< /D [ 208 0 R /XYZ 78.427 603.452 null ] >>
+endobj
+222 0 obj
+<< /D [ 208 0 R /XYZ 78.427 592.493 null ] >>
+endobj
+223 0 obj
+<< /D [ 208 0 R /XYZ 78.427 581.534 null ] >>
+endobj
+224 0 obj
+<< /D [ 208 0 R /XYZ 78.427 570.575 null ] >>
+endobj
+225 0 obj
+<< /D [ 208 0 R /XYZ 78.427 517.773 null ] >>
+endobj
+226 0 obj
+<< /D [ 208 0 R /XYZ 78.427 506.814 null ] >>
+endobj
+227 0 obj
+<< /D [ 208 0 R /XYZ 78.427 465.967 null ] >>
+endobj
+228 0 obj
+<< /D [ 208 0 R /XYZ 78.427 455.009 null ] >>
+endobj
+229 0 obj
+<< /D [ 208 0 R /XYZ 78.427 444.05 null ] >>
+endobj
+230 0 obj
+<< /D [ 208 0 R /XYZ 78.427 433.091 null ] >>
+endobj
+231 0 obj
+<< /D [ 208 0 R /XYZ 78.427 422.132 null ] >>
+endobj
+232 0 obj
+<< /D [ 208 0 R /XYZ 78.427 411.173 null ] >>
+endobj
+233 0 obj
+<< /D [ 208 0 R /XYZ 78.427 380.289 null ] >>
+endobj
+234 0 obj
+<< /D [ 208 0 R /XYZ 78.427 369.33 null ] >>
+endobj
+235 0 obj
+<< /D [ 208 0 R /XYZ 78.427 358.371 null ] >>
+endobj
+236 0 obj
+<< /D [ 208 0 R /XYZ 78.427 347.412 null ] >>
+endobj
+237 0 obj
+<< /D [ 208 0 R /XYZ 78.427 336.453 null ] >>
+endobj
+238 0 obj
+<< /D [ 208 0 R /XYZ 78.427 325.494 null ] >>
+endobj
+239 0 obj
+<< /D [ 208 0 R /XYZ 78.427 314.535 null ] >>
+endobj
+240 0 obj
+<< /D [ 208 0 R /XYZ 78.427 303.576 null ] >>
+endobj
+241 0 obj
+<< /D [ 208 0 R /XYZ 78.427 292.618 null ] >>
+endobj
+242 0 obj
+<< /D [ 208 0 R /XYZ 78.427 281.659 null ] >>
+endobj
+243 0 obj
+<< /D [ 208 0 R /XYZ 78.427 270.7 null ] >>
+endobj
+244 0 obj
+<< /D [ 208 0 R /XYZ 78.427 259.741 null ] >>
+endobj
+245 0 obj
+<< /D [ 208 0 R /XYZ 78.427 248.782 null ] >>
+endobj
+246 0 obj
+<< /D [ 208 0 R /XYZ 78.427 237.823 null ] >>
+endobj
+247 0 obj
+<< /D [ 208 0 R /XYZ 78.427 226.864 null ] >>
+endobj
+248 0 obj
+<< /D [ 208 0 R /XYZ 78.427 215.905 null ] >>
+endobj
+249 0 obj
+<< /D [ 208 0 R /XYZ 78.427 204.946 null ] >>
+endobj
+250 0 obj
+<< /D [ 208 0 R /XYZ 78.427 193.987 null ] >>
+endobj
+251 0 obj
+<< /D [ 208 0 R /XYZ 78.427 183.028 null ] >>
+endobj
+252 0 obj
+<< /D [ 208 0 R /XYZ 78.427 140.189 null ] >>
+endobj
+253 0 obj
+<< /D [ 208 0 R /XYZ 78.427 129.23 null ] >>
+endobj
+9 0 obj
+<< /D [ 208 0 R /XYZ 79.37 104.523 null ] >>
+endobj
+207 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+256 0 obj
+<< /Filter /FlateDecode /Length 2385 >>
+stream
+xZ[o~ϯP+sSPM Th,Jd)T0{\(qdCB73f~~\2{$#efwn$#<Q9\!&h>&?f;aqB:|P̈́qrG%7YXOX4҂vE HRʿ>/
+LtF*솥0PQR8oREi⌅ Qe؄8՗9wXWE8*A޹K6J},JMles_I E|U|Mxܧ abW5GSXncSe!,G$<PUѲFVt=Tz$EĠoc@BBFc|d1ţ߆XM0=k_q R"Vv?J00y
+_1e?΍n|=7a=NP
+,|iByqkw<izUPV?Q>ܵ_#G8M+ͤ
+ze'l8'!r҆260u2$.e\o|z3Јh/! {HKy0ם+3C uk:4"]9VH>-6
+mc{̏+paߺg 5yY
+jRoUR#8桦%!۴sV
+(-U?sPdޢ&6iʨM7NiXs(".]іAgcAm?Y;M? .Μ
+ڦ *Am*B9?yu(0Wi۔miĹqcMnw0HnҼxntOV3eO[SE0vfż)uSMlbX8X;ՙϿߋ4uY\s,s"JF1c  _Gw ioiL1xrOm:5q`D%Or:V x<:V2AQ/ci({(3L1D
+.c+4qK 3UBGAE vfӎ^-&R $qEFW/ ehf94U7L=xۙ}o2cUN`WXX¡Z"FH$:l5g|/OgGx ! ~7S Y}z=n|NA1)C8P;[y[vDoZ0ZENtR{q6X%1@Mxe0s4l v<b psX
+01߂T&0^x(hT9h'J8bw#SmV}ɣ,kѿ݅D-H$ۨ>`Mf ]DT^)F  Rqd&Iұc>!@'qYӃF0ItjW'} h
+Sf8\11If7/Xyn\-HaP9C}U!}Y>7C3_lZ\uZd0Gv>CVZ{rXy VUK>6_nkeTSƙ׿SoI:x6hHn3U=!^3Ie"(
+l\j'Iˋ?9mzicDE^N^%HK<!u?
+
+endstream
+endobj
+255 0 obj
+<< /Type /Page /Contents 256 0 R /Resources 254 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+257 0 obj
+<< /D [ 255 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+258 0 obj
+<< /D [ 255 0 R /XYZ 78.427 623.082 null ] >>
+endobj
+259 0 obj
+<< /D [ 255 0 R /XYZ 78.427 612.123 null ] >>
+endobj
+260 0 obj
+<< /D [ 255 0 R /XYZ 78.427 601.164 null ] >>
+endobj
+261 0 obj
+<< /D [ 255 0 R /XYZ 78.427 590.206 null ] >>
+endobj
+262 0 obj
+<< /D [ 255 0 R /XYZ 78.427 579.247 null ] >>
+endobj
+263 0 obj
+<< /D [ 255 0 R /XYZ 78.427 568.288 null ] >>
+endobj
+265 0 obj
+<< /D [ 255 0 R /XYZ 78.427 557.329 null ] >>
+endobj
+266 0 obj
+<< /D [ 255 0 R /XYZ 78.427 546.37 null ] >>
+endobj
+267 0 obj
+<< /D [ 255 0 R /XYZ 78.427 535.411 null ] >>
+endobj
+268 0 obj
+<< /D [ 255 0 R /XYZ 78.427 503.18 null ] >>
+endobj
+269 0 obj
+<< /D [ 255 0 R /XYZ 78.427 492.222 null ] >>
+endobj
+270 0 obj
+<< /D [ 255 0 R /XYZ 78.427 481.263 null ] >>
+endobj
+271 0 obj
+<< /D [ 255 0 R /XYZ 78.427 470.304 null ] >>
+endobj
+272 0 obj
+<< /D [ 255 0 R /XYZ 78.427 459.345 null ] >>
+endobj
+273 0 obj
+<< /D [ 255 0 R /XYZ 78.427 427.114 null ] >>
+endobj
+274 0 obj
+<< /D [ 255 0 R /XYZ 78.427 416.155 null ] >>
+endobj
+275 0 obj
+<< /D [ 255 0 R /XYZ 78.427 405.196 null ] >>
+endobj
+276 0 obj
+<< /D [ 255 0 R /XYZ 78.427 394.237 null ] >>
+endobj
+277 0 obj
+<< /D [ 255 0 R /XYZ 78.427 383.279 null ] >>
+endobj
+278 0 obj
+<< /D [ 255 0 R /XYZ 78.427 372.32 null ] >>
+endobj
+279 0 obj
+<< /D [ 255 0 R /XYZ 78.427 361.361 null ] >>
+endobj
+280 0 obj
+<< /D [ 255 0 R /XYZ 78.427 329.13 null ] >>
+endobj
+281 0 obj
+<< /D [ 255 0 R /XYZ 78.427 318.171 null ] >>
+endobj
+282 0 obj
+<< /D [ 255 0 R /XYZ 78.427 307.212 null ] >>
+endobj
+283 0 obj
+<< /D [ 255 0 R /XYZ 78.427 296.253 null ] >>
+endobj
+284 0 obj
+<< /D [ 255 0 R /XYZ 78.427 285.295 null ] >>
+endobj
+285 0 obj
+<< /D [ 255 0 R /XYZ 78.427 274.336 null ] >>
+endobj
+286 0 obj
+<< /D [ 255 0 R /XYZ 78.427 263.377 null ] >>
+endobj
+287 0 obj
+<< /D [ 255 0 R /XYZ 78.427 252.418 null ] >>
+endobj
+288 0 obj
+<< /D [ 255 0 R /XYZ 78.427 241.459 null ] >>
+endobj
+289 0 obj
+<< /D [ 255 0 R /XYZ 78.427 230.5 null ] >>
+endobj
+290 0 obj
+<< /D [ 255 0 R /XYZ 78.427 219.541 null ] >>
+endobj
+291 0 obj
+<< /D [ 255 0 R /XYZ 78.427 208.582 null ] >>
+endobj
+292 0 obj
+<< /D [ 255 0 R /XYZ 78.427 197.623 null ] >>
+endobj
+293 0 obj
+<< /D [ 255 0 R /XYZ 78.427 186.664 null ] >>
+endobj
+294 0 obj
+<< /D [ 255 0 R /XYZ 78.427 175.705 null ] >>
+endobj
+295 0 obj
+<< /D [ 255 0 R /XYZ 78.427 133.431 null ] >>
+endobj
+296 0 obj
+<< /D [ 255 0 R /XYZ 78.427 122.473 null ] >>
+endobj
+297 0 obj
+<< /D [ 255 0 R /XYZ 78.427 111.514 null ] >>
+endobj
+298 0 obj
+<< /D [ 255 0 R /XYZ 78.427 100.555 null ] >>
+endobj
+299 0 obj
+<< /D [ 255 0 R /XYZ 78.427 89.596 null ] >>
+endobj
+300 0 obj
+<< /D [ 255 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+254 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F74 264 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+303 0 obj
+<< /Filter /FlateDecode /Length 1762 >>
+stream
+xڭYMo8W(IYn
+!'{HCĨ,{eylCTDQ̴Dyn %_>O>^I:`H+L`8R2l Fjp3 Njx%@!-U],fPdo iBT SvWw,[h&T#̨gBOc"$Bar?[?Ly=.Ga1Wt
+_E#
+a<9v9)!2ǯ6pofZ $ X<KvEZW<4|vղ~< .3N\q\%[piG#HJF
+ƃy9[Xn!ʴ禢3
+7ejX˰ʭ =n
+X3>MBE f6.9*H7}2;/GaiuMۄipm,
+Apj 1YnjS OkԡfNOnp>-\jtSv[j fc8!9鵥jzM
+MmQ,*
+$H8#EMg\?`hA]?֙QK^?(`Hu5791EyD{nkq*mmI S{sMmF餞#ta<.$8T9AnS/B1E9P24]
+}6L>AAaA-~j)9M!ZB.t9)|8`Bb4/?]0yKSYDMh"D ;_ 3 wӿ*A\M⊎
+ufO4IQ`߹n6
+I5 v
+#Go6;dҐjIQm|϶8d[Mhb& FZccd"b
+endstream
+endobj
+302 0 obj
+<< /Type /Page /Contents 303 0 R /Resources 301 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+304 0 obj
+<< /D [ 302 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+305 0 obj
+<< /D [ 302 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+306 0 obj
+<< /D [ 302 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+307 0 obj
+<< /D [ 302 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+308 0 obj
+<< /D [ 302 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+309 0 obj
+<< /D [ 302 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+310 0 obj
+<< /D [ 302 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+311 0 obj
+<< /D [ 302 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+312 0 obj
+<< /D [ 302 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+313 0 obj
+<< /D [ 302 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+314 0 obj
+<< /D [ 302 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+315 0 obj
+<< /D [ 302 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+316 0 obj
+<< /D [ 302 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+13 0 obj
+<< /D [ 302 0 R /XYZ 79.37 625.133 null ] >>
+endobj
+319 0 obj
+<< /D [ 302 0 R /XYZ 79.752 436.219 null ] >>
+endobj
+320 0 obj
+<< /D [ 302 0 R /XYZ 79.752 425.26 null ] >>
+endobj
+321 0 obj
+<< /D [ 302 0 R /XYZ 79.752 414.301 null ] >>
+endobj
+322 0 obj
+<< /D [ 302 0 R /XYZ 79.752 403.342 null ] >>
+endobj
+323 0 obj
+<< /D [ 302 0 R /XYZ 79.752 392.383 null ] >>
+endobj
+324 0 obj
+<< /D [ 302 0 R /XYZ 79.752 381.424 null ] >>
+endobj
+325 0 obj
+<< /D [ 302 0 R /XYZ 79.752 327.065 null ] >>
+endobj
+326 0 obj
+<< /D [ 302 0 R /XYZ 79.752 316.106 null ] >>
+endobj
+327 0 obj
+<< /D [ 302 0 R /XYZ 79.752 305.147 null ] >>
+endobj
+328 0 obj
+<< /D [ 302 0 R /XYZ 79.752 294.188 null ] >>
+endobj
+329 0 obj
+<< /D [ 302 0 R /XYZ 79.752 283.23 null ] >>
+endobj
+330 0 obj
+<< /D [ 302 0 R /XYZ 79.752 272.271 null ] >>
+endobj
+331 0 obj
+<< /D [ 302 0 R /XYZ 79.752 261.312 null ] >>
+endobj
+332 0 obj
+<< /D [ 302 0 R /XYZ 79.752 250.353 null ] >>
+endobj
+333 0 obj
+<< /D [ 302 0 R /XYZ 79.752 239.394 null ] >>
+endobj
+334 0 obj
+<< /D [ 302 0 R /XYZ 79.752 228.435 null ] >>
+endobj
+335 0 obj
+<< /D [ 302 0 R /XYZ 79.752 217.476 null ] >>
+endobj
+336 0 obj
+<< /D [ 302 0 R /XYZ 79.752 206.517 null ] >>
+endobj
+17 0 obj
+<< /D [ 302 0 R /XYZ 79.37 182.121 null ] >>
+endobj
+337 0 obj
+<< /D [ 302 0 R /XYZ 79.752 100.555 null ] >>
+endobj
+338 0 obj
+<< /D [ 302 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+339 0 obj
+<< /D [ 302 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+301 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+342 0 obj
+<< /Filter /FlateDecode /Length 2526 >>
+stream
+xZs6~_J71$^k'x.7Z,62v "$vń@,b-h:-ë^z!I >^b0N$rhFfLzAgdZt((# e?p/i~*gWs1n^ۍz>~ «(a{*
+Pvo"K10)<fy(;yYɥyJX*=$
+Pbw#ԮR,!+=>޴SRTS{Y,kz3C@LAZЁ Lj/:D#fQ'//.E"z<
+@K#֜H᳉Q'|K+Fd ag?!x)b|6Q/=#Ŀ\De>ȨȞ
+b~e BTd v뵙] !jf<>j/aJsS4m=jӛOn]c{Uն4eU+-\Evp&qA>Uݝ)vQ(BFn*cDg.gv$ӼOsB6`5sз3E,D?s1rif1Sl
+ƅfT1(hvmjcwlfc˽Zeu,vQuÖ yƖH$ Tj'NiEmQ-uԭ4o?ܦcm5 ndFRգbilw)Mf~E^1Λ7e$:䴲 )I3U dRz0"oPR`ô"t,\W՗vB^ߘۢ\<Tx$y^``
+?.-3Jh):qJ* р?/c/C`ۅbK=39b_?T%P:V#8iSlA|L^]|=J≯v˨8r .b#M*BQ!j[,]m)H$*~X DM[kJCѻIuYԪ[&_ @޸qCQspOOgISH]^w^Mxn F֯qX
+ 4@ Mw~[' ʛ; &JxNKBm
+ K&٥Fu;I'./U!eUc|yz wp7Laym>-M,gQn)n~<8',DoeG IÇҝx؝k%5khN'm^ԣj0Qpʎ7qXrp:tWkrxMS.asV0p
+ոw&Kw9+|w!0̹*xXC5m]tMtl_"ad[.Y㑰ʪrD3@{}AyL%d \Rl{QpN -l'/"
+pSQLpA
+>NRM(c1Y1Ә}0<הdbǫx&@ˆըEIr ,e%
+endstream
+endobj
+341 0 obj
+<< /Type /Page /Contents 342 0 R /Resources 340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+343 0 obj
+<< /D [ 341 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+344 0 obj
+<< /D [ 341 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+345 0 obj
+<< /D [ 341 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+346 0 obj
+<< /D [ 341 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+347 0 obj
+<< /D [ 341 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+348 0 obj
+<< /D [ 341 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+349 0 obj
+<< /D [ 341 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+350 0 obj
+<< /D [ 341 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+351 0 obj
+<< /D [ 341 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+352 0 obj
+<< /D [ 341 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+353 0 obj
+<< /D [ 341 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+354 0 obj
+<< /D [ 341 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+355 0 obj
+<< /D [ 341 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+356 0 obj
+<< /D [ 341 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+357 0 obj
+<< /D [ 341 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+358 0 obj
+<< /D [ 341 0 R /XYZ 79.752 573.564 null ] >>
+endobj
+359 0 obj
+<< /D [ 341 0 R /XYZ 79.752 557.624 null ] >>
+endobj
+360 0 obj
+<< /D [ 341 0 R /XYZ 79.752 546.665 null ] >>
+endobj
+361 0 obj
+<< /D [ 341 0 R /XYZ 79.752 519.766 null ] >>
+endobj
+362 0 obj
+<< /D [ 341 0 R /XYZ 79.752 508.807 null ] >>
+endobj
+363 0 obj
+<< /D [ 341 0 R /XYZ 79.752 497.848 null ] >>
+endobj
+364 0 obj
+<< /D [ 341 0 R /XYZ 79.752 486.889 null ] >>
+endobj
+365 0 obj
+<< /D [ 341 0 R /XYZ 79.752 372.319 null ] >>
+endobj
+366 0 obj
+<< /D [ 341 0 R /XYZ 79.752 361.36 null ] >>
+endobj
+367 0 obj
+<< /D [ 341 0 R /XYZ 79.752 350.401 null ] >>
+endobj
+368 0 obj
+<< /D [ 341 0 R /XYZ 79.752 339.442 null ] >>
+endobj
+369 0 obj
+<< /D [ 341 0 R /XYZ 79.752 328.483 null ] >>
+endobj
+370 0 obj
+<< /D [ 341 0 R /XYZ 79.752 317.524 null ] >>
+endobj
+371 0 obj
+<< /D [ 341 0 R /XYZ 79.752 306.565 null ] >>
+endobj
+372 0 obj
+<< /D [ 341 0 R /XYZ 79.752 295.606 null ] >>
+endobj
+373 0 obj
+<< /D [ 341 0 R /XYZ 79.752 240.812 null ] >>
+endobj
+374 0 obj
+<< /D [ 341 0 R /XYZ 79.752 229.853 null ] >>
+endobj
+375 0 obj
+<< /D [ 341 0 R /XYZ 79.752 218.894 null ] >>
+endobj
+376 0 obj
+<< /D [ 341 0 R /XYZ 79.752 207.935 null ] >>
+endobj
+377 0 obj
+<< /D [ 341 0 R /XYZ 79.752 196.976 null ] >>
+endobj
+378 0 obj
+<< /D [ 341 0 R /XYZ 79.752 186.017 null ] >>
+endobj
+379 0 obj
+<< /D [ 341 0 R /XYZ 79.752 155.133 null ] >>
+endobj
+380 0 obj
+<< /D [ 341 0 R /XYZ 79.752 144.174 null ] >>
+endobj
+381 0 obj
+<< /D [ 341 0 R /XYZ 79.752 133.215 null ] >>
+endobj
+382 0 obj
+<< /D [ 341 0 R /XYZ 79.752 122.256 null ] >>
+endobj
+383 0 obj
+<< /D [ 341 0 R /XYZ 79.752 111.297 null ] >>
+endobj
+340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+386 0 obj
+<< /Filter /FlateDecode /Length 2716 >>
+stream
+xڽZo߿=Tv<n8lh{bӶ[J%9Nɢf-Qp7Cr'w?=H4;LFLNdNv3gequ+/~nj_} YU}ö5Miu7Ccc)Tl)q|(Deg?}-uk§8+k0=
+Iá~'?,s0_l$Z.0œ]^
+#q8~=14, 'x\#B3գ׳+*UQ-aM]Cٹ mj6jL\h+Zs`yiƃW4ϞF Rfۀs7f\(IDD*33+`STYm*u*SYn[b{(HJf s$<šxX%2
+&I45|HB24 k@'T,.,.sr:t+9ɾ4Wޗ*K#?NFSavi9DGYpW?`-NEv?$AλuמTl[n)5ߓ&dfp߱`X" )<j̃-$CZ$W0
+dO)ouET."d)08[<p'p#a k!eUAk I~T刄5Uvm$l5Й4lqI8 X⺫Whۇ몊!;~heW 5dsQ4 8}CM4\c3wsݥYF?Xߌ@i`[;(5?k`F£5~Ջ_cV vVU€䢏
+Z%H o$8UzHQ*̞.JH breW+k đ:ɂ)G94=v1ރ~rvM) +B,EhR%\eUp\d8K'90fP^w 4|]՗[ ҁ1~x)mAxpcL$k _}t?b)ne j|,E;Yp>܆P&svL4,uiԦnS=4fVf|,<r%Ի[@Xh.T
+gpYGx՟-Y'J݉?Xr=x ئp0
+WlHܝ‹T6v8vsݚyk/9?xVv7r)s9`'gCxFlەoly-5FUjOc$wŗHL lM->:MgT™NI#YB~|vY=7@bsge51HS Bb#$B>&Iir$le̯u17O ߨ%HHg)NG#VzTmh9eeXx "y?6[3 X@Z1?Nٳ`TɊdG'Z#[TyZI+N߫@ C"onz>=DgI*ȃS}&hGMIִK}\"`.Qoh=$*'p<y$pќ VuޫM
+Kzv'%=Q=Dk OrX[~">SPKg?h|y~<p"~O`2~bR$9> An~"MHNp'"]e
+endstream
+endobj
+385 0 obj
+<< /Type /Page /Contents 386 0 R /Resources 384 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+387 0 obj
+<< /D [ 385 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+388 0 obj
+<< /D [ 385 0 R /XYZ 79.752 719.019 null ] >>
+endobj
+389 0 obj
+<< /D [ 385 0 R /XYZ 79.752 708.06 null ] >>
+endobj
+390 0 obj
+<< /D [ 385 0 R /XYZ 79.752 697.101 null ] >>
+endobj
+391 0 obj
+<< /D [ 385 0 R /XYZ 79.752 686.142 null ] >>
+endobj
+392 0 obj
+<< /D [ 385 0 R /XYZ 79.752 675.183 null ] >>
+endobj
+393 0 obj
+<< /D [ 385 0 R /XYZ 79.752 664.224 null ] >>
+endobj
+394 0 obj
+<< /D [ 385 0 R /XYZ 79.752 653.265 null ] >>
+endobj
+395 0 obj
+<< /D [ 385 0 R /XYZ 79.752 642.306 null ] >>
+endobj
+396 0 obj
+<< /D [ 385 0 R /XYZ 79.752 631.347 null ] >>
+endobj
+397 0 obj
+<< /D [ 385 0 R /XYZ 79.752 620.388 null ] >>
+endobj
+398 0 obj
+<< /D [ 385 0 R /XYZ 79.752 609.429 null ] >>
+endobj
+399 0 obj
+<< /D [ 385 0 R /XYZ 79.752 537.892 null ] >>
+endobj
+400 0 obj
+<< /D [ 385 0 R /XYZ 79.752 526.933 null ] >>
+endobj
+401 0 obj
+<< /D [ 385 0 R /XYZ 79.752 515.974 null ] >>
+endobj
+402 0 obj
+<< /D [ 385 0 R /XYZ 79.752 505.015 null ] >>
+endobj
+403 0 obj
+<< /D [ 385 0 R /XYZ 79.752 494.057 null ] >>
+endobj
+404 0 obj
+<< /D [ 385 0 R /XYZ 79.752 483.098 null ] >>
+endobj
+405 0 obj
+<< /D [ 385 0 R /XYZ 79.752 472.139 null ] >>
+endobj
+406 0 obj
+<< /D [ 385 0 R /XYZ 79.752 461.18 null ] >>
+endobj
+407 0 obj
+<< /D [ 385 0 R /XYZ 79.752 450.221 null ] >>
+endobj
+408 0 obj
+<< /D [ 385 0 R /XYZ 79.752 439.262 null ] >>
+endobj
+409 0 obj
+<< /D [ 385 0 R /XYZ 79.752 428.303 null ] >>
+endobj
+410 0 obj
+<< /D [ 385 0 R /XYZ 79.752 417.344 null ] >>
+endobj
+411 0 obj
+<< /D [ 385 0 R /XYZ 79.752 406.385 null ] >>
+endobj
+412 0 obj
+<< /D [ 385 0 R /XYZ 79.752 395.426 null ] >>
+endobj
+413 0 obj
+<< /D [ 385 0 R /XYZ 79.752 304.766 null ] >>
+endobj
+414 0 obj
+<< /D [ 385 0 R /XYZ 79.752 293.808 null ] >>
+endobj
+415 0 obj
+<< /D [ 385 0 R /XYZ 79.752 282.849 null ] >>
+endobj
+416 0 obj
+<< /D [ 385 0 R /XYZ 79.752 271.89 null ] >>
+endobj
+417 0 obj
+<< /D [ 385 0 R /XYZ 79.752 260.931 null ] >>
+endobj
+418 0 obj
+<< /D [ 385 0 R /XYZ 79.752 249.972 null ] >>
+endobj
+419 0 obj
+<< /D [ 385 0 R /XYZ 79.752 239.013 null ] >>
+endobj
+420 0 obj
+<< /D [ 385 0 R /XYZ 79.752 228.054 null ] >>
+endobj
+421 0 obj
+<< /D [ 385 0 R /XYZ 79.752 217.095 null ] >>
+endobj
+422 0 obj
+<< /D [ 385 0 R /XYZ 79.752 176.248 null ] >>
+endobj
+423 0 obj
+<< /D [ 385 0 R /XYZ 79.752 165.289 null ] >>
+endobj
+424 0 obj
+<< /D [ 385 0 R /XYZ 79.752 154.331 null ] >>
+endobj
+425 0 obj
+<< /D [ 385 0 R /XYZ 79.752 143.372 null ] >>
+endobj
+426 0 obj
+<< /D [ 385 0 R /XYZ 79.752 132.413 null ] >>
+endobj
+427 0 obj
+<< /D [ 385 0 R /XYZ 79.752 121.454 null ] >>
+endobj
+428 0 obj
+<< /D [ 385 0 R /XYZ 79.752 80.607 null ] >>
+endobj
+384 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F70 185 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+432 0 obj
+<< /Filter /FlateDecode /Length 2439 >>
+stream
+xZko_a`BF7)h>v(v'Y[$';;KIǑMoC"!ϽRxv?ó/"a~/|{b3tJݮ.gdjD%)IdvP"?0vԳi)Yc !Q PocC nhy#t~OGe}=T
+MݩT(2Θ7). D ObaRw\7hV6믝^-vh+MLϟ)OK4{{scr*JiXmGљ+Ozo;
+1P]^契GX{h._t2kO@* ƐZ~GVOi~6n -hv/=WP  Jb{h`| FCcBpt0!1SNZ4u,ZPS~UT;E}ڼ,X< =\7wmU}-H
+A!3OI,8Y<B>Ӿ)Ab TٌzB`X"i7̓QhBTVi˦=!Gh,4ER-@
+QC˰[aJܓR;"V3\s :LDi&
+xy^?nݯ~ES#Ƥ,ꃿL1R{Gq# øűM^ݎ\)P/hj\/8g)vΞř
+Se(-$ha&}QUEu?nNO
+5?<h %MI*i '^&.qd
+4 #m7!7 VיY
+z|e`n7u,L)iKHT7)DXlˬb([̓T{_;c :݅ԚHy `U2V:FaG, hmXɮBQ:y~z[3ö~Tl^*C%o;6/a}~f\?Q5e#OY8Yv#ӽ?7;B:=lZ\+uCn/Mj\͆{L*+[[H6
+endstream
+endobj
+431 0 obj
+<< /Type /Page /Contents 432 0 R /Resources 430 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R /Annots 482 0 R >>
+endobj
+482 0 obj
+[ 429 0 R ]
+endobj
+429 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 120.217 226.236 126.679 237.063 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
+endobj
+433 0 obj
+<< /D [ 431 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+434 0 obj
+<< /D [ 431 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+435 0 obj
+<< /D [ 431 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+436 0 obj
+<< /D [ 431 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+437 0 obj
+<< /D [ 431 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+438 0 obj
+<< /D [ 431 0 R /XYZ 79.752 695.108 null ] >>
+endobj
+439 0 obj
+<< /D [ 431 0 R /XYZ 79.752 684.149 null ] >>
+endobj
+440 0 obj
+<< /D [ 431 0 R /XYZ 79.752 673.19 null ] >>
+endobj
+441 0 obj
+<< /D [ 431 0 R /XYZ 79.752 662.231 null ] >>
+endobj
+442 0 obj
+<< /D [ 431 0 R /XYZ 79.752 651.273 null ] >>
+endobj
+443 0 obj
+<< /D [ 431 0 R /XYZ 79.752 640.314 null ] >>
+endobj
+444 0 obj
+<< /D [ 431 0 R /XYZ 79.752 629.355 null ] >>
+endobj
+445 0 obj
+<< /D [ 431 0 R /XYZ 79.752 600.463 null ] >>
+endobj
+446 0 obj
+<< /D [ 431 0 R /XYZ 79.752 589.504 null ] >>
+endobj
+447 0 obj
+<< /D [ 431 0 R /XYZ 79.752 578.545 null ] >>
+endobj
+448 0 obj
+<< /D [ 431 0 R /XYZ 79.752 567.586 null ] >>
+endobj
+449 0 obj
+<< /D [ 431 0 R /XYZ 79.752 556.627 null ] >>
+endobj
+450 0 obj
+<< /D [ 431 0 R /XYZ 79.752 545.669 null ] >>
+endobj
+451 0 obj
+<< /D [ 431 0 R /XYZ 79.752 534.71 null ] >>
+endobj
+452 0 obj
+<< /D [ 431 0 R /XYZ 79.752 523.751 null ] >>
+endobj
+453 0 obj
+<< /D [ 431 0 R /XYZ 79.752 512.792 null ] >>
+endobj
+454 0 obj
+<< /D [ 431 0 R /XYZ 79.752 501.833 null ] >>
+endobj
+455 0 obj
+<< /D [ 431 0 R /XYZ 79.752 490.874 null ] >>
+endobj
+456 0 obj
+<< /D [ 431 0 R /XYZ 79.752 479.915 null ] >>
+endobj
+457 0 obj
+<< /D [ 431 0 R /XYZ 79.752 468.956 null ] >>
+endobj
+458 0 obj
+<< /D [ 431 0 R /XYZ 79.752 457.997 null ] >>
+endobj
+459 0 obj
+<< /D [ 431 0 R /XYZ 79.752 447.038 null ] >>
+endobj
+460 0 obj
+<< /D [ 431 0 R /XYZ 79.752 436.08 null ] >>
+endobj
+461 0 obj
+<< /D [ 431 0 R /XYZ 79.752 425.121 null ] >>
+endobj
+462 0 obj
+<< /D [ 431 0 R /XYZ 79.752 414.162 null ] >>
+endobj
+463 0 obj
+<< /D [ 431 0 R /XYZ 79.752 361.36 null ] >>
+endobj
+464 0 obj
+<< /D [ 431 0 R /XYZ 79.752 350.401 null ] >>
+endobj
+465 0 obj
+<< /D [ 431 0 R /XYZ 79.752 339.442 null ] >>
+endobj
+466 0 obj
+<< /D [ 431 0 R /XYZ 79.752 328.483 null ] >>
+endobj
+467 0 obj
+<< /D [ 431 0 R /XYZ 79.752 317.524 null ] >>
+endobj
+468 0 obj
+<< /D [ 431 0 R /XYZ 79.752 306.565 null ] >>
+endobj
+469 0 obj
+<< /D [ 431 0 R /XYZ 79.752 295.606 null ] >>
+endobj
+470 0 obj
+<< /D [ 431 0 R /XYZ 79.752 284.647 null ] >>
+endobj
+471 0 obj
+<< /D [ 431 0 R /XYZ 79.752 273.688 null ] >>
+endobj
+472 0 obj
+<< /D [ 431 0 R /XYZ 79.752 262.73 null ] >>
+endobj
+474 0 obj
+<< /D [ 431 0 R /XYZ 79.752 221.883 null ] >>
+endobj
+475 0 obj
+<< /D [ 431 0 R /XYZ 79.752 210.924 null ] >>
+endobj
+476 0 obj
+<< /D [ 431 0 R /XYZ 79.752 158.122 null ] >>
+endobj
+477 0 obj
+<< /D [ 431 0 R /XYZ 79.752 147.163 null ] >>
+endobj
+478 0 obj
+<< /D [ 431 0 R /XYZ 79.752 136.204 null ] >>
+endobj
+479 0 obj
+<< /D [ 431 0 R /XYZ 79.752 125.245 null ] >>
+endobj
+481 0 obj
+<< /D [ 431 0 R /XYZ 94.613 95.656 null ] >>
+endobj
+430 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F74 264 0 R /F76 318 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+485 0 obj
+<< /Filter /FlateDecode /Length 2394 >>
+stream
+xڵZ]o}@iM}hѻ>)n- ]Ȓ$'Mw(8/E3̙ajM_?}FZ&Od<Q9Lf~moe]5ӧZ١lxM4mQWn^^y<V
+yYT#O FE$;։9ɭDrBvyevEwM{). ]=JNJT,2L1D{= fQ1B1p&B INb(aM@JaKk ʦ_A95YW/s]to5kb<
+,cI.y93$ɑֽAΊr,P qiI' i)~Zid'#2]'
+TE08>ZmA"Nx?켞~I{?^+jW [[?^u"BYU˦s?rWek4~&~"Xƿ-=֔ePka-PyY"8g< zYݳX 7+Z0v
+1A^͏]39e'TxwN\FRAR"Уfŭ׊P0'Qmcmᔀa3x,rVTv
+aÔ&t^o6fyH}3v$xϑ.L]Pm&@ެvRT q+U8e{h`Aۍ{OR7a`k?}nSI`gu^')Fl
+B
+|]ۍ'A@$1_c%e h7 &5
+]s'?89V(i,et]~zM3? ',]lF|3>"H#ȿ09֯9:
+.jfYg3A C<SxFRR~=]臯w= \ "77ڮa
+zNe"v׺)g-MXDei6_PAG;,k\
+Z &i?J~C~@\gi4}Z`8yRԉS%*hb"<DKXRW ) )9fѴK/wZq6aeVZ(83
+*N4 aA#a
+}lU)ƒziHCl2CJ0qҿ* i,
+'^7O#l iS~vsf
+endstream
+endobj
+484 0 obj
+<< /Type /Page /Contents 485 0 R /Resources 483 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+486 0 obj
+<< /D [ 484 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+487 0 obj
+<< /D [ 484 0 R /XYZ 79.752 743.268 null ] >>
+endobj
+488 0 obj
+<< /D [ 484 0 R /XYZ 79.752 703.1 null ] >>
+endobj
+489 0 obj
+<< /D [ 484 0 R /XYZ 79.752 650.977 null ] >>
+endobj
+490 0 obj
+<< /D [ 484 0 R /XYZ 79.752 640.018 null ] >>
+endobj
+491 0 obj
+<< /D [ 484 0 R /XYZ 79.752 629.059 null ] >>
+endobj
+492 0 obj
+<< /D [ 484 0 R /XYZ 79.752 618.1 null ] >>
+endobj
+493 0 obj
+<< /D [ 484 0 R /XYZ 79.752 607.141 null ] >>
+endobj
+494 0 obj
+<< /D [ 484 0 R /XYZ 79.752 596.182 null ] >>
+endobj
+495 0 obj
+<< /D [ 484 0 R /XYZ 79.752 585.223 null ] >>
+endobj
+496 0 obj
+<< /D [ 484 0 R /XYZ 79.752 574.264 null ] >>
+endobj
+497 0 obj
+<< /D [ 484 0 R /XYZ 79.752 563.305 null ] >>
+endobj
+498 0 obj
+<< /D [ 484 0 R /XYZ 79.752 552.346 null ] >>
+endobj
+499 0 obj
+<< /D [ 484 0 R /XYZ 79.752 541.387 null ] >>
+endobj
+500 0 obj
+<< /D [ 484 0 R /XYZ 79.752 501.219 null ] >>
+endobj
+501 0 obj
+<< /D [ 484 0 R /XYZ 79.752 490.26 null ] >>
+endobj
+502 0 obj
+<< /D [ 484 0 R /XYZ 79.752 479.301 null ] >>
+endobj
+503 0 obj
+<< /D [ 484 0 R /XYZ 79.752 468.343 null ] >>
+endobj
+504 0 obj
+<< /D [ 484 0 R /XYZ 79.752 457.384 null ] >>
+endobj
+505 0 obj
+<< /D [ 484 0 R /XYZ 79.752 446.425 null ] >>
+endobj
+506 0 obj
+<< /D [ 484 0 R /XYZ 79.752 435.466 null ] >>
+endobj
+507 0 obj
+<< /D [ 484 0 R /XYZ 79.752 424.507 null ] >>
+endobj
+508 0 obj
+<< /D [ 484 0 R /XYZ 79.752 396.294 null ] >>
+endobj
+509 0 obj
+<< /D [ 484 0 R /XYZ 79.752 385.335 null ] >>
+endobj
+510 0 obj
+<< /D [ 484 0 R /XYZ 79.752 374.376 null ] >>
+endobj
+511 0 obj
+<< /D [ 484 0 R /XYZ 79.752 363.417 null ] >>
+endobj
+512 0 obj
+<< /D [ 484 0 R /XYZ 79.752 352.458 null ] >>
+endobj
+513 0 obj
+<< /D [ 484 0 R /XYZ 79.752 301.692 null ] >>
+endobj
+514 0 obj
+<< /D [ 484 0 R /XYZ 79.752 273.183 null ] >>
+endobj
+515 0 obj
+<< /D [ 484 0 R /XYZ 79.752 262.224 null ] >>
+endobj
+516 0 obj
+<< /D [ 484 0 R /XYZ 79.752 251.265 null ] >>
+endobj
+517 0 obj
+<< /D [ 484 0 R /XYZ 79.752 240.306 null ] >>
+endobj
+518 0 obj
+<< /D [ 484 0 R /XYZ 79.752 229.347 null ] >>
+endobj
+519 0 obj
+<< /D [ 484 0 R /XYZ 79.752 218.388 null ] >>
+endobj
+520 0 obj
+<< /D [ 484 0 R /XYZ 79.752 207.429 null ] >>
+endobj
+521 0 obj
+<< /D [ 484 0 R /XYZ 79.752 196.471 null ] >>
+endobj
+522 0 obj
+<< /D [ 484 0 R /XYZ 79.752 185.512 null ] >>
+endobj
+523 0 obj
+<< /D [ 484 0 R /XYZ 79.752 174.553 null ] >>
+endobj
+524 0 obj
+<< /D [ 484 0 R /XYZ 79.752 144.39 null ] >>
+endobj
+525 0 obj
+<< /D [ 484 0 R /XYZ 79.752 133.431 null ] >>
+endobj
+526 0 obj
+<< /D [ 484 0 R /XYZ 79.752 122.473 null ] >>
+endobj
+527 0 obj
+<< /D [ 484 0 R /XYZ 79.752 111.514 null ] >>
+endobj
+528 0 obj
+<< /D [ 484 0 R /XYZ 79.752 100.555 null ] >>
+endobj
+529 0 obj
+<< /D [ 484 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+530 0 obj
+<< /D [ 484 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+483 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+533 0 obj
+<< /Filter /FlateDecode /Length 2129 >>
+stream
+xڵY[~?@j]wJ H$H}؇Iap-[H^8Ë.Z
+IDIO$:x쭜FW@ZcYm^n ]}͆#_޸jL"G<$i&a1>dz35n<Ӏnڸg6L[]3`Ƃ47$ј,9,#sc׽"ߠ=
+ =Шg:
+Cey0`V+I&BMbŹyY+?j6vۥa*-T`߹Y9$]x6{xؙdi'xp9^*%Ɏu)Mj>) S=G gx3Gt
+P|xw7sԩJeI}O䷯t'N "RuMx*$o K}*]eU"rW[3Z%n0!TȀgB™,2Dn03E'TC xp6{}cSڄF[/#`wd {(s=Ѫ?U.]Ny Vb_=a.!
+&wzO7[}wz^jژ`gQ psN;
+endstream
+endobj
+532 0 obj
+<< /Type /Page /Contents 533 0 R /Resources 531 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+534 0 obj
+<< /D [ 532 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+535 0 obj
+<< /D [ 532 0 R /XYZ 79.752 742.929 null ] >>
+endobj
+536 0 obj
+<< /D [ 532 0 R /XYZ 79.752 731.97 null ] >>
+endobj
+537 0 obj
+<< /D [ 532 0 R /XYZ 79.752 721.011 null ] >>
+endobj
+538 0 obj
+<< /D [ 532 0 R /XYZ 79.752 710.052 null ] >>
+endobj
+539 0 obj
+<< /D [ 532 0 R /XYZ 79.752 699.093 null ] >>
+endobj
+540 0 obj
+<< /D [ 532 0 R /XYZ 79.752 688.134 null ] >>
+endobj
+541 0 obj
+<< /D [ 532 0 R /XYZ 79.752 677.175 null ] >>
+endobj
+542 0 obj
+<< /D [ 532 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+543 0 obj
+<< /D [ 532 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+544 0 obj
+<< /D [ 532 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+545 0 obj
+<< /D [ 532 0 R /XYZ 79.752 595.482 null ] >>
+endobj
+546 0 obj
+<< /D [ 532 0 R /XYZ 79.752 584.523 null ] >>
+endobj
+547 0 obj
+<< /D [ 532 0 R /XYZ 79.752 573.564 null ] >>
+endobj
+548 0 obj
+<< /D [ 532 0 R /XYZ 79.752 562.605 null ] >>
+endobj
+549 0 obj
+<< /D [ 532 0 R /XYZ 79.752 551.646 null ] >>
+endobj
+550 0 obj
+<< /D [ 532 0 R /XYZ 79.752 540.687 null ] >>
+endobj
+551 0 obj
+<< /D [ 532 0 R /XYZ 79.752 529.728 null ] >>
+endobj
+552 0 obj
+<< /D [ 532 0 R /XYZ 79.752 518.769 null ] >>
+endobj
+553 0 obj
+<< /D [ 532 0 R /XYZ 79.752 507.811 null ] >>
+endobj
+554 0 obj
+<< /D [ 532 0 R /XYZ 79.752 496.852 null ] >>
+endobj
+21 0 obj
+<< /D [ 532 0 R /XYZ 79.37 471.397 null ] >>
+endobj
+555 0 obj
+<< /D [ 532 0 R /XYZ 79.752 364.504 null ] >>
+endobj
+557 0 obj
+<< /D [ 532 0 R /XYZ 79.752 311.702 null ] >>
+endobj
+558 0 obj
+<< /D [ 532 0 R /XYZ 79.752 223.035 null ] >>
+endobj
+559 0 obj
+<< /D [ 532 0 R /XYZ 79.752 212.076 null ] >>
+endobj
+560 0 obj
+<< /D [ 532 0 R /XYZ 79.752 171.229 null ] >>
+endobj
+561 0 obj
+<< /D [ 532 0 R /XYZ 79.752 160.27 null ] >>
+endobj
+562 0 obj
+<< /D [ 532 0 R /XYZ 79.752 107.468 null ] >>
+endobj
+531 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F78 556 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+565 0 obj
+<< /Filter /FlateDecode /Length 2969 >>
+stream
+xڥZo_@2OC 4+ Z-6#8>#{gvI1E.9;3XFUM{{a ъx"Ww\?ovY}U7<xr%<EqsY
+&^_=TK^WmS'SfuCG:ʾ[Y~弼V4Jr?i[_M.Ssɸ!_'g#3]]q%`:ROOǕeBȐy|wj:'$JJ)Ye9h`W˕bR ل!0Ƶ%fRr{,Hb`wˉ@j 7e؀Яb<I:"Mng|Mz"Pk!ݶ ] EjU8Yz@/2zz0D zҢ%lmHqqe,@I!-}OE|\6 E}" m1 AnPO&9ڊ!-]zLLo9mXXj)/qH{M/\SAI=j'!) !$cio~OԡM Ni #h+Ǻ"޻lwigM$=R?.yT&ЩjiؐT %Ci$y
+39h$aQF]v<a2T8\kѢ@vCpHw"E"i{/WFp߁n2)B2Y7GBm#-vJTMb2/&U2L)R?Aɀ AI9y53DHA
+h h*v1.j! x P6v~r@xLW^G(P_ &t d8Doh=<cR%^{@%`
+r9\uj"L2`"H^r'יL =g#0a`P&T^[j! ]G~kIdx [ ȗ(4ݩX1fLO}
+AڤotAKvk  d2dћ2:لLǴh|opS9hJh&E0v Hqe.MJeJ(] 0YACi դJB>
+bH2sN- kz2$;s1V
+@ɐzp iQjWG3i5Cɨ䆯 aN?t.xDf<E4/= ϔ!T%:#,.-|,ON:)'+w҆~#{gP ax_{γ ݧu6s<9yD2Ss(hEhH,`[@2K< 6?mgzۈī=&AUMʾcᎠ\jXf O/r{&"aJ+G_](a}}Z Q0p_ͺ}eR䚩hZE_wclPM+)F-:h| N2.}=gYAHK3 V^{?
+endstream
+endobj
+564 0 obj
+<< /Type /Page /Contents 565 0 R /Resources 563 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 206 0 R >>
+endobj
+566 0 obj
+<< /D [ 564 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+567 0 obj
+<< /D [ 564 0 R /XYZ 79.752 742.929 null ] >>
+endobj
+568 0 obj
+<< /D [ 564 0 R /XYZ 79.752 731.97 null ] >>
+endobj
+569 0 obj
+<< /D [ 564 0 R /XYZ 79.752 661.235 null ] >>
+endobj
+570 0 obj
+<< /D [ 564 0 R /XYZ 79.752 650.276 null ] >>
+endobj
+571 0 obj
+<< /D [ 564 0 R /XYZ 79.752 603.452 null ] >>
+endobj
+572 0 obj
+<< /D [ 564 0 R /XYZ 79.752 562.605 null ] >>
+endobj
+573 0 obj
+<< /D [ 564 0 R /XYZ 79.752 497.848 null ] >>
+endobj
+574 0 obj
+<< /D [ 564 0 R /XYZ 79.752 433.091 null ] >>
+endobj
+575 0 obj
+<< /D [ 564 0 R /XYZ 79.752 344.423 null ] >>
+endobj
+576 0 obj
+<< /D [ 564 0 R /XYZ 79.752 333.464 null ] >>
+endobj
+577 0 obj
+<< /D [ 564 0 R /XYZ 79.752 292.618 null ] >>
+endobj
+578 0 obj
+<< /D [ 564 0 R /XYZ 79.752 281.659 null ] >>
+endobj
+579 0 obj
+<< /D [ 564 0 R /XYZ 79.752 228.857 null ] >>
+endobj
+580 0 obj
+<< /D [ 564 0 R /XYZ 79.752 188.01 null ] >>
+endobj
+581 0 obj
+<< /D [ 564 0 R /XYZ 79.752 123.253 null ] >>
+endobj
+582 0 obj
+<< /D [ 564 0 R /XYZ 79.752 112.294 null ] >>
+endobj
+563 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+585 0 obj
+<< /Filter /FlateDecode /Length 2573 >>
+stream
+xڵɎ>_ѷPAvs2 K8l U"";$5=jXl %6{Dݏ憎~,Iw|w.͉HRx׃i6<Sp0qUﮅۦ/tKu[Iru #UL1m`Wp;Ȳ=f?JN/Q)%Yb:?2!̠8J@bs MI{_4%uDŧqL7eٞ{D+s¨vZK}tP xzYf(e)J.,H'(7B'/:x-<Is2/.R”9̢DKf4%Zd10iw߾긨w(34`fuxR<
+4;3[M?t=Kʡjl'vl9v~YdB<QxK
+Edb!arXjp,իVȘGxí5 oώ߂#Km'mIZ<OI7]
+UNaop|Ƅ
+x!V,)9#gJb/zư"w ^SHe8JѸgckQ;RPNut"ǚd_ҌpTI~
+ ʚʍ2ĭ's'ӔW2QGoѲdъqTuYDacᡮa6k%!^47H}vONza 窘!k1/
+KT'&$aQ
+%[XHc+\tÒYxćJvp62|Y#3v!ժ"w6Â'uU,,vIWcQ*#
+FL!_5cY{Li,hC,\ -x#8\s :&}e9B!/Av%ejF 9+`Zsxl"9Ϧ-#X+꼮8 ,ޣq76~ 9ck.E ۵m}1T4:+:M2*({]= hn4eD=ӿߛP_NGuC>JEE Y;l GŽfBn֓}3\yS. ிH2"N+ƿy:Ǽ@[z5SR{ \Xl
+E4VFzJI94ه(ྪVIv!V,܄v@H.e0hƠ#إ2ܫpU9.4'ZH)_MP 埓(ލWZXaa6߇v(#ޢgCtsޢU/p"ܖC4p`GS4}^c3>БEi|hѵn&ڇ gYf&OM2/J)u"֙S>5-nʞ@1m ?T"C} w \5wן%vձIU맺j0`r3RѾ-E1e)* e3Xv
+$@*u[A=w}IOzyjc_{ 3C}| ]ưj6E Zv$\^/>&̚Bi>>a8B 7Aukqrb``~0]cejl~4-c֒?7l" ," Uu
+B*8u;U]=$U펄+әhIC@9%uUC)o fӸÀ]X&~O C,Xy$_S: [OOvSh RTU$߮X 5W󩏹vtδ&<BOm [9UvMM 1*-5BMA,sX5U0Bb!2x׹z^k<LA9Hbqr-shcE / </y}|yjuGk΁=>vrIWւNՓkhj|,O]wn%TBt#q*
+@
+#YRلK2ql.<(sĉ-LC<7%Soeww)9\5r+ *|÷2uy
+bzRvv>OA/qFXCï4Ԓj
+endstream
+endobj
+584 0 obj
+<< /Type /Page /Contents 585 0 R /Resources 583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+586 0 obj
+<< /D [ 584 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+587 0 obj
+<< /D [ 584 0 R /XYZ 79.752 719.139 null ] >>
+endobj
+588 0 obj
+<< /D [ 584 0 R /XYZ 79.752 679.017 null ] >>
+endobj
+589 0 obj
+<< /D [ 584 0 R /XYZ 79.752 668.059 null ] >>
+endobj
+590 0 obj
+<< /D [ 584 0 R /XYZ 79.752 615.981 null ] >>
+endobj
+591 0 obj
+<< /D [ 584 0 R /XYZ 79.752 551.949 null ] >>
+endobj
+592 0 obj
+<< /D [ 584 0 R /XYZ 79.752 499.872 null ] >>
+endobj
+593 0 obj
+<< /D [ 584 0 R /XYZ 79.752 459.75 null ] >>
+endobj
+594 0 obj
+<< /D [ 584 0 R /XYZ 79.752 448.791 null ] >>
+endobj
+595 0 obj
+<< /D [ 584 0 R /XYZ 79.752 396.714 null ] >>
+endobj
+596 0 obj
+<< /D [ 584 0 R /XYZ 79.752 344.637 null ] >>
+endobj
+597 0 obj
+<< /D [ 584 0 R /XYZ 79.752 292.56 null ] >>
+endobj
+598 0 obj
+<< /D [ 584 0 R /XYZ 79.752 252.438 null ] >>
+endobj
+599 0 obj
+<< /D [ 584 0 R /XYZ 79.752 212.316 null ] >>
+endobj
+600 0 obj
+<< /D [ 584 0 R /XYZ 79.752 160.239 null ] >>
+endobj
+601 0 obj
+<< /D [ 584 0 R /XYZ 79.752 144.541 null ] >>
+endobj
+602 0 obj
+<< /D [ 584 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+583 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+606 0 obj
+<< /Filter /FlateDecode /Length 2511 >>
+stream
+xڝZKs6ϯmCARI%U;svvUD٬P‡=k A˔lCxuW?O>~*!bJnw(WtJ+JbEWtu^_]3#!s&T2%"wm^€FUOۼ*7 .huV^18#U^<#e>Ρ_,>uRDŽQ5yYX91E #`WEqq
+>?EFxY*id[b!D
+"{Tȫ/WVm
+BKePj3x)M@S\#7Q$[HAjo>g@ڷ/^K$N11==ё+ґoQ뉐JޜqEP@ lLTϩ!<&@Qbzv#d˜ho4((bjxMߧ=ÛoƠ3PH'Cj˼똔ħ>n(l=dq&NmzNMvx^ 'm:۴ų{tw_O5ϾA-cg($s)CU@p}АSӋXGcC|h:!WxJ!N,$lDNv9 5!>DNHfl hg75wю+uڳ
+endstream
+endobj
+605 0 obj
+<< /Type /Page /Contents 606 0 R /Resources 604 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+607 0 obj
+<< /D [ 605 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+608 0 obj
+<< /D [ 605 0 R /XYZ 79.752 742.978 null ] >>
+endobj
+609 0 obj
+<< /D [ 605 0 R /XYZ 79.752 690.472 null ] >>
+endobj
+610 0 obj
+<< /D [ 605 0 R /XYZ 79.752 659.933 null ] >>
+endobj
+611 0 obj
+<< /D [ 605 0 R /XYZ 79.752 648.974 null ] >>
+endobj
+612 0 obj
+<< /D [ 605 0 R /XYZ 79.752 594.525 null ] >>
+endobj
+613 0 obj
+<< /D [ 605 0 R /XYZ 79.752 553.776 null ] >>
+endobj
+614 0 obj
+<< /D [ 605 0 R /XYZ 79.752 524.983 null ] >>
+endobj
+615 0 obj
+<< /D [ 605 0 R /XYZ 79.752 472.477 null ] >>
+endobj
+616 0 obj
+<< /D [ 605 0 R /XYZ 79.752 461.518 null ] >>
+endobj
+617 0 obj
+<< /D [ 605 0 R /XYZ 79.752 397.057 null ] >>
+endobj
+618 0 obj
+<< /D [ 605 0 R /XYZ 79.752 386.098 null ] >>
+endobj
+619 0 obj
+<< /D [ 605 0 R /XYZ 79.752 375.139 null ] >>
+endobj
+620 0 obj
+<< /D [ 605 0 R /XYZ 79.752 322.633 null ] >>
+endobj
+621 0 obj
+<< /D [ 605 0 R /XYZ 79.752 292.094 null ] >>
+endobj
+622 0 obj
+<< /D [ 605 0 R /XYZ 79.752 281.135 null ] >>
+endobj
+623 0 obj
+<< /D [ 605 0 R /XYZ 79.752 270.176 null ] >>
+endobj
+624 0 obj
+<< /D [ 605 0 R /XYZ 79.752 259.217 null ] >>
+endobj
+625 0 obj
+<< /D [ 605 0 R /XYZ 79.752 248.258 null ] >>
+endobj
+626 0 obj
+<< /D [ 605 0 R /XYZ 79.752 237.3 null ] >>
+endobj
+627 0 obj
+<< /D [ 605 0 R /XYZ 79.752 194.608 null ] >>
+endobj
+628 0 obj
+<< /D [ 605 0 R /XYZ 79.752 142.102 null ] >>
+endobj
+629 0 obj
+<< /D [ 605 0 R /XYZ 79.752 131.143 null ] >>
+endobj
+630 0 obj
+<< /D [ 605 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+604 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+633 0 obj
+<< /Filter /FlateDecode /Length 2850 >>
+stream
+xڵZn}S"1W0"A2 [z=`=UEԢ,O]*]ݾ#MRJ&;
+ R)JIJbInWn.蹨죶k,ND׺:ۅy}gA)TD:bШ> OOSFR>9K<ɫ_ ZTsSvü88qYn(!RBc&s'ORHUc2; 5  3NYf*`}pJFf}:l`K1&ߦ Ӛp6%7BSPgZr$QV\[Ano)+"1Ip8>$ՔN vxB$s0ZZyy(+ CK@x1%) e?S.rW?]$,1Ov>
+x؇3,"A_j
+:tDM b@(
+5!˹K( PcM|cG Ō}6
+Bn˜Dpv]8$*!<½bvwAo ȲTztoJxv-8G|J"j}Va)Bn G:@
+Oe$Dΰ&GOY9 g&)'}<Z瑱s1Kn<;\5O]QWSAOBї\N v
+\9+DE('џqbp0QqOCwv&j0a$%_ &(2?H$
+=H%2RO;[f?3o
+#咨&ZP1?x 2U*<M'V9|{އWk0+b,Z&)>2e31P,B ,> ;qӒ+(6)8]RpՆuV0_5Ŕ
+/E}j˗uk00QP#`QSnU!R}Db); G:lTcme͉_yۻ;몷01œ!4!>ݟَ7eQ-yAX)OjVI<?|eaZ5$21e ɶ" =~Mti7siID&EKpj66fs*MdZJOқμ9yl0%ˣ^#R`K4tv}_J
+endstream
+endobj
+632 0 obj
+<< /Type /Page /Contents 633 0 R /Resources 631 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+634 0 obj
+<< /D [ 632 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+635 0 obj
+<< /D [ 632 0 R /XYZ 79.752 743.392 null ] >>
+endobj
+636 0 obj
+<< /D [ 632 0 R /XYZ 79.752 732.433 null ] >>
+endobj
+637 0 obj
+<< /D [ 632 0 R /XYZ 79.752 704.791 null ] >>
+endobj
+638 0 obj
+<< /D [ 632 0 R /XYZ 79.752 629.328 null ] >>
+endobj
+639 0 obj
+<< /D [ 632 0 R /XYZ 79.752 618.369 null ] >>
+endobj
+640 0 obj
+<< /D [ 632 0 R /XYZ 79.752 607.41 null ] >>
+endobj
+641 0 obj
+<< /D [ 632 0 R /XYZ 79.752 596.451 null ] >>
+endobj
+642 0 obj
+<< /D [ 632 0 R /XYZ 79.752 585.492 null ] >>
+endobj
+643 0 obj
+<< /D [ 632 0 R /XYZ 79.752 574.533 null ] >>
+endobj
+644 0 obj
+<< /D [ 632 0 R /XYZ 79.752 524.51 null ] >>
+endobj
+645 0 obj
+<< /D [ 632 0 R /XYZ 79.752 474.487 null ] >>
+endobj
+646 0 obj
+<< /D [ 632 0 R /XYZ 79.752 424.464 null ] >>
+endobj
+647 0 obj
+<< /D [ 632 0 R /XYZ 79.752 413.505 null ] >>
+endobj
+648 0 obj
+<< /D [ 632 0 R /XYZ 79.752 339.572 null ] >>
+endobj
+649 0 obj
+<< /D [ 632 0 R /XYZ 79.752 328.613 null ] >>
+endobj
+650 0 obj
+<< /D [ 632 0 R /XYZ 79.752 277.06 null ] >>
+endobj
+651 0 obj
+<< /D [ 632 0 R /XYZ 79.752 237.463 null ] >>
+endobj
+652 0 obj
+<< /D [ 632 0 R /XYZ 79.752 175.485 null ] >>
+endobj
+653 0 obj
+<< /D [ 632 0 R /XYZ 79.752 164.526 null ] >>
+endobj
+654 0 obj
+<< /D [ 632 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+631 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F75 317 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+657 0 obj
+<< /Filter /FlateDecode /Length 3025 >>
+stream
+xڥZKo6ϯm@̈o)$$EN`hhe[+TH({փE~,V}UE*yIn~?|3n2a/~c3&5%ܟn*n樂[aweĮo>
++jʮm|{']S;|9CH"$RlcP*oMմ^x~>RLk 8[mvyY+'`ZذlD}p ӨKF,RN3`sI#Đ_o6M
+LDz<,\wiݓj{ƾX$Lp5^` /y x֩||;zZUEJ)_+bFOD`SaeOV'2"x% o$=`=0|]޹~'kL̛ܗMWt`wns.vqk~zx/G_o3B
+'*Ri</P%XdGL1yH##Y..7}^?{hniXS8:5K4{s
+Hvx*EC,/҉`O=@ѓa$o[ǿ/܁(\_NBJD^?H58]ki+s1).h
+k4]4/_u5`@Wޑ.Z?,fsX3`&(<1M=G.a J
+l;t<8<W%I:\B+`bR8,3p
+scYif>} $=6یC3ۄs,W`&83 3CXq@*8*u^t/=]/>z61/<?޺gs2,
+챬k*;PdgJo:\2Ѓ@hob}[m۴ޕV
+@X&
+8s&5kgQ)ĵ+/Z:$a.]%lT+[')K "5y;jC [$^O|WPDeXCSJ*PSg8XyV՜8zW5nZ;@uܒ遀@+s %kypuBkݷ1g"h^d;RHZ9kN~ZwE?DDd24ٵű@cKl-VBbQ'}9,sAL@=aUX.`DW VƗ`L
+*W=#YXv"KN|(~fL'WtwM4ggi0}RYr* c:3H6!槉EPweYd6~n˾w31d]?lq=mc
+m!L1ia!s\:s;wJ&f=-)U<!{jKt V3k`PiRկX]!x,`rH5^\ ?v@z>R,Y&YX %DpD(|['fL.tTA< 33~ۃCZ^iZ`ۧ͘P]ߟ*x z8_!-f*qa=@J#dƨXY>tՎ+<Ɲuve8Eȟ\O@?D-"Gb,ޣH.@:h@F-~7;^5MM>ko=(з+Itbju@¤L 1G)ikeE| re(lkh?6Ǘ/  [kA-d$MɌn@(Sعڂ0]<|c2PP"#C6O26|dֵL6 t{ ;/ g:i"viWf}Fn_rJ̪h"%rw E$0&
+d ?HCZu4Ư黴Hv˾ Ǽݶ L5n{>.{YfMd2`5]`oq4L%r8-+O'2wxP}ڞJ>OCو+V!sS<EsO|uVJTk
+,.c~\?x1xH~ÏVdnì dENM&{Al\et86#AGK<W *bXt
+m`
+m1گ$_
+endstream
+endobj
+656 0 obj
+<< /Type /Page /Contents 657 0 R /Resources 655 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+658 0 obj
+<< /D [ 656 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+659 0 obj
+<< /D [ 656 0 R /XYZ 79.752 754.884 null ] >>
+endobj
+661 0 obj
+<< /D [ 656 0 R /XYZ 79.752 702.082 null ] >>
+endobj
+663 0 obj
+<< /D [ 656 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+664 0 obj
+<< /D [ 656 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+665 0 obj
+<< /D [ 656 0 R /XYZ 79.752 573.564 null ] >>
+endobj
+666 0 obj
+<< /D [ 656 0 R /XYZ 79.752 484.896 null ] >>
+endobj
+667 0 obj
+<< /D [ 656 0 R /XYZ 79.752 432.094 null ] >>
+endobj
+669 0 obj
+<< /D [ 656 0 R /XYZ 79.752 310.55 null ] >>
+endobj
+670 0 obj
+<< /D [ 656 0 R /XYZ 79.752 299.591 null ] >>
+endobj
+671 0 obj
+<< /D [ 656 0 R /XYZ 79.752 244.797 null ] >>
+endobj
+672 0 obj
+<< /D [ 656 0 R /XYZ 79.752 203.95 null ] >>
+endobj
+673 0 obj
+<< /D [ 656 0 R /XYZ 79.752 192.991 null ] >>
+endobj
+674 0 obj
+<< /D [ 656 0 R /XYZ 79.752 182.032 null ] >>
+endobj
+675 0 obj
+<< /D [ 656 0 R /XYZ 79.752 171.073 null ] >>
+endobj
+676 0 obj
+<< /D [ 656 0 R /XYZ 79.752 118.271 null ] >>
+endobj
+677 0 obj
+<< /D [ 656 0 R /XYZ 79.752 107.312 null ] >>
+endobj
+655 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F23 660 0 R /F26 662 0 R /F70 185 0 R /F79 668 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+680 0 obj
+<< /Filter /FlateDecode /Length 3209 >>
+stream
+xڥZo~SdǧH(G4~B0]VO+m%}נ{gЊZZ9_v)Ù I7 Da ~|?h$3LmLFx*7:els3_PH!Y
+3eŴrSO_|Nqeofwims}K2*JAFJ1휌oQdIdd^ cSŒ "U"i:;'kep*AǴ kd)AFJ1b>,d06J1[gDM5싫wBd[TUOeU;nC&b[msMrZg`Zѻuŧ|<܍7ծ=n8=7!0FDf*.wfB*Am$a͚mhQۦ3.\s>(nne5U^==VԦ;Xuqۏacqh뼪>AƵm{>p}*wXl&mˤ 7jWnDTTȶq_[Of%QȼޝW
+'jnmsѾWY('Yc62b'U
+XF&[
+܄f1Ǫ5cp'kteחgd>(:8Vm)w
+ mi^i%(+ΖN
+LjhY:f= "@3Q\$˩ҜP-!>G4˩L**N
+i =#gl'HtNK`nqLi3xD z j& U< m nD{vB&$ʨqʚ
+;[p뫽K4x @4G؈߁}|L|+d줥ɈD.+/81q}
+Xmm ;]ݦPc/s5 Q xQBBbdYG{
+Һ8O'.;{ V$ +X4p>u
+o}rvAʄph$_K~apBۙw)fbp6omiDgD G|8 ioJeol|;QT|&-.)
+5_b&_Ђ;xŒ?CwT*V}6A|, t(?'m6-w&?\NՄ!1,Lrh}jǝ=arpZK`$rBT9) Ūc9?ovJ7]x4Dl zgkڛC߻fo-=pQ|y\t)ȅ
+wzzbxަI4Y 1~B;
+endstream
+endobj
+679 0 obj
+<< /Type /Page /Contents 680 0 R /Resources 678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+681 0 obj
+<< /D [ 679 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+682 0 obj
+<< /D [ 679 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+683 0 obj
+<< /D [ 679 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+684 0 obj
+<< /D [ 679 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+685 0 obj
+<< /D [ 679 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+686 0 obj
+<< /D [ 679 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+687 0 obj
+<< /D [ 679 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+688 0 obj
+<< /D [ 679 0 R /XYZ 79.752 671.198 null ] >>
+endobj
+689 0 obj
+<< /D [ 679 0 R /XYZ 79.752 618.396 null ] >>
+endobj
+690 0 obj
+<< /D [ 679 0 R /XYZ 79.752 607.437 null ] >>
+endobj
+691 0 obj
+<< /D [ 679 0 R /XYZ 79.752 530.725 null ] >>
+endobj
+692 0 obj
+<< /D [ 679 0 R /XYZ 79.752 477.923 null ] >>
+endobj
+693 0 obj
+<< /D [ 679 0 R /XYZ 79.752 377.3 null ] >>
+endobj
+694 0 obj
+<< /D [ 679 0 R /XYZ 79.752 282.655 null ] >>
+endobj
+695 0 obj
+<< /D [ 679 0 R /XYZ 79.752 235.83 null ] >>
+endobj
+696 0 obj
+<< /D [ 679 0 R /XYZ 79.752 177.051 null ] >>
+endobj
+697 0 obj
+<< /D [ 679 0 R /XYZ 79.752 118.271 null ] >>
+endobj
+678 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+700 0 obj
+<< /Filter /FlateDecode /Length 3271 >>
+stream
+xڥZKs6ϯQ#x@[IM٪!qU13xTvAL +z~ݾ;f,Җ}3FhƮnwWnUW/MqaNM$#tLȏoYU_njכ5L;(.ʪ6M}mUv=^UsGne9yWy83C'QF3jvygWBdψ33XA .&$EQQBT(P3E EJqRPIt6f!
+&2,%)QFo/FYaQB3by)ەW0&&=GBv{]vr CC7hnP]|*- (<J0:@2`Ӵm=^pXd`pu]ߴNj
+@]K(a0w71V2Ƭbi/9 1JbWl׍[r;ƽhy |y;^"WEB jq%5L1cނ1"%0>xk1 4ml9E]]?Ipuo^R"H"csg^I5kڀTUTЦ{-Ώec5l0 W]~Zŗ-ve_:[oo3Ve]+Ԭ'U]wzg/< aƸ4)eMG! o*  O^Gkhâtقࠜ:K/˼ׂhm'g֕JeX8>Vr*mqsL*-Kwbc&)E~',2s)kNheOBkn|1> 9~QEƴ'_.,zCGx1NF|b1I|#hec s^->F>nǭ ~>я3CoU-6QlPF 3>oKD2ITQ-B7躢_|ͺ@C*젟"c9"l2"6ۘv[l|\uĸ(oLhOcsCB*p¥Ȧ.: ޺
+Bx30lTBd )DCMȱ.K#hdPD-$N~b 2i 7[,dtƃ'A1ʼnl%6=x*KThp?F0M:4HƔ+}C.uwH=nv(Kq$d ƫ!0h"r0P4 3
+WW |mGC6k%?\%>^lXPƂD`NfʜMPw$W儤_RVu@Be8D/ٲU@jROh>ͯ"ˀI MuU(2|aY,4+UҍR)g3"U`rʲµ[ .IBhnaoF}{!}ssH{SĞԗ
+lj"4f&b= _pbD c^#CfKyi"/_V2Qho>>!V
+cb{ţ5>   -}8Z+Y: XZyu$,1gg| 亸AWպPϊp~Dݳ:)V[3>h!~c'ַ!z*u`d>l#5ۓ= Eib[dn nW"GbGJh1+;>~cE<"icܶы@1>:|7I:p^L[
+endstream
+endobj
+699 0 obj
+<< /Type /Page /Contents 700 0 R /Resources 698 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+701 0 obj
+<< /D [ 699 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+702 0 obj
+<< /D [ 699 0 R /XYZ 79.752 719.213 null ] >>
+endobj
+703 0 obj
+<< /D [ 699 0 R /XYZ 79.752 708.254 null ] >>
+endobj
+704 0 obj
+<< /D [ 699 0 R /XYZ 79.752 650.252 null ] >>
+endobj
+705 0 obj
+<< /D [ 699 0 R /XYZ 79.752 639.293 null ] >>
+endobj
+706 0 obj
+<< /D [ 699 0 R /XYZ 79.752 628.334 null ] >>
+endobj
+707 0 obj
+<< /D [ 699 0 R /XYZ 79.752 617.375 null ] >>
+endobj
+708 0 obj
+<< /D [ 699 0 R /XYZ 79.752 583.283 null ] >>
+endobj
+709 0 obj
+<< /D [ 699 0 R /XYZ 79.752 572.324 null ] >>
+endobj
+710 0 obj
+<< /D [ 699 0 R /XYZ 79.752 561.365 null ] >>
+endobj
+711 0 obj
+<< /D [ 699 0 R /XYZ 79.752 550.406 null ] >>
+endobj
+712 0 obj
+<< /D [ 699 0 R /XYZ 79.752 539.447 null ] >>
+endobj
+713 0 obj
+<< /D [ 699 0 R /XYZ 79.752 457.535 null ] >>
+endobj
+714 0 obj
+<< /D [ 699 0 R /XYZ 79.752 411.488 null ] >>
+endobj
+715 0 obj
+<< /D [ 699 0 R /XYZ 79.752 365.441 null ] >>
+endobj
+716 0 obj
+<< /D [ 699 0 R /XYZ 79.752 354.482 null ] >>
+endobj
+717 0 obj
+<< /D [ 699 0 R /XYZ 79.752 343.523 null ] >>
+endobj
+718 0 obj
+<< /D [ 699 0 R /XYZ 79.752 332.564 null ] >>
+endobj
+719 0 obj
+<< /D [ 699 0 R /XYZ 79.752 321.605 null ] >>
+endobj
+720 0 obj
+<< /D [ 699 0 R /XYZ 79.752 310.646 null ] >>
+endobj
+721 0 obj
+<< /D [ 699 0 R /XYZ 79.752 228.733 null ] >>
+endobj
+722 0 obj
+<< /D [ 699 0 R /XYZ 79.752 182.686 null ] >>
+endobj
+723 0 obj
+<< /D [ 699 0 R /XYZ 79.752 112.729 null ] >>
+endobj
+724 0 obj
+<< /D [ 699 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+698 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F23 660 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+727 0 obj
+<< /Filter /FlateDecode /Length 2800 >>
+stream
+xڽˎ>_ѷn.5$ n+#K$wb=U|آ즬 K&Yb(ztCo~~G?&#Yysa7iFDz&Єn;b苶Gdm^t~yʾ\Ԣ̪
+71k YIIƛ=u/Z|]optN/]p!ïenT&!Hdh)%K:y9!Ģ1q0Np%VFB:1y[ޱp5rcKJ&'{ݎ8OtaDDSbl:-9%$_hzNIę
+
+&R9{K<'eQC-k+'7uSo y&Tq[1M?N|u&CMԆT? I3b(Qg@3n2F$ȄYpd7'B2
+Y6I@x9Z?8
+IE`&툾Ǧ|KY?Or<[8 d[j؇Q;0*]-{.H\bad <Hr?ٕq; E\1!q CEr;Z!H 3Rzk!DYI&ga B\DZ@-d(Mq< (IsCǕd<ؽEDGR3~$>)vMBqr]C. -Ɂ-{޾)P&+9(3DbҔhX`v1lzĖk*(™
+wݴcvqP(kQVm=4}7QjĒ t)SHGWDzJgYj55ڨiTMG&%|!M.mڥQ.TD5!窬)5ApܤSGȶW K02^Sav"dt]%AbDb!
+&9f!AYP]/T])o'd!=xQ\sȤ ɤdf˫dƭ\r}>tԑ˶4 T;UM0N ཋӈPWY
+d6?po\Ɇ o0R?[D'Gz;R:GXԨJJu+fS(S8"9rw .uUmx+X>\>Kgsȭ~moIȿ/Lgpm W\ִ0YauUv})sI^xj9qD ؒ̓8( `$]LG4+^K_PHMR-P3fMϮ틫4zevB2Ix&IJy8+y].Cn2<z
+ZlLNiН/DF]s_Օ+v0 I=F+?&RVp,tA#MDq+"s.J{ m!lo?$˨" 1Y?62H5
+C1kJg|њʻxBrY#u26`+VSJc؆.bpIY>21n:%<U!xPWe~۠`p[ˉ!9vhnԜ$Ɉd aoEabDB]rQ6C<}GE]rפgk׮/vF|f; -0BlK>Zʬ/wUm#ځ6nбqpߎ%Ʃik6˺ٍ>i1gn| Pti*lhup\;(r!7O2|CبVk: LA,/:}cGXE[Y
+xwTXnîPMB$ae$Ӗ2t@VjC{"̟tcwm2q)$MtIa}z¢!`,+&~7s^,SM͇
+GPӥvwsBh2C S?]+!s0WTdddsgܿ3R9{ˆ̨<a M4PCku
+S w9:'{wl$Yt!e =UrvĖJ #s/[
+endstream
+endobj
+726 0 obj
+<< /Type /Page /Contents 727 0 R /Resources 725 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+728 0 obj
+<< /D [ 726 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+729 0 obj
+<< /D [ 726 0 R /XYZ 79.752 719.19 null ] >>
+endobj
+730 0 obj
+<< /D [ 726 0 R /XYZ 79.752 708.232 null ] >>
+endobj
+731 0 obj
+<< /D [ 726 0 R /XYZ 79.752 697.273 null ] >>
+endobj
+732 0 obj
+<< /D [ 726 0 R /XYZ 79.752 686.314 null ] >>
+endobj
+733 0 obj
+<< /D [ 726 0 R /XYZ 79.752 652.132 null ] >>
+endobj
+734 0 obj
+<< /D [ 726 0 R /XYZ 79.752 605.995 null ] >>
+endobj
+735 0 obj
+<< /D [ 726 0 R /XYZ 79.752 571.814 null ] >>
+endobj
+736 0 obj
+<< /D [ 726 0 R /XYZ 79.752 525.677 null ] >>
+endobj
+737 0 obj
+<< /D [ 726 0 R /XYZ 79.752 514.718 null ] >>
+endobj
+738 0 obj
+<< /D [ 726 0 R /XYZ 79.752 468.582 null ] >>
+endobj
+739 0 obj
+<< /D [ 726 0 R /XYZ 79.752 444.535 null ] >>
+endobj
+740 0 obj
+<< /D [ 726 0 R /XYZ 79.752 433.576 null ] >>
+endobj
+741 0 obj
+<< /D [ 726 0 R /XYZ 79.752 422.617 null ] >>
+endobj
+742 0 obj
+<< /D [ 726 0 R /XYZ 79.752 411.658 null ] >>
+endobj
+743 0 obj
+<< /D [ 726 0 R /XYZ 79.752 400.699 null ] >>
+endobj
+744 0 obj
+<< /D [ 726 0 R /XYZ 79.752 389.74 null ] >>
+endobj
+745 0 obj
+<< /D [ 726 0 R /XYZ 79.752 378.781 null ] >>
+endobj
+746 0 obj
+<< /D [ 726 0 R /XYZ 79.752 330.824 null ] >>
+endobj
+747 0 obj
+<< /D [ 726 0 R /XYZ 79.752 279.053 null ] >>
+endobj
+748 0 obj
+<< /D [ 726 0 R /XYZ 79.752 227.283 null ] >>
+endobj
+750 0 obj
+<< /D [ 726 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+751 0 obj
+<< /D [ 726 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+725 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F80 749 0 R /F79 668 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+755 0 obj
+<< /Filter /FlateDecode /Length 2875 >>
+stream
+xڝZ[s۸~ϯS+ͬ/~miN[!hhHdVd
+Mi0sXFC%F#<d`RaarU!uxBYHN_iE6uW2%#
+m(b:zt%&0T'J$'q))>⊃"ٖEjE$wQ@l^74Y @)bI{!RYb`'L{4 aO0ۀ5n02f^"K!i7~s|1QkD\o\BLw|뀛/uH*Y!!\Ez_&1C/c>44IQzxPlF5yݴAj@@xլW"_&1c IϢ8> \oS¢C8\vY]3ᩐᙓDCOULT8?S*x{\R0!yaaKX}7oծ 6T8X߿~VO#<Mkʭ
+ pʼL^XܻIω0r4c32ȅ
+#E6L2k74%?x.˻DN!%1R{0Jf="30Ni|^(a`+3L)^P&+Z{闲1Aє ')rq.r'-lz tg:UZ0I^OXQY \ >HƉC $K1LND 7 P G3:t @f;Іh LCŲf.^1GZz+́7=JrOCj;~!/E~?l!1~:& 9\D ~ہf !UIR5xQ41XТB#hiE\G H1#.Gw'K :ydG?]9C,^r?@EV)&L$nO"RgU% LW %!@?9qc~9Ě\D.!wwh₄&;Ε9;sakJWbdJt&7?UBP* #,_) a,f6
+Ǟ,IMhv5ĸ>耵bY/R1Mþ/^E]䱐 1Kb NǨa7n8D}6JIUTmە
+endstream
+endobj
+754 0 obj
+<< /Type /Page /Contents 755 0 R /Resources 753 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R /Annots 771 0 R >>
+endobj
+771 0 obj
+[ 752 0 R ]
+endobj
+752 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.359 528.11 383.821 540.046 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
+endobj
+756 0 obj
+<< /D [ 754 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+757 0 obj
+<< /D [ 754 0 R /XYZ 79.752 718.51 null ] >>
+endobj
+758 0 obj
+<< /D [ 754 0 R /XYZ 79.752 707.551 null ] >>
+endobj
+759 0 obj
+<< /D [ 754 0 R /XYZ 79.752 600.095 null ] >>
+endobj
+760 0 obj
+<< /D [ 754 0 R /XYZ 79.752 589.136 null ] >>
+endobj
+761 0 obj
+<< /D [ 754 0 R /XYZ 79.752 516.306 null ] >>
+endobj
+762 0 obj
+<< /D [ 754 0 R /XYZ 79.752 467.386 null ] >>
+endobj
+763 0 obj
+<< /D [ 754 0 R /XYZ 79.752 336.02 null ] >>
+endobj
+764 0 obj
+<< /D [ 754 0 R /XYZ 79.752 325.061 null ] >>
+endobj
+765 0 obj
+<< /D [ 754 0 R /XYZ 79.752 186.323 null ] >>
+endobj
+766 0 obj
+<< /D [ 754 0 R /XYZ 79.752 118.637 null ] >>
+endobj
+767 0 obj
+<< /D [ 754 0 R /XYZ 94.613 89.795 null ] >>
+endobj
+753 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F23 660 0 R /F73 189 0 R /F69 183 0 R /F46 176 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R /F56 769 0 R /F52 770 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+774 0 obj
+<< /Filter /FlateDecode /Length 2205 >>
+stream
+xڵYMo6W6pM16a^: AX,<`/ERmG1=KP|ij|݇4ҒJ>{^gd4bj$AXv?6_ܳ]Q]>z0ߟa;f0:.F35%@dK0A؏ey˗]zxU{AEK*|m`}CfiջhhH=:A%h]⺣)F <^U&\v]vfǿFɖqdWrF6lbXyU=#o;T ў7g\.zAPTfλ3ׯؼye>uvTfD/z>ՖeY$jAc,VæX6F2ܑ١?1ͧlφJ8qはy"
+U~HmڻcibH~:.&O 8*^^FiN0 RZV&RLzJuB!-$%JG^S
+iY&ӞnjC`" $@G|$b,7z~e őtveUa2a6^eEl$ҕΨ1xHN=Wua归i7 JVqdהT*T\ bxucMtcGwiT=G a0!Q>`χ WUok;d,ىB8(OnM7Lj4\@ID̰㏖A<*Ǎ.|xz:R&CC(2%
+獝)зB}0HƠ=Ai }6__`aA)cԕ㺾_B6;)_zRz H-,dA #I`˭ct}a5޹A#p;!fC(
+Tob*tUl2,%' =U[ObcmENAERn۩
+endstream
+endobj
+773 0 obj
+<< /Type /Page /Contents 774 0 R /Resources 772 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R >>
+endobj
+775 0 obj
+<< /D [ 773 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+776 0 obj
+<< /D [ 773 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+777 0 obj
+<< /D [ 773 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+778 0 obj
+<< /D [ 773 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+779 0 obj
+<< /D [ 773 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+780 0 obj
+<< /D [ 773 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+781 0 obj
+<< /D [ 773 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+782 0 obj
+<< /D [ 773 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+783 0 obj
+<< /D [ 773 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+784 0 obj
+<< /D [ 773 0 R /XYZ 79.752 615.407 null ] >>
+endobj
+785 0 obj
+<< /D [ 773 0 R /XYZ 79.752 604.448 null ] >>
+endobj
+786 0 obj
+<< /D [ 773 0 R /XYZ 79.752 593.489 null ] >>
+endobj
+787 0 obj
+<< /D [ 773 0 R /XYZ 79.752 582.53 null ] >>
+endobj
+788 0 obj
+<< /D [ 773 0 R /XYZ 79.752 571.571 null ] >>
+endobj
+789 0 obj
+<< /D [ 773 0 R /XYZ 79.752 560.613 null ] >>
+endobj
+790 0 obj
+<< /D [ 773 0 R /XYZ 79.752 549.654 null ] >>
+endobj
+791 0 obj
+<< /D [ 773 0 R /XYZ 79.752 538.695 null ] >>
+endobj
+792 0 obj
+<< /D [ 773 0 R /XYZ 79.752 527.736 null ] >>
+endobj
+793 0 obj
+<< /D [ 773 0 R /XYZ 79.752 516.777 null ] >>
+endobj
+794 0 obj
+<< /D [ 773 0 R /XYZ 79.752 505.818 null ] >>
+endobj
+795 0 obj
+<< /D [ 773 0 R /XYZ 79.752 494.859 null ] >>
+endobj
+796 0 obj
+<< /D [ 773 0 R /XYZ 79.752 483.9 null ] >>
+endobj
+797 0 obj
+<< /D [ 773 0 R /XYZ 79.752 472.941 null ] >>
+endobj
+798 0 obj
+<< /D [ 773 0 R /XYZ 79.752 461.982 null ] >>
+endobj
+799 0 obj
+<< /D [ 773 0 R /XYZ 79.752 451.023 null ] >>
+endobj
+800 0 obj
+<< /D [ 773 0 R /XYZ 79.752 333.464 null ] >>
+endobj
+801 0 obj
+<< /D [ 773 0 R /XYZ 79.752 322.505 null ] >>
+endobj
+802 0 obj
+<< /D [ 773 0 R /XYZ 79.752 311.547 null ] >>
+endobj
+803 0 obj
+<< /D [ 773 0 R /XYZ 79.752 300.588 null ] >>
+endobj
+804 0 obj
+<< /D [ 773 0 R /XYZ 79.752 289.629 null ] >>
+endobj
+805 0 obj
+<< /D [ 773 0 R /XYZ 79.752 278.67 null ] >>
+endobj
+25 0 obj
+<< /D [ 773 0 R /XYZ 79.37 253.215 null ] >>
+endobj
+772 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F79 668 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+809 0 obj
+<< /Filter /FlateDecode /Length 3347 >>
+stream
+xڥZo _@nLzhkW\+Bv%G %CȲJ?R6l~vcUL
+7 XJ(\7o2]qKO':KL3APlC[n/.m[;fn=O,{,10JHwCTu ɴ",)
+R^R ]}3myQT D]~ߕu(lX
+)wŕg{(,wHp *C
+Ȉf*%/[2tS7\\j?(ԃy ]&o:"ͩu+ض)exd2 }8]}_Z͚JbHy7],eD¦'diA(%б..6,}ס5>rwWW]^Vm/<c^Ùo3!ZIZ{yϻ lۢde+e
++h`נޫ^L(?
+}W|8?
+ C=~
+mO]cϐ +1lbwPb`_ߖ;gd싆kQL+ӗ|~~=I"f>hPIpQیe e[ڞhAAw\D)»L5!8h0ݔ]W5b4W9Br0d|b@.A8ZE)KD/Gm! m^{, >f<=aﯝE˪[e֒Lۍ "VsQ
+4n0σ'lw%=5eu 8<bgV1VZ S=,w^}r3 !MSw;*'
+00Q1Ƣbl|`Q3^+2hgΜ ,dvccH#F8҇`3
+&R~F#$LϽ&>ݻ(evs~`
+Ar_we{B(33(&ZoL uLL䌳,6ܲqbE`>N.Cl q<f3#JI$} ¢9t`'BNšsYShHpzu끄I >Ӂ&rhS(і((!'Fma {plܜn5>HM߱Z\SektTʍ`3l©Ӯ;52th@88&T݅qige9(o-!g\NSFCS+
+mL4HL#Hx6Z 77rYɺ}7PhK{EWgJPJ4d=S^P& P.p
+1n*p=<K:Q(;u]/ aqPAJ%͜fuYaYTE&,*<S-7Q^Dآ^ѩ3O&"{ZŻaa'(Tdx{|=W
+)whHxj?unpbA980cE@N
+U@u̞s7ʈ2e!մ5ľ2Nډ/ǀCPC̎{xuDeb̬9# D¶B!ķ̆Qf#2k!B$:m 8Yc7]l5)W0EٵQc3BkY,#Cu;
+v}߀v]OAKoF6_[keC2Qf<)
+@_V?+hɟY1pܦۺ"mR5
+endstream
+endobj
+808 0 obj
+<< /Type /Page /Contents 809 0 R /Resources 807 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 603 0 R /Annots 827 0 R >>
+endobj
+827 0 obj
+[ 806 0 R ]
+endobj
+806 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.845 666.194 307.307 678.408 ]/A << /S /GoTo /D (Hfootnote.3) >> >>
+endobj
+810 0 obj
+<< /D [ 808 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+812 0 obj
+<< /D [ 808 0 R /XYZ 79.752 426.117 null ] >>
+endobj
+813 0 obj
+<< /D [ 808 0 R /XYZ 79.752 385.27 null ] >>
+endobj
+814 0 obj
+<< /D [ 808 0 R /XYZ 79.752 374.311 null ] >>
+endobj
+815 0 obj
+<< /D [ 808 0 R /XYZ 79.752 358.371 null ] >>
+endobj
+816 0 obj
+<< /D [ 808 0 R /XYZ 79.752 347.412 null ] >>
+endobj
+817 0 obj
+<< /D [ 808 0 R /XYZ 79.752 292.618 null ] >>
+endobj
+818 0 obj
+<< /D [ 808 0 R /XYZ 79.752 239.816 null ] >>
+endobj
+819 0 obj
+<< /D [ 808 0 R /XYZ 79.752 228.857 null ] >>
+endobj
+820 0 obj
+<< /D [ 808 0 R /XYZ 79.752 217.898 null ] >>
+endobj
+821 0 obj
+<< /D [ 808 0 R /XYZ 79.752 206.939 null ] >>
+endobj
+822 0 obj
+<< /D [ 808 0 R /XYZ 79.752 195.98 null ] >>
+endobj
+823 0 obj
+<< /D [ 808 0 R /XYZ 79.752 185.021 null ] >>
+endobj
+824 0 obj
+<< /D [ 808 0 R /XYZ 79.752 174.062 null ] >>
+endobj
+825 0 obj
+<< /D [ 808 0 R /XYZ 79.752 133.215 null ] >>
+endobj
+826 0 obj
+<< /D [ 808 0 R /XYZ 94.613 102.381 null ] >>
+endobj
+807 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F80 749 0 R /F22 473 0 R /F82 811 0 R /F23 660 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+830 0 obj
+<< /Filter /FlateDecode /Length 2701 >>
+stream
+xZ[۸~ϯpчzwJ
+,zfahlyF-lË,z<q/E#ϝ_峜k9^bDьPfJ1_7MsoWlˮjj7hYږ=.W!+&9|rޅ>Up"nrfSܔꊛæh<,$a<B(Q3F`d³F˜ph%{^ "be$g1=r_w;`}nna7[?=?CZLW~]mߏÿ\pJ8 AT:D.6վ
+Lxt:E$CtDȯmȄ=Y\GOqI,ʻ 7nlb<@!9Yϫu_m6uDx9QbO^
+)T\_d|^ӽVk7H,[?sss nuٖC
+ڦjC$n/w鹻R=6dcYm:Xqa.FO3AUL3L1\\y@z!%msعfnZbY}_ñճbw\J=Q= o0jIV7M~s64+(;%ix!k6zte+LKF̓=SYl_v=;Q|ꅝ#t. )i.΢H9(]T}P`*PN<ӹ"7j+ٚI]ևmՕq'ɲ,V~[X+Tf?֫\/XhMJy+xG /fޚ`*:pv:zzp m` 7z3]~ y;9_ M.-Nc0,FIS~[Sb":-$(Cl&/e](z" V dm/Rɍ?EeiA?$t}B褰/WDY-(,޻%@a(r5 u˗o:(g'~oɇb
+
+;mGeNA:C|!ĥ{E!xwF-<HÇU]0j 3_5va +p? j']GhTkb2Atd|$׺7nlI1 u61YFxX'])N2#7%iCŲY[sߠ+ ]
+ Mi<2
+_$ Sr<KJs?,E]5 {)g; J#OH!
+)neZ}ax>hz3C yУ!`S 'E5Q,b5?&~_0",s RI`׍L!6ya#do/''"¢g6Ɠcl
+endstream
+endobj
+829 0 obj
+<< /Type /Page /Contents 830 0 R /Resources 828 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+831 0 obj
+<< /D [ 829 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+832 0 obj
+<< /D [ 829 0 R /XYZ 79.752 754.884 null ] >>
+endobj
+833 0 obj
+<< /D [ 829 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+834 0 obj
+<< /D [ 829 0 R /XYZ 79.752 649.28 null ] >>
+endobj
+835 0 obj
+<< /D [ 829 0 R /XYZ 79.752 560.613 null ] >>
+endobj
+836 0 obj
+<< /D [ 829 0 R /XYZ 79.752 549.654 null ] >>
+endobj
+837 0 obj
+<< /D [ 829 0 R /XYZ 79.752 538.695 null ] >>
+endobj
+838 0 obj
+<< /D [ 829 0 R /XYZ 79.752 527.736 null ] >>
+endobj
+839 0 obj
+<< /D [ 829 0 R /XYZ 79.752 486.889 null ] >>
+endobj
+840 0 obj
+<< /D [ 829 0 R /XYZ 79.752 475.93 null ] >>
+endobj
+841 0 obj
+<< /D [ 829 0 R /XYZ 79.752 464.971 null ] >>
+endobj
+842 0 obj
+<< /D [ 829 0 R /XYZ 79.752 454.012 null ] >>
+endobj
+843 0 obj
+<< /D [ 829 0 R /XYZ 79.752 443.053 null ] >>
+endobj
+844 0 obj
+<< /D [ 829 0 R /XYZ 79.752 432.094 null ] >>
+endobj
+845 0 obj
+<< /D [ 829 0 R /XYZ 79.752 421.136 null ] >>
+endobj
+846 0 obj
+<< /D [ 829 0 R /XYZ 79.752 410.177 null ] >>
+endobj
+847 0 obj
+<< /D [ 829 0 R /XYZ 79.752 399.218 null ] >>
+endobj
+848 0 obj
+<< /D [ 829 0 R /XYZ 79.752 388.259 null ] >>
+endobj
+849 0 obj
+<< /D [ 829 0 R /XYZ 79.752 377.3 null ] >>
+endobj
+850 0 obj
+<< /D [ 829 0 R /XYZ 79.752 366.341 null ] >>
+endobj
+851 0 obj
+<< /D [ 829 0 R /XYZ 79.752 355.382 null ] >>
+endobj
+852 0 obj
+<< /D [ 829 0 R /XYZ 79.752 344.423 null ] >>
+endobj
+853 0 obj
+<< /D [ 829 0 R /XYZ 79.752 333.464 null ] >>
+endobj
+854 0 obj
+<< /D [ 829 0 R /XYZ 79.752 322.505 null ] >>
+endobj
+855 0 obj
+<< /D [ 829 0 R /XYZ 79.752 311.547 null ] >>
+endobj
+856 0 obj
+<< /D [ 829 0 R /XYZ 79.752 300.588 null ] >>
+endobj
+857 0 obj
+<< /D [ 829 0 R /XYZ 79.752 289.629 null ] >>
+endobj
+858 0 obj
+<< /D [ 829 0 R /XYZ 79.752 212.916 null ] >>
+endobj
+859 0 obj
+<< /D [ 829 0 R /XYZ 79.752 201.957 null ] >>
+endobj
+860 0 obj
+<< /D [ 829 0 R /XYZ 79.752 190.999 null ] >>
+endobj
+861 0 obj
+<< /D [ 829 0 R /XYZ 79.752 180.04 null ] >>
+endobj
+862 0 obj
+<< /D [ 829 0 R /XYZ 79.752 169.081 null ] >>
+endobj
+863 0 obj
+<< /D [ 829 0 R /XYZ 79.752 158.122 null ] >>
+endobj
+864 0 obj
+<< /D [ 829 0 R /XYZ 79.752 147.163 null ] >>
+endobj
+865 0 obj
+<< /D [ 829 0 R /XYZ 79.752 136.204 null ] >>
+endobj
+866 0 obj
+<< /D [ 829 0 R /XYZ 79.752 125.245 null ] >>
+endobj
+867 0 obj
+<< /D [ 829 0 R /XYZ 79.752 114.286 null ] >>
+endobj
+868 0 obj
+<< /D [ 829 0 R /XYZ 79.752 103.327 null ] >>
+endobj
+869 0 obj
+<< /D [ 829 0 R /XYZ 79.752 92.368 null ] >>
+endobj
+870 0 obj
+<< /D [ 829 0 R /XYZ 79.752 81.41 null ] >>
+endobj
+828 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+874 0 obj
+<< /Filter /FlateDecode /Length 2437 >>
+stream
+xڵZYoH~ w>샟 @K%D" 2}/M˒Z; Y]GUUSx<_p<"aWyp؄# +/ h% ’LM?Ý4Le ?@)#iTS@HU3gQS=jD4͙ (0~_^enj9g]MUw)Vwa#
+Q*!f(;,(jrj3:q^6M⴮o$ReۮrM],AF UfY˟rnE7٭9bDYd'fD%EEJ<̈́ NUs$~&c Ie-J*_/ +/&C]vuZ}-6;QUy&k,&=U^?Vwio76m,|xɇ;b&[KALM$Vr7lZ7ΨM+d]Ul広W_
+E^o]ma²wV7Cf3A"5|QXGeZ!-t*6c]5Ҙ2>^<2-glX:7x:G !Q A\Td!
+[;*Cz/Kf(+m0HSMYMr"|N,dp@DS.
+4h
+TtM@CG"Tf$&8xpOw'oSiFhH+t@B7;?&wL
+MՖV[c[3}vJat].GKOL=X Rf`pLu2#Vd:m=}'US-i3.ʣk'zsY1X):3h}AZZ76 xV/(K09RMpX k`f3 {S5MXrpI3!bCg{>',f- W}]x1!2}>;%G K
+/yY[6vo0dY~+pܬ;r̅HO"C_h0adGD
+endstream
+endobj
+873 0 obj
+<< /Type /Page /Contents 874 0 R /Resources 872 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+875 0 obj
+<< /D [ 873 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+876 0 obj
+<< /D [ 873 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+877 0 obj
+<< /D [ 873 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+878 0 obj
+<< /D [ 873 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+879 0 obj
+<< /D [ 873 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+880 0 obj
+<< /D [ 873 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+881 0 obj
+<< /D [ 873 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+882 0 obj
+<< /D [ 873 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+883 0 obj
+<< /D [ 873 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+884 0 obj
+<< /D [ 873 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+885 0 obj
+<< /D [ 873 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+886 0 obj
+<< /D [ 873 0 R /XYZ 79.752 654.377 null ] >>
+endobj
+887 0 obj
+<< /D [ 873 0 R /XYZ 79.752 643.418 null ] >>
+endobj
+888 0 obj
+<< /D [ 873 0 R /XYZ 79.752 577.072 null ] >>
+endobj
+889 0 obj
+<< /D [ 873 0 R /XYZ 79.752 566.113 null ] >>
+endobj
+890 0 obj
+<< /D [ 873 0 R /XYZ 79.752 489.517 null ] >>
+endobj
+891 0 obj
+<< /D [ 873 0 R /XYZ 79.752 478.558 null ] >>
+endobj
+892 0 obj
+<< /D [ 873 0 R /XYZ 79.752 467.599 null ] >>
+endobj
+893 0 obj
+<< /D [ 873 0 R /XYZ 79.752 363.568 null ] >>
+endobj
+894 0 obj
+<< /D [ 873 0 R /XYZ 79.752 352.61 null ] >>
+endobj
+895 0 obj
+<< /D [ 873 0 R /XYZ 79.752 341.651 null ] >>
+endobj
+896 0 obj
+<< /D [ 873 0 R /XYZ 79.752 330.692 null ] >>
+endobj
+897 0 obj
+<< /D [ 873 0 R /XYZ 79.752 319.733 null ] >>
+endobj
+898 0 obj
+<< /D [ 873 0 R /XYZ 79.752 308.774 null ] >>
+endobj
+899 0 obj
+<< /D [ 873 0 R /XYZ 79.752 297.815 null ] >>
+endobj
+900 0 obj
+<< /D [ 873 0 R /XYZ 79.752 286.856 null ] >>
+endobj
+901 0 obj
+<< /D [ 873 0 R /XYZ 79.752 275.897 null ] >>
+endobj
+902 0 obj
+<< /D [ 873 0 R /XYZ 79.752 264.938 null ] >>
+endobj
+903 0 obj
+<< /D [ 873 0 R /XYZ 79.752 253.979 null ] >>
+endobj
+904 0 obj
+<< /D [ 873 0 R /XYZ 79.752 243.021 null ] >>
+endobj
+905 0 obj
+<< /D [ 873 0 R /XYZ 79.752 232.062 null ] >>
+endobj
+906 0 obj
+<< /D [ 873 0 R /XYZ 79.752 221.103 null ] >>
+endobj
+907 0 obj
+<< /D [ 873 0 R /XYZ 79.752 210.144 null ] >>
+endobj
+908 0 obj
+<< /D [ 873 0 R /XYZ 79.752 199.185 null ] >>
+endobj
+909 0 obj
+<< /D [ 873 0 R /XYZ 79.752 188.226 null ] >>
+endobj
+910 0 obj
+<< /D [ 873 0 R /XYZ 79.752 177.267 null ] >>
+endobj
+911 0 obj
+<< /D [ 873 0 R /XYZ 79.752 166.308 null ] >>
+endobj
+912 0 obj
+<< /D [ 873 0 R /XYZ 79.752 155.349 null ] >>
+endobj
+913 0 obj
+<< /D [ 873 0 R /XYZ 79.752 144.39 null ] >>
+endobj
+914 0 obj
+<< /D [ 873 0 R /XYZ 79.752 133.431 null ] >>
+endobj
+915 0 obj
+<< /D [ 873 0 R /XYZ 79.752 122.473 null ] >>
+endobj
+916 0 obj
+<< /D [ 873 0 R /XYZ 79.752 111.514 null ] >>
+endobj
+917 0 obj
+<< /D [ 873 0 R /XYZ 79.752 100.555 null ] >>
+endobj
+918 0 obj
+<< /D [ 873 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+919 0 obj
+<< /D [ 873 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+872 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+922 0 obj
+<< /Filter /FlateDecode /Length 2704 >>
+stream
+xڭZKۺWz[
+'3(r¤ Y rx F>X]e2+fd`E2JXF8Wf.SɤHyuF`LZzi FtF!@:K#=s[79##f#,Pf6DE3)S[0j_M<M/NhC1Ӊ
+` ,_
+E`\lU_wwy{)eMHOJ"𜈫4KmI&]Ю%Cω6/ZVArOJwI5iĭ^O,kHWA6WE9X("00+«q87V3m<eׯp=`ZN$&,d^ĔHabHa b:2U7:*C'fQVnY F@ʴIW儆ҸZ21`>=xOu(|&J$sFuȒ56PMhH$V ;D!|Z
+8 L9pic]&S)\^ma^<~Z>U”
+cb49#G~( XM|U'qVF)XF춹k_~?1>8$eRN]4͟ B)COS4eO!Ze1y9+IRJ P؜ϫ2W<*IeGN֒%j<΢yeZ|מswy12bt d4FdBibLɥPQ+T^EC~}UW=&rxzbaԩ>=+d)u<SRa/HX`x)*0ljFNo׬e
+թ厍5T.6t|~2)sӎ/`Wؿm]s|hl8pqnc5mZ*! ?L[fkgMWO=\ AC$_1P kڵ]m~O<m~&R!
+cN'5Jƕ0ʠ6P2 4 53's6Ĥ S+pfOHcGmu wWcYu.ɹ\6ܼD
+l`_6Tz wc/spl.1 ul3{<AG0o-i>/4s@mS
+J(`+3cxjC/{?7$8F 
+ܣn/iO 4,3iƱ12T:Px|8 ',=x"w睕Ջ3j7I秱a덻ǯ)N> I0_5)(5q0"X g7/p֮һb`C]r忚sG$l ED݌x&;}$xU=UI`H&FRg#p[6h}l0.REUYX0k{t/Cbm'w?g!QK$N|S6ϲ48dWDQO1rf5>-g1ֲݯ@kC+t09_=yw=)o<UN6KSlri^$}
+6Ŏj{{7ZԶV}'WӿW$f9<)b!_[V[g
+endstream
+endobj
+921 0 obj
+<< /Type /Page /Contents 922 0 R /Resources 920 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+923 0 obj
+<< /D [ 921 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+924 0 obj
+<< /D [ 921 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+925 0 obj
+<< /D [ 921 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+926 0 obj
+<< /D [ 921 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+927 0 obj
+<< /D [ 921 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+928 0 obj
+<< /D [ 921 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+929 0 obj
+<< /D [ 921 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+930 0 obj
+<< /D [ 921 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+931 0 obj
+<< /D [ 921 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+932 0 obj
+<< /D [ 921 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+933 0 obj
+<< /D [ 921 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+934 0 obj
+<< /D [ 921 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+935 0 obj
+<< /D [ 921 0 R /XYZ 79.752 594.513 null ] >>
+endobj
+936 0 obj
+<< /D [ 921 0 R /XYZ 79.752 583.554 null ] >>
+endobj
+937 0 obj
+<< /D [ 921 0 R /XYZ 79.752 542.734 null ] >>
+endobj
+938 0 obj
+<< /D [ 921 0 R /XYZ 79.752 531.775 null ] >>
+endobj
+939 0 obj
+<< /D [ 921 0 R /XYZ 79.752 520.816 null ] >>
+endobj
+940 0 obj
+<< /D [ 921 0 R /XYZ 79.752 509.857 null ] >>
+endobj
+941 0 obj
+<< /D [ 921 0 R /XYZ 79.752 498.898 null ] >>
+endobj
+942 0 obj
+<< /D [ 921 0 R /XYZ 79.752 487.939 null ] >>
+endobj
+943 0 obj
+<< /D [ 921 0 R /XYZ 79.752 459.075 null ] >>
+endobj
+944 0 obj
+<< /D [ 921 0 R /XYZ 79.752 448.116 null ] >>
+endobj
+945 0 obj
+<< /D [ 921 0 R /XYZ 79.752 407.296 null ] >>
+endobj
+946 0 obj
+<< /D [ 921 0 R /XYZ 79.752 396.337 null ] >>
+endobj
+947 0 obj
+<< /D [ 921 0 R /XYZ 79.752 385.378 null ] >>
+endobj
+948 0 obj
+<< /D [ 921 0 R /XYZ 79.752 374.419 null ] >>
+endobj
+949 0 obj
+<< /D [ 921 0 R /XYZ 79.752 363.46 null ] >>
+endobj
+950 0 obj
+<< /D [ 921 0 R /XYZ 79.752 352.501 null ] >>
+endobj
+951 0 obj
+<< /D [ 921 0 R /XYZ 79.752 341.543 null ] >>
+endobj
+952 0 obj
+<< /D [ 921 0 R /XYZ 79.752 330.584 null ] >>
+endobj
+953 0 obj
+<< /D [ 921 0 R /XYZ 79.752 319.625 null ] >>
+endobj
+954 0 obj
+<< /D [ 921 0 R /XYZ 79.752 308.666 null ] >>
+endobj
+955 0 obj
+<< /D [ 921 0 R /XYZ 79.752 255.891 null ] >>
+endobj
+956 0 obj
+<< /D [ 921 0 R /XYZ 79.752 244.932 null ] >>
+endobj
+957 0 obj
+<< /D [ 921 0 R /XYZ 79.752 233.973 null ] >>
+endobj
+958 0 obj
+<< /D [ 921 0 R /XYZ 79.752 223.014 null ] >>
+endobj
+959 0 obj
+<< /D [ 921 0 R /XYZ 79.752 212.055 null ] >>
+endobj
+960 0 obj
+<< /D [ 921 0 R /XYZ 79.752 111.514 null ] >>
+endobj
+961 0 obj
+<< /D [ 921 0 R /XYZ 79.752 100.555 null ] >>
+endobj
+962 0 obj
+<< /D [ 921 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+963 0 obj
+<< /D [ 921 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+920 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+966 0 obj
+<< /Filter /FlateDecode /Length 2359 >>
+stream
+xZK6p07%X`E&==dƖm!t&oK&~EEVUrO~/ |ͻNRS2y\`XOD*D
+6Fy'/YQyװջHʐS8?aꦟͶyㄛ7}y.+=Ͳ.OtVnm%,<G8'^|, &%X"-4<ӜVh~SBTL(fxhoȞQƳ'=3~`YyW޾ﷷw8[׳wʺq>8u;&x0U;=[dԟ|wwbXH(
+zwx|8|C H{"J]2L Kӌ{<.8E]I)Dx$ikwoZyO 9cv?ohDY( ,K/'Mr8p=꺶o"^?Ϋ_?e2+
+-
+Tp2O;9vE$s -Y)
+ AH*P%2#o)qDf:'M]m/J϶pmggè`*I/ Z)vլ f£d< Y!a\xAEZ r#٘_{5˹0a/&ˇ#+Hx`^.df8ʹP͊ڶ]0Xx,4XK3U=ӛclU5'j9y}6WUc`&u=_naTn攧A1_ k 8k,mבֿV޲Y:FO|ݴX5H;8Y 8`zI=ִaXU;48(Tvo.
+>3HeRDȤ {k۔M E|H Fd
+_X*'Y_H~triNVկMU6P|?_
+Sye1Xњ 6t۵N56Qޘ{H .A !Ž!2a2a8c+ZcQ U)ts7(BK"w0taURස ,庲Fj͇Ϲ*h.<><CE[{vܮ4u5#e%\1;߶Ŷ:_8CR15?co73)mW\8ꊪl{ӏ ?).Η#Wn*[
+ RgD uߔSI`"bᮖu\wv.f2 SרO!mۣB#{U[{ Gͦ7>ko$Ri#MԛyWQ3A
+endstream
+endobj
+965 0 obj
+<< /Type /Page /Contents 966 0 R /Resources 964 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+967 0 obj
+<< /D [ 965 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+968 0 obj
+<< /D [ 965 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+969 0 obj
+<< /D [ 965 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+970 0 obj
+<< /D [ 965 0 R /XYZ 79.752 717.298 null ] >>
+endobj
+971 0 obj
+<< /D [ 965 0 R /XYZ 79.752 706.339 null ] >>
+endobj
+972 0 obj
+<< /D [ 965 0 R /XYZ 79.752 695.38 null ] >>
+endobj
+973 0 obj
+<< /D [ 965 0 R /XYZ 79.752 684.421 null ] >>
+endobj
+974 0 obj
+<< /D [ 965 0 R /XYZ 79.752 643.846 null ] >>
+endobj
+975 0 obj
+<< /D [ 965 0 R /XYZ 79.752 632.887 null ] >>
+endobj
+976 0 obj
+<< /D [ 965 0 R /XYZ 79.752 580.356 null ] >>
+endobj
+977 0 obj
+<< /D [ 965 0 R /XYZ 79.752 569.397 null ] >>
+endobj
+978 0 obj
+<< /D [ 965 0 R /XYZ 79.752 558.438 null ] >>
+endobj
+979 0 obj
+<< /D [ 965 0 R /XYZ 79.752 547.479 null ] >>
+endobj
+980 0 obj
+<< /D [ 965 0 R /XYZ 79.752 536.521 null ] >>
+endobj
+981 0 obj
+<< /D [ 965 0 R /XYZ 79.752 525.562 null ] >>
+endobj
+982 0 obj
+<< /D [ 965 0 R /XYZ 79.752 484.986 null ] >>
+endobj
+983 0 obj
+<< /D [ 965 0 R /XYZ 79.752 474.027 null ] >>
+endobj
+984 0 obj
+<< /D [ 965 0 R /XYZ 79.752 463.069 null ] >>
+endobj
+985 0 obj
+<< /D [ 965 0 R /XYZ 79.752 452.11 null ] >>
+endobj
+986 0 obj
+<< /D [ 965 0 R /XYZ 79.752 441.151 null ] >>
+endobj
+987 0 obj
+<< /D [ 965 0 R /XYZ 79.752 430.192 null ] >>
+endobj
+988 0 obj
+<< /D [ 965 0 R /XYZ 79.752 419.233 null ] >>
+endobj
+989 0 obj
+<< /D [ 965 0 R /XYZ 79.752 408.274 null ] >>
+endobj
+990 0 obj
+<< /D [ 965 0 R /XYZ 79.752 397.315 null ] >>
+endobj
+991 0 obj
+<< /D [ 965 0 R /XYZ 79.752 386.356 null ] >>
+endobj
+992 0 obj
+<< /D [ 965 0 R /XYZ 79.752 375.397 null ] >>
+endobj
+993 0 obj
+<< /D [ 965 0 R /XYZ 79.752 364.438 null ] >>
+endobj
+994 0 obj
+<< /D [ 965 0 R /XYZ 79.752 353.48 null ] >>
+endobj
+995 0 obj
+<< /D [ 965 0 R /XYZ 79.752 342.521 null ] >>
+endobj
+996 0 obj
+<< /D [ 965 0 R /XYZ 79.752 326.852 null ] >>
+endobj
+997 0 obj
+<< /D [ 965 0 R /XYZ 79.752 315.893 null ] >>
+endobj
+29 0 obj
+<< /D [ 965 0 R /XYZ 79.37 301.42 null ] >>
+endobj
+998 0 obj
+<< /D [ 965 0 R /XYZ 79.752 188.226 null ] >>
+endobj
+999 0 obj
+<< /D [ 965 0 R /XYZ 79.752 177.267 null ] >>
+endobj
+1000 0 obj
+<< /D [ 965 0 R /XYZ 79.752 166.308 null ] >>
+endobj
+1001 0 obj
+<< /D [ 965 0 R /XYZ 79.752 155.349 null ] >>
+endobj
+1002 0 obj
+<< /D [ 965 0 R /XYZ 79.752 144.39 null ] >>
+endobj
+1003 0 obj
+<< /D [ 965 0 R /XYZ 79.752 133.431 null ] >>
+endobj
+1004 0 obj
+<< /D [ 965 0 R /XYZ 79.752 122.473 null ] >>
+endobj
+1005 0 obj
+<< /D [ 965 0 R /XYZ 79.752 111.514 null ] >>
+endobj
+1006 0 obj
+<< /D [ 965 0 R /XYZ 79.752 100.555 null ] >>
+endobj
+1007 0 obj
+<< /D [ 965 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+1008 0 obj
+<< /D [ 965 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+964 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1011 0 obj
+<< /Filter /FlateDecode /Length 2040 >>
+stream
+xڵZ]o6}ϯ0HX~
+0(n%m:&K4R$mIeٔag?_pE~?_zVG&W329ϔ$K2&[4ʥdz% #"oԽi]o#B?'f9"L9p+'X4}3wuLjD4TyT84j}L,UvM]oWwaB\1%\e0-3-4bCeUR@ @A%QOBMG?\9b<I'y,%Ey$8"D. $M#
+Igc ԫh:ݲٙKQPb4)߄ WoI>b;ATIdޟ M5l}v[sD{xz.ffe`דLwTvI.ϊ,k6YOdD#yOPL#E-8+{DZ/*3yo<YR9tIh3'rJ*kJz ͊u[*7W•ga< ]ԾMCۄ=b]6YӮʺMRWVZX
+>v.}Cb>IJ#4L 4m; ėx0 @+tiNtYҜQg$huפ:Kq\pZ .JdN78efy A@O#2_Z`"diAIL:D¢BfGHc<*L1)9yNe`X+bk]>lt]:7:ruOdy9\0!0&"LB8d)ZǐnӴ99#gjbai[lIÆ,sQpBmSu,r8qGʥ/UNӈ%,Ó !ʬR*jB_ݻv{'"W,Dn6oaؾ$can*C`ת}mUm-V7:SAiFkDsN-3-7¾1TUa!0օvAVm3ĚKȑ- ^P`dЬVfuѷ~"B!Yml]o7+$O6KۊŔ)9s*,cTDϙC#
+
+4v??t"/7d?mr3Zy׺Pµ= &8!֩:S(4f4b-ƪKhj\@򶬻reX pաR[^8:׳eNRdb V 땹A$V,s3!-BOW~
+endstream
+endobj
+1010 0 obj
+<< /Type /Page /Contents 1011 0 R /Resources 1009 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1012 0 obj
+<< /D [ 1010 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1013 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+1014 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+1015 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+1016 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+1017 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+1018 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+1019 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+1020 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+1021 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+1022 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+1023 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+1024 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+1025 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+1026 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 590.5 null ] >>
+endobj
+1027 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 579.542 null ] >>
+endobj
+1028 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 568.583 null ] >>
+endobj
+1029 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 557.624 null ] >>
+endobj
+1030 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 546.665 null ] >>
+endobj
+1031 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 535.706 null ] >>
+endobj
+1032 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 524.747 null ] >>
+endobj
+1033 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 513.788 null ] >>
+endobj
+1034 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 502.829 null ] >>
+endobj
+1035 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 491.87 null ] >>
+endobj
+1036 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 480.911 null ] >>
+endobj
+1037 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 469.953 null ] >>
+endobj
+1038 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 458.994 null ] >>
+endobj
+1039 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 448.035 null ] >>
+endobj
+1040 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 437.076 null ] >>
+endobj
+1041 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 426.117 null ] >>
+endobj
+1042 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 415.158 null ] >>
+endobj
+1043 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 404.199 null ] >>
+endobj
+1044 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 393.24 null ] >>
+endobj
+1045 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 382.281 null ] >>
+endobj
+1046 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 371.322 null ] >>
+endobj
+1047 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 360.363 null ] >>
+endobj
+1048 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 349.405 null ] >>
+endobj
+33 0 obj
+<< /D [ 1010 0 R /XYZ 79.37 325.943 null ] >>
+endobj
+1049 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 231.06 null ] >>
+endobj
+1050 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 220.101 null ] >>
+endobj
+1051 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 209.142 null ] >>
+endobj
+1052 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 144.385 null ] >>
+endobj
+1053 0 obj
+<< /D [ 1010 0 R /XYZ 79.752 79.628 null ] >>
+endobj
+1009 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1056 0 obj
+<< /Filter /FlateDecode /Length 2768 >>
+stream
+xZK6W趚* Onz/s[o( #L
+Iyq忧 EP2EN*$nt7_/~~7~""A//B%aIyX1ʗ;R`XnVT/!}Yy|(5DC}$o0cD@ʬn؛o
+/g')UY^6@duSd`-9MCR d~/QCq k 5 *ELZ*jG8u`ysLMb=-Bcy.l{/45P4  m~ιyvaTK)]i^['e]gt.hy4?9WsR铵2_0,S[MZjޔe>#$13H0veyقDF:A >ąw?daht`Z5<UN͛I& &њr|*󼴦~Ίoep,j-amnvퟍg$q$c@S%i,>[j*ώY31 f|puV44`0sJ էr6*wROތ6
+ dwz;&-uL پ)EI[ds|3~>r5Nk&s&s g +)LYi'
+)<佳Uo=Y'ƨdٺuYR/)kIq&"ʦ~w(ײh|Kab"F= "'܉Ys#N!(55$BL 3kAs'Hg_ A ކL8nLM= jхx=t
+D}uL6*}ɒ/^?G55P/??@U7{l1ovo蟛s9G-˧[UF`}gqR c/
+"`'2&B$:f7{ +-v,nN_[ لVF5K>PӹYo˝y_l>+v MEP8W ЭzޡF^k ^_Ea1)r4$sᖓ`〒0P{ƌgo94>ޟm5Yt3ns
+τtPVljNKv_!]RNO; m
+)65-ڧg6{YPٻv[iz,APBnK /APM|Iaz `ܿuII4`u)&i9[e <WyBvN*yZMzL ²ǼXPYiy
+[V*,dx} JRNQ8A{fr ꉤEJ.CS=J"ŒxBBʾ0bü6W
+
+S‘~bba
+d( ]aޫ~uw,B
+B/Mp"{O~aY xjb"ZYb|*N裎݇lk#'[7@Ng=Vݍ!x&X%,D@bjw!:.
+8߀"{ ׸
+endstream
+endobj
+1055 0 obj
+<< /Type /Page /Contents 1056 0 R /Resources 1054 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1057 0 obj
+<< /D [ 1055 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1058 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 731.344 null ] >>
+endobj
+1059 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 680.764 null ] >>
+endobj
+1060 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 669.805 null ] >>
+endobj
+1061 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 631.181 null ] >>
+endobj
+1062 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 568.646 null ] >>
+endobj
+1063 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 557.687 null ] >>
+endobj
+1064 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 546.728 null ] >>
+endobj
+1065 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 472.238 null ] >>
+endobj
+1066 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 461.279 null ] >>
+endobj
+1067 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 450.321 null ] >>
+endobj
+1068 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 439.362 null ] >>
+endobj
+1069 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 428.403 null ] >>
+endobj
+1070 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 417.444 null ] >>
+endobj
+1071 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 406.485 null ] >>
+endobj
+1072 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 331.995 null ] >>
+endobj
+1073 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 321.036 null ] >>
+endobj
+1074 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 310.077 null ] >>
+endobj
+1075 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 235.587 null ] >>
+endobj
+1076 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 224.628 null ] >>
+endobj
+1077 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 213.669 null ] >>
+endobj
+1078 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 163.09 null ] >>
+endobj
+1079 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 152.131 null ] >>
+endobj
+1080 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 89.596 null ] >>
+endobj
+1081 0 obj
+<< /D [ 1055 0 R /XYZ 79.752 78.637 null ] >>
+endobj
+1054 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1084 0 obj
+<< /Filter /FlateDecode /Length 2575 >>
+stream
+xڝZK6W訩IpNl%L-ŒXH-IxO H-S/#1yx_;VSb‹dEWiFxJ%뇝pOm]w,]Vͳ}և ]]7: m Eb*3ow{
+S$ӔB;D*RB)G}R( *[i
+Ki!NdbZ ? `2v,[f $p(Jߘ+iX2b
+kEZMiTh针F"M$|ؘ76
+HBNTI*jBHR0r'Aa}4^Y$vU H;H"&/6)E6Ʋ6KRH2 XEXDz'rk%1`7tJÙnLRFeؾDo! P#
+>?D2Y,8>Ii},.(?;.]tƱ6`xl_L+ĥbS
+T1ޤ4_{Z|E?'m o1zS;cXR3μ yq <<xeWy7.I}R>O 2BE\X[ k)8|POTO _OPO[i:Vn, Č, Z%x˹kOU'W -iyLzS]Kue~]2=8v]^NAXQytBybM1o~ ğo< 'Ҷ"n8z""lYrQ"[E9
+z˓02[a=|jP ӡރӏ KhpP.*{ø0 ?fH7H OcLP--TINNo&+Pb#YζB7eP21TvGzDj@[x_ąV6=4 B /<熫!L!HSC^1o<[I%gѦVq転Hl +] 'ʻcdOzYA${.;yQ,,w
+endstream
+endobj
+1083 0 obj
+<< /Type /Page /Contents 1084 0 R /Resources 1082 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1085 0 obj
+<< /D [ 1083 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1086 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 754.884 null ] >>
+endobj
+1087 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 690.127 null ] >>
+endobj
+1088 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+1089 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+1090 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 573.564 null ] >>
+endobj
+1091 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 542.68 null ] >>
+endobj
+1092 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 531.721 null ] >>
+endobj
+1093 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 520.762 null ] >>
+endobj
+1094 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 430.102 null ] >>
+endobj
+1095 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 395.233 null ] >>
+endobj
+1096 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 384.274 null ] >>
+endobj
+1097 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 319.517 null ] >>
+endobj
+1098 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 278.67 null ] >>
+endobj
+1099 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 225.868 null ] >>
+endobj
+1100 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 173.066 null ] >>
+endobj
+1101 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 162.107 null ] >>
+endobj
+1102 0 obj
+<< /D [ 1083 0 R /XYZ 79.752 109.305 null ] >>
+endobj
+1082 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1105 0 obj
+<< /Filter /FlateDecode /Length 2701 >>
+stream
+xZ[۸~ϯ0Їzbf76/) -ՑYI$h~{oh{ls6XsG\I~zWo32H*z@2aIF׫ѿj¸ϫUf}_81{<>?LrOWE{[/p:JN͚- Uf=o#?)
+\Să; S)1pMʃX4]^q[rn@
+K>T2Hl|%^mKoz7.l2c3h⤎]PIf{4]c׬|,VuIgvnM \"L<D)W'^@S¨r0qHu)X:,/Yofvw:%R#
+*a&:uJZ j
+2L<yQ7|F59I:VmR >;0]Q,I{#+1/Xw;!΄
+G}u~E]v\4?QAo;k:D&x EGKaOq|;kn08{N<wbf&>aB#iaY,e
+
+-~+se8w
+ű6Ac5 1o7-Tm9i{|)ja2&yć0sHi!qMlJHcgC6[my9͎Ք(ȎI|aDh4C;(IXaH2g@@$k?!~%#JyDl;!Nm{"<^JE= 7rՅS:,ȗ/mE@Ql.BP@WBloH >巈cĴhV4H=)h„v[iB~ ; r כuj1-|_M[b.䅡x[W@r
+qi=/^^9#[EȋFCLAք΄pbgNE g05!`*Omk:ͬWuѴ_K'8,F W iӰeܿ)BxOS~~
+endstream
+endobj
+1104 0 obj
+<< /Type /Page /Contents 1105 0 R /Resources 1103 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1106 0 obj
+<< /D [ 1104 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1107 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 730.974 null ] >>
+endobj
+1108 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 720.015 null ] >>
+endobj
+1109 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 667.213 null ] >>
+endobj
+1110 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 656.254 null ] >>
+endobj
+1111 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 609.429 null ] >>
+endobj
+1112 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 598.471 null ] >>
+endobj
+1113 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 551.646 null ] >>
+endobj
+1114 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 510.799 null ] >>
+endobj
+1115 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 398.221 null ] >>
+endobj
+1116 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 367.337 null ] >>
+endobj
+1117 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 356.378 null ] >>
+endobj
+1118 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 345.42 null ] >>
+endobj
+1119 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 334.461 null ] >>
+endobj
+1120 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 323.502 null ] >>
+endobj
+1121 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 312.543 null ] >>
+endobj
+1122 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 301.584 null ] >>
+endobj
+1123 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 290.625 null ] >>
+endobj
+1124 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 279.666 null ] >>
+endobj
+1125 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 268.707 null ] >>
+endobj
+1126 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 257.748 null ] >>
+endobj
+1127 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 246.789 null ] >>
+endobj
+1128 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 235.83 null ] >>
+endobj
+1129 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 224.872 null ] >>
+endobj
+1130 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 213.913 null ] >>
+endobj
+1131 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 202.954 null ] >>
+endobj
+1132 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 191.995 null ] >>
+endobj
+1133 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 181.036 null ] >>
+endobj
+1134 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 170.077 null ] >>
+endobj
+1135 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 159.118 null ] >>
+endobj
+1136 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 148.159 null ] >>
+endobj
+1137 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 137.2 null ] >>
+endobj
+1138 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 126.241 null ] >>
+endobj
+1139 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 115.283 null ] >>
+endobj
+1140 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 104.324 null ] >>
+endobj
+1141 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 93.365 null ] >>
+endobj
+1142 0 obj
+<< /D [ 1104 0 R /XYZ 79.752 82.406 null ] >>
+endobj
+1103 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1145 0 obj
+<< /Filter /FlateDecode /Length 2293 >>
+stream
+xZ]o}ϯ0Pu1ߤ,XΠ:O)
+Bd+Mo(*Ȧ/Gts//﹗2vG$|O84atv}sA!<#3!*LI$_sM_mxO2iIK(FE>lѴEvTbu.}CX,0")<{m7Y{c0^??Uq[KEp戓0cjD4wli1N|tWU= DT8N4N \̮.ؒ*{ZaeZvl K8Jg?ъ i\ ];1<eO3"#V"+؋
+m9b<rte18/۬~Ȗ!60RA=?ZJ8sZBuP\{㺛w kAW҄>??~",a 0*BL$H>]ɔW6ʦS|O@R/HrrP"$H(>dF)&)"Hl
+(howeY$.TϻUsIռRu/\/dn;Ь/d^敆ޤSDG&y
+u߲g|^I#i#v۟Bi=Y4]
+ .b|GR~ˋ'd֝5묜$ !؁@GDPi`'HyXaŁ93œ꼼׶Ƅ*Lo$u8͑.-ieI{f%{.{{5 2%sUEX<m6FU!5dַ%1c :7F=ʻ@B꺪.{ ɏ.˞ v~ĽI*16x`.#m SO|qxJjoKu`?C+s}ƅFЀ:*i[:(
+n{[ϼlrpFІo;<c`>e"}MR`},()x'TL2h@{|2,imNشИݧ0ǾnWg{yOD"x!~.eRLW
+( bjlc-9&Oe/pWHwW]McN6}KRf0xmɠƶry{udtAv _!{֕xs\dn),!
+aS~\M#9H,K<p25H,^䁓6(yX}XVդ2bbya \3l DE+ڷ eaE3MhY8q T-eXeE(Ac:9NMl՗m驭Ɗ`P#Gu%}[o!Ӻںu7,8Cكx; "beY)
+֍{ڕi.VU]š:Zvoec VKoLX_0`me %NtDo*<j״fafٸDM) ?a"G5Kt 3Z4D Z{gs֎c߫#":"Lc=pӂt&5Q+p(@p"A44͋"1bi [@4d-j +~eN:d ȸC"ZEL8ٓa[x¤w[L#Z4ȏ#˪I)
+U3'2L=a61D"$0!#ý@(=,AP#^ʠx}iq7wNgN3$kߤ
+"8NI*$w'u؏GXX^F"mp"{4⿽?
+endstream
+endobj
+1144 0 obj
+<< /Type /Page /Contents 1145 0 R /Resources 1143 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1146 0 obj
+<< /D [ 1144 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1147 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+1148 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+1149 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+1150 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+1151 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+1152 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+1153 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+1154 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+1155 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+1156 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+1157 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+1158 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 604.448 null ] >>
+endobj
+1159 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 593.489 null ] >>
+endobj
+1160 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 582.53 null ] >>
+endobj
+1161 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 529.728 null ] >>
+endobj
+1162 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 518.769 null ] >>
+endobj
+1163 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 507.811 null ] >>
+endobj
+1164 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 476.926 null ] >>
+endobj
+1165 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 465.967 null ] >>
+endobj
+1166 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 455.009 null ] >>
+endobj
+1167 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 444.05 null ] >>
+endobj
+1168 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 433.091 null ] >>
+endobj
+1169 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 422.132 null ] >>
+endobj
+1170 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 411.173 null ] >>
+endobj
+1171 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 400.214 null ] >>
+endobj
+1172 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 343.427 null ] >>
+endobj
+1173 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 332.468 null ] >>
+endobj
+1174 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 321.509 null ] >>
+endobj
+1175 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 310.55 null ] >>
+endobj
+1176 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 299.591 null ] >>
+endobj
+1177 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 288.632 null ] >>
+endobj
+1178 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 277.674 null ] >>
+endobj
+1179 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 266.715 null ] >>
+endobj
+1180 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 255.756 null ] >>
+endobj
+1181 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 244.797 null ] >>
+endobj
+1182 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 233.838 null ] >>
+endobj
+1183 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 222.879 null ] >>
+endobj
+1184 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 211.92 null ] >>
+endobj
+1185 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 200.961 null ] >>
+endobj
+1186 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 190.002 null ] >>
+endobj
+1187 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 179.043 null ] >>
+endobj
+1188 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 168.085 null ] >>
+endobj
+1189 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 157.126 null ] >>
+endobj
+1190 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 146.167 null ] >>
+endobj
+1191 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 135.208 null ] >>
+endobj
+1192 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 124.249 null ] >>
+endobj
+1193 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 113.29 null ] >>
+endobj
+1194 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 102.331 null ] >>
+endobj
+1195 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 91.372 null ] >>
+endobj
+1196 0 obj
+<< /D [ 1144 0 R /XYZ 79.752 80.413 null ] >>
+endobj
+1143 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1199 0 obj
+<< /Filter /FlateDecode /Length 1958 >>
+stream
+xڽZn8}Wh/(̒3`az (6%KiYNR]*ؾv\/-.
+O Hߟ.z{Z GFF'  h% ’LnN4OL42R2b H1g(c6I/fu*)+6o뼶󫲿ci?\`D0+ c_vV_ _UU93﬩<h_Htn43p&0Cp?4kd/oeF5"{f0f̹Al] WGi=P0Y“e0!8"Ȋ1+vvAJϞ }..mq*@ +ZXGu#bXj7E1,Cl`\,GqEGiX(]pHq5*L3#-IHytnqnxZ-R7<mcs7x0ٌ[ϥ$ U̪benj+:|r5D#ah
+&ּqִt5X!ɼi&YdLzG*O.DRyA0vf 9Hy„3l:G(.fK}הs!!kV0!xޅ ]A^4L~#{ Wd<sF9T7R$%n3f5S1g10SG lƾ"GL9s_&K;jnܱԵBX{I30O O@]ID L#poذR 2LgCYI
+(Bd`{I^&] NN;!* #7Ԍ"jFy8PvO WOE¦Mo}lʔP >Pȸ8`HhČW7c5K!-lz5JΩnjA*T=/{ܞuUoX_{3#`!uoЧkb&p"ʸ50MKͦN:os'~SӬ9ˬw;Z7aC>jm6_>v]1ީOyw2޹kw4gOWx#+[#/d0_CjD762bnYܒ
+ZrU¼y>5w 7M̒h].:q.HJΕ#H6Psmtaaj~ H)IOC0Xq,!3; iI=Oq͞m=mPCKtؗqBaCm lFcK 5vxľcU>"y)s-$*`xRHXhĵؗa`CwO
+f 0!H,J:S;ŠVWi
+;Y"6ٽ/2~;O
+piߊ{svMswHlf܇ɫrxo=`j[']$Жb敃vʵv/7ۏMfsTۓ'3k1۳=MiD5ͦ]z{ٸKefUA]5wF2X2q}.>]R͌NKRw|1rV(x_]_bb#ߘ_g ͥSmҢ-qOfoL҂:vD#|BaT"pP+ m[b
+endstream
+endobj
+1198 0 obj
+<< /Type /Page /Contents 1199 0 R /Resources 1197 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 871 0 R >>
+endobj
+1200 0 obj
+<< /D [ 1198 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1201 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+1202 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+1203 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+1204 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+1205 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+1206 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+1207 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+1208 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+1209 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+1210 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+1211 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+1212 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+1213 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+1214 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+1215 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 615.407 null ] >>
+endobj
+1216 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 604.448 null ] >>
+endobj
+1217 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 593.489 null ] >>
+endobj
+1218 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 582.53 null ] >>
+endobj
+1219 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 571.571 null ] >>
+endobj
+1220 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 560.613 null ] >>
+endobj
+1221 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 549.654 null ] >>
+endobj
+1222 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 538.695 null ] >>
+endobj
+1223 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 527.736 null ] >>
+endobj
+1224 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 516.777 null ] >>
+endobj
+1225 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 505.818 null ] >>
+endobj
+1226 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 494.859 null ] >>
+endobj
+1227 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 483.9 null ] >>
+endobj
+1228 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 472.941 null ] >>
+endobj
+1229 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 461.982 null ] >>
+endobj
+1230 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 451.023 null ] >>
+endobj
+1231 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 440.065 null ] >>
+endobj
+1232 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 429.106 null ] >>
+endobj
+1233 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 418.147 null ] >>
+endobj
+1234 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 407.188 null ] >>
+endobj
+1235 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 376.304 null ] >>
+endobj
+1236 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 365.345 null ] >>
+endobj
+1237 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 354.386 null ] >>
+endobj
+1238 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 343.427 null ] >>
+endobj
+1239 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 332.468 null ] >>
+endobj
+1240 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 321.509 null ] >>
+endobj
+1241 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 310.55 null ] >>
+endobj
+1242 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 299.591 null ] >>
+endobj
+1243 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 288.632 null ] >>
+endobj
+1244 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 277.674 null ] >>
+endobj
+1245 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 266.715 null ] >>
+endobj
+1246 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 255.756 null ] >>
+endobj
+1247 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 244.797 null ] >>
+endobj
+1248 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 233.838 null ] >>
+endobj
+1249 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 222.879 null ] >>
+endobj
+1250 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 211.92 null ] >>
+endobj
+1251 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 200.961 null ] >>
+endobj
+1252 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 190.002 null ] >>
+endobj
+1253 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 179.043 null ] >>
+endobj
+1254 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 126.241 null ] >>
+endobj
+1255 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 115.283 null ] >>
+endobj
+1256 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 104.324 null ] >>
+endobj
+1257 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 93.365 null ] >>
+endobj
+1258 0 obj
+<< /D [ 1198 0 R /XYZ 79.752 82.406 null ] >>
+endobj
+1197 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1261 0 obj
+<< /Filter /FlateDecode /Length 2114 >>
+stream
+xڽZoH~_a^iCK+͝nI{h0n;h18g&iLYϾ WU_ E*GoWn%]0
+à`a` )0
+^YFD^>܊hHHJu5UrSU_p—hdU?(ŏ ǏφAGs6q?s?OnG@#D~<jWM&dVNn{)c s !! C69;zJ2a.o,!~*=|š@Lϙ^D@Zԋv(=tkurFr2DYd f~IhϘ1`MN-B!JI
+?[`c7\h 6Q쀍9{ȗa&3ꗍpo_qqF{D>ej|fڿ$Qŕz<fڌ6tS\8D<Yeg\榍,uS&}ȧ L 613CmiaWww=SׇWjoʸ(حx5f5旎\Gٖ:lTq9O!G_NvݶU7/:M>kDq5A2${OKC9ޠdEa`{gQН{ pEDFEuH` ]n瀲%9Rrk_ṮVs}?CU_,<\6u8CUR$%[d'M}4FHrOMLL%Ees 2סʢ$Aq<~L
+ҤFajcFq.8"
+8NQAAm-p<[gOؗ!e6w
+C'@I<4tǦ-:Wwi ZRuĸUR_0ATXŹ C.ViZ^=қ+$f'~+=zOxfD!F_:UM< l]b,]r^܀ ʈtZ0#G iABޒjX܅hg1SIΉI"D0xg-i 6sI@Z9NͽJ
+(e͏a;ߚP`wA2͓"{*ۋ|Nޞc-)
+۪e'tQ]'A]#0}7S$\ȒPsL /dz%$7>_[J꛼O<$(웚¯GTCH¾)<8-㾨of"L";{<P߾"5WcSΔABxJT0t^ BKmlπ!x`@Ix8ՙ7 QbyۛJ~)yeKN+`Pt2~n@Ŵ@Tk"̐`TʌeX'Sj ڙ;Z?cAΩV3bPP ۔ٌ
+;Iݺ$2fAH)P@2bB@1i#$Z_Q_iĬIb'O_ѱR<i2ۘ[M<IXU]'ȅA!t3z@uV[cb)ө Rn%qƏ3#>>J0w,Eϒx5L6 p2(_գNY&ɤR|<k/oJI~v>*G۝S>%[`6KFWck=fځ
+
+endstream
+endobj
+1260 0 obj
+<< /Type /Page /Contents 1261 0 R /Resources 1259 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1262 0 obj
+<< /D [ 1260 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1263 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+1264 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+1265 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+1266 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+1267 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+1268 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+1269 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+1270 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 692.119 null ] >>
+endobj
+1271 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 681.16 null ] >>
+endobj
+1272 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 670.202 null ] >>
+endobj
+1273 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 659.243 null ] >>
+endobj
+1274 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 648.284 null ] >>
+endobj
+1275 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 637.325 null ] >>
+endobj
+1276 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 626.366 null ] >>
+endobj
+1277 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 615.407 null ] >>
+endobj
+1278 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 604.448 null ] >>
+endobj
+1279 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 593.489 null ] >>
+endobj
+1280 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 582.53 null ] >>
+endobj
+1281 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 571.571 null ] >>
+endobj
+1282 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 518.769 null ] >>
+endobj
+1283 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 507.811 null ] >>
+endobj
+1284 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 496.852 null ] >>
+endobj
+1285 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 485.893 null ] >>
+endobj
+1286 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 474.934 null ] >>
+endobj
+1287 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 463.975 null ] >>
+endobj
+1288 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 453.016 null ] >>
+endobj
+1289 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 442.057 null ] >>
+endobj
+1290 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 431.098 null ] >>
+endobj
+1291 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 420.139 null ] >>
+endobj
+1292 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 409.18 null ] >>
+endobj
+1293 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 398.221 null ] >>
+endobj
+1294 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 387.263 null ] >>
+endobj
+1295 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 334.461 null ] >>
+endobj
+1296 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 323.502 null ] >>
+endobj
+1297 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 312.543 null ] >>
+endobj
+1298 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 301.584 null ] >>
+endobj
+1299 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 290.625 null ] >>
+endobj
+1300 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 279.666 null ] >>
+endobj
+1301 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 268.707 null ] >>
+endobj
+1302 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 257.748 null ] >>
+endobj
+1303 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 246.789 null ] >>
+endobj
+1304 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 235.83 null ] >>
+endobj
+1305 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 224.872 null ] >>
+endobj
+1306 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 184.025 null ] >>
+endobj
+1307 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 173.066 null ] >>
+endobj
+1308 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 162.107 null ] >>
+endobj
+1309 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 151.148 null ] >>
+endobj
+1310 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 140.189 null ] >>
+endobj
+1311 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 129.23 null ] >>
+endobj
+1312 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 118.271 null ] >>
+endobj
+1313 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 107.312 null ] >>
+endobj
+1314 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 96.354 null ] >>
+endobj
+1315 0 obj
+<< /D [ 1260 0 R /XYZ 79.752 85.395 null ] >>
+endobj
+1259 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1319 0 obj
+<< /Filter /FlateDecode /Length 1657 >>
+stream
+xZ]o6}ϯ0~,Pvl1Yd>%I:]9^"1Ͻ$%gW3<{}}}yfiE]\҈J>$AXzn>pKSgRR2c (b:,T A}L+6Lh~^jkڻm,0":FʼYҎ jB1gnjYFb0,<ޘ:nrM˩yǯ^;q=n^
+Y#ǐmH˲Ny!Ja=vZ,MMK{;2_ٍ6u5HVjY9,!#웎5 $6|ĩ
+;ܵ7U|^6N]*ır,k>ܴ5A+
+#FQCG0>xSi6mo%Oud*}"΁>o!o]<Y.uI5>;]V㢙`iY!f3:T jfggzBg4{4xgC0GؕF6j)6E
+GuUnR&2Ijҋ AnM1H# wXi&wTmŵ8CӟSa
+h0 GM@#u9 oHD„$G ;{E%0#)걌i8Ŗ @^~0zE&07`)cE2J`nO7` !zE&07
+{t'`$ @C1̀Qfz0hpV
+3
+ۘ ЏEDgInS\7E3dޫMUD7hvYVߦt1 0`M>2:lΚRg<&'
+>8hSŧ,GJB |? l,@h+ лQG!^8(bއOXG"l޳M
+endstream
+endobj
+1318 0 obj
+<< /Type /Page /Contents 1319 0 R /Resources 1317 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1320 0 obj
+<< /D [ 1318 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1321 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 768.832 null ] >>
+endobj
+1322 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 757.873 null ] >>
+endobj
+1323 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 746.914 null ] >>
+endobj
+1324 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 735.955 null ] >>
+endobj
+1325 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 724.996 null ] >>
+endobj
+1326 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 714.037 null ] >>
+endobj
+1327 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 703.078 null ] >>
+endobj
+1328 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 687.138 null ] >>
+endobj
+1329 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 676.179 null ] >>
+endobj
+1330 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 665.22 null ] >>
+endobj
+1331 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 654.261 null ] >>
+endobj
+1332 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 643.302 null ] >>
+endobj
+1333 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 632.344 null ] >>
+endobj
+1334 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 621.385 null ] >>
+endobj
+1335 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 610.426 null ] >>
+endobj
+1336 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 599.467 null ] >>
+endobj
+1337 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 588.508 null ] >>
+endobj
+1338 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 577.549 null ] >>
+endobj
+1339 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 566.59 null ] >>
+endobj
+1340 0 obj
+<< /D [ 1318 0 R /XYZ 79.752 555.631 null ] >>
+endobj
+1341 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+1342 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+1343 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+1344 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+1345 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+1346 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+1347 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+1348 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+1349 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+1350 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+1351 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+1352 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+1353 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+1354 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+1355 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+1356 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+1357 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+1358 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+1359 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+1360 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+1361 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+1362 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+1363 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+1364 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+1365 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+1366 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+1367 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+1368 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+1369 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+1370 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+1371 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+1372 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+1373 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+1374 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+1375 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+1376 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+1377 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+1378 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 90.376 null ] >>
+endobj
+1379 0 obj
+<< /D [ 1318 0 R /XYZ 81.077 79.417 null ] >>
+endobj
+1317 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1382 0 obj
+<< /Filter /FlateDecode /Length 1715 >>
+stream
+xZMoFWE~(h{B-&B.E9Iw\٢5bJr̛t͑( ?z{~trfHg舍&ьPFџcFusXL%Nka`)1_Ͽ]YY,'NJI{Vy>C*h:.ָ)Jv슲>]g'aRv Ǯf\]/z(n<%xѿ.C&3sX >riyV&\JXўt^V)" `~m/J" 4_m}&Xی 3g
+~;>//8M1"MWμ>zyCJe,T)Eq^룿j*+qvZ%ʅ
+pu1B?^߾]a-B Qu*O' h+!e1̆{+TG!e$14κx@&iA, p#B=JqbefeQEKX:npлx(pVhwzaQ1fbq50B{TU4:BiPqYG5U:K (ՊϡBm|-qOI 
+}J뜇U୐~IaJBG~ՋȪpʅƕ}#'upG3"DeCq G?0JD3~re}kTA nTߑ ctA !^4HhM
+I`k-W[\ު[akX^O=%` Mơp*^ljCP -CБF{6*bg=HOuf̓w:1<('t`p)G+%w020\gi-:\e^nHׯ45[̆n{IU:VYζV,4 ݝ zES6
+0(}=izС xXd $Amh5-qqަ@.YeiP*dj{ٯ0 Z\Ă*#`׉E(Pj5ɚrgqH#tgd* ^yZc'r2[i49L
+~zͧrZ+&_jŽз]BUUVdlv(ݼvv6R2p2܋dE=7M l|0+͙Δp57B/IYXkO%\!B2p4BnB"u݀+l35c [P?TKUi~{$Q[v{i羛*l` mhDEH>[yn\H/[9
+L'U4{Оpb5PY:=0Z2ΉTJS$Lb|*i6Qz\7>Ex|N=
+endstream
+endobj
+1381 0 obj
+<< /Type /Page /Contents 1382 0 R /Resources 1380 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1383 0 obj
+<< /D [ 1381 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1384 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+1385 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+1386 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+1387 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+1388 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+1389 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+1390 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+1391 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+1392 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+1393 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+1394 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+1395 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+1396 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+1397 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+1398 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+1399 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+1400 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+1401 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+1402 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+1403 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+1404 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+1405 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+1406 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+1407 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+1408 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+1409 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+1410 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+1411 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+1412 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+1413 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+1414 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+1415 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+1416 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+1417 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+1418 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+1419 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+1420 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+1421 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+1422 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+1423 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+1424 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+1425 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+1426 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+1427 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+1428 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+1429 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+1430 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+1431 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+1432 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+1433 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+1434 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+1435 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+1436 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+1437 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+1438 0 obj
+<< /D [ 1381 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+1380 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1441 0 obj
+<< /Filter /FlateDecode /Length 2285 >>
+stream
+xZmo@8w ׽@_rJ",$yA_$ޤɔpfZOﰿ݇OD/4ҒJ8|G^EK$K8-<V euUy
+tB}t[KtQUźڏ??gxu]kr⦅TX!*KL\5A\p"ߕ6߶
+vsDzXn A qEfG:\g,OҽC0jMcK8;d&s<
+hcbM]WuPGCΒ'v`r@xPqr 9rI=eVz^% 4{bwgY
+
+"qTkv+K[S(.z4 V쮱RЙacTKR;+{ؔW4BUO7 bh,5Ex?.m O3AqIOYQwO|ݍɢK `'ueJd
+z+pbM{AT C&i*f3['9;q~>&6LEz?, ;D/eu[<T35/APOP\0DI
+[+:zf|Z؛tc/镥"0u3?\A20ۊc)N8ba/t7z#9G̼7AFMuC]u?j]p'}` 3:L&!n*K:{uNt$4(X#r\NlTHmf'$Bx?Ֆ`k%^."H%~6r[甩fMASpnz[ d\Cy+ #9#L-Xg, |#>F>h]7~i{DWA:^ *nUŨ05#
+)jsWcjVYK[4 )J^f3p|X %4DGM(Jx"@iӮ6]\軛-X):LJJ4h R e;=*~
+3_ F?]6 q9ѱ)ַy{]۵elR l{F`թ֦)v_[$HgBICONSwqg} {@ͽӸ?lP*NOoMGkwnb{/D\,@ק Q!"' ۬wy͸Tճ0ڂN qHq
+endstream
+endobj
+1440 0 obj
+<< /Type /Page /Contents 1441 0 R /Resources 1439 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1442 0 obj
+<< /D [ 1440 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1443 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+1444 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 690.127 null ] >>
+endobj
+1445 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 679.168 null ] >>
+endobj
+1446 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 668.209 null ] >>
+endobj
+1447 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 657.25 null ] >>
+endobj
+1448 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 592.493 null ] >>
+endobj
+1449 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 581.534 null ] >>
+endobj
+1450 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 570.575 null ] >>
+endobj
+1451 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 559.616 null ] >>
+endobj
+1452 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 548.657 null ] >>
+endobj
+1453 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 537.698 null ] >>
+endobj
+1454 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 526.74 null ] >>
+endobj
+1455 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 515.781 null ] >>
+endobj
+1456 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 504.822 null ] >>
+endobj
+1457 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 493.863 null ] >>
+endobj
+1458 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+1459 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+1460 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+1461 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+1462 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+1463 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+1464 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+1465 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+1466 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+1467 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+1468 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+1469 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+1470 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+1471 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+1472 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+1473 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+1474 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+1475 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+1476 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+1477 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+1478 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+1479 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 167.088 null ] >>
+endobj
+1480 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+1481 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+1482 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+1483 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+1484 0 obj
+<< /D [ 1440 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+1439 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1487 0 obj
+<< /Filter /FlateDecode /Length 1967 >>
+stream
+xZ[o6~ϯ0hXI XX2l:J4Be)Y2E:c:NȒQ;<<?7H6P&/T)Idt<=sٸ2Nǟ0u^;?xVWeW6{՜7~Ȣ7_&T#05œ(O48jMi{޵ɡb]6g,"\3yYv\.&Tp?5l$Çtl02c0YZ84a4k$O3`~ &0F>-> HD7ge]յ
+9m۴G_ѼuwE=%bPmV ݰ)pMr$4 fy`%[{ukuHOD{J<R^
+%L"SiBR7Np[H.DFӒIQNHFR[ZydINS]N`({K l7z@]Kp
+z(Ңg~B|EmQa1#􏎘BA˽i3B?wQi3B;o'Y?`<\WE=+r^vE|Y}`jAn kxfނKe\)D2D
+#w=">T˱l齤iR[rL Ԗ O
+iGSAA2.1<AO5eR*ޡZݎ;j̇p֢
+th&<xV΋zXptpuWL
+aFvzz3>h{Zn>DWRS%Fr͑$F;Lژ~KLNirLn*CG谒x !^\-` dhQ-Lujҽ; Nvca>};tTZÅx*2|Ғ\7]ߒ.q/UZ;ˣ>@q|9}YO}
+KŊ"!}i2B"5tuZ /dN Ts7(LGYC>oR([cb
+endstream
+endobj
+1486 0 obj
+<< /Type /Page /Contents 1487 0 R /Resources 1485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1488 0 obj
+<< /D [ 1486 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1489 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 740.96 null ] >>
+endobj
+1490 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 730.001 null ] >>
+endobj
+1491 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 687.198 null ] >>
+endobj
+1492 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 676.239 null ] >>
+endobj
+1493 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 665.28 null ] >>
+endobj
+1494 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 654.321 null ] >>
+endobj
+1495 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 643.363 null ] >>
+endobj
+1496 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 632.404 null ] >>
+endobj
+1497 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 621.445 null ] >>
+endobj
+1498 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 610.486 null ] >>
+endobj
+1499 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 599.527 null ] >>
+endobj
+1500 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 583.611 null ] >>
+endobj
+1501 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 572.652 null ] >>
+endobj
+1502 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 561.693 null ] >>
+endobj
+1503 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 550.734 null ] >>
+endobj
+1504 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 539.775 null ] >>
+endobj
+1505 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 528.816 null ] >>
+endobj
+1506 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 517.857 null ] >>
+endobj
+1507 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 506.898 null ] >>
+endobj
+1508 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 495.939 null ] >>
+endobj
+1509 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 484.981 null ] >>
+endobj
+1510 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 474.022 null ] >>
+endobj
+1511 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 463.063 null ] >>
+endobj
+1512 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 452.104 null ] >>
+endobj
+1513 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 441.145 null ] >>
+endobj
+1514 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 430.186 null ] >>
+endobj
+1515 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 419.227 null ] >>
+endobj
+1516 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 408.268 null ] >>
+endobj
+1517 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 397.309 null ] >>
+endobj
+1518 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 386.35 null ] >>
+endobj
+1519 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 329.659 null ] >>
+endobj
+1520 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 318.701 null ] >>
+endobj
+1521 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+1522 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+1523 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+1524 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+1525 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+1526 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+1527 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+1528 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+1529 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+1530 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+1531 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+1532 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+1533 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+1534 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+1535 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+1536 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+1537 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+1538 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+1539 0 obj
+<< /D [ 1486 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+1485 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1542 0 obj
+<< /Filter /FlateDecode /Length 2483 >>
+stream
+xڵZ[o~ϯЇx2
+X 鶻ݢ[)Zm鐔H~{\Hq(C,r3^?_y3$|qu !J%Y\m^^e\H(>FB0F>M՞DH c6KWLS޹؋lEϓ( 
+ 0#61FDˤRciG`6^].ndl`iݣƭ<$yxJճ$<ɋǕ
+s}h /z&2vȅb4mgw.v]eٿƏP[d] *(҄!B-(;hg-4p'(A !`Sqe.=c{G2rD9>>!QR>[*iΦ)iVTE%"?^_Va^ bK{l pDq5>GA:,<8z\px{.<.<v3_D\3=tC!(CB.wH9﫤YIPI(:<>;C_H}e"{r/rZYͳuWכfN}ԬP* 1.aE$DW_0(x-T@&
+.LL*inwzŰ$_3P׉!|:|,\hd;8\@c^W\e;zk<ث}E|mӉ"#>S1TGOt=Z
+"<)/
+'kx ܩтW]A ]D-
+G(Ӷ//_jZ(5Y
+2CD/(Ix{#
+ ,m
+ͼ#`:pqc ̖v=nd4qT?<ueO Yl^WWXhL$7s?ncC v8= #@v#K頙)Unih~f?LrT&},2wM.36:vSdIjNgLJ>H8AH 捥5]flv,:3uc>0X0Ο҈"*EHnjOZto ;dZy~jhLuŸ
+#:mM{ *tY{`Lr94PI:c}RAEISJD !xJ$$~X[V7-S{)!{7}g֗>q>y@l3:H?Lٿڹz)T#'#Su"GqTo+GF{`A56xmfx佂njl[#aDܼ?)C ̥us.q-
+5KV \+/(eA|׈07BӪuoqdF*85qY̡0yКy4yS!eӻ&eSmCb>c`Bw_ܬ1GÃlS?]Q$Gx]v8|ۆ^%
+x3 U'i&iC&7I2 ,Sz`]Qu|@L}i:(rzW%׻"XDkĺ,r7۝bcO{fCSz}AR\ȵs.$Iln y!"VDzD
+endstream
+endobj
+1541 0 obj
+<< /Type /Page /Contents 1542 0 R /Resources 1540 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1543 0 obj
+<< /D [ 1541 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1544 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 697.101 null ] >>
+endobj
+1545 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 686.142 null ] >>
+endobj
+1546 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 675.183 null ] >>
+endobj
+1547 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 664.224 null ] >>
+endobj
+1548 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 653.265 null ] >>
+endobj
+1549 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 642.306 null ] >>
+endobj
+1550 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 631.347 null ] >>
+endobj
+1551 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 620.388 null ] >>
+endobj
+1552 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 609.429 null ] >>
+endobj
+1553 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 598.471 null ] >>
+endobj
+1554 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 587.512 null ] >>
+endobj
+37 0 obj
+<< /D [ 1541 0 R /XYZ 79.37 562.057 null ] >>
+endobj
+1555 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 453.172 null ] >>
+endobj
+1556 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 442.213 null ] >>
+endobj
+1557 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 399.373 null ] >>
+endobj
+1558 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 358.526 null ] >>
+endobj
+1559 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 329.635 null ] >>
+endobj
+1560 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 276.833 null ] >>
+endobj
+1561 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 265.874 null ] >>
+endobj
+1562 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 225.027 null ] >>
+endobj
+1563 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 196.135 null ] >>
+endobj
+1564 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 180.195 null ] >>
+endobj
+1565 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 169.236 null ] >>
+endobj
+1566 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 158.277 null ] >>
+endobj
+1567 0 obj
+<< /D [ 1541 0 R /XYZ 81.077 147.318 null ] >>
+endobj
+1540 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1570 0 obj
+<< /Filter /FlateDecode /Length 2069 >>
+stream
+xZKsW(WxTU&$|ˤXˌ)RKQq =;UA|Dw_h:+?^k9b,+ffj61}0 !kg!>_umծ퍄q3<{Xk!?Q! `z^Q],Y&%*]21ș.&22# ㌹x[Q Ee`)r/[Tn07z~PS xwOKBd_&/cDp抰BeksJ2Qhke{;i{B $Be :$A CYV]0;7&5Ϳ~{/?EãKa%'(Lr Hhrڰ첥UND'`kZukSw_Р(r\1
+etwUmVt}c7]ze_ =O2JHɃRnc4~mxC KXevk/s2*O+
+QM~ʘ͍yQ-X_p*wi~f56RMWDg5.ebڜ5b00| Yzg(\~SIpYX^NwRЍ*e8HF+P@FF'~I%o˱4 {oO_ O+T>Kx)N)s4˪/J2G9>/-2.V]3XՎ16*ڼgnMw?;zG@ (˂}Ε1:>ܔ7C
+y>[!$D *VMs
+x2fn2 `Y A1u!7Ci~_ܼVs9Mʶ`wD^ >yק{:Tw|h~7!
+wOiJɷ-ذ-Jh-q=AX'$߇r6"d%U]lux:+61gsb}wӮ
+/ҍ&{30Nx^$J]me'ldSDZͼ!؄9|FWQݽ˄$|Ii|="$ZlRsжZA`S ¥N_XT\$/d86sH1>puQ?Vf
+zQz XDv>ЀY'Mݽ[>HN*z6lgGa2'#9p +o9UUĵpe=&k. ;OX#RCŬCZdQZ_2#H=OZ2A_ x<"C%|wˀ|-rT2NC@kp@"
+TmJGXAG?B g!$KVu-7T%]Y6~9%y&g<K&F,o79t}9|.<y''PȊ,HS.FWax[;+,toן'mwj8-KгI\ ٚ@n_uv^DiZ;p"h/uV^{#BuP&޴}ppµD4ϼn
+¦Zԋёz;pX}<6qS}T g B1ڊo?gnx^|<9pn)a
+VHVd6('htfpE$u[=Z rvP/co<̘DLYtY) 8Gճm  F BC%'iFfU 35%@HV Z<}moVnac|AB H_21Šs9`+??Y%ڎ7/iasXn'Z}5WS^-#m>Tg $~0iˉVz&Ea}2%
+endstream
+endobj
+1569 0 obj
+<< /Type /Page /Contents 1570 0 R /Resources 1568 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1571 0 obj
+<< /D [ 1569 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1572 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+1573 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+1574 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+1575 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+1576 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+1577 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+1578 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+1579 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+1580 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+1581 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+1582 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+1583 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+1584 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+1585 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+1586 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+1587 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+1588 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+1589 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+1590 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+1591 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+1592 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+1593 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+1594 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 448.035 null ] >>
+endobj
+1595 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+1596 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+1597 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+1598 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 336.536 null ] >>
+endobj
+1599 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 325.577 null ] >>
+endobj
+1600 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 314.618 null ] >>
+endobj
+1601 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 303.659 null ] >>
+endobj
+1602 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 292.7 null ] >>
+endobj
+1603 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 281.741 null ] >>
+endobj
+1604 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 270.782 null ] >>
+endobj
+1605 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 259.824 null ] >>
+endobj
+1606 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 248.865 null ] >>
+endobj
+1607 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 237.906 null ] >>
+endobj
+1608 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 226.947 null ] >>
+endobj
+1609 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 215.988 null ] >>
+endobj
+1610 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 205.029 null ] >>
+endobj
+1611 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 194.07 null ] >>
+endobj
+1612 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 183.111 null ] >>
+endobj
+1613 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 172.152 null ] >>
+endobj
+1614 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 161.193 null ] >>
+endobj
+1615 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 150.235 null ] >>
+endobj
+1616 0 obj
+<< /D [ 1569 0 R /XYZ 81.077 139.276 null ] >>
+endobj
+1568 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F20 186 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1619 0 obj
+<< /Filter /FlateDecode /Length 1743 >>
+stream
+xڽZM6ыf~h( 
+ߚBPlZ-Mwh%I=q83| <N?ί^17qidpŠN8"hFfft*oӇz>գo2E}}tQ6s˾EU+뮽~q|mo۾ou4ۖmٵ*o_Ӽ=_KG#>rf O;Tb&o˺j>~wT``lkEޏ,7E
+~DŽ\4YU<e]XACm.9|%Ι7vƞ3NG1"J_s Uan;nnN.E{۔UٟŮUh촣FعqO)m#Uܚ] 
+,5]4BJB5ܸ$AIu 8 h| u听bt,mgP~pw z|#s΁wg?;b
+(ɂ}D5/@Ez .pO1 kI;"M.?ͯ1
+endstream
+endobj
+1618 0 obj
+<< /Type /Page /Contents 1619 0 R /Resources 1617 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1620 0 obj
+<< /D [ 1618 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1621 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+1622 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+1623 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+1624 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+1625 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+1626 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+1627 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+1628 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+1629 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+1630 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+1631 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+1632 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+1633 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+1634 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+1635 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+1636 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+1637 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+1638 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+1639 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+1640 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+1641 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+1642 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+1643 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+1644 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+1645 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+1646 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+1647 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+1648 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+1649 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+1650 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+1651 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+1652 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+1653 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+1654 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+1655 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+1656 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+1657 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+1658 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+1659 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+1660 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+1661 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+1662 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+1663 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+1664 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+1665 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+1666 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+1667 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+1668 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+1669 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+1670 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+1671 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+1672 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+1673 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+1674 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+1675 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+1676 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+1677 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+1678 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+1679 0 obj
+<< /D [ 1618 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+1617 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1682 0 obj
+<< /Filter /FlateDecode /Length 2922 >>
+stream
+xڵZ[ۺ~ϯ[hˆWI8mќ(i%W' /J}, he~|'~|7?|%HPVw7E+JQ4^ŊHa5T\?tT))O.3y̺dR7W?d2`8\QFFlQ]'Ƅ"mCvok+  xI~s콯2 ])
+>4ی1[◟/傰RD R&WJ O!;7G;o]R>l.cŦ/#qVP9U ' ґG]HU
+$L1IbN w|ka`[o!"eg8TU爋bk<{3XێBDdPN,"L>ݕTÊ3+A0&ؘۻ*YxL٬E(#fe(Lو0SQLT{{A
+-4%9!8HK5.FX<\d7_w_uUvEB3 H+#EkWrXě C
+
+9}W ]?A5W̟J/ɭ Bΐ˦6n2ތA5<ή1HF6`*%X6&9AC8 ω{0{Oֻ\s޴[݄4=|[\{3l"cpR$>G$(yKV"}<4L1MOw|Q' c۝ͅG}Q#b+O볮x<4%b6a_ՋC,-{ԡ%//v|Sd}s̪PՊO" C0G=VS'щ(QORVM7OBPظכ B=\޴:*O}a^ ḩ
+-p » s+>mKA/ 6E?Mq4Xd< ՟sƂmunr}#aavKoPC35#TygSy<B$&ڳ0p{:n1y{VuE76oEt̟Xx: (OZ1$e< v%,5d(1$kSNƌ?Xxޚ0_ dZ݁liQ>J(ty_3҈f" D=p[5Rb{{5,7Q,vE^)zKœ0z$ LF*K(!.+덵{|0S5F+m;bcQyiRDUt݇
+aJc;;fD~]U
+Jbw\y;޽yǾ- 6g@
+5>p7,`,BAWmN2,xgeQmʂIŋ>杊_Į"ՄgXڑ{O+VEPFu q(^k >KjXtL_dZEda B^2q*1<\8H|yHGiqDy."")A\DLL}1cQ|w'ttm5P%,~ƕZ[ig@i|3[jLmHh:VhbCWdrIM^UO"YGQcC9hz;wg.9nZo&2k{dB(uS;/NGbzjkSAN, n
+p/# P
+nF 2Q6@g~|{2TϹSrRS)W?52g]2ɘABegKK146lVbc[,ClͿ^^tvx#M糍65)#uGMj ̸"^`Yd$I'\m/("RP"_'S H' YoYBFP)eP赵Gm" Og"㧄NdH[)I2hRE m$Ϲ x
+A!o$*ZKjwl.G]K6dY0éOReӻR(dQ}0Q k6^;>:0,L'7 غɻµ?ǶV6'7vwQk/e5ǺB
+.Z'mCfjz
+endstream
+endobj
+1681 0 obj
+<< /Type /Page /Contents 1682 0 R /Resources 1680 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1683 0 obj
+<< /D [ 1681 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1684 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+1685 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+1686 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+1687 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+1688 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+1689 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 709.066 null ] >>
+endobj
+1690 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 698.107 null ] >>
+endobj
+1691 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 667.239 null ] >>
+endobj
+1692 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 656.28 null ] >>
+endobj
+1693 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 645.321 null ] >>
+endobj
+1694 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 634.362 null ] >>
+endobj
+1695 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 618.432 null ] >>
+endobj
+1696 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 607.473 null ] >>
+endobj
+1697 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 564.649 null ] >>
+endobj
+1698 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 553.69 null ] >>
+endobj
+1699 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 542.731 null ] >>
+endobj
+1700 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 526.801 null ] >>
+endobj
+1701 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 515.842 null ] >>
+endobj
+1702 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 504.884 null ] >>
+endobj
+1703 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 493.925 null ] >>
+endobj
+1704 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 451.101 null ] >>
+endobj
+1705 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 422.219 null ] >>
+endobj
+1706 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+1707 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+1708 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+1709 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+1710 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+1711 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+1712 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+1713 0 obj
+<< /D [ 1681 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+1680 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F78 556 0 R /F79 668 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1716 0 obj
+<< /Filter /FlateDecode /Length 1945 >>
+stream
+xڭZ]}_G&(0h Z
+E3(=g?)r?ý>*;3*M Ja~YJ&?]>W-[npi^,kWKh/}o1 4.}sKo=o}J}3Co3o7Evm\{gۍOU,۪]Kh Wݗ`V9&1?iU4.#}>O e)”:m¶LtcJ &~l>R;
+K>&|}Lch)WA֤D)g2AR}>mzoj/SqY"QnV)*# '.EFP:u!|U+P3oja JVP+WnRdfys̶·gih`j|
+ DMFP2J)ACؓ4gc h&)QUW'h|p< AM4D5):.0?]Ƨze~IZ6؇
+#g <_+ Zh(V*+iSeP1Afqt<_f
+b:C7`
+ )&'` 4 Asj?A
+bRET&zJDtNek<7B8#Yh+bR=MQ cnj\c!\M>o][1=0Mxuk@<5hJ=`YhM(OCjU-3? z`W{H r2!S`Š8+:+g ,uptI
+endstream
+endobj
+1715 0 obj
+<< /Type /Page /Contents 1716 0 R /Resources 1714 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1316 0 R >>
+endobj
+1717 0 obj
+<< /D [ 1715 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1718 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+1719 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+1720 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+1721 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+1722 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+1723 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+1724 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+1725 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 661.013 null ] >>
+endobj
+1726 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 650.054 null ] >>
+endobj
+1727 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 639.095 null ] >>
+endobj
+1728 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 628.136 null ] >>
+endobj
+1729 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 617.177 null ] >>
+endobj
+1730 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 565.038 null ] >>
+endobj
+1731 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 554.079 null ] >>
+endobj
+1732 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 543.12 null ] >>
+endobj
+1733 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 532.161 null ] >>
+endobj
+1734 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 521.202 null ] >>
+endobj
+1735 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 510.244 null ] >>
+endobj
+1736 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 499.285 null ] >>
+endobj
+1737 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 488.326 null ] >>
+endobj
+1738 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 477.367 null ] >>
+endobj
+1739 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 466.408 null ] >>
+endobj
+1740 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 455.449 null ] >>
+endobj
+1741 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 444.49 null ] >>
+endobj
+1742 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 433.531 null ] >>
+endobj
+1743 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 422.572 null ] >>
+endobj
+1744 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 392.462 null ] >>
+endobj
+1745 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 381.503 null ] >>
+endobj
+1746 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 370.544 null ] >>
+endobj
+1747 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 359.585 null ] >>
+endobj
+1748 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 348.626 null ] >>
+endobj
+1749 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 337.667 null ] >>
+endobj
+1750 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 326.708 null ] >>
+endobj
+1751 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 315.749 null ] >>
+endobj
+1752 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 261.728 null ] >>
+endobj
+1753 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 250.77 null ] >>
+endobj
+1754 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 239.811 null ] >>
+endobj
+1755 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 228.852 null ] >>
+endobj
+1756 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 217.893 null ] >>
+endobj
+1757 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 206.934 null ] >>
+endobj
+1758 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 195.975 null ] >>
+endobj
+1759 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 185.016 null ] >>
+endobj
+1760 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 174.057 null ] >>
+endobj
+1761 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 163.098 null ] >>
+endobj
+1762 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+1763 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+1764 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+1765 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+1766 0 obj
+<< /D [ 1715 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+1714 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1769 0 obj
+<< /Filter /FlateDecode /Length 4223 >>
+stream
+x\p^N[
+j43H?.wMGFt>WWO>zs#F8]]?aDGld5̌fj6}7fɋ}}\%Nka1jn6û/&ٳzvLA%|,HE <)Jඅ#Lܶٶ#
+~=W͢P%S=ӊ'07/hl澟OoVeprvXe 67<&\뜧6ඵSDPۖǡY/`|oݮDHcaba:sFL8"9-6|C!\g܌WƇ(ެVr*z]EO^&YEC\8AG*Sp;7Y
+Pbpp#VvO,bW[{<67n{ 9`V7)Zwâֹk!j%Ј!'R(YOb \rz1 w:xng~ٮC#bP+Yཱུ
+L¢38J,J2wX/6^~iit)6[t?4@r@~vuӴ_T^]fyApd6]]X>n=B$l 0Ѹ!9fr>[E 4p %Hq[77os?<:VOaA01Y,l:{HCJٍm#4ڮeO=M^r
+nl}!?4!Ur8.-BaN&X /wpYUam;bxq=92θDփnyhxwfN`Rr9 ̱m?+^M:%
+*ReZٳxm>]y0=9be;-jF,Q=uflzw/Kn ff<>fׇf9փ#a|{t((׹%ּnWNӝC84zrgbR`J/__.
+X 0 }0`#
+Z|e7a
+E3Hnr1Enz  aKN)aJA
+>0")p aJ"*+4RXX+<u3p(q:%L9Pe @ƹRUp
+XQ+'WaɝiO<%YD`3%SCM2ChEӮ
+E3Hnr1E nz 0}(\|U`z'8"'f)aZzboL]DDi`Wl*KB2K5T3Mh+(Af@S#N
+c2acA`=  <! ISY67Zbz)䬛ecI_)i=h|=T
+PVj@˜\eIKc&YN4a)EAr BbSUZsZ{9eO3P%yXAҔIvVMmVа^?y{hg
+endstream
+endobj
+1768 0 obj
+<< /Type /Page /Contents 1769 0 R /Resources 1767 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+1770 0 obj
+<< /D [ 1768 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1771 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+1772 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+1773 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+1774 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+1775 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+1776 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+1777 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+1778 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+1779 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 633.368 null ] >>
+endobj
+1780 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 622.409 null ] >>
+endobj
+1781 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 611.45 null ] >>
+endobj
+1782 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 600.492 null ] >>
+endobj
+1783 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 589.533 null ] >>
+endobj
+1784 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 578.574 null ] >>
+endobj
+1785 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 567.615 null ] >>
+endobj
+1786 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 556.656 null ] >>
+endobj
+1787 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 545.697 null ] >>
+endobj
+1788 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 534.738 null ] >>
+endobj
+1789 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 523.779 null ] >>
+endobj
+1790 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 482.947 null ] >>
+endobj
+1791 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 471.988 null ] >>
+endobj
+1792 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 461.029 null ] >>
+endobj
+1793 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 450.07 null ] >>
+endobj
+1794 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 439.111 null ] >>
+endobj
+1795 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 428.152 null ] >>
+endobj
+1796 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 417.193 null ] >>
+endobj
+1797 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 406.234 null ] >>
+endobj
+1798 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 395.275 null ] >>
+endobj
+1799 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 384.317 null ] >>
+endobj
+1800 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 373.358 null ] >>
+endobj
+1801 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 362.399 null ] >>
+endobj
+1802 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 351.44 null ] >>
+endobj
+1803 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 310.636 null ] >>
+endobj
+1804 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 299.677 null ] >>
+endobj
+1805 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 288.718 null ] >>
+endobj
+1806 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 277.759 null ] >>
+endobj
+1807 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 266.8 null ] >>
+endobj
+1808 0 obj
+<< /D [ 1768 0 R /XYZ 81.077 255.841 null ] >>
+endobj
+1767 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F32 1809 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1813 0 obj
+<< /Filter /FlateDecode /Length 2530 >>
+stream
+xڝZ[o6~_EQ&.";CP)YflJd=%JT̋%Qx.<<7:B|_Eܙd7>|"J!%`w>Vx%r%FgLUjMY#H=fUQ?z:>a@JyO/.euڇޟ rݏM^$^Wiiyf@Hy˳[tm?}0U'<w˦OYW*g_t0pV@JՁiYս{_5sW넡~9} _']fFx3rQwTqiQh<M 8ڻ<WeZ<'0+[001$]1bLb+"i0dfJBb0%A)G)샍fMR䮮ZzM6i`l~G+ &ICϓcD яe6;6GemHMyRz%}vMbv&MHB '0sOU;Fb4mұ-؞í1Th3i+ᕇ6+xj&S Ժ3µH)`$y0~M2/u=eW/[$Q* 5X&Y=RKʪݔ{{5L
+"Fccg팆A|VL:}3$;f,L?p[T &̃3Y#">/iVWYb ;4\O
+rFs;0<d9„6ݞNnþ odo)CqyÔ>EJϪ#Ð ^/JvC_?L(U(LQ VCOV 6?Xfii˶\[]5 ‘Ksx2__~xr8_^C \2\Omϖ
+CBTxu-a|rj*|;́H
+ej$@T{S" [E̛ܤ"^% tXzgld{ox)P.q25Kpٓc{P~=gzftLtӷ0g 3Ð/3}x!gJwr(b~3W/cliji
+kڪD,3:7ҟTM0fLEcǺi)L6S l.^7nXe9k ޙu'ZG77t:ڞ]ħQXA*վ`D쓴=9xV
+
+E1=8I<LB|dK.6v%vv׬:  )%v)^@H nT2<R\!$cBhfPfmѶB98µ9 nSkZ-6y[(5uC+
+MA >9򰪰-≩'}2[|.rXP]ݿRK"ʪ >4eet/w1LM]G3!մJN@WIYtp@V|48>D
+Jr8vk?8i:%0G0A:=tb%zAg r~o(`<xl &Hm3GAs8;r"CӖrv~zBaAns#",|z3"x&sqo))CLy#a[}ݼmKؐԴƖs|Ybp
+P,8 a<FTK[K#w<3 UgՕ!%{$y
+endstream
+endobj
+1812 0 obj
+<< /Type /Page /Contents 1813 0 R /Resources 1811 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+1814 0 obj
+<< /D [ 1812 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1815 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 707.063 null ] >>
+endobj
+1816 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+1817 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+1818 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+1819 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+1820 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+1821 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+1822 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+1823 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 619.392 null ] >>
+endobj
+1824 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 608.433 null ] >>
+endobj
+1825 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+1826 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+1827 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+1828 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+1829 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+1830 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+1831 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+1832 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+1833 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+1834 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+1835 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+1836 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+1837 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+1838 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+1839 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+1840 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+1841 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+1842 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 251.771 null ] >>
+endobj
+1843 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+1844 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+1845 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 218.894 null ] >>
+endobj
+1846 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+1847 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+1848 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+1849 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+1850 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+1851 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+1852 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+1853 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 106.316 null ] >>
+endobj
+1854 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 95.357 null ] >>
+endobj
+1855 0 obj
+<< /D [ 1812 0 R /XYZ 81.077 84.398 null ] >>
+endobj
+1811 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1858 0 obj
+<< /Filter /FlateDecode /Length 1976 >>
+stream
+xZ]o}ϯ[a%4E@zشJJiC}Фn}dIGs8̜Bg}wE#I˫ۻT$1 >[n<DglQ,lsd*23MRB`#g&dg϶U^.ó7M<Xw/M(a{G4D;2}m?˾n+4#a3J.cВQاOÅ/o\Qu}'WõO'?OP&LK?Ts~*u s64J 0FDJy2.jѶIm. 0[z }&%LD4 #6#)\jom<)CcGnEw](,oY)N9_s:OdjG<ml]Apx(mx #2B >YuMVl2w2٭4I 1_<A~C0gs}aJ4,|lj"oT&Z+To_TvGSW"7jbq0Bm네L{۸rslxELRIR?҂,㽠'zsacAz}{
+[0Ds#.Mu]WKCBCO*Pk.BӐHmKT@Fl95f H$;k-z9d69Q|佔nVnuƷiqGvY!+bNeQHD| d/P(W aO^Gc[<O5aOtxs3h@p{ ]S7(KQ~L[M4[>=[@t~`r!mh+&JB'NkYyfgX٪,ƾÓ$TN8B UД$vЁ?X* :tV&TyWnЎiyP#B?ٶ6O׾3 q&FA}Yg &D*!o?OhGKFo&p<DmULo QnQ1_O38i> $}T94B:0
+$Pd';yrg
+ھ>9D-
+endstream
+endobj
+1857 0 obj
+<< /Type /Page /Contents 1858 0 R /Resources 1856 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+1859 0 obj
+<< /D [ 1857 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1860 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+1861 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+1862 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+1863 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+1864 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+1865 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+1866 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+1867 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+1868 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+1869 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+1870 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+1871 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+1872 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+1873 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+1874 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+1875 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+1876 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+1877 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+1878 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+1879 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 530.725 null ] >>
+endobj
+1880 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+1881 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+1882 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+1883 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+1884 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+1885 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+1886 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+1887 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+1888 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+1889 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+1890 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+1891 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+1892 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+1893 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+1894 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+1895 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+1896 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+1897 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+1898 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+1899 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+1900 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+1901 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+1902 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+1903 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+1904 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+1905 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+1906 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+1907 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+1908 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+1909 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+1910 0 obj
+<< /D [ 1857 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+1856 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R /F78 556 0 R /F46 176 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1915 0 obj
+<< /Filter /FlateDecode /Length 2722 >>
+stream
+xZ[o6~ϯ 4,ӝ.) Efl!J$oCREX`˔>xO7a~NRJ*dxCI"LId2N~16m]<h2o?LpD"¹j]e6$Mآq.Oͦ2B i^n.;_=
+6&
+6 JILϛEs]:q>=
+{~a[%eb FE6p¯-ǭM1JX4?>}ӳ4da1(^$N!;YJVMU:D;Yy2QӲ.dU^u
+# O("|o,#`$$D
+?>5˟ʖz9dm}\TDkdP$2D$04k d! վu
+ AJ_-Fe!:,þ#(!ذ$r1/bd &
+FJm4 !S=\C%˨ ]`ETM8fut3`9ks3v_]),l!'Xa^V6ۜ
+/b/ ʆ2<\PD'iE( 0)R9d
+V>Zg,DP;
+@*TKZ!{" U%dŴɶU'Z0"6_=~!
+ eEF\rY7rXp
+e
+ь]4BHBےd$#ʦ1-QJvn[GGx.;
+KSNŴFiiT5@G{/.' a"Ny扤7Iހs]jG3k 1&Yԫ
+c6ҶR@Ҿ5jz>! K ׬o,8`dx,ٓ= EŸ۵K|
+endstream
+endobj
+1914 0 obj
+<< /Type /Page /Contents 1915 0 R /Resources 1913 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R /Annots 1962 0 R >>
+endobj
+1962 0 obj
+[ 1911 0 R 1912 0 R ]
+endobj
+1911 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.914 250.974 170.376 260.973 ]/A << /S /GoTo /D (Hfootnote.4) >> >>
+endobj
+1912 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 409.702 120.242 416.164 132.455 ]/A << /S /GoTo /D (Hfootnote.5) >> >>
+endobj
+1916 0 obj
+<< /D [ 1914 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1917 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+1918 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+1919 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+1920 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+1921 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+1922 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+1923 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+1924 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+1925 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+1926 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+1927 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+1928 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+1929 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+1930 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+1931 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+1932 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 565.594 null ] >>
+endobj
+1933 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 554.635 null ] >>
+endobj
+1934 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 543.676 null ] >>
+endobj
+1935 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+1936 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+1937 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+1938 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+1939 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+1940 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+1941 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+1942 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+1943 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+1944 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+1945 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 403.203 null ] >>
+endobj
+1946 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+1947 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+1948 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+1949 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+1950 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 348.408 null ] >>
+endobj
+1951 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+1952 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+1953 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+1954 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+1955 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+1956 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+1957 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+1958 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+1959 0 obj
+<< /D [ 1914 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+1960 0 obj
+<< /D [ 1914 0 R /XYZ 94.613 100.167 null ] >>
+endobj
+1961 0 obj
+<< /D [ 1914 0 R /XYZ 94.613 90.702 null ] >>
+endobj
+1913 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1965 0 obj
+<< /Filter /FlateDecode /Length 2471 >>
+stream
+xڽZo~߿og",3JJ`IYDC_lҐ 3ߌ,d˧O_^hlq ÍdR#*R`/W“aLޒ)ClEiK-_zX .huUeJ\n`N͏ˢjMә_ 0gb>gM5$dHrUyXΌmQUE7r_5Ng͓9J0KkiC"'ƒ{yJL/_~!Bbo_;$̀G6
+*"+?'}Zq*ٺ4mdW ˢ,f2oJy;P.T+"]̮)le-j=pc;\>M]vQ ;Lu
+#/[;nI+$4EN$AFAņ3`H+LX\ $0 cDҘ 'O_^(X[@[,HP۴2!TpӶޛ4thId52`үk FI$XzmMw{7263miS?N)x4<s{7hդS$NrrOVNH0qʍʥ?wwo޻%c,=a]z`Vu& !XW58cxeS>(K_WcK1(ǣBl }25,+|ғG'˼v b3T HrN'CcRK0_Ң!I.r<*Ҝp׻"7(~+_MYi;8 4dkg
+ 8yc9@ rFH[ }Yu]u\LإW }yiư ,c*CRq+Xg:kaqH4~
+*Z}1c8)FJ`>ؙ~5/_a)>lUԇEḚ *n#:k{͛еKiSzux+)tg L7'?U0e_]YqċlHG*gH1I.]Ip\k,ZZ'i3y"S.6COoDZC~gCAĠX<T33e0~ TO~^8|?8{Ғ& BJNWH8~eQrzeQKI]X -?{} |:qXpY\PS!IQW -1+Hy۷eg}aRL)CL77ָZ
+:
+M?NŠCoC2l͓m*^66AhH_QFl=3emZP"֛ԆDPA{ͯD͓i^fz+!PIa^PB*@Pҿ?8#ޜ@+"2+n+pX/u\sXۑ؍ 2 Dz`TW|ǾK 6-Bh>!9ָh /̔hZF!dIMΙ#t4ؐDD@Zy.bBc qTz㭃RbXDQ@=j}ȴa i]E#ݺt uY
+?lqB?6
+endstream
+endobj
+1964 0 obj
+<< /Type /Page /Contents 1965 0 R /Resources 1963 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+1966 0 obj
+<< /D [ 1964 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1967 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 719.019 null ] >>
+endobj
+1968 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 708.06 null ] >>
+endobj
+1969 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 697.101 null ] >>
+endobj
+1970 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 686.142 null ] >>
+endobj
+1971 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 675.183 null ] >>
+endobj
+1972 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 664.224 null ] >>
+endobj
+1973 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 653.265 null ] >>
+endobj
+1974 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 642.306 null ] >>
+endobj
+1975 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 631.347 null ] >>
+endobj
+1976 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+1977 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 565.594 null ] >>
+endobj
+1978 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+1979 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 518.769 null ] >>
+endobj
+1980 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 507.811 null ] >>
+endobj
+1981 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 496.852 null ] >>
+endobj
+1982 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 485.893 null ] >>
+endobj
+1983 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+1984 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+1985 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+1986 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 393.24 null ] >>
+endobj
+1987 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+1988 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 351.397 null ] >>
+endobj
+1989 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 340.438 null ] >>
+endobj
+1990 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+1991 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+1992 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+1993 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+1994 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+1995 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+1996 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+1997 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+1998 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+1999 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+2000 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+2001 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+2002 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+2003 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 111.297 null ] >>
+endobj
+2004 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 100.339 null ] >>
+endobj
+2005 0 obj
+<< /D [ 1964 0 R /XYZ 81.077 89.38 null ] >>
+endobj
+1963 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F70 185 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2008 0 obj
+<< /Filter /FlateDecode /Length 2484 >>
+stream
+xڭZ]o6}_a/
+`vv1va(%$'M{)JhrC"/{^w}DE! n@^ C-|ij 67bƫ1?uz w" SD5YYڥv)Q}ٶQ ~Pҧ+*j >4.n$HS:ݣ@/qd,!Cj[dW嶊wѲe<xn9{qO>W4
+kSКV?y޽l5u$AWWU_rXн$ywlR.IqٷD;6#% -8at W!
+ 4"B4 qh^o?BA!Sc0 ԓzU*rs{{Tu*x(ĥ1Zy C0DƁCb1ETt.ifd$bpmwzPM神Y5EX;p=wpQAYyڤū!^'}i.Uq{N&nJ}YkN5Xt2,pۑS?J,l58 (Mu&ugO$L-N]
+|פE;*rȪt %&lo^An[`eh&ol;Bȹ%LțeG"ң^A*$OtН; n"]OiT<:~hMiVUy3&73 a
+ ?b#pgܥL?0o~ocok p
+aMHjSRVG%G-_\J=c09m+
+hqY${QlD\lRBVTtKbR 6y.57Eln,xڔ! :鲹G<T.b+p"'ڒ SI<ؤw>Nt|{ D$(0-I LhDwݧzK̜7<6/ +uG>9/~#Ӧo(Fe}^g:]1ƒ/"xu&.d_qK>|fjcj]Y|CPٔ/͎g (9~hMB'lss{qt[7
+qvpQncvzE4h!j䖥cs;(!:@`с71
+<}pe*B\؄>?*'t<ן'dY(`V69lvĚ ii #m?].j].8=AWTpWOqs7c<_p DŽ?& 9Vc<F}^&߶ğ,Hr+OyUč;M?]LTB>OEKY7UCS0RS:}07~Έ|Wmx
+i
+mAO:ǡD_O:N{zY/)ҕCHq'Oyʷen߼8B+ꬦp? t)|WN/Xu#O`ͤNv~mq[%{ɡnݪ|/ޤ@XZa~~5aJSU~ qqno7ןN(DO6DyRGRoKWM|ʛ;f`a>RS}\$D ̼~z="2IOD$<5 1>U~*bqN;DM|Uc:Zm[ !6l O9ȡ'Glon}gU<Vp_&TAaTxP
+.ldz Hߑ?<h8'AeFJYȵ$,w[w `Btw>ўޚ6}f;M>簻pcI
+8HE:2)ckG{JA}Uo`o5Ź)7+ۈQDVeӻRs_;?}8Hz1Hks(OmSr)ͭ}¡41mi&G"r\0kh$@`70Al [q5i{]cgrP+DΠmV9eHs|7=$Wbq]#u'g)"h8?=}ng]IOum[N0™Ql7{Q9 @q/7^m(
+endstream
+endobj
+2007 0 obj
+<< /Type /Page /Contents 2008 0 R /Resources 2006 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+2009 0 obj
+<< /D [ 2007 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2010 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+2011 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+2012 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+2013 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+2014 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 669.205 null ] >>
+endobj
+2015 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 658.246 null ] >>
+endobj
+2016 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 647.288 null ] >>
+endobj
+2017 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 636.329 null ] >>
+endobj
+2018 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 625.37 null ] >>
+endobj
+2019 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 614.411 null ] >>
+endobj
+2020 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 603.452 null ] >>
+endobj
+2021 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 592.493 null ] >>
+endobj
+2022 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 581.534 null ] >>
+endobj
+2023 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 570.575 null ] >>
+endobj
+2024 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+2025 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+2026 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+2027 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+2028 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+2029 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+2030 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+2031 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+2032 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+2033 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+2034 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+2035 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+2036 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+2037 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+2038 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+2039 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+2040 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+2041 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+2042 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+2043 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+2044 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+2045 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+2046 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+2047 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+2048 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+2049 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+2050 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+2051 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+2052 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+2053 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+2054 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+2055 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+2056 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 167.088 null ] >>
+endobj
+2057 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+2058 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+2059 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+2060 0 obj
+<< /D [ 2007 0 R /XYZ 81.077 81.41 null ] >>
+endobj
+2006 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2063 0 obj
+<< /Filter /FlateDecode /Length 2865 >>
+stream
+xڭZs۸_31o~褽kCi`D:ۗI)ѹ"b /~y+~y׫7>((ӄ,DaIWD
+u߫_{^>lQ&%11)ԟwuyu{oWE6UU *T_;i&og T,6o{D=`Oӕ)uɪ\V;Ӯ̗viˢUYF+4a"dV-r5imꦽ\8>l#*yHe#eǛs&貽3lYƒםzF4vW]CRyi5R3 F pE~ߖu$?;zifܬk+ӈSiR.2r݄S,CZ,FB(ܪ`2o]^knZokP[]a
+o?|p6{\R96 aY %qBQwa2 ;;'|w
+#c)a~j5Z:dH)2F4GB1~V˽vbYwI9gz3͖IqHZ%6o˜WgT.۲O:﵌B ~nI5b,cN2 -=lQ4yEpF6흓ÿz&2 ;mfke5:nnǼ?f&c+plì"*yp)!4k/0ԨSF&V.:p'0As3qsgeͪYr^\^ laaUV`U--hU%o09TΐW ud}tq᏷yeIf)|KD&is pL"eծn@RN0$VH2k#iS\\F@xN):,(2*#gyFB=n Y~n5k&O@Ba
+ y٢~yڙ8]G|[rx>Z:ql}".%DdݚOxD Ky;$XqoH~ykmUk
+ڏn-Q=I?Cթ<LOQCzl#%<Y\h_BC h0C:āK0 |YMOoWoȉr=
+endstream
+endobj
+2062 0 obj
+<< /Type /Page /Contents 2063 0 R /Resources 2061 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+2064 0 obj
+<< /D [ 2062 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2065 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2066 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2067 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2068 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+2069 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+2070 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+2071 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+2072 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+2073 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+2074 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+2075 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+2076 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+2077 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+2078 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+2079 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+2080 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+2081 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 355.382 null ] >>
+endobj
+2082 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 339.442 null ] >>
+endobj
+2083 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+2084 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+2085 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+2086 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+2087 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+2088 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+2089 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+2090 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+2091 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+2092 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+2093 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+2094 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+2095 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+2096 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 90.376 null ] >>
+endobj
+2097 0 obj
+<< /D [ 2062 0 R /XYZ 81.077 79.417 null ] >>
+endobj
+2061 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F26 662 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2100 0 obj
+<< /Filter /FlateDecode /Length 2596 >>
+stream
+xڵ]o}t2OZ]y
+pBPl:QW|dEcދ-O gJtx^hSbq@a"]E $Utq]+u,ox&άʺ,a.E$ZGE]CQPtKQ5#,1I!Y'*^~\$#@: iSLhxWIdY.Y<,oti7(tB*k
+{[{z0^ n{'?7T0Gg-Kx33\lH,i)h
+Rz@^KKéP4*"d,<WTzBDSzSz'zTw)[κa*>
+`<)7yB HnwU]U8C)xh|!)gsrEpZft#`ȥ`)ɸc@ 6w=(ov/h12'1ubDV6fWDжuћ{Kݢ@h b<mzͶY*60+R`C/JAǷwEA淢6
+@yNu_WU+m~%xDdieWdR$ BjsQazлqSNܨ (X+>m]9>C"zAGA+SŃy <DRynmHC]iv&+8͉IBkWv볤uypclb 6H0Ojz8RW(0&V,KQ>n %gZIЮj28LwV ){@l:>LO㒔
+i37t2иT$5|;w*cMn/{}\Wp|搛dPu&6gv\J(s|7/(Մ1b@>֮͏s>ɤ .(Q/<Ns* d(Qǭy5kOεwuju;Y*8pk2]xէ90%!#mU^mX% eHRǒC 8ѷ,[( -]KA;0
+|,ӇKDk ޲v$ {w7&[tNG&xmDu[e+&T_!6FGW ʇ.KGu}oܚʯ}7ܙ1Je sl0OA әT⧏n"ВgSJETP/8Qh/ku"oZovz{ӬƋ\_p-x,GIvB v!2*vcFјvdKcrտfĵHKt!QȡX6;BXƧCT ĥ㒨X|ȼ{Jcim]Y6{A:^vG_
+P?|qvs8$<WB=blgbX2[
+z9pֵ;L-7ҙbv-Í}[ys6O,`:j4
+ؔ<݊*{W}y>fSΉurHq(ʰRR!o%P
+̖EGV> ;n(9S֐RE1yT;}" qyAsQU)ƒ!Q|gѦgD%Q8~S7Ԍ(P_|
+endstream
+endobj
+2099 0 obj
+<< /Type /Page /Contents 2100 0 R /Resources 2098 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+2101 0 obj
+<< /D [ 2099 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2102 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 695.108 null ] >>
+endobj
+2103 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 684.149 null ] >>
+endobj
+2104 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 673.19 null ] >>
+endobj
+2105 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 662.231 null ] >>
+endobj
+2106 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 651.273 null ] >>
+endobj
+2107 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+2108 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+2109 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+2110 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+2111 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+2112 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+2113 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 532.717 null ] >>
+endobj
+2114 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 521.758 null ] >>
+endobj
+2115 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 510.799 null ] >>
+endobj
+2116 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+2117 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+2118 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+2119 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+2120 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+2121 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+2122 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+2123 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 403.203 null ] >>
+endobj
+2124 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+2125 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+2126 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+2127 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+2128 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+2129 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+2130 0 obj
+<< /D [ 2099 0 R /XYZ 81.077 95.44 null ] >>
+endobj
+2098 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F76 318 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F46 176 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2133 0 obj
+<< /Filter /FlateDecode /Length 2257 >>
+stream
+xڽZKϯ0
+,v (b/74ʚRVPq"Q713ҘSg.^U_Y?҆`dbW@Y =1&nԮüY~Fb~تΠg"zOv7Ȝ_eYoZ+_ϪDQE{0E4lxI?1ʋ|=jΊvJYk9&2Q}8&(G`q`9 PuKWM}JإF) FEbDJo"m{J8#TՕq.q\}pn4NM``y\D#FvF!q_Lr@ESMA8̟lξۋ>d>:|s&>/۵ B9 4eF wV* ,ė
+ժn\v(asͣ?O#zkqdw'5xB#H-֕Z_G%wCR?j蚕a$\O̕mwEqQj=x)b
+{\YB]7GE_ڕn| m+=l F,a_"Ӊli~
+&Ig)XqA>xQ™?E^7:U8Ax(6ھ4LUi)֕b_}Չ AIlv8Ϩ0`3ؔhkpUAﳦNfaqx^֭ĹujPgTSȴ7Rgxyb!DYW\2DxPIo[=]2 &P~@j6kTWDGdPDsSV_uYuI?{ikyБl4%NbS6i?t[7uen.k
+GzJ
+&,ZQ4J~!a_V7}Sw*:j )HO)DQ~Zh  B&O:1*w
+2({Ҧ-ՇH}<tzhDhf5R}5jQ-ҘJ߲Iy`$Q,5_vj%gl
+a &OgyV`iϪݞ {C܉&1toUSgbQ"S%}9ETj0IGW]^QG|ΧDJ9CΆ9K~ו>ķpl7co%ZZ[QP
+ o ȔλljSrs/: GkB.fm@ZT'r$%ax<')>DT|awx{ة1 Zje4?g&auIk[ ?Zh<%ܗ7O&4b7ωs#Ow=c+`K4`:D1qO`j 3#oR$h
+endstream
+endobj
+2132 0 obj
+<< /Type /Page /Contents 2133 0 R /Resources 2131 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+2134 0 obj
+<< /D [ 2132 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2135 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+2136 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+2137 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+2138 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+2139 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+2140 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+2141 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+2142 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+2143 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+2144 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+2145 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 579.542 null ] >>
+endobj
+2146 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 568.583 null ] >>
+endobj
+2147 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+2148 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+2149 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+2150 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 470.949 null ] >>
+endobj
+2151 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 459.99 null ] >>
+endobj
+2152 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 449.031 null ] >>
+endobj
+2153 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+2154 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 422.132 null ] >>
+endobj
+2155 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+2156 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 400.214 null ] >>
+endobj
+2157 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 389.255 null ] >>
+endobj
+2158 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 378.296 null ] >>
+endobj
+2159 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 367.337 null ] >>
+endobj
+2160 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+2161 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+2162 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+2163 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+2164 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+2165 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+2166 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+2167 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+2168 0 obj
+<< /D [ 2132 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+41 0 obj
+<< /D [ 2132 0 R /XYZ 79.37 159.567 null ] >>
+endobj
+2131 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2171 0 obj
+<< /Filter /FlateDecode /Length 2501 >>
+stream
+xZmo}q W|'ޡ98Ebӎ.dsoŒulӋbIG|f8|ft6YMOﲝw>H2 Q&nËl'R#*'+$ܭ'w녷=1H0{0TGLُ5`ucW>`=H "؞q@XѷVe]ӗZy^>hh.K|qIf7YWҷv[ $f ف9I*RRyQtG1e5l={;7掱`~koJiָlZWv8VW6HiƴBVl+ͪ/ʢ
+0<+}_]cvHWwqu#G$bZ/g :rZyQK=ԛ.̎E9` )@eJW\`X6Ni;*ۂ[ޣv ̋ wV1B;UPRS̺YQueejGSGRow6L@ <4cH %z3a
+6(|@r[ aöozos)JcdaN4 Dyc h1:Xx{ h{X}AA* IjX~.υWu}ejɭ@/!Iu,mE
+ܚO3먯W>f/I REzDb#r\zq!%pLR,i63now
+Pcӧ|cBtՎ%$xO%PhȾiZ(4>9Pq@X._P}myTE{Xz wN4tҴKX
+bm(I9i*R2Ȏ=d,\74yP6,=c<GaP㕟
+
+:]!t^C3r3rpwQVxq;8f8vupEaÄ*H6b]>?Reެ:CkiA}z Ӷ#i%˫ۻZ)NN!p>m:L!8¹g 7=v1H$BP6'Ӈ~+w
+*_/Lw<`7m= l3l,EL˖#i˿|e~YDINW<~fnW9UZI'Xe p*-ߍZ%
+qgZCX<-8g/^}2B&5 
+{\Mc5
+b!H%Rev:3>>/#xo$0݂
+<cGُk
+endstream
+endobj
+2170 0 obj
+<< /Type /Page /Contents 2171 0 R /Resources 2169 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1810 0 R >>
+endobj
+2172 0 obj
+<< /D [ 2170 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2173 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 708.104 null ] >>
+endobj
+2174 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 697.146 null ] >>
+endobj
+2175 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 620.55 null ] >>
+endobj
+2176 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 609.591 null ] >>
+endobj
+2177 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 598.632 null ] >>
+endobj
+2178 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 587.673 null ] >>
+endobj
+2179 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 546.943 null ] >>
+endobj
+2180 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 535.984 null ] >>
+endobj
+2181 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 525.025 null ] >>
+endobj
+2182 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 514.066 null ] >>
+endobj
+2183 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 485.292 null ] >>
+endobj
+2184 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 474.333 null ] >>
+endobj
+2185 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 463.374 null ] >>
+endobj
+2186 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 452.415 null ] >>
+endobj
+2187 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 441.456 null ] >>
+endobj
+2188 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 430.497 null ] >>
+endobj
+2189 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 401.722 null ] >>
+endobj
+2190 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 390.763 null ] >>
+endobj
+2191 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 379.804 null ] >>
+endobj
+2192 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 368.845 null ] >>
+endobj
+2193 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 357.887 null ] >>
+endobj
+2194 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 346.928 null ] >>
+endobj
+2195 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 318.153 null ] >>
+endobj
+2196 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 271.562 null ] >>
+endobj
+2197 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 260.603 null ] >>
+endobj
+2198 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 225.967 null ] >>
+endobj
+2199 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+2200 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+2201 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+2202 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+2203 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+2204 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+2205 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+2206 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+2207 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+2208 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+2209 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+2210 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+2211 0 obj
+<< /D [ 2170 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2169 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2214 0 obj
+<< /Filter /FlateDecode /Length 2840 >>
+stream
+xڵZ[oܸ~ϯ0Ї5#$]l[`R}h
+A#!i"ixp<36šx?]_D'87 $UۻWEB$ESv{MRvۿO^ E8jILYDo)Ez뛛+ɤڇۮ~!g͖ a00K곘^ SB0K >b:5S*1aԧQy
+{9&19p/_yWQ'/COńt$K'~[>tG4U \Bk;z8Gtt6Ooo] E:aOð/Oc="L&{ (ztJ _Y2ʧ˶(IOl׵.]^OJ.
+zDJ1eaZR
+ޛ*"S9<jGgEvвRpB6",KIJ8@ Sۍbqڽn
+
+JqEX qCL* 籷sE!ȼP~[mډN<JU^ۙ9:)a6
+q (r XNIWƀ[C+I|+](F|YFJɪmJ|OWvT?rdNO- 6o؁$BwNыH)Q4U6
+L"H-˘v-%we6 n=Fu3?>{OHF`ar>n:w׽~:]t:tZ5 ia JcOXQl]A\L .+/7V%Qhz3CYuD,O Ls<zc
+
+}W2,LNGa􌎢,|2$H3 8f&.?:lߠCĦ@:+]XpKӇEiP6QI"'OQ=i `#-2'Vl3 X-qz49
+dBR|.!
+vWL D2? 2z$;մ` Qj< ВT%L1ea7|Ma=%7Dt`AÚ,M^p-YOI~e`4%Q:}eazQuY7B5e9^Y »
+,RNJ>{{S(lQ,
+%-JSw?T^kXk8&,L yC@$|y\] /,# 5 ԑ@?}=];w H,b:p_߯ -%BFV^lOl!)r¢G
+oxg`b,,zԥme,e0O7!g6Iګ᧊`5N=u7*%rn賰\wMМ7%GطZ/`i_ <|Á"Q$]uX]~> <<IDQ釦o_
+endstream
+endobj
+2213 0 obj
+<< /Type /Page /Contents 2214 0 R /Resources 2212 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
+endobj
+2215 0 obj
+<< /D [ 2213 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2216 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2217 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2218 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2219 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+2220 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+2221 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+2222 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+2223 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+2224 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+2225 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+2226 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+2227 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+2228 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+2229 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+2230 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+2231 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 508.807 null ] >>
+endobj
+2232 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+2233 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+2234 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 356.378 null ] >>
+endobj
+2235 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 345.42 null ] >>
+endobj
+2236 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+2237 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+2238 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+2239 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+2240 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+2241 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+2242 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+2243 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+2244 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+2245 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+2246 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+2247 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+2248 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 141.185 null ] >>
+endobj
+2249 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 130.226 null ] >>
+endobj
+2250 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 119.268 null ] >>
+endobj
+2251 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 108.309 null ] >>
+endobj
+2252 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 97.35 null ] >>
+endobj
+2253 0 obj
+<< /D [ 2213 0 R /XYZ 81.077 86.391 null ] >>
+endobj
+2212 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F78 556 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2257 0 obj
+<< /Filter /FlateDecode /Length 2075 >>
+stream
+xZ[o~'
+MQ672F3eT[Ѧy~<s.׳t8go>||!5C."V.nLn:geXiJ1+xKT?<dB2ٯ]]-?իcbxn/wJ$?̤))C)Lh*('19̹heUE.oYהO?L\7:B8ʂG6T>S
+>
+Hť6B{.]o| .. >vt&<&'}!mjeN~8$E}a_5iy;a2jI?˯.Hð88/{:٦ír\7Ϡ;})ӫǷ9p=nMb`0 0<Я㪮=gMr]o6՝oh^)Sۻ5+#Qrpҥ/4/F3nC,IMR3fy:vYV*.j殍#KHG6ݮM65"8E% Qnvޭu[ZrþGWToga?3lhm_rx3>W {apּUYe]}3S f9qX'L{*q85<Fό
+p) MnM3\/.2G#@}yI
+ OOt]Y͇}xvw\91ѹ1DqIN5v<w=+Rd",XD82Dq4Hb9Qj
+9hQ/F6n;P)Έ9(/K|Tk1zEqq)vWXRfl4Githİ!+:B/8"mQcWg-ry~M0
+MV"H)WDc3s>~SI"ܵ)=GEυd DeEN9l&U\?ǜ12s?%Bѳꗛ
+endstream
+endobj
+2256 0 obj
+<< /Type /Page /Contents 2257 0 R /Resources 2255 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
+endobj
+2258 0 obj
+<< /D [ 2256 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2259 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2260 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2261 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2262 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+2263 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+2264 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+2265 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+2266 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+2267 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+2268 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+2269 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+2270 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+2271 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+2272 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+2273 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+2274 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+2275 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+2276 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+2277 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+2278 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+2279 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+2280 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+2281 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+2282 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+2283 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+2284 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+2285 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+2286 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+2287 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+2288 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+2289 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+2290 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+2291 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+2292 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+2293 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+2294 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+2295 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+2296 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+2297 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+2298 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+2299 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+2300 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+2301 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+2302 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+2303 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+2304 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+2305 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+2306 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+2307 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+2308 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+2309 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 111.297 null ] >>
+endobj
+2310 0 obj
+<< /D [ 2256 0 R /XYZ 81.077 100.339 null ] >>
+endobj
+2255 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2314 0 obj
+<< /Filter /FlateDecode /Length 2015 >>
+stream
+xڭko8WxY@6,)s
+*bИ'_9#$ZEQOjipeVsFy;\(|l◚#S#:K){kdW"lQ7-C/ӡ4@ms$hϺ*@X/kHn(J])#(16F40M5|3pk>#/#[ z.W4MX5pqV
+T m9Kŝ篼!V;aHH`C}֋:^xUD!, 4lIpq 㲰u,_̌<]Ts<[t m7:8:2J#O=zחUWE&|0zblB%x]%LLb֕tOu+aa6tTq>dޓ!J<$U˜7|
+)jIp]uPk!{mqIppp0X:TU8H=BZKLˆ]nG} aaCú㈏;ŠX`GƬa; J *bBA,IW|ŞYDD3w-SH%[RFꪏ y H]HS`!JZ$ U; ,m!z)<Ү$,m3EIPb䉏JViu }_# ai䙄$)>BO=녭2rSpGz,H]6SGΫV7%twe2m4xe2/,~{aO}YNLF $]+>
+nzo90%a
+ߪmzҐgcTU?{_Ͼl9-(+>|9 懾b9!1/4b?ǟ{{,< @DGMb`"W{VHڥ TEucNl ~&JZpOIT zyۍClB0a9_ÔDV_, uЙ#~Ѽ w^WQ43`q|vctk>tgh= NcOGt|4J3# tí9Nubvdc;*{5V0pgL31v-44ةz1u=n/ۉxZ `ql{HF
+endstream
+endobj
+2313 0 obj
+<< /Type /Page /Contents 2314 0 R /Resources 2312 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2365 0 R >>
+endobj
+2365 0 obj
+[ 2311 0 R ]
+endobj
+2311 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 408.109 641.043 414.571 653.533 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
+endobj
+2315 0 obj
+<< /D [ 2313 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2316 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2317 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2318 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2319 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+2320 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+2321 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+2322 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+2323 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+2324 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+2325 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 638.368 null ] >>
+endobj
+2326 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 627.409 null ] >>
+endobj
+2327 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 616.451 null ] >>
+endobj
+2328 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 605.492 null ] >>
+endobj
+2329 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 594.533 null ] >>
+endobj
+2330 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 583.574 null ] >>
+endobj
+2331 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 572.615 null ] >>
+endobj
+2332 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 561.656 null ] >>
+endobj
+2333 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 550.697 null ] >>
+endobj
+2334 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 539.738 null ] >>
+endobj
+2335 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 528.779 null ] >>
+endobj
+2336 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 517.82 null ] >>
+endobj
+2337 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 506.861 null ] >>
+endobj
+2338 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 495.903 null ] >>
+endobj
+2339 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 484.944 null ] >>
+endobj
+2340 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 473.985 null ] >>
+endobj
+2341 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 463.026 null ] >>
+endobj
+2342 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 452.067 null ] >>
+endobj
+2343 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 441.108 null ] >>
+endobj
+2344 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 430.149 null ] >>
+endobj
+2345 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 399.375 null ] >>
+endobj
+2346 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 388.416 null ] >>
+endobj
+2347 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 377.457 null ] >>
+endobj
+2348 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 366.498 null ] >>
+endobj
+2349 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 355.54 null ] >>
+endobj
+2350 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 344.581 null ] >>
+endobj
+2351 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 333.622 null ] >>
+endobj
+2352 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 322.663 null ] >>
+endobj
+2353 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 311.704 null ] >>
+endobj
+2354 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 300.745 null ] >>
+endobj
+2355 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 289.786 null ] >>
+endobj
+2356 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 278.827 null ] >>
+endobj
+2357 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 267.868 null ] >>
+endobj
+2358 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 256.909 null ] >>
+endobj
+2359 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 245.951 null ] >>
+endobj
+2360 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 234.992 null ] >>
+endobj
+45 0 obj
+<< /D [ 2313 0 R /XYZ 79.37 209.632 null ] >>
+endobj
+2361 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 141.302 null ] >>
+endobj
+2362 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 130.343 null ] >>
+endobj
+2363 0 obj
+<< /D [ 2313 0 R /XYZ 81.077 119.384 null ] >>
+endobj
+2364 0 obj
+<< /D [ 2313 0 R /XYZ 94.613 89.795 null ] >>
+endobj
+2312 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F72 187 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2369 0 obj
+<< /Filter /FlateDecode /Length 2986 >>
+stream
+xڥZ[۸~_a
+'؂^z>3Ar6\Q,IHYRtv}ӄןnz>Lf1ICbĥr,|m~~-}͢Rz\x?Y-6eeg5$" P [HUybO~٥g\\!5~[d,lԈuz֯}&^B1|]PiD2N]a<OilڑM5Y4D2Aog[$6)1m Ǫ*U_Xgk:a1c@< .#ХW
+-
+|6FITdH7YP@bm᠚:B[rcw|ᆒ$v_PP &THwjL*qs~BBp
+!5ٕN
+BŽt|O@MhйDAR[
+4H4)'r\H#P
+k2{zBpn\3tYEǴaZgLkkosc!tW"0KDZ7y֘'ҴAILsw{Y4p x ":KNh8bJ.R5i 0T``>JU43Zi2'!c5a,-^iFX
+rlK@؍ b$!˙G.u$ 26b@Q6/=c2v2]5VPP_v(~ EhqV9bqitZQl.[!)hebSψZ+ Lv[fE0`k X[*I#Pˇ۸D Ԩ#
+F=˪EO6@bs9t>+mY_PC*qICmM:q3M-zi~c|7;YWI2\uX充!L(`ȡ DU$4 :lS7~i/@N!^Xs+PnrzchwW[<\/Kʛ+8/p<D$t!^Ɋ6Qo_Ug_% %]K mYbFfCScnwSNl?[mX" 'OȡG!|a *үJP;Uq܎"aWԶ
+(<
+h7^E諝EK+6^G txZ^S>( kX30
+Jx~guw Ϙ4EhʼnO0XּAOV`+ E0QE;ϟ`
+Cu8QQUb
+endstream
+endobj
+2368 0 obj
+<< /Type /Page /Contents 2369 0 R /Resources 2367 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2407 0 R >>
+endobj
+2407 0 obj
+[ 2366 0 R ]
+endobj
+2366 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.519 480.603 444.981 492.54 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
+endobj
+2370 0 obj
+<< /D [ 2368 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2371 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2372 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 753.177 null ] >>
+endobj
+2373 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 742.218 null ] >>
+endobj
+2374 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 702.653 null ] >>
+endobj
+2375 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 677.463 null ] >>
+endobj
+2376 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 666.504 null ] >>
+endobj
+2377 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 655.546 null ] >>
+endobj
+2378 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 644.587 null ] >>
+endobj
+2379 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 617.547 null ] >>
+endobj
+2380 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 606.588 null ] >>
+endobj
+2381 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 595.63 null ] >>
+endobj
+2382 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 584.671 null ] >>
+endobj
+2383 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 573.712 null ] >>
+endobj
+2384 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 562.753 null ] >>
+endobj
+2385 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 551.794 null ] >>
+endobj
+2386 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 540.835 null ] >>
+endobj
+2387 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 529.876 null ] >>
+endobj
+2388 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 518.917 null ] >>
+endobj
+2389 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 507.958 null ] >>
+endobj
+2390 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 432.528 null ] >>
+endobj
+2391 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 382.857 null ] >>
+endobj
+2392 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 371.898 null ] >>
+endobj
+2393 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 360.939 null ] >>
+endobj
+2394 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 349.98 null ] >>
+endobj
+2395 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 339.022 null ] >>
+endobj
+2396 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 328.063 null ] >>
+endobj
+2397 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 302.302 null ] >>
+endobj
+2398 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 291.344 null ] >>
+endobj
+2399 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 280.385 null ] >>
+endobj
+2400 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 230.714 null ] >>
+endobj
+2401 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 219.755 null ] >>
+endobj
+2402 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 182.04 null ] >>
+endobj
+2403 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 171.081 null ] >>
+endobj
+2404 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 160.122 null ] >>
+endobj
+2405 0 obj
+<< /D [ 2368 0 R /XYZ 81.077 149.163 null ] >>
+endobj
+2406 0 obj
+<< /D [ 2368 0 R /XYZ 94.613 80.331 null ] >>
+endobj
+2367 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F70 185 0 R /F76 318 0 R /F78 556 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2410 0 obj
+<< /Filter /FlateDecode /Length 2481 >>
+stream
+xڵZ[o~ϯ0(
+_zpgۃ0P+bf(RɇALͤ!ܯsOLI`,LS끞WC='w3nt_͌uI-J|>CB4hS9vN{&C˴jyO K[rTK_\٤b ~Ìg u'@O}Z{26/iq=[ZƎa9jsRjılu2KM3=>(=;yq}5pY%m)gHC롃cd>v(=t1
+XMI }P"!]j]-1 m8HB% :8RcD
+t,<cZ#UǭҔǵ&AJ5NZAف=Nk^4ӒxYeOխowƹC@F̼\Dz`\#am<vH)<.ŐFt:.j9F MZ;O Q.| c?M#/G
+2&x'B12=2ܶ
+[LL D'*sDˮq;6QT#DY^ۜ)Dhz S7U}]_szEXMlUz# Q!v\Wr&7t(c
+D0 :$gyܽzRQ=UYsjaf7BC&Z[
+x϶$i٧E0Y]n_6=U%TOlS*74Ab?S,h '`_*`)1_W0y}jR7S+Nk EGϿVF-o"bYl6eu%^$YIib-d"+m|;c͗wy<[R6r*նauoa-Zoز ؆A+NmhhOxaށA&dnH!BI%aנGmn }L`0|{s}Ǹ-pO{OpJbm˄x`
+@}n3#3~ܫS6fs^O'}' zAc.//j/TVG+}>(7q]اF!eC|/M\X.Mr\5rC[c.#R.ҽ
+!f,KxFNKBc` Kמ1aCI\!.`8Cwք}ۯ u~eb ~2*~*‘wnۄt!R(tM*
+endstream
+endobj
+2409 0 obj
+<< /Type /Page /Contents 2410 0 R /Resources 2408 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
+endobj
+2411 0 obj
+<< /D [ 2409 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2412 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2413 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2414 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2415 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+2416 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+2417 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+2418 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+2419 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 662.231 null ] >>
+endobj
+2420 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 651.273 null ] >>
+endobj
+2421 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+2422 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+2423 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+2424 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+2425 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+2426 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+2427 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+2428 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+2429 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+2430 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 485.893 null ] >>
+endobj
+2431 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+2432 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+2433 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+2434 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+2435 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+2436 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+2437 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+2438 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+2439 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+2440 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 272.692 null ] >>
+endobj
+2441 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 261.733 null ] >>
+endobj
+2442 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 250.774 null ] >>
+endobj
+2443 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+2444 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+2445 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+2446 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+2447 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+2448 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+2449 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+2450 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+2451 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+2452 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 141.185 null ] >>
+endobj
+2453 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+2454 0 obj
+<< /D [ 2409 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+2408 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2458 0 obj
+<< /Filter /FlateDecode /Length 2381 >>
+stream
+xڭZ[o6~ϯУpx-]l!@:@0[qR*qHQ8;d$KsCh _ww\JXQpD"%$IH$&%ٯ7?_4R(1 x?Ƌ]w?W7KAE|amV.>.yt6-iFS'mz*棿 hy*2Wb?޵uT[ p+C%ѦW$RPǐ$E #I ພ$޿]2ŝϛ[sZs-lko*Q|;PQ)N@ يS9 M^i6^ŭUf?2b<|?n"Ec$yje
+:w @^WvHNB0jy|
+C+CZ<-%S$CIעI/\@؈c i5F$Ԥy2R%T%a%XF"sN ’rPq18giB]Bd"{1Ct ɠ>P:i)زa5}uV~ߨr~wem/zFyG"3"<΄rEg1]tm겯tu@Yx.;De~Ϯ>
+e4bu2?PbR3 5.ƤxJF-,і,ؔE3i{e*S*[UPwݱ-YE45mD0%fH HT8 ']qzQ2|꒞ITi'@tL<+ wLg?zU`TS"8J:\DS"G8 Ixvf{TPdS\41BN&?l<4qaYPC7&l?7u~֦{Sy&ܸu<aѽ׺R1~ýR#G5sn3(qˠq:Bm(MȄǫ0˪ЛszuH q&W I7U rހyae] Ww
+,9L\N{Pɰpn9VLM`\6_zb(.77!~og9 N)G}/(mmag93”#3f`4(M~DUI邤.qK@h>m \q4\i#Gn&2vSUXIH;⡿E*_6W<sILJ s&DV<;o}E; >]sMCb˩&~}<Մux )
+1@8^uef OvE\nkŤl@ߤ0<:pW.K&
+endstream
+endobj
+2457 0 obj
+<< /Type /Page /Contents 2458 0 R /Resources 2456 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2509 0 R >>
+endobj
+2509 0 obj
+[ 2455 0 R ]
+endobj
+2455 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 139.584 204.941 146.046 214.941 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
+endobj
+2459 0 obj
+<< /D [ 2457 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2460 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2461 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2462 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2463 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 685.505 null ] >>
+endobj
+2464 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 674.547 null ] >>
+endobj
+2465 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 663.588 null ] >>
+endobj
+2466 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 652.629 null ] >>
+endobj
+2467 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 641.67 null ] >>
+endobj
+2468 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 630.711 null ] >>
+endobj
+2469 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 619.752 null ] >>
+endobj
+2470 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 608.793 null ] >>
+endobj
+2471 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 597.834 null ] >>
+endobj
+2472 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 586.875 null ] >>
+endobj
+2473 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 575.916 null ] >>
+endobj
+2474 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 564.957 null ] >>
+endobj
+2475 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 553.999 null ] >>
+endobj
+2476 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 543.04 null ] >>
+endobj
+2477 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 532.081 null ] >>
+endobj
+2478 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 521.122 null ] >>
+endobj
+2479 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 510.163 null ] >>
+endobj
+2480 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 499.204 null ] >>
+endobj
+2481 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 488.245 null ] >>
+endobj
+2482 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 477.286 null ] >>
+endobj
+2483 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 466.327 null ] >>
+endobj
+2484 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 455.368 null ] >>
+endobj
+2485 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 444.41 null ] >>
+endobj
+2486 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 433.451 null ] >>
+endobj
+2487 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 422.492 null ] >>
+endobj
+2488 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 411.533 null ] >>
+endobj
+2489 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 362.08 null ] >>
+endobj
+2490 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 351.121 null ] >>
+endobj
+2491 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 340.162 null ] >>
+endobj
+2492 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 329.203 null ] >>
+endobj
+2493 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 318.244 null ] >>
+endobj
+2494 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 307.285 null ] >>
+endobj
+2495 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 296.326 null ] >>
+endobj
+2496 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 285.367 null ] >>
+endobj
+2497 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 274.408 null ] >>
+endobj
+2498 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 263.449 null ] >>
+endobj
+2499 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 252.49 null ] >>
+endobj
+2500 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 202.749 null ] >>
+endobj
+2501 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 191.79 null ] >>
+endobj
+2502 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 180.831 null ] >>
+endobj
+2503 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 169.873 null ] >>
+endobj
+2504 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 158.914 null ] >>
+endobj
+2505 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 147.955 null ] >>
+endobj
+2506 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 136.996 null ] >>
+endobj
+2507 0 obj
+<< /D [ 2457 0 R /XYZ 81.077 111.165 null ] >>
+endobj
+2508 0 obj
+<< /D [ 2457 0 R /XYZ 94.613 80.331 null ] >>
+endobj
+2456 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F23 660 0 R /F26 662 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F52 770 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2514 0 obj
+<< /Filter /FlateDecode /Length 2645 >>
+stream
+xڽZKo8Wxo6Qaг9ؙ
+T./֮mIkתWfml emnG/ q26)Iig!o m<VIQ\;<
+>+g'Y TP85,Q m|wVS0QoٵbzZ[a
+?zCϬ {160}[ m@nVa7T:Pҝ=dU9aE; ԘD5N=w(:VUUipz4OfnлMlq8h "ds̾}p4Ϫz:\稯Yg|Y2
+E{@:/i9|{ *>0>>뙗)wAצIm @:Z8DC@_XâNx x6уz^*
+ഏ'ʶ. :st"MVxoZ]ㆲ9ʡ@EȋIxuϣ;Wc^g5B
+WbsO
+hj: 4
+622Gf3D0.K bD0=ůQpRON*^Fpzki1\C6-n O|1J *h8.΃Bo>;"AGnvp=FGFh܇<6JiZrAQb|"xB>4D~ [;3\N
+endstream
+endobj
+2513 0 obj
+<< /Type /Page /Contents 2514 0 R /Resources 2512 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2562 0 R >>
+endobj
+2562 0 obj
+[ 2510 0 R 2511 0 R ]
+endobj
+2510 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 460.302 706.917 472.257 718.872 ]/A << /S /GoTo /D (section.0.13) >> >>
+endobj
+2511 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.585 430.047 494.046 442.537 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
+endobj
+2515 0 obj
+<< /D [ 2513 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2516 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2517 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 707.216 null ] >>
+endobj
+2518 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 696.257 null ] >>
+endobj
+2519 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 670.384 null ] >>
+endobj
+2520 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 659.425 null ] >>
+endobj
+2521 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 648.467 null ] >>
+endobj
+2522 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 637.508 null ] >>
+endobj
+2523 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 626.549 null ] >>
+endobj
+2524 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 615.59 null ] >>
+endobj
+2525 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 604.631 null ] >>
+endobj
+2526 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 593.672 null ] >>
+endobj
+2527 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 582.713 null ] >>
+endobj
+2528 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 571.754 null ] >>
+endobj
+2529 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 533.927 null ] >>
+endobj
+2530 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 522.968 null ] >>
+endobj
+2531 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 512.009 null ] >>
+endobj
+2532 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 501.05 null ] >>
+endobj
+2533 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 490.091 null ] >>
+endobj
+2534 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 479.132 null ] >>
+endobj
+2535 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 468.173 null ] >>
+endobj
+2536 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 430.346 null ] >>
+endobj
+2537 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 419.387 null ] >>
+endobj
+2538 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 408.428 null ] >>
+endobj
+2539 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 397.469 null ] >>
+endobj
+2540 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 386.51 null ] >>
+endobj
+2541 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 375.551 null ] >>
+endobj
+2542 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 361.634 null ] >>
+endobj
+2543 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 350.675 null ] >>
+endobj
+2544 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 339.716 null ] >>
+endobj
+2545 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 328.757 null ] >>
+endobj
+2546 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 317.798 null ] >>
+endobj
+2547 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 306.839 null ] >>
+endobj
+2548 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 295.881 null ] >>
+endobj
+2549 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 256.091 null ] >>
+endobj
+2550 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 245.132 null ] >>
+endobj
+2551 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 234.173 null ] >>
+endobj
+2552 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 223.214 null ] >>
+endobj
+2553 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 212.255 null ] >>
+endobj
+2554 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 201.296 null ] >>
+endobj
+2555 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 190.337 null ] >>
+endobj
+2556 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 179.379 null ] >>
+endobj
+2557 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 168.42 null ] >>
+endobj
+2558 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 157.461 null ] >>
+endobj
+2559 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 146.502 null ] >>
+endobj
+2560 0 obj
+<< /D [ 2513 0 R /XYZ 81.077 120.629 null ] >>
+endobj
+2561 0 obj
+<< /D [ 2513 0 R /XYZ 94.613 89.795 null ] >>
+endobj
+2512 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F46 176 0 R /F23 660 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F56 769 0 R /F52 770 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2566 0 obj
+<< /Filter /FlateDecode /Length 2358 >>
+stream
+xڭY[o~ϯ 4\%}^nч BPlV#K$.I1ӾX2g3ߌl3ó7xx"o>}ٌ#Fg$g$K2Q_u>}j %%K$gاyˬ\of"k{s(cvI)0":)uRCgL!™ۛ]HSOifq)6nI?NXbve4A$Nl&ZKLwYMz)sx<UDD;p$00f
+HSX!ah]=qt1u\q~K̝zƒppt-ŔKv}>֧"QLyEkX6y+X0oI^e4OC-2I< <eߒhWh"4a[D?,oX yZж`I?fɶ<,v ™udڎqWVd'Xh^3@,Ot;ƥlH@eW(FHch)<j틏u]zqwe %%YRsT/X0U;QޛS$?QkŀZ蛛U.cX*8IF౓K%'2_<K
+˒d0d$B*' s)up*AYРį;"X#1q\'`}kҠ)l@.{rahO`KlvN(M͗]n犬2k;jY]cr{w[)KkYk'ljm'j4yRDz%
+])G2jca@08ppVbG;pyTt퐻WC..#FcgfVR
+IWH)3[z8ڼ?~
+̾<KQsQ~pk
+}=< )PpR BdS) L;eW}eP\#"Nҙi[7k|,rIdoi`=# 1H xJ/1S$Aḥ(*m1(|QU5-?Oϣߟ2K뵱8 = Wa1
+giU둴+8*6UuŃ~oyV;Pu1jJGkД,+QWݛU(A@k솙u]YbE t4(6M}_fbzNk|/)W۽-*uN @ .@ +>-Z]Kis3;S]86EUYpߗ(s`_ v
+g-^U"7j;9`W]fs3Òԫ(ѳ]5ᏳmL[Nf%>YpL MiصR_q1re ju5tO( 84#z[}o~vaf;i=
+_#"RaR@ ݊)*ܗIb W`?T6{L,z v_ A ŔP>ޡ><]ṅfi 0v PƐ]Y>3Lctpĸl-*U9ժ_m,* /03Y +ަKt]2g$~H,MiR
+jJS|B#E`-Sp7Nf!@ɗJpI:yRJ%l6 =7EB<U& ){:@ْڂgՍ&c@'~ٌ˭QƔ x]mh2ϴF"q;g]@َA':@4xee[%@eHdW%: To*?1 }u&Z]!#*ǔ΃G1V"LhTFZ#QPRAdjq?(߸
+ฐ3{>
+)
+endstream
+endobj
+2565 0 obj
+<< /Type /Page /Contents 2566 0 R /Resources 2564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R /Annots 2605 0 R >>
+endobj
+2605 0 obj
+[ 2563 0 R ]
+endobj
+2563 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 486.924 557.325 498.879 569.28 ]/A << /S /GoTo /D (section.0.13) >> >>
+endobj
+2567 0 obj
+<< /D [ 2565 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2568 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2569 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2570 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2571 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+2572 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+2573 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 672.194 null ] >>
+endobj
+2574 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 661.235 null ] >>
+endobj
+2575 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 650.276 null ] >>
+endobj
+2576 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+2577 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+2578 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+2579 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+2580 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+2581 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+2582 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+2583 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+2584 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+2585 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+2586 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 502.829 null ] >>
+endobj
+2587 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 491.87 null ] >>
+endobj
+2588 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+2589 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 443.053 null ] >>
+endobj
+2590 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+2591 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+2592 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+2593 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+2594 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 361.36 null ] >>
+endobj
+2595 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 350.401 null ] >>
+endobj
+2596 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 339.442 null ] >>
+endobj
+2597 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 328.483 null ] >>
+endobj
+2598 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+2599 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+49 0 obj
+<< /D [ 2565 0 R /XYZ 79.37 236.354 null ] >>
+endobj
+2600 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 122.998 null ] >>
+endobj
+2601 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 112.039 null ] >>
+endobj
+2602 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 101.081 null ] >>
+endobj
+2603 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 90.122 null ] >>
+endobj
+2604 0 obj
+<< /D [ 2565 0 R /XYZ 81.077 79.163 null ] >>
+endobj
+2564 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2608 0 obj
+<< /Filter /FlateDecode /Length 2194 >>
+stream
+xڽZKoS#Ab"؃:Ȳ,yH&w&1i/-G/97Ǜp"7ݼ 醡HaJ6 ()0
+ΛS/^>hP$U6EĔM\fO,mrNPgx&KEwHoCC2]G3ƈ_ϦŒgI
+K2[-|ƬTţ@Qw.էSVUg\POF>a+
+h_z2w=]m&C"/|KsKX:749i<Cz5aIr^ߓZ67EޜWĈD*ZD$P'^`yǴȒ
+֚MƇh2ׄ`:"9f*^0Oyyy{1vҴU-BRs1[T7]
+aY3*HbAV# Y.&B5iiFkյt1EX
+{ME-+!utb=Da쵌h
+# #(ѸّemPq!$p]܏8u<ǃ{PUĜ6x3?/wǾSѭULCTHDS7uS9sޕ=0uN*zKz/$򻫗Cs reঢ.;sy)m>TU&m=uWdO=_VRO6lʐⓛpw5Bltq%^M/&(;5)+WFEoES ~e~9`?d+
+^vgȞp <d7[Hs$iAB{6ɧimmK:!O6ULqJrطZo$Fcfn:83I.D
+ɡn|u_z% % (˻dX"͖">_"ەuYߜQgw`gZW:ȏ5= %uSW} ʛ6i4.s\􌦯_]z0@A*~SU=IRVb37Ϫ3kSl3;h8H)
+3wZ /] ؃5[c^TO*Z'w 7fJ"T
+'A]7PНmʯtZ?~NO1k  }(*PWq_z$<S6qDg fW'ɪV 7:(=@3lmw0ODFAcoD[\6H ԡYsX 3e(Iq
+/oO|ei44&U^at0+ab]})SS3'W頵1빤T;ѷAӱX=M/W= ap%
+Ǥ^{;gAS+W堽%yo>:jmlHsø(S*C~A'Q8RHɩ,؋(UX9v XA'mnK2x*{XA DvGpy\lgIrA{;:f _w)EOIJ?;Ѷ5+Mhk._$-Yp~rg+h*ihmg?HIQʯ/ W$@>ywM\G
+endstream
+endobj
+2607 0 obj
+<< /Type /Page /Contents 2608 0 R /Resources 2606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
+endobj
+2609 0 obj
+<< /D [ 2607 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2610 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2611 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2612 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+2613 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 704.721 null ] >>
+endobj
+2614 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 676.26 null ] >>
+endobj
+2615 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 647.799 null ] >>
+endobj
+2616 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 619.338 null ] >>
+endobj
+2617 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 608.38 null ] >>
+endobj
+2618 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 597.421 null ] >>
+endobj
+2619 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 586.462 null ] >>
+endobj
+2620 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 575.503 null ] >>
+endobj
+2621 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 564.544 null ] >>
+endobj
+2622 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 553.585 null ] >>
+endobj
+2623 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 542.626 null ] >>
+endobj
+2624 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 531.667 null ] >>
+endobj
+2625 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 520.708 null ] >>
+endobj
+2626 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 509.749 null ] >>
+endobj
+2627 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 498.791 null ] >>
+endobj
+2628 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 487.832 null ] >>
+endobj
+2629 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 476.873 null ] >>
+endobj
+2630 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 425.363 null ] >>
+endobj
+2631 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 414.404 null ] >>
+endobj
+2632 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 390.575 null ] >>
+endobj
+2633 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 379.616 null ] >>
+endobj
+2634 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 348.463 null ] >>
+endobj
+2635 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 337.504 null ] >>
+endobj
+2636 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 326.545 null ] >>
+endobj
+2637 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 315.586 null ] >>
+endobj
+2638 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 261.438 null ] >>
+endobj
+2639 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 250.479 null ] >>
+endobj
+2640 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 239.52 null ] >>
+endobj
+2641 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 228.561 null ] >>
+endobj
+2642 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 217.602 null ] >>
+endobj
+2643 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 206.643 null ] >>
+endobj
+2644 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 195.684 null ] >>
+endobj
+2645 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 184.725 null ] >>
+endobj
+2646 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 173.767 null ] >>
+endobj
+2647 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 162.808 null ] >>
+endobj
+2648 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 151.849 null ] >>
+endobj
+2649 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 140.89 null ] >>
+endobj
+2650 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 129.931 null ] >>
+endobj
+2651 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 118.972 null ] >>
+endobj
+2652 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+2653 0 obj
+<< /D [ 2607 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2606 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2657 0 obj
+<< /Filter /FlateDecode /Length 2046 >>
+stream
+xZMoϯ0E⅏ZL t^[YS-d)dt{/I+z0ƒHKKx_>?0H*b@/BBI$aw7Te/>Pr[T싶y
+rj"pSIcWn h)H8JP1m˺ mVXܘʶ볍OTUDԂAyyM"PcDwuL%鐟<0ou%Ԝ=믥m)4G%Z(
+:gf6 U:?]T%FM333@ydf066:F+<cuU|FLff"ąP R zH
+\.lS]: Z)3se1ah̔J(1A_C' |WM(>w<]4]z^l[cہ?FO_'T4G8(Is!B"Iҷ5Mx4B ,͒.B1a]B1OJs")ͱY`mS<U.yK!5"!b8F5wdA 972'9cVoE1Nu0Q'}:9<L3e4(B4)D`Vu NdH@$%A&ALPX&4I"tz8A&,) $Hؖ$(B l̂1HDM1:omLV侩QH@D%hN%:I"M,
+sfe{Jx Ɠw[pm;}CwFmc ͱ+9tд،ncUحgA[l]&. Ee/7=oA?lƶmAkε_NݦÎ_ו~_0D,Mn}Y_>2rѝۭhInw{84~ϲma_|i>mtFӍ0X]&qߤgp0Q QiGo$>g/]oٶX H2U`<ye DH`<J}| "2$4m_[YKmb2&;7{jVWW:1X!i7!39=Gṿƕ4[M.H GY Pp\V,CO[7~a[e?4͏}sGzvל;M_6`
+endstream
+endobj
+2656 0 obj
+<< /Type /Page /Contents 2657 0 R /Resources 2655 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2254 0 R >>
+endobj
+2658 0 obj
+<< /D [ 2656 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2659 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+2660 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+2661 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+2662 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+2663 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 699.093 null ] >>
+endobj
+2664 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 688.134 null ] >>
+endobj
+2665 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 653.265 null ] >>
+endobj
+2666 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+2667 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+2668 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+2669 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 579.542 null ] >>
+endobj
+2670 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 568.583 null ] >>
+endobj
+2671 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+2672 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+2673 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+2674 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+2675 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+2676 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 502.829 null ] >>
+endobj
+2677 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 491.87 null ] >>
+endobj
+2678 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+2679 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+2680 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+2681 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 448.035 null ] >>
+endobj
+2682 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 437.076 null ] >>
+endobj
+2683 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 426.117 null ] >>
+endobj
+2684 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 415.158 null ] >>
+endobj
+2685 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 404.199 null ] >>
+endobj
+2686 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 393.24 null ] >>
+endobj
+2687 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+2688 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+2689 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+2690 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+2691 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+2692 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+2693 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+2694 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+2695 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+2696 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 241.808 null ] >>
+endobj
+2697 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 230.849 null ] >>
+endobj
+2698 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 219.89 null ] >>
+endobj
+2699 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 208.931 null ] >>
+endobj
+2700 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 197.972 null ] >>
+endobj
+2701 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 187.014 null ] >>
+endobj
+2702 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+2703 0 obj
+<< /D [ 2656 0 R /XYZ 81.077 111.297 null ] >>
+endobj
+2655 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2706 0 obj
+<< /Filter /FlateDecode /Length 2037 >>
+stream
+xZo۶_!`Va6,`kpwmvR*HSan$Rsi:I.R{5Γܮ.0L NdL(8&ήb:ٖKh0'r =60l_/wZu8Tmשad6M6e5lƼ|籮ʺv/-7Nծ1o<֘h 0`-Cey]̐VY_o1-p_
+\kYrU|l(kr eb)*~P<[Z]F,!-4 VjW/旂ɨD z7J{8o@y$ih92e]?n۪f[&̽mkPo`[C$։maK’@H*8M<Ôt22""!C"O2p<D7Uâ_rgrue*)nqcƿH
+&̩=MBt8բ{zx%S(ϝy>3kG
+hAN[)c [X\Hxxa ;<Ao6mQw=WCg9S~b R VPևpSm&ԙ[ys;8}I?@ y.)M!
+
+ e:1"^e<HZ<JgPӶ.Y`v!\'V_Asm VaTt)Q)i\(J
+d)He74 5M$ R}pQXϿ̳LQq,[sA峻%g*w2#?[Uٿ7#9\k5qKHN>eZ\Kx78m'o\.틭5"江ZAO韨Bs<;OK$5~B .usL0{
+endstream
+endobj
+2705 0 obj
+<< /Type /Page /Contents 2706 0 R /Resources 2704 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R /Annots 2760 0 R >>
+endobj
+2760 0 obj
+[ 2654 0 R ]
+endobj
+2654 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 371.83 733.664 382.263 746.154 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+endobj
+2707 0 obj
+<< /D [ 2705 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2708 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 731.048 null ] >>
+endobj
+2709 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 720.089 null ] >>
+endobj
+2710 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 709.13 null ] >>
+endobj
+2711 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 680.387 null ] >>
+endobj
+2712 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 669.428 null ] >>
+endobj
+2713 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 658.469 null ] >>
+endobj
+2714 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 647.51 null ] >>
+endobj
+2715 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 636.551 null ] >>
+endobj
+2716 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 625.592 null ] >>
+endobj
+2717 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 614.633 null ] >>
+endobj
+2718 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 603.674 null ] >>
+endobj
+2719 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 592.716 null ] >>
+endobj
+2720 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 581.757 null ] >>
+endobj
+2721 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 570.798 null ] >>
+endobj
+2722 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 559.839 null ] >>
+endobj
+2723 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 519.437 null ] >>
+endobj
+2724 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 508.478 null ] >>
+endobj
+2725 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 497.519 null ] >>
+endobj
+2726 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 486.56 null ] >>
+endobj
+2727 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 475.602 null ] >>
+endobj
+2728 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 464.643 null ] >>
+endobj
+2729 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 435.899 null ] >>
+endobj
+2730 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 424.94 null ] >>
+endobj
+2731 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 413.982 null ] >>
+endobj
+2732 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 398.19 null ] >>
+endobj
+2733 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 387.231 null ] >>
+endobj
+2734 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 376.272 null ] >>
+endobj
+2735 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 365.313 null ] >>
+endobj
+2736 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 354.354 null ] >>
+endobj
+2737 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 343.395 null ] >>
+endobj
+2738 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 332.436 null ] >>
+endobj
+2739 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 321.477 null ] >>
+endobj
+2740 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 310.518 null ] >>
+endobj
+2741 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 299.56 null ] >>
+endobj
+2742 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 288.601 null ] >>
+endobj
+2743 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 277.642 null ] >>
+endobj
+2744 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 266.683 null ] >>
+endobj
+2745 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 250.891 null ] >>
+endobj
+2746 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 239.932 null ] >>
+endobj
+2747 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 228.973 null ] >>
+endobj
+2748 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 218.014 null ] >>
+endobj
+2749 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 207.055 null ] >>
+endobj
+2750 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 196.096 null ] >>
+endobj
+2751 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 185.138 null ] >>
+endobj
+2752 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 174.179 null ] >>
+endobj
+2753 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 163.22 null ] >>
+endobj
+2754 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 152.261 null ] >>
+endobj
+2755 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 141.302 null ] >>
+endobj
+2756 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 130.343 null ] >>
+endobj
+2757 0 obj
+<< /D [ 2705 0 R /XYZ 81.077 119.384 null ] >>
+endobj
+2758 0 obj
+<< /D [ 2705 0 R /XYZ 94.613 89.795 null ] >>
+endobj
+2704 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F22 473 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2763 0 obj
+<< /Filter /FlateDecode /Length 1759 >>
+stream
+xڭZMoFW(jo-=d' hHJQq"ʲQ}H|ܙٝ73;|<񷫓,k9=ap DDH3B5\Ëò} `وpiBܻ{ F !I1; ㊰5崃ߏ
+\JY(~0{+?hgK0"2βþ(^8ns|:ϠBSE % `\;
+N(1($P hϖ&{U,.@<;ђF uyGJGԐotlp
+÷l[->JX^!\D
+l8GP
+N<.zkkG/</{Yk̷emԭgbxtt
+iiH>=ޘTr[(Vr4>1K ó5=3_ B5dAtIyE8?^pf k-^@ *Nڝ}ⶱ7{&dK$4W&e+=!HF[/ڿ=#
+hBo3}:W'(
+endstream
+endobj
+2762 0 obj
+<< /Type /Page /Contents 2763 0 R /Resources 2761 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+2764 0 obj
+<< /D [ 2762 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2765 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 754.966 null ] >>
+endobj
+2766 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 744.007 null ] >>
+endobj
+2767 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 733.048 null ] >>
+endobj
+2768 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 722.089 null ] >>
+endobj
+2769 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 711.13 null ] >>
+endobj
+2770 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 700.171 null ] >>
+endobj
+2771 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 665.629 null ] >>
+endobj
+2772 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 654.67 null ] >>
+endobj
+2773 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 625.942 null ] >>
+endobj
+2774 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 614.983 null ] >>
+endobj
+2775 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 604.025 null ] >>
+endobj
+2776 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 588.248 null ] >>
+endobj
+2777 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 577.289 null ] >>
+endobj
+2778 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 566.33 null ] >>
+endobj
+2779 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 555.371 null ] >>
+endobj
+2780 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 544.412 null ] >>
+endobj
+2781 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 533.453 null ] >>
+endobj
+2782 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 517.677 null ] >>
+endobj
+2783 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 506.718 null ] >>
+endobj
+2784 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 495.759 null ] >>
+endobj
+2785 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 484.8 null ] >>
+endobj
+2786 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 473.841 null ] >>
+endobj
+2787 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 462.882 null ] >>
+endobj
+2788 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 451.923 null ] >>
+endobj
+2789 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 440.964 null ] >>
+endobj
+2790 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 425.188 null ] >>
+endobj
+2791 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 414.229 null ] >>
+endobj
+2792 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 403.27 null ] >>
+endobj
+2793 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 392.311 null ] >>
+endobj
+2794 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 381.352 null ] >>
+endobj
+2795 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 350.713 null ] >>
+endobj
+2796 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 339.755 null ] >>
+endobj
+2797 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 328.796 null ] >>
+endobj
+2798 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 317.837 null ] >>
+endobj
+2799 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 306.878 null ] >>
+endobj
+2800 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 295.919 null ] >>
+endobj
+2801 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 284.96 null ] >>
+endobj
+2802 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 274.001 null ] >>
+endobj
+2803 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 263.042 null ] >>
+endobj
+2804 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 252.083 null ] >>
+endobj
+2805 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 241.124 null ] >>
+endobj
+2806 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 198.53 null ] >>
+endobj
+2807 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 187.572 null ] >>
+endobj
+2808 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 176.613 null ] >>
+endobj
+2809 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 165.654 null ] >>
+endobj
+2810 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 154.695 null ] >>
+endobj
+2811 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+2812 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+2813 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+2814 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+2815 0 obj
+<< /D [ 2762 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2761 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2818 0 obj
+<< /Filter /FlateDecode /Length 1829 >>
+stream
+xڽZko6_a`_l`@b6À0d[Nؒ';͊"H%Sr@IxKK^^2,'\]h>` lp9?%2@Q=ЊQtp|2[g X P4\L|9SdU|9$8َl6u&qrUjaJh 1l*Nzt0.>.Ң#}
+S޺!$I6$M^ޙ&ebR *Vp;(2E Um_XƨRvn_=R[=;ڈWP9
+-vgɲ~JUmk6,i n"HuF2 jLP${]a)l8ϋF ‡f[Z=8^5i\ut_`y,o~cSZvz`, >b[zjgR߈zV%Ӽ(fjl]וվOTcG4hżYR\'oƳt,u[}tlſY}YNͪyK_Y}NFMdH0Bf41|:~um1ޤesM>ؽ4-*ڲ93F1\BqY=YfiipfOes8!zzCL1dƅ !;5D/b!nNk[
+Ik:h!p|6j/ %-hRERh y}G=DRWKxW$vΞnk[$tZEW!s0@d>L
+p/RZ>\&_^5$DU+8 ?Z%`xiP#,uHVqJrep/Ԋ'B:Ja D{EWH`~fq@-FR_EGNP8O۬c/(z#{6 p;
+endstream
+endobj
+2817 0 obj
+<< /Type /Page /Contents 2818 0 R /Resources 2816 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+2819 0 obj
+<< /D [ 2817 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2820 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2821 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 715.533 null ] >>
+endobj
+2822 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 704.574 null ] >>
+endobj
+2823 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 693.615 null ] >>
+endobj
+2824 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 682.656 null ] >>
+endobj
+2825 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 671.697 null ] >>
+endobj
+2826 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 660.738 null ] >>
+endobj
+2827 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 649.779 null ] >>
+endobj
+2828 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 638.821 null ] >>
+endobj
+2829 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 627.862 null ] >>
+endobj
+2830 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 616.903 null ] >>
+endobj
+2831 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 605.944 null ] >>
+endobj
+2832 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 594.985 null ] >>
+endobj
+2833 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 584.026 null ] >>
+endobj
+2834 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 573.067 null ] >>
+endobj
+2835 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 562.108 null ] >>
+endobj
+2836 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 551.149 null ] >>
+endobj
+2837 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 540.19 null ] >>
+endobj
+2838 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 529.231 null ] >>
+endobj
+2839 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 518.273 null ] >>
+endobj
+2840 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 507.314 null ] >>
+endobj
+2841 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 496.355 null ] >>
+endobj
+2842 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 485.396 null ] >>
+endobj
+2843 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 474.437 null ] >>
+endobj
+2844 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 463.478 null ] >>
+endobj
+2845 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 452.519 null ] >>
+endobj
+2846 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 441.56 null ] >>
+endobj
+2847 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 430.601 null ] >>
+endobj
+2848 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 419.642 null ] >>
+endobj
+2849 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 408.684 null ] >>
+endobj
+2850 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 397.725 null ] >>
+endobj
+2851 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 386.766 null ] >>
+endobj
+2852 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 375.807 null ] >>
+endobj
+2853 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 364.848 null ] >>
+endobj
+2854 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 353.889 null ] >>
+endobj
+2855 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 342.93 null ] >>
+endobj
+2856 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 331.971 null ] >>
+endobj
+2857 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 321.012 null ] >>
+endobj
+2858 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 310.053 null ] >>
+endobj
+2859 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 299.094 null ] >>
+endobj
+2860 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 288.136 null ] >>
+endobj
+2861 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 277.177 null ] >>
+endobj
+2862 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 266.218 null ] >>
+endobj
+2863 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 232.203 null ] >>
+endobj
+2864 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 221.244 null ] >>
+endobj
+2865 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 210.285 null ] >>
+endobj
+2866 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 181.821 null ] >>
+endobj
+2867 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 170.862 null ] >>
+endobj
+2868 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 159.903 null ] >>
+endobj
+2869 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 148.944 null ] >>
+endobj
+2870 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+2871 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+2872 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+2873 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+2874 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+2875 0 obj
+<< /D [ 2817 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2816 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2878 0 obj
+<< /Filter /FlateDecode /Length 2335 >>
+stream
+xڵZ[o8~ϯ00/6аJ (P؇PlV+K^Ie9%JEtEP\x.ߡgqO$?>ބlƑd€ ~2۾Mf `& E\W\ePU-_1܎}O ><1EzƼe`j-,!1*\tNYfjв?P<S /3TTPF" sԅ$16v9UgQ<*}-h8: (k*: s+82iRVX_ӏQp=.F?\cq9CHvS T$@5qT}RlUyrZ-ל?%jgת/yzg;0CTv x>ХY_=g֊Ы,8 oB%CBրz 9 g.?.k|0P"0W^y^U1( RxT6G|m<0FDWx(cY_2߼!d]3s֠j(ɒ*get0r`UQ8
+܅!E
+q)
+G[ƣI@ˡR[>K!PVP@ I|!A+J\Sb.˨BQ]N
+6U̥4\PFl d1%uOՄDLXqi 45GX 2oN2s7=}l@gi|t>j՚ 20BI}8aahio*;HY8J(MY7 Kڻqk n}17fNl[ =&W]8HbiĉEHvI=Փ60-$O[=@<t:WjQmχUWf9sUm&uk,H=Lz]:#<p2DќIXG@7Apv}lȌJuʸ)󓯒T!:G'v}av$:Π]`q]K)vod.Ԙ
+ރ~mad 6Pyyila68f^3LN,cTύz$C
+H/۩poClsrd2TJO;U$(m[O>ڛSOWry Y' [+U8EU^-A7NaIf> ϧ{*!b,$w$$UΜ'D!òfNJ/A
+pq"z|U"IN{WggRc`\GGר8_KcZBt<>9H#^~?WV<`1R(-_wW=<
+endstream
+endobj
+2877 0 obj
+<< /Type /Page /Contents 2878 0 R /Resources 2876 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+2879 0 obj
+<< /D [ 2877 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2880 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+2881 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+2882 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 711.053 null ] >>
+endobj
+2883 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 700.094 null ] >>
+endobj
+2884 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 660.046 null ] >>
+endobj
+2885 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 649.087 null ] >>
+endobj
+2886 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 638.128 null ] >>
+endobj
+2887 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 627.17 null ] >>
+endobj
+2888 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 612.028 null ] >>
+endobj
+2889 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 601.069 null ] >>
+endobj
+2890 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 554.25 null ] >>
+endobj
+2891 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 543.291 null ] >>
+endobj
+2892 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 532.332 null ] >>
+endobj
+2893 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 521.373 null ] >>
+endobj
+2894 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 510.414 null ] >>
+endobj
+2895 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 499.455 null ] >>
+endobj
+2896 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 488.496 null ] >>
+endobj
+2897 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 477.537 null ] >>
+endobj
+2898 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 413.579 null ] >>
+endobj
+2899 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 402.62 null ] >>
+endobj
+2900 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 391.661 null ] >>
+endobj
+2901 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 380.702 null ] >>
+endobj
+2902 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 369.743 null ] >>
+endobj
+2903 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 358.785 null ] >>
+endobj
+2904 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 347.826 null ] >>
+endobj
+2905 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 336.867 null ] >>
+endobj
+2906 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 325.908 null ] >>
+endobj
+2907 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 314.949 null ] >>
+endobj
+2908 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 303.99 null ] >>
+endobj
+2909 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 293.031 null ] >>
+endobj
+2910 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 282.072 null ] >>
+endobj
+2911 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 271.113 null ] >>
+endobj
+2912 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 260.154 null ] >>
+endobj
+2913 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 249.195 null ] >>
+endobj
+2914 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 238.237 null ] >>
+endobj
+2915 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 227.278 null ] >>
+endobj
+2916 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 216.319 null ] >>
+endobj
+2917 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 205.36 null ] >>
+endobj
+2918 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 194.401 null ] >>
+endobj
+2919 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 183.442 null ] >>
+endobj
+2920 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 172.483 null ] >>
+endobj
+2921 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 161.524 null ] >>
+endobj
+2922 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 150.565 null ] >>
+endobj
+2923 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 139.606 null ] >>
+endobj
+2924 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 128.648 null ] >>
+endobj
+2925 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+2926 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+2927 0 obj
+<< /D [ 2877 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2876 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2930 0 obj
+<< /Filter /FlateDecode /Length 3129 >>
+stream
+xڽ[YF~
+x "WOHnn)9+oHn#nOݾz4ϳ<lީ;N˃y |C
+ 7,)ض$'k9q0fffFA#>nMLts(_P젂&66Ko\Z-\)('Ee)tpJc x ~|
+Ġ@ɄOrjwl:b/7Q \6q Uަ{g4o` ZWIH'umOR|s-_5ٴ ا{˦%Hbr %"i`F!ĨV
+U
+h`ci`3Z|Y8(>.3m=o/uf6;l.z8zN?fC;ϷOS1R߿%J+WaShhƹG97wLZ)-6ANMVۦ]P
+
+lGCe)m (٪eP> *Чv3pzTxqnw1/7Ogs{ǒ)Ca
+wVjɟ/U%w[
+}ncum5lrM˙kӏGiH<aHɢ"jڗַDR)С _8/Υ/
+3XIq.l9F%/XڞN a8 J"O1E=8Qo a¡,ї a]o݆bz˹G%-K=sdg ˎh[I^APB< Hb=#9ɰ,H.y=
+ e]kL]_ ~Ob\$.d
+endstream
+endobj
+2929 0 obj
+<< /Type /Page /Contents 2930 0 R /Resources 2928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+2931 0 obj
+<< /D [ 2929 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2932 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+2933 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+2934 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+2935 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 554.635 null ] >>
+endobj
+2936 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 543.676 null ] >>
+endobj
+2937 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 532.717 null ] >>
+endobj
+2938 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 521.758 null ] >>
+endobj
+2939 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 510.799 null ] >>
+endobj
+2940 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+2941 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+2942 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+2943 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+2944 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+2945 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 415.158 null ] >>
+endobj
+2946 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 404.199 null ] >>
+endobj
+2947 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 393.24 null ] >>
+endobj
+2948 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+2949 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+2950 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+2951 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+2952 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+2953 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+2954 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+2955 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+2956 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+2957 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+2958 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+2959 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+2960 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+2961 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+2962 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+2963 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+2964 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+2965 0 obj
+<< /D [ 2929 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+2928 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+2968 0 obj
+<< /Filter /FlateDecode /Length 2260 >>
+stream
+xڽZo_au OKskb˱YJ8oGREqL؋EK{{Rij ׿>~+13ן<32S15S ,q;167TE][;Op~}PEJ8xBs;@3I)FxTD~ SeUyB~\&-4 ʞE8Hj2 Sw}kؕ9K1&،# c:Z"I@ \!P.WifXLDhČcf)NiFzjj
+HiXiіrxxT{ 싮m(/^Mp!uBp G?icG
+_GaDɴ2&&1:c u1A`k
+
+Xcˮ85~7(s%“DŶ^dyU-{!*N"D5l6}a7b9bߒQsr.\cvEkȉW9nr1: ֔Jcu*Cy:McTBġ9Ҿ2m@E*뷻lH蛗&y]WeN+7ځPqj ӄem0So[HE\
+[+$<M6B Ni(zx'84d7F\oK }rʍ@\LXNHֵJ>*{-7}T<gǭ{iU2!!C*:)Dt]IF,%9&찊T5 'Xfmm2oK681ڥrkז7uWq.C[y(W&^9F^rIN0(LZ!IJ8nN{
+,ow2VMZ:ǔA:߈PoKf&5*u#9BOsg(EG%^_M]}K/ۚB&R$
+~f[ . 6V~n+mW6:o(a*s; 8pnbgX\X#>?l
+ܖ`.BE(IO;X7 ;NV#EvN:Y'W5[P
+ZEq?CaN0'1~B켰X plftOɼ
+EL&Bmޓ(V't$7Y!+|eaw ]xpF+W7KyaA]C9B-ۮ?3:;YWc;+DV |# 6 MjM׫TSGnǬ!t^NњXS9]3'i RTqD?'OSeMei_"5y|CKAZ E7NR,俔6߰T/:㈄Rpt B!cEK˲e:|˳v%QB"=tMPqrMԽF?e{[WP%}УPr^Iy!X"t:mzIr}MA8m(_]
+㑗a$ŧR{Je(ߙ!~ٞCwXM3!C.'xM-[;Dpm/qb"ZFM s?Sw Nw#A:_Kqb<{-Rfj1AB%q?~C
+endstream
+endobj
+2967 0 obj
+<< /Type /Page /Contents 2968 0 R /Resources 2966 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+2969 0 obj
+<< /D [ 2967 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+2970 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 755.471 null ] >>
+endobj
+2971 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 744.512 null ] >>
+endobj
+2972 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 733.553 null ] >>
+endobj
+2973 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 722.594 null ] >>
+endobj
+2974 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 711.636 null ] >>
+endobj
+2975 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 700.677 null ] >>
+endobj
+2976 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 673.903 null ] >>
+endobj
+2977 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 662.944 null ] >>
+endobj
+2978 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 651.985 null ] >>
+endobj
+2979 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 641.026 null ] >>
+endobj
+2980 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 630.067 null ] >>
+endobj
+2981 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 619.108 null ] >>
+endobj
+2982 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 608.149 null ] >>
+endobj
+2983 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 597.19 null ] >>
+endobj
+2984 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 586.231 null ] >>
+endobj
+2985 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 575.272 null ] >>
+endobj
+2986 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 564.314 null ] >>
+endobj
+2987 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 553.355 null ] >>
+endobj
+2988 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 542.396 null ] >>
+endobj
+2989 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 514.216 null ] >>
+endobj
+2990 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 503.257 null ] >>
+endobj
+2991 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 492.298 null ] >>
+endobj
+2992 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 481.34 null ] >>
+endobj
+2993 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 470.381 null ] >>
+endobj
+2994 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 459.422 null ] >>
+endobj
+2995 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 448.463 null ] >>
+endobj
+2996 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 437.504 null ] >>
+endobj
+2997 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 409.325 null ] >>
+endobj
+2998 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 398.366 null ] >>
+endobj
+2999 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 387.407 null ] >>
+endobj
+3000 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 376.448 null ] >>
+endobj
+3001 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 365.489 null ] >>
+endobj
+3002 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 300.501 null ] >>
+endobj
+3003 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 289.542 null ] >>
+endobj
+3004 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 278.583 null ] >>
+endobj
+3005 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 267.624 null ] >>
+endobj
+3006 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 252.858 null ] >>
+endobj
+3007 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 241.899 null ] >>
+endobj
+3008 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 230.94 null ] >>
+endobj
+3009 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 219.981 null ] >>
+endobj
+3010 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 209.022 null ] >>
+endobj
+3011 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 198.064 null ] >>
+endobj
+3012 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 187.105 null ] >>
+endobj
+3013 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 176.146 null ] >>
+endobj
+3014 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3015 0 obj
+<< /D [ 2967 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+2966 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3018 0 obj
+<< /Filter /FlateDecode /Length 2189 >>
+stream
+xڭZ[oF~ϯ[O~M胑,#QPUH!!r)Z 99l5óÛwd$||C2aIf7hw,_5_|_yr?1ůmLEo a|&NUZxMZ27컛[Eet*JN**ӯL֌[b_&jlպgv_G k= "XvfmY__G!"a! 2+6hh%`46\o dS3>ڪ_m<.պ/ *.+D_1˦0}KlN4( a*]Rw} jӴᰨ~Iu+~BBu FU1z&C%K?SVabz}RZ2.T
+qo +DyQH)y.~lFŹʭEפe?,ͦcM+,oo~9Tܒ]@t*Z_WF VbYEGS*)kS<]IJ͂^ED@fv
+v^6PdُK`$fm>"e{FHƢo>1 ֓ԫS;WrUϝ:L>:H"8diF m=٧~=o(BIJ
+>:9p$p4JO-xQ<VG3}SgbdќpW(TNĦH
+0גR:\6Q(G4=tl(t,if,$ĶGЃqkk-hjqZ
+f4Rw_6$eӒTE{]ݻ"HAƈ05@0OM{:N3[.H&ML!>ؒ|~'&>6޶6OaIK}tp-@TXvqӯR<|hh+ɕC0
+A$_hn4ޕiIqvw.E=pǜnIոZdXeLbb\Q*]?p,?9t?ۡaTna:ȇB*du~u6L1$LPBt=2IZx`ePq'A,O,`+ <H2WxpSևa>ӽ{Z \aCi>񰅙'XrF]y=U˟cJ,ET৤m:s%] aCW|B0yr!@."2LT ]*蝊n}eQypryQZ)v%0ib.&2a㬇-$[,=e"E8᎓Yb_ENAE|Ч`gYbj=0xL>,T sӛA&#&}ʤw]:ϒMVc
+CqVpҰ*FE3 3>wQ! FӨ9
+endstream
+endobj
+3017 0 obj
+<< /Type /Page /Contents 3018 0 R /Resources 3016 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+3019 0 obj
+<< /D [ 3017 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3020 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+3021 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+3022 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+3023 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+3024 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 699.093 null ] >>
+endobj
+3025 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 646.291 null ] >>
+endobj
+3026 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 635.332 null ] >>
+endobj
+3027 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 624.373 null ] >>
+endobj
+3028 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 613.415 null ] >>
+endobj
+3029 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 602.456 null ] >>
+endobj
+3030 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 591.497 null ] >>
+endobj
+3031 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 580.538 null ] >>
+endobj
+3032 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 569.579 null ] >>
+endobj
+3033 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 558.62 null ] >>
+endobj
+3034 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+3035 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+3036 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 525.743 null ] >>
+endobj
+3037 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+3038 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+3039 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+3040 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+3041 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+3042 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+3043 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+3044 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+3045 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 403.203 null ] >>
+endobj
+3046 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+3047 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+3048 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+3049 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+3050 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 348.408 null ] >>
+endobj
+3051 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 337.449 null ] >>
+endobj
+3052 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+3053 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+3054 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+3055 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+3056 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+3057 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+3058 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+3059 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+3060 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+3061 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+3062 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+3063 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+3064 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+3065 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+3066 0 obj
+<< /D [ 3017 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+3016 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3069 0 obj
+<< /Filter /FlateDecode /Length 1947 >>
+stream
+xZMD﯈%#MVzaN#I<CbC۩Nmwv֓ ).t+_y[8͵\ܽb0@lafa4#T~mٴWn[?yU\UϺfp/ߕվ7-,~}rW?|*qJ2"Lj{T
+*zW7=G왬RlYtTe 3#̮7tQ@YANx
+)^s,e܃a؂k):%l \XBHegRMe
+ɫMP+9D3?2!߼iٻYJuwO,Y8M#J}S lmt>)d8O7 :zD
++cQ}
+x)ɦgm3xdu%BGz N)|[ܗֆKL ⴙcv̊_Wg6:gZ`c`0HiEo!D 9Vb,5 %;ALS* G==EɠƂݮ*iGJSt_Sc4xh$N#vY[YdxsHCxFN 
+dmm:{
+Mh&h1ʝ /E AYuuR
+P&ǠpM)nXw]|I`0Tlq5x0˔Z6r7ۢ:i T{l w90f=4-~lhڲ<<h\y9E)GB%ӕ`hs|^
+hBvR&Rr wi 2 q B|_'j3{7DrPfRme最ǜ?AUW^B:z1y.X$n1&v %ҒA;X[iDؘ]8EDZ8cڳU $hpfP|N|~yo]&g"ڐR TWXS%\ۑԄV%u}MV%yjUf~|4+!/.LxRjRzR ʙ߀Ed}&}QQ/ zm`6(7I}RT0g?>MqRt
+`tpܖ|fK E&npO^ɭ;'͏/uČQ~S t|Č916St_]OU|9TOv}ާu~1c~q4Z6wXٛэ꘨ɞ$hWHgt*qp:td: |CƗlj=q5c5ćӁ!?wEr.k`>"0I4^6ovEPk/,jV Պ?W!/i]4CM&vGr)E?[.2)oj} }5O;1sAXH`,Eh~Hxq9Ap)~gL a3"/jĜ}Q55D#]8.xj LeX{($Uu]<ȏ Yځ\&8c@;O7UYݯd'A]c8܇+3'o5BRWigoonM
+endstream
+endobj
+3068 0 obj
+<< /Type /Page /Contents 3069 0 R /Resources 3067 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+3070 0 obj
+<< /D [ 3068 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3071 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+3072 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+3073 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+3074 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+3075 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+3076 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+3077 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+3078 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+3079 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+3080 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+3081 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+3082 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+3083 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+3084 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+3085 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+3086 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+3087 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+3088 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+3089 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+3090 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+3091 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+3092 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+3093 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 459.99 null ] >>
+endobj
+3094 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 449.031 null ] >>
+endobj
+3095 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 438.072 null ] >>
+endobj
+3096 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 427.113 null ] >>
+endobj
+3097 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 416.154 null ] >>
+endobj
+3098 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+3099 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+3100 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+3101 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+3102 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+3103 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+3104 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+3105 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+3106 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+3107 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+3108 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+3109 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+3110 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+3111 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+3112 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+3113 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+3114 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+3115 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+3116 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+3117 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+3118 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+3119 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+3120 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+3121 0 obj
+<< /D [ 3068 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+3067 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3124 0 obj
+<< /Filter /FlateDecode /Length 1910 >>
+stream
+xZ[۸~ϯp/6~1EŠ@CLOHSYl:H~{ISHu|<T>ss ~y?ݼ13n/{gd bj$AXBy-`(9̀8.`19]8uTi<mǦ;-D<v(7/820%+D;PIp`Oi'^2 Cr;x-yy,^
+*vkWWś2|RL""eԒ%!92X6bedS39ڛcwE.쿖Ms*)e5[}_M΍zfsSv-:[3 Q050D >41F=34\;*˖
+#x)(C{3/cnG-g]W~]ݓ<0)k @TfHH@tLG|PuEƢq[,GRŠ#4bF?CȺt\aO'Xwn֍KiPmѽ5Lu_<<cYB.d7Ab&-4Oѻ6<[0 R!a+U$\F`+ln\B1
+ΜblZf5dl6v:qQz <u&÷v16YP5gUm\c><<7[fV >/ nvۇuD|kʦ O8ap&j7\ppdpKvPŭ~5b<;0RݝD[] Ռ.mTL
+ /JK`St˾,oMG`Ur`yVY_Sk]$ey{Z
+Q'R<E\G@3O
+P`ZaJ )FG5^8'!wЫYܷw)#;L=#I]c ghp˄k,rP>zߐlK_!M}_;:?~mp*L#K)WSnِI?,^R=.ژ Iw,VdP<]וNtr+S\`C/"7v=IbQa e]_/: 34<q8aP0ӿNE;̆*j jcXpX󟡟R=,K}V[]
+<,˪?wn;`6jeχK2WU:z = Ͷ^*w8Ē{)lRcrx<зx5,4G*H&z?bsҁ=P@9N߁qS=E'hMnP }>T"5qIXhbƺB` ^b X%
+ؔ%C_4iMwՎmwCK{$6G_ԟ[ך(\
+KM@K&
+endstream
+endobj
+3123 0 obj
+<< /Type /Page /Contents 3124 0 R /Resources 3122 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+3125 0 obj
+<< /D [ 3123 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3126 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 754.896 null ] >>
+endobj
+3127 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 743.937 null ] >>
+endobj
+3128 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 732.978 null ] >>
+endobj
+3129 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 722.019 null ] >>
+endobj
+3130 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 711.06 null ] >>
+endobj
+3131 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 700.102 null ] >>
+endobj
+3132 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 684.185 null ] >>
+endobj
+3133 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 673.226 null ] >>
+endobj
+3134 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 657.31 null ] >>
+endobj
+3135 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 646.351 null ] >>
+endobj
+3136 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 635.392 null ] >>
+endobj
+3137 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 624.433 null ] >>
+endobj
+3138 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 613.475 null ] >>
+endobj
+3139 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 602.516 null ] >>
+endobj
+3140 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 591.557 null ] >>
+endobj
+3141 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 580.598 null ] >>
+endobj
+3142 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 569.639 null ] >>
+endobj
+3143 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 558.68 null ] >>
+endobj
+3144 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 547.721 null ] >>
+endobj
+3145 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 536.762 null ] >>
+endobj
+3146 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 525.803 null ] >>
+endobj
+3147 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 514.844 null ] >>
+endobj
+3148 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 503.886 null ] >>
+endobj
+3149 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 492.927 null ] >>
+endobj
+3150 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 462.078 null ] >>
+endobj
+3151 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 451.12 null ] >>
+endobj
+3152 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 440.161 null ] >>
+endobj
+3153 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 429.202 null ] >>
+endobj
+3154 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 418.243 null ] >>
+endobj
+3155 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 383.422 null ] >>
+endobj
+3156 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 372.463 null ] >>
+endobj
+3157 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 361.504 null ] >>
+endobj
+3158 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 332.636 null ] >>
+endobj
+3159 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 321.677 null ] >>
+endobj
+3160 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 310.718 null ] >>
+endobj
+3161 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 299.76 null ] >>
+endobj
+3162 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 258.937 null ] >>
+endobj
+3163 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 247.978 null ] >>
+endobj
+3164 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 237.019 null ] >>
+endobj
+3165 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 226.06 null ] >>
+endobj
+3166 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 215.101 null ] >>
+endobj
+3167 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 204.142 null ] >>
+endobj
+3168 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 193.183 null ] >>
+endobj
+3169 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 182.224 null ] >>
+endobj
+3170 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 171.265 null ] >>
+endobj
+3171 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 160.307 null ] >>
+endobj
+3172 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 149.348 null ] >>
+endobj
+3173 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 138.389 null ] >>
+endobj
+3174 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 127.43 null ] >>
+endobj
+3175 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+3176 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+3177 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3178 0 obj
+<< /D [ 3123 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3122 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3181 0 obj
+<< /Filter /FlateDecode /Length 1930 >>
+stream
+xZKo6W.W!
+ <='QeņګZV-&[܍ 2$;&Ge4:mS}qSf5OHђ !|w +Ԓݦ<lXŕ6n)=̫eNhFV}3Mۥjo3u ]C"/]sS&ȶY5W-jp$-&N KebGyfC,t8.ʍ[fr﷛ӽܰ{N҂+6+ag.]zpos&DoBټ|*:=-pA7 7_MZ9ImFS~ȓ,tVwT:3deʺ;ʺ|wMG~Z׌[ ~-VU7aQ?KœĩI|*&OUcD`]
+^a0J%MGސo'&Pr>EADBjC~`Kv\Uz]]GjlSzcםV4>!eM6~5dEs#At
+qчn5FX=YN\".'KW\2H0,aSeN9w8֍G, aHp,m,E)2TjFhJЉ宮֖s7!l~Fq3;'sZ58{nR8 g.V:oFW,$CI. R:gxR@ͷk|'&?lmWZ׮WMAf0 c 6T|ܞ"u qLrH5Y?z(("tr/U֝ٔ?a&!hhsM~:/j~OH~pgB8
+4\64,%h0 1V=BQ?du4En7(7f9fWхc̑1-ؖI 'Fɶ8l{kAb51l˘FTp$hMB=XᒉD_Hй@< G- ;jK'CE!5@#PW4b| #<yP0dYZ|ղ oA2&R#R}1hO%hpCBD Ο[i
+;t ph "Lp1Ÿж&`!!ѐ+ ] n7 Ka -$P(,aH&!\_aJ&wL $hk2" i4\I"&;F pDHf ;% 50"0#H
+@H3G|՝]k(ѿG<!!
+El hlC
+*-%ktا1(F:|(}4AYJ!#fȍo~><D
+endstream
+endobj
+3180 0 obj
+<< /Type /Page /Contents 3181 0 R /Resources 3179 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2759 0 R >>
+endobj
+3182 0 obj
+<< /D [ 3180 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3183 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3184 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3185 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3186 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3187 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3188 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+3189 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+3190 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 673.068 null ] >>
+endobj
+3191 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 598.104 null ] >>
+endobj
+3192 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 587.145 null ] >>
+endobj
+3193 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 576.186 null ] >>
+endobj
+3194 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 565.227 null ] >>
+endobj
+3195 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 554.268 null ] >>
+endobj
+3196 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 543.31 null ] >>
+endobj
+3197 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 532.351 null ] >>
+endobj
+3198 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 521.392 null ] >>
+endobj
+3199 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 510.433 null ] >>
+endobj
+3200 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 499.474 null ] >>
+endobj
+3201 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 488.515 null ] >>
+endobj
+3202 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 477.556 null ] >>
+endobj
+3203 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 466.597 null ] >>
+endobj
+3204 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 455.638 null ] >>
+endobj
+3205 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 444.679 null ] >>
+endobj
+3206 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 433.72 null ] >>
+endobj
+3207 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 422.762 null ] >>
+endobj
+3208 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 411.803 null ] >>
+endobj
+3209 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 400.844 null ] >>
+endobj
+3210 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 389.885 null ] >>
+endobj
+3211 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 378.926 null ] >>
+endobj
+3212 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 367.967 null ] >>
+endobj
+3213 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 357.008 null ] >>
+endobj
+3214 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 346.049 null ] >>
+endobj
+3215 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 335.09 null ] >>
+endobj
+3216 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 324.131 null ] >>
+endobj
+3217 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 313.173 null ] >>
+endobj
+3218 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 302.214 null ] >>
+endobj
+3219 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+3220 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+3221 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+3222 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+3223 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+3224 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+3225 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+3226 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+3227 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+3228 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+3229 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+3230 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+3231 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+3232 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+3233 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+3234 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+3235 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+3236 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+3237 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3238 0 obj
+<< /D [ 3180 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3179 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3241 0 obj
+<< /Filter /FlateDecode /Length 1920 >>
+stream
+xZIsW5}Qq%TCBaHHD 4{^citS2G u[t|?\G#8_^0x.jYlqe%7̭spև-,qZ E+Rj#*Ul沮~ыefzZZ_][վ>͎HS*J壬ΓU8`+ABM&rmvuۗA~W" \1), 'Kdiuv`r@-aVL@JhN!@[̣Jh 'ЖhSFKﳺx\ߧuu?ZEl6-jʻm\w - '+G_YBQyz}zs2f8"@6nKȝX!{xe.Br]꽠|fYm~طoۢݎ'߆7@._w׎DW`$T}Dq}Haڪ HuVG%yw;@RAwGڢ^ql[q/ kRgZ oM!q2qE C;'}5寻ͫ-O- #;ꁹmǥ]~q I8;8kU5{RD~C@f_2Dcnu.DBC
+jv!{薷lg8A-%|6t)l~ )j= <tTf)hTSWx1PdQ2} I*MnP9:?a)+g Uig mY7Ӫ.TgzBT:TI4+/k4oF&B*(VPj
+\ gv:מGPW j {cP)W&0'phA'H{f ,J]Y 闫 4'l]61a+мCU$>Xֆ)7F63!Akwm5Q24/%#(,f&
+(C`e St
+G;FMjM WR%ho{p=͊RDKc%Fw5\d8d_~O?+=OJe.Q[WC33P>$pN YK**" OO}
+gLv!hK61M[XGQVTUL:UX.%քx,-nJxڠgǦxk4ĩ-9a2DA0p~E'uMgB0l()/Føƕ@u 0Bgrw $J$ѧf HΠ=!"DQPsfrh`q\mC0 o:3`5ō>`/g~;N|ixqbs,o0<*Gaߖ7|}>,a造(T.fv4oO(OrR͈M@YW9)A]i1rkb?ޔTx; ~uF-@)WrUi~UxER>
+7=M"?Wnz|6ù$|^>Jx1ATj7 -%N9Pj*ct:%=o51Ljc"!Ai[JTkўǴ#҅XK%Ni|3Ds±_ҜO0i2!hM o~)aqEMRyaGLi܇u O
+b юxUwu;Oǎ3}kf*`4e 5T *b#)oX"A~;@AJ/$%nO
+endstream
+endobj
+3240 0 obj
+<< /Type /Page /Contents 3241 0 R /Resources 3239 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3242 0 obj
+<< /D [ 3240 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3243 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3244 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3245 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3246 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3247 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3248 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 701.49 null ] >>
+endobj
+3249 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 690.531 null ] >>
+endobj
+3250 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 627.74 null ] >>
+endobj
+3251 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 616.781 null ] >>
+endobj
+3252 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 605.822 null ] >>
+endobj
+3253 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 594.863 null ] >>
+endobj
+3254 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 583.904 null ] >>
+endobj
+3255 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 572.945 null ] >>
+endobj
+3256 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 561.986 null ] >>
+endobj
+3257 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 551.027 null ] >>
+endobj
+3258 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 540.069 null ] >>
+endobj
+3259 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 529.11 null ] >>
+endobj
+3260 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 518.151 null ] >>
+endobj
+3261 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 507.192 null ] >>
+endobj
+3262 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 496.233 null ] >>
+endobj
+3263 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 485.274 null ] >>
+endobj
+3264 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 474.315 null ] >>
+endobj
+3265 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 463.356 null ] >>
+endobj
+3266 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 452.397 null ] >>
+endobj
+3267 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 441.438 null ] >>
+endobj
+3268 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 430.479 null ] >>
+endobj
+3269 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 419.521 null ] >>
+endobj
+3270 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 408.562 null ] >>
+endobj
+3271 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 397.603 null ] >>
+endobj
+3272 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 386.644 null ] >>
+endobj
+3273 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 375.685 null ] >>
+endobj
+3274 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 364.726 null ] >>
+endobj
+3275 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 349.917 null ] >>
+endobj
+3276 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 338.958 null ] >>
+endobj
+3277 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 327.999 null ] >>
+endobj
+3278 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 317.04 null ] >>
+endobj
+3279 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 306.081 null ] >>
+endobj
+3280 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+3281 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+3282 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+3283 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+3284 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+3285 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+3286 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+3287 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+3288 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+3289 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+3290 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+3291 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+3292 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+3293 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+3294 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+3295 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+3296 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3297 0 obj
+<< /D [ 3240 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3239 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3301 0 obj
+<< /Filter /FlateDecode /Length 2883 >>
+stream
+xڭZ[oܺ~ϯX<u3UA}K @.UHZA;v0eș\2Y-o{׫w>t0%w>Jx $pHF%ISv~\dH
+A11N08$)[y.Vn/?kn/ vWԲ0 <A8!^~ #JxH=zn*f-N$(Cjnh..2m=슼FF23yKxSk>ʪNږEG wySmd@4G8E;{LTmviZ_\փ?ZF7[Pc^
+'FS]}Fҥ$94&)ch/ֳ DqN_ɲڨbmշE,KBYUve]W=Ւ=ε`7 VbRj~vyfe"  duGEe0LIYTj5Q-Q0 '}|f=1;{QBV*8F,Q7Kb2G@|z0ѤWU0[;-ߏ:IB⩋֟Z hU2kfDh/mUaoT3K0 ,zރ2 ;Fٵ_MTc>Э
+:Ža4xI>9C`5q|c:y,ی,`3q&9iώM՝ZuNwNC-=Ͳ8 g>/mg:㵸lO8+Fe ~L' SUWuN3(&E L .%2h `[¥O4(#a@2,^=g1PBp@s>? <70"|WͫPe$G/o6X#9̲3|n탲{fTА#ކ:- 0/8
+ԋ?)b=eL#MmFf,= <41cqKO]Η{oAm([9 gra*W{^v網;\7罭-E {wwV;`SljHrY 0t<;Oօhܷjݗu@Mq}x!io4/t16?Eކcb<ݶX ?)X˪]9J2wCIdL |n^1>xeoĎ}u_OתOii/\i͍n&rA=DQMraѪ~x(!1`#X
+1nplnot,jL;HPk54J4"+n^Pilo%ěުNY3)e0
+ë9jh*@ JA{T|6fQ
+6KHc /rWƙ:~nc; {]u;m~}0Kq:  . bd8HCKջo`
+endstream
+endobj
+3300 0 obj
+<< /Type /Page /Contents 3301 0 R /Resources 3299 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3302 0 obj
+<< /D [ 3300 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3303 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3304 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3305 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3306 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3307 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3308 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+3309 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+3310 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+3311 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+3312 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 584.523 null ] >>
+endobj
+3313 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 573.564 null ] >>
+endobj
+3314 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 562.605 null ] >>
+endobj
+3315 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 551.646 null ] >>
+endobj
+3316 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+3317 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+3318 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+3319 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+3320 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+3321 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+3322 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+3323 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+3324 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+3325 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+3326 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+3327 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 197.972 null ] >>
+endobj
+3328 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 187.014 null ] >>
+endobj
+3329 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 176.055 null ] >>
+endobj
+3330 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 165.096 null ] >>
+endobj
+3331 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 154.137 null ] >>
+endobj
+3332 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 143.178 null ] >>
+endobj
+3333 0 obj
+<< /D [ 3300 0 R /XYZ 81.077 132.219 null ] >>
+endobj
+3299 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F23 660 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3336 0 obj
+<< /Filter /FlateDecode /Length 2307 >>
+stream
+xڽZ[o~_UF˻$(; !
+B|98 k0,O0QB,RLtTpǘf"n&w퇏"[BAqB3Sj*/onAutgr+,sTuT)G ^Ә0trYah
+V/DI4œ`LU%e4Dc
+y"]GAgJ}יe y թMY_y(-Fah˻.r_l{ 0F;B8=$Hi~S 2Vu^~< :|mN4l):*:KY@*߂';` ƣ*.xl-z]FSt0QJC AH%
+- dnMd]!ѾkAk6 BocڤHaߐzkZh0K.HŌ7"$Sq ^8:87jBcY¼s+<N2jܗ&fUaFt,|ܕk՝*:5wFLìCkʡ|>&CiԷZ9fl\W1OjW4pT>:6viR+~*5)j1PIY+?WK&}[8e.4=N ]uq"l^7 xjBnf nv),*T'maHҐǶLbb!8#)oL^/gxXCfkY[!bg%]nc4Yұ**_͛V̪ lGDXňѓ
+§k|׶Op,Mc%WƆ
+͈ĆUǸram8 /ټ#XRR m 1`_fBCkݎf؜z2ACYW*ҙT5bAp Cp
+'4*/{hŋ>êW6ߴ==pHh?0 1V?:R7K+9JA2>e=:-|4D(mm] ]40bVoUʁ]fJ |hƨq0wrW`g(Lw`!-AC+g=^֣z#._B.MG,zPQ|.Lb G![PᤳՌ{>c_~X@*0yO/`mO1ムzTtfs%ݡo~Qpȶ\}gB@3H0d<5.H8q -Z_..G7e .VbAQ]tDg93eS6̟Tz6ӣ7 X.hxYwU6y b02oXXfCQnWSM>mڳMמlPe37)'.,M8؟fIǤ%!tCwo>^p?CiŚ@`IwG=. YbV[>*
+endstream
+endobj
+3335 0 obj
+<< /Type /Page /Contents 3336 0 R /Resources 3334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3337 0 obj
+<< /D [ 3335 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3338 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+3339 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+3340 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+3341 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+3342 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 699.093 null ] >>
+endobj
+3343 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 688.134 null ] >>
+endobj
+3344 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 677.175 null ] >>
+endobj
+3345 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 666.217 null ] >>
+endobj
+3346 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 655.258 null ] >>
+endobj
+3347 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 644.299 null ] >>
+endobj
+3348 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+3349 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+3350 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 611.422 null ] >>
+endobj
+3351 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 600.463 null ] >>
+endobj
+3352 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+3353 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+3354 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+3355 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 455.009 null ] >>
+endobj
+3356 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+3357 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+3358 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 422.132 null ] >>
+endobj
+3359 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+3360 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 400.214 null ] >>
+endobj
+3361 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 389.255 null ] >>
+endobj
+3362 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 378.296 null ] >>
+endobj
+3363 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 367.337 null ] >>
+endobj
+3364 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 356.378 null ] >>
+endobj
+3365 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 345.42 null ] >>
+endobj
+3366 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 334.461 null ] >>
+endobj
+3367 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+3368 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+3369 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+3370 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+3371 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+3372 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+3373 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+3374 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+3375 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+3376 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+3377 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+3378 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+3379 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+3380 0 obj
+<< /D [ 3335 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+3334 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3383 0 obj
+<< /Filter /FlateDecode /Length 2202 >>
+stream
+xY[o~_a(xPlQAѺ@N!(2m#ɓ vN13IKsHF"Z&o޽"F -7^D 1r!FurWoiLۺ(+"y3Ȳ+ڷ]eԶ.3vh[wt̀~:N!J i;{;4:-ͤ[&ګzP# P ?M]Q7ڃ@y.UH`(刐D1e?0({/h^PqQ}LY&OMӛUvUs—mbꏺJ:ifu3?{lSCDiUeQ},uMXk#gVu"Qx&iuUMט%,44_K#]}h ՉYgF!^_)Ӣ$Y`q
+UhUUû%CKe
+EN.nNҋ F%2mlnDw/&yQ 3yJDt5O4ǤfM." 5ڗٸ4sA"\3‘{]v0fc-"Qsa }nR#
+$Ҽlm0m6iގ/+te5-NaY>mz=6qM}:<Ǚ`ڥr#N Ivq8B ?0GTMxh?a}[ G 12t.¤s>I;$En]=U2X 3]AF[S[wM}< xC{1Hf=+*K@nĢN$1%qG g4B3lϺbf4]߾}aDooU0MZ8L.QrwixF~Sm>i>KGYJ}ğ0yZ, 3+"4j@:gMn˴(LYwPӑN$Pɦ/F =Iݸ (Ӿϛh~A,Xs BR C훼ycHvYSo30$]xZI>Hdt#N?B2d3Hͨ;և ʰ6󛹑ґ°tuI{swp)}lm(}S` ('b #bl(CF><ح
+'+<71bx*B~"bPɷɏ睵(ҩ1>GÅDJD x336<s}}y
+Ґq:b(=t܆k˩")6~6.H
+px-<hXo!͊aa(lJΊ-E6-ՔUXq3+W 8v\FH)A+{l߀NCyzr2hP<f_
+endstream
+endobj
+3382 0 obj
+<< /Type /Page /Contents 3383 0 R /Resources 3381 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3384 0 obj
+<< /D [ 3382 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3385 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 742.996 null ] >>
+endobj
+3386 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 732.037 null ] >>
+endobj
+3387 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 721.079 null ] >>
+endobj
+3388 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 710.12 null ] >>
+endobj
+3389 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 699.161 null ] >>
+endobj
+53 0 obj
+<< /D [ 3382 0 R /XYZ 79.37 674.791 null ] >>
+endobj
+3390 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 586.783 null ] >>
+endobj
+3391 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 575.824 null ] >>
+endobj
+3392 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 523.157 null ] >>
+endobj
+3393 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 512.198 null ] >>
+endobj
+3394 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 501.239 null ] >>
+endobj
+3395 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 490.28 null ] >>
+endobj
+3396 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 479.321 null ] >>
+endobj
+3397 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 468.363 null ] >>
+endobj
+3398 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 457.404 null ] >>
+endobj
+3399 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 422.804 null ] >>
+endobj
+3400 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 411.845 null ] >>
+endobj
+3401 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 377.246 null ] >>
+endobj
+3402 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 366.287 null ] >>
+endobj
+3403 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 355.328 null ] >>
+endobj
+3404 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 344.369 null ] >>
+endobj
+3405 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 333.411 null ] >>
+endobj
+3406 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+3407 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+3408 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+3409 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+3410 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+3411 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+3412 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+3413 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+3414 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+3415 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+3416 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+3417 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+3418 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+3419 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+3420 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+3421 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+3422 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+3423 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+3424 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3425 0 obj
+<< /D [ 3382 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3381 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F76 318 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3428 0 obj
+<< /Filter /FlateDecode /Length 1767 >>
+stream
+xڽZMo8WxزiEvM=R=l"+J"Z-I\"# y3d9'ۓ?'/#1&d~u%:af$ҌP&)7ƞ3\ۉ!Vka`&шolE qc @)۱_3;
+n=g<Dl'b0,
+',r'
+c9D}'riB\zr"=oς]u)9 `Gh" A5vDLI} sr`G`qOpb h`Zи/CpM >Sn?y_v4ԑ> ")qHJ
+endstream
+endobj
+3427 0 obj
+<< /Type /Page /Contents 3428 0 R /Resources 3426 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3429 0 obj
+<< /D [ 3427 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3430 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3431 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3432 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 723.047 null ] >>
+endobj
+3433 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 712.088 null ] >>
+endobj
+3434 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 701.129 null ] >>
+endobj
+3435 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 690.17 null ] >>
+endobj
+3436 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 655.344 null ] >>
+endobj
+3437 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 644.385 null ] >>
+endobj
+3438 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 633.426 null ] >>
+endobj
+3439 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 622.467 null ] >>
+endobj
+3440 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 611.508 null ] >>
+endobj
+3441 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 558.771 null ] >>
+endobj
+3442 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 547.812 null ] >>
+endobj
+3443 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 536.854 null ] >>
+endobj
+3444 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 525.895 null ] >>
+endobj
+3445 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 514.936 null ] >>
+endobj
+3446 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 503.977 null ] >>
+endobj
+3447 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 493.018 null ] >>
+endobj
+3448 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 482.059 null ] >>
+endobj
+3449 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 471.1 null ] >>
+endobj
+3450 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 460.141 null ] >>
+endobj
+3451 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 449.182 null ] >>
+endobj
+3452 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 438.223 null ] >>
+endobj
+3453 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 427.264 null ] >>
+endobj
+3454 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 416.306 null ] >>
+endobj
+3455 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 405.347 null ] >>
+endobj
+3456 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 394.388 null ] >>
+endobj
+3457 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 383.429 null ] >>
+endobj
+3458 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 372.47 null ] >>
+endobj
+3459 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 361.511 null ] >>
+endobj
+3460 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 350.552 null ] >>
+endobj
+3461 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 339.593 null ] >>
+endobj
+3462 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 328.634 null ] >>
+endobj
+3463 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 317.675 null ] >>
+endobj
+3464 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 306.717 null ] >>
+endobj
+3465 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 295.758 null ] >>
+endobj
+3466 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 284.799 null ] >>
+endobj
+3467 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 273.84 null ] >>
+endobj
+3468 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 262.881 null ] >>
+endobj
+3469 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 251.922 null ] >>
+endobj
+3470 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 240.963 null ] >>
+endobj
+3471 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 230.004 null ] >>
+endobj
+3472 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 195.178 null ] >>
+endobj
+3473 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 184.219 null ] >>
+endobj
+3474 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 173.26 null ] >>
+endobj
+3475 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 162.302 null ] >>
+endobj
+3476 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 151.343 null ] >>
+endobj
+3477 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 140.384 null ] >>
+endobj
+3478 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 129.425 null ] >>
+endobj
+3479 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 118.466 null ] >>
+endobj
+3480 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3481 0 obj
+<< /D [ 3427 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3426 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3484 0 obj
+<< /Filter /FlateDecode /Length 1501 >>
+stream
+xڽKoF,rvF:@95Z-5zA{-wT[(n/M򧝝ee<p»믗'o/D VZ]ޞx3˜[].Ӌ3NW9,8&x~ %n {fOG 7JGY}ypf;iP2ŽeV@u=jih?[6dƶ9
+J|כUUr2^bis/X|6-7ѾF
+c{~E+Bq0S?S˂LA Χ5JJa!A!C+9nKf|`sqHljTȓq9˪tDXǜJ:jB X楋,ӊ7I҆yKXU0~<☁xt|ߔwTu,M ,fٺ+Qcw 5"ϙyPG<Phd&uդeP妚!`rH O&BJ:b))Ɵb;} `6ne"߬䵪$\l澂'IxM':yB5{فUGM0MކP(V4cذX"D6vJ;R4o[Me)}`d7d}p.I(Цu%4dĕ^z,pZ FjpF]vSh^5I8n~R*U-xִyOږq궽s ZP
+ń3aԄ*&_K)L/tWb5v4WAk%l
+S;0"k@'r"g$y5Wk<)NƮ<ɵPq˜y6D ZSyYͳ!$5:,}gN1ch;-
+yx
+>*/-{GsxÜ֭S~ yWfRܰaD^f)*_[zmJVpx_<'uR-!cd[#9휧Y*Dkk5.E:~ZUx<a!:= &*Y D rv;xW۠(2'zV3|z#)aKv5MSKF1~[qɀQ(Ոn@.+\]W޼ߖdB~e$+Pi٫i )cCmTI xR?_KBA0 iR/1xBX?c3͡e4u yo
+endstream
+endobj
+3483 0 obj
+<< /Type /Page /Contents 3484 0 R /Resources 3482 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3485 0 obj
+<< /D [ 3483 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3486 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+3487 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+3488 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+3489 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+3490 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+3491 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+3492 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+3493 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+3494 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+3495 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+3496 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+3497 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+3498 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+3499 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+3500 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+3501 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 542.68 null ] >>
+endobj
+3502 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+3503 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+3504 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+3505 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+3506 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 487.885 null ] >>
+endobj
+3507 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+3508 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 465.967 null ] >>
+endobj
+3509 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 455.009 null ] >>
+endobj
+3510 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+3511 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+3512 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 422.132 null ] >>
+endobj
+3513 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+3514 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+3515 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+3516 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+3517 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+3518 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+3519 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+3520 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+3521 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+3522 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+3523 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+3524 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+3525 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+3526 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+3527 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+3528 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+3529 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+3530 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+3531 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+3532 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+3533 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+3534 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+3535 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+3536 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 99.342 null ] >>
+endobj
+3537 0 obj
+<< /D [ 3483 0 R /XYZ 81.077 88.383 null ] >>
+endobj
+3482 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3540 0 obj
+<< /Filter /FlateDecode /Length 2167 >>
+stream
+xڭZ[o~_ah.1X-zp[%WVM3#ʴ8ǻ/L#B|CO'|=}MsVZ=]}'b8IbVLnߧ])sfW2ZSOa[f2.ٕ)qpTìf}rZȪn'ۥy_QS:j0-Xˏ/NF+6EpfвW@'jK}tj R{tN :ٺI
+K[ D C(geMٕ+#MSɳ- ۻM}n_,LX$I.S0mXۜ,Q.FaM,,o?{إ}~<4RIyr+΄1 QT\1A&U2ۮ1Ӓi)iFhډ!ڎrl#EǶskaHGϭ5iڂtn#4Zd&us}ӳ}V j6NچҀA'Iө TdP>z< z~`!$kLǐv;/WhpڻkVjS=]
+"bx4̰4^(7kJd5|-&k9J6*J$$g7sß_@ X_ͼ(뺥G
+0֗IgxA (y4
+޽ADᄒɿ QZSXD>Eq$kHI%Beֶ,h}d }p@ weH,*]P7G](սu"hҴ;V苹C1煄#p7C*=8س&9(Tڑ
+=0=lYW [Y)G-8M>tD
+rLI= A)5JgU-l<øޤV jIґ2^{'Bhz`BNnH ȯxs-<)oT^wzu҅wvp}bT88BҦ1bȱ죽<@%b怯h`HE^œt/IN0&hUd&'|)JrBF{Wb<9Y0kʐf׮*fpVWO?ąA^%%<TvQ\=R6/Xb3Y^qv)ű0*p}*w@0pH{FmYt3G̗r,=mA#6F=m_89tb#`ъ
+AzRI'=I
+Q.\q~8jC.`H8KmHZT/S?ߠ27W*ިi؉d~?
+endstream
+endobj
+3539 0 obj
+<< /Type /Page /Contents 3540 0 R /Resources 3538 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3541 0 obj
+<< /D [ 3539 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3542 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 754.895 null ] >>
+endobj
+3543 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 743.936 null ] >>
+endobj
+3544 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 732.977 null ] >>
+endobj
+3545 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 722.018 null ] >>
+endobj
+3546 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 711.059 null ] >>
+endobj
+3547 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 700.1 null ] >>
+endobj
+3548 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 684.182 null ] >>
+endobj
+3549 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 673.223 null ] >>
+endobj
+3550 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 662.264 null ] >>
+endobj
+3551 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 651.305 null ] >>
+endobj
+3552 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 640.346 null ] >>
+endobj
+3553 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 561.717 null ] >>
+endobj
+3554 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 550.758 null ] >>
+endobj
+3555 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 539.799 null ] >>
+endobj
+3556 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 528.84 null ] >>
+endobj
+3557 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 517.881 null ] >>
+endobj
+3558 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 506.922 null ] >>
+endobj
+3559 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 495.963 null ] >>
+endobj
+3560 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 485.005 null ] >>
+endobj
+3561 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 426.311 null ] >>
+endobj
+3562 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 415.353 null ] >>
+endobj
+3563 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 404.394 null ] >>
+endobj
+3564 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 393.435 null ] >>
+endobj
+3565 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 382.476 null ] >>
+endobj
+3566 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 371.517 null ] >>
+endobj
+3567 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 360.558 null ] >>
+endobj
+3568 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 349.599 null ] >>
+endobj
+3569 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 308.774 null ] >>
+endobj
+3570 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+3571 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+3572 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+3573 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+3574 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+3575 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+3576 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+3577 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+3578 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+3579 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+3580 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+3581 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+3582 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+3583 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+3584 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+3585 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+3586 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+3587 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+3588 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+3589 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3590 0 obj
+<< /D [ 3539 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3538 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3593 0 obj
+<< /Filter /FlateDecode /Length 2433 >>
+stream
+xڥZ[o~ϯ:#)-,h` . ١ul#qo9"u'C"GL֓dU=W?i>$5¤dB'FED+JE'/SvOZ?tbH7c0ԄWmeBhy{+M`+vnfdiSۯj cbG4<%TdG$E3m3_fww\̛.è#mW,jDO1:]Td:ooh_v%芫7ek?Eµ>~$ctJ8)a/?_>0|dvolҔn,[.˽qͣGoue]bZݜmM/=5 eJ :24r!~1+a, ZE`llsl|1g.e0sޙ@% "~̽lI'֫ۗ3$UIJD;|8 xcJed_Nӧk)h]{ю{*[00.4?D5UVԛ;>=1f
+=N2^&`;Ay#DmD`/}eia
+DWIhE<ߖOv͊
+[ϮoTn(9͛j  | >?t{hF?S+< -n\cj!nboTrp[$V'YKs 7@7n^ΌJR`0Uecfw9MAv
+o!~o ]eCN=MxGQ8}c*j3׉#
+L
+Bwm6 [E>!1Qk nԮ~ @ެc4}dyz0Eg ,\A XݤRq`6 56:E<y}zSM<[|2:C,5D8F
+Ye
+endstream
+endobj
+3592 0 obj
+<< /Type /Page /Contents 3593 0 R /Resources 3591 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3594 0 obj
+<< /D [ 3592 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3595 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3596 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3597 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3598 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3599 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3600 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+3601 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+3602 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+3603 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+3604 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+3605 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+3606 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+3607 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+3608 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+3609 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+3610 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+3611 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+3612 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+3613 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+3614 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+3615 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+3616 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+3617 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 366.341 null ] >>
+endobj
+3618 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 355.382 null ] >>
+endobj
+3619 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 344.423 null ] >>
+endobj
+3620 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 333.464 null ] >>
+endobj
+3621 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 322.505 null ] >>
+endobj
+3622 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+3623 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+3624 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+3625 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+3626 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 218.894 null ] >>
+endobj
+3627 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+3628 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+3629 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+3630 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+3631 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+3632 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+3633 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+3634 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+3635 0 obj
+<< /D [ 3592 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+3591 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3638 0 obj
+<< /Filter /FlateDecode /Length 2549 >>
+stream
+xڭZK6ϯpN1#>%i`'bX4$ԶFIo!ZjŲHWŢ"^!?˅DR:^$db/Xv !%Lj'S{hY0!ҧ̗$$r-W4I~ꟄsOyxulYqHЉ"eݕwxhJOM?gUͲ"Abb^Eo}'eu^ \mc՝,-P\QJ`?&C2ŔMPahR3> HAWASoI*}j_BD a):0g>k0oLa5DJy=;vxLs\qu{:ey/{[,)".):cݕ -}4OU϶U;f.SUΌmǝzqT{LA+ j_ϋ!j*o͋HͳksRyW궝>evmHofn㾾S
+^8G5Г͍0j]Ԇb銍i*m_.F">tMKLDbܸ<mMha-%Q_.AӪzQ-Ύ jcOhD KY?N83ve.adXN%?LbI>YmMs F3i+:+`˦jî`)b)u#ǣaț%4 &0 jL߳rCr  .Dp
+$Ah x)6M}?UOaMU5{
+6ӑB<;Cnwqm.{&cl]},D4v- SgKC[Gjbw1M)xrܢu,Fi8Ice/lq7ISWc-pխc%;ɰG;NQkzDl4?Kxd
+樫2n*fJ0n6% Pxy9!y* `\~ >@w=joٍOJ[ac.'ptMYs(LPIQWSoL\WXїhMT]썺e5D󯅵|ْvGeUu|ݛ~0Gnfx>+ywkMUp8j?Q𔨩6nz;͚0(,g"Ab8Iaϰ;#Jv} e˨]fP$D ʐHɹE>jpL\sK K6ao ϻS Tmm FW-,,49
+ak$lM2e鴮moLpjG=JI/1ewwQ SDbDXeȣ~U؝>pXȣ>;?OݮeH!c$2yzn YhN8&У~K_3VpO^?"~}\0l>-
+.H?-ttL)꛱δJd&)]&ݠ=Bt7۹p >BS
+endstream
+endobj
+3637 0 obj
+<< /Type /Page /Contents 3638 0 R /Resources 3636 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3639 0 obj
+<< /D [ 3637 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3640 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+3641 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+3642 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+3643 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+3644 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+3645 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+3646 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 581.534 null ] >>
+endobj
+3647 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 570.575 null ] >>
+endobj
+3648 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 559.616 null ] >>
+endobj
+3649 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 548.657 null ] >>
+endobj
+3650 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 537.698 null ] >>
+endobj
+3651 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 526.74 null ] >>
+endobj
+3652 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 515.781 null ] >>
+endobj
+3653 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 504.822 null ] >>
+endobj
+3654 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 493.863 null ] >>
+endobj
+3655 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+3656 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+3657 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+3658 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+3659 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+3660 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+3661 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+3662 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+3663 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+3664 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+3665 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+3666 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+3667 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+3668 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+3669 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+3670 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+3671 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+3672 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+3673 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+3674 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+3675 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+3676 0 obj
+<< /D [ 3637 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+3636 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3679 0 obj
+<< /Filter /FlateDecode /Length 2194 >>
+stream
+xڽZ[o8~0{1ayE1v0Ev،#Ԗ<4}uHQ}t±)}|t/oh7>tTs-g7wo<36KR"YnzJh3k77Rǽ]\]fv{e`Q6!/™:_g&/ R>6p]mmmƕY
+ߎ~2RLp ѭVfD&DK1 XsJ˖,¶^
+:T`nׇb<98VjYt`8ht lT`8 ѽbZeh'/"2@o_ˇz~"W)x_p&"tme7y'!-C~ ev!%oBE~}jtQ5F5: .Dhڮyg Ѕ|9;J<nh63RIСu8MN%X4o~k
+1?>5l7 Ҥ+;{M uˆoM׶2쮬kl[{69ZmAVw:wGQts"mTL,',=-7vukAvAOC`25PDf.B n~IDf$q`V1r%'Ͻ$.G)ۺbH^ VP5#9
+5*7c?g;38./ =y"b1+஺n\R8}>:s-)GV+\qiTp%#)<F%C4:q DCt[a-
+%IQA74iJIST?:xq B81
+mlle֑뻹_8}~Rg,X/ޗ0T
+^=qg<$Я!&q_
+endstream
+endobj
+3678 0 obj
+<< /Type /Page /Contents 3679 0 R /Resources 3677 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
+3680 0 obj
+<< /D [ 3678 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3681 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 743.087 null ] >>
+endobj
+3682 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 732.128 null ] >>
+endobj
+3683 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 721.169 null ] >>
+endobj
+3684 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 710.21 null ] >>
+endobj
+3685 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 699.251 null ] >>
+endobj
+3686 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 688.292 null ] >>
+endobj
+3687 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 677.333 null ] >>
+endobj
+3688 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 666.374 null ] >>
+endobj
+3689 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 655.415 null ] >>
+endobj
+3690 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 639.791 null ] >>
+endobj
+3691 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 628.832 null ] >>
+endobj
+3692 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 617.873 null ] >>
+endobj
+3693 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 606.914 null ] >>
+endobj
+3694 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 595.955 null ] >>
+endobj
+3695 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 580.33 null ] >>
+endobj
+3696 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 569.371 null ] >>
+endobj
+3697 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 558.413 null ] >>
+endobj
+3698 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 547.454 null ] >>
+endobj
+3699 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 536.495 null ] >>
+endobj
+3700 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 506.084 null ] >>
+endobj
+3701 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 495.125 null ] >>
+endobj
+3702 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 484.166 null ] >>
+endobj
+3703 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 473.207 null ] >>
+endobj
+3704 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 462.248 null ] >>
+endobj
+3705 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 451.289 null ] >>
+endobj
+3706 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 440.33 null ] >>
+endobj
+3707 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 399.799 null ] >>
+endobj
+3708 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 388.84 null ] >>
+endobj
+3709 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 377.881 null ] >>
+endobj
+3710 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 366.922 null ] >>
+endobj
+3711 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 355.964 null ] >>
+endobj
+3712 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 345.005 null ] >>
+endobj
+3713 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 334.046 null ] >>
+endobj
+3714 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 323.087 null ] >>
+endobj
+3715 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 312.128 null ] >>
+endobj
+3716 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 271.597 null ] >>
+endobj
+3717 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 260.638 null ] >>
+endobj
+3718 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 249.679 null ] >>
+endobj
+3719 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 238.72 null ] >>
+endobj
+3720 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 227.761 null ] >>
+endobj
+3721 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 216.802 null ] >>
+endobj
+3722 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 205.843 null ] >>
+endobj
+3723 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 194.884 null ] >>
+endobj
+3724 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 183.925 null ] >>
+endobj
+3725 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 172.967 null ] >>
+endobj
+3726 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 162.008 null ] >>
+endobj
+3727 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 151.049 null ] >>
+endobj
+3728 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 140.09 null ] >>
+endobj
+3729 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 129.131 null ] >>
+endobj
+3730 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 118.172 null ] >>
+endobj
+3731 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 107.213 null ] >>
+endobj
+3732 0 obj
+<< /D [ 3678 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3677 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3735 0 obj
+<< /Filter /FlateDecode /Length 2401 >>
+stream
+xڽZM6ϯ0 l3ScL=!h`m-,yd;䷧HJȦіE=HV*O<>ǏO 2J>yz@ODDI$'OOY|sJ(G\\gwi텙w;/Oeu˺CUO,fTN:,j(Z$l3M(GDL8~7G}_nBE?ۜɨi<JSR7B!yKWuGUB']{&M%(qaSFt[ǏL4PLG/4bF诳;AEMs(suM;hʳ7Zڍg4DD0 v48,FM"FyCifYSSm뭵_E_f}oI8L &İ3bN3:-b֊g$ϗ*gm2GxTmi/̳#Yx &hh:
+8=A#HT?GO6vrJu#+}{ Cnj_lY?a._۾mVT-oxuG-`3[NiI jLAO+xF% e (clxù)ۋ2[x%S2Ǯ UyoMbw q쩁rY+*jwnJY>lu,%
+>\0A`.mi06_qWEj|C﫮;^)ĕBis_ǖ)fI'B#[΋g/Yy
+B&5yBD׬7|
+Cgjx '龭WUbs^/]y]O>DsD)8rrcM@'rr")bXiD@A-wv?hjʺڏW){V{s sP+$3B D04MJ> RB8!n 4͓~-d:T\ DWh[a.$2CLI$CJyhUvǜ: h9#i߻
+endstream
+endobj
+3734 0 obj
+<< /Type /Page /Contents 3735 0 R /Resources 3733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3736 0 obj
+<< /D [ 3734 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3737 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+3738 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+3739 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+3740 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+3741 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+3742 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+3743 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+3744 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+3745 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+3746 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+3747 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+3748 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+3749 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+3750 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+3751 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 541.684 null ] >>
+endobj
+3752 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+3753 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+3754 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+3755 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+3756 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+3757 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 428.109 null ] >>
+endobj
+3758 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 417.151 null ] >>
+endobj
+3759 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+3760 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+3761 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 384.274 null ] >>
+endobj
+3762 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 373.315 null ] >>
+endobj
+3763 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 362.356 null ] >>
+endobj
+3764 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 351.397 null ] >>
+endobj
+3765 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 340.438 null ] >>
+endobj
+3766 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 329.479 null ] >>
+endobj
+3767 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 318.52 null ] >>
+endobj
+3768 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+3769 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 272.692 null ] >>
+endobj
+3770 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+3771 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+3772 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+3773 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+3774 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+3775 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+3776 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+3777 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+3778 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+3779 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+3780 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+3781 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+3782 0 obj
+<< /D [ 3734 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+3733 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3786 0 obj
+<< /Filter /FlateDecode /Length 1852 >>
+stream
+xڵZK807M1 LCN  j[r1[ԃ"r'HMSX_ˡ~(~󯇛WoIX&":c3fff4#Tn\pfo|֫7:Yh-lf@d+J^vrlS}U}y{?:/w!*=4~ mvRŘv8p; %c4^6Ye3 \y=|#1p"kmQiEM5Z{NYT6f?U}_Xutƫ#Q&9c.+]6U_)0cQ7m
+V!)TnSNSk)jK6eӞ4nOiZs"'kn.,1z ̼qr|ȶcU#Zc)F-N}99C(a;y4DÁO'nAQ,BODs%*AS˦h^\8%c3Ϊإ氈ߺMcOXeUO_鐗+Pc_,Cuf.KV.S}bnZImS:
+=
+=1*|/y!zTp~ꞣ
+.u6'5Q;Л\d25`A#=)bwd؉Tc: Æ-q?:Fx?EowTynn-sWjϣB)Y5Y:D3 K I'I2BdL -q
+endstream
+endobj
+3785 0 obj
+<< /Type /Page /Contents 3786 0 R /Resources 3784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3787 0 obj
+<< /D [ 3785 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3788 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3789 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3790 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3791 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3792 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3793 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+3794 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+3795 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+3796 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+3797 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+3798 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+3799 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+3800 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+3801 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+3802 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+3803 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+3804 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+3805 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+3806 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+3807 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+3808 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+3809 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+3810 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+3811 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+3812 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 453.345 null ] >>
+endobj
+3813 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 442.386 null ] >>
+endobj
+3814 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 413.936 null ] >>
+endobj
+3815 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 402.977 null ] >>
+endobj
+3816 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 392.018 null ] >>
+endobj
+3817 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 381.059 null ] >>
+endobj
+3818 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 370.101 null ] >>
+endobj
+3819 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 359.142 null ] >>
+endobj
+3820 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 348.183 null ] >>
+endobj
+3821 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 337.224 null ] >>
+endobj
+3822 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 326.265 null ] >>
+endobj
+3823 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 315.306 null ] >>
+endobj
+3824 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 304.347 null ] >>
+endobj
+3825 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 293.388 null ] >>
+endobj
+3826 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 282.429 null ] >>
+endobj
+3827 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 271.47 null ] >>
+endobj
+3828 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 260.512 null ] >>
+endobj
+3829 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 249.553 null ] >>
+endobj
+3830 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 238.594 null ] >>
+endobj
+3831 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 227.635 null ] >>
+endobj
+3832 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 216.676 null ] >>
+endobj
+3833 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 205.717 null ] >>
+endobj
+3834 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 194.758 null ] >>
+endobj
+3835 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 183.799 null ] >>
+endobj
+3836 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 172.84 null ] >>
+endobj
+3837 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 161.881 null ] >>
+endobj
+3838 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 150.922 null ] >>
+endobj
+3839 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 139.964 null ] >>
+endobj
+3840 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 129.005 null ] >>
+endobj
+3841 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 118.046 null ] >>
+endobj
+3842 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 107.087 null ] >>
+endobj
+3843 0 obj
+<< /D [ 3785 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3784 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3846 0 obj
+<< /Filter /FlateDecode /Length 2867 >>
+stream
+xڭZ[o~_a@GNiݝm` t
+AX[Jr` 63}H,<wύgx뛸E\?_Jdv|aP<3%r&F?%]\?dP"USbLb$iSƔ_m՜u:!mle.uIƮ8A}2
+#t˞Ϸ")]Lk,ʳ. cng ;a>Ρqz{5{̤@щӵssʶL9$rOwvE=Ha'dZˋ[4 Mcu
+^+M11n*ŅDJj8(u2,")VmQ|xS?i򢽮1>""!`sS B_2a^v8tyԃ86EV1{6PLL]2hHңv9bVe?\߄(CΥx)u>a<N+(ɢksIm k3% ߊF[S9<1T>;
+FyfeZf Av.}}N/熞IHouֶE=
+Q֞RH>OBBiei^Ӫ^@
+&%4GއP AH6`AQ_R9+Mᒲ x 2K&Чc*>ldI_؇~#2ׄ+`f9kmoٹzHm/2s/} ,n(AA`\/-y9iN#H^c(HG|yqS#1}vċ6zQ_iM_;(4ѵlC7V-H_'/T >1f-p>ҍٟifB]c* !8ʾeS7=¬=AE*}d_Q[nuتA_.M1m>C=Bm2 x>V<`y&&
+|DOCS G|n?ͣG[2Zt]zGyvZ(+8^y x0*)tmӲZUq]U/
+ HG#|zQ>րD,TQ+׮1;@x؁*2# n+x2l{Y})‰x aRJH~LazwRK 8Wt<Km,)$9^yBKGcdfXy1
+On(_D4
+2i9`&ޚUk}]7zY tNwkAD^i~ɳf67 X7wjkr>^,FlZO2/6Yהi\F˟{Ht9.V [t*YYIC(z“
+ΞKᓻ{{e4Sq
+endstream
+endobj
+3845 0 obj
+<< /Type /Page /Contents 3846 0 R /Resources 3844 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3847 0 obj
+<< /D [ 3845 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3848 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3849 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3850 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3851 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3852 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3853 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 640.396 null ] >>
+endobj
+3854 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 575.639 null ] >>
+endobj
+3855 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 564.68 null ] >>
+endobj
+3856 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 553.721 null ] >>
+endobj
+3857 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 542.763 null ] >>
+endobj
+3858 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 531.804 null ] >>
+endobj
+3859 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 520.845 null ] >>
+endobj
+3860 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 509.886 null ] >>
+endobj
+3861 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 469.039 null ] >>
+endobj
+3862 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 458.08 null ] >>
+endobj
+3863 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 447.121 null ] >>
+endobj
+3864 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 436.162 null ] >>
+endobj
+3865 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 425.203 null ] >>
+endobj
+3866 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 414.244 null ] >>
+endobj
+3867 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 403.286 null ] >>
+endobj
+3868 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 392.327 null ] >>
+endobj
+3869 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 339.525 null ] >>
+endobj
+3870 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 328.566 null ] >>
+endobj
+3871 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 275.764 null ] >>
+endobj
+3872 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 264.805 null ] >>
+endobj
+3873 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 253.846 null ] >>
+endobj
+3874 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 242.887 null ] >>
+endobj
+3875 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 231.928 null ] >>
+endobj
+3876 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 220.969 null ] >>
+endobj
+3877 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 210.01 null ] >>
+endobj
+3878 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 199.051 null ] >>
+endobj
+3879 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 122.339 null ] >>
+endobj
+3880 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 93.447 null ] >>
+endobj
+3844 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3883 0 obj
+<< /Filter /FlateDecode /Length 2868 >>
+stream
+xڵZo߿nE(pmڇ4@zL"-$ybΐ,ʎbn)CqA?/w>߰|\q%w r"E-v'ϒOWׂId֬j,MZ{eK\]K]iQ*]q=mMapk}s[VuͲv)BSZUYcuF:̻ү$$)dc3_sS><>1_ ]?To}_'Wg;t݌e-</Exعg-2Rv!` ~[N%|9aL&D8ͽ'9ji"Ԅn6Lu=ꁌ>ƺvU;+O%d'9'Rr4eLIPZD<$S7#n[ 3Qe$LZ <ss
+A3G/4pOӀkʌذliNI&&O?֍):#_Uƴh(+KyKcjdTiX6TNEQP^;$ՃB0vڰ(ujԝYwf݃<l[>>uꊗU|v/?2|W8??th)GڮGJ v$:sr`~mT5
+ۮ!Rv$UUͮ`cVJomݘ^~u:.(|CH"a
+'ژ輸y1L)₁tG6Z(4ٞMߖ],FOIٙRI% F02ǰԌBD]-F8V8S[=v
+\|fP1*V1c!-b@EӀ?E~"1Qsh + pD U0
+fGJsG.OjL ˇ̈́ |=؜٬p|4 qd@ܛ
+F+'
+6
+ؽbpM~K)MlA
+q3@S1<$bI'&uc7Oi4 ]+M}'Gѧ.[7`wV7%~~2]2x
+[\TlL,F1Uƒ/n)6
+ܫ?:g1
+P@gOkS#}\4 9( P7_e*厩\T=W͸Q2q✸]@W ]·:AR*){O) f9vj[l},.D_(`^Twm}j6SF`>M{gO 0YHZ7PQr+%.3b]䛷 &*\6Gv9;N!#C<Չ*q ˳K>nl姺|kQ@HItMٴ'k3
+wvQ |"t.|`e8VlCF
+{{iԓST{cԔ9ԛu} Wz}9DNRxP{zi#{)¶z}O5|CdL= ~:l$"k vt[:8vSm~dd^]_9 $T)n%2^,:#ЅA\B'8 s~Qq2qWѧ
+i#Q"V84k7+
+6"1?y<}F‡{oѓ+ynluaa>u3ER"ezE弘ʉE _f<yJ^lr;\+"ʍW=2F4
+ҙy= O@+o| й lwe3;2 1ZeGw|Gu}fw692z6ژۄ9QZHJ:_S
+endstream
+endobj
+3882 0 obj
+<< /Type /Page /Contents 3883 0 R /Resources 3881 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3884 0 obj
+<< /D [ 3882 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3885 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 731.041 null ] >>
+endobj
+3886 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 720.082 null ] >>
+endobj
+3887 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 709.123 null ] >>
+endobj
+3888 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 698.164 null ] >>
+endobj
+3889 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 682.358 null ] >>
+endobj
+3890 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 671.399 null ] >>
+endobj
+3891 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 660.44 null ] >>
+endobj
+3892 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 629.756 null ] >>
+endobj
+3893 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 600.999 null ] >>
+endobj
+3894 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 590.04 null ] >>
+endobj
+3895 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 579.081 null ] >>
+endobj
+3896 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 568.122 null ] >>
+endobj
+3897 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 557.163 null ] >>
+endobj
+3898 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 528.405 null ] >>
+endobj
+3899 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 517.446 null ] >>
+endobj
+3900 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 506.487 null ] >>
+endobj
+3901 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 453.819 null ] >>
+endobj
+3902 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 442.86 null ] >>
+endobj
+3903 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 378.505 null ] >>
+endobj
+3904 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 367.546 null ] >>
+endobj
+3905 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 338.788 null ] >>
+endobj
+3906 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 327.829 null ] >>
+endobj
+3907 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 299.071 null ] >>
+endobj
+3908 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 288.112 null ] >>
+endobj
+3909 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 277.154 null ] >>
+endobj
+3910 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 266.195 null ] >>
+endobj
+3911 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 255.236 null ] >>
+endobj
+3912 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 244.277 null ] >>
+endobj
+3913 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 228.47 null ] >>
+endobj
+3914 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 217.512 null ] >>
+endobj
+3915 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 206.553 null ] >>
+endobj
+3916 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 195.594 null ] >>
+endobj
+3917 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 184.635 null ] >>
+endobj
+3918 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 141.996 null ] >>
+endobj
+3919 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3920 0 obj
+<< /D [ 3882 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3881 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3923 0 obj
+<< /Filter /FlateDecode /Length 2310 >>
+stream
+xڽZKo800t|f=`; Ai[YHr)-:i4I?+>*63<H;˧}r،LFgwO:i$Q3% ’vwr#FLOa|ymӛeoV}}u-~WemDzfsOD ޣ/0"2 FE~IepM1dә?eeN8mU4U'%ՈhX4SȲ3pu]C.a}kID!
+7L-I`̉-}lLKD eGct򾔙@ 0vv*BӳgN&9G"_FCf1GT #f~96?s`?ɥMA:}lAW
+t"8IfWf D~/J&Ρ .Y4Sayn: U~(U?yk}z6
+LiR,BD;EORN[8a_4N[2&;6;$H!|A'IAQ`Chn7`='g'=z'6apuOeUן*RDMQ|ñsjǶ6@16.ٯppJwXУ31; C Ӫ+SE< e2aZg7$ $?cK u ife)a#SA9,{XK$YW:aYJ VwzĚy]T[2":e^-1۰qW7^D0uC+u GY9Ù=R M[O\[֬Oî_4 qUwE^Dz~dAr$l[ga;/O&cԭko e̳E#k߱E_k snȳ Bb1܉D4()DG=J}SX:$oR&,|@#"A'V)jm2B—iiT| yl~X49Td$UpahJNE+Ӎ',ZE(LіyʛV/%oB1MѤiN^14!R
+"l7vGu %7 4ɕ9Hs*uB
+P,FORf=w_wEJ|&!IXkwzRSii0E{?&2'd)iM bc@'ShYPJQ=eӴDlo-7m)e_(tS4洜ksx EяgiqEU.;]pJ/ZQ&
+ai7Eof,!hev>¦Զ_\j٧2$ G$ PD:]2c!i#t"!JC<ID蟓ǖQ"I1B Бh<_%!L"NJbƓSlfjK|d^9҃}wu !\e}̔cY^deYLNH HLNnZnwmǼY3ڟW\P-gx^6RB|bLEzC kw&-} v K"m5" Y5@Ÿy|$ىAn)ĵ{F|Y&X@*OcGj.dtZ6?No~d6@uJgu S($r(k'_w
+endstream
+endobj
+3922 0 obj
+<< /Type /Page /Contents 3923 0 R /Resources 3921 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3924 0 obj
+<< /D [ 3922 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3925 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3926 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3927 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3928 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3929 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3930 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+3931 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+3932 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+3933 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+3934 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+3935 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+3936 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+3937 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+3938 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+3939 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+3940 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+3941 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 538.145 null ] >>
+endobj
+3942 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 527.186 null ] >>
+endobj
+3943 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 516.227 null ] >>
+endobj
+3944 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 505.268 null ] >>
+endobj
+3945 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 464.549 null ] >>
+endobj
+3946 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 453.59 null ] >>
+endobj
+3947 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 389.216 null ] >>
+endobj
+3948 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 378.257 null ] >>
+endobj
+3949 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 367.298 null ] >>
+endobj
+3950 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 356.339 null ] >>
+endobj
+3951 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 345.38 null ] >>
+endobj
+3952 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 334.422 null ] >>
+endobj
+3953 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 323.463 null ] >>
+endobj
+3954 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 312.504 null ] >>
+endobj
+3955 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 301.545 null ] >>
+endobj
+3956 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 290.586 null ] >>
+endobj
+3957 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 279.627 null ] >>
+endobj
+3958 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 268.668 null ] >>
+endobj
+3959 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 257.709 null ] >>
+endobj
+3960 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 246.75 null ] >>
+endobj
+3961 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 235.791 null ] >>
+endobj
+3962 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 224.833 null ] >>
+endobj
+3963 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 213.874 null ] >>
+endobj
+3964 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 202.915 null ] >>
+endobj
+3965 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 191.956 null ] >>
+endobj
+3966 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 180.997 null ] >>
+endobj
+3967 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 170.038 null ] >>
+endobj
+3968 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 159.079 null ] >>
+endobj
+3969 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 130.315 null ] >>
+endobj
+3970 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+3971 0 obj
+<< /D [ 3922 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+3921 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3974 0 obj
+<< /Filter /FlateDecode /Length 1858 >>
+stream
+xZKo6WV-2"(,CNzlˉY2$9ݢJ2Ezތ7i^qyr(ngtD;짛wWIb |v>c0hY2K4#Tf\KJۙ!VkaB0()B`B.L[UL//eEAL@[<%rϓ=F?вA[&͟'["w#7)Q c4^}Ε-';qS/]ʋ!Rs4٧fWŪCsp=W^n~[EW)!bb,!g6\Ī"&^R'B1X^Ij7S" ռh !/Ys"T>-|F1޶Ų59bD&()GHo"oFBmvwOQ0&<EG˺nVEu/()x cH>Cy:^NWT!*)DEk#HͶtq}uT&Oa$Mړ84*YYd!}V4) $Q(Eh8V%eI\| h A"4$ Nt
+|m⌡WYڗXQ}]~NQK(j/tB/ Я&!*B#4N&[/[C֊E ~k3_Gjm[_9Ņ[VKҒ3"/ЯKK+q~&Bzi9U" E1D*pjh#`wW\# !wD"`=ԯF̡ %ě伨Ʃ8}j*&-adif[=rL Ƶɘ^qtQT*Zt?Op /pS e5 Z0#=iz[ <]$n& ozësYSdr8<_fxΓ\Y3ˇs.rip5ic}+ {[@nNqw{x8wC7`e6eS&xt tB&Zwk{[!4>4켅4Ԏ](t~}B.^u$B0&@x7 [yY܏
+m<eGںqZ|UWźM
+/Io8P{)od;1w(q.}28' U -}@W:ە0br7`G}\CẂDTYUqq0QNtXڶc-wm<J6K.lb { lXA?g+ᡭ7}lpW?0hQ`ȭ&ƟJhm⺚УQ7_O[~E?h\T
+їF1uu:ir'35ol: vRdRwQ]W_~
+iǯ57hA,v+D q^6nG}O),Uus&$9R
+,Bx F-O@7t:EY/Ĝ;BpP˲x-^^cä+CǡR6!4u6¦3U!Q+΃Vm=U >
+f/;фO'E#_[j0$yHp$Cg`i"L[q"4zaR@76x܊_
+9&JB6PUan؞
+endstream
+endobj
+3973 0 obj
+<< /Type /Page /Contents 3974 0 R /Resources 3972 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+3975 0 obj
+<< /D [ 3973 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3976 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+3977 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3978 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+3979 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+3980 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+3981 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+3982 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+3983 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+3984 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+3985 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+3986 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+3987 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+3988 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+3989 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+3990 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+3991 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+3992 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+3993 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+3994 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+3995 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+3996 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+3997 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+3998 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+3999 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+4000 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+4001 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+4002 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+4003 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+4004 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4005 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+4006 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+4007 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+4008 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+4009 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+4010 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+4011 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+4012 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+4013 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+4014 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+4015 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+4016 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+4017 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+4018 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+4019 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+4020 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+4021 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+4022 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+4023 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+4024 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+4025 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+4026 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+4027 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+4028 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+4029 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+4030 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+4031 0 obj
+<< /D [ 3973 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+3972 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4034 0 obj
+<< /Filter /FlateDecode /Length 1900 >>
+stream
+xZ]o}ϯ})l\oQ~Zh
+y> ۲#,JrvE;e&'Kl: 9gf:+z$~^}zs$aV+7M4Kffj6[f?΅z;77:j-Lf:!܊F;ln EJ~ns܀R0bBcOm& aFz")Hš8v$tl/"KLQQ=R4M-/׊/Î}^kw}Tө&\kp!:`l}ߔu-ed
+SU/y ~x},&ۖW.Oq"mVp7*'4I#')P>бf[Uwlog7 B0{ b9/
+E% ;`!`=bxm;u~]3 3/G7V;lwgDM.>8%1ϊ/oo*M]xa83Jt s<MSA]ޮnBp3ZkN67b4%:<:: >*7 ˺$ZZ?O +>.J/SE׆We IqLq)3ED)4ř"D[k/sd.B[)b&]Ӹ(B[w4<$G!DW֛vtcU9GB%Ճdž|MNH_Q. )"A߰GtLvBpwTEO5՟~ RHg@27EU%R1c~<cv״ǦĮw)RE(Εq ѱ">J7grUj(SIF<~0kPz=4&} אF4 7G5pyrUtuP=Cέ4#8*\ \(-yFִg)O0qb_>/?v=9Bq/l?g;Ro$!4H\0 їp3Q>Z[ mKIALm@L|D'Զnküŏ˨n8WH/t2*N"絑d'm!K5LШ&?+ 5i@bPi@'vm\Zpچ|y` gߐ1 %7
+PK4T6B?nRbϤ@-:B O 1˓sæS3$UwEhe:e !P3:mv;}Qe,5TCGkiZ]5U5y_{{ͫ.:7z~::vpl@6ܐobH%N9fqƍwM^nt}ڻs =N?5Hs-'޸ؚak_3B6_Ds9W/6D@)E~"Pٷ96UC8Ss(^L$5#D[)/m-cAU.O|S\;Ba|aYߠ@ 5#4:dP{+TD9Bӻ-н+Be@&ק*o_Hvwk1.'n}=Í=({A3G+B'U|苶ll Jw1sM8J$%i2ZQw6
+endstream
+endobj
+4033 0 obj
+<< /Type /Page /Contents 4034 0 R /Resources 4032 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+4035 0 obj
+<< /D [ 4033 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4036 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4037 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4038 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4039 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4040 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4041 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4042 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4043 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4044 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4045 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4046 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+4047 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+4048 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+4049 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+4050 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+4051 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+4052 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+4053 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+4054 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+4055 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+4056 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+4057 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+4058 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+4059 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+4060 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+4061 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+4062 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+4063 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+4064 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+4065 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+4066 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+4067 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+4068 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+4069 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+4070 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+4071 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+4072 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+4073 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+4074 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+4075 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+4076 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+4077 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+4078 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+4079 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+4080 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+4081 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+4082 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 147.163 null ] >>
+endobj
+4083 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+4084 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+4085 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+4086 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+4087 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 92.368 null ] >>
+endobj
+4088 0 obj
+<< /D [ 4033 0 R /XYZ 81.077 81.41 null ] >>
+endobj
+4032 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4091 0 obj
+<< /Filter /FlateDecode /Length 1713 >>
+stream
+xZKoFWV7~dOzh
+(D
+e1;|hIJFv`"vvt3$ ~?ݵ#Ieng YM43#nWB:w~wڍ,qZ D8?0!U2I$%<YWYJ&eMQ()J&1 ڶpIm3t~jݳ?E./o[ͽid
+/YO"tCٮ$_۽,dNSf8'm ۖXэ?&',x
+8
+0F$p½m}mӸ|}(Ks;.|Vߵ]37r`k00ۿs\ai}f97*UwO&eFì*鯴O_5,1\n/z|I{.핺V٪l6]֯SUyY/%~h*'ۺ/uExow!rRk߮ιO/9+a踜wvUl/fEjsF3d5w-zC/=٭ FOn]py=+d[/pH@io{(q|ëRdU!Փ )N!êoVaq?_zp\q✎`"M0Ghp>Z#Jip"汛|ub<֔:_E9)iìq1j!ܜ*M|HZ/*>M^ee(Vge}o䢻LH:M`Dw~50WPbd
+(_3TZ|.BgmRXx&QaۖX sPy/̙F5/u>P]`pF: !'8[M'ƲXxB,b)N˲EZg_Iϫ:S43J >q&B=kg 1(!л]6ᄥb&T
+D谏ijr8H*\ ߯ei+\z(0̫i=\^ h'XE򪎓vN2bH-*b x^o;68j2s
+endstream
+endobj
+4090 0 obj
+<< /Type /Page /Contents 4091 0 R /Resources 4089 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+4092 0 obj
+<< /D [ 4090 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4093 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4094 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4095 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4096 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4097 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4098 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4099 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4100 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4101 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+4102 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+4103 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+4104 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+4105 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+4106 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 584.523 null ] >>
+endobj
+4107 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 573.564 null ] >>
+endobj
+4108 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 562.605 null ] >>
+endobj
+4109 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 551.646 null ] >>
+endobj
+4110 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 540.687 null ] >>
+endobj
+4111 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 529.728 null ] >>
+endobj
+4112 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 518.769 null ] >>
+endobj
+4113 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 507.811 null ] >>
+endobj
+4114 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 496.852 null ] >>
+endobj
+4115 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 485.893 null ] >>
+endobj
+4116 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+4117 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+4118 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+4119 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+4120 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+4121 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+4122 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+4123 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+4124 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+4125 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+4126 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+4127 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+4128 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+4129 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+4130 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+4131 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+4132 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+4133 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+4134 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+4135 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+4136 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+4137 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 224.872 null ] >>
+endobj
+4138 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+4139 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+4140 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+4141 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+4142 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+4143 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+4144 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+4145 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+4146 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+4147 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+4148 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+4149 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+4150 0 obj
+<< /D [ 4090 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+4089 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4153 0 obj
+<< /Filter /FlateDecode /Length 2230 >>
+stream
+xڭZKo8WXa%J2Lb9 a{!(lkZ<'ݘU"EvcfHdLgzC+zͻI&LA':cDYvEŷyG*%-SCɎ(a[Il.ÇN_M=c)nsd0`*"L?9^B-R¤N eDNv&>Wz_.C[bydua"1>:|"\)+_'[EGViDlqlƈzL6lH$2z0=\^wY:K•t!qJ1(\~kwljhuzzaWC3ϟhD˵lG?tE;ޡTg[p&.A;t3Br *=$ɂwNu*n(#)h9}}=A6LO{*XY bUaf梿ˆQb:+ܬ!X6Qޒ 㡿^q$" 5Gb<13OŦf WeRs_ 4U/ڋsiJ(D7Zx/f~8n%ՏtWۋK%T\q| (q:e:-' H8zVޮ-Wulӥ9D?| 0Dw+ەKkk<fH豀|$K?e]{M6֬\-cFmԼo$-~)&
+YY.,#C֬9.H\0axk4K2;݊~& !}Wv8lXe_tcYh5<_vX)h)_Ki5$ 4T<M!̹YjhF?ns|xrZ nvCo ]+> qWV宨EtGT4']s*ӘjXAqUxRϗ:DAX)袍~ %fSA Emsu9rRQc6CV
+ $ icL3,<nTQz!2?0=Qei6
+{ۦ:pB6@sWݯ
+w~Vj4Q%@ߒŢC[s7bSQA %DF86:Wi5Y:Pigqx>aev2^8RA#_%ocD
+݄-0C_7'<߿2շ|4EP \mHbdNW8"(i"KM%<L1=o1=mc\rY@m绉FqVӏu%\#a;ehF2'zpiQaL #&
+Whʚ,56K9ԶI [/C^7roL<xِۆZgy,1$v\Z4㬵;,Dl]j}6/&'wuU^5a zEPZ?FAٜvj Ty?CyƧ?U@u\OR(c搶:AМ!mO DZ"8~,Sj.l*51-]nQ\, Ua/2!ƞ&DQ$Уt"i7T@jk4p&*c%*GQS0Z,)8l6 +KHjea?rPgۦ-4uWgVEFd7ڊޗaX/cAzdp_
+endstream
+endobj
+4152 0 obj
+<< /Type /Page /Contents 4153 0 R /Resources 4151 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+4154 0 obj
+<< /D [ 4152 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4155 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4156 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4157 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4158 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4159 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4160 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4161 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4162 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4163 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 641.393 null ] >>
+endobj
+4164 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 630.434 null ] >>
+endobj
+4165 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 619.475 null ] >>
+endobj
+4166 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 608.516 null ] >>
+endobj
+4167 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 567.669 null ] >>
+endobj
+4168 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 556.71 null ] >>
+endobj
+4169 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 545.751 null ] >>
+endobj
+4170 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 504.905 null ] >>
+endobj
+4171 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 493.946 null ] >>
+endobj
+4172 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 482.987 null ] >>
+endobj
+4173 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 442.14 null ] >>
+endobj
+4174 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 431.181 null ] >>
+endobj
+4175 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 420.222 null ] >>
+endobj
+4176 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 409.263 null ] >>
+endobj
+4177 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 398.304 null ] >>
+endobj
+4178 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 387.345 null ] >>
+endobj
+4179 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 376.386 null ] >>
+endobj
+4180 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 365.428 null ] >>
+endobj
+4181 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 354.469 null ] >>
+endobj
+4182 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 343.51 null ] >>
+endobj
+4183 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 332.551 null ] >>
+endobj
+4184 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 291.704 null ] >>
+endobj
+4185 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 280.745 null ] >>
+endobj
+4186 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 269.786 null ] >>
+endobj
+4187 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 258.827 null ] >>
+endobj
+4188 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 247.868 null ] >>
+endobj
+4189 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 236.91 null ] >>
+endobj
+4190 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 225.951 null ] >>
+endobj
+4191 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 214.992 null ] >>
+endobj
+4192 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 174.145 null ] >>
+endobj
+4193 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 163.186 null ] >>
+endobj
+4194 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 134.294 null ] >>
+endobj
+4195 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 123.335 null ] >>
+endobj
+4196 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 112.377 null ] >>
+endobj
+4197 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 101.418 null ] >>
+endobj
+4198 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 90.459 null ] >>
+endobj
+4199 0 obj
+<< /D [ 4152 0 R /XYZ 81.077 79.5 null ] >>
+endobj
+4151 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4202 0 obj
+<< /Filter /FlateDecode /Length 2155 >>
+stream
+xڭZKoFW2aL6I9G$Ȟ }fUJ3X_w͌~'QͿn}L4a7 n36K"xGЈvEDouz1Jg IH$>4 џc϶M[~m>wR}Uźvy)lU0[l%rVKO}m"%L
+Y^Yb"B_h<!,NL6Tp)@C4U>[UWkeQU͖ńsF8>v︾l]GSQ(RS2D;e#%@>tG҇) .DDV?mq{'va{mny<\ |n>9D97p] kD-NCW[wrQ+N8}m'"{xMni[g DH ZmQD$L&Lm`m}-|K|{8Ln큑RD*gbLG-%G2ٜ!{l!9ʭ4~ߜ5m[vZ=/$0g.@hL"a rځ~vDȎuYoZ6&_q[󐪬:0HHA Uúpn<!7Fxn5]^̏\j~[s[2쭳~{H|w>DQ؛wө뇄JRۣĖa]ە_n(|$9#1d!6s6MUdU b:z9{q}ÒjV.."'6Bm(̡Pb(\zcFy 砐ƏeU=֍^?~'\~l
+In<Ԗ*xA -)os㋷2$aWٽ*$t쒠-j:l\*m2S5+@Y?5|B3alRTkm^|MrE(86>ڲ$Aܽ$UI%g@~M`e@7֟Q+NgLZ q}Ѡ|3IAEDBn襤4 r]5l5i\ !@0)<G'4H̲,5&5Ô/]MBcu/ dOH]C\ z>z :m?4Gп;үE ˜A\R>݊IH
+.ku, ӝYuku a1 Oq:x<Fr+
+4^6I]"j*)4 łmP: %;@GN$4.>
+:
+Aџ^tk4D
+endstream
+endobj
+4201 0 obj
+<< /Type /Page /Contents 4202 0 R /Resources 4200 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+endobj
+4203 0 obj
+<< /D [ 4201 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4204 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4205 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4206 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4207 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4208 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4209 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4210 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4211 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+4212 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+4213 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+4214 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+4215 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+4216 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+4217 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+4218 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+4219 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+4220 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 497.848 null ] >>
+endobj
+4221 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+4222 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 475.93 null ] >>
+endobj
+4223 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+4224 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+4225 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+4226 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+4227 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+4228 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+4229 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+4230 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+4231 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+4232 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+4233 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+4234 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+4235 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+4236 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+4237 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+4238 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+4239 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+4240 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+4241 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+4242 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+4243 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+4244 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+4245 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+4246 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+4247 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+4248 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+4249 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+4250 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+4251 0 obj
+<< /D [ 4201 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+4200 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4254 0 obj
+<< /Filter /FlateDecode /Length 1746 >>
+stream
+xڵYKo8W:OnhNȱ
+-Dn,摂m8κjW'ˢ̟'Q VDx΀Hю~ t,Ӓp3Zub wC]T6mkq(gAmqڶ4p7 ;qmPL܌|QIBV+7{aLa˓51[h9AQg]X/ߦ|Z>woa L!:{ft9+O`[Cz.wy)q= GM2мJ,m"tEuՇs.ݖw#mWw EE֜.KQo~[д"Xؓq=6qY{?H
+endstream
+endobj
+4253 0 obj
+<< /Type /Page /Contents 4254 0 R /Resources 4252 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4255 0 obj
+<< /D [ 4253 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4256 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4257 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4258 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4259 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4260 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4261 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4262 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 666.565 null ] >>
+endobj
+4263 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 655.606 null ] >>
+endobj
+4264 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 644.647 null ] >>
+endobj
+4265 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 633.688 null ] >>
+endobj
+4266 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 622.729 null ] >>
+endobj
+4267 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 582.122 null ] >>
+endobj
+4268 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 571.163 null ] >>
+endobj
+4269 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 560.204 null ] >>
+endobj
+4270 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 510.86 null ] >>
+endobj
+4271 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 499.901 null ] >>
+endobj
+4272 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 488.942 null ] >>
+endobj
+4273 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 477.983 null ] >>
+endobj
+4274 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 467.024 null ] >>
+endobj
+4275 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 456.065 null ] >>
+endobj
+4276 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 445.106 null ] >>
+endobj
+4277 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 434.147 null ] >>
+endobj
+4278 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 423.188 null ] >>
+endobj
+4279 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 412.229 null ] >>
+endobj
+4280 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 401.271 null ] >>
+endobj
+4281 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 390.312 null ] >>
+endobj
+4282 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 374.611 null ] >>
+endobj
+4283 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 363.652 null ] >>
+endobj
+4284 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 352.693 null ] >>
+endobj
+4285 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 341.734 null ] >>
+endobj
+4286 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 330.775 null ] >>
+endobj
+57 0 obj
+<< /D [ 4253 0 R /XYZ 79.37 305.442 null ] >>
+endobj
+4287 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 237.8 null ] >>
+endobj
+4288 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 226.841 null ] >>
+endobj
+4289 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 215.882 null ] >>
+endobj
+4290 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 204.923 null ] >>
+endobj
+4291 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 193.964 null ] >>
+endobj
+4292 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 183.005 null ] >>
+endobj
+4293 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 172.046 null ] >>
+endobj
+4294 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 161.087 null ] >>
+endobj
+4295 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 150.128 null ] >>
+endobj
+4296 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 139.169 null ] >>
+endobj
+4297 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 128.211 null ] >>
+endobj
+4298 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 117.252 null ] >>
+endobj
+4299 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 106.293 null ] >>
+endobj
+4300 0 obj
+<< /D [ 4253 0 R /XYZ 81.077 95.334 null ] >>
+endobj
+4252 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4304 0 obj
+<< /Filter /FlateDecode /Length 1894 >>
+stream
+xڽZo~_"/Nq኿%z@}/Ƶ@I%$' w(8^ˢif7)EY4"NjV>i>$)gŊ(gZQ):[mfsȫ~rI%$JS <0DPlˈЈ9
+gG\]K&R.McV,ʾͻTYӦHF{I̯;hxP]4h4<DmX81ζM cҹ
+"DmG0:γ"mEژv, j7ۛ-֮1uz9$2_uusH(*
+жo*(i[b9N{[oMoޅv4pH Qmiں3 2ۘԔ) EƠ'x
+P轨?L]-)ESP]\4:/%(I]gV(!屴 ;)o] ؙIi*"R@9o۷:Rv$tMf
+팀eu(Gўv|f>734iwn(g9yٶ0[SN°Q(3>s4ki;V@Ą@1k96/Ýg ,Յ\IFa.h/@ʿ_VLA/|WEeS^&6_WMfW V6?Eysu yAffQ?ob}Cd%s}$_ۦ:'('ZO/7}8噐,:KdD
+4+<ۺjͺ56|aKP%ަ׸\чv*<]C5Yxκf3j_(v$A{dQ/J$zou*fWdwPZik-g4sP_b`\=Go* m'38nw0x`0<j<o]s)m|s#%Q 7+]V 9G 1i X,l[ll1Yhߘ}C 0e` eg?g}Ӷ6yk:'CV zm L) +b'8~޶0>@j<Mo
+xGHܗF
+endstream
+endobj
+4303 0 obj
+<< /Type /Page /Contents 4304 0 R /Resources 4302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4305 0 obj
+<< /D [ 4303 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4306 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4307 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4308 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4309 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4310 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4311 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4312 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4313 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4314 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 678.332 null ] >>
+endobj
+4315 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 662.713 null ] >>
+endobj
+4316 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 651.754 null ] >>
+endobj
+4317 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 640.795 null ] >>
+endobj
+4318 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 629.836 null ] >>
+endobj
+4319 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 618.877 null ] >>
+endobj
+4320 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 607.918 null ] >>
+endobj
+4321 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 596.959 null ] >>
+endobj
+4322 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 586 null ] >>
+endobj
+4323 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 575.041 null ] >>
+endobj
+4324 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 564.082 null ] >>
+endobj
+4325 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 553.124 null ] >>
+endobj
+4326 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 542.165 null ] >>
+endobj
+4327 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 531.206 null ] >>
+endobj
+4328 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 520.247 null ] >>
+endobj
+4329 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 509.288 null ] >>
+endobj
+4330 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 498.329 null ] >>
+endobj
+4331 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 459.441 null ] >>
+endobj
+4332 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 448.482 null ] >>
+endobj
+4333 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 437.523 null ] >>
+endobj
+4334 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 426.564 null ] >>
+endobj
+4335 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 415.605 null ] >>
+endobj
+4336 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 404.646 null ] >>
+endobj
+4337 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 393.687 null ] >>
+endobj
+4338 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 382.728 null ] >>
+endobj
+4339 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 371.77 null ] >>
+endobj
+4340 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 360.811 null ] >>
+endobj
+4341 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 349.852 null ] >>
+endobj
+4342 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 338.893 null ] >>
+endobj
+4343 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 327.934 null ] >>
+endobj
+4344 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 316.975 null ] >>
+endobj
+4345 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 306.016 null ] >>
+endobj
+4346 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 295.057 null ] >>
+endobj
+4347 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 258.001 null ] >>
+endobj
+4348 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 247.042 null ] >>
+endobj
+61 0 obj
+<< /D [ 4303 0 R /XYZ 79.37 223.137 null ] >>
+endobj
+4349 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 183.92 null ] >>
+endobj
+4350 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 172.961 null ] >>
+endobj
+4351 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+4352 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+4353 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+4354 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+4355 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+4356 0 obj
+<< /D [ 4303 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+4302 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4359 0 obj
+<< /Filter /FlateDecode /Length 1555 >>
+stream
+xZn7}WKR4 =%m
+Ϸ'?NO^1b$L":b#ffd4#Tt=0R?{K|׋7ڍ,qZ pDW/&_Zodjxl¯n$~IKE <jiR‡V+lIed+K9:xPmle=7ylMwκ\Es᯻n 2pFn/Ɠ79bg11 \ݚ(.R4}Tu;%s4Zvjl~lN ^ohUV{$B@'CSAEK_Zs"EdYPzL%Ba&RҸNxHR!EM˟źòmkiyz*ImקC!TceqNL|a(%LN<m3-dYsV幯"CJ "ҮQ~FM'U0Q&f(k24zӕU0esTyw7*[~`%ц2p|sv9_~X]748Aĸ~ 5Aqbed}+`/[2bmd}8/x$jmpSP3"_k*zc?h=޶8eV:BiVzն<`@Ig ḱ1"`Hxj#</&n va& 82zخ͢V!Wՠ6C*I8f$*3tR6Vr>DҟvXC}?H)W6…aˆUY@ʦ8w-شPf:O6u=
+Ilf _)Ъ
+' 3t̖p@ۋjB9hPB% {Α@uoU5N:v^56д6VHO*/L}]<%PZ3$c
+bCKX#('@3"E}ϖ⿪mBCٗ3CXU;~x }侣&X3fu}'
+~-}7k/So?P#5f46hWK3cA\TG^N u4],nxF3kի L5:ҵÍS3hdo'qʲ01p߸f5\*v-WSN }lY.+ z5*R0^2 Ἷ)p#e`|#A?8}F'<\W2=C(8R\-#!3" !e& c /,պkƦO(xa)</'u,RB7\,)qн
+endstream
+endobj
+4358 0 obj
+<< /Type /Page /Contents 4359 0 R /Resources 4357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4360 0 obj
+<< /D [ 4358 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4361 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4362 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4363 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4364 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4365 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4366 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4367 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4368 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4369 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4370 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4371 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+4372 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+4373 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+4374 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+4375 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+4376 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+4377 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+4378 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+4379 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+4380 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+4381 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+4382 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+4383 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+4384 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+4385 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+4386 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+4387 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+4388 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+4389 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4390 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+4391 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 437.076 null ] >>
+endobj
+4392 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 426.117 null ] >>
+endobj
+4393 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 415.158 null ] >>
+endobj
+4394 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 404.199 null ] >>
+endobj
+4395 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 393.24 null ] >>
+endobj
+4396 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+4397 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+4398 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+4399 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 332.468 null ] >>
+endobj
+4400 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+4401 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+4402 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+4403 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+4404 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+4405 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+4406 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+4407 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+4408 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+4409 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+4410 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+4411 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+4412 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+4413 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+4414 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+4415 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+4416 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+4417 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+4418 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+4419 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+4420 0 obj
+<< /D [ 4358 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+4357 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4423 0 obj
+<< /Filter /FlateDecode /Length 2619 >>
+stream
+xZo~߿}:pş ػ{!>t AX,^;CR8;/Lq8Ï3DY4]4ypçͨ \(6}GC48%<2!"s{RJۮhW<n[uSʦ6-K޶W'R* l1nBmSU͂Dz3Mf 2ͫKi>i~.輨ͯnk;EEpq@x#kc)6W릭pvb<<(em6Ns$NuSpp[{F0$JF<nʾqC.輩w:75Dž2buDQBhMwޮ,!*9d- HBF$fAnV*A>S.~U
+e] Hs.<- 8}`kL#Nv)
+=F)KFw 0,cIH:q.?(-LG,Du3 SY5SNtyy9DvBiHR _e_` #9 2'tA+@%RWk삅6,HRE* m{`qSy
+h45tw㹝E^70#  S;ݜ2-0JQJaLD0nU/lB.'5MQ>p"*y1Ůy(znI@Mei
+ '0@` $܆U WBk8ˁICUz8DoMP\x%C dY!,M>_U.; 8ߡ
+"tl4(P>]ú~,PX:O
+,f$8v:<){0[.x9foXe]jċ"M6{G6QѴREnlXQ/2^Ra푇Mx"l ~cpҧ޳<K M}j6{kV~'cŞEչEcg|ɀxP?3r+I/Y%`mN!RԗDz
+p81(V-"3!x~_Bڡm<K1Y xi7 @J_tcG-&"і6
+!K{k٨F/\5#pWuhe1'Enj GuL@Ha{B LWT’E&A|IDXכ +|TK˓胭);xY+u|K_R@>6Kfapb=7ኛa7~pʿE[Da7~|֓7yaiSFTF$ԯI
+endstream
+endobj
+4422 0 obj
+<< /Type /Page /Contents 4423 0 R /Resources 4421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4424 0 obj
+<< /D [ 4422 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+65 0 obj
+<< /D [ 4422 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+4425 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 684.136 null ] >>
+endobj
+4426 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 673.177 null ] >>
+endobj
+4427 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 662.218 null ] >>
+endobj
+4428 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 651.259 null ] >>
+endobj
+4429 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 640.3 null ] >>
+endobj
+4430 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 629.341 null ] >>
+endobj
+4431 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 618.382 null ] >>
+endobj
+4432 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 607.423 null ] >>
+endobj
+4433 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 596.464 null ] >>
+endobj
+4434 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 585.506 null ] >>
+endobj
+4435 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 574.547 null ] >>
+endobj
+4436 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 563.588 null ] >>
+endobj
+4437 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 552.629 null ] >>
+endobj
+4438 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 541.67 null ] >>
+endobj
+4439 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 530.711 null ] >>
+endobj
+4440 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 519.752 null ] >>
+endobj
+4441 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 508.793 null ] >>
+endobj
+4442 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 497.834 null ] >>
+endobj
+4443 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 486.875 null ] >>
+endobj
+4444 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 475.917 null ] >>
+endobj
+4445 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 464.958 null ] >>
+endobj
+4446 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 453.999 null ] >>
+endobj
+4447 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 443.04 null ] >>
+endobj
+4448 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 432.081 null ] >>
+endobj
+4449 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 421.122 null ] >>
+endobj
+4450 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 396.215 null ] >>
+endobj
+4451 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 385.256 null ] >>
+endobj
+4452 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 318.507 null ] >>
+endobj
+4453 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 307.548 null ] >>
+endobj
+4454 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 218.88 null ] >>
+endobj
+4455 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 207.921 null ] >>
+endobj
+4456 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 167.075 null ] >>
+endobj
+4457 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 156.116 null ] >>
+endobj
+4458 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 121.247 null ] >>
+endobj
+4459 0 obj
+<< /D [ 4422 0 R /XYZ 81.077 110.288 null ] >>
+endobj
+4421 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4462 0 obj
+<< /Filter /FlateDecode /Length 1735 >>
+stream
+xڵZnF+dCdu.( t,S
+TEN{z\٘9s_stɇ+;wwWonH,|rbD331n5=VwwnbZ1qJp1)zۤ|uzj,ӷok#8*J#?
+UZ[>=+pƭ;7ΈZkXw6wXpOF-7C0'B#[DG0
+-z@t)9 ؈ay5 B9S9
+
+w⽍Q1+Y[_5sRH
+v~wP0ս;m7Z٦K~~jÃ]U 611y\yw30D%~1xX7:"/q!w߿ rtF7TiÃmpR:B>& UyC?dp9BV\YMw;zŢ]?kQFX-18c4h94=Ƣ"1BVܿ:PYOik#,AAzOS@%2\)Xn9.G>$~C:†JV8'H0gA@mqEƏm (PB%inPyz/鿄@o$ij8DeZ TFUL^lA2k-*"48
+3TPܧ}i )CAu%#CaDh9gDPQ/m9-c\pA gnu >i6%jp[c0ߗ@\FS4vh'g
+endstream
+endobj
+4461 0 obj
+<< /Type /Page /Contents 4462 0 R /Resources 4460 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4463 0 obj
+<< /D [ 4461 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4464 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4465 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4466 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4467 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4468 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4469 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4470 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4471 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4472 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4473 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4474 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+4475 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+4476 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+4477 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+4478 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+4479 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+4480 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+4481 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+4482 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+4483 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+4484 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+4485 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+4486 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+4487 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+4488 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4489 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+4490 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+4491 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+4492 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+4493 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+4494 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+4495 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 337.449 null ] >>
+endobj
+4496 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+4497 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+4498 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+4499 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+4500 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+4501 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+4502 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+4503 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+4504 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+4505 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+4506 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+4507 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+4508 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+4509 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+4510 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+4511 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+4512 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+4513 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+4514 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+4515 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+4516 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+4517 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+4518 0 obj
+<< /D [ 4461 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+4460 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4522 0 obj
+<< /Filter /FlateDecode /Length 2848 >>
+stream
+xڭZKs8Wj#mޏLea2b$"IoA>{ BF?
+p<`
+
+ND.|V8}
+Ei;WxОlC8
+jlŀmwi*wFp&ip*''X18u4zH4|&ͧs;n:\:{ZZ+5  i3cso4Yqo$qO#%=BfV54I).نO6=;qu_8MW ( >LVS{;!bM?W nPFSC
+@ vܽ7^ o=}V>1kp(oī_Fy<~"y~r
+cy(_m~_pw,˺|! ِox xg9a+Dݸ+vpô9Y#+k H,@ح]j7Tm|YiV
+endstream
+endobj
+4521 0 obj
+<< /Type /Page /Contents 4522 0 R /Resources 4520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R /Annots 4558 0 R >>
+endobj
+4558 0 obj
+[ 4519 0 R ]
+endobj
+4519 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.185 699.348 310.618 711.284 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
+endobj
+4523 0 obj
+<< /D [ 4521 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4524 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4525 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4526 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4527 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4528 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4529 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 672.194 null ] >>
+endobj
+4530 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 661.235 null ] >>
+endobj
+4531 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 650.276 null ] >>
+endobj
+4532 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+4534 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+4535 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+4536 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+4537 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 541.684 null ] >>
+endobj
+4538 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 530.725 null ] >>
+endobj
+4539 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+4540 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+4541 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 492.867 null ] >>
+endobj
+4542 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 481.908 null ] >>
+endobj
+4543 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 470.949 null ] >>
+endobj
+4544 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 459.99 null ] >>
+endobj
+4545 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+4546 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+4547 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+4548 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+4549 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+4550 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+4551 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+4552 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+4553 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+4554 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+4555 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+4556 0 obj
+<< /D [ 4521 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+4557 0 obj
+<< /D [ 4521 0 R /XYZ 94.613 98.396 null ] >>
+endobj
+4520 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F22 473 0 R /F20 186 0 R /F23 660 0 R /F27 4533 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4561 0 obj
+<< /Filter /FlateDecode /Length 2674 >>
+stream
+xڭZ[~_ᗢ6WQFSld@\[c +K^Iw#J/6E\`?Xߟ|S'Dr6Y>R0$TNɿ<bz_>|RDH)”$+rc6I?6.C6xU)z
+q
+d
+HF򶱥&<Үy4}>fmw%2z6*$С+:emC!a.`mh7
+
+Vk?Cޔ>#
+4Qe<C4Γ(!}4d&\؊/H =KsioV^u:ӎء$YM1#?$z.o7)9Ѽ4! #:x_,'\R'Mo,cy#谧6!k(m
+.m2BvLN0M?s7yf0
+<M DssŠ+MB&>| - EЈ;!xӸl#-}I9nl.
++GYށUroӉt_..cu Y$Lv6eqK ݾ|ĔFDy_.ёxp<}G;ynhMP3Cx᳸{>[)8oX;%Ti@D޽T[p2\._D [3ꇾ!'#JH
+endstream
+endobj
+4560 0 obj
+<< /Type /Page /Contents 4561 0 R /Resources 4559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4562 0 obj
+<< /D [ 4560 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4563 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4564 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4565 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4566 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 704.075 null ] >>
+endobj
+4567 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 693.116 null ] >>
+endobj
+4568 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 682.157 null ] >>
+endobj
+4569 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 671.198 null ] >>
+endobj
+4570 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 660.239 null ] >>
+endobj
+4571 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+4572 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+4573 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+4574 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+4575 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+4576 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+4577 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+4578 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+4579 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+4580 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+4581 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+4582 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+4583 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+4584 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+4585 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+4586 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+4587 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+4588 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+4589 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 410.177 null ] >>
+endobj
+4590 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+4591 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+4592 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+4593 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+4594 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+4595 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 218.894 null ] >>
+endobj
+4596 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+4597 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+4598 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+4599 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+4600 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+4601 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+4602 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+4603 0 obj
+<< /D [ 4560 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+4559 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4607 0 obj
+<< /Filter /FlateDecode /Length 2753 >>
+stream
+xڵZ[o~ϯ0u 7b:N 4E0d[IcKItԅ!M9<<WJtv?^I2l^x^$0gw &E3n*{Zo+;3*%̔&`zyl Y|-Ǯ۷]S,VX,'o(alkz:鴅%L6;62(n_myYZrCLVA<bbp y9% T-r}~*\ۼkϿWZTL5T$нRݢ)?B>H"xTIF#i}
+R6OrvsʷŢ~]T.3``)O~\]vKy,,ŕ.-`P!>Wnj3)XۼY=I.b.wyYȇw=C5UWQn7ƀjWl)3M#/W[s?8)dScbr/ ̳C5;q R_Op^ʀ EfY帥gώ+P,^T/kuoڷaa˻rYn`c/Sv }t "Bj.t=89R1Js
+(iÎ8v|"{<A4YQ2co8eFwMTdc"LJ:)<3>"v7mT] Q :.~
+f |;lz௜S&hi7a%݌$zÂeuuĘ *?a[o.'Ch85DOw]ѼpB::AgImp= _=$ճL
+Hә1g "'<w$}&;z8$d(d<`f#u>ǵNRsuI_Pff ,)Dj-H'hccdWr#&P* I+BOJivwUqy]mǨ a}~â޳"D;_ؖ.PJki;}:zʛ{<>!}kSE "~%
+ݦ^}<mL{dA?'-!0{ 1I>!
+rO8;RX
+rf /
+r]9
+pa_zv
+endstream
+endobj
+4606 0 obj
+<< /Type /Page /Contents 4607 0 R /Resources 4605 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R /Annots 4650 0 R >>
+endobj
+4650 0 obj
+[ 4604 0 R ]
+endobj
+4604 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 434.917 577.501 445.35 589.438 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
+endobj
+4608 0 obj
+<< /D [ 4606 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4609 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4610 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4611 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4612 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4613 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4614 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4615 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4616 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4617 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4618 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4619 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+4620 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+4621 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+4622 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 615.049 null ] >>
+endobj
+4623 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 604.09 null ] >>
+endobj
+4624 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 538.918 null ] >>
+endobj
+4625 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 527.959 null ] >>
+endobj
+4626 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 466.359 null ] >>
+endobj
+4627 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 455.4 null ] >>
+endobj
+4628 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 345.978 null ] >>
+endobj
+4629 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 335.019 null ] >>
+endobj
+4630 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 324.06 null ] >>
+endobj
+4631 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 313.102 null ] >>
+endobj
+4632 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 302.143 null ] >>
+endobj
+4633 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 274.303 null ] >>
+endobj
+4634 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 263.344 null ] >>
+endobj
+4635 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 252.385 null ] >>
+endobj
+4636 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 241.426 null ] >>
+endobj
+4637 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 230.468 null ] >>
+endobj
+4638 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 219.509 null ] >>
+endobj
+4639 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 208.55 null ] >>
+endobj
+4640 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 197.591 null ] >>
+endobj
+4641 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 186.632 null ] >>
+endobj
+4642 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 175.673 null ] >>
+endobj
+4643 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 164.714 null ] >>
+endobj
+4644 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 153.755 null ] >>
+endobj
+4645 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 142.796 null ] >>
+endobj
+4646 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 131.837 null ] >>
+endobj
+4647 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 120.879 null ] >>
+endobj
+4648 0 obj
+<< /D [ 4606 0 R /XYZ 81.077 109.92 null ] >>
+endobj
+4649 0 obj
+<< /D [ 4606 0 R /XYZ 94.613 80.331 null ] >>
+endobj
+4605 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F70 185 0 R /F76 318 0 R /F26 662 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4653 0 obj
+<< /Filter /FlateDecode /Length 2097 >>
+stream
+xڵZK8W62p0a=Lڢڑ%R?AE"?~,K~zC_G2iz:c3afF3B5]of'"wdgyU6޺,yc]W嗼+l_`p: ٕ~ٖngCHF
+̳oޮW;lf)L2jϜFR A4̹IW$)JP>RN˶qQYes&IIkдZT 0mn]3
+Y vx] P)[]iVOJa:q(vâhm{$:ZU<í%
+ ot_-־C2Q5$Жg΄"\PSBrf
+~r(L,eOL5h.
+SǓf~}f)"2XmXoŲ)U]Q/wce]4˻;5@U0NU0z*#X/OU77w~*(\>,mG
+j*|IMd2S4krO G_ψ4T{<7,Y5U̹Nz훖f3 FІŃnΉq bssÓ`.',vPvCbOגoWdMv@] i5wB=rI"aWO(zbSNjOis}P fb3Gh 'f4؜[$=;϶iKaM͢!Bƛ<p$=@|
+2шsC7vΈoШ *7
+D:8Pဩt9PJDx"fHf
+h*R 5b
+f#!@h -Cp1Tx_m;]{quԾ& ۯN|L1I*](=?tbW
+endstream
+endobj
+4652 0 obj
+<< /Type /Page /Contents 4653 0 R /Resources 4651 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4654 0 obj
+<< /D [ 4652 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4655 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+4656 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+4657 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+4658 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+4659 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+4660 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+4661 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+4662 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+4663 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+4664 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 602.456 null ] >>
+endobj
+4665 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 591.497 null ] >>
+endobj
+4666 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 580.538 null ] >>
+endobj
+4667 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 569.579 null ] >>
+endobj
+4668 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 558.62 null ] >>
+endobj
+4669 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+4670 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+4671 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 525.743 null ] >>
+endobj
+4672 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+4673 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+4674 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 492.867 null ] >>
+endobj
+4675 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4676 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+4677 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+4678 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+4679 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+4680 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+4681 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+4682 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+4683 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+4684 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+4685 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+4686 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+4687 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+4688 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+4689 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+4690 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+4691 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+4692 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+4693 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+4694 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+4695 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+4696 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+4697 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+4698 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+4699 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+4700 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+4701 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+4702 0 obj
+<< /D [ 4652 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+4651 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4705 0 obj
+<< /Filter /FlateDecode /Length 3903 >>
+stream
+x[o_!/6kڇ)WZR"qw9pwz@Np~?3$3>Ofkf/~!@[f9+bn=ƝݟmyU ř0wgJm^mmfWWW>nWHmp?t ZWrSw{Gū}ԺM@V~Z
+)!7mVPk2/l:i:e2^vILpfab> Ha|d=2m[Y׎tZ|)PE94cea_ers:3WV#nBtZ]_5돇o^zz3_7W29H>9rAUmMhM6]8؎C2IzL56"{y芆
+vy9|x(_;b{7BWNeI'nwf~8]_#k[,}ӅvMf{8V~<3s2 YS7vVg݃_tz؟xO0Y(}7r"9~mWdxM+w;= ,1/ol^ ׌4&SRne=Y: 2)n:F/N &H5
+ReHĎD}fJ=(=;Rô"SCсɜ=RI!#9d7V\W:DmiZE)WZOEs`͓۞vXYlE *o&5*Qۉ9n*vbx; ~,=̈\g3̘F&5(!*YaZduaZ-=>' &%:2lqZvQJ8J#Lg$t)Sʇ{ilzNFawwN-ws%_& r{84vi#$%%s<<G?vϒx?_y!bji܈fs$Hrb\<~r5a$MAa2thZ՗ qvW(/)/n&^>0m~'=ژ?a;͝]oooC_Kܻ;x6mGGfA>tOqlkZGk~d/Q$yK;lDcB3d3<j$kx^v^Z?+ZJ1+}êa~iY;%!~b3{vVbR]xm$DqSѾꂁ0ϋsU vCt™bloȣ#Q;7uD[խ6MɌY?݊5ZnjEeP#zm;3Ku'T,wgRҝlfRw*&RcDbMV%J=g H)IQ`i :fm`&E"TKc 
+6 j/5^^@YÔWmŒ1*-YFB7E1~[{9h֨M,/iϳƒ~d-ߎq\)]:z]Ai
+tUb!XQ+>F$8,q% 0b꧊5gw(F"ta)J'G}x
+NQ<!!I Q.1 &J=pA]]{TQ*>>$#xZ
+E d?fn*j%rt  p+a1h$G؀E GPNK7U>Q[` ^  œ$ZZ*:@ 8[\A Cvq)9cGO=
+Llb#E0tGtnQº!a='9$ڄzu/(Cp
+9UyBI*)9UBGO}
+tUb!XV#'W0"!!]#z"K@ ̂SZƵuiLf\7U:1[tZ=
+endstream
+endobj
+4704 0 obj
+<< /Type /Page /Contents 4705 0 R /Resources 4703 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+endobj
+4706 0 obj
+<< /D [ 4704 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4707 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4708 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4709 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4710 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4711 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4712 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4713 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4714 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4715 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4716 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4717 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+4718 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+4719 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+4720 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+4721 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+4722 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+4723 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+4724 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+4725 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+4726 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+4727 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+4728 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+4729 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+4730 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+4731 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+4732 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+4733 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+4734 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+4735 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+4736 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+4737 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+4738 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+4739 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+4740 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+4741 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+4742 0 obj
+<< /D [ 4704 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+69 0 obj
+<< /D [ 4704 0 R /XYZ 79.37 302.032 null ] >>
+endobj
+4703 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R /F32 1809 0 R /F26 662 0 R /F23 660 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4745 0 obj
+<< /Filter /FlateDecode /Length 1956 >>
+stream
+xZ[o6~0)@.1  Ca Ŗdr.ߡHQآ[t}dJυ*ݫ77)$|vzE"HtJ$%⟻? 9&#CqqKVi}޼oꂦIkFʝ׵77TA)C,rX-J3$HˏB$ziGz|PnJ`ޖue?b֍b='*PM/=UlȾ{W7Z}[F>IE(>T&*2_KkKh K!>̇DL?(ؔy|(GtȞ!Vл,m"ERWSs}uFX?(3?ݛr+"QYNH"=C@``C,T c]}C=I^1) q<:xgۢdԣTs$H1i[2ޘIY-@wa?gzf9DmEqsDe
+ yU<ηMB(W[QP=5]νE\U<^a)Qik#1ͩ~:& ET
+0Оd$z;_teH@LdyZ4H(K3U3z! MݽO%kRVAiI;@B4?2c̹+fhzUgFk!5pz7:XCHG<q КD͚~UW=x],JtNe=Wm~/RWNJ0"hٌ 2'{b(@5_.O"*;3p(\q>=p ͯTcV゙ MϮ+fyM)z/3c9OD|Q
+MOxT 3 D~OS DF
+(,Fy7bG $
+3}xyet**h4d 8}tl"TN6}je]4|7s( V$4ԅ^:1+v.&I.ziCSVkIs8=pd-D
+A.^h5&92T=IAL<?M/RTaDqTj#W
+endstream
+endobj
+4744 0 obj
+<< /Type /Page /Contents 4745 0 R /Resources 4743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+4746 0 obj
+<< /D [ 4744 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4747 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+4748 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+4749 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+4750 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+4751 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+4752 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+4753 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+4754 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+4755 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+4756 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+4757 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+4758 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 428.109 null ] >>
+endobj
+4759 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 399.218 null ] >>
+endobj
+4760 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 388.259 null ] >>
+endobj
+4761 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 377.3 null ] >>
+endobj
+4762 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 366.341 null ] >>
+endobj
+4763 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 355.382 null ] >>
+endobj
+4764 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 344.423 null ] >>
+endobj
+4765 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 333.464 null ] >>
+endobj
+4766 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 322.505 null ] >>
+endobj
+4767 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 311.547 null ] >>
+endobj
+4768 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 300.588 null ] >>
+endobj
+4769 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 289.629 null ] >>
+endobj
+4770 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+4771 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+4772 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+4773 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+4774 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+4775 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+4776 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+4777 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+4778 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+4779 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+4780 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+4781 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+4782 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 147.163 null ] >>
+endobj
+4783 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+4784 0 obj
+<< /D [ 4744 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+4743 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F19 184 0 R /F26 662 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4788 0 obj
+<< /Filter /FlateDecode /Length 1986 >>
+stream
+xڽY[۸~_a+;\/H tۇ<Ma(<-<I!)Q=d_Lw۹xp_cu#1 /V;xA J%Yd^j{X}튣cYRyIu7-FߟAb &*DN!/ӣ4 |%1SxYu}Tݻ\/|{2q&<ic .[S8K#-ɏu_ES}]2Ue2Prhl jnyO> ^غ^ƲɺwMGm z^ޓ
+gpსe&?
+1( snXۋ]}YSte)DOE;
+\ /zLh$Fq}x.Sbt8I]1:7 RA7M=A'lRD,ie&?7#5O8LH4641zǢ)"̓2k1i 4Ost2 V41:v5LE lPfޢaL3F#*fp0XO;9{W>OV䯝7ؿEC4sqD$4ѳƹDu<id+$K!T|$#r)Qʫy BŦ&|b
+-fY&ogNNM$!ՅXe_mQl
+
+7/eSWO7`ɏV@u=3즓q?\+ˬLCOKVP2c`v8ܲ!c2,+|:|П=huwTj|O`nnZ4[F܌N& :9aR1*>9V4@BE h)eNΑ!ZJ8r7-1$eXh{)I҈1B!I4mw R:ć.H6H˴uN׭426)2 :]7H1Ht5 U4۷ zNpM !~34).<띃ĹkhwV~br#&4;6Sֶʶ<;?.%TMR֧  WTۤ2kr =Ivַ[DCTS&k\TurU*t& :b:8?5a]C&"NWT4zE%[ tBX=$ Vn5T<nfzS6=T׳OPVS70~ְ} ^U=OoLűr ܬ2sƾ bۺ˝{[i J{nkkhbk+~Pez&}8>}
+2g 5\pkVa
+endstream
+endobj
+4787 0 obj
+<< /Type /Page /Contents 4788 0 R /Resources 4786 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+4789 0 obj
+<< /D [ 4787 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4790 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+4791 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+4792 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+4793 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+4794 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4795 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4796 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+4797 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+4798 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+4799 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+4800 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+4801 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+4802 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+4803 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+4804 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+4805 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+4806 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+4807 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+4808 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+4809 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+4810 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+4811 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+4812 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+4813 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+4814 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4815 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+4816 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+4817 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+4818 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+4819 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+4820 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+4821 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+4822 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+4823 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+4824 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+4825 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+4826 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+4827 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 204.033 null ] >>
+endobj
+4828 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 193.074 null ] >>
+endobj
+4829 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 182.115 null ] >>
+endobj
+4830 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 171.156 null ] >>
+endobj
+4831 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 160.197 null ] >>
+endobj
+4832 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 149.238 null ] >>
+endobj
+4833 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 138.279 null ] >>
+endobj
+4834 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 127.32 null ] >>
+endobj
+4835 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 116.362 null ] >>
+endobj
+4836 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 105.403 null ] >>
+endobj
+4837 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 94.444 null ] >>
+endobj
+4838 0 obj
+<< /D [ 4787 0 R /XYZ 81.077 83.485 null ] >>
+endobj
+4786 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4841 0 obj
+<< /Filter /FlateDecode /Length 1589 >>
+stream
+xڽYMoFWPMCh #@,QSTH:qkw)R]r8BwgRdѻ+r܂lﻫ77XC9WDFtd(GZQ ?Ƃ2k֛eGR܄`ڠOdr'(vII]>.N<.)i4k_. P¼v:Lsa4<F㹙j8[ 51,eq_,7gB۫k?ܲtv/C0H\
+(G66v*:]Oae) SP/mMB
+d
+GI̥iƕJ5VJ j#9(OE#~nC+6:̫7iqh-= +XrI tNh-1\h0c0o#o'yY]bڀQ>#MF.sNh1
+YreHV:[`o0w-U % .dK-Njf=ԛ(' ' );Dw_@7G36q"4[YkO9!|a@kM-jGw-4K=D[rtQq:2iez΄"z;efjYfw@޻ Sg,vvv=>hoݻ,Ov7mQҲ-홱?Q,*7YY?,%s
+l: |9q?3t2u6۽Uh}:<9qovE[ڱ-akv>6ӲΖK.
+s]Kݘb~H6:)Ͷ>~ir_TIN<5Z.q#mk\htQnu8Ay/g%u[!x(n6
+I\|iskG5~]5s&B2WӴ%)aYs`&ɪݳ|YQG._R]^֭2hƞE}ӶIC2GκUj$X>=>
+endstream
+endobj
+4840 0 obj
+<< /Type /Page /Contents 4841 0 R /Resources 4839 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+4842 0 obj
+<< /D [ 4840 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4843 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4844 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4845 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4846 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4847 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+4848 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+4849 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+4850 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+4851 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+4852 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+4853 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+4854 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+4855 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+4856 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+4857 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+4858 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+4859 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+4860 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+4861 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+4862 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+4863 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+4864 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+4865 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+4866 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+4867 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+4868 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+4869 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+4870 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+4871 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+4872 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+4873 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+4874 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+4875 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+4876 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+4877 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+4878 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+4879 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+4880 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+4881 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+4882 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+4883 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+4884 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+4885 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+4886 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+4887 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+4888 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+4889 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+4890 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+4891 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+4892 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+4893 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+4894 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+4895 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+4896 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+4897 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+4898 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+4899 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+4900 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+4901 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+4839 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4904 0 obj
+<< /Filter /FlateDecode /Length 2730 >>
+stream
+xڽZ[o~ϯx]H{МuhB%:f":"셗%$ۙg
+/.wtg,H*xA*AL-$K-<Vn
+OAf! a</./OK$B!tOͨL$qJ&e1C<-8J4aIV
+S?~Bl $V~T ^ۮ>}ZE^v Fǻ{wyѿ#/ћap>z^yx}@$$N>zh|?W(fhfF{;ܕ737(ҝwn;mUl&@G[O&1x|lB"D `ưd/qp s"M<ʍUi<%pP㦬}yX0hI5Ac:_gKC}E5*)X<8#쇵/pG&bgzY[Ⴧ#9c^ոB'*nA
+ LCY&.dḃ!ø4)vJ?%8 Rb
+4I[ȗUVAmxpuy%0j"A}JZ[l> j"aF>3svJl8)H*&c49#x /R L3mH<cLcD`TGqjS};y]*a#wk9wϛs ~$y'xFlu#Gq^q+Ayha{2Qp$+/Ճ5aR/XRAO}Xaz8.= ƺR>{\g{[Ovmyg;k)3LeBK4 ۀNc[
+ɦsw&sڻsn j0-/:h4'5^ֵq۲
+njvM]ߧƼ5l5*w6k77mJ%lħԶ
+,lW
+mgu<:`t@Q^@i=x8bt&z-Zg$1M>{ {7 gr=^~AHa1%6!dc7TS7B}5 ⶿kqg^q>T_웽 |!ˍ2;nNoiƶ} ʺwa66;Lu]yP)ӧ%ACC
+BFB!P=s.C!b
+ЪPP%9eSrDN}γ#OJ1|D
+s[?)CRwׁaθ}p3Ai oFS5M4R oOOH5GŇ$1T
+endstream
+endobj
+4903 0 obj
+<< /Type /Page /Contents 4904 0 R /Resources 4902 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+4905 0 obj
+<< /D [ 4903 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4906 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+4907 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+4908 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+4909 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+4910 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+4911 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+4912 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+4913 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+4914 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+4915 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+4916 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+4917 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+4918 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+4919 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+4920 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+4921 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+4922 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+4923 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+4924 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+4925 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 373.315 null ] >>
+endobj
+4926 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 362.356 null ] >>
+endobj
+4927 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 351.397 null ] >>
+endobj
+4928 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+4929 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+4930 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+4931 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+4932 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+4933 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+4934 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+4935 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+4936 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+4937 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+4938 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+4939 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+4940 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+4941 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+4942 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+4943 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+4944 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+4945 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 106.316 null ] >>
+endobj
+4946 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 95.357 null ] >>
+endobj
+4947 0 obj
+<< /D [ 4903 0 R /XYZ 81.077 84.398 null ] >>
+endobj
+4902 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4950 0 obj
+<< /Filter /FlateDecode /Length 1421 >>
+stream
+xڵZMoF W؋t'|(h[0GNڒ6I-yvkI/,O"G#9>0۽ŕÑtq"9‚9 BZMW_Zy8msŕ #/)t<1GAC Uet @cLm}m "@ͬ*gM󶸛ܬFYS*v9殙Kh}blxޢm2$8JJ9z됻rHyrs3i9zJ~W '6mBX!&&aPZ
+k08AdE>:+euzNب% +6𢋢Dw&DP<}8'A` 6Չ ' :OŦ^nC.} P8<Gf'J)W;(u]Vm6Vpn'C`Cx*CRT scAȍ 22lmpRR4'QU^HeUEʀMy|~|eS6.QA^S:8'DJ/Ci){R7>C;
+!=幏ْʩdgm#&2g-A
+yP;bO3܅IC$RDOZ:]Liwfk+ $]do0&$hVg,iae=5ɼ`9e#U7uQ]..ǎ-fk#% Enj>[>q+3LFǜԴ:r\U1+4lS?*ߞmv|K*T'%_~dB gKOeNS.P)֛ kjYn<d?&I@_>쥙=&@PqJ':DsۛFv2#ˈu"0Gq;/tSd?cќL&dSMj%
+<Q4-UYMPnKgAxiM|Yy5&Cw/t"DYM!.)n>Ɔ#"˪.n.ݱvrth8W/u{yS?I#뫋i_ۣ݅ʏ޾nx\CYq9Wꦚn
+,
+SF@م1˒mdu"ϻ33OBD^AC$)jcQ4֧ڮѦ=ۻC%!qtk6kTU◢ -SEٶc~=gX>O؟r $J)di4hs^}}J"U">T[g
+endstream
+endobj
+4949 0 obj
+<< /Type /Page /Contents 4950 0 R /Resources 4948 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+4951 0 obj
+<< /D [ 4949 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4952 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4953 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+4954 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+4955 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 722.097 null ] >>
+endobj
+4956 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 711.138 null ] >>
+endobj
+4957 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 700.18 null ] >>
+endobj
+4958 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 689.221 null ] >>
+endobj
+4959 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 678.262 null ] >>
+endobj
+4960 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 667.303 null ] >>
+endobj
+4961 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 656.344 null ] >>
+endobj
+4962 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 645.385 null ] >>
+endobj
+4963 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 634.426 null ] >>
+endobj
+4964 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 623.467 null ] >>
+endobj
+4965 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 612.508 null ] >>
+endobj
+4966 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 601.549 null ] >>
+endobj
+4967 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 590.591 null ] >>
+endobj
+4968 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 579.632 null ] >>
+endobj
+4969 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 568.673 null ] >>
+endobj
+4970 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 557.714 null ] >>
+endobj
+4971 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 546.755 null ] >>
+endobj
+4972 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 535.796 null ] >>
+endobj
+4973 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 524.837 null ] >>
+endobj
+4974 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 513.878 null ] >>
+endobj
+4975 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 502.919 null ] >>
+endobj
+4976 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 491.96 null ] >>
+endobj
+4977 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 481.001 null ] >>
+endobj
+4978 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 470.043 null ] >>
+endobj
+4979 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 459.084 null ] >>
+endobj
+4980 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 448.125 null ] >>
+endobj
+4981 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 437.166 null ] >>
+endobj
+4982 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 426.207 null ] >>
+endobj
+4983 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 415.248 null ] >>
+endobj
+4984 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 404.289 null ] >>
+endobj
+4985 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 393.33 null ] >>
+endobj
+4986 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 382.371 null ] >>
+endobj
+4987 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 366.467 null ] >>
+endobj
+4988 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 355.508 null ] >>
+endobj
+4989 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 344.549 null ] >>
+endobj
+4990 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 333.59 null ] >>
+endobj
+4991 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 322.632 null ] >>
+endobj
+4992 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 311.673 null ] >>
+endobj
+4993 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 300.714 null ] >>
+endobj
+4994 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 289.755 null ] >>
+endobj
+4995 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 278.796 null ] >>
+endobj
+4996 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 267.837 null ] >>
+endobj
+4997 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 256.878 null ] >>
+endobj
+4998 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 245.919 null ] >>
+endobj
+4999 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 234.96 null ] >>
+endobj
+5000 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 224.001 null ] >>
+endobj
+5001 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 213.043 null ] >>
+endobj
+5002 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 182.212 null ] >>
+endobj
+5003 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 171.253 null ] >>
+endobj
+5004 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 160.295 null ] >>
+endobj
+5005 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 149.336 null ] >>
+endobj
+5006 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 138.377 null ] >>
+endobj
+5007 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 127.418 null ] >>
+endobj
+5008 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 116.459 null ] >>
+endobj
+5009 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5010 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5011 0 obj
+<< /D [ 4949 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+4948 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5014 0 obj
+<< /Filter /FlateDecode /Length 2070 >>
+stream
+xڭZMo6W؋n[2P (,ZAzh
+ADJrlޡ(Q󱦷H hr7&΢ኸ~Z]\I:a(1% Ch'@ˉEO_SFՎuq%I!h1e6ڦyY䥚e9;w/2]uӦu.NӭmfE#,[++!ǭ3<7MfM;A^yhmeT=M;_.ɐY282 c꣟m\{lGLU>Mù|_v_#[KDVaVp Ds1I죵E
+,%#h$-y! 裟s"fĮ+[ץd2Y.IІ`mUIί7t&(b<¬/L7|xS 1bҪ;AA7l՝Em澸$̅QPe8;N\ٲ4+
++sTEјjm:b)ZjmgDN#D<*+OWWQxRG_50F$~8 B<jUrsBڻ~Ó +9 A<H{A.KVTј|]ߖF>R Ga+vюJZp$QZdimInߏ1le9C1%üEo2(6GZlC#%{eYh%es7es<uroz7ZVCcV6*6=Vת^>1ZnJkb^d\~nd D"<F4;Bb̬^ Qc\ysei@նͫ ,PlZD%U鶮Zlj~-vUgU6c:$z>EH 9 t"b;7 Q*l7ٿ~+9Q4<Xakt2\I*%S+e",9pAtax! Rjjj@f %a&4nkW<Y]$4n>%THΈ>̴@~{wje0rWVtyxT1^:3lK^ޙj3 f2u}5MD"np?֠i,铔]ۗnw:jOL? ծm:j5`VN]M=TqS.9=?,Sѡ^BzrL>TVzKL{uH%0:.zA澪79#$p‰&agک ,2;3>U?91wG(w?g1$PdFDgG :+Fu~_fuТ;VZpZ6z^$zQ3[#{˃IaL;^ɴ >tX
+endstream
+endobj
+5013 0 obj
+<< /Type /Page /Contents 5014 0 R /Resources 5012 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+5015 0 obj
+<< /D [ 5013 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5016 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5017 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5018 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5019 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5020 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5021 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5022 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5023 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5024 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5025 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5026 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5027 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5028 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+5029 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+5030 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+5031 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 584.523 null ] >>
+endobj
+5032 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 573.564 null ] >>
+endobj
+5033 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 562.605 null ] >>
+endobj
+5034 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 551.646 null ] >>
+endobj
+5035 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 490.957 null ] >>
+endobj
+5036 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 479.998 null ] >>
+endobj
+5037 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 469.039 null ] >>
+endobj
+5038 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 458.08 null ] >>
+endobj
+5039 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 447.121 null ] >>
+endobj
+5040 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 436.162 null ] >>
+endobj
+5041 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 395.315 null ] >>
+endobj
+5042 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 384.357 null ] >>
+endobj
+5043 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 373.398 null ] >>
+endobj
+5044 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 362.439 null ] >>
+endobj
+5045 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 351.48 null ] >>
+endobj
+5046 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 310.633 null ] >>
+endobj
+5047 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 299.674 null ] >>
+endobj
+5048 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 288.715 null ] >>
+endobj
+5049 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 277.756 null ] >>
+endobj
+5050 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 266.797 null ] >>
+endobj
+5051 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 255.839 null ] >>
+endobj
+5052 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 244.88 null ] >>
+endobj
+5053 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 233.921 null ] >>
+endobj
+5054 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 222.962 null ] >>
+endobj
+5012 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5057 0 obj
+<< /Filter /FlateDecode /Length 2419 >>
+stream
+xڭZ]oܺ}ϯX>t ļ>(jhn[>4 k]i#io IQX\JQgΐNVwd˻^xXHY*V7wn$+
+³URtusXk}s..9]w,[?4v⒮Om=6]kjsC-> jknx,yn~&2")vz~zV"L4"!
+z([PnT#DJ2^]U=Cwtsm2O ™LL)Ls3Ih!l,!/B4Fe\|ô/!PMیM/jK|,R*㩳/':::>J ',bp+@uEeMZ0KQFhkԧc״ƮwqJ w^rCm5(g }~ḯ@Kis}n:fgwh:& "ssqsa]orwj?[7a4ڷ/r"ϋ(
+/ԮiR9/hzD
+ݑxA>ғɫȉJ&-XI>8ԔyѿMNe 5ɂ4wyQ+5@GL K7?%&eeL3vQ^)}q)_Z/%lu;u^z
+G^.iJpچ{՚[Pk9Z<Qk )/IH%q1a^' ՛C'ndP?4{gKJsCAV1q &Ff`c,%7-ڠNcRLwn->z:\ʩKhOz4]thӃo`s N_mE7NF]1Xy~o찏owij*i?a<(]IK9M]Q=@ľ~},۴c8Lq-@G'pdEF|ە[3gSeS~+%Igʅ;^M{{5r3V Rd~":1 *iΝo4jSAh&,nnژJ7w
+ГupFw3J|,%n @/H>+rIN K
+F^:riYt̥tE)
+Ҏ{eЙEAҏNs`I9>z+Ub|cm='l*0(@{Zu62r׀Ժtg=<Y^#En0AHE2uj:\쩃0Ë2!=)1 $c4Fj3fAiXӭI$xkk2U]~S XaN͑ǣ9aBit6(Շ4#M[|VDk&iN`" #Q_@>N=k}m{xt^) <vu4[bӌxl+7o'wv9 R-Y:#//b2ߝ˚LFїv޿7KӕHFҳݟ?߼?Й
+endstream
+endobj
+5056 0 obj
+<< /Type /Page /Contents 5057 0 R /Resources 5055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+5058 0 obj
+<< /D [ 5056 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5059 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+5060 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+5061 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+5062 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+5063 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+5064 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+5065 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+5066 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+5067 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+5068 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+5069 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+5070 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+5071 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+5072 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+5073 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+5074 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+5075 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 537.698 null ] >>
+endobj
+5076 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 526.74 null ] >>
+endobj
+5077 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 515.781 null ] >>
+endobj
+5078 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 504.822 null ] >>
+endobj
+5079 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 493.863 null ] >>
+endobj
+5080 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+5081 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+5082 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+5083 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+5084 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+5085 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+5086 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+5087 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+5088 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+5089 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+5090 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+5091 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 282.738 null ] >>
+endobj
+5092 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 271.779 null ] >>
+endobj
+5093 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 260.82 null ] >>
+endobj
+5094 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 249.861 null ] >>
+endobj
+5095 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 238.902 null ] >>
+endobj
+5096 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 227.943 null ] >>
+endobj
+5097 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 187.096 null ] >>
+endobj
+5098 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 176.137 null ] >>
+endobj
+5099 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 165.178 null ] >>
+endobj
+5100 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 154.22 null ] >>
+endobj
+5101 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 143.261 null ] >>
+endobj
+5102 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 102.414 null ] >>
+endobj
+5103 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 91.455 null ] >>
+endobj
+5104 0 obj
+<< /D [ 5056 0 R /XYZ 81.077 80.496 null ] >>
+endobj
+5055 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5107 0 obj
+<< /Filter /FlateDecode /Length 1587 >>
+stream
+xڵZ[OF~WXP0JUYRneyn;m{q2@ K||\\M'xwD?O~\\)pd4a4^;'$I% ’$E)T5=JD##%!p{S0OnҺ>;T>I9+ȻU0\_ yӵh'<#G ѽ<]YXv봹82۰fMլc6<{c ™X$=?.uwyU*~`VT#ceceWYݬeVs8bG#XG<FM%Rqs3Bs_\ eSg猱YX|9<Q' P{ہNuTUsF}Y Ų*ge7\嫛EQC:թg6 n!zk/0GTwKˮm8gխ#FdIEǒdeQg_ Ec(aU1uA#X*:&"'!hbF  Cb&Y]gUe;--
+9udzߖk{'kc-ɁD4j#״-zq X!ef5ID[,>x7חk(]fr.At#+joKi8P0MmW0Ct`tR  AXCtRz0$ڬcW)⃵_Ѝ\vF7P M~fK,{14wCBt\vw9ΨBZEP`b~C$2~N0Cc2gX,MS{>Z{} `S#.5 XWsk0w)BHPAiq Pu!]
+z
+![&-~ʘKDזi+D#4e8!a]Pt:^d-rDKtd ѻZ튥Yu]? ~_Ajo5]^}K$!\ڔ+BS z~eۥ) 1qIX~[pr9n/wtd[ԧOdk0=hCiݡ<21zlagL>VOXя@61WHOjd!z+Yݬ۱l=
+?p[ry[Du,G5V?qtmz?S
+endstream
+endobj
+5106 0 obj
+<< /Type /Page /Contents 5107 0 R /Resources 5105 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+5108 0 obj
+<< /D [ 5106 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5109 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5110 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5111 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5112 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5113 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5114 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5115 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 554.832 null ] >>
+endobj
+5116 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 543.873 null ] >>
+endobj
+5117 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 532.915 null ] >>
+endobj
+5118 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 521.956 null ] >>
+endobj
+5119 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 510.997 null ] >>
+endobj
+5120 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 500.038 null ] >>
+endobj
+5121 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 489.079 null ] >>
+endobj
+5122 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 478.12 null ] >>
+endobj
+5123 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 467.161 null ] >>
+endobj
+5124 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 456.202 null ] >>
+endobj
+5125 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 445.243 null ] >>
+endobj
+5126 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 434.284 null ] >>
+endobj
+5127 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 423.325 null ] >>
+endobj
+5128 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 412.367 null ] >>
+endobj
+5129 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 401.408 null ] >>
+endobj
+5130 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 390.449 null ] >>
+endobj
+5131 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 379.49 null ] >>
+endobj
+5132 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 368.531 null ] >>
+endobj
+5133 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 357.572 null ] >>
+endobj
+5134 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 346.613 null ] >>
+endobj
+5135 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 335.654 null ] >>
+endobj
+5136 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 324.695 null ] >>
+endobj
+5137 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 313.736 null ] >>
+endobj
+5138 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 302.778 null ] >>
+endobj
+5139 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 291.819 null ] >>
+endobj
+5140 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 280.86 null ] >>
+endobj
+5141 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+5142 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+5143 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+5144 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+5145 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+5146 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+5147 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+5148 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+5149 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+5150 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+5151 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+5152 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+5153 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5154 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5155 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5156 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5157 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5158 0 obj
+<< /D [ 5106 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5105 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5161 0 obj
+<< /Filter /FlateDecode /Length 1928 >>
+stream
+xڵZKo8W苳aO deg!(6mkF<I6E:ɏU,ͶhU4>_r :͖+
+%(bEIlg.D˝ҳhx)DBWric⾼LvmEz{>y<+RHI1d|_вaTp';9OLIn9jm(њD8My!o(;Γtkvs!R)t8|OwF2zJwSKc룅姩<:ǝɷ;&ߦY]g0vJK£ح;@CNB;u4^v8LFC.E
+O4Nqꑗ6m9@l-,4n*`m_j+}ؕD(pG_jJv@SToR7vZIq,)KAeٔ_}DZ1W^Ѻt>Āi`hÒ8Np"@r*C Cnr2YU5ZwrM>/^\p
+,=vw6L=:mf"mg09B>/eQJxI&|_kyhPTgHFbdSTㆭ!!8ߗˏ@!b
+%gph*
+fIQ9@Gŋᇳ
+endstream
+endobj
+5160 0 obj
+<< /Type /Page /Contents 5161 0 R /Resources 5159 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+5162 0 obj
+<< /D [ 5160 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5163 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5164 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5165 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5166 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5167 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5168 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5169 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5170 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5171 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5172 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5173 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+5174 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+5175 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+5176 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+5177 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+5178 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+5179 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+5180 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+5181 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+5182 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+5183 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+5184 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+5185 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+5186 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+5187 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+5188 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+5189 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+5190 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+5191 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+5192 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+5193 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+5194 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+5195 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+5196 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+5197 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+5198 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 348.408 null ] >>
+endobj
+5199 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 337.449 null ] >>
+endobj
+5200 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+5201 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 285.644 null ] >>
+endobj
+5202 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 274.685 null ] >>
+endobj
+5203 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 263.726 null ] >>
+endobj
+5204 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 252.767 null ] >>
+endobj
+5205 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 241.808 null ] >>
+endobj
+5206 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 230.849 null ] >>
+endobj
+5207 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 219.89 null ] >>
+endobj
+5208 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 208.931 null ] >>
+endobj
+5209 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 197.972 null ] >>
+endobj
+5210 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 187.014 null ] >>
+endobj
+5211 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 176.055 null ] >>
+endobj
+5212 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 165.096 null ] >>
+endobj
+5213 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 154.137 null ] >>
+endobj
+5214 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 143.178 null ] >>
+endobj
+5215 0 obj
+<< /D [ 5160 0 R /XYZ 81.077 132.219 null ] >>
+endobj
+5159 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5218 0 obj
+<< /Filter /FlateDecode /Length 1875 >>
+stream
+xZMo6ϯF)bP`r
+r"<t)JT=)^BK#>/O^?޿{J#-;xEV JI$)R|L0GTф2!-+2?f߻L4]J&@y>uE([J(@EtaR !h5Ʉ"TBtH%T[r%"/2 Q1JRS10և, U뗢z4!S늺ֶY_|o=x^Xd}ݵ,HlHe؊#FD"i\P=Ӓԫ, D&!޵iM.oa}/(0u,_}h,AD2Q&T/ؙeh -*LeW}VGeQ 774YΆ[zюo}ƫk$kC[b:D'K4۪8]nV6 [e;fơ>mY.o8gC c.Cͧ'GgPOpt.+Tà^QwQeNZ0z `7:`|/sKͮ$MzOсLa,=)GjIY_D'`hSqhC RvZ_~yk2(׸f<@V
+Nm{ˈ?MI5eʈDZ~-1oH Sbl͒P )GPA$Hę0SUcVX6TEȪ9YCaЭY s
+0siN Z}h<Ji::-P(^DO
+L>){I>B/к*_71c9I kN"vr*sH~., H$ě޾t ?n=MQ]9n/T؇n`<m3_<%a eH2waC-E=707oeϙ\ "uOzp
++w掫_ٌ6fߦd;ͬ@kSw%oȚ"52d
+|{U7=!(vRq'S4JEa>+ 4
+endstream
+endobj
+5217 0 obj
+<< /Type /Page /Contents 5218 0 R /Resources 5216 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+endobj
+5219 0 obj
+<< /D [ 5217 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5220 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 656.924 null ] >>
+endobj
+5221 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 645.965 null ] >>
+endobj
+5222 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 617.33 null ] >>
+endobj
+5223 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 588.695 null ] >>
+endobj
+5224 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 577.736 null ] >>
+endobj
+5225 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 566.777 null ] >>
+endobj
+5226 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 555.818 null ] >>
+endobj
+5227 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 527.183 null ] >>
+endobj
+5228 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 516.224 null ] >>
+endobj
+5229 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 505.265 null ] >>
+endobj
+5230 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 494.306 null ] >>
+endobj
+5231 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 483.347 null ] >>
+endobj
+5232 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 472.388 null ] >>
+endobj
+5233 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 461.429 null ] >>
+endobj
+5234 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 450.47 null ] >>
+endobj
+5235 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 439.512 null ] >>
+endobj
+5236 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 428.553 null ] >>
+endobj
+5237 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 417.594 null ] >>
+endobj
+5238 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 388.959 null ] >>
+endobj
+5239 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 378 null ] >>
+endobj
+5240 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 367.041 null ] >>
+endobj
+5241 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 356.082 null ] >>
+endobj
+5242 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 345.123 null ] >>
+endobj
+5243 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 334.164 null ] >>
+endobj
+5244 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 323.205 null ] >>
+endobj
+5245 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 294.57 null ] >>
+endobj
+5246 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 283.611 null ] >>
+endobj
+5247 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 272.652 null ] >>
+endobj
+5248 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 261.693 null ] >>
+endobj
+5249 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 250.734 null ] >>
+endobj
+5250 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 239.775 null ] >>
+endobj
+5251 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 228.816 null ] >>
+endobj
+5252 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 217.858 null ] >>
+endobj
+5253 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+5254 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+5255 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+5256 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+5257 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5258 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5259 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5260 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5261 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5262 0 obj
+<< /D [ 5217 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5216 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5265 0 obj
+<< /Filter /FlateDecode /Length 2035 >>
+stream
+xڽZMo8W $lK f&ܶ"ӱfd+ɝd߷(R4v'bg.Mb**q,~J'mF S^a,"OQEbxq_{xFVm*9iJs !zߒdyt4DnXL
+(GpV$[>]n(%'C6]݋m(AvvNvvξTsܷ]ɖjki /((KKR#PU(&<(޾EC@X@߶73[#r"6o'@^OޮoW7)>~,)A'N'Ey/S!N9"zA`9exqhr2TJr(u TJuvj_mSݺ5<Z ;ӌiN<Nq5]ݝyݳ߼37)b8u(_ 9<cq;=MNG)T8I>@ga.%
+(RaqAi`a UITLP{硓{[ٛ4jT/7huXP @m:i9\;&ڎqQ[.8(:c`
+[@bw:T~9Eu앳(
+g 2GRLֆO%)B|)'
+_W
+::B"Q1@Eb:^v]/j
+M]1&Cc/G)Ll<6?]7rM#Oy!a1{&e9lٺ87
+ i2.
+9CNU_8tjKzH쫟}d˟h
+S FਸO" 2'D
+.I,*g .\G} pH
+l
+P[C==lG<=&o1 Ρku/ !4"\Jݕ0Y΅=a~|;Վ0^<xeG>ٽOAڕy)!q4h qFAU`pmBVuQE~-o\AG:NfV*SMpcFzy'K\GkM(#Ѫ@q=Vɢ
+N]*_P;["!yb =<]k
+endstream
+endobj
+5264 0 obj
+<< /Type /Page /Contents 5265 0 R /Resources 5263 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5266 0 obj
+<< /D [ 5264 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5267 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5268 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5269 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 728.981 null ] >>
+endobj
+5270 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 718.022 null ] >>
+endobj
+5271 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 707.063 null ] >>
+endobj
+5272 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+5273 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+5274 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+5275 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+5276 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+5277 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+5278 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+5279 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+5280 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 578.545 null ] >>
+endobj
+5281 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 567.586 null ] >>
+endobj
+5282 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+5283 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+5284 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+5285 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+5286 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+5287 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+5288 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+5289 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+5290 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+5291 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+5292 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+5293 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+5294 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+5295 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 328.566 null ] >>
+endobj
+5296 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 317.607 null ] >>
+endobj
+5297 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 306.648 null ] >>
+endobj
+5298 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 295.689 null ] >>
+endobj
+5299 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 284.73 null ] >>
+endobj
+5300 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 273.771 null ] >>
+endobj
+5301 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 232.924 null ] >>
+endobj
+5302 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 221.966 null ] >>
+endobj
+5303 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 211.007 null ] >>
+endobj
+5304 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 200.048 null ] >>
+endobj
+5305 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 189.089 null ] >>
+endobj
+5306 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 178.13 null ] >>
+endobj
+5307 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 167.171 null ] >>
+endobj
+5308 0 obj
+<< /D [ 5264 0 R /XYZ 81.077 156.212 null ] >>
+endobj
+5263 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5312 0 obj
+<< /Filter /FlateDecode /Length 2139 >>
+stream
+xڭZ[o6~_a`^n]A
+)I%_m? P -2Idq_g|߻yh)rW4O.f7<!N#"Hh[@b}
+O>*:k2LPN{DJ|H>4( LȒ@Ѐ.؂#FCx.$B Q'. mBEKKǛ HkZ?Omu7ۧZP1u(wci⟛VɄ3hN<cqcJHE4PlmQT61G\TILkS3.c0"t)18t*pmwSh7^*j64G OJ
+!Fdr$Eq)ߓ I![t;{tŶmEYv,t͡C]o~sМTwCnf>3OY9G+ϓ%I=B'K1$ <XGH*oNHc %0(vvlMha{LZoYL;5󖕦YZyc릅O?U2Чa*gK}u͈X>W4[~꾭WӬ7t}FO`δeUGAa_<h}.[7s7]ntrh@pV2< zS<
+j5u3Yp-
+endstream
+endobj
+5311 0 obj
+<< /Type /Page /Contents 5312 0 R /Resources 5310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5313 0 obj
+<< /D [ 5311 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5314 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 691.01 null ] >>
+endobj
+5315 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 680.051 null ] >>
+endobj
+5316 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 669.093 null ] >>
+endobj
+5317 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 658.134 null ] >>
+endobj
+5318 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 647.175 null ] >>
+endobj
+5319 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 636.216 null ] >>
+endobj
+5320 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 625.257 null ] >>
+endobj
+5321 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 614.298 null ] >>
+endobj
+5322 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 603.339 null ] >>
+endobj
+5323 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 592.38 null ] >>
+endobj
+5324 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 581.421 null ] >>
+endobj
+5325 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 570.462 null ] >>
+endobj
+5326 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 559.504 null ] >>
+endobj
+5327 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 548.545 null ] >>
+endobj
+5328 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 505.97 null ] >>
+endobj
+5329 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 495.011 null ] >>
+endobj
+5330 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 484.052 null ] >>
+endobj
+5331 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 455.338 null ] >>
+endobj
+5332 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 402.712 null ] >>
+endobj
+5333 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 391.753 null ] >>
+endobj
+5334 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 380.794 null ] >>
+endobj
+5335 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 369.836 null ] >>
+endobj
+5336 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 358.877 null ] >>
+endobj
+5337 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 347.918 null ] >>
+endobj
+5338 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 307.248 null ] >>
+endobj
+5339 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 296.289 null ] >>
+endobj
+5340 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 285.33 null ] >>
+endobj
+5341 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 274.371 null ] >>
+endobj
+5342 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 263.412 null ] >>
+endobj
+5343 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 252.453 null ] >>
+endobj
+5344 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 241.494 null ] >>
+endobj
+5345 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 230.535 null ] >>
+endobj
+5346 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 219.576 null ] >>
+endobj
+5347 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 208.617 null ] >>
+endobj
+5348 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 197.659 null ] >>
+endobj
+5349 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5350 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5351 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5352 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5353 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5354 0 obj
+<< /D [ 5311 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5310 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F23 660 0 R /F27 4533 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5357 0 obj
+<< /Filter /FlateDecode /Length 1544 >>
+stream
+xڭYˎ6Wn3& 
+4E tV5eY2$97HWMWIIE,vn^vfULj{Ca љVDV_CeU!+uZ}RlچSh3YIK7=̹>VUZM7>dUYwsV'k2YgvIX)&}{x~s>ߖUs,&O ]/gM?ScSg6վx
+tqSK|4ڊ`ac/zcQViAAJ`5t#g<$Ti]='!ʸ( N>T=Jmq[@ b]-Qz"A1RD+Z @_(qT.c eNy
+U󙢻k?WB@j5.@A' BlF[h
+endstream
+endobj
+5356 0 obj
+<< /Type /Page /Contents 5357 0 R /Resources 5355 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5358 0 obj
+<< /D [ 5356 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5359 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+5360 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+5361 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+5362 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+5363 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 699.093 null ] >>
+endobj
+5364 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 688.134 null ] >>
+endobj
+5365 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 677.175 null ] >>
+endobj
+5366 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 666.217 null ] >>
+endobj
+5367 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+5368 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+5369 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+5370 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+5371 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+5372 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+5373 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+5374 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+5375 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+5376 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+5377 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+5378 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+5379 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+5380 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+5381 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+5382 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+5383 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+5384 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+5385 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+5386 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+5387 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+5388 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+5389 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+5390 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+5391 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+5392 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+5393 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+5394 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+5395 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+5396 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+5397 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+5398 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+5399 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+5400 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+5401 0 obj
+<< /D [ 5356 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+73 0 obj
+<< /D [ 5356 0 R /XYZ 79.37 102.779 null ] >>
+endobj
+5355 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5404 0 obj
+<< /Filter /FlateDecode /Length 1945 >>
+stream
+xڭYn6+ tQH8|
+4EE.:ز#,L&ȿRt&RHuν4gx{t{ZqAg3xFfR#&g2QK2uoIA}~~gv΋iݢ-Lո˲?Z1m/{YTG>}G?48F SFk532LzJl6Yx_ XORcj)_@)ARͽٕK'k`fӕd 2 "v2urjht~9l]Y5WRle(|}Vw:r6Wj˙P*Ro, }4,I¢|IhL&+M&@dN&%5z*
+QKi<m˱¶hZ-zk%zLp&AAAMol$,\c$8I
+Q`m-|ذKT|Ր$Jȸϣ=
+?:֏1:Zp
+$@\HwM5_q3I#iHբ6Ş冷n/wu]rr_d;8HQ(
+FH-d2
+?~uɖ:st )8~hxJ84J*@w0VbY8G
+ 3)=2}
+`L43B?<]߇'xO/}E4$jc4CKx&SRtH~EZIPbĠH؟eY
+endstream
+endobj
+5403 0 obj
+<< /Type /Page /Contents 5404 0 R /Resources 5402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5405 0 obj
+<< /D [ 5403 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5406 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 575.085 null ] >>
+endobj
+5407 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 564.127 null ] >>
+endobj
+5408 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 553.168 null ] >>
+endobj
+5409 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 542.209 null ] >>
+endobj
+5410 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 531.25 null ] >>
+endobj
+5411 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 520.291 null ] >>
+endobj
+5412 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 509.332 null ] >>
+endobj
+5413 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 498.373 null ] >>
+endobj
+5414 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 487.414 null ] >>
+endobj
+5415 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 476.455 null ] >>
+endobj
+5416 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 427.884 null ] >>
+endobj
+5417 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 416.925 null ] >>
+endobj
+5418 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 405.966 null ] >>
+endobj
+5419 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 395.007 null ] >>
+endobj
+5420 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 384.048 null ] >>
+endobj
+5421 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 373.089 null ] >>
+endobj
+5422 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 317.446 null ] >>
+endobj
+5423 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 306.487 null ] >>
+endobj
+5424 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 295.528 null ] >>
+endobj
+5425 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 284.569 null ] >>
+endobj
+5426 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 273.61 null ] >>
+endobj
+5427 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 262.651 null ] >>
+endobj
+5428 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 251.692 null ] >>
+endobj
+5429 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 240.733 null ] >>
+endobj
+5430 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 229.775 null ] >>
+endobj
+5431 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+5432 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+5433 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+5434 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+5435 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5436 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5437 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5438 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5439 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5440 0 obj
+<< /D [ 5403 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5402 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F73 189 0 R /F69 183 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5443 0 obj
+<< /Filter /FlateDecode /Length 2492 >>
+stream
+xڵZ[۸~ϯ0
+4I] %$g2 "E6'<nx.<<i[/xE_|ke)atq}@# T"IBI$mc}z-E2)Y:{jT$/m73UN!0"z=xstY׺[0Zr _(*,M,C38OYtF˦)")y9LYMΓ`pDTJ/;=GbXyT 10;@ˆ2?'<LnYmzuqf[O&I]y]m,-W5<yN,9uW<<f>8sezME*2@'@ϋ%K Ƨ6}cժ7zhǒmCZq)>$
+$Bݫnݴ/m
+(O 8┆֚]~+kn 63LîLaX0PES?4&c. >^t17Dں 0]DĐKzzմy_iz|($FiUB@,̭0׃])O\G' 0SRyhbЀA]P5t}79QqX,s\4$H6 ˆ{8C,#)9K40}gå1Z|l+g64E;B%g
+X6pm]6L:MAc.~B7<ŏb$D,?1K՛iYߋ%CVg=*M?QNP!Q0@)3B~f!
+̚@Q$hs;+/4(/Mm/4ڤ=KqqfaМ?G6DUT(H;|8·;%}S|
+zP&V|z,*1袕sSܧG3:NMoncW Tz~]̒b<g3x9Yj}"ɫHGhF2$@B-oA05U:*۶uFֿp&qŠiMaT67:Ndcnp#<0};m;Xy199CbD6¶`Z{/ +5WX ,cnp:j"S~EC7j6E[cf-[q5z4x}O|>\2^9ez_7FU%]Svuw)q,cջXL
+{ dT b%(j>{,~snO|e\"=wFc粼&iJ'ō}Z(ůc%f9drUd7M[~n>.FW=
+&QS=@PGk`Q>[8=`vn'GU¡n
+o+{A]Pp|gJ|sQk"΢9zbEmy^8E~=2Π ;cqϴ gIWrEA%_Y0GˆGqG:^=,*U!DԛmpU9" Ē)Z(/Srͷ[]<eUsC1y_T!( H)Fsn"ho]88>Z)O֫
+p_l$P$vW]AOL'+sH7ܚ0&7y^Ǿe(H4ҭªrj{&l}q\پL+rdIۦiI[wn
+endstream
+endobj
+5442 0 obj
+<< /Type /Page /Contents 5443 0 R /Resources 5441 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5444 0 obj
+<< /D [ 5442 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5445 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5446 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5447 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5448 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5449 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5450 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5451 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5452 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 675.765 null ] >>
+endobj
+5453 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 664.806 null ] >>
+endobj
+5454 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 582.674 null ] >>
+endobj
+5455 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 571.716 null ] >>
+endobj
+5456 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 560.757 null ] >>
+endobj
+5457 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 549.798 null ] >>
+endobj
+5458 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 538.839 null ] >>
+endobj
+5459 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 527.88 null ] >>
+endobj
+5460 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 516.921 null ] >>
+endobj
+5461 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 505.962 null ] >>
+endobj
+5462 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 495.003 null ] >>
+endobj
+5463 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 484.044 null ] >>
+endobj
+5464 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 473.085 null ] >>
+endobj
+5465 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 462.127 null ] >>
+endobj
+5466 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 451.168 null ] >>
+endobj
+5467 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 387.431 null ] >>
+endobj
+5468 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 376.472 null ] >>
+endobj
+5469 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 365.513 null ] >>
+endobj
+5470 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 354.554 null ] >>
+endobj
+5471 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 343.595 null ] >>
+endobj
+5472 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 315.724 null ] >>
+endobj
+5473 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 304.765 null ] >>
+endobj
+5474 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 293.806 null ] >>
+endobj
+5475 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 282.847 null ] >>
+endobj
+5476 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 271.888 null ] >>
+endobj
+5477 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 260.929 null ] >>
+endobj
+5478 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 249.97 null ] >>
+endobj
+5479 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 239.011 null ] >>
+endobj
+5480 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 228.053 null ] >>
+endobj
+5481 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 217.094 null ] >>
+endobj
+5482 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 206.135 null ] >>
+endobj
+5483 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 195.176 null ] >>
+endobj
+5484 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 184.217 null ] >>
+endobj
+5485 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 173.258 null ] >>
+endobj
+5486 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5487 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5488 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5489 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5490 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5491 0 obj
+<< /D [ 5442 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5441 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5494 0 obj
+<< /Filter /FlateDecode /Length 1926 >>
+stream
+xZ[o~ϯpxi;mawjb-2<(d>%b$~<9Q͂.~(7t}.X_a0.hY5#T~k&sC5 C`F,Ƅ|苦z*vj{l?|*M?ͺź`ZW^vyE <ggRв%L _&SlE_ ^b?<B0#9q9Q2E rlylK<JmuSuTu pbˡƯidn&~Df7!Va^aVAF);2t+]5K}onJYWm$]r.MEG1MpY4'RCř%FW+Fd"x#Ϋ%Lc!Z#_ws-²8ebw^f![\Ix9"Dt+q_w_0 x5QyVl"93A6.A$ K'$?&~ԫ l N}VkRy Ѿ$#P}wW\~ g]faidC>۰t%@Go{5<(kK7^irB KF{5a :ޢ jXjEq87_H% g<Pu+ w
+Őpu G>F7RpmN4ט&(aNbt0
+BUU|.lҔ7$3AS.\BZsKDN(tC߃ )<9aL+*TMJRKZK{j-F&{~͏Ҁܺۑ @x {}Sv*
+]Durc91qw=7rvY#wI`Мr M/?~b`t'$% 15 Ye/PmfucqmW _uۜ,N*P=bt{cW5a;'ц@Jۂk܁WpJnM&&4"W/Q,kk6m,t7) Nx8O%_o_/6]{GKUHA|< v45nέ%& WQ9CZ뫗)C`6R/F3^G.a#5\kb0waa(&4 c1D)xZWva̘!4
+RC/,tN`x! աj9'=J0240CBgkٚ8:1NX0djB hPh3g>֡Οu| k2K ߓ W9waxdF"|<2%M Sȹ Pg}U{?'jݘ幚  %z玖~"eKrwsZm'%SDTw4!H&T>䪮k=bV5z]pHb5Ǥs7CݳoWv74YYWQ1cьߺr-u+Cٻ0qC9}ӼIΓv8 /cS} WqB޴C'X:-=GӸzn uh;a+R J# waϻS)?ji޾Q,rI)&;wΜ8B1\:]ʮZ5w*th_~H@>`tqф_AA rJMUS
+}#*o`:;; kB^fSd/o׍D
+endstream
+endobj
+5493 0 obj
+<< /Type /Page /Contents 5494 0 R /Resources 5492 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5495 0 obj
+<< /D [ 5493 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5496 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5497 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5498 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5499 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5500 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5501 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5502 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5503 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5504 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5505 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5506 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5507 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5508 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+5509 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+5510 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+5511 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+5512 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+5513 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+5514 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+5515 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+5516 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+5517 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+5518 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+5519 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+5520 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+5521 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+5522 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+5523 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+5524 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+5525 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+5526 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+5527 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 424.311 null ] >>
+endobj
+5528 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 370.169 null ] >>
+endobj
+5529 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 359.21 null ] >>
+endobj
+5530 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 348.251 null ] >>
+endobj
+5531 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 307.591 null ] >>
+endobj
+5532 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 296.632 null ] >>
+endobj
+5533 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 285.673 null ] >>
+endobj
+5534 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 274.714 null ] >>
+endobj
+5535 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 263.756 null ] >>
+endobj
+5536 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 252.797 null ] >>
+endobj
+5537 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 241.838 null ] >>
+endobj
+5538 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 230.879 null ] >>
+endobj
+5539 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 219.92 null ] >>
+endobj
+5540 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 208.961 null ] >>
+endobj
+5541 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 198.002 null ] >>
+endobj
+5542 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 187.043 null ] >>
+endobj
+5543 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 176.084 null ] >>
+endobj
+5544 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5545 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5546 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5547 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5492 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5550 0 obj
+<< /Filter /FlateDecode /Length 1631 >>
+stream
+xZnH+t&NOAq0sɷɀ-!@EquYV |$_WޫvnFg.+#f8].436hffF3B5]g&
+>+f8) Ib+r[SbџwM}IjyNDHtHDDnLceuN ©(ܚLѱ'\J["BqH[*כ1\~ /ݻn)][vo;2­Y\S42ePv}wF.2Aܡh֖Hjw%ŞM^nmUˬYºmLˢt!R:;-?`5UύdDD>X fYۺڶn [g_2q):|ގs]gM!4uz^~LX6EO 3IJ[ x W SDwtL9Cs>_!jMrs=o2WCލ-Ǡ
+aSqMU;ɛaz!p~g;
+bwJ FnxOMpb=JpN'zMeUSf'LxIxhEO Ȇ'
+D8FtMCiAQ\S⠒o?MW5Y2CW1\S 52oIm)-GiB7JbGIRɛs ySE- B#5T7(@y- O}Lu7'u >Tjy|L'gM?n A5mR7ˢ|;<e>}/ ӣ{tWc#Ã^LCAFj*A۝̠띍Ap
+z'O9["X`*FhHPp?ѝM`y?-fR -n`;#O2EN)JQ4E}xܜ51`O3L!6*/=_Zp4 (}8oOCw5ΨE*)뾰7ϺӶ/5QKKݟC+>ap r/Dyl@Ƚ~‚G"pǓJ+ t;{
+<ę1_Ji
+endstream
+endobj
+5549 0 obj
+<< /Type /Page /Contents 5550 0 R /Resources 5548 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5551 0 obj
+<< /D [ 5549 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5552 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5553 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5554 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 741.933 null ] >>
+endobj
+5555 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+5556 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+5557 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+5558 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+5559 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+5560 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+5561 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+5562 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+5563 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+5564 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+5565 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 591.497 null ] >>
+endobj
+5566 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 580.538 null ] >>
+endobj
+5567 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 569.579 null ] >>
+endobj
+5568 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 558.62 null ] >>
+endobj
+5569 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+5570 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+5571 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 525.743 null ] >>
+endobj
+5572 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+5573 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+5574 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 492.867 null ] >>
+endobj
+5575 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+5576 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+5577 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+5578 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+5579 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+5580 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+5581 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+5582 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+5583 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+5584 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+5585 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+5586 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+5587 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+5588 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+5589 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+5590 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+5591 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+5592 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+5593 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+5594 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+5595 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+5596 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+5597 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+5598 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+5599 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+5600 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+5601 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+5602 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+5603 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+5604 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+5605 0 obj
+<< /D [ 5549 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+5548 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5608 0 obj
+<< /Filter /FlateDecode /Length 1459 >>
+stream
+xZMo6WY@@{ʭ[-'BeɵAK9th/q`i7f&f_ǫN4Jήg?$f8,j5;}6<kO(8rgTnuQMVm۾;7lşզCὦVr6pB5F
+I4**
+RC .a AIC/]m2r[v/)5)fgB<c? *PPi
+h~l!A9<eX'Cɩ[zK p}x;Cc{6cO2^6~R?ֈQT/go˨Gy/TϚ)xǧj" XD<58qHOy3.P'Arf'3Hp􋉠yn95+)V$it<!hKN/fa#FAZ@ ]tuɪL
+endstream
+endobj
+5607 0 obj
+<< /Type /Page /Contents 5608 0 R /Resources 5606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5609 0 obj
+<< /D [ 5607 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5610 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5611 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5612 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5613 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5614 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5615 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5616 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5617 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5618 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5619 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5620 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 637.541 null ] >>
+endobj
+5621 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 626.582 null ] >>
+endobj
+5622 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 615.623 null ] >>
+endobj
+5623 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 604.664 null ] >>
+endobj
+5624 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 593.705 null ] >>
+endobj
+5625 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 582.747 null ] >>
+endobj
+5626 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 571.788 null ] >>
+endobj
+5627 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 560.829 null ] >>
+endobj
+5628 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 549.87 null ] >>
+endobj
+5629 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 538.911 null ] >>
+endobj
+5630 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 527.952 null ] >>
+endobj
+5631 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 516.993 null ] >>
+endobj
+5632 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 506.034 null ] >>
+endobj
+5633 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 495.075 null ] >>
+endobj
+5634 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 484.116 null ] >>
+endobj
+5635 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 473.157 null ] >>
+endobj
+5636 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 462.199 null ] >>
+endobj
+5637 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 451.24 null ] >>
+endobj
+5638 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 440.281 null ] >>
+endobj
+5639 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 429.322 null ] >>
+endobj
+5640 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 418.363 null ] >>
+endobj
+5641 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 407.404 null ] >>
+endobj
+5642 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 396.445 null ] >>
+endobj
+5643 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 385.486 null ] >>
+endobj
+5644 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 374.527 null ] >>
+endobj
+5645 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 363.568 null ] >>
+endobj
+5646 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 352.61 null ] >>
+endobj
+5647 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 341.651 null ] >>
+endobj
+5648 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 330.692 null ] >>
+endobj
+5649 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 319.733 null ] >>
+endobj
+5650 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 308.774 null ] >>
+endobj
+5651 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+5652 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+5653 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+5654 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+5655 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+5656 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+5657 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+5658 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+5659 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+5660 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+5661 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+5662 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+5663 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+5664 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+5665 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+5666 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5667 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5668 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5669 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5670 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5671 0 obj
+<< /D [ 5607 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5606 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5674 0 obj
+<< /Filter /FlateDecode /Length 2335 >>
+stream
+xڵZ]s}P}Xj5|Ϩ*U{TON^r
+#$E@Zq
+C ϔ@˙nvΙfj񯛿ڱ>}z1 `@AGe\TEۦaFyg{~Z,9op(.`?ޅ0ev2jkֻ7:%"['eNR g.v ڦ&h& MquuX~>}6BsDie^ArO޶Cik_h[#tOX'^HӵJ&ʷYF
+AVָsh=ʋI{1b
+W~ތ`B
+R\GU4Q;2LG*w,Y+pS" V6EU0B\[5J4*8At:l-0ߒۣ@"AF
+m<*-y<|y#\QZKNq#yA{3K2ceA
+,
+?voz8'H1O #h
+UmEAߴWMd| .k0dN^#
+=~@ayǮԈз8NŒJ>.u+ZP<dYtkJ6Ovst'yrߝ`=|gɼ[7>}zf^vq¡PܘQу/
+18kB+1H^P?Aw!MBQPx>k1h:9qiu4],N54 rMqҳB.Q1.Îs
+32šγ C2/L}<G#Jv戡ڪ\z4`78oNkmgnR8cUEϧIM)27U/[N`< y<P8 @Y-YFpU=t/OdKcHFS  Uz2*AyE+z~C#ľnin@/Uwכ.^92Ǘhq!QL3eYZ7T:QS3O<x~ btwQ˲E+G(0
+-#XE ~_p4"K0rIIBDO ]aX*)@Cm-[9Fܰ_ɾI:)Gݦ4)-,oM ゞR񨋹+o7a\U˅6E4
+ &SA@) (Uݡ(Ol͏*((#y:vUG^* .389,TK࠽uǰ,vt>Yu҄yQF'KQ$6K bs5c:vBrCਇuo3F;q&>WP/
+dj.}>,I\9wp|h."~r,?âl"';6cyAJUv)<Fke2Ͻ}/܁6s)ֆNQҹ^[#B7f;IUvx?_
+5H?vyTUQ&E(ߤUT~ F
+hA/$0NMiPZ:;~F8Ow_Yрlthd/
+endstream
+endobj
+5673 0 obj
+<< /Type /Page /Contents 5674 0 R /Resources 5672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5675 0 obj
+<< /D [ 5673 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5676 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5677 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5678 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5679 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5680 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5681 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5682 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5683 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5684 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5685 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5686 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5687 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5688 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+5689 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+5690 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+5691 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+5692 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+5693 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+5694 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+5695 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+5696 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+5697 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+5698 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+77 0 obj
+<< /D [ 5673 0 R /XYZ 79.37 502.281 null ] >>
+endobj
+5699 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 327.642 null ] >>
+endobj
+5700 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 316.683 null ] >>
+endobj
+5701 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 305.724 null ] >>
+endobj
+5702 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 294.766 null ] >>
+endobj
+5703 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 283.807 null ] >>
+endobj
+5704 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 272.848 null ] >>
+endobj
+5705 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 261.889 null ] >>
+endobj
+5706 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 250.93 null ] >>
+endobj
+5707 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 239.971 null ] >>
+endobj
+5708 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 229.012 null ] >>
+endobj
+5709 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 218.053 null ] >>
+endobj
+5710 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 207.094 null ] >>
+endobj
+5711 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 196.135 null ] >>
+endobj
+5712 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 185.176 null ] >>
+endobj
+5713 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 174.218 null ] >>
+endobj
+5714 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 163.259 null ] >>
+endobj
+5715 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 152.3 null ] >>
+endobj
+5716 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 141.341 null ] >>
+endobj
+5717 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 130.382 null ] >>
+endobj
+5718 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 119.423 null ] >>
+endobj
+5719 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 108.464 null ] >>
+endobj
+5720 0 obj
+<< /D [ 5673 0 R /XYZ 81.077 97.505 null ] >>
+endobj
+5672 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5723 0 obj
+<< /Filter /FlateDecode /Length 1475 >>
+stream
+xZn6}Wؗ2 o
+
+\Yɪ+K4o/ex
+WB4~mʯF 6\;OQy_ci E*j 5TyT)+u7X$iWG,i$x,"?u$bdig]{r<&iVÎA>\E&`Z_C݋ R8Y!|g?!z
+N>L{>)* pP8]E1NP`=7(eNtRHXܱK!qʉ28-:jO
+endstream
+endobj
+5722 0 obj
+<< /Type /Page /Contents 5723 0 R /Resources 5721 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+endobj
+5724 0 obj
+<< /D [ 5722 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5725 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5726 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5727 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5728 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5729 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5730 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5731 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5732 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5733 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5734 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5735 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5736 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5737 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+5738 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+5739 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+5740 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+5741 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+5742 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+5743 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 549.762 null ] >>
+endobj
+5744 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 538.803 null ] >>
+endobj
+5745 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 527.844 null ] >>
+endobj
+5746 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 516.885 null ] >>
+endobj
+5747 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 505.926 null ] >>
+endobj
+5748 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 494.967 null ] >>
+endobj
+5749 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 484.008 null ] >>
+endobj
+5750 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 473.049 null ] >>
+endobj
+5751 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 462.09 null ] >>
+endobj
+5752 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 451.132 null ] >>
+endobj
+5753 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 440.173 null ] >>
+endobj
+5754 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 429.214 null ] >>
+endobj
+5755 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 418.255 null ] >>
+endobj
+5756 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 407.296 null ] >>
+endobj
+5757 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 396.337 null ] >>
+endobj
+5758 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 385.378 null ] >>
+endobj
+5759 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 374.419 null ] >>
+endobj
+5760 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 363.46 null ] >>
+endobj
+5761 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 330.692 null ] >>
+endobj
+5762 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 319.733 null ] >>
+endobj
+5763 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 308.774 null ] >>
+endobj
+5764 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+5765 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+5766 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+5767 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+5768 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+5769 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+5770 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+5771 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+5772 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+5773 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+5774 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+5775 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+5776 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+5777 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+5778 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+5779 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5780 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5781 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5782 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5783 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5784 0 obj
+<< /D [ 5722 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5721 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5787 0 obj
+<< /Filter /FlateDecode /Length 2143 >>
+stream
+xڵZKoFϯ ! d8B@AK-kԒ8c۷ZlYŤD~Ud<O?}ç&M,'d%DM$K2Yl&
+,_>H3HLAwe'mJP>O>Nf<'K{k {
+^X>RX@ EMJŸ)F̱>%۪l첱8 LjU6uX"FRYh~ Yy&ʢ¾9ɺ//:H#렢,\mV<H{kncrIMܗ_.&uQ_V q0~oY"+dv^7,?g(EqoIKpQA'ɸn"@ٕnV(- kFIi$ iG~*R4G 4I̼,YF/yCtb9]υ/HOrd
+!:,B !w,
+
+1=B_Pϸ,G,-u>Ct EP21de
+m=D)'0;!ڝ}G8>li6U{SwKQ>+bV3,Lu<o]*تJ6b1^š9 G]Vp\ws<mç,xV܆oKUAkUq0DG͍FDT! {kC(}7G>Z<[?'m qI˕DDRTA>ESn^[ԻnT(U^K;.d
+=ަK;??\#1Y%x5Y(f~-C+LKBBlVS 90 V pOx؀ўk::RzޭG2>^
+?R -?Md>FnX@j()hlj _,6^O]w
+ͮa_gM{iQ9}p'G@0;aV,I yiһ]VMO]t=";f[/Y;
+e&ԕg="N&?8H#ݣ81&q_ IO.Aoo_CvBA\AAs-7bH=y
+ t֡M+c7;OlOCs#pSsbNIyɩQhf!6q+}>Ud(`lgR1" SO:QXQKF}V'>6&5 O
+agXT451agx
+` :.8@{_pyQ,nbCi?B0q4Fl|Ulū_/Aۡ%<FvJ hv #-LBGr| ֻE6 ?.>P
+endstream
+endobj
+5786 0 obj
+<< /Type /Page /Contents 5787 0 R /Resources 5785 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+5788 0 obj
+<< /D [ 5786 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5789 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5790 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5791 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 725.046 null ] >>
+endobj
+5792 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 714.087 null ] >>
+endobj
+5793 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 703.128 null ] >>
+endobj
+5794 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 692.169 null ] >>
+endobj
+5795 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 681.21 null ] >>
+endobj
+5796 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 670.251 null ] >>
+endobj
+5797 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 659.292 null ] >>
+endobj
+5798 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 648.333 null ] >>
+endobj
+5799 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 637.374 null ] >>
+endobj
+5800 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 626.415 null ] >>
+endobj
+5801 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 615.456 null ] >>
+endobj
+5802 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 604.498 null ] >>
+endobj
+5803 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 593.539 null ] >>
+endobj
+5804 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 582.58 null ] >>
+endobj
+5805 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 571.621 null ] >>
+endobj
+5806 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 560.662 null ] >>
+endobj
+5807 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 549.703 null ] >>
+endobj
+5808 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 538.744 null ] >>
+endobj
+5809 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 527.785 null ] >>
+endobj
+5810 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 516.826 null ] >>
+endobj
+5811 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 505.867 null ] >>
+endobj
+5812 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 494.909 null ] >>
+endobj
+5813 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 483.95 null ] >>
+endobj
+5814 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 472.991 null ] >>
+endobj
+5815 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 462.032 null ] >>
+endobj
+5816 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 451.073 null ] >>
+endobj
+5817 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 396.322 null ] >>
+endobj
+5818 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 385.363 null ] >>
+endobj
+5819 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 374.404 null ] >>
+endobj
+5820 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 363.445 null ] >>
+endobj
+5821 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 352.486 null ] >>
+endobj
+5822 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 341.527 null ] >>
+endobj
+5823 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 300.717 null ] >>
+endobj
+5824 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 289.758 null ] >>
+endobj
+5825 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 278.8 null ] >>
+endobj
+5826 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 267.841 null ] >>
+endobj
+5827 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 256.882 null ] >>
+endobj
+5828 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 204.117 null ] >>
+endobj
+5829 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5830 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5831 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5832 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5833 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5834 0 obj
+<< /D [ 5786 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5785 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5838 0 obj
+<< /Filter /FlateDecode /Length 1955 >>
+stream
+xZ]o6}ϯp1f8hM>"hvv Vlumɵ`>(Rq_E_,=$ﹼ4-GtDo7oIb&CtF&ьPFכѿNJZ{^i;JZ$! K?0!or=o'7q9{nVn6v=ؘ
+>UQ(o2JO*11mz̤iUBMbsn]M项)jjOK D~(mh.Ε"p#~pm9Mt=dzs FC殭"]Za+I޶էYMT
+ȵ'5'R0߁ׁⵧ#Q1D 1(;13F~{kB%qE p.HnrIEI)
+KՀDo8,T"[Zíf,wG:L
+B9,ssq6OY'*mEPn,Ff$ƥt רּ&jV3iƧ~6p=W)L *C4ǍAoUֲtaE߽/ UOx.H#p*u7]i]|`
+Èwtʲ_59@͋QM(W!41=&QJb-cTɍNLe1u`U-a ]de&[Ţԅ)2@Z5qTl hyV"՛>1@b>fEMw賬u-l>֑6ǁ`חoYsos܌N)V֫18ׅhj]ni1icϫrlڴDqK,qu,vbDl:ݷTs:V?UC͓rS."Ey\K
+ ="EQM$6$B9J)5écQyӼ&ehW:pڍ ~}p9Dg^np<XQAaDxBƫeDZ43(GhG-}[tĎ<H0J8oY3i\Y+qE:U5>}Su^ds|]i/Wx_I qu<
+8a@d'"H/r͋j[ɴoUޟd9e~/,5c)q,Ct?
+UD0Q -`-T?O NU[azݺCtXJ+h R^<}OEY 때
+ڸͩ]:DmO^YjnqC&_,٩+E(xGAQ %-C`( x.Guvc-a]r 7123DIw!µ? Xۮ:gP#tIL~$4!:(vdB݇"ڝFyo4m#H p2I"}\>Bm+WXv\RL]1M S/sW9AT2C4:`qwEr7(%wtޱ殆agK=[\14B@6/=^c&!;r庺w+ܿn$4UtU!ʫU9#tL÷*Ψj@Z/WЊa2DNc.78mni8M>99IwMFd{>+̻ß&`J~
+bLQ;4en>ϔ2Za vB祊F8$b(!a| mNo/$
+endstream
+endobj
+5837 0 obj
+<< /Type /Page /Contents 5838 0 R /Resources 5836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+5839 0 obj
+<< /D [ 5837 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5840 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5841 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5842 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5843 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5844 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5845 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5846 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5847 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5848 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5849 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5850 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5851 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5852 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 595.94 null ] >>
+endobj
+5853 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 584.981 null ] >>
+endobj
+5854 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 574.022 null ] >>
+endobj
+5855 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 563.063 null ] >>
+endobj
+5856 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 522.674 null ] >>
+endobj
+5857 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 511.715 null ] >>
+endobj
+5858 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 500.756 null ] >>
+endobj
+5859 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 489.797 null ] >>
+endobj
+5860 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 478.838 null ] >>
+endobj
+5861 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 467.879 null ] >>
+endobj
+5862 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 456.921 null ] >>
+endobj
+5863 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 445.962 null ] >>
+endobj
+5864 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 435.003 null ] >>
+endobj
+5865 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 424.044 null ] >>
+endobj
+5866 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 413.085 null ] >>
+endobj
+5867 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 402.126 null ] >>
+endobj
+5868 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 391.167 null ] >>
+endobj
+5869 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 380.208 null ] >>
+endobj
+5870 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 369.249 null ] >>
+endobj
+5871 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 358.29 null ] >>
+endobj
+5872 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 347.331 null ] >>
+endobj
+5873 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 336.373 null ] >>
+endobj
+5874 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 325.414 null ] >>
+endobj
+5875 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 314.455 null ] >>
+endobj
+5876 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 303.496 null ] >>
+endobj
+5877 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 292.537 null ] >>
+endobj
+5878 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 281.578 null ] >>
+endobj
+5879 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 270.619 null ] >>
+endobj
+5880 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 259.66 null ] >>
+endobj
+5881 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 235.898 null ] >>
+endobj
+5882 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 224.939 null ] >>
+endobj
+5883 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 213.98 null ] >>
+endobj
+5884 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 203.022 null ] >>
+endobj
+5885 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 172.824 null ] >>
+endobj
+5886 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 161.865 null ] >>
+endobj
+5887 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+5888 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+5889 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5890 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5891 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5892 0 obj
+<< /D [ 5837 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+5836 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5895 0 obj
+<< /Filter /FlateDecode /Length 1872 >>
+stream
+xڽY[oF~}0-hPD"$8k :r/93ՄN
+~ū#&$ >`D331v3u◿ՍN&$Z HELȬN=u3no='QI#1 7Ĥ{VJq5>-趵u?fh%J/E>n6?Z a^MX9\5hQ!+/ƉG?Y?{oxo~-3Մke6p umQ{G^kf }[gRm%2j%8B4:õL5EE`~%FӜHIZ3!]Y[Ӧzr[Whi#xט'q}bP89EXX@8%P<b.r]TnV (bí4N}]}/%*Ξ!-<jjM"фˋ0]s&~YMQ 6("ܫvv&+ajQޏx;I n
+cLc?ŠI,| _@ vL]ᲹJMߗ݃eYXu@Ҿa_&orW]:
+YŪ_+n.-Ҥ1ؔEƒP=y+ih?*6n _9=KfX+v۠7fe%3A 'UF bМ:RF[ߗt}hԍ2{ظݩClAra}&$( Fh|MRTF}E cl,UuٸDؿ38tUʛMGlMW:[yʀf5ޟ_1V!ўXiC,ceIq<?=dod#S$4k5-mGG#ykЭdq~6{ywe.7E<׈"W wlHy7cաsģv8
+nB]ժ}3?D; p)'`)&?c@,h="8^):$
+endstream
+endobj
+5894 0 obj
+<< /Type /Page /Contents 5895 0 R /Resources 5893 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+5896 0 obj
+<< /D [ 5894 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5897 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5898 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5899 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5900 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5901 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5902 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5903 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5904 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5905 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5906 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5907 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5908 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5909 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+5910 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+5911 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+5912 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+5913 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+5914 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+5915 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+5916 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+5917 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+5918 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+5919 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+5920 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+5921 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+5922 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+5923 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+5924 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+5925 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+5926 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+5927 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+5928 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+5929 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+5930 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+5931 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+5932 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+5933 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+5934 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+5935 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+5936 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+5937 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+5938 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+5939 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+5940 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+5941 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+5942 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+5943 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+5944 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+5945 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+5946 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+5947 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+5948 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+5949 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+5950 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+5951 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+5952 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+5953 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+5893 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+5956 0 obj
+<< /Filter /FlateDecode /Length 1423 >>
+stream
+xڽYMoFWȡ6ovvS@E
+ dȤ*q #SZ#'!"->ۙ73KY\x'¬{?;vXh<*N/
+ pP^%ߧzwlCE}
+GGmh0z9u~0G>84ܱYUOfAx,SK,?we
+˜(j$Ml&ЧBFJ UUTbvլ''fHOUH]GM{kF8q-cfkqZ(j+)gൣv^r</ɉuSwt^)ϲZ^M mAn}w dCYpA VxImSw?Wz]?/.AE=\ydr<t咽kkCJ)zY39y< '5" φx({cx}Vwuofb^Ϧ<i^\ә.IsҜ籆Hl*+<!<3O*\U~)yVosPmc3)7@B&/ -2P. DO/B Qb7MJ}QVU7+pа +)-$C/./<?VWmn7[|p9c4DaE✡t~IرG%qNч<Q;9Tc^Дn@GO-ySSg{aDw"ޢ,{w#)Qce]~.S^X%Z#ze 7Qy!N|OIK^pmX4Cm`hrR7d=Qӭo ](ڱV9}^YI~vcW?eiUުR{WCk ڥ`4
+fnJk%/Rt++ z[*En/)'IJij# ͶJ`:'qloYuY7bᕰ2
+{S7.VWdЄRv7R_l'f]H(ZR;n
+ӽs4
+endstream
+endobj
+5955 0 obj
+<< /Type /Page /Contents 5956 0 R /Resources 5954 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+5957 0 obj
+<< /D [ 5955 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+5958 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+5959 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5960 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+5961 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5962 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+5963 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+5964 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+5965 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+5966 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+5967 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+5968 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+5969 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+5970 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+5971 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+5972 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+5973 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+5974 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+5975 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 540.687 null ] >>
+endobj
+5976 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 529.728 null ] >>
+endobj
+5977 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+5978 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+5979 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+5980 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+5981 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+5982 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+5983 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+5984 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+5985 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+5986 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+5987 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+5988 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+5989 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+5990 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+5991 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+5992 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+5993 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+5994 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+5995 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+5996 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+5997 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+5998 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+5999 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+6000 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+6001 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+6002 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+6003 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+6004 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+6005 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+6006 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+6007 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+6008 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+6009 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+6010 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+6011 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+6012 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+6013 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+6014 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 90.376 null ] >>
+endobj
+6015 0 obj
+<< /D [ 5955 0 R /XYZ 81.077 79.417 null ] >>
+endobj
+5954 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6019 0 obj
+<< /Filter /FlateDecode /Length 2566 >>
+stream
+xڭZ[o6~c=xe]f]vd V&&$"u<ib~9箄mߝq;UDb) g@GA$0
+w+NDt^/DH Ai0g.z)˪Ζyvi[ۼn5,1|⟣ !(~OϦ1Œg'#?9h-lZ]oqQʷɫW+j"] az>4>LJO"S.G>.?;1MN;.Ekiݫ&iT{Yހ̌_LJM6 e)bh P/~M&jo/Q+
+I I[8לEj Q3?hMPf!-dS4TEё(G:Un /p
+#nvb(`-7*;T~cbEO_ x8TS2)ڻ gC$uZN{e{44SeMRPH8p6*lM-ݤͬv5*UބF 1xNO/X_YE%u6(!) AM8bLJ97jkrSi*}[8_vRb/3>ʪ I4+Όw]2Cc ^8螙iqP Ty7f_/U4F/bLeჀU]W5ϠHiQ Mx4BuD )  qo|z
+FF϶4t)B※.
+8[3>8`ǻT3>ܓX@@({g!ЯiaUZ&hfe\bD:O]
+ra]ơ6 ~_䪙@$l/PAtL57¸q
+vlz|ӷmbm2qEzỤioDcüj ֻ``'}uۅ"_X /XŭB9 1?l y~7{ 2x !G` +h{Spr9GB
+endstream
+endobj
+6018 0 obj
+<< /Type /Page /Contents 6019 0 R /Resources 6017 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R /Annots 6052 0 R >>
+endobj
+6052 0 obj
+[ 6016 0 R ]
+endobj
+6016 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 357.901 159.52 368.334 172.01 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
+endobj
+6020 0 obj
+<< /D [ 6018 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6021 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6022 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6023 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6024 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6025 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6026 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6027 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+6028 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+6029 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+6030 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 620.388 null ] >>
+endobj
+6031 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 609.429 null ] >>
+endobj
+6032 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 598.471 null ] >>
+endobj
+6033 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 541.232 null ] >>
+endobj
+6034 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 530.274 null ] >>
+endobj
+6035 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 519.315 null ] >>
+endobj
+6036 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 508.356 null ] >>
+endobj
+6037 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 497.397 null ] >>
+endobj
+6038 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 486.438 null ] >>
+endobj
+6039 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 475.479 null ] >>
+endobj
+6040 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 464.52 null ] >>
+endobj
+6041 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 433.636 null ] >>
+endobj
+6042 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 422.677 null ] >>
+endobj
+6043 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 411.718 null ] >>
+endobj
+6044 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 400.759 null ] >>
+endobj
+6045 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 389.8 null ] >>
+endobj
+6046 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 378.841 null ] >>
+endobj
+81 0 obj
+<< /D [ 6018 0 R /XYZ 79.37 353.387 null ] >>
+endobj
+6047 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 156.83 null ] >>
+endobj
+6048 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 145.871 null ] >>
+endobj
+6049 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 134.912 null ] >>
+endobj
+6050 0 obj
+<< /D [ 6018 0 R /XYZ 81.077 123.953 null ] >>
+endobj
+6051 0 obj
+<< /D [ 6018 0 R /XYZ 94.613 94.364 null ] >>
+endobj
+6017 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F26 662 0 R /F79 668 0 R /F76 318 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6055 0 obj
+<< /Filter /FlateDecode /Length 2266 >>
+stream
+xZ[o~ϯp1u wI
+NXCȴ#D4<I&2%:#&Œ(<g|wW$|򷫓OqB$ f$K2~ BFERp & #"~<=T r{8+X}M8[r7mYH׸p F"D8i1AqZ inqYZ<{F_hH{~Gve}u
+$@; yjҤX\ ăy@H?yF` e9pxo;΂/q`u/u\@'櫐,jpZVqެYV"?Vhʭzb]_fGٽI>e3$b㲼K^8﷕Vq
+3 iC0np^iF`1ANHRL3@udсgۅWwǐ23j)xS5kths&9Mt7]ӂ~HF ST- x ?# IY5j 3[0`pН%XCY -y
+U%(; ,Blgҏ1*w;n_
+BxH~8);P
+tSNGp,\?k&:h2tDeqIOtu~v!X#k,?/!?F2Q.Fg`BKn(b ~ݼL%$_tr)!h^CmO
+endstream
+endobj
+6054 0 obj
+<< /Type /Page /Contents 6055 0 R /Resources 6053 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+6056 0 obj
+<< /D [ 6054 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6057 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6058 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6059 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6060 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6061 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 677.175 null ] >>
+endobj
+6062 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 666.217 null ] >>
+endobj
+6063 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 655.258 null ] >>
+endobj
+6064 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 644.299 null ] >>
+endobj
+6065 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+6066 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+6067 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 611.422 null ] >>
+endobj
+6068 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 600.463 null ] >>
+endobj
+6069 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+6070 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 578.545 null ] >>
+endobj
+6071 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 567.586 null ] >>
+endobj
+6072 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+6073 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+6074 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+6075 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+6076 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+6077 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+6078 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+6079 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+6080 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+6081 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+6082 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+6083 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+6084 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+6085 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+6086 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+6087 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+6088 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 356.378 null ] >>
+endobj
+6089 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 345.42 null ] >>
+endobj
+6090 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 329.479 null ] >>
+endobj
+6091 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 318.52 null ] >>
+endobj
+6092 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 307.561 null ] >>
+endobj
+6093 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 296.603 null ] >>
+endobj
+6094 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 241.808 null ] >>
+endobj
+6095 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 230.849 null ] >>
+endobj
+6096 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 219.89 null ] >>
+endobj
+6097 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 208.931 null ] >>
+endobj
+6098 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 197.972 null ] >>
+endobj
+6099 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+6100 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+6101 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+6102 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+6103 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+6104 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+6105 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+6106 0 obj
+<< /D [ 6054 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+6053 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6109 0 obj
+<< /Filter /FlateDecode /Length 2350 >>
+stream
+xڵZKϯ0Cd#%#d$}HdC0~d0=U^tfgҴ(Xfh㻨_w?ܽI IL9QX,VDQ=ӊHaB/s~T2IĔEDħLfUm]H&|yˊ4_~}Ih^8L15
+-(ѭ@&XNMrL:@+j0="lU>j ;l~!!¼m6eO6͊28a*j6ϊVʢ5Wl`r4 R"g4ԃlל'7uXK_Pkt{K_FVHЉU\HMc,
+RBr ͗#' /4Qkp
+ʸ>&c
+`z$.@2w%gߋFQR-\q:^I'ͪv4OG
+²IJ-/|
+%(U+8s1` {-<jԋW*ӠI) #I"q
+R"JN
+}6w$(bPcn0+S sǶpʷVUhv9-X+
+$?ڣ5xUP۽)LzH,-
+8J: e,K`%P/Ro#>77yvCϿ] qV
+#Gh$o2 p|L:,7y
+F$ 9V8G{vQoʼl] 7+2wE{aʣIu/mX:|ʺ.I .Ps#顔JOT 5=`밌3&>997ּ":@: 1q
+oP}w^sQ2f|S
+endstream
+endobj
+6108 0 obj
+<< /Type /Page /Contents 6109 0 R /Resources 6107 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+6110 0 obj
+<< /D [ 6108 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6111 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6112 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6113 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+85 0 obj
+<< /D [ 6108 0 R /XYZ 79.37 697.798 null ] >>
+endobj
+6114 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 505.974 null ] >>
+endobj
+6115 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 495.015 null ] >>
+endobj
+6116 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 454.168 null ] >>
+endobj
+6117 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 443.209 null ] >>
+endobj
+6118 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 432.25 null ] >>
+endobj
+6119 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 421.291 null ] >>
+endobj
+6120 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 380.444 null ] >>
+endobj
+6121 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 369.485 null ] >>
+endobj
+6122 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 358.526 null ] >>
+endobj
+6123 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 317.68 null ] >>
+endobj
+6124 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 306.721 null ] >>
+endobj
+6125 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 295.762 null ] >>
+endobj
+6126 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 284.803 null ] >>
+endobj
+6127 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 259.896 null ] >>
+endobj
+6128 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 248.937 null ] >>
+endobj
+6129 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 237.978 null ] >>
+endobj
+6130 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 227.02 null ] >>
+endobj
+6131 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 216.061 null ] >>
+endobj
+6132 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 205.102 null ] >>
+endobj
+6133 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 194.143 null ] >>
+endobj
+6134 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 183.184 null ] >>
+endobj
+6135 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 172.225 null ] >>
+endobj
+6136 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 161.266 null ] >>
+endobj
+6137 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 150.307 null ] >>
+endobj
+6138 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 139.348 null ] >>
+endobj
+6139 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 128.389 null ] >>
+endobj
+6140 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 117.431 null ] >>
+endobj
+6141 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 106.472 null ] >>
+endobj
+6142 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 95.513 null ] >>
+endobj
+6143 0 obj
+<< /D [ 6108 0 R /XYZ 81.077 84.554 null ] >>
+endobj
+6107 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6146 0 obj
+<< /Filter /FlateDecode /Length 1908 >>
+stream
+xڽZ[o6}ϯ0[.1bRt<`˞AP"K,粢 %#^*+!GO<y}+䇋M8R!atr:!I($$aI&ɟSB<gT))YGl.%'YtyȺ˗э~˨vd(0|h/^8"0"X_,}R]^xGg6":." ]tv97Lk"6N:*}R諳&KYiH-aG<͋qֳ0lLLD>z@?d,2~}vw 3̯aX(}Ԭ?jGWy!G^b8QqQ[RY1A`3^ }cotV78rƲp59v0A<0>w^#h)͈|.:μPvaHa?*}Lu\*ʏ/7"(ǭ~,J$U{t/Fb|&.<՟< CJ6?xxM.( %qArG 8
+Y-}vj"Y_H2 }H s&
+PD FCެfsش i!*%1 R! A^ǻٜSvW{8Ca >dͶ|8[aBZd~:c&jyRfpq;xMfTMr_0"77w&ͨЛjj". BDWx$.:nDjeR8t-9=Ugz~n`܈ΆЫxsͪ^oeT$ku6g[ȸ]`]+oGW2=f
+qėm J۞R#㑮P~j~2֩Ն%&atk=8|w˗ U}?7|Wyzd9̪6O7rf[oc '퟽~'oUrJb@9$)qZm(!CwɽA2 (ŘC@<a v4 !^\
+,k;hE7M#mC`N\()w>KK|0hN]1t b,v8h B=ꭸ
+$ڄn˝?sb1xDJagf:~+3ز淃hᄅЊ„{);$(ViUFIxȓ$32=rl2W/oO#B %z<&u"'3> =-uwxe&)$r[>z6iEdF5m(b]>=d|ʆy/s.y)$y/C}G{gG
+cmk70;v=U}ibf)>{~^xTA>mūRuH~ԯtco ^De0ޔ_7?p% ҸMF,^7jhUpi]%ٺ~̫t{L~ߙ2ko7 WNmJPs $ɷSg$ώ65E]E\7"Q76np/{Yu e۞wDm>ڿop[O9hHZaA@8WU
+endstream
+endobj
+6145 0 obj
+<< /Type /Page /Contents 6146 0 R /Resources 6144 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+6147 0 obj
+<< /D [ 6145 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6148 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6149 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6150 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6151 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6152 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6153 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6154 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+6155 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+6156 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+6157 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+6158 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+6159 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+6160 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+6161 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+6162 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+6163 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+6164 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 551.646 null ] >>
+endobj
+6165 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 540.687 null ] >>
+endobj
+6166 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+6167 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+6168 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+6169 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+6170 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+6171 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+6172 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 410.177 null ] >>
+endobj
+6173 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 399.218 null ] >>
+endobj
+6174 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 388.259 null ] >>
+endobj
+6175 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 377.3 null ] >>
+endobj
+6176 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 366.341 null ] >>
+endobj
+6177 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 355.382 null ] >>
+endobj
+6178 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 344.423 null ] >>
+endobj
+6179 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 333.464 null ] >>
+endobj
+6180 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 322.505 null ] >>
+endobj
+6181 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 311.547 null ] >>
+endobj
+6182 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 300.588 null ] >>
+endobj
+6183 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 289.629 null ] >>
+endobj
+6184 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+6185 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+6186 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+6187 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+6188 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+6189 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+6190 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+6191 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+6192 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+6193 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+6194 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+6195 0 obj
+<< /D [ 6145 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+6144 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6198 0 obj
+<< /Filter /FlateDecode /Length 2149 >>
+stream
+xڵZK6ϯ-2f"6{fȒWw0}$ &6X*WUTn?_~xOB#-;,FL-$KX&eٶ8,[D_C"1t{OK<Kԏs|\R^u=)H2Jژk=]WPt*3ХƠќl8]?ҽfV  0ruЊ-8)atN%\!BG NS?AKHAdib:D[٦>ƬjT\:&iqOh$"۴gءhT ek$QF0Ye~1;~Z%VU#(MQ7S㍄!(T:ʦ)b: ]AbVR|U ηvFr?vu1%HMn[T& )AD+lMhrc̳]TqLFm[4!YK5S^ɗhMFd8N!x:.SQe3)Q&7_
+4__l׌*?VCJXHr5R\م%pT0x{@IX2
+E{z.
+ЎV[=ebM8(&4F*j#hL%:De
+}S:dQEIvgoM}:f;j+EG<N)z<<A(@ɑgvIgWՍqmm*Ts⑶DJbT/PEa#{6¢nʩu_mdw%|ޏzHܿW[;tJ hn%gZ
+P0Y%f,
+IR 'Sk~`$``Z?~O^Mk^A̳1. c
+?sCpuR۰ڮ9mfFB5l{+m"<eppj ) ?yŎR{^u/[wqN!B%
+f?B\}:p,8tkB@B_JbRHoǥ@ʮvQjY\
+endstream
+endobj
+6197 0 obj
+<< /Type /Page /Contents 6198 0 R /Resources 6196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+6199 0 obj
+<< /D [ 6197 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6200 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+6201 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+6202 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+6203 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+6204 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+6205 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+6206 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+6207 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+6208 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+6209 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+6210 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+6211 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+6212 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+6213 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+6214 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+6215 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+6216 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+6217 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+6218 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+6219 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 510.799 null ] >>
+endobj
+6220 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+6221 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+6222 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+6223 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+6224 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+6225 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+6226 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+6227 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+6228 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+6229 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+6230 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+6231 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+6232 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+6233 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+6234 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+6235 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+6236 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+6237 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+6238 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+89 0 obj
+<< /D [ 6197 0 R /XYZ 79.37 279.118 null ] >>
+endobj
+6196 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F78 556 0 R /F79 668 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6241 0 obj
+<< /Filter /FlateDecode /Length 3133 >>
+stream
+xڵ[[۸~ϯ`AFP,vChnahlVזIIP㑭A2(\CrMr7ÛXbSa‡XJ7ZQ(zpWF=xODG/t2|`Uo۞veZb}mݔYrn*I1J.yFu% r_N#vs}9{JSHM,L3=1t$a6,R?>?}i%R7ieQ]ez$V.m#,*P|kUl?fU־~)e
+EԜDikn9-o!& MhfAGHMDDn?,~6 YR@}jjPsޫ_ip|9y\8(FQ(j:O /,qb=-w. 7积U}vBHɆ#ɵ%
+?>- %xDK4?'$A?9O/:J3,TO٦>jXL09+y@J1ъĄevF
+BxIEyiDY!@Vc}ڧaὄ/Uy:O /xa`9S`BXt|R(=1-cbgȞǪl2wdr2y@iu s8Ļ%@1˘PM +
+uuuv$4ʘ7@-yuPrFW+k gXL6VYLIa
+]bޅ=UZ};l#^6u C;_s8=O= <$LEUZ</B'PWPq:,ˉgG!aIozV䉨ȳ=eow# E{.[*z7R
+ L&g;C4"g(e$$xy4> $xh721/$xNtiWPR?1/6s>,>hֹ۶ }n쒈rE,x^L-`>s-Zuq8OrOz
+;Hrmf?P :[>ͮd ycjN697hD>?<PF萾t9$jstϏKв<(^Veʯf3;CUF!lT,԰wh5 Gn ? V]񹭍&}Kk $+ݧ0YFB5H,#{p{SDž;<zF*= Zeiݸh~Vqxݺ zCxU3L{k#j^QlP<VPv&6*"Qh0BIQQlq6
+Fh(
+endstream
+endobj
+6240 0 obj
+<< /Type /Page /Contents 6241 0 R /Resources 6239 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+endobj
+6242 0 obj
+<< /D [ 6240 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6243 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 651.273 null ] >>
+endobj
+6244 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+6245 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+6246 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 558.62 null ] >>
+endobj
+6247 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+6248 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+6249 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 525.743 null ] >>
+endobj
+6250 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+6251 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+6252 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+6253 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+6254 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+6255 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+6256 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+6257 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+6258 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+6259 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+6260 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+6261 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+6262 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+6263 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+6264 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 258.745 null ] >>
+endobj
+6265 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 247.786 null ] >>
+endobj
+6266 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 236.827 null ] >>
+endobj
+6267 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+6268 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+6269 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 203.95 null ] >>
+endobj
+6270 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 192.991 null ] >>
+endobj
+6271 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+6272 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+6273 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+6274 0 obj
+<< /D [ 6240 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+6239 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F23 660 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6277 0 obj
+<< /Filter /FlateDecode /Length 2004 >>
+stream
+xYKoW6)(0hѹhY\xQSx+K,=ԃ"ӌ̢XxGjK?]ys+Il_m|DWliYl9VmzQUF"3'&qplʺ+vab(aL1hSUOÇgt[wmtÆߧ,aa "f81:"<Y0a |/-=shmk|W޸JɰJ~*!0`1San;FCM5Z%1bC[E5B$҆es[Mz~X&F11Tix}DtH~-g0:_n:rS|4p獒5'R 1?b-n]9{I_XiFQ"ssK
+. f"EfQ6'㸹c4^6!Zd
+K=ܺmWmv J,iIIHИ CLò@Xh*#wP_ ~cSZId%K oI&$ d,bsS˃^r\ s3 Ct>AvJr\sK*r
+6 ?wf͂J e/c&qmU_1hx]ўmջ~]ǵsCNHG|v7B:kn|f] 01DiL CIGhz JG
+):>GsTRVp B;\}h7\֠q kq83A޹M\~PmA
+ wPЗ_˶dsYD fʭhÕ X ƆDc;<>o^# kF~BǓXwXb2mcǝ=*M+EŇ"DsqўA(y
+=A_ˠCOiપb
+
+áo!c ܗ-pMc_4PueQ mT@MjAbb /^c7OY9veS#ݟ#ǁoUZׯת/Ԇ uҎxz<X݃=<ڝ|Ki,ems{rG۰??}3s|8}=¢S^nM%@7uZ$%֌=kus8 `
+endstream
+endobj
+6276 0 obj
+<< /Type /Page /Contents 6277 0 R /Resources 6275 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6278 0 obj
+<< /D [ 6276 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6279 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6280 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6281 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6282 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6283 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6284 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6285 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+6286 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+6287 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+6288 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+6289 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+6290 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+6291 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+6292 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+6293 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+6294 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+6295 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+6296 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+6297 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+6298 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+6299 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+6300 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+6301 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+6302 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+6303 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+6304 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+6305 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+6306 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 456.717 null ] >>
+endobj
+6307 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 445.758 null ] >>
+endobj
+6308 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 398.081 null ] >>
+endobj
+6309 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 387.122 null ] >>
+endobj
+6310 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 376.163 null ] >>
+endobj
+6311 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 365.204 null ] >>
+endobj
+6312 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 326.065 null ] >>
+endobj
+6313 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 315.106 null ] >>
+endobj
+6314 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 304.147 null ] >>
+endobj
+6315 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 293.189 null ] >>
+endobj
+6316 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 282.23 null ] >>
+endobj
+6317 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 271.271 null ] >>
+endobj
+6318 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 260.312 null ] >>
+endobj
+6319 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 249.353 null ] >>
+endobj
+6320 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 238.394 null ] >>
+endobj
+6321 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 227.435 null ] >>
+endobj
+6322 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 216.476 null ] >>
+endobj
+6323 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 205.517 null ] >>
+endobj
+6324 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 194.558 null ] >>
+endobj
+6325 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 183.599 null ] >>
+endobj
+6326 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 172.641 null ] >>
+endobj
+6327 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 161.682 null ] >>
+endobj
+6328 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 150.723 null ] >>
+endobj
+6329 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 139.764 null ] >>
+endobj
+6330 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 128.805 null ] >>
+endobj
+6331 0 obj
+<< /D [ 6276 0 R /XYZ 81.077 117.846 null ] >>
+endobj
+6275 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6335 0 obj
+<< /Filter /FlateDecode /Length 1672 >>
+stream
+xYMo8WxыČMX؏t[ZMBlɕA#SHN<i %%=͐fIwd,]lﻳ?&gWr6(| (hEI` n+eX 4r1]{HWUYifUq>Ln߾}NEY**W+?+3ssKⴹYB
+[%(ЍE:]_n[r ft([nxܻuvuz_Ÿ(Z^-ʿߗ]. zwO;ow6zI`ci7d 6EY\ۀ,ۆyl㸹1|2k ?bKpBC0exN('&X?vh0]QjF6~y8:Ck޸t|=.9lyXDH/!t8CwOİTUIE谒"l^;(GLڍ}
+MqC>oY(lxk$OkJZ>J%I*jy 1h|A-xvU/ۚeWkg kyeULp5Q<kHЂDJXIT"pRgn)#HbmgAmОzoQ#'B&\߿U 4eŠw[JS-6.M2n׿e^Wf*)tk[T`/ݦҨӝ|Z#U[YE]
+VUP4"4^;0|v.3PN E5 ]3'&:n T;1Ul֥Od
+ 4&0 xHzm"O6-P"2hzQftPhtbXnϝ@DBJĄo{#t@[)!]"ߓ
+endstream
+endobj
+6334 0 obj
+<< /Type /Page /Contents 6335 0 R /Resources 6333 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6336 0 obj
+<< /D [ 6334 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6337 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6338 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6339 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6340 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6341 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6342 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6343 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 661.235 null ] >>
+endobj
+6344 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 650.276 null ] >>
+endobj
+6345 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+6346 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+6347 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 587.512 null ] >>
+endobj
+6348 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+6349 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 565.594 null ] >>
+endobj
+6350 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 554.635 null ] >>
+endobj
+6351 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 543.676 null ] >>
+endobj
+6352 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 502.829 null ] >>
+endobj
+6353 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 491.87 null ] >>
+endobj
+6354 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+6355 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+6356 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+6357 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 428.109 null ] >>
+endobj
+6358 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 417.151 null ] >>
+endobj
+6359 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+6360 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+6361 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 384.274 null ] >>
+endobj
+6362 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 373.315 null ] >>
+endobj
+6363 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+6364 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+6365 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+6366 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+6367 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+6368 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+6369 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+6370 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+6371 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+6372 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+6373 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+6374 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+6375 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+6376 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+6377 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 147.163 null ] >>
+endobj
+6378 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+6379 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+6380 0 obj
+<< /D [ 6334 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+6333 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6383 0 obj
+<< /Filter /FlateDecode /Length 1546 >>
+stream
+xZMoFWEF~sW'i(ts i E*$]'߻%W4Gv"v̛{>هk={Ӈ3b^`xF|Iěνѯq_c|YGpHof]K|&Ư"UaƳ<͋eG?Z1[-X c$jOfyiEn$İ>"mBa(rbj]pM&~9=a]o^-7;V7L""5f"!Qᢗཀྵ@D 7gE> y0<ɮSC8LZzEnqp`%HW 0*VeegPVRSLoYay^wvoS?2Q.fiIIe.kv~i,'. JoLjcbePwFS7U!jԣO$H4OIòjdxG+X|TQ<v^"co#BLD=ʟ(eȒ8,K>=oA䠿: %OZPuph8uMB2F0b;6 Aj+&ɰnt.h#'H)fm{U4vo<z" H\c"I8D),~ E^Fq4Ydsjf9b΁y;hp)R-5 qЍfUgӷSM^zTKPVLT-90A`:K㰨|rKC/fAq(o?>頇PNabW˛c><5S8SnܖBa9GOL}N.7S
+Sso}0]tKi= 9M&^fŁ2m6EGm߱_/[d(;F&wWUXTqYIKz|܅seMHc'/T dHYRmu;ʩ@\}xs]55^Φx۔p
+ nNpo hU>
+k^D û.twK\%ST+V@}<`bxmM8<bFRઽPX 4)`.$K,d1T
+sݧ^8ۧ' ۋΩWj*̻0,6hަľKF@I,6Y`O04X`.v$¦uZ_UnW 16囃;((kc^Fsx㜿>
+\,? upe6lT(sz!67l3*=5ǽ$ Ti4z'҇
+7 .a(i]`o4pBq .zW{qgGؒaCr 3$-6v55]w[68Fz?Ȏ2=i!D
+endstream
+endobj
+6382 0 obj
+<< /Type /Page /Contents 6383 0 R /Resources 6381 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6384 0 obj
+<< /D [ 6382 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6385 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+6386 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+6387 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+6388 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+6389 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+6390 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+6391 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+6392 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+6393 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+6394 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+6395 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+6396 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+6397 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+6398 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+6399 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+6400 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+6401 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+6402 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+6403 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 497.848 null ] >>
+endobj
+6404 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+6405 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 475.93 null ] >>
+endobj
+6406 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 464.971 null ] >>
+endobj
+6407 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 454.012 null ] >>
+endobj
+6408 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 443.053 null ] >>
+endobj
+6409 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 432.094 null ] >>
+endobj
+6410 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 421.136 null ] >>
+endobj
+6411 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 410.177 null ] >>
+endobj
+6412 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 399.218 null ] >>
+endobj
+6413 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+6414 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+6415 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+6416 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+6417 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+6418 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+6419 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+6420 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+6421 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+6422 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+6423 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+6424 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+6425 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+6426 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+6427 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+6428 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+6429 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+6430 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+6431 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 111.297 null ] >>
+endobj
+6432 0 obj
+<< /D [ 6382 0 R /XYZ 81.077 100.339 null ] >>
+endobj
+6381 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6435 0 obj
+<< /Filter /FlateDecode /Length 2674 >>
+stream
+xڭZߏ6~_C KtQ h-! խ,gH,zދeQȏ3̈xv7ó^awDRJ>^"
+1UDah:\\xﲢȊ;V/1L s[^eHJg"v]-@\!}ۊNݗ$7<q//4FrqIM+хQR%9Gj4ʺQ<1'h&v]Ԗy=i+:kۖgG&"DD/Ӳ*tSrAX<G-#a،#P@±D@!QHmn9 ,H{k6ڽһv[R#ˤm~{w_e݅NPD9'$MĨOcXh,崱)FS>IiwH&ɓkzܤ sqOBюw݅2/Wk~cV4mW]k8ߗqG٧܇8d{`#X/o*+(<+R/T宵\Qvϟn^ے$q> ZM^N,e~[l=A ZZҼnx<~&,l&CљI$ۼYDj$,C2V=aDCu4Qq͹"1{"
+c:Do9f(`ۗuUwzY7 Wh6{+:lR{TL 3#L'fF{0K`lx8DInrz*l3>8"XzUmƆ$K?eP8Ex\{\9cFnons4;|IR!GN޾>Rg}Q.3ǧ4YYKPAw㚣- AU1>٦hmdIM#(=f8I<ژn Y@ax8~  aꌲ(aTX2tngsTw&Ili|e0Ml2CN'B 9q06:bё4+p+'VDKz1BKODOM#׏~Hi|BQbXΏN.bTWh0-o<òNe.C䓌Ʀ6r0dcJI|:L:KmKM:ͺ&[e`/QγG!4:S^qO )g>ppꙶ5)
+H}気. h&&XW}=A<tGͲYJLjov}vd2FVCІxKRQ_aU3VVEIզ+=yeprs2Tº)YU 4J#*W.O4 n &ȗYќo!#܅ýh ܷUeLiLڇf_(&[ħuԷ[z8"6\wmXkP`?W$VG?uUH{Kĸ8HX\qnY,ڐ?Jz
+;5!T"nD*ȯySYcl{y'@<]F@)&s$h_EI/о/N ͽ.ٚ`i͙aM [gLh&wPUpЯ^*&ªrS@ׯ'
+endstream
+endobj
+6434 0 obj
+<< /Type /Page /Contents 6435 0 R /Resources 6433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6436 0 obj
+<< /D [ 6434 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6437 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+6438 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+6439 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+6440 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+6441 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+6442 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+6443 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+6444 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+6445 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+6446 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+6447 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+6448 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+6449 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 579.542 null ] >>
+endobj
+6450 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 568.583 null ] >>
+endobj
+6451 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+6452 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 449.031 null ] >>
+endobj
+6453 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 438.072 null ] >>
+endobj
+6454 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+6455 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+6456 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+6457 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+6458 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+6459 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+6460 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+6461 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+6462 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+6463 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+6464 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+6465 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+6466 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+6467 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+6468 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+6469 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+6470 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+6471 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+6472 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+6473 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+6474 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+6475 0 obj
+<< /D [ 6434 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+6433 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R /F75 317 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6478 0 obj
+<< /Filter /FlateDecode /Length 2380 >>
+stream
+xڭZ]۸}ϯ0/6voX춳m/a0d[%Gg{)){lsxxyy ~_tGL!%䳇wn%
+dH$}f?G)Tr٪+.HLY=]n};JNk-S|}nj7mg~4-3P ټ~ ډyQ]<-ga[s |֗~LY
+,>fӂs֟}gZr=
+*GpSF
+2FFK j5]Ye.4Pmnď2J7R>:odwrLd*hqjӼ7KUhm|u'9)7?IԟQu
+OV@͉w ( p
+Du./J *zaޜ }?a(֕=rAۻl>ϛ|sh,BD46jՕ&H=sӚ"ʾ
+3`*)|dT2% ::W&%KDh]o&tpwn+4GIn?1z 1P|ʨ_.yd ʕ
+h7
+|FMEuE=Hne;}ȫavV)`DLB0btII:aevYf͇.7o
+B<?, k p}E3nHtT;Cƭl8'h3՜I@m7)7EҔt,]PJ}FۦmǢ+5^CX`8J|=ӥ+T7Yp&OoqM
+b ~IY'E"
+endstream
+endobj
+6477 0 obj
+<< /Type /Page /Contents 6478 0 R /Resources 6476 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6479 0 obj
+<< /D [ 6477 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6480 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 743.569 null ] >>
+endobj
+6481 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 732.611 null ] >>
+endobj
+6482 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 721.652 null ] >>
+endobj
+6483 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 710.693 null ] >>
+endobj
+6484 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 699.734 null ] >>
+endobj
+6485 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 688.775 null ] >>
+endobj
+6486 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 677.816 null ] >>
+endobj
+6487 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 650.206 null ] >>
+endobj
+6488 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 622.595 null ] >>
+endobj
+6489 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 611.636 null ] >>
+endobj
+6490 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 600.677 null ] >>
+endobj
+6491 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 589.718 null ] >>
+endobj
+6492 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 578.759 null ] >>
+endobj
+6493 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 551.149 null ] >>
+endobj
+6494 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 540.19 null ] >>
+endobj
+6495 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 529.231 null ] >>
+endobj
+6496 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 501.621 null ] >>
+endobj
+6497 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 490.662 null ] >>
+endobj
+6498 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 479.703 null ] >>
+endobj
+6499 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 468.744 null ] >>
+endobj
+6500 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 457.785 null ] >>
+endobj
+6501 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 446.826 null ] >>
+endobj
+6502 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 435.867 null ] >>
+endobj
+6503 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 424.908 null ] >>
+endobj
+6504 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 413.95 null ] >>
+endobj
+6505 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 402.991 null ] >>
+endobj
+6506 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 392.032 null ] >>
+endobj
+6507 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 381.073 null ] >>
+endobj
+6508 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 370.114 null ] >>
+endobj
+6509 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 359.155 null ] >>
+endobj
+6510 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 348.196 null ] >>
+endobj
+6511 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 337.237 null ] >>
+endobj
+6512 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 326.278 null ] >>
+endobj
+6513 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 315.319 null ] >>
+endobj
+6514 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 304.36 null ] >>
+endobj
+6515 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 293.402 null ] >>
+endobj
+6516 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 282.443 null ] >>
+endobj
+6517 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 271.484 null ] >>
+endobj
+6518 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 260.525 null ] >>
+endobj
+6519 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 249.566 null ] >>
+endobj
+6520 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 205.304 null ] >>
+endobj
+6521 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 194.345 null ] >>
+endobj
+6522 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 183.386 null ] >>
+endobj
+6523 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 172.427 null ] >>
+endobj
+6524 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 161.468 null ] >>
+endobj
+6525 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 150.509 null ] >>
+endobj
+6526 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+6527 0 obj
+<< /D [ 6477 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+6476 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6530 0 obj
+<< /Filter /FlateDecode /Length 2055 >>
+stream
+xڭZMܸW4Xso,"94@@Ш3JRGRg5Sٔnk&"bztI7K~DMF2ŔQH7t3F+JRE7ߓ<y苲NXz+ǝs}x5Ʉ1Kep.1
+m3s1Pgz!H=WT -;5(
+&\Rs:6,RDH)h rQy[=Ǿrvdr1k~mk>Ew?%z^0/vۼӜ=6„ cf)<mu;ew8ŠosSM>9)a& )R诳=vC5n?Wm\7K0~d
+s"uϱSٵzh}jWT䈶^H"28-C 0A}m>m{)^q",3Էhj2x@#R=K4~`*1qHׂr}+?O]5^fm7/oh /Xq,(Ca\%&)p;B[eT9JKc:yG[ؘe8箒<F5 j<HziS:@m$5_n xMgdŃ]#ȦlTR[@|ky9ݩJ2$e! \,2 $'K|&?kh0Й \vo4^k/^f
+.q5B,zM{0q ̑\R6K a:X˱-r` X˱0T.Coɱؼ 9e2Dz9e29 ƶ]t׹pl[?K~v=QNE!q"CӸ.|D
+aˮyqX@uTO9^..|52#4IUֿ@ -QVw?
+
+;Rrzi,i9WI"_[
+2Y*EmuM^﷟mXK e<cEQ BvmDȭmh@d:H^Izu( A*d] I祺QICxf"uP%:/YH߉Ov
+CRM NkoTJOq!B}9ڿ(z=b K"Vp/oiʄȫ4j Fh[(h=BT4#4~ĺvA#4bGɷQT1STз0P|h.0O)Kz<Mz׾R{>};?'=-
+iʮ}L,J0'V@J")|=?urߺuRKه?NOI)֟ ԌB+gsBHF}wO]sPDB'rR` i8K~=C3fHN}s XÊVe .FC5E,EdMw|!g5~ t&I
+endstream
+endobj
+6529 0 obj
+<< /Type /Page /Contents 6530 0 R /Resources 6528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6531 0 obj
+<< /D [ 6529 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6532 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 740.936 null ] >>
+endobj
+6533 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 729.977 null ] >>
+endobj
+6534 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 719.019 null ] >>
+endobj
+6535 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 708.06 null ] >>
+endobj
+6536 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 697.101 null ] >>
+endobj
+6537 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 664.224 null ] >>
+endobj
+6538 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 653.265 null ] >>
+endobj
+6539 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 642.306 null ] >>
+endobj
+6540 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 631.347 null ] >>
+endobj
+6541 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 620.388 null ] >>
+endobj
+6542 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 609.429 null ] >>
+endobj
+6543 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 598.471 null ] >>
+endobj
+6544 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 587.512 null ] >>
+endobj
+6545 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+6546 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 565.594 null ] >>
+endobj
+6547 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+6548 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+6549 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+6550 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+6551 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+6552 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+6553 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+6554 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+6555 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+6556 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+6557 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 323.502 null ] >>
+endobj
+6558 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+6559 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+6560 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+6561 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+6562 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+6563 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+6564 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+6565 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+6566 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 224.872 null ] >>
+endobj
+6567 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+6568 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+6569 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+6570 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+6571 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+6572 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+6573 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 106.316 null ] >>
+endobj
+6574 0 obj
+<< /D [ 6529 0 R /XYZ 81.077 95.357 null ] >>
+endobj
+6528 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F23 660 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6577 0 obj
+<< /Filter /FlateDecode /Length 1693 >>
+stream
+xZIoFWEF싀F:@:zh Be[E*(Yۣ} M;xA?^\2qiegpvX8"LhFfw++{w;yf[<Nl7WWWdOy-տ?.(Q%'#P2#LD3$ U1H׷u,ȣ Sb0!tY$<f4 ju&77 ]&E)4T0%#W\ŘZy#
+"JCd9),<RO1J# DW'74q&R78!W
+&bk˙
+q%<"Fm8n\$y<Ο&YeC>%ˢ VD y;;mT-(ЍLf?5X2Ӟ ):D>2(U!R|6'DF3 bOVwD8 ÝZ[LbhctaeQ@LD`L5Wp&"B`q,B6p}ַXx|0˓iV$KW<=IBi㺸zё T6ܡ"=BE2PӻPOg|+\>X[7G%]khC\Lt;Ks"/FIYp@/
+ ÏQǮ/թKa`h턥
+5Dk@jşМ0k
+j#U<F5w (GhV}9`Jgɍ$Rp[}DkAZFG:WjV\2?̠"=Bu}?)yipEh/&--#4bެ0ah//-m#S-1͇|QQA5mEuvI%TF}[Us02_%8#({d;;xQ0H#3TDukQ/0Ƿh2lA8Sk罹~&;{dߒx}<-`,%|N.LDoD/-wh,/\$ {hw;mh8Ļ] u5kS:0&m z>q`й הi11EV>$+ljcC!8s3aZ-#̵
+endstream
+endobj
+6576 0 obj
+<< /Type /Page /Contents 6577 0 R /Resources 6575 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6578 0 obj
+<< /D [ 6576 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6579 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 755.2 null ] >>
+endobj
+6580 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 744.241 null ] >>
+endobj
+6581 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 733.282 null ] >>
+endobj
+6582 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 722.323 null ] >>
+endobj
+6583 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 711.364 null ] >>
+endobj
+6584 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 700.405 null ] >>
+endobj
+6585 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 689.446 null ] >>
+endobj
+6586 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 678.487 null ] >>
+endobj
+6587 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 667.528 null ] >>
+endobj
+6588 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 656.569 null ] >>
+endobj
+6589 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 645.611 null ] >>
+endobj
+6590 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 634.652 null ] >>
+endobj
+6591 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 623.693 null ] >>
+endobj
+6592 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 612.734 null ] >>
+endobj
+6593 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 601.775 null ] >>
+endobj
+6594 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 590.816 null ] >>
+endobj
+6595 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 579.857 null ] >>
+endobj
+6596 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 568.898 null ] >>
+endobj
+6597 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 557.939 null ] >>
+endobj
+6598 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 546.98 null ] >>
+endobj
+6599 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 518.72 null ] >>
+endobj
+6600 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 507.761 null ] >>
+endobj
+6601 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 496.802 null ] >>
+endobj
+6602 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 485.843 null ] >>
+endobj
+6603 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 474.884 null ] >>
+endobj
+6604 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 463.925 null ] >>
+endobj
+6605 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 452.966 null ] >>
+endobj
+6606 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 424.706 null ] >>
+endobj
+6607 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 413.747 null ] >>
+endobj
+6608 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 402.788 null ] >>
+endobj
+6609 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 391.829 null ] >>
+endobj
+6610 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 380.87 null ] >>
+endobj
+6611 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 369.911 null ] >>
+endobj
+6612 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 358.952 null ] >>
+endobj
+6613 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 347.993 null ] >>
+endobj
+6614 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 337.035 null ] >>
+endobj
+6615 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 326.076 null ] >>
+endobj
+6616 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 315.117 null ] >>
+endobj
+6617 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 304.158 null ] >>
+endobj
+6618 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 293.199 null ] >>
+endobj
+6619 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 282.24 null ] >>
+endobj
+6620 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 271.281 null ] >>
+endobj
+6621 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 260.322 null ] >>
+endobj
+6622 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 249.363 null ] >>
+endobj
+6623 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 238.404 null ] >>
+endobj
+6624 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 227.445 null ] >>
+endobj
+6625 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 216.487 null ] >>
+endobj
+6626 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+6627 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+6628 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+6629 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+6630 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+6631 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+6632 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+6633 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+6634 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+6635 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+6636 0 obj
+<< /D [ 6576 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+6575 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6639 0 obj
+<< /Filter /FlateDecode /Length 2011 >>
+stream
+xZ[o~ Ѡ1wx>EaM!h5V#i%9"DQ<tx$υ<7o_ _M60 0 o&HxK$柑Hnw7Rmd&Ddh 6;6Kt8m&1*hK Q*b@rDzK'*5<Y7<%QUegEYډ4uYz7O
+_ܛ;"YfڧR]8z r
+a"ȿ"LbDAu1lh;^HΐP(p&~}7a+i+ʷ%1*ѬYsx8Ril Ob*Ip&BϧĐ/TD5tcZ܃@97/CAgc(q]6,N 2aKmgݗ?7>qȶq'A¸$"%D(Lj#ׄP֪|o^Hɼ,LB4?>4CQ![S8˜!*\z"D>d P "d>z;
+!}'At*# ꈪ]tEl}#Q5a* %1ʂ1 `nY ,gt`^d/x|Wq [w/§Eћf1Uצ'F1c}4/;{K%<(ou6؇Ƹ ,>fI~\JeN+eݸh_Ns{1#G814LLui+!=<Z7ZT삮iW<*4VD(?*7ejڑjPۙe)mw9^igR|X*rx^h$YbշFh؅橷ccBo썙c78r1j|<G8}y]ٖ fT] a.X8@@uhu]Z7CRS35J빏0n}/ٺ%1s[/&alܼ%"oyK8i|i3oapnƔ@;0XO&LAZs"oA9k{@l2<`ʉ)G\At|xQ#5k 9?].-j
+endstream
+endobj
+6638 0 obj
+<< /Type /Page /Contents 6639 0 R /Resources 6637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6640 0 obj
+<< /D [ 6638 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6641 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6642 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6643 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6644 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 706.067 null ] >>
+endobj
+6645 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 695.108 null ] >>
+endobj
+6646 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 684.149 null ] >>
+endobj
+6647 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 673.19 null ] >>
+endobj
+6648 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 644.299 null ] >>
+endobj
+6649 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+6650 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+6651 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 611.422 null ] >>
+endobj
+6652 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 600.463 null ] >>
+endobj
+6653 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+6654 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 578.545 null ] >>
+endobj
+6655 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 567.586 null ] >>
+endobj
+6656 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+6657 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+6658 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+6659 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+6660 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+6661 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+6662 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+6663 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+6664 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+6665 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+6666 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+6667 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+6668 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+6669 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+6670 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+6671 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+6672 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+6673 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+6674 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+6675 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+6676 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+6677 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+6678 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+6679 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+6680 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+6681 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+6682 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+6683 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+6684 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+6685 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+6686 0 obj
+<< /D [ 6638 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+6637 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F23 660 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6689 0 obj
+<< /Filter /FlateDecode /Length 2388 >>
+stream
+xZ[o~_/"~C1足@@`v(;䑔fԅ-δؗD9<<x(_w?~ faT;7,AL-$K~\~.V\]Umq1)n yo.VT/3Tg,
+~r*ʝkA6&Dݐv[4qz#>F[zM ^8zu.g&V,qШYٔe=ڇ>oܝ˛='px1W}*:.fh,MeSV뢸)2f&έcȭ.o٭#|1`8G #uSYgK8#~踟i(CLG&LzF&~04*b!`w!İ8ѳ Q SܯFbPˈq&ѡ!W)ζh6Ou+3FDT q!=Fwf^ XЏXė9wS
+x%6*ղ(+Xv 7K{H1خxر5G3b9f/`&m>1q5ֺ/j4mC`G5Kt)O5j0)@<?lSۃf-$mb4FO_o Iusژ}Jۅ !˾g[h[7a'%Hٖ`(̓7UY>L[שn|l98t"M`խuḠ}Ne‡tdj_G\-z눅l~.B%F ,CJQ26@#NJOwgrM\!e%0d $Dn]s_Sfw$j(&q;@ؐҐ4ʧnL46jlyZc $ ;qCU >:쓃†@ag2ހ|/AMncfM9 x<q\__ڞ59CuTPL3$N_羚)r!q:@_5]P 3$N_r u+CA>Kϳ}UCU c(n
+B).W gsxfYz#nC{:oΐ`bA>oAЊ<Q >@ϑAga'(DʄAvW&%Qv4_ 
+hAT8 ˬAAyBX6AvCkE@e,齷!=?lG~--;x9ԩ}K%꤭*@~#xYuⅽlԟvS{뵦vOlkwIeWG ^열ibyd\ۣ,F΍SjAQW[%@\dHyWt#+{Qk|o29n eQ~ `~
+endstream
+endobj
+6688 0 obj
+<< /Type /Page /Contents 6689 0 R /Resources 6687 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6690 0 obj
+<< /D [ 6688 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6691 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 731.316 null ] >>
+endobj
+6692 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 720.357 null ] >>
+endobj
+6693 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 709.398 null ] >>
+endobj
+6694 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 698.439 null ] >>
+endobj
+6695 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 687.48 null ] >>
+endobj
+6696 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 676.522 null ] >>
+endobj
+6697 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 665.563 null ] >>
+endobj
+6698 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 654.604 null ] >>
+endobj
+6699 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 643.645 null ] >>
+endobj
+6700 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 632.686 null ] >>
+endobj
+6701 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 621.727 null ] >>
+endobj
+6702 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 610.768 null ] >>
+endobj
+6703 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 599.809 null ] >>
+endobj
+6704 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 588.85 null ] >>
+endobj
+6705 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 577.891 null ] >>
+endobj
+6706 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 566.933 null ] >>
+endobj
+6707 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 555.974 null ] >>
+endobj
+6708 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 545.015 null ] >>
+endobj
+6709 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 534.056 null ] >>
+endobj
+6710 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 523.097 null ] >>
+endobj
+6711 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 512.138 null ] >>
+endobj
+6712 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 501.179 null ] >>
+endobj
+6713 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 490.22 null ] >>
+endobj
+6714 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 479.261 null ] >>
+endobj
+6715 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 428.514 null ] >>
+endobj
+6716 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 417.555 null ] >>
+endobj
+6717 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 406.596 null ] >>
+endobj
+6718 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 395.637 null ] >>
+endobj
+6719 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 384.678 null ] >>
+endobj
+6720 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 344.516 null ] >>
+endobj
+6721 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 333.557 null ] >>
+endobj
+6722 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 322.598 null ] >>
+endobj
+6723 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 311.639 null ] >>
+endobj
+6724 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 300.68 null ] >>
+endobj
+6725 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 249.933 null ] >>
+endobj
+6726 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 238.974 null ] >>
+endobj
+6727 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 228.015 null ] >>
+endobj
+6728 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 217.056 null ] >>
+endobj
+6729 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 206.097 null ] >>
+endobj
+6730 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 195.138 null ] >>
+endobj
+6731 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 184.179 null ] >>
+endobj
+6732 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 173.22 null ] >>
+endobj
+6733 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 162.261 null ] >>
+endobj
+6734 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 151.302 null ] >>
+endobj
+6735 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 140.344 null ] >>
+endobj
+6736 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+6737 0 obj
+<< /D [ 6688 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+6687 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6740 0 obj
+<< /Filter /FlateDecode /Length 2676 >>
+stream
+xڵZo߿@
+`(7vW 3"AّŤ}HD7|Qa/~{n).d(JbE\^qΣ2[ʶrw(/'LSSQ%Uܟ9$!>Mvn4!B|r!FalG -,ջR4B#6KFQDGʔpyE
+ zɒ<+%
+yvLsL?Z0|P7Ńm}s;)#cM (xY&y}0)1TuU5ɏ<N)vխ!Jc174 ARM9NQfm`BYeʤ?t۟Ӎynuؚd2z|{sm'~~ӎ}5} CVwK'f1Ix;֦P\#J4h 0HCjĴ74whA`H*!R: z^Ee'{"Bv
+ ]"Uw8 11wU- ܗڬjs}/ _tRo<Z?T)2ga?ϰJ%+ 6h2&Js MaD:uf_LU60uyX՛]QMb2m\0 .S<7+k $ㅂ.WTL"$ u~֫_/Km`0uG&ByɛP;:`Č05Z2!4 8-'-{!LQɞ+Nd8,lZh<37]ؠTm6N%$Yfpc!6E[zWEJ@'1X튕)"|97% &jdvhDey0As,z_Sb\nk(cg"h)gxgLD3S`` фqFt2 J
+.pn/+<!hkL 9P12Ҽj$6ȘtnFã]p7hl6Wvh
+w)еn
+%wAWAiDYn(r}-=LLC:OHs*q7y.cmjAggw*pZ*mVxPJQ#v
+lUOR|SbųW1wxeP:QH}.
+ҮU=N*S/ͷ뛛~IKm^Nq: &0
+-Sك<K Sj2&J(cqr-RMI'0 11M_H0௼)dJk#
+aC9Og5!}*Bk"  yifYn͟sİUh3ICJKѭ=:6
+z`7EtdaV6=P$"C94Ů(X+OC4G}+{#V͉蝡`aXQi:+k}4ISz"e!W o+_{VΞG6ERv%C!jll>||]%<D>ߘ{ zn4Yi\@oЛ]? cm؆h_'ȆSAcP@=N8ʅlc&Й6if}:ָuĎP\ajuw^iAc?bZ-P2ȌH-trAaE+.hbVPBڴ!M7ɐ1Dja
+,n#=a9p ϑ*K5IR1ۉ#9kfkC¸vǘIțk TE
+ ih~5Cp`O5Ogݷ (V/acѝrXZ b4\%hꚘ%!ɴ\_T at/`\(rO6 ʳU⁒b&Zf5Ĕv* b`E"[{F C<$ĬF m1p)n?N]?JGr V݉!L1MĢ]O.O oM MZ#tvZ3o^i<Grk=8 ̰x\I8Œpo,̾`8cXbG2w_ez1OkLq2}d wJK|/Qrq8Y1߆@
+c}Gl|hW](j5J'UҀm7;',</䝼+ə q$D<_zf [Ӯl'gd|߃<2#*D_IuH<:W~A|tQ7X8DBR14$~Wh]`#U!y5oSLedtB҂ȴ2/ ÿ_Da(_P\wL1Iٿ޾/tQ
+endstream
+endobj
+6739 0 obj
+<< /Type /Page /Contents 6740 0 R /Resources 6738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+endobj
+6741 0 obj
+<< /D [ 6739 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6742 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 719.019 null ] >>
+endobj
+6743 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 708.06 null ] >>
+endobj
+6744 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 697.101 null ] >>
+endobj
+6745 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 686.142 null ] >>
+endobj
+6746 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 675.183 null ] >>
+endobj
+6747 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 664.224 null ] >>
+endobj
+6748 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+6749 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+6750 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 519.766 null ] >>
+endobj
+6751 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 508.807 null ] >>
+endobj
+6752 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 497.848 null ] >>
+endobj
+6753 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+6754 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+6755 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+6756 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+6757 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+6758 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+6759 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+6760 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+6761 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+6762 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+6763 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+6764 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+6765 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+6766 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+6767 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+6768 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+6769 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+6770 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 147.163 null ] >>
+endobj
+6771 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+6772 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+6773 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+6774 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+6775 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 92.368 null ] >>
+endobj
+6776 0 obj
+<< /D [ 6739 0 R /XYZ 81.077 81.41 null ] >>
+endobj
+6738 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6779 0 obj
+<< /Filter /FlateDecode /Length 2145 >>
+stream
+xڭZM8Wa6oI> d7Y zb vkF:'oHѢvВ(=XXE.6 u7/^c"'Z.n_0xAlDT3B5[nsu-JۺnxfM2)hk{wwuͳvqSBu]]t<KC}ۙ>r7Tmc=~O0g&,s¨ܬ^^=vfUk\ 8$34H~<IYYx,1w)ϓT'vlWx9}ՐQ+9ȧ/1H S. vSL]ZBUaLƾ* D_`T,$3&|L̀8SaGU5|g-3e9~՘=8Q;r0#S\oaF_~ՖѴ'\JO]F1"
+_džLecsJRh
+L-WUSWY v#¬+.+( _ 9ZUղ˗/KroyXgDSUQ$QuLK.i_rw*&8QMi] ל&s9M7ԫnXua>Ɵuc2J4?Rs oއ 8!V.1!U4A{Uaug<S5|t},nk17)PF(̓O܇re"de ]5 m1&8ȑ]Ry;(C-O2ĥ.S,1'ڞ%ùB:|+`gGuJUR vܭ)ix(#V
+>E3\_̫ue uu?2` 1rڭMG(8d"}"$}7`U
+Pa %@7A 8 ;ہ4yJ[Ƶ;"ue;V*ຳdﱊZOÉ9#tHЏ&,]n]z[d|6-ڡe
+!OET2kfX!*Ms{o>|WC;5T*C &ͧ2*= З#sWl ;<Ofn*ԭ6yՃ ë
+(~byK*Rgi9vD۷IJt
+endstream
+endobj
+6778 0 obj
+<< /Type /Page /Contents 6779 0 R /Resources 6777 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+6780 0 obj
+<< /D [ 6778 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6781 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+6782 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+6783 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+6784 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+6785 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+6786 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+6787 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 651.273 null ] >>
+endobj
+6788 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+6789 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+6790 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 618.396 null ] >>
+endobj
+6791 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 607.437 null ] >>
+endobj
+6792 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+6793 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+6794 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+6795 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+6796 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+6797 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+6798 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+6799 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+6800 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+6801 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+6802 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+6803 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+6804 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+6805 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+6806 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+6807 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+6808 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+6809 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+6810 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+6811 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 224.872 null ] >>
+endobj
+6812 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+6813 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+6814 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+6815 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+6816 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+6817 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+6818 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+6819 0 obj
+<< /D [ 6778 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+93 0 obj
+<< /D [ 6778 0 R /XYZ 79.37 111.746 null ] >>
+endobj
+6777 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6823 0 obj
+<< /Filter /FlateDecode /Length 2821 >>
+stream
+xڽ]o6}{ l\-hX`(֖RI-odQQl3W܋Eg3C&Y2]2~'fT.$]߽G23eW3j"]og3?zn&Ha¹₫ttm68"Yv=Tu*<ݟn7͇O:b$b0 !gy9+ʫbu_WF#
+,4L}`|5P ac5a?ibS !:I(ta|q 5Xu0n[$MEycu ޭ>?G#dJh*%"&
+%
+`2䬮AGQE8q~W|x
+$(;cJzݲMeǐ*/C$9'G Z@ ж
+bi[yݍg4$nBU捗<?\Vkrpi٩+EZ؄t%Ig`\].\pup{*X[얣 MSCeB#aԯT]Wưݢ8hP @t<aD(H$vu*ېŅTأO~L8N:"u\=ɧ%oDY]T{VBN۹[OE][',q-G@ZWEh;Q|(r[gm6Nɬ$׎꡻CHok#&#/pNmssNu:38*44\ItCX'\ iDx)t]N,G6'.to<΢-6 ɺ T6
+.*ECNR"eN ZGwx??TX${*9X<:td6pppBwS1ᔼ*(}F =<ڥ"`=sX#zd`usx$L/
+Hº|#a(őTN[BC8nwkt90
+3x3x(tۖc#cB=++G/,ACfzL6)HAf" x/]3^elAgz8ϳh0B:6ODl`? t b?sy&}e˜Jz1冟W
+ "\& <шyP
+GH:0%='~7sqMJqBK7κ]K kGՌQ" QiC
+pCtSc<& ߘtg[r/\|
+о0ʨs7 M }MUT
+@GGa, :QW
+DpJF81#e
+>LҎ?7wROl3G%h;_1"o)'\6.u\K.,
+CAdDWW-@|@oAd[7ob=;ZRGL5?!/KJ|u@=ww[ˊ]댼 ߛtx !B1ł
+endstream
+endobj
+6822 0 obj
+<< /Type /Page /Contents 6823 0 R /Resources 6821 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+6824 0 obj
+<< /D [ 6822 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6825 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 617.038 null ] >>
+endobj
+6826 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 568.23 null ] >>
+endobj
+6827 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 557.271 null ] >>
+endobj
+6828 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 546.313 null ] >>
+endobj
+6829 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 535.354 null ] >>
+endobj
+6830 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 524.395 null ] >>
+endobj
+6831 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 513.436 null ] >>
+endobj
+6832 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 502.477 null ] >>
+endobj
+6833 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 491.518 null ] >>
+endobj
+6834 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 480.559 null ] >>
+endobj
+6835 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 469.6 null ] >>
+endobj
+6836 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 458.641 null ] >>
+endobj
+6837 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 447.682 null ] >>
+endobj
+6838 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 436.724 null ] >>
+endobj
+6839 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 366.992 null ] >>
+endobj
+6840 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 356.033 null ] >>
+endobj
+6841 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 345.075 null ] >>
+endobj
+6842 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 334.116 null ] >>
+endobj
+6843 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 323.157 null ] >>
+endobj
+6844 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 312.198 null ] >>
+endobj
+6845 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 301.239 null ] >>
+endobj
+6846 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 290.28 null ] >>
+endobj
+6847 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 279.321 null ] >>
+endobj
+6848 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 268.362 null ] >>
+endobj
+6849 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 257.403 null ] >>
+endobj
+6850 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+6851 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+6852 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+6853 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+6854 0 obj
+<< /D [ 6822 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+6821 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F46 176 0 R /F23 660 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6857 0 obj
+<< /Filter /FlateDecode /Length 2810 >>
+stream
+xڵZmoܸ_}5+^ &m)E&mZiOzqDy]:w0$ 9y?^ݯ'xfջ͸GJ̢ H8 -7/^ YA0ؖٹb:[jp
+x ޒV}zGY "4C0tgڡoo99UWE^Iەz>^ +)kKV%>9D]k%u]W 3x|iTEӑXN}ߣQlˠꈃfp(y&FUu=ƫ5,ז~ZgIQ̟KD5jI :Rx4Uz7)e S\%tpuK
+n' L<m>LAHoULϑ<G5MDLW*|R<4Y<I8yިuU78E  jI kV(oIos91$)
+t/CʩG8uC:GH>FHzgfF#"P4QQLA*<QVH]I`~4cYWu}Lֺ ưI(Π:텝K>C9)wQp_0V(A)ִ52.p/Jv+y۩B#&MP#'=ÏrCbV=NFl=1[ Y_6$3E8Vk;az-Ej)LO%} %w EΈ;  a?m(H<ҭiv 06#ZPX Ge>3kUR
+e-}%j$ぁפ?S
+p@e׸@}~4S Z~ez=D̤A<ɕ'ƧH::`<`)yMksA5hw$ƬfblpY-iT}c';m [:g]ˋN/6\Ar̰l.@6>F+9
+q*{)<ppb]&|YnҞfnpM=f]7L} iw,>NS0MnY
+UiouMV<,aCxeY/yy] A#>=,3
+` r |ݾ{16 Gk'琁Ti[rnI˩" |&?nG4Lһ&JzZ=h8L>3DђE޴]mDxD$1]1  -GfuO nkt{ðL!5q\ Kz`Tp7j||3$G_A/s(T?ji !܈%=d3jAe5CQ(KzWޕվ<JI/w×4"JM4F%%DLy1_ ,4A^yg+p`Q
+FO]>zgJy(q߲t'w7iGxڬ.FY <焉5pz8K7C
+gloi?Α}^-lv?>l"v9%mhVe_mR嶴<q$swN+Ӓ~<a%08+ M](ᙦfmWڶyU GK\b]]e7yp"Gen$CaS}^?W{gAv]9E2,-3C7F(/-NI?Õ6IC24)3yUUҤѥ=F_w,q|ZWl}{YkB޳ݦԽ7"ȸ, r$YtAM$5`Vʰ*7} -ffe&%*f/իDXu|=}"B1TM4F0DKJ^NBrXHS!ECVKwK H%-n ۤ~Y.G&al-]?L^K93"^_@ 8Pw)IG
+I~e'-ҡ
+endstream
+endobj
+6856 0 obj
+<< /Type /Page /Contents 6857 0 R /Resources 6855 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+6858 0 obj
+<< /D [ 6856 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6859 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6860 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6861 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6862 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6863 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6864 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6865 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+6866 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 615.779 null ] >>
+endobj
+6867 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 604.82 null ] >>
+endobj
+6868 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 593.861 null ] >>
+endobj
+6869 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 582.902 null ] >>
+endobj
+6870 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 571.943 null ] >>
+endobj
+6871 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 560.984 null ] >>
+endobj
+6872 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 550.025 null ] >>
+endobj
+6873 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 473.328 null ] >>
+endobj
+6874 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 462.369 null ] >>
+endobj
+6875 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 451.41 null ] >>
+endobj
+6876 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 440.451 null ] >>
+endobj
+6877 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 429.492 null ] >>
+endobj
+6878 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 418.534 null ] >>
+endobj
+6879 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 379.025 null ] >>
+endobj
+6880 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 368.066 null ] >>
+endobj
+6881 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 357.107 null ] >>
+endobj
+6882 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 346.148 null ] >>
+endobj
+6883 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 335.189 null ] >>
+endobj
+6884 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 324.23 null ] >>
+endobj
+6885 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 313.272 null ] >>
+endobj
+6886 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 302.313 null ] >>
+endobj
+6887 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 291.354 null ] >>
+endobj
+6888 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 280.395 null ] >>
+endobj
+6889 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 211.452 null ] >>
+endobj
+6890 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 200.493 null ] >>
+endobj
+6891 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 172.94 null ] >>
+endobj
+6892 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 161.981 null ] >>
+endobj
+6893 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 151.022 null ] >>
+endobj
+6894 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+6895 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+6896 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+6897 0 obj
+<< /D [ 6856 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+6855 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F80 749 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6900 0 obj
+<< /Filter /FlateDecode /Length 2113 >>
+stream
+xZ[o~ϯ0pj.-9hd<t Aq]YJl)EkǙ!gg3<
+wHoW?>(6hl}E`H5S ,lc.ԋx#L##%C0?7Ⱦ%M-Wbq-pO?}Jm%e#e95FS&!Q_ 3* b 1D ˓zO:oļ&L eLy/l^,?To=}3*o͏;0)ʷTfX!YoU*P̟v36tcV4,­A5/d5:G@ c(e,Ńg󺴟s?< U[Cͷm}h^5(NQ79wX `3u`)fBսΓCV/WeɽoɶC\ '򰭷eb͒F"7D;MuOjٲ(VHCVuϊ;7kqML`@_cVCqĴz8=藓Dqڑ . ]xy, ײlmY,)z(d١QcW5?N.lAU v%v{,Qr Zd3INfƶ~%WfT^TS[?oi"4c*ʻ,70Rx7 ~:1h=r((UVറy[O^#y-ֹ+ko-E^CJ[+.6*!Ù
+&63 [B,=?o͏f1>}h!CKlQ鉙KhČ]?*zti>,-lZmlo5e7fveі0k'h m]wuؖ)XHWe1fjN\zA? % w5ǥ6'#{3󘅗596h:cl|]>qhID* 54)809D$3+Ztl ˨8Ct4pjDH$@w)$lY{~%WCĄ!:~1w6e[zwwgQ\7б!|^3$ʦ
+]݌ ^}ј=8z_QqY1Ap15C@@HwܾfċZs(e.IX]ш(uH! /^<膋h(J8賵#eGDTpoonlsoG޺wk,s9Qe E'sBdѡJ8CLyb&4*TCA@<Q5C UJF SjA<^NqhG2PqOd"K 37s8cFtլHhOdbPZ
+endstream
+endobj
+6899 0 obj
+<< /Type /Page /Contents 6900 0 R /Resources 6898 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+6901 0 obj
+<< /D [ 6899 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6902 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6903 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6904 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 715.033 null ] >>
+endobj
+6905 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 704.075 null ] >>
+endobj
+6906 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 693.116 null ] >>
+endobj
+6907 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 682.157 null ] >>
+endobj
+6908 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+6909 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+6910 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+6911 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 584.523 null ] >>
+endobj
+6912 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 573.564 null ] >>
+endobj
+6913 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 562.605 null ] >>
+endobj
+6914 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 551.646 null ] >>
+endobj
+6915 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 540.687 null ] >>
+endobj
+6916 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 529.728 null ] >>
+endobj
+6917 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 518.769 null ] >>
+endobj
+6918 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 507.811 null ] >>
+endobj
+6919 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+6920 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+6921 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+6922 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+6923 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+6924 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+6925 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+6926 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+6927 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+6928 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+6929 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+6930 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+6931 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+6932 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+6933 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+6934 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+6935 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+6936 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+6937 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+6938 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+6939 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+6940 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+6941 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+6942 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+6943 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+6944 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+6945 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+6946 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+6947 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+6948 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+6949 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+6950 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+6951 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+6952 0 obj
+<< /D [ 6899 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+6898 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6955 0 obj
+<< /Filter /FlateDecode /Length 1754 >>
+stream
+xڵZMo6Wd0&Cl(P
+n!(2%$&l~8ެǻDG!gP vwW$Oogg׷M8J4at2_#<!-$j$AX|5\\3ݍu}+FL` J˴8T@[\Fx{.ezsuSMsSmjI)#_.[nj]9޺OKͧV}>w}T# ջ.jw2+[3'NeLT88Ɗ"Ac0|j,M͏Z0$sD [77H5{7<nn"Eh܂ *VH /o|NMݙ3l]y紂,*̓۟/5d1B *N1e4/Mքq;iW<~IMizr$ą-0!h{=_PΊuM4~/ZUwI!O0 +$F`h'r:\ԝQ:Ebʉ;RM1"t'q"@hGhpő;u|.[պ{>Y*B2+ؑRMbeM4w$K8 2s NBŽP' &z$B!D%02
+
+;DvmݺdM=2,x]~V+e~P#%d+_zދzsWxkm{ˀӶ`)C7Yb9DEo,DSRWϗ]*59hfU}t̮}Z? #>KEٗ4+_Pj K>|Cc/_b_k[ 5&]O1GS~i7B'T(p-$,E,ۿCOEYe~hf46vEr[޲sOʬzk!S/gcL 4Fhxq/a'zxiԛuzg
+S̬A~JH$ĉ z'bw9yTb*տ)T0[BKe=[iˆcqa请\9Sjzn# :B !,*1z
+?P6_C5 )Q]JJĹuEaBbP ѻ3̬{hLe}if9I /Q<4Nz^҄ٵ{A="]2P76]doZ.$w`*Bvӽa\{ 'dw?϶
+endstream
+endobj
+6954 0 obj
+<< /Type /Page /Contents 6955 0 R /Resources 6953 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+6956 0 obj
+<< /D [ 6954 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+6957 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6958 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+6959 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+6960 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+6961 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+6962 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+6963 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+6964 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+6965 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+6966 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+6967 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+6968 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+6969 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+6970 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+6971 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+6972 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+6973 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+6974 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+6975 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+6976 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+6977 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+6978 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+6979 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+6980 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+6981 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+6982 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+6983 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+6984 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+6985 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+6986 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+6987 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+6988 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+6989 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+6990 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+6991 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+6992 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+6993 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+6994 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+6995 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+6996 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+6997 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+6998 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+6999 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+7000 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+7001 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+7002 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+7003 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+7004 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+7005 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+7006 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+7007 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 167.088 null ] >>
+endobj
+7008 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+7009 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+7010 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+7011 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+7012 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+7013 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+7014 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 90.376 null ] >>
+endobj
+7015 0 obj
+<< /D [ 6954 0 R /XYZ 81.077 79.417 null ] >>
+endobj
+6953 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7018 0 obj
+<< /Filter /FlateDecode /Length 1919 >>
+stream
+xZKoFWV7&WE#E|k
+(E*ʎwV$\9<2&NV:pF_Hbb&zy`If$ҌP&כSs{m&11Zx fdBG;[.D„LjMzSf:P\M?*/pHf{,tI¤e)N1z$S/ݞD,K/É5F׫ζE>Om6+9ovݢ'^̋* Kq?FCM5Z36D
+~bDF>1*h:L%elH$;5uzm}ZFؠp8i]Sϳ(
+f;uVdii:M5[EgvKG tgП,lUn-J .Ϯ}:IC AS\2 оA T
+FbCo#bQ{! C f g<c4<&:Irqvo&[}8w
+iX6Ht~w~!]¾"ZdWg:;v#tܜs=}$9&<0?iXpҞCtSBGo.Hw
+{qe/'gP9;PTu&_d'!iz4ض1\;UԮS>u
+& i ;+Vah*a݉y7
+Ew1`ch~eA")΍1E  Ў-|d]Qlb 4Q%ҙB}bУnw6Z/_EMZֶ7~႙}偬/OR_3\_kw}
+endstream
+endobj
+7017 0 obj
+<< /Type /Page /Contents 7018 0 R /Resources 7016 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+7019 0 obj
+<< /D [ 7017 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7020 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7021 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7022 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7023 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7024 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7025 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7026 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7027 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+7028 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+7029 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+7030 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+7031 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7032 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7033 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7034 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7035 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+7036 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+7037 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+7038 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 541.684 null ] >>
+endobj
+7039 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 530.725 null ] >>
+endobj
+7040 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 519.766 null ] >>
+endobj
+7041 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 508.807 null ] >>
+endobj
+7042 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 497.848 null ] >>
+endobj
+7043 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+7044 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 475.93 null ] >>
+endobj
+7045 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 464.971 null ] >>
+endobj
+7046 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 454.012 null ] >>
+endobj
+7047 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 443.053 null ] >>
+endobj
+7048 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 432.094 null ] >>
+endobj
+7049 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 421.136 null ] >>
+endobj
+7050 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 410.177 null ] >>
+endobj
+7051 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 399.218 null ] >>
+endobj
+7052 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+7053 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+7054 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+7055 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+7056 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 272.692 null ] >>
+endobj
+7057 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 261.733 null ] >>
+endobj
+7058 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 250.774 null ] >>
+endobj
+7059 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+7060 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+7061 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+7062 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+7063 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+7064 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+7065 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+7066 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+7067 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+7068 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 141.185 null ] >>
+endobj
+7069 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 130.226 null ] >>
+endobj
+7070 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 119.268 null ] >>
+endobj
+7071 0 obj
+<< /D [ 7017 0 R /XYZ 81.077 108.309 null ] >>
+endobj
+7016 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7074 0 obj
+<< /Filter /FlateDecode /Length 2422 >>
+stream
+xڽZKoϯ0Ј$,0Ef
+8]sOu=E^,&c¨6Ph0
+|n6w`yv<ߩ F4n[A5=!
+M6 gTZ A:uՖv]*GKzϐC-CMGsh @(QW- I ni0n45{g/"E8>e$f0$ezuW@00
+$/u~ }Ҝ"w mOgk8~Q]`ŌG7YZaPMd*L $媲wհ5܇&{DE?Ǯm8:Ǚi~yz]`}U`O}<DiխpqظUhÖ>\MbǴ#Ǫ[ MhݱLűjIM N[$6ChnZͮ;ggC[mb8+zLwdү<bBbT4 KNIe-8R55
+*/[c@q &rۃ3r2?{V"y!<3wiR:X`-ر'zBIJ!_(l
+endstream
+endobj
+7073 0 obj
+<< /Type /Page /Contents 7074 0 R /Resources 7072 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+7075 0 obj
+<< /D [ 7073 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7076 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+7077 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 731.97 null ] >>
+endobj
+7078 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 721.011 null ] >>
+endobj
+7079 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 710.052 null ] >>
+endobj
+7080 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 699.093 null ] >>
+endobj
+7081 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 688.134 null ] >>
+endobj
+7082 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 677.175 null ] >>
+endobj
+7083 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 666.217 null ] >>
+endobj
+7084 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 655.258 null ] >>
+endobj
+7085 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 644.299 null ] >>
+endobj
+7086 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 633.34 null ] >>
+endobj
+7087 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 622.381 null ] >>
+endobj
+7088 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 611.422 null ] >>
+endobj
+7089 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 600.463 null ] >>
+endobj
+7090 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+7091 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 507.361 null ] >>
+endobj
+7092 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 496.402 null ] >>
+endobj
+7093 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 467.511 null ] >>
+endobj
+7094 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 456.552 null ] >>
+endobj
+7095 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 445.593 null ] >>
+endobj
+7096 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 434.634 null ] >>
+endobj
+7097 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 423.675 null ] >>
+endobj
+7098 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 412.716 null ] >>
+endobj
+7099 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 401.757 null ] >>
+endobj
+7100 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 385.817 null ] >>
+endobj
+7101 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 374.858 null ] >>
+endobj
+7102 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 363.899 null ] >>
+endobj
+7103 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 352.94 null ] >>
+endobj
+7104 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 310.101 null ] >>
+endobj
+7105 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 299.142 null ] >>
+endobj
+7106 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 288.183 null ] >>
+endobj
+7107 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 277.224 null ] >>
+endobj
+7108 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 212.467 null ] >>
+endobj
+7109 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 201.508 null ] >>
+endobj
+7110 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 190.549 null ] >>
+endobj
+7111 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 179.59 null ] >>
+endobj
+7112 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 168.631 null ] >>
+endobj
+7113 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 157.672 null ] >>
+endobj
+7114 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 146.714 null ] >>
+endobj
+7115 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 135.755 null ] >>
+endobj
+7116 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 124.796 null ] >>
+endobj
+7117 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 113.837 null ] >>
+endobj
+7118 0 obj
+<< /D [ 7073 0 R /XYZ 81.077 102.878 null ] >>
+endobj
+7072 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F80 749 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7121 0 obj
+<< /Filter /FlateDecode /Length 1601 >>
+stream
+xZ]o6}ϯ! ? l(
+,=:J-TRIm2-tT鶗(ux%yϽDgoftgqk9[_1h36333l}3kŠy8.m]un6ݻƇ?ؼws쟽#׿WNʝ#}ńgϲUvye;גqbQOweUyZ“w]Mg7s4F﴾Dž8r9FNopAK:\~ p؈$2c&5g57wpX&,63É)\q}-j7{pFuU\747 ڱN
+g;FFۦzm-`==Lܦ͛b[SMhk?`$ PT`aFHi;ʹe 'bw5 C(
+t$]YnZ}_Bpb 觊2XZ$&ht (գ@Nj9͡>U!Dq ,v]v]銫6J0?]&Y"\67Q&K`HMjI) eTP _C^-w_5m/;"ZB:M a& 뒥hKb!.$! xװk4# D[+tPNm)}&85GiN[[ɺ_ըq#tRqey#'^uryqƻ?3h)gq!>Jَ0e=Ȳ1aJ-T. jb S RR"?A+z',dWkM+p|c4z1N8nm:H̳<u_HkZm7FSJN(1?RN5sdNt)jgQTT>!= pp(Z <
+:$Jx%m O0 AmkMpDm4޶B
+VV/˦펾U[3_.]͕o>iWTѻӮC<`I /F:#10)3lcqCtA&?àP,l0FEUCL3!Q00 )lO,>+t
+endstream
+endobj
+7120 0 obj
+<< /Type /Page /Contents 7121 0 R /Resources 7119 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+7122 0 obj
+<< /D [ 7120 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7123 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 742.982 null ] >>
+endobj
+7124 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 732.023 null ] >>
+endobj
+7125 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 721.064 null ] >>
+endobj
+7126 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 710.105 null ] >>
+endobj
+7127 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 699.146 null ] >>
+endobj
+7128 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 688.187 null ] >>
+endobj
+7129 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 677.228 null ] >>
+endobj
+7130 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 666.269 null ] >>
+endobj
+7131 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 655.31 null ] >>
+endobj
+7132 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 644.351 null ] >>
+endobj
+7133 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 633.393 null ] >>
+endobj
+7134 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 622.434 null ] >>
+endobj
+7135 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 611.475 null ] >>
+endobj
+7136 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 600.516 null ] >>
+endobj
+7137 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 589.557 null ] >>
+endobj
+7138 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 578.598 null ] >>
+endobj
+7139 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 567.639 null ] >>
+endobj
+7140 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 537.124 null ] >>
+endobj
+7141 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 526.165 null ] >>
+endobj
+7142 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 515.206 null ] >>
+endobj
+7143 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 504.247 null ] >>
+endobj
+7144 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 493.288 null ] >>
+endobj
+7145 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 482.329 null ] >>
+endobj
+7146 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 471.37 null ] >>
+endobj
+7147 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 460.412 null ] >>
+endobj
+7148 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 449.453 null ] >>
+endobj
+7149 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 438.494 null ] >>
+endobj
+7150 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 427.535 null ] >>
+endobj
+7151 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 416.576 null ] >>
+endobj
+7152 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 405.617 null ] >>
+endobj
+7153 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 394.658 null ] >>
+endobj
+7154 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 383.699 null ] >>
+endobj
+7155 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 372.74 null ] >>
+endobj
+7156 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 361.781 null ] >>
+endobj
+7157 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 350.823 null ] >>
+endobj
+7158 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 339.864 null ] >>
+endobj
+7159 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 328.905 null ] >>
+endobj
+7160 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 317.946 null ] >>
+endobj
+7161 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 306.987 null ] >>
+endobj
+7162 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 296.028 null ] >>
+endobj
+7163 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 285.069 null ] >>
+endobj
+7164 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 274.11 null ] >>
+endobj
+7165 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 241.655 null ] >>
+endobj
+7166 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 230.696 null ] >>
+endobj
+7167 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 219.737 null ] >>
+endobj
+7168 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 208.779 null ] >>
+endobj
+7169 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 197.82 null ] >>
+endobj
+7170 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 186.861 null ] >>
+endobj
+7171 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 175.902 null ] >>
+endobj
+7172 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 164.943 null ] >>
+endobj
+7173 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 153.984 null ] >>
+endobj
+7174 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 143.025 null ] >>
+endobj
+7175 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 132.066 null ] >>
+endobj
+7176 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 121.107 null ] >>
+endobj
+7177 0 obj
+<< /D [ 7120 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+7119 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7180 0 obj
+<< /Filter /FlateDecode /Length 3207 >>
+stream
+x\Ko#7W^vLiI,
+:çaJE` v,nuL$s34\e%ᵎኢp3a8z \؈Jh.߯fຟ4'<Ŧ!wIO<nGm2> ):pnb~-{+hlE#@n"ofEƤ-겱ϵ/v|v ܋H~-+ "mbdő(Ks7)zٺw=
+\FOAIFwoV D+غ8I :nQVi2뗔P{{]&vi$De*~HBZHY%.f9]66K 8ʼnce'..>R2bDLd_8@/mB?̦u'Z )(1&V QV2kk.nŮXhi|`G SiY/e---]f+I3~ BLȺlbkK:_I;FXCjdEYYnb}YѤ61J^
+DiZb,EYt_?KZG$iF&{Bظ|HAUi{g=gp"0eȰWPsFVS`7]3kַvٮ8*Z"U1dY߻>dUSʭ%"mpEϬ hB03*+*v?,rYDؘUY]ɬSsGqJtVc H{rUvBȬ6]m~kO ŜT&l0-뱘Nl? sTZ% N:M^Oǔr$]ڠLzŭ
+h*@Y]ʬcx}l<#A0&f~]`.. :o
+cfb״(̺,.0mQ`Yef4h^qR+eO2kk;&$6_tY̬*:|>}H)KRXtYˬSϞ5{ RuYʬڻ]Z=/P6e`kv/Ҟ KBf=Q[K̕d-R*
+&Wwń[y~Y.7L\oH 0s>{U]5;ns34ïM׵[Çquo>vy=vDBs?pX({oeϯv>6`7nҟk.]pXj<O^ls6YcYˠP ܢÓm?LnZ!@z='b ݗYcm86G-~)'ceOjb_A-Ѩ#͉8,'6"J8d(̑ɲ4<Q hP]ZkeEHB{BZNoj,WluPW} ¸5XUsUCm`(xsZ!N2% ?lU %
+V*O_ =;>W>O-l38W_#K@PO
+.}8LSZכ%ikLSMS̃?NMijx0+& Qă x>M~6^mqk>6x푉&~f|;0gI)ьR|yD3:0'bJ1 e`" LS7_(|?
+ m~I8h?Cކ{Bg'/KE $rD0$~= _de ={I4372Җr3UPRyèuz1"QW{Rj% "C%ca:" OUλũ;$QBD!f`RD0`{7 fDtYN
+w'oݣ !
+S%3$B i%q܌V h%: E7 0mb șfRFp 3X$wrKzDv֓}f,0w!Ҁ
+Rc̐饻Mc81E$ h9qÊD6pb8̕prRqF5:';}r$H7I%E ;@IN3
+ X4?- XߪYscW91ܝ8^6HuO;$B i%q܌ V0= QJvZrʼnAHrE!QK=.NbzRIzzӌ€F),f׮>H 7)Jd;$B i@%q܌ V (}
+endstream
+endobj
+7179 0 obj
+<< /Type /Page /Contents 7180 0 R /Resources 7178 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+7181 0 obj
+<< /D [ 7179 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7182 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7183 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7184 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7185 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7186 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7187 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7188 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7189 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+7190 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+7191 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+7192 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+7193 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7194 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7195 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7196 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7197 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+7198 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+7199 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+7200 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+7201 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+7202 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+7203 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+7204 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+7205 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+7206 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+7207 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+7208 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+7209 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+7210 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+7211 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+7212 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+7213 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+7214 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+7215 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+7216 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+7217 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+7218 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+7219 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+7220 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+7221 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+7222 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+7223 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+7224 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+7225 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+7226 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+7227 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+7228 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+7229 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+7230 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+7231 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+7232 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+7233 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+7178 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F32 1809 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7236 0 obj
+<< /Filter /FlateDecode /Length 3632 >>
+stream
+x\o7_;1\Z\
+p[[%GZI7peYK=ggJ'7:ᄆO7']}[JN.O0 hKJFnOLȫY~u,m[|?ҊTqug/ܿJJEVݮu#7 ,`F" 젒;UU^/dd}/S+*NPIC 36 Y%xgqY"jJɧ äV 89YON>L$ְQBH _J?}q7^"LdĂAGSēO27~!x.πo`J) ߳gA_*{_?~%Ƣ3 y4vDP+(FOQN.QX's
+3VZoRH,jp uP&#ndo{q4s%r
+Cy6o`2gX҆H7Du r7M/% AjpLԈ}`t4z0@L +$T// !(CL`8lBR6]Tf.`DYajˆiƙ6@dB| g5 8jh^bD =5Q)vbTTHPKYDT tZ0//HpAD`9 }ÌCR7
+M",AU<mÌAж5x&*>D*S=TR0^+CY3MΨ&%`ǓEi\d`bD0==Ii-)8L x<g iqЙ  5xbr<Q]B ČFP7'*'a h(pi\0GTn*d|覆GB:4J: '2St$ӝA8'Azګ*Oyڤ;"\O0X l]?^~.{7n̚_acvVҚvqv0QcC(cqc!1vnoö.6DBf237b[wWs5mYo>+PA ebiomM0sV_Wr +=:UfY~l7iZ5{0(FŠ2Paigֲb=0 W3`
+?]Acbbl,|Ϸb}9OLGxR
+CbxQvd~>)KGoGGa x/p&]"|=)Tc1qYQ
+
+0qgc2nXwa{Ρf_6kyl7Ġh\ƅY`zsŇzd|%!5q7>2ombWw-"FBCٞҵoaDh37wo)~]T;C5aw{׊2<Ӓ{#0Acۃd.J7_\)DZQ&\¨}0s8E)..Ҹ>FxV _g ʭbFpUF),94o/-(eW!\9pV|XѸ]ѫv2JrIj̙*h7'\Y!FeKォghڿI=' Blvʅ.hp{ں.N]|}$ v>nVx>&p hm1Su*)sM?p<.AD-PhtI~5]_!iݎ@={g +#2O{;oߥS
+ 9J@92?XGx^Y'*B&ٍkӟ)ٶ3@A ?nd$f(dev3鯨k?TKͤQuw~ɺ2[s TQ) 4o/> v]eM<Xs,CXb~Ա)fe P&.Q0Q ++EeR&]3&^ ~$P@+E4BR&XgFPeכ,HwLz,BC-_Ŭr3>&wqps!_@IlLϘumx
+endstream
+endobj
+7235 0 obj
+<< /Type /Page /Contents 7236 0 R /Resources 7234 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+endobj
+7237 0 obj
+<< /D [ 7235 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7238 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 687.148 null ] >>
+endobj
+7239 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 676.189 null ] >>
+endobj
+7240 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 665.23 null ] >>
+endobj
+7241 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 654.271 null ] >>
+endobj
+7242 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 643.312 null ] >>
+endobj
+7243 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 632.353 null ] >>
+endobj
+7244 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 621.394 null ] >>
+endobj
+7245 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 610.436 null ] >>
+endobj
+7246 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 599.477 null ] >>
+endobj
+7247 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 588.518 null ] >>
+endobj
+7248 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 577.559 null ] >>
+endobj
+7249 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 566.6 null ] >>
+endobj
+7250 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 555.641 null ] >>
+endobj
+7251 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 544.682 null ] >>
+endobj
+7252 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 533.723 null ] >>
+endobj
+7253 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 490.94 null ] >>
+endobj
+7254 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 479.981 null ] >>
+endobj
+7255 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 469.022 null ] >>
+endobj
+7256 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 458.063 null ] >>
+endobj
+7257 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 447.105 null ] >>
+endobj
+7258 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 436.146 null ] >>
+endobj
+7259 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 425.187 null ] >>
+endobj
+7260 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 414.228 null ] >>
+endobj
+7261 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 403.269 null ] >>
+endobj
+7262 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 392.31 null ] >>
+endobj
+7263 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 381.351 null ] >>
+endobj
+7264 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 370.392 null ] >>
+endobj
+7265 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 359.433 null ] >>
+endobj
+7266 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 348.474 null ] >>
+endobj
+7267 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 337.515 null ] >>
+endobj
+7268 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 326.557 null ] >>
+endobj
+7269 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 315.598 null ] >>
+endobj
+7270 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 262.908 null ] >>
+endobj
+7271 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 251.949 null ] >>
+endobj
+7272 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 240.99 null ] >>
+endobj
+7273 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+7274 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+7275 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+7276 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+7277 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+7278 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+7279 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+7280 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+7281 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+7282 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+7283 0 obj
+<< /D [ 7235 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+7234 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F32 1809 0 R /F23 660 0 R /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7286 0 obj
+<< /Filter /FlateDecode /Length 1919 >>
+stream
+xڭZMo8W3aߢ4vrX63IȒWN7OQ)Rq;.g/-鑯ŪWt,vDO\||&I)g
+/%3:KQTϴ$Qtv9Wt,%F)`Q.M7x)ovv29swf[ڬ+Io 5uv|]؁޷xk÷?Y?{|G {l`1D&!nɳU<yt;> >]^Tx?DO;?7K -0&]!jŖ M춍=7DER = =銚S"hC)wQz
+"ܿ!lxY&Di_Bѫ.p'*4P/E3+;kD˱ܞLy3}>ޓ08!:ZS^.WwG$όGI &!?`$>U ;DӍ`f̊oq}}5#CiȖev.XGh$$a36b.D9#jq]ݼa~4!4
+&DP"-ub®ojʩ=7n4s-Ɛdl)EhiJP#Bҫ~TWᜟثH8Gح
+R2υK^hvjڵq!y YO븊E ?BXt{ؾC&wa@FWҮ)e&
+K!|QD0$$-B;wl}lnr)t AH)y$36~qvD&pSz|ZOUv(!cBނKFG
+}~8Llj'͹iFQڗMd?71ǹQ%;4ǘۯLwIWU" @TCc=@Dح˺,ډ{c~s4%Ʃ!Ex:nX
+f5 K+P:BXo~I]oˮؔŲ^V9W˽8B},6ٓmb/hf;$*^w\y9y݃볦29/4geGCBߖx-p+B4Q
+/UBE 5I/:F(Ehh
+҅N.6!ZYȅi= Π}Fr ]S !_רHf52COQ*g&'p„%->]j Sjfn?~.
+endstream
+endobj
+7285 0 obj
+<< /Type /Page /Contents 7286 0 R /Resources 7284 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7287 0 obj
+<< /D [ 7285 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7288 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7289 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7290 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7291 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7292 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7293 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7294 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+7295 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+7296 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+7297 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+7298 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+7299 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+7300 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+7301 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+7302 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+7303 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+7304 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+7305 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+7306 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+7307 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+7308 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+7309 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+7310 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 426.117 null ] >>
+endobj
+7311 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 415.158 null ] >>
+endobj
+7312 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 404.199 null ] >>
+endobj
+7313 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 393.24 null ] >>
+endobj
+7314 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 382.281 null ] >>
+endobj
+7315 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+7316 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+7317 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+7318 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+7319 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 322.505 null ] >>
+endobj
+7320 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+7321 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+7322 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+7323 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+7324 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+7325 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+7326 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+7327 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 224.872 null ] >>
+endobj
+7328 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+7329 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+7330 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+7331 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+7332 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+7333 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+7334 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+7335 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+7336 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+7337 0 obj
+<< /D [ 7285 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+7284 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7341 0 obj
+<< /Filter /FlateDecode /Length 2216 >>
+stream
+xڽZ[o~_a/0~1ŢEgECvbˉEr%y2=%zә%H~sSvg_} #;xFf fJ%]?~uCX]\2*:*>c悑{
+0+YS$u_3q/L$˼vMeF[悪-^dޕ%iLq1ieUcX!*L . r1$|&_yߖ_?mK a: `)"{ c^6B}r>(|By^m ם֪ƹHUCT)cHj3 nc"L<&/ EJPj쪏NSi<<ʽ<N˶6*Bg,pٻֲsmbwE͠Vo+ 㕀1?=&Q3
+1!T'#mX ~}ݴ?lq+ODZM#{ N!0\_^GFF)D_Gs)n~( npB`G`eciX,6p̂3'
+~1$sVJ=gugB"F?'-O2>mm
+7mEmr[\dUeVZf0*'h.4i<C <B3jF4DN*hϢ(Zz$fl,_O]WD4<QF4D[Byu=}v?;?о Pp#?kI,uu}q8Q˾8czrO{@FFpVm>8Kz״左-y\gj>4LVtnz7./Mƍ\'7&wNC <xy
+I ۾\$1]p<a~"nu5!y\%Aá9
+rb|áQ|. Ea!iB+~ nNj-6%[QRUt8&IN- Ku
+!x쿸]AqD1AIxB;R#a#W}
+endstream
+endobj
+7340 0 obj
+<< /Type /Page /Contents 7341 0 R /Resources 7339 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7342 0 obj
+<< /D [ 7340 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7343 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 694.652 null ] >>
+endobj
+7344 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 683.693 null ] >>
+endobj
+7345 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 672.734 null ] >>
+endobj
+7346 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 661.775 null ] >>
+endobj
+7347 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 650.816 null ] >>
+endobj
+7348 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 639.857 null ] >>
+endobj
+7349 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 628.898 null ] >>
+endobj
+7350 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 562.149 null ] >>
+endobj
+7351 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 551.19 null ] >>
+endobj
+7352 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 540.231 null ] >>
+endobj
+7353 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 529.272 null ] >>
+endobj
+7354 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 518.313 null ] >>
+endobj
+7355 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 507.354 null ] >>
+endobj
+7356 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 496.395 null ] >>
+endobj
+7357 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 485.436 null ] >>
+endobj
+7358 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 474.477 null ] >>
+endobj
+7359 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 458.537 null ] >>
+endobj
+7360 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 447.578 null ] >>
+endobj
+7361 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 436.619 null ] >>
+endobj
+7362 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 425.66 null ] >>
+endobj
+7363 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 414.701 null ] >>
+endobj
+7364 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 403.743 null ] >>
+endobj
+7365 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 392.784 null ] >>
+endobj
+7366 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 381.825 null ] >>
+endobj
+7367 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 370.866 null ] >>
+endobj
+7368 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 337.989 null ] >>
+endobj
+7369 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 327.03 null ] >>
+endobj
+7370 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 284.191 null ] >>
+endobj
+7371 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 273.232 null ] >>
+endobj
+7372 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 262.273 null ] >>
+endobj
+7373 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 246.333 null ] >>
+endobj
+7374 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 235.374 null ] >>
+endobj
+7375 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 224.415 null ] >>
+endobj
+7376 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 213.456 null ] >>
+endobj
+7377 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 202.497 null ] >>
+endobj
+7378 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 191.538 null ] >>
+endobj
+7379 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 180.579 null ] >>
+endobj
+7380 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 169.621 null ] >>
+endobj
+7381 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 158.662 null ] >>
+endobj
+7382 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 147.703 null ] >>
+endobj
+7383 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 136.744 null ] >>
+endobj
+7384 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 125.785 null ] >>
+endobj
+7385 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 114.826 null ] >>
+endobj
+7386 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 103.867 null ] >>
+endobj
+7387 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 92.908 null ] >>
+endobj
+7388 0 obj
+<< /D [ 7340 0 R /XYZ 81.077 81.949 null ] >>
+endobj
+7339 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7391 0 obj
+<< /Filter /FlateDecode /Length 2329 >>
+stream
+xZo~_> K
+zEP@Цnb1k!Jrr!)Ѥ8f\+G G3ߌ''x H;?^]&lQF'׷'& ILIdr8ӟ:$E,eH
+.+!II(P& Zۦ)BՃv>ퟱcN$Nb'/G]gj>E;b8qJQJhg$d
+iVhqzh4!:s2s-{y[$E"s ̅ZFRg[dpM\DdGD)@
+}$e]#K V~{~uCd9x[w-pWĩ遏5辶d(Ŏ#9! {sw&>`2`h~3Vv?O\#UIyM"HS!HM)MBtImWH ,X;מAhOhP
+f
+ dO \C`0긁}AbF  / mξwvx8[Gޭ#ÊPmVs8,ʊ<Ӓ<'QYh6d9.R^u ؛i<1><fݴ|(H7 GaΜ֌bceC^FaP}I\ o˟Tw!k 8bRwa9~GѠZ!t03Otw6ЯA`kV#'0\聥ίYf\rDbc
+ l][:qVY7tֳ-Kef$Ai⒉KzSC}8>??-+_!}uѨP# @ӗP-f~[GM=rda2b(y?
+˄BpWALCptGL8F)İBtMD2*I(&3e+&"!Ey7 H]7l"f2{6Vʐ(+X>(W+10ΨqČR像8mA@x n%RNfGz>|0
+endstream
+endobj
+7390 0 obj
+<< /Type /Page /Contents 7391 0 R /Resources 7389 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7392 0 obj
+<< /D [ 7390 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7393 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7394 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7395 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7396 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7397 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7398 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7399 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7400 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7401 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7402 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7403 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7404 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+7405 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+7406 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+7407 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+7408 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+7409 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+7410 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+7411 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+7412 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+7413 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+7414 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 428.109 null ] >>
+endobj
+7415 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 417.151 null ] >>
+endobj
+7416 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+7417 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+7418 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 384.274 null ] >>
+endobj
+7419 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 373.315 null ] >>
+endobj
+7420 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 362.356 null ] >>
+endobj
+7421 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 351.397 null ] >>
+endobj
+7422 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 340.438 null ] >>
+endobj
+7423 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 329.479 null ] >>
+endobj
+7424 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 318.52 null ] >>
+endobj
+7425 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 307.561 null ] >>
+endobj
+7426 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 296.603 null ] >>
+endobj
+7427 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 285.644 null ] >>
+endobj
+7428 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 274.685 null ] >>
+endobj
+7429 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+7430 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+7431 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+7432 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+7433 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+7434 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+7435 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+7436 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+7437 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+7438 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+7439 0 obj
+<< /D [ 7390 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+7389 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7442 0 obj
+<< /Filter /FlateDecode /Length 2330 >>
+stream
+xZ[o6}ϯ0sx`m;-
+4 ,C[Be#ɤ(FJϼKlQ:x9 ~'_W?lƑV̔D@%ݯgͥ_w(L!-%Sc0L躨l.BP1GQM2Mdy؏&;)#iG:~1uRGo-ihkb?\ӈpBE]'6X&H~'?EVInd}CXn$4O^U(DϋĨp_D4@cH fRkDu;+XRce `~'u/Ke曞e-g5FuwfA3c([sJJ^%%inҺ QYFૹ `m}OGy3U
+>kGKsDžJarpKNtГ 9y'.z1qmV
+t7;A<CZ!K`CJ>mfc}{WLԺ ԧ# eXxI>4 iL"LugM>WRm{-mFi.qBc;>~Iԃ9^1Hnqćp!Qe<!n`8-n2@TN`<" Ia
+w_C,٨*{.=ABʬ(v 9g 2=Ӟ@rɗ:*{ϲr C^ϱ\D$sR&tDX7ƍH6wXCF"w-k,ڱlͭ_)L\g{79`udM:hC.ʧ.]c??v#] CFq_3FDp}c|Is(=iGznIq\_JqDU%߼ĥiHEO7 Lř5XF A
+)5^ڞn|Cɱv!0\ÉNTS9oOԐ)+~'|~M@eHZzyԨHcय़Ϻ G 0,$GŅr()' Կf/.w'bs)mJG{Q>JW`;hå'tiYɤMi2 #s֙7] }S%"ڜoU :=>DTܴ?o$^/ E5~誎z7WYX7YPos+t/{
+z==Ao*6k10y[&}g?'yfws*e}W8ޤ%OZj<F{k?P^L Sݷ2ZJOL\Rθ19-gx?
+endstream
+endobj
+7441 0 obj
+<< /Type /Page /Contents 7442 0 R /Resources 7440 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7443 0 obj
+<< /D [ 7441 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7444 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7445 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7446 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7447 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7448 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 669.205 null ] >>
+endobj
+7449 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 658.246 null ] >>
+endobj
+7450 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+7451 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+7452 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+7453 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+7454 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+7455 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+7456 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+7457 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+7458 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+7459 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+7460 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+7461 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+7462 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+7463 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+7464 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+7465 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+7466 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+7467 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+7468 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 332.468 null ] >>
+endobj
+7469 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+7470 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+7471 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 269.703 null ] >>
+endobj
+7472 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 258.745 null ] >>
+endobj
+7473 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 247.786 null ] >>
+endobj
+7474 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 236.827 null ] >>
+endobj
+7475 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+7476 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+7477 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 203.95 null ] >>
+endobj
+7478 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 192.991 null ] >>
+endobj
+7479 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+7480 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+7481 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+7482 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 149.155 null ] >>
+endobj
+7483 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+7484 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+7485 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+7486 0 obj
+<< /D [ 7441 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+7440 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7489 0 obj
+<< /Filter /FlateDecode /Length 2058 >>
+stream
+xڭZo~_/No4zŢEs] AD,"{DnxC$S8pJn,~9K+rϗ)_b4lq}{FS "U$.ߗJQv>_*(u %S.]Vٮmbծ>LO|vWEXnA,L@T Tp&cwlnf di*>ͫX]62Z_>Lf;ueP-k>Eצ+ӖL*!m7MnMaJymS!P<uuXq|wr]m.}7ۋ9[3TF~5ף]]]~(-iNӓC"FJ9^4KNmG!8;+FШy>)eWWsϠO7ZwsD>10gƻn'vbR|@Rb{ҧvbR)c4BTi|g'4Z&)Qvvbhb4B5!T
+pΗ}nnjY|,;dI`K6$&1PS I1m^oiϮ׃bhrӸyvyݕMM˨abr*B[ Uv=Ђo41dCEܒh$$',pxN:``n@SuCP-hj2^!?ư`}}Rd!%ł)/,h< nB4>HE♑0BOq{XEC\ \UFچqEQ':%r}wMW&?
+3+7_(ӆ?EJ'IB&WʇUW\I/#4:vq)>~ "4^D70-B->c$ryE"4jdwL0l7O-bXm*$Y"D۾*zVцZM{ݝ6[K\{ܻ3>;o;\CLQu:Ee:z/9]i?ӝy.? 'oEw
+62Fsa3}ru? pc8MUB d<~[!Ӊ@WDs|)S!pD /^ ~ }('K!txfSVvobVaU?5;/tqW1^%z~ 3ߗ.ߨq$C${Җ@Ԯ밴yM5D17yfR0X56NG9 2EmoHi"(R}!o^q?_!!ت9Vԋ7#yK%eTtLQԻ ^f.HT9$?S !-
+:D$pC?
+s'
+endstream
+endobj
+7488 0 obj
+<< /Type /Page /Contents 7489 0 R /Resources 7487 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7490 0 obj
+<< /D [ 7488 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7491 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7492 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7493 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7494 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7495 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7496 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7497 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7498 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+7499 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+7500 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+7501 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+7502 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7503 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7504 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7505 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7506 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+7507 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+7508 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+7509 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+7510 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+7511 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+7512 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+7513 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 523.579 null ] >>
+endobj
+7514 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 512.62 null ] >>
+endobj
+7515 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 501.662 null ] >>
+endobj
+7516 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 472.015 null ] >>
+endobj
+7517 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 461.056 null ] >>
+endobj
+7518 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 450.097 null ] >>
+endobj
+7519 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 439.138 null ] >>
+endobj
+7520 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 428.179 null ] >>
+endobj
+7521 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 417.22 null ] >>
+endobj
+7522 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 406.261 null ] >>
+endobj
+7523 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 395.302 null ] >>
+endobj
+7524 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 384.343 null ] >>
+endobj
+7525 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 373.384 null ] >>
+endobj
+7526 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 362.426 null ] >>
+endobj
+7527 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 351.467 null ] >>
+endobj
+7528 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 340.508 null ] >>
+endobj
+7529 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 325.392 null ] >>
+endobj
+7530 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 314.433 null ] >>
+endobj
+7531 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+7532 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+7533 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+7534 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+7535 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+7536 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+7537 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+7538 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+7539 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+7540 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+7541 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+7542 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+7543 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+7544 0 obj
+<< /D [ 7488 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+7487 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F80 749 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7547 0 obj
+<< /Filter /FlateDecode /Length 1541 >>
+stream
+xYKo6W,nS-
+a+ +Wm8F{]l߼șH;f8͵-N|36333lq1;[C!D,/72suY-KgUY4dJW߃>#f8볚h
+!P_v3 ja`Fq,dB|[uX}W7ohl|͏ju~W2{¯_*
+Є)3cRZ7W9ui9%F÷ٶ\v1[xexk1cz.g3L.ttMsF. H*7vЉQ)A#)_@ v;g4g$"E-8OS,& a<~l>}g(E4! 0EGrncШݛ@Kƚo4g<HwUUM'˲)> NCZ_k022qc?Fus u$qcp ;Fu3E42֢nD:4Zu[% x:-9ђbLONAa0264PMR&c9$o('XʏĚD|ԉ=*TK@rNѭFђP =J_?H񱃼tϷ՜^Ta2TJ:0Akq&ᖎjP\*AEKX3+(.B 1'hn5sTaz&\>p}"Au E@D5ú) J{l<?z(1]Ƅ3DXAww\ Hs(В T e(:<Pk|KcbQB0 v4~}!a<H%h2s>uĨaq;R {(,1NFq;R ۂn܎T6֭&u׭𒡸v{PX3 lGq* \
+`Plv8}HCT|~V4zidr; PIͶjd]/\g76 2oʪ.IH* |t
+؜z{]Էet":>W{fyyYέȈwBdnf7ݠ{-ݛ
+W_"C:Aaܺ;{.^D/?.ߋ4Dn"tMV}>>Ghs!j9&)y e;.eMU]_HgNʱЧ0t+M򞴅k-BY7 9ڳ!=U'۝C]>-$*|H L\[m兟,6uJ<w>=Cn=N2~4!,c0nMi;g*%.oS̻
+endstream
+endobj
+7546 0 obj
+<< /Type /Page /Contents 7547 0 R /Resources 7545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7548 0 obj
+<< /D [ 7546 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7549 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+7550 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+7551 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+7552 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+7553 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+7554 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+7555 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+7556 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+7557 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+7558 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+7559 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+7560 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+7561 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+7562 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+7563 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 596.478 null ] >>
+endobj
+7564 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+7565 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+7566 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+7567 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+7568 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 541.684 null ] >>
+endobj
+7569 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 530.725 null ] >>
+endobj
+7570 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 519.766 null ] >>
+endobj
+7571 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 508.807 null ] >>
+endobj
+7572 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 497.848 null ] >>
+endobj
+7573 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+7574 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 475.93 null ] >>
+endobj
+7575 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 464.971 null ] >>
+endobj
+7576 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 454.012 null ] >>
+endobj
+7577 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 443.053 null ] >>
+endobj
+7578 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 427.113 null ] >>
+endobj
+7579 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 416.154 null ] >>
+endobj
+7580 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+7581 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+7582 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+7583 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+7584 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 361.36 null ] >>
+endobj
+7585 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 350.401 null ] >>
+endobj
+7586 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 339.442 null ] >>
+endobj
+7587 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 328.483 null ] >>
+endobj
+7588 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 317.524 null ] >>
+endobj
+7589 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+7590 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+7591 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+7592 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+97 0 obj
+<< /D [ 7546 0 R /XYZ 79.37 248.234 null ] >>
+endobj
+7593 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 139.404 null ] >>
+endobj
+7594 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 128.445 null ] >>
+endobj
+7595 0 obj
+<< /D [ 7546 0 R /XYZ 81.077 85.606 null ] >>
+endobj
+7545 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7598 0 obj
+<< /Filter /FlateDecode /Length 2470 >>
+stream
+xڵZ[o~ϯ0˻$eq!=)Ŗueɕ\΢"E:clR~pf4x0ó_/PG^|ٌ4!n&%IbIdv#1a>Lg Jd &>0ʮ66+몬M=T 7˗lٴuv0S/#&->G,E38q 塕2͖yW,Z./:% " $p1a>:\;$F
+v|"A,M|1\ X"*% EwpvY>:1Nsȑax3m}m3--SӠ-zhogj[&1Q(EkW<>芘=ȹ;n7L6G1;ѥ3) E~ߙ}sXc) ۱6?9L#6P&רgnmQ
+caR{v%(Ժ-@|j
+cC%Y-Bg`[,3! 2= Q(՞+<nze
+p0Ia^ V$f4Rw^5j A}!Rv\%;~.Ty~]_l;_:]k0eXh7ݧ}xؓ8c}ERE_bđŘRrUyu0:.zL.ԷOR$(uu"]<M.g) '」GS:qr-
+= )C9۶M_,b֧ydƑGK`JfIЧt(ԩ>CJ )TPUy=4NTs":˨;7ȁi.e~_'F*rU扊ީ!ɖ:˨*n5.>Q@bYSMau]]D$
+HOܶŲTO.D4kS`)®JcSH`> 8DmI3dvo!/{bnKQ#eƪa"8ޞ
+M6:N"0#qڼԟthźR:k+(ú9d,ӽnv*<B!gl=RҖnjM} _2Ċq.XQ}{6*#Uo9BP~$LXmu9Is~$1M@oϢ/oWŹPog9 y& ><G`r=@@Z 7,/ _y9TV)jg >[~)m,_u<+mWCHc$a #U_B_ԯ e4X $G_>=tީbΩA>zWwT߅&L\0$A `DJ1%A#98b}MrP"3Qjv{?MA#
+endstream
+endobj
+7597 0 obj
+<< /Type /Page /Contents 7598 0 R /Resources 7596 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7599 0 obj
+<< /D [ 7597 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7600 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7601 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7602 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7603 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7604 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7605 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7606 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7607 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+7608 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+7609 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+7610 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+7611 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7612 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7613 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7614 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7615 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+7616 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+7617 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+7618 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+7619 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+7620 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+7621 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+7622 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+7623 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+7624 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+7625 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+7626 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+7627 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+7628 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+7629 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+7630 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+7631 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+7632 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+7633 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+7634 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+7635 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+7636 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+7637 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+7638 0 obj
+<< /D [ 7597 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+7596 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7641 0 obj
+<< /Filter /FlateDecode /Length 1810 >>
+stream
+xڵZKo8W6,6S=l AvĨmR7 Ejh\7XyGN'tvDUWş﯍H,|r`D331v3w◟oZ%NkaC00hE~nd+J^'[Y"џ<_'JqUrKZ;k'i /ϽBmrv !Y26))CU/k.>0+t!/¹8 dndfn
+!OvnWF勣III$nR "4i!d,PL<Ղ Z&UnuM ˬYY9=ٷt=,DةrNT7
+TYM8@h25ώZ}J3C:C@3{8c`dT c>*kO az.0Bo`,Q>:
+^ ՞.iB
+ZW.bat$N P!/+BO#4^61A/IU[ht}=f_iMS54nj&]
+5uiX(Wa>@æ>[.*[Evǰ" TZb(AʀgՌy>VnGM' KB^Mmd(*CA ^_Jbθe tۯkr ?F$
+Q?5Q1(@ ?.hV?s|&\㬝Z_ ~R_u9 \QARɢc|Nz 9ItL Y:7ѱ2mvHvE^f2Yy!1a
+aM&&By&h)GFכ̺~*:J
+endstream
+endobj
+7640 0 obj
+<< /Type /Page /Contents 7641 0 R /Resources 7639 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7642 0 obj
+<< /D [ 7640 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7643 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7644 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7645 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7646 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7647 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7648 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+7649 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+7650 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+7651 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+7652 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+7653 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+7654 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+7655 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 619.392 null ] >>
+endobj
+7656 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 608.433 null ] >>
+endobj
+7657 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+7658 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+7659 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+7660 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+7661 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+7662 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 542.68 null ] >>
+endobj
+7663 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+7664 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+7665 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+7666 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+7667 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+7668 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+7669 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+7670 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+7671 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+7672 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+7673 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+7674 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+7675 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+7676 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+7677 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+7678 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+7679 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+7680 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+7681 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+7682 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+7683 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+7684 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+7685 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+7686 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+7687 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+7688 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+7689 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+7690 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+7691 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+7692 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+7693 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+7694 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+7695 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+7696 0 obj
+<< /D [ 7640 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+7639 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F23 660 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7699 0 obj
+<< /Filter /FlateDecode /Length 1799 >>
+stream
+xڵY[o6~ϯbXh8_l-3뾤OMa(cK,7CQE;x$? y>}cKߏ?\`Lg೛EtfVhFfL[/W,qZ ;3A S2ER\eL\t[TEQ׋^ܭuW18&wXu
+<ZgN1"JxBch{hʈc {.exl,ry=q/N|LJV Z5zh b.epޞe3N;i9%F]
+goQ4p2Kɳ*lu"Zp8E%N((S ɉ^:{8⌊,0hE{O;BY u&O,ΦϞ|{\.Th:m bE{OBO!{\ M>xNd<X<Afs~U+lifq=Ee3 ۶i )/
+u$XNQѲDxF8C] pR'r ٰY<-]桼Fee})XG6&;?!/(wmӺ1~Sf@kyt0T٪Y×ɞ
+߇j+X5ڼږaqm7~hֻM ?,NS//5^:˼
+],UUZ'޴poqH*9sK&ht" E ڇ
+WC{'YCÏHS({'hscDјMpz:$7e2"4jO6Lx5qhuᝠ>}q8ug^ǴGRf /PRͬgQ4vb~˧6z}o0o^ ~Ip_|Aj }'p|Ý&ŨE z|.WuESr$VWh!+pGQzp588E$
+endstream
+endobj
+7698 0 obj
+<< /Type /Page /Contents 7699 0 R /Resources 7697 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7700 0 obj
+<< /D [ 7698 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7701 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7702 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7703 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 742.541 null ] >>
+endobj
+7704 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 731.582 null ] >>
+endobj
+7705 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 720.623 null ] >>
+endobj
+7706 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 709.664 null ] >>
+endobj
+7707 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 698.705 null ] >>
+endobj
+7708 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 687.746 null ] >>
+endobj
+7709 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 676.787 null ] >>
+endobj
+7710 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 665.829 null ] >>
+endobj
+7711 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 654.87 null ] >>
+endobj
+7712 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 643.911 null ] >>
+endobj
+7713 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 632.952 null ] >>
+endobj
+7714 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 621.993 null ] >>
+endobj
+7715 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 611.034 null ] >>
+endobj
+7716 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 600.075 null ] >>
+endobj
+101 0 obj
+<< /D [ 7698 0 R /XYZ 79.37 576.445 null ] >>
+endobj
+7717 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 482.129 null ] >>
+endobj
+7718 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 443.107 null ] >>
+endobj
+7719 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 432.148 null ] >>
+endobj
+7720 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 421.189 null ] >>
+endobj
+7721 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 410.23 null ] >>
+endobj
+7722 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 399.271 null ] >>
+endobj
+7723 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 388.312 null ] >>
+endobj
+7724 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 377.354 null ] >>
+endobj
+7725 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 366.395 null ] >>
+endobj
+7726 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 355.436 null ] >>
+endobj
+7727 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 326.68 null ] >>
+endobj
+7728 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 315.722 null ] >>
+endobj
+7729 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 304.763 null ] >>
+endobj
+7730 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 293.804 null ] >>
+endobj
+7731 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 282.845 null ] >>
+endobj
+7732 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 271.886 null ] >>
+endobj
+7733 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 260.927 null ] >>
+endobj
+7734 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 249.968 null ] >>
+endobj
+7735 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 239.009 null ] >>
+endobj
+7736 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 228.05 null ] >>
+endobj
+7737 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 217.091 null ] >>
+endobj
+7738 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 206.132 null ] >>
+endobj
+7739 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 195.174 null ] >>
+endobj
+7740 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 184.215 null ] >>
+endobj
+7741 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 173.256 null ] >>
+endobj
+7742 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 162.297 null ] >>
+endobj
+7743 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 151.338 null ] >>
+endobj
+7744 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 140.379 null ] >>
+endobj
+7745 0 obj
+<< /D [ 7698 0 R /XYZ 81.077 129.42 null ] >>
+endobj
+7697 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7748 0 obj
+<< /Filter /FlateDecode /Length 2687 >>
+stream
+xڭZo߿oU W&p9@eG{䍃7,*-}dÙ!7ä"]!히7뇟>|tVI/@˅/$Bq|߇k}z!1QCto"7ǛHRR]~Yeps gͱ.ݝeD!(G+߶SJ#CujeXa([trl{+J3/oLuU{k>䕓R Ґ]vhYxQN1#1p~tNQ8z-h}+/#qC-"Yoh~̛4i.oװ)MnIfV~9S%Y ƒM:Tqʒts ӫs1Y}ko~`[Y +(N@X/K5"^Fy,d(nnuw
+f.Br"Z($Dlgֈçתڛ[{[_eǶZP6b> ER}^h1Oh&8bX.
+Qbk]y,cTev<G~9=?mvg-2g ryHJӄб1y'$CӤqF;"[JDȈlY횼]`d&@1`Q_w<8Nu.
+1
+Eڡ(eyQ9"
+\~,|= #M|͙XJVN3yBG{6e9l7ny4-Pf'40S@A!K#Fc, NVϫm 4D5w++L(Ae
+-
+w sT7e\{(C]g._6)oǦ2%P|v(cM9(I)(CREY֐8Fz:zPþ~|e^,8A+#F+sOt.U9Ġb}@!,=wFd7>ֹ}![UM5sF2~ foCs~ T^w,!tZ!1"o,R .Y,@*.xuV8̈1N `}:`kޛ/{6E z4n!ᗔ=C C
+ZLqJ.wr$ ܳWvԼy%Шj֔Qf_*϶S2;6I\m("%b
+{^6BOMuL6EiH0MG>_r^m<A>ØG9LI(
+gxOwoyѐh+M A$ ?Z¥2!3~TʽImN`'2oe!1}B
+1dWF9ɐA~ %F 1g\R%
+endstream
+endobj
+7747 0 obj
+<< /Type /Page /Contents 7748 0 R /Resources 7746 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+endobj
+7749 0 obj
+<< /D [ 7747 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7750 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7751 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7752 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 717.026 null ] >>
+endobj
+7753 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 706.067 null ] >>
+endobj
+7754 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 695.108 null ] >>
+endobj
+7755 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 684.149 null ] >>
+endobj
+7756 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 673.19 null ] >>
+endobj
+7757 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 662.231 null ] >>
+endobj
+7758 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 651.273 null ] >>
+endobj
+7759 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 640.314 null ] >>
+endobj
+7760 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 629.355 null ] >>
+endobj
+7761 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 600.463 null ] >>
+endobj
+7762 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+7763 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 578.545 null ] >>
+endobj
+7764 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 567.586 null ] >>
+endobj
+7765 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+7766 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+7767 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+105 0 obj
+<< /D [ 7747 0 R /XYZ 79.37 523.203 null ] >>
+endobj
+7768 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 443.209 null ] >>
+endobj
+7769 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 432.25 null ] >>
+endobj
+7770 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 367.493 null ] >>
+endobj
+7771 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 356.534 null ] >>
+endobj
+7772 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 345.575 null ] >>
+endobj
+7773 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 334.616 null ] >>
+endobj
+7774 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 323.657 null ] >>
+endobj
+7775 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 312.698 null ] >>
+endobj
+7776 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 301.739 null ] >>
+endobj
+7777 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 290.78 null ] >>
+endobj
+7778 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 279.822 null ] >>
+endobj
+7779 0 obj
+<< /D [ 7747 0 R /XYZ 81.077 268.863 null ] >>
+endobj
+7746 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R /F26 662 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7782 0 obj
+<< /Filter /FlateDecode /Length 2282 >>
+stream
+xZ[o6~_]hX/y
+/فNDt:cIgIdb
+UwQnA*ۻ_m?J]Q>jP}7JיZCc[dAf-K<Lc~&o*1»{=;!<\/t c[(O[qd4at I0ZjM\>}N%ؘ Cbp'y)͡| +zs{(m]k5RgCUo}qo>on2TϩcKmahlhb&ۙ)vӴaE.)uvSWOx}h{oӶj]-EJ!擠_6<FϪTHP 6H@Sm~Zgw6<kߓDaA+&xH` qTIQ 4K~0$A=Zmyc\$UPҤy>6HѐD N ctb4
+4 hkz4Td1 hĆ&<&5¡
+I˴\P\&).
+.Q!{
+aΨL=^%:\0)"ȹQh uS5ZԘbg6(a.]-کyi?dmY[k2;fmWV͙D
+LKr"LK3Q'}U(qqQgz<t>k>.sنk{^г!w]+9rΑGo!k}fQBfta? da(EZ B^)Pb=8p7oݥk;O^>z6s}aNyL`>bX# Pb]m]䏽)>м/JTkJtdAVnmΔ()$'*Eyi!O46Uv?YY9w#
+YN4ET ԅ'C"^R
+Qzv7[ONH P:s˶`LbؐdctrMz b/X41z(VzqZz/bXpsK!괵 MfuP wmKy',)]<S[L2N 0d67q^Vdə@"~ Y9)Ns0(#(3 
+56&J^(\ _ Nj6s<[_/bNj 8^Y"yGo(#_EݦqMEdGA]j0%eYѹۅSd4<k˗U)YG}eI^QJ$ G试Q,F#t2 #@,I'
+,5\dWA#")#{90ϸu6>0'MN _TJ
+:}l! _TJʼ:}l _<ʒ"LAykuXRGtp鞸B%nta_jwחFzݸZc)?)n@h[?ՎZ|:>:V>Qciq  )/I;5);I:''(LӾkτfKi9DJ1tl>[–8gNj_,XFcdwE }
+endstream
+endobj
+7781 0 obj
+<< /Type /Page /Contents 7782 0 R /Resources 7780 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+7783 0 obj
+<< /D [ 7781 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7784 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 719.129 null ] >>
+endobj
+7785 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 708.17 null ] >>
+endobj
+7786 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 697.211 null ] >>
+endobj
+7787 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 686.252 null ] >>
+endobj
+7788 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 675.293 null ] >>
+endobj
+7789 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 664.334 null ] >>
+endobj
+7790 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 653.375 null ] >>
+endobj
+7791 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 642.416 null ] >>
+endobj
+7792 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 631.458 null ] >>
+endobj
+7793 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 620.499 null ] >>
+endobj
+7794 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 609.54 null ] >>
+endobj
+7795 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 598.581 null ] >>
+endobj
+7796 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 587.622 null ] >>
+endobj
+7797 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 576.663 null ] >>
+endobj
+7798 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 565.704 null ] >>
+endobj
+7799 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 554.745 null ] >>
+endobj
+7800 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 526.074 null ] >>
+endobj
+7801 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 515.115 null ] >>
+endobj
+7802 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 504.156 null ] >>
+endobj
+7803 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 493.197 null ] >>
+endobj
+7804 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 452.571 null ] >>
+endobj
+7805 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 441.612 null ] >>
+endobj
+7806 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 430.653 null ] >>
+endobj
+7807 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 390.027 null ] >>
+endobj
+7808 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 379.068 null ] >>
+endobj
+7809 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 368.109 null ] >>
+endobj
+7810 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 357.15 null ] >>
+endobj
+7811 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 346.191 null ] >>
+endobj
+7812 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 335.232 null ] >>
+endobj
+7813 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 324.273 null ] >>
+endobj
+7814 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 313.314 null ] >>
+endobj
+7815 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 302.355 null ] >>
+endobj
+7816 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 261.729 null ] >>
+endobj
+7817 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 250.77 null ] >>
+endobj
+7818 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 239.811 null ] >>
+endobj
+7819 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 228.852 null ] >>
+endobj
+7820 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 217.893 null ] >>
+endobj
+7821 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 206.935 null ] >>
+endobj
+7822 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 195.976 null ] >>
+endobj
+7823 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 185.017 null ] >>
+endobj
+7824 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 174.058 null ] >>
+endobj
+7825 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 163.099 null ] >>
+endobj
+7826 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 152.14 null ] >>
+endobj
+7827 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+7828 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+7829 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+7830 0 obj
+<< /D [ 7781 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+7780 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F26 662 0 R /F20 186 0 R /F82 811 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7835 0 obj
+<< /Filter /FlateDecode /Length 1936 >>
+stream
+xZKoFW(fM
+T%*.\YN8v Krٙݙofⶠ7Gn.^1Y&xq`0hf
+7◙v^>zFc0ЊwڊFyZM[[Y"ѿ2!_ku{]_^)@o*\u}y&Eo8;hrzɖY[mGv{jwz'Rn 2YpџuB2C8WR1OTuZ[L[[@<(kk&-)?~!燶?u~S]z8W/n;mmDHlS}hF@ ĥQj flwm}VFs"E"}aPΝku<T׋ x7\<˗na7A1"M>24$LcCe ~.{'K\ПRN3KK@r]|ƾT-Rʑt^\MJ924~ma6=11F ~k9G,aYdo=T\bUa
+ú]7uS۪*Z;Їé8FԽ6ՇnWMaW*7vFSѩ(N1m(:m70  "[*hv],]6.s{.-:`c|' SrAeLX`{28`Ԍhz"= .ʤWǬPJ%EĹכMw4~${Ɠq
+AFp9G*
+N
+XrN9)3`~ԍ0xz+2WϠkJz+2RJEMG RO+ $晄4:T7Ntg *@GwF=n ;MM3'J3Շ "!JTEIQ fHMe&$-GĜ8#>C1pG=_a t !x 8wF*3% zQn«Ef\װ(Y(EqE*cH?Ѧ=MxfuU-'LW?\W?es<p0#m?124+ 6L$\: ܃,82_p(Bb;]őI\H@7N n&I3nQ]Mt5hL51CSpMMF75)bFᚚ [I(\S_F;45
+dhjАR㚚 =s0uѝUcd(',Wfg̐O9(DU*{5П
+kofU8P0K+fh0ǡ֘ 2BYmvNڠ6.C3p(NLAQ~s*~I7sww2-2s
+T?-7(o9X̊wx ?Hw<6O?"f
+Qħ-uض+
+LG%)' N*.8XL
+endstream
+endobj
+7834 0 obj
+<< /Type /Page /Contents 7835 0 R /Resources 7833 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R /Annots 7882 0 R >>
+endobj
+7882 0 obj
+[ 7832 0 R ]
+endobj
+7832 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 228.711 364.603 239.144 376.54 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
+endobj
+7836 0 obj
+<< /D [ 7834 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7837 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7838 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7839 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7840 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7841 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7842 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7843 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7844 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+7845 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+7846 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+7847 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+7848 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+7849 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+7850 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+7851 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+7852 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+7853 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+7854 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+7855 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+7856 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+7857 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+7858 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+7859 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+7860 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+7861 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+7862 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+7863 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+7864 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+7865 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+7866 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+7867 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+7868 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+7869 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+7870 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+7871 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+7872 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+7873 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+7874 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+7875 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+7876 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+7877 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+7878 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 167.088 null ] >>
+endobj
+7879 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+7880 0 obj
+<< /D [ 7834 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+7881 0 obj
+<< /D [ 7834 0 R /XYZ 94.613 82.511 null ] >>
+endobj
+7833 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7885 0 obj
+<< /Filter /FlateDecode /Length 2259 >>
+stream
+xZKo8W62Sc3氳Ԏ(,wzEQEQDw%D~*֛$^-+"a^YGFFIxAZ"IBI$~DEZgi) È"o!oҲzcT#ӧpnoisko_@^'m^7u59rV0gݳSMUyHUbFDsϞcoQb\t‹!DX"*gGcb
+і}>X籼H#Bb$کgb T!DĀԈc
+Z_ʻ=^brwںƤL>/J']RL[uuPMB%kBh1M 2$,LɥCHa@ \ `|ƈAԈhٷWE!2sZΰ42شh"a"
+I&8D2 {>f0e F +槫94\xyїN*'/їNIʳ!)=m?2Gj8Q3=3 _`sF%| w[^ܹȓ
+nHhaܞ^7v΂9(RDTba!1b=KMf9v7ruJ}nvs2kt)Pm4*`Lx#8 g$!q^N J$HG'|ۤlǰD׾x"qjv{{V tW8$n[3@Ϭ,ltsy Oy۸2@{h(Ȩc
+2 /6:xGqpl-ثR'M{@^lz;XryhN;ȃ)Ų 7]ƀAKm"04ȍ}fLNSEitb @V[(;=g];T4nag=* &<*gp1J!D ڼC7őH$ -2cf=#D 3^ljs z`68
+endstream
+endobj
+7884 0 obj
+<< /Type /Page /Contents 7885 0 R /Resources 7883 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+7886 0 obj
+<< /D [ 7884 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7887 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7888 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7889 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7890 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7891 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+7892 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+7893 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+7894 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 650.276 null ] >>
+endobj
+7895 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+7896 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+7897 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+7898 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+7899 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 565.594 null ] >>
+endobj
+7900 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 554.635 null ] >>
+endobj
+7901 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 543.676 null ] >>
+endobj
+7902 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 532.717 null ] >>
+endobj
+7903 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 521.758 null ] >>
+endobj
+7904 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 510.799 null ] >>
+endobj
+7905 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+7906 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+7907 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+7908 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+7909 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+7910 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+7911 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+7912 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+7913 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+7914 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+7915 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+7916 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+7917 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+7918 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+7919 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+7920 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+7921 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+7922 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+7923 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+7924 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+7925 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+7926 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 251.771 null ] >>
+endobj
+7927 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+7928 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+7929 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 218.894 null ] >>
+endobj
+7930 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+7931 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+7932 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+7933 0 obj
+<< /D [ 7884 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+7883 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7936 0 obj
+<< /Filter /FlateDecode /Length 2119 >>
+stream
+xZMo8WƮY~aQX`}
+BPm9Q+K$' wOq1M˒9oHμ!g3<xO$x퇀8Ҋ0:]x LI$I0 $AX~<D/og
+i)b0IVeۨHOiʲuX
+*i]K
+.ׇg晹[UIjL=M`D0Q<.oL[#__7yzƯy~+U(sӸqn3 * 4baHj
+ Jvy+F90. cDeĦ Pi[׻ЌR[3(4ӌ]vX.n܇U(D%xh6ه2^m[퓴 }e,l兔8FEOIQ(I^I (q8zJʏ!z>#㣽B6U&0W'K>1$HW3a?hoy" El: D 6^pny&Qm&HdAs5.Esâ>?3/vYe&E_u}K5[xO߷C?^~|g SZ:0dD҈Y,Wj{xEQ|7<޸v 3jLSTpw@Rƨj7n"plU^$ѺudQ keu\C(wL4)+3"ãv
+WE_ji*(s6}$,gj`qҧ0
+|IꞶyLLjnؽT0K\۲֝|qض L5%&YH*ᶐ={N'bAY
+N
+U@} L='.I1J Yw!~>q!D&od
+[`?sm^Q#5AT~lH{tp[{woG T5`~Tm#s</R!fz_p?6"ذ3|$/+CZ}-"_ld
+qK!⧃qGit(w:D"kCGiA[%`AGiDs$>eJA?QŬϥ ?>L 8p}>ؓKW:(xpC
+ K~1ֵ|_ { 5%V3.Ӵ9eKkSkc 4>¨?6"2c4|e% i,$Z,ɁAR&_n/ޢ9)$F6i}9i`f6)Pj|MN6QU$5gN 8iNa+#yHW~y?*n
+endstream
+endobj
+7935 0 obj
+<< /Type /Page /Contents 7936 0 R /Resources 7934 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+7937 0 obj
+<< /D [ 7935 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7938 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+7939 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+7940 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7941 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+7942 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 707.972 null ] >>
+endobj
+7943 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 697.013 null ] >>
+endobj
+7944 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 686.055 null ] >>
+endobj
+7945 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 675.096 null ] >>
+endobj
+7946 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 664.137 null ] >>
+endobj
+7947 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 653.178 null ] >>
+endobj
+7948 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 642.219 null ] >>
+endobj
+7949 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 631.26 null ] >>
+endobj
+7950 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 620.301 null ] >>
+endobj
+7951 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 609.342 null ] >>
+endobj
+7952 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 598.383 null ] >>
+endobj
+7953 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 587.424 null ] >>
+endobj
+7954 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 576.466 null ] >>
+endobj
+7955 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 565.507 null ] >>
+endobj
+7956 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 513.614 null ] >>
+endobj
+7957 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 502.655 null ] >>
+endobj
+7958 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 491.696 null ] >>
+endobj
+7959 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 480.737 null ] >>
+endobj
+7960 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 469.778 null ] >>
+endobj
+7961 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 442.075 null ] >>
+endobj
+7962 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 431.117 null ] >>
+endobj
+7963 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 420.158 null ] >>
+endobj
+7964 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 409.199 null ] >>
+endobj
+7965 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 398.24 null ] >>
+endobj
+7966 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 344.809 null ] >>
+endobj
+7967 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 333.85 null ] >>
+endobj
+7968 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 322.891 null ] >>
+endobj
+7969 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 311.932 null ] >>
+endobj
+7970 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 300.973 null ] >>
+endobj
+7971 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 290.014 null ] >>
+endobj
+7972 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 279.055 null ] >>
+endobj
+7973 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 268.096 null ] >>
+endobj
+7974 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 257.138 null ] >>
+endobj
+7975 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 246.179 null ] >>
+endobj
+7976 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 235.22 null ] >>
+endobj
+7977 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 224.261 null ] >>
+endobj
+7978 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 213.302 null ] >>
+endobj
+7979 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 202.343 null ] >>
+endobj
+7980 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 191.384 null ] >>
+endobj
+7981 0 obj
+<< /D [ 7935 0 R /XYZ 81.077 180.425 null ] >>
+endobj
+109 0 obj
+<< /D [ 7935 0 R /XYZ 79.37 159.236 null ] >>
+endobj
+7934 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7984 0 obj
+<< /Filter /FlateDecode /Length 2196 >>
+stream
+xZ]o6}_>m8HmQdv }.YfbMdɕ}/EU4l`y=hr?&?XMR1d~Ãh'B!*&"(dw:_k*4yUn5laӮFVi@p>~ŔUA#,Fшs^5=LziQVo#/{dovҺNᑱzSh0)#ҦcַΣ風ZΙ>쁻=PuҖ=FE 5St]vX
+puӀ~һcˆ>4tmװqI>6(ܵ=t8
+y7#CLqG
+A' ))Q)BmJD1 t}&"*r`&R奞`'|j/y6u^lKMDs,Q}kp"7G@Y_؋nf宬H.Ymm0^M}!ԎXEg[TUa&Mg#ƛe}̋X8"SZ<"_.u9cȩ\cX$Wu.#' Ęr0s!d
+\EuTs(G<a ]O a\쌮N5S:4̜!:#bDI0C_@
+X9ma4:]q!/ X!!t0п\\".0タÙ@ra*;iTDVnNt7C8R Y\<s$DCD E Y=뙢ޓ0Ћ3~q9 9a"w3J2Ld=]s9qt%DC\L!ˍa;S%Q WzOؽ0Oי.ݿuxO%cD#&zs8>.EQH)\:6bQ'E*L6=tV/$EL8=QG#d!Ͱ f7b{ fLA; Q<m56kV'ƈsHI
+Kv`YISSŒ#þdJldic*eӿ:g\V2h:qbaz⡇ZzyƴNq&)lM.&[%D11wq4@ܶa$
+!OURBFmH{`Jx޾ɐdѧAl{vÓhlEe>a Lq;lBv#nG>N"m?3(/-:ȌbbX'M%|dT fѥaU2^fc$AR<k{">lS5ϕ$};܄ 6%ycy:<Ό"^[ƛ7&W#yE'^ZHhF8K#tkn4-m= WZ?`JD;MWVMVpL(ƑR|n(#>ۃ@B@J fSﴩjsJ239֏Ƹ<nly7Ƀ:XYܩGM]5}Ao7"]..Pwk0Iw2Ȧe6“|-BEX N2y3_^o_j5\ S$Oل!nt7̹$
+a4|Vb,Eʍ98Ȁ!8xtl׌}Gqظ
+9E*f)a
+endstream
+endobj
+7983 0 obj
+<< /Type /Page /Contents 7984 0 R /Resources 7982 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+7985 0 obj
+<< /D [ 7983 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+7986 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+7987 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+7988 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+7989 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+7990 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+7991 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+7992 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+7993 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+7994 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+7995 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+7996 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+7997 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+7998 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+7999 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+8000 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+8001 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+8002 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+8003 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+8004 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+8005 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+8006 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+8007 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+8008 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+8009 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+8010 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+8011 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+8012 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+8013 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+8014 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+8015 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+8016 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+8017 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+8018 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+8019 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+8020 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+8021 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+8022 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+8023 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+8024 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+8025 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+8026 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+8027 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+8028 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+8029 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+8030 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+8031 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+8032 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+8033 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+8034 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+8035 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+8036 0 obj
+<< /D [ 7983 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+7982 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8039 0 obj
+<< /Filter /FlateDecode /Length 2725 >>
+stream
+xڵZmo8_a6,_%@b{{Ez0d[iȒ+)uҢ/z(fˇX3<3cvO$˳7c6HId" nyL??޼L"ELDHĔѯb0yU75)aFNq0%߃f
+κG+b?ۏvhT""y'v|`*}t$Fnmyڄ (m~󞨙+Y"İ>`̛T_U9燬hmʢnMk=s ӻJ6w|9bim')p4:&[bp?OlR"SCb;H}^'bH
+9fv FҔսMVm<kFrĸ ؉t(ԯ#N+L">XM*b/ܬ^^ꣲE#qI~E<s1 IZ' س4\00|,Fr7z=ˡ}6_Hr9GA6zDմ I>Ŵp8A>`봀;%I/*"t~y4si-G[58t%c-B^.nLVIc|k<ujG}Uw٤u]Vv؄ mBԞIC',&̏nJ\x)g`Xq$eH 9te(czp?zmnAߺ3*!K ׻<{1śЂ0Dt4P
+&a!OV69XdQ wgNPN!
+qKL6oMp۸c&5OŖM&:5k1:2@<qJ<a
+2A ENnz % .hU'8QBoP>Cp+ȦԐ#kKHyj;B!JρDX1D;SG: dynMy2lٞFN1Og JF M
+1:)@+NN
+>ʝ}`
+{Hi&ᢾ*$w,L8 &HW҇\L"!\O"bI}JȦII[nІ*"W_i|hkG%wYDQ}dDeKh;rDh &åߞHuRXOքZM Xi[`y`M>vY]wc]":uh>3,l(-P_0g qUS/2!P/wm(7JR
+[mh?u kjK38վJS(->^tDPq_]rp$s!;uڑ/Ӿ#:-ljk76' |1nԄ&nӏ#^eu@"z=$fS>ZuY<z*+H.CY3 CMʮV<)nVd ) =:eC@⺩gAbYAjV7T?TH顂=MrCjvd<L
+Kb<&4pԅM?|)XJt q*CCU?O<S<N\?E$S+I0V?IAp[\(nh@@XJǤn YNKڒŃ)ۧLLT_Mύy꾶fv<JHQC]ou/i<, )i Ц_LSDrDiZXMyhm0כ<ѯl+i޿rÑYU7NzP]#i^huaюXLp{P?S /o1C-[;S=nkK?0&H
+x&~)JI9Ix葔$Ucx!{e0e%0S3Htř2 G^ÆH8F*v{˳p'
+
+endstream
+endobj
+8038 0 obj
+<< /Type /Page /Contents 8039 0 R /Resources 8037 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+8040 0 obj
+<< /D [ 8038 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8041 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8042 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8043 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8044 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8045 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8046 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+8047 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 625.37 null ] >>
+endobj
+8048 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 614.411 null ] >>
+endobj
+8049 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 603.452 null ] >>
+endobj
+8050 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 592.493 null ] >>
+endobj
+8051 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+8052 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+8053 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+8054 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+8055 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+8056 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+8057 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+8058 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+8059 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+8060 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+8061 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+8062 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+8063 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+8064 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+8065 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+8066 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+8067 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+8068 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 251.771 null ] >>
+endobj
+8069 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+8070 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+8071 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 176.055 null ] >>
+endobj
+8072 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 165.096 null ] >>
+endobj
+8073 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 154.137 null ] >>
+endobj
+8074 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 143.178 null ] >>
+endobj
+8075 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 132.219 null ] >>
+endobj
+8076 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 121.26 null ] >>
+endobj
+8077 0 obj
+<< /D [ 8038 0 R /XYZ 81.077 110.301 null ] >>
+endobj
+8037 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F26 662 0 R /F70 185 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8080 0 obj
+<< /Filter /FlateDecode /Length 3330 >>
+stream
+xڽn}"
+$&!5 7)4Ikb¥t
+sD 14y89+#0ߗV,`+En_YR!:nyn7X8B؀ͨ$*"$KIM7 HO
+26P6>@¶*Uo=_T1RP*# ug(ݮ啥jqR %_#YFۮɃloU]8؂s"OC;˟6eL-l̴\Χ0X1A<A6$Z-V 5(RJ ~G;'h˳a?8A<4
+Y;wa|,yF~Fl ‘DCF#.3 zd ˈNȀe1v
+S.FUf>4 '̦P")IHB47C`Odݲ(w5T9"%)Q*(dB>"@Hr|KcrznSv_f/-VyB2H٤VzR<U ?5QZPB=`ȡRO%ؗ& WDe
+y0XBlXdH>Lg,Ru<V10<j; Fz7a{oznj OfZ@cu"\ @+"
+(gh5EB B_'?hzValy MW=?3@@}MBz-4$-l#;
+ҝW*Cnw>QL@A;2 lɃB1K?A~<
+=>j!e.WYoEr>yc8޵錷h<ګuI"gPsR:]|=u Q16hָA| 6%Љ$\@H֍HGxR,>v1l9J
+Qu<@`<4x8 t)EEwg\3D}/0!-wȘ2 U"ND7/؇+udڹ I9ŕ'bʢ٣Қkrro9Xsmy9Ir|Cc]lP x^}"QvĤ4] X{MhcK$!n!aQX;_a,B@OL(_I_I*>ce:1"vPL34,$Ol߷>W<.ե Pa[W>9": OM䥣YWT`H.=OEpJt vjdʴDq.{ Ac:b /'m1WK_S,_O $Lm$dw!:f3}f$x~$8qfD4#.CJe]gGI6 UFPݑ3J<B2E- _!H@F$ Ⴥ
+3UԘF<fP:c)/|42ZjP7dCXi%=)IWnV@Ͼ68Y}rU݋~\* %Pa2^r$QVvYj]d@mi)Bn!|Jc=j1Ƙ@b%&ͧwu\U|r%e1sfIΓ)RP׷ULVeHÀxaLCt>g޴ RQx>bZXz:h&{l<*Ч+dV2YcgQ@?fzg,Ss=‡rd`<rrd84y ? T]=-ymJe^ǫ#|hνlo#lY&9p;&qsK݁/>-V<1޼^&riz'`=K[)4}`]O,'mo*z0ʉ^GXV]=Q]FtH@bE51%ԝw"$d
+endstream
+endobj
+8079 0 obj
+<< /Type /Page /Contents 8080 0 R /Resources 8078 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+8081 0 obj
+<< /D [ 8079 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8082 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+8083 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+8084 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+8085 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+8086 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+8087 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+8088 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+8089 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+8090 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+8091 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+8092 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+8093 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 502.829 null ] >>
+endobj
+8094 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 491.87 null ] >>
+endobj
+8095 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+8096 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+8097 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+8098 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 448.035 null ] >>
+endobj
+8099 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 311.547 null ] >>
+endobj
+8100 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 300.588 null ] >>
+endobj
+8101 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 289.629 null ] >>
+endobj
+8102 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+8103 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+8104 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+8105 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+8106 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+8107 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+8108 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+8109 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+8110 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+8111 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+8112 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+8113 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+8114 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 147.163 null ] >>
+endobj
+8115 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+8116 0 obj
+<< /D [ 8079 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+8078 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F75 317 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F78 556 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8119 0 obj
+<< /Filter /FlateDecode /Length 3046 >>
+stream
+xڭZo6߿"Eq Y~aQම>,^>،[YI&ifHJe6b$7Cћ }ӛd+ysAa7:#BhUnww&dSwyg,;EXF4!ӜYBccZSaK rVTm 63ϪvCpdڏ=*#e|A)Y6! s+۝xto^.ǻ/wm^dq qmۼڸNNG&rDBt݊mu嚬y )|cg$AA2ZHLdRET$-Y^])U4P NYH't*. gl`E_NJ%2~/6ު}[?_TrߚO&;^`ɣY.'|n1Yp<Ej *lHQdV}~ nP|ٷV \[t :5w*Y)RJ{IY(`MC~Kۢ9V@ŁΛƙ<3܏f{PRE=<A6[ |4~)ɍa5UG yu=]
+#`<d+YS4ю?тfx_pr-Jc!D _׆(уukCYRij1W_h$%wu CQX%
+1
+ZGlͥ& !iͪ[`YV 9(t dAY&%$ j,-{fJ@έcjLm3bƨg&ݚb!9%Vϻa[a @~Df
+Â N`זA< ({ґ/Vͦ!wc>P =!T 4gSEd&q*5pN]Dƀ[ƯX)2/_gߞW8S09@}[_hh,RW\A4]m>J ݿ'{3Fa^g8ࡨ1 $Sio.^-7?%8% S|&l? hIٱ
+Q8.7^VL@نKq_4q2īT~1q%O&k
+B x]WJw-u{,JgUek"_ӋA)ARnӎnI xs1QB{x}7  I
+WI)K=c1e!<d*3-*1IITIEq=F 2e d+is 2xYtF\GT} 5߬|lh 9o2Fw
+b{bliXl>5k83Ό&yO>p cFD%
+
+endstream
+endobj
+8118 0 obj
+<< /Type /Page /Contents 8119 0 R /Resources 8117 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+8120 0 obj
+<< /D [ 8118 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8121 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 742.94 null ] >>
+endobj
+8122 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 731.981 null ] >>
+endobj
+8123 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 721.022 null ] >>
+endobj
+8124 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 656.288 null ] >>
+endobj
+8125 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 645.329 null ] >>
+endobj
+8126 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 634.37 null ] >>
+endobj
+8127 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 581.591 null ] >>
+endobj
+8128 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 570.632 null ] >>
+endobj
+8129 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 559.673 null ] >>
+endobj
+8130 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 548.714 null ] >>
+endobj
+8131 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 537.755 null ] >>
+endobj
+8132 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 526.796 null ] >>
+endobj
+8133 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 515.838 null ] >>
+endobj
+8134 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 504.879 null ] >>
+endobj
+8135 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 493.92 null ] >>
+endobj
+8136 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 482.961 null ] >>
+endobj
+8137 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 454.092 null ] >>
+endobj
+8138 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 443.133 null ] >>
+endobj
+8139 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 414.264 null ] >>
+endobj
+8140 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 373.44 null ] >>
+endobj
+8141 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 290.796 null ] >>
+endobj
+8142 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 279.837 null ] >>
+endobj
+8143 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 268.878 null ] >>
+endobj
+8144 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 257.919 null ] >>
+endobj
+8145 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 246.96 null ] >>
+endobj
+8146 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 206.136 null ] >>
+endobj
+8147 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 195.177 null ] >>
+endobj
+8148 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 184.218 null ] >>
+endobj
+8149 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+8150 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+8151 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8152 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+8153 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+8154 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+8155 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+8156 0 obj
+<< /D [ 8118 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+8117 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R /F46 176 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8159 0 obj
+<< /Filter /FlateDecode /Length 2078 >>
+stream
+xڽZ]o}ϯ0PP Wݢ}ȓ߶rIE"mW(S$g4ΜΞf췛t%Ҵo7o>~LSf IrEf$Ut6ξ$c~D+L ZBߓ-SBSesD Pp1MxNR.fy{'Lg[7|4,'4^;9M;X0F[?S=
+*Ήڿ .9EhlƈM!D19.5EK)8?'iJI2SF˖&Y#8t<FOɊ2$sQIpiҤܻFݧL
+ٯܖ1O(7}iT%g$"7cn"̼xJ}* @!rs 2񙝨JJn|h;'Y TFƵ2}L'˶OvF}R_nm)I\}9J%1hv3P91laS{ޒ@Kꓗ8;DHiRz E! "[;K!$hdLD T6bQWtӦAkA8B3iE?'fB |8bJ LVVD/p3PFFhlEqggjQp
+; Z55CHS-DCqU0X;qU,ր<G'ҁ3Q)"(RFD|:ylǰ7G<:Zo6
+DeB1L7qfVg]SY
+x Ծ’B`mvߠPQ7퉀UJNf8B4~O8| 96h5wQ5avѥ76-zbxtd҈*hZ( xx(.hlw.>G) aqY{FFOWM쇂Ad,W+р= A?' g]O`f`ɲڙoZ@znjq i-H<Wڊ7~o=7>+ePK-`nx]U/VGݦ^]y÷;ǶAU!MܕpebeglG!MĤLLśRˈ᝘Mc1};CbFӂ0#Ia<85lTBmR|Q2=uzxrhO8+D_ѤqE
+endstream
+endobj
+8158 0 obj
+<< /Type /Page /Contents 8159 0 R /Resources 8157 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+8160 0 obj
+<< /D [ 8158 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8161 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8162 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8163 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8164 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8165 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 707.063 null ] >>
+endobj
+8166 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 696.104 null ] >>
+endobj
+8167 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+8168 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+8169 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+8170 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+8171 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+8172 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+8173 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 619.392 null ] >>
+endobj
+8174 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 608.433 null ] >>
+endobj
+8175 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+8176 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+8177 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+8178 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+8179 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+8180 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+8181 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+8182 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+8183 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+8184 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+8185 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+8186 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+8187 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+8188 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+8189 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+8190 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+8191 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+8192 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+8193 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+8194 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+8195 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+8196 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+8197 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+8198 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+8199 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+8200 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+8201 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+8202 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+8203 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+8204 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+8205 0 obj
+<< /D [ 8158 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+8157 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8208 0 obj
+<< /Filter /FlateDecode /Length 1816 >>
+stream
+xZKo6W60P`@m9u Aq]Gr%evCJEjC/D gg݌ޝI^0b&LNtfVhFfosõY~Kv3KŽLJN7)e8W\ƻ͛zS>4}ANHRQ(ZiZ*Ac)ZpIei
+3sa(}`O&\(OmqBhol\aNAMTCLS1"KџҽtCK|{e=6rĠQ>keP|8<EANB1/Ys"E$HQ'#D4g1n,(L/#HQjGcWr
+DHE j -Cdf'Hi"AZ" He1
+0^-Q Kli$H;$282ҞHΜR3>Y|0EC7k#Gډ, qNJh.P0D~UO [b<k7acqDh@3lxRy{_3߬{n]We顁1JNՅYK( H4j/u8G1(8g?M\=>x@WmUw<`zwUmjowC *ztrǭ.&ifzT\kD}\$ T$>.CCqڅo
+K,;X';^h=Trg1M^bbH#ʩ8uAnh0g "Q$p<Yy--$D0\)2xe"Gm7 fLCM/R8A
+bx".KOx_I^C˽plY{e, ˏ L{)utWpI]^ΈTN>F)*.N* c07 - ;ho]g FKU㝋 IЏWg
+endstream
+endobj
+8207 0 obj
+<< /Type /Page /Contents 8208 0 R /Resources 8206 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+endobj
+8209 0 obj
+<< /D [ 8207 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8210 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8211 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8212 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8213 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8214 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8215 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8216 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8217 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8218 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8219 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8220 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8221 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8222 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+8223 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+8224 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+8225 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+8226 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+8227 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+8228 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+8229 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+8230 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+8231 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+8232 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+8233 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+8234 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+8235 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+8236 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+8237 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+8238 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+8239 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+8240 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+8241 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+8242 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+8243 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+8244 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+8245 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+8246 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+8247 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+8248 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+8249 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+8250 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+8251 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+8252 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+8253 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+8254 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+8255 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+8256 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+8257 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+8258 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+8259 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+8260 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+8261 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+8262 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+8263 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+8264 0 obj
+<< /D [ 8207 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+8206 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8267 0 obj
+<< /Filter /FlateDecode /Length 2575 >>
+stream
+xZKo80pd`>,rY$ؒG4OI=j{v!(~b~A?͛?|\s-7wo| 09fa4#Ta?lsܵ ܵo!tqW7]y]zKhm3A#[:܋Uw!0-ǫ 7´Wp{jeo*VW.3:[>ٺmb۩i7 ώ
+*DJ?!Y7įmŜWE#BBeQb!I1L̀Y6m~~E"ڔ_f]i7ݮ>˫kŕky}[5,tJfKbٱ,.c1"џi3Az2ڜQ"({/զLfrbgF]ƌ)?{-ݯAGt]Ove>5vqrs8S3o,_RsF2ٯV'v 2Qe$m\ᱨX ܼz=Jx_4-ӳp4di-H+Z iDxr&vVo!-3B2v
+{~MrrCa^K*wVFAhSI6OT6a/-+L\Nd% Je앬=']sv ._Fh&c#.~zt46S
+ cy0ޝVcHɁ0?FTxB2b- [ {wn3N 5x8 ?N*;`y<[5/HHnxqL}vь޹tth
+9w&¸hc4`;u5ۗ.
+60dEFNcpJ̗q*`'whjY<E_(њQx~ ՄC_ ȧPQ]
+kN,L#"nɢ8TC/'WB\t`U8Cf:_f!hls
+7#xpZ
+E6`}CV{mD_?3pZ)tѸb~fĕ\p~!"Rއ8A 3:}DSqb*(gtO[PEjc祇Ru?69ML͟j
+endstream
+endobj
+8266 0 obj
+<< /Type /Page /Contents 8267 0 R /Resources 8265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8268 0 obj
+<< /D [ 8266 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8269 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 743.447 null ] >>
+endobj
+8270 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 732.488 null ] >>
+endobj
+8271 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 721.529 null ] >>
+endobj
+8272 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 710.57 null ] >>
+endobj
+8273 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 699.611 null ] >>
+endobj
+8274 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 688.652 null ] >>
+endobj
+8275 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 677.693 null ] >>
+endobj
+8276 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 666.734 null ] >>
+endobj
+8277 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 655.775 null ] >>
+endobj
+8278 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 644.816 null ] >>
+endobj
+8279 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 633.858 null ] >>
+endobj
+8280 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 622.899 null ] >>
+endobj
+8281 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 611.94 null ] >>
+endobj
+8282 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 600.981 null ] >>
+endobj
+8283 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 590.022 null ] >>
+endobj
+8284 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 579.063 null ] >>
+endobj
+8285 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 568.104 null ] >>
+endobj
+8286 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 557.145 null ] >>
+endobj
+8287 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 546.186 null ] >>
+endobj
+8288 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 535.227 null ] >>
+endobj
+8289 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 524.269 null ] >>
+endobj
+8290 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 513.31 null ] >>
+endobj
+8291 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 502.351 null ] >>
+endobj
+8292 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 491.392 null ] >>
+endobj
+8293 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 480.433 null ] >>
+endobj
+8294 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 469.474 null ] >>
+endobj
+8295 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 458.515 null ] >>
+endobj
+8296 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 447.556 null ] >>
+endobj
+8297 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 436.597 null ] >>
+endobj
+8298 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 425.638 null ] >>
+endobj
+8299 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 316.167 null ] >>
+endobj
+8300 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 305.208 null ] >>
+endobj
+8301 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 294.249 null ] >>
+endobj
+8302 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 283.291 null ] >>
+endobj
+8303 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 272.332 null ] >>
+endobj
+8304 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 261.373 null ] >>
+endobj
+8305 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 250.414 null ] >>
+endobj
+8306 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 239.455 null ] >>
+endobj
+8307 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 228.496 null ] >>
+endobj
+8308 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 217.537 null ] >>
+endobj
+8309 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 189.681 null ] >>
+endobj
+8310 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 178.722 null ] >>
+endobj
+8311 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 167.763 null ] >>
+endobj
+8312 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 156.804 null ] >>
+endobj
+8313 0 obj
+<< /D [ 8266 0 R /XYZ 81.077 145.845 null ] >>
+endobj
+8265 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8317 0 obj
+<< /Filter /FlateDecode /Length 1593 >>
+stream
+xZMo8W%9>=ช-ԶҴВ)2u5m)O>ywƏG~wfvꭕż)&3&0vb 0n`2L_XiٟqWo8捑.C@+?T7u.J }(^.rV}YuYP q՜UpάQ9aΗžwmwuٝ>T3P2Mсݾd1pqa\?A?ceBFfʊ_~ۺ^P]?v7ƽ6{rˮ7z7#yr0aLM.E?tzM 3Ex$q&")&-v>V29֤3sT"Rl8n62O9z=$pfwgJ&1i=hrtނx z&1r*QX^\\̛Țl+ u2:hˬ9#A_n㠂?7.Z.1O`Nk^7}p ꂧk&$ÁeqZr!eh:"ŴT99[Zu.Dp.n.WOː'3@Xc6~W.ګy̿a)t"H<7(վpLۺY4Шbq@ڊ k$ήltnd(NHJHgْy{K$OCnx S?U⟲Mk6LP`XjgsEq+3)sFy*zDK֟Kzp,2{ -:Α MWGP{RG{PV9mj)7; e
+SUIZӊR-v; x/I/g
+~adiH%&IUd>C"!Sc{kRRQoHE?C_ިޒ: M^藢*G Mm z@rZhzlGqR|#@$c\TMyc}{t_mS iSBE7AO3E_U@{qak3|NV1t>/մolA$z$' „.C>ؖŮ[Xn;XE.TmnC]>ߪ?ÜqR)܎I좌GV<To|stX}wݵE발в}Q
+DIq24yxؚkn^SZh.lah<RCj7mVie9Y:kn4)_见{deTx(TTHӘ$;5Ϗ=6(i$SuS2
+!
+!hr`^$DmI*
+endstream
+endobj
+8316 0 obj
+<< /Type /Page /Contents 8317 0 R /Resources 8315 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8318 0 obj
+<< /D [ 8316 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8319 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8320 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8321 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8322 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8323 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8324 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8325 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8326 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8327 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8328 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8329 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8330 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8331 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 620.415 null ] >>
+endobj
+8332 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 609.456 null ] >>
+endobj
+8333 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 581.588 null ] >>
+endobj
+8334 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 570.629 null ] >>
+endobj
+8335 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 559.67 null ] >>
+endobj
+8336 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 548.711 null ] >>
+endobj
+8337 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 537.753 null ] >>
+endobj
+8338 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 526.794 null ] >>
+endobj
+8339 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 515.835 null ] >>
+endobj
+8340 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 504.876 null ] >>
+endobj
+8341 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 493.917 null ] >>
+endobj
+8342 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 482.958 null ] >>
+endobj
+8343 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 471.999 null ] >>
+endobj
+8344 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 461.04 null ] >>
+endobj
+8345 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 450.081 null ] >>
+endobj
+8346 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 439.122 null ] >>
+endobj
+8347 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 428.163 null ] >>
+endobj
+8348 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 417.205 null ] >>
+endobj
+8349 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 406.246 null ] >>
+endobj
+8350 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 395.287 null ] >>
+endobj
+8351 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 384.328 null ] >>
+endobj
+8352 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 373.369 null ] >>
+endobj
+8353 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 335.592 null ] >>
+endobj
+8354 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 324.633 null ] >>
+endobj
+8355 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 313.674 null ] >>
+endobj
+8356 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 302.715 null ] >>
+endobj
+8357 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 291.756 null ] >>
+endobj
+8358 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 280.797 null ] >>
+endobj
+8359 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 269.839 null ] >>
+endobj
+8360 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 258.88 null ] >>
+endobj
+8361 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 247.921 null ] >>
+endobj
+8362 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 236.962 null ] >>
+endobj
+8363 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 226.003 null ] >>
+endobj
+8364 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 215.044 null ] >>
+endobj
+8365 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 204.085 null ] >>
+endobj
+8366 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+8367 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+8368 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+8369 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8370 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+8371 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+8372 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+8373 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+8374 0 obj
+<< /D [ 8316 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+8315 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8377 0 obj
+<< /Filter /FlateDecode /Length 1915 >>
+stream
+xڽYmo6_a` w b6 [}XAX-,+>R)qܜKH|NwI<W|FZR'W<2Q15Q ,r=s,blvD44Y2fvFu^"i^'|叆8PET"d0fU78}4
+IKduO68ͨiv>;OaƫmgR^|iiuU%} orN,Ҭ\'t2k~nbsjUΨ!`_c1ú!c6Ϻ]_{}QQx-$+1ljگ;u&4?͸eX|t"rBDt~s89Hb%a$lol‘ "b&%11W]z%|0imdx-";/kӏ?'uy=Kbk_I#3?$B"D-53)CtdY^]Y7m[\۬>M{`mlq^-&_(1f~,nU)&9AGZH]gur@Q̥&c: dtMb(Qbب6:X7uS̳E=ipHryj2?ɴ>Ħ.U~4Vz5i!0|I]pv]>ڳpϪ΋d]^/]iA&) ^d&]Wه]^e E<?(NaP7øn& 'b( .zb:H;gFG{).Qť Y^3L:u!0 <՜
+('ɜr9@@ <Ɯè@8;+>x$!]5N";q' U+L}Ua/{
+vfPKYjGN9G,9~^6?wa'@媬PEN4 U ʠv2 JGHG`|(ʹB$?UDN~mNyDIr-`lp|[nx ^0[X !H Vyvى.Ba_wkp0v.`'@|nG6pCz
+Sw]% Ы>bƬu8ќj9,]] kst:9@s&۾F 6FVI0.4<'݉Ԉ
+F"BDV|\s`}SnԔ oStOt=G?t~͹jfH{
+VՈ\ 4GSq+>͈ƼhLDP7
+V}zDc"
+n`>x[euYM7f)e\{rP+|.x
+endstream
+endobj
+8376 0 obj
+<< /Type /Page /Contents 8377 0 R /Resources 8375 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8378 0 obj
+<< /D [ 8376 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8379 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 723.127 null ] >>
+endobj
+8380 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 712.168 null ] >>
+endobj
+8381 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 701.209 null ] >>
+endobj
+8382 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 690.25 null ] >>
+endobj
+8383 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 679.291 null ] >>
+endobj
+8384 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 668.333 null ] >>
+endobj
+8385 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 657.374 null ] >>
+endobj
+8386 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 646.415 null ] >>
+endobj
+8387 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 635.456 null ] >>
+endobj
+8388 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 624.497 null ] >>
+endobj
+8389 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 613.538 null ] >>
+endobj
+8390 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 602.579 null ] >>
+endobj
+8391 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 591.62 null ] >>
+endobj
+8392 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 580.661 null ] >>
+endobj
+8393 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 569.702 null ] >>
+endobj
+8394 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 558.744 null ] >>
+endobj
+8395 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 547.785 null ] >>
+endobj
+8396 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 536.826 null ] >>
+endobj
+8397 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 525.867 null ] >>
+endobj
+8398 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 514.908 null ] >>
+endobj
+8399 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 503.949 null ] >>
+endobj
+8400 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 492.99 null ] >>
+endobj
+8401 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 482.031 null ] >>
+endobj
+8402 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 471.072 null ] >>
+endobj
+8403 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 460.113 null ] >>
+endobj
+8404 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 449.155 null ] >>
+endobj
+8405 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 438.196 null ] >>
+endobj
+8406 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 427.237 null ] >>
+endobj
+8407 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 416.278 null ] >>
+endobj
+8408 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 405.319 null ] >>
+endobj
+8409 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 394.36 null ] >>
+endobj
+8410 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 383.401 null ] >>
+endobj
+8411 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 372.442 null ] >>
+endobj
+8412 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 361.483 null ] >>
+endobj
+8413 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 350.524 null ] >>
+endobj
+8414 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 339.565 null ] >>
+endobj
+8415 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 328.607 null ] >>
+endobj
+8416 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 317.648 null ] >>
+endobj
+8417 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 306.689 null ] >>
+endobj
+8418 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 295.73 null ] >>
+endobj
+8419 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 284.771 null ] >>
+endobj
+8420 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+8421 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+8422 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+8423 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+8424 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+8425 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+8426 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+8427 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+8428 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+8429 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+8430 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+8431 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8432 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+8433 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+8434 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+8435 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+8436 0 obj
+<< /D [ 8376 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+8375 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F76 318 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8439 0 obj
+<< /Filter /FlateDecode /Length 2470 >>
+stream
+xڵZ[o8~0Їu ˻Hc;(bb CGS[r$4=)t;}dsxnTh1£_ኄxݧ8Ҋ0:}C`HlI$q}zL(F1嬨TѪIedxFR`D0$ivfa0~Si[tӮrt=Yֳ/S3\QF3/
+K%D|͗bz[77|^T;RAJ"{<kc^n*L]s.q!J'.҈耸sSoʦ@5cLceUveܡLNj<,\nv]̺˼iG0nzc*ESTQdf>
+km/
+;XOʡ|G&g$A0nY41Bb
+#۪a:nmZ ',T5 1G,' iFb+h"~2CLe\h2֫HʀNw
+-
+ yMe&]5qy p{bxh] 6,8:yf)spi-MkK.>jhxk1g8`J]CٹdSqϘJGR~EZ0j|cڞJTih"aq qw:NrȼqT>ذ_ KC#fePi!:ֶfmV{ƕ}z\oz0J0v&>}pŒC{ )]Ճ?z83P29țbR]UCz^~a<aPVd8Kj<#tЃIt%ԶUP~8S!"QM.3Mtڷ}~~G"D짡 ( ߢ!iBS$a!H#rslc˗OSgmAXUBty(ea'L#Cڟ.oSh}&Qe*!0֞ω$Ei|u,:
+dY'D'ۆh6 S_˧IFA{
+rb.AO8X]9Vմ&GID6$F@15)IO!e.ODY*g*(λp㹫e,gwOjGO6 dc)M=De#>1ev&;J8(@U]"AωݔOu:U=o?V"J>S!:}mb +
+endstream
+endobj
+8438 0 obj
+<< /Type /Page /Contents 8439 0 R /Resources 8437 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8440 0 obj
+<< /D [ 8438 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8441 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8442 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8443 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8444 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8445 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8446 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8447 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8448 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8449 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8450 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8451 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8452 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8453 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+8454 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+8455 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+8456 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+8457 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+8458 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+8459 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+8460 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+8461 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+8462 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+8463 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+8464 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 426.117 null ] >>
+endobj
+8465 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 415.158 null ] >>
+endobj
+8466 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+8467 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+8468 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+8469 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+8470 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+8471 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+8472 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+8473 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+8474 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+8475 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+8476 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+8477 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+8478 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+8479 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+8480 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+8481 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+8482 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+8483 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+8484 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+8485 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+8486 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+8487 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+8488 0 obj
+<< /D [ 8438 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+8437 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8491 0 obj
+<< /Filter /FlateDecode /Length 2139 >>
+stream
+xZ]o8}ϯ&,Ie1``` 2]M;Beɕ$ݠ{)ʔ,Lzg^ zw8J4atv P LK$)Idv>W&o;4Jdz &
+5 ϗWY\ :r_)ǯmU}-zmC.Agh07#~$19o ™ַЈ%:D{X>T#CO#C9BTx*,bRQ)=GeT0OEִi]=y@ +GD !EUGsx8>c~ęS%ᙨ8&#<3_*:oAWG;ѷ3d9T#ޣ)!v }S>ћbX4ڔZ>duM9h]l_ʝ}y_>xÙIf ٩1 8J/{syp2_UEQ]R5˵+ZTMV.&)>$Z3 Ǽ(l /#jyY
+4!3:6~;mJN%K!ܣɄ.;:ө/ZqoðÏWeD [~|'X#J!ykS6F|gPDI`lGw60ny8ؖ<l%n>p)<+v 06Qmۼ*,8={ֻ9gwJ2E {E4F]p.yLu՚Ek7k>v,{aԏTq"}Yl "3=3u]'/EHJySuT;h"'c2F[*Cf.ocGda6`Qi1a՝MUu&; <UTh#΄I0x/?GGPYT_Yt#F$"xEr$WiQk گ}Bu,/.A@HHI򣥀!2r}iwQ58~l_Y^7weM^.)zvkwzC4%GDyt~1-!Asd~e;k h\`Dpzhz[8wDáB]Uvm37͜mnz[>#Ó8hϸ9^|@0G9
+II8Rct?S"$P8#pt%6>1a )@gݵiAŞZCzil՚:m甁W^J:~K!qKOW3P>]-z6-+oy˜qKMIlw6cIᝩq(ڰt׼A;\gϴr$E]x XCm|J\( ^*d_+WiM7qB]DHKVeP 4X)A. ~W)AJ@o޻8%P8%P*G8%J@@8N t|US
+dޘO;Xl֣->K.QS5yw->Jt_̻LIpy״0, { >|v"%!Q"tɞ=ԒP^08~q?Y߭\9|wiܫEجy_3+ʽoK(8VW`+cc`Z{{}R <pE<[UOi$'#>k~鞕#D!>NU\¬1%
+"VWhX"1OU\jōD 뭗M:Xf3\%rcptϚ#D(Lȵ'r1JT$5ۋb
+endstream
+endobj
+8490 0 obj
+<< /Type /Page /Contents 8491 0 R /Resources 8489 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8492 0 obj
+<< /D [ 8490 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8493 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8494 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8495 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8496 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8497 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8498 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8499 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8500 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8501 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8502 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8503 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8504 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8505 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+8506 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+8507 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+8508 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+8509 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+8510 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+8511 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+8512 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+8513 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+8514 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+8515 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+8516 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+8517 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+8518 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+8519 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+8520 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+8521 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+8522 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+8523 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 332.468 null ] >>
+endobj
+8524 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+8525 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+8526 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+8527 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+8528 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+8529 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+8530 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+8531 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+8532 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+8533 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+8534 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+8535 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+8536 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+8537 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+8538 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+8539 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+8540 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+8541 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+8542 0 obj
+<< /D [ 8490 0 R /XYZ 81.077 92.368 null ] >>
+endobj
+8489 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8545 0 obj
+<< /Filter /FlateDecode /Length 1481 >>
+stream
+xZMOH+"H+VZFؑe'X;&[v;C*j.8yC' |>Õ|܈$2'/ XM43Mfc;2ӿ\%NkaC0b_LȦHeݮɩ~|,>iBk.*J僋
+U6 yFLKBȹgP}A ge%BJ+fAgJ85DJ+
+4DS,D*-VQ'Bm[荹q#֌q_]/8$PcֻS&7) hqJ_ ONyxH88H|d&7h?BEMmy%k@' 1*AF"ݓMϰ#v-U&oϻ ё9'lOҥj}E^.'a jlҼV4yd7!-'B:#ϗL+Bm KF"d
+g:
+endstream
+endobj
+8544 0 obj
+<< /Type /Page /Contents 8545 0 R /Resources 8543 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8546 0 obj
+<< /D [ 8544 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8547 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8548 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8549 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8550 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8551 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8552 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8553 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8554 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 672.93 null ] >>
+endobj
+8555 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 661.971 null ] >>
+endobj
+8556 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 651.013 null ] >>
+endobj
+8557 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 640.054 null ] >>
+endobj
+8558 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 629.095 null ] >>
+endobj
+8559 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 618.136 null ] >>
+endobj
+8560 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 607.177 null ] >>
+endobj
+8561 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 591.728 null ] >>
+endobj
+8562 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 580.769 null ] >>
+endobj
+8563 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 569.81 null ] >>
+endobj
+8564 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 558.851 null ] >>
+endobj
+8565 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 547.892 null ] >>
+endobj
+8566 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 536.933 null ] >>
+endobj
+8567 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 525.974 null ] >>
+endobj
+8568 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 515.015 null ] >>
+endobj
+8569 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 504.056 null ] >>
+endobj
+8570 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 493.097 null ] >>
+endobj
+8571 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 477.648 null ] >>
+endobj
+8572 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 466.689 null ] >>
+endobj
+8573 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 455.73 null ] >>
+endobj
+8574 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 444.771 null ] >>
+endobj
+8575 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 433.812 null ] >>
+endobj
+8576 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 422.853 null ] >>
+endobj
+8577 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 411.895 null ] >>
+endobj
+8578 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 400.936 null ] >>
+endobj
+8579 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 389.977 null ] >>
+endobj
+8580 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 379.018 null ] >>
+endobj
+8581 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 368.059 null ] >>
+endobj
+8582 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 357.1 null ] >>
+endobj
+8583 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 346.141 null ] >>
+endobj
+8584 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 335.182 null ] >>
+endobj
+8585 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 324.223 null ] >>
+endobj
+8586 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 313.264 null ] >>
+endobj
+8587 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 302.306 null ] >>
+endobj
+8588 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 291.347 null ] >>
+endobj
+8589 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 280.388 null ] >>
+endobj
+8590 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 269.429 null ] >>
+endobj
+8591 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 258.47 null ] >>
+endobj
+8592 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 247.511 null ] >>
+endobj
+8593 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 236.552 null ] >>
+endobj
+8594 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 225.593 null ] >>
+endobj
+8595 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 214.634 null ] >>
+endobj
+8596 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 203.675 null ] >>
+endobj
+8597 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 192.716 null ] >>
+endobj
+8598 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 181.758 null ] >>
+endobj
+8599 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+8600 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+8601 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+8602 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8603 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+8604 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+8605 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+8606 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+8607 0 obj
+<< /D [ 8544 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+8543 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8610 0 obj
+<< /Filter /FlateDecode /Length 2899 >>
+stream
+x\[oܺ~P]]F
+y 5 J9 8.w<(I^ w78R`! sYt\dl5wis:g3<+Tio>,S"fESx${<.ʬ9,! HFt:"Wy&IT_wAĢڴ]uuP@dܟڴn6,W8_}?,%
+U2+y$skY}c<G}YW
+(0Da̍W7uoPơ|[LUuղ}o6^h[D@Y?Zmw;س $i&zVKH0:>׋T s$!W'
+&
+8pCy#HGܳy: Xq*y410[A=yOm뚟ژFwi c(ќ".Q˟dhJMb9pMSwjxC|cB2("*9.[yG|pʠ G$!EAOa`^lnc(&?&b`= >ǔ9끰: tgPV%0QϒC6# PNއQXr]}'ah>cH'tkj
+puQa.1&!
+a#g.[Wo;nI횂 ?zSu nY[ >Œ,gE6.C-ӧIQcr&owʶXߢf24`F)$$ʙ@S̢FE'X t o32$׵Cbc
+Ji2BɧVc
+]#"L6BC+1kN
+(<KV~L’c<9$fbyޓ<wx-_Qc1Ls.!XgsÉ_ZQ/ Hl(~$$_7 =o邢;ۀ,GӨܫ+euJ5Ke{yrUC2An
+uTp1A\Ir[5TY^׽wup fSaҹܶv]ո [I^4H^2[Dٹ[ݮni \a܇҇v{7Ctu)_q:V'$L\;z|prDw+;uq1_I¶Hy5w8脅Ird%9'~ )Ifrt'j9H?&C'k.3J*FłiZ|(tcdg:c
+I6g-7CXq^5Y,UpҊ*c;ÒE@nãq; dSΤk$̝n#f`,G-aޗJ@w| z^zfx,ZogFB:.0XT"QL]ah}soqw, {C q?>vˤa6$"lC_sz׾~,\=XPޓ! Qp'=%Ntr!H>
+endstream
+endobj
+8609 0 obj
+<< /Type /Page /Contents 8610 0 R /Resources 8608 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8611 0 obj
+<< /D [ 8609 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8612 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8613 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8614 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8615 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+8616 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+8617 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+8618 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+8619 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+8620 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+8621 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+8622 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+8623 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+8624 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+8625 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+8626 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+8627 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 342.02 null ] >>
+endobj
+8628 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 331.061 null ] >>
+endobj
+8629 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 320.102 null ] >>
+endobj
+8630 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 309.143 null ] >>
+endobj
+8631 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 298.184 null ] >>
+endobj
+8632 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 287.225 null ] >>
+endobj
+8633 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 276.266 null ] >>
+endobj
+8634 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 265.307 null ] >>
+endobj
+8635 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 254.348 null ] >>
+endobj
+8636 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 243.39 null ] >>
+endobj
+8637 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 232.431 null ] >>
+endobj
+8638 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 179.629 null ] >>
+endobj
+8639 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 168.67 null ] >>
+endobj
+8640 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 157.711 null ] >>
+endobj
+8641 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 146.752 null ] >>
+endobj
+8642 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 135.793 null ] >>
+endobj
+8643 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 124.834 null ] >>
+endobj
+8644 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 113.875 null ] >>
+endobj
+8645 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 102.916 null ] >>
+endobj
+8646 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 91.957 null ] >>
+endobj
+8647 0 obj
+<< /D [ 8609 0 R /XYZ 81.077 80.998 null ] >>
+endobj
+8608 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8650 0 obj
+<< /Filter /FlateDecode /Length 2275 >>
+stream
+xZ[o8~0`W 0@ yX؇*r,Ԗ\KNZ"TL[;m_Ooϟͻ-8R0]! /B('Ţ 9YnfE^:W T3)#WmwWkf`M)3%/0F?]\
+*E˶~3gzf}*O$-dlKDDr?u84J&TcK| V]m~wMB<
+b1쌽.h=d9/hp-dVr0*7LqmK*ډmz\7~ڽi7ޗ*f?7v:۲; 36lF`qM;|_}S>Drĸ>V
+jy{z%PAzr$́0Hcyz**
+BwiJG`
+rNs{EINybT"X6wXkC)o-MJ)yl
+q499B`퓻faY ]5lwԒni:@&v[g#aF5A= CEs LAp=ށl쓲mq]]F
+Ml_W . b~+W,Cg-imQ>^c5%Ӹ:!|DC8h~q'HJG߰hRRo2w.mQCVHIbimx4ӺnzHA&ISEѭΛL]r/'_ɂN`({` ɜΕ'R?SZDO}I/u^ݴ׳Ĵ=lR=ʡWILќt ԙ$l,fhwN mEL я&%ν (M1D Ku3[Dw_;C3*(D12lI BMO*#9gK>OE<,f:[LmIWF˸{U'O2@wR,c{fqu 벷ClJ}ux|OZȩ@E?<q 0,^7%9~nGc?q*-+hvL%(W_9%VoS"`1G;O;{
+79U(&%<ID1UvWAܴ/Gqx
+-2ANPHL P&U!1'àWm8O@BN g j.(V`!:US[Iڎ/઻i;<=1k\rJQi4m!,!๟ K1F,<moWI7F$U]?2x9,7%Im Il
+̕wCޢH!HR#%I$!RULGh1L <hbxAct_1#\x. $mb!M¿!>4e ֋L߮)Dx i<B'MA`X4}ǖ TI:}\ I _3(7:gg&r"trv&
+i{BRNKiX.@}] KC26(̐>R .T|SMA!%ny8לHr?fN $Fp. ?tͿV
+endstream
+endobj
+8649 0 obj
+<< /Type /Page /Contents 8650 0 R /Resources 8648 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8651 0 obj
+<< /D [ 8649 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8652 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8653 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8654 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8655 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8656 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8657 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+8658 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+8659 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+8660 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 587.512 null ] >>
+endobj
+8661 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 576.553 null ] >>
+endobj
+8662 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+8663 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+8664 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+8665 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 502.829 null ] >>
+endobj
+8666 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 491.87 null ] >>
+endobj
+8667 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 480.911 null ] >>
+endobj
+8668 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 469.953 null ] >>
+endobj
+8669 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 458.994 null ] >>
+endobj
+8670 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 448.035 null ] >>
+endobj
+8671 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 437.076 null ] >>
+endobj
+8672 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+8673 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+8674 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+8675 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+8676 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+8677 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+8678 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+8679 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+8680 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+8681 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+8682 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+8683 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+8684 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+8685 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 253.763 null ] >>
+endobj
+8686 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 242.804 null ] >>
+endobj
+8687 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 231.845 null ] >>
+endobj
+8688 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 220.887 null ] >>
+endobj
+8689 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 209.928 null ] >>
+endobj
+8690 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 198.969 null ] >>
+endobj
+8691 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 188.01 null ] >>
+endobj
+8692 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 177.051 null ] >>
+endobj
+8693 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 166.092 null ] >>
+endobj
+8694 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 155.133 null ] >>
+endobj
+8695 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 144.174 null ] >>
+endobj
+8696 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 133.215 null ] >>
+endobj
+8697 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 122.256 null ] >>
+endobj
+8698 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 111.297 null ] >>
+endobj
+8699 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 100.339 null ] >>
+endobj
+8700 0 obj
+<< /D [ 8649 0 R /XYZ 81.077 89.38 null ] >>
+endobj
+8648 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8703 0 obj
+<< /Filter /FlateDecode /Length 1799 >>
+stream
+xڽZKo6WPh)h,Þ|bˉ[r$9nzPz^g}bFI%>#2R15R ,h5c=2}ڼYiRm׏yx6]9'SǫOH3xS6ϊ)/)z<jҾO1s71b@vیZd*)ӿ "X6^eK7c"D#fb'b^Zd*eY7qSF63㍳8֨?qRviT~2%,ٵj(,\;cjT*8o*}. :{#A
+F#ڧY.@]rީZ!gQk9"tKHw6-ZBܸ9]Z8E%>_q[EMZr%]'N
+ĴO]>"t[=ֵ,BIGkwx %^ ov|W]b3\Qr̘3ĥW|aC4^@^慼 6^m/
+w=ÝiGR_1H/l{˄݂E讆V1{;aZ#_}3.pHT&`5B|ȋYt@$4!ڛiܕ;`6OAF*De$#kn)/e?mml6c}6"1l#<1j;eӆ$?BRJ6fYt?v< n¶F\")0B m}b to!wSZP.`q |`;Pe^ ġ9-ԈPߖSeDs/z>PW^R> W`R")D} Ё
+yrbtyQQaB4<<w'LS^ex1z~ݬAhA`vq%Q~Ոͯby fa`U7"t϶pyr<T8K"\8 BByiV
+F>Dݯdk F%
+?Q@îB[mQiVs+}fkvb!#) C
+endstream
+endobj
+8702 0 obj
+<< /Type /Page /Contents 8703 0 R /Resources 8701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8704 0 obj
+<< /D [ 8702 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8705 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 743.205 null ] >>
+endobj
+8706 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 732.246 null ] >>
+endobj
+8707 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 721.287 null ] >>
+endobj
+8708 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 710.328 null ] >>
+endobj
+8709 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 699.369 null ] >>
+endobj
+8710 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 688.41 null ] >>
+endobj
+8711 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 677.452 null ] >>
+endobj
+8712 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 666.493 null ] >>
+endobj
+8713 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 655.534 null ] >>
+endobj
+8714 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 644.575 null ] >>
+endobj
+8715 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 633.616 null ] >>
+endobj
+8716 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 622.657 null ] >>
+endobj
+8717 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 611.698 null ] >>
+endobj
+8718 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 600.739 null ] >>
+endobj
+8719 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 589.78 null ] >>
+endobj
+8720 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 560.829 null ] >>
+endobj
+8721 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 549.87 null ] >>
+endobj
+8722 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 538.911 null ] >>
+endobj
+8723 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 527.952 null ] >>
+endobj
+8724 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 516.993 null ] >>
+endobj
+8725 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 506.034 null ] >>
+endobj
+8726 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 495.075 null ] >>
+endobj
+8727 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 484.116 null ] >>
+endobj
+8728 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 473.157 null ] >>
+endobj
+8729 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 462.199 null ] >>
+endobj
+8730 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 451.24 null ] >>
+endobj
+8731 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 440.281 null ] >>
+endobj
+8732 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 429.322 null ] >>
+endobj
+8733 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 418.363 null ] >>
+endobj
+8734 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 407.404 null ] >>
+endobj
+8735 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 396.445 null ] >>
+endobj
+8736 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 385.486 null ] >>
+endobj
+8737 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 374.527 null ] >>
+endobj
+8738 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 363.568 null ] >>
+endobj
+8739 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 352.61 null ] >>
+endobj
+8740 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 341.651 null ] >>
+endobj
+8741 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 330.692 null ] >>
+endobj
+8742 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 319.733 null ] >>
+endobj
+8743 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 308.774 null ] >>
+endobj
+8744 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+8745 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+8746 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+8747 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+8748 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+8749 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+8750 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+8751 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+8752 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+8753 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+8754 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+8755 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+8756 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+8757 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+8758 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+8759 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8760 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+8761 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+8762 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+8763 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+8764 0 obj
+<< /D [ 8702 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+8701 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8767 0 obj
+<< /Filter /FlateDecode /Length 1700 >>
+stream
+xZn8+ tSG&fUY ;, oʒ(RIZ_$6ţ{xl=ó7'xD}s fM]Ngd%D͔$K2Ε_]/idd:5몼% ΊMQL= [*6msvYTǖe~^3p晩Ø 1~$(<VgW`'M*igܨCiUA>
+^ՈhaJ-zTiQj[oUCTx>}%R >LTȽ0FؕYV41< r .}@j7^6=Lv4F**Y=+:YC&i*۳d4a
+qX h;5lwi<W7Ys^=vR=au䟞_%wӈFVC:re !{7
+f)!.h$wFX
+I6ry[> [1 RD{#t\&8Rs`!h/{ΊV>y=0䋭o`"ͩa4CtGhBqf``ˆ?Eym,qBg"t]*lbc
+6Ѫ4Q7a>z4:W\+w~BBHID (N)Y8Eyd]#L?}us,-%lz<1;?!.QDw{r#4\6%1숄A*UۏImԞSe,9*? <r/gH-/f A™Kݣ Vq1] ĕU[~ȖMY 7W4H>B %Ւ&:
+d5.[
+endstream
+endobj
+8766 0 obj
+<< /Type /Page /Contents 8767 0 R /Resources 8765 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+endobj
+8768 0 obj
+<< /D [ 8766 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8769 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8770 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8771 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8772 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8773 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8774 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8775 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8776 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8777 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8778 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8779 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8780 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8781 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+8782 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+8783 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+8784 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+8785 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+8786 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+8787 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+8788 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+8789 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+8790 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+8791 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+8792 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+8793 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+8794 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+8795 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+8796 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+8797 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+8798 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+8799 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+8800 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+8801 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+8802 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+8803 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+8804 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+8805 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+8806 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+8807 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+8808 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+8809 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+8810 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+8811 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+8812 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+8813 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+8814 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+8815 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+8816 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+8817 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+8818 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+8819 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+8820 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+8821 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+8822 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+8823 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+8824 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+8825 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+8826 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+8827 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+8828 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+8829 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+8830 0 obj
+<< /D [ 8766 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+8765 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8833 0 obj
+<< /Filter /FlateDecode /Length 1847 >>
+stream
+xڽYo6~_a  ? ('}Cqڭ"y,-}GSH7K|NJ#t~B'ݓ(rIeOf'  XM43Mf7 c9-uV%NkaS03p Y5WSU%<nVj]__ )J呝=6&x&E-G+r46Y(v6o{fy3_Tu=0͢.J6d>nTOڳlz>{/j/re}[&r-Sa&Q"F/)70@h U]m_t/ouy9=嶨tqY0)G+M-Ur7,7DX3[in`pqG@
+IPDMQݬ{jF{h,<TPBbYnKU
+?/J^\0݄_
+1bUj0z0x@aŭ_qWZK"yQqƬ_WD RB!pDR@n˪ul/}w(9Qt<G1EtU]}*aY}zg'QDv
+.EGE?ofo|8 6(_ж#h\@v6GWH߁FϽ^{WϞQ^]UWA93)g٢\Kx65`ϻD5İ)%E3g:c41*fxI/OtF+b\4C -)6F8)i₸Aj̇.~^5م-?f!i^Eqo0>T}67ɁϪ#$m~B|ڽ4Lx琭 N4㑢}ޟU唅+a:
+rP?C!O\#zwbx~{\a(<B&u-y>ZԨ &`\&V _= R7C{
+kҔ }H)4vZ =Ƕhzʊ'ZcL
+YxLk+'ڶƀJ?֘%24c`=
+oex2s|/k}| z{x&ɧ.=)yLL&NCf<Զ5pJ)5 A74&D氄s яȘ Ò!.9K3ʵ9,R/)xwBM \g*_%G EQJy_*"CQJ^p!N.Xxp8;3I9o[cd9JSp<FX-
+){j7X: _"
+Ml^K8QFuj,058N)8=CD)ExS0[ ɟPQ\D@(ce*" Oxt5T2CώI d2COdT57dF/PSdv;YUN#\KgaPFIr8L8T2$% 9K~
+endstream
+endobj
+8832 0 obj
+<< /Type /Page /Contents 8833 0 R /Resources 8831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+8834 0 obj
+<< /D [ 8832 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8835 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8836 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8837 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8838 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8839 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8840 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 672.194 null ] >>
+endobj
+8841 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 661.235 null ] >>
+endobj
+8842 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 650.276 null ] >>
+endobj
+8843 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 639.317 null ] >>
+endobj
+8844 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 628.358 null ] >>
+endobj
+8845 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 617.4 null ] >>
+endobj
+8846 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 606.441 null ] >>
+endobj
+8847 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 595.482 null ] >>
+endobj
+8848 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 584.523 null ] >>
+endobj
+8849 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 573.564 null ] >>
+endobj
+8850 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 548.657 null ] >>
+endobj
+8851 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+8852 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+8853 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+8854 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+8855 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+8856 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+8857 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 416.154 null ] >>
+endobj
+8858 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+8859 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+8860 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+8861 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+8862 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+8863 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+8864 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 309.554 null ] >>
+endobj
+8865 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 298.595 null ] >>
+endobj
+8866 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 287.636 null ] >>
+endobj
+8867 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 276.677 null ] >>
+endobj
+8868 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 265.718 null ] >>
+endobj
+8869 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 254.759 null ] >>
+endobj
+8870 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 243.801 null ] >>
+endobj
+8871 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 232.842 null ] >>
+endobj
+8872 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 221.883 null ] >>
+endobj
+8873 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 210.924 null ] >>
+endobj
+8874 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 199.965 null ] >>
+endobj
+8875 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 189.006 null ] >>
+endobj
+8876 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 178.047 null ] >>
+endobj
+8877 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 167.088 null ] >>
+endobj
+8878 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 156.129 null ] >>
+endobj
+8879 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 145.17 null ] >>
+endobj
+8880 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+8881 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 123.253 null ] >>
+endobj
+8882 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 112.294 null ] >>
+endobj
+8883 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 101.335 null ] >>
+endobj
+8884 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 90.376 null ] >>
+endobj
+8885 0 obj
+<< /D [ 8832 0 R /XYZ 81.077 79.417 null ] >>
+endobj
+8831 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8889 0 obj
+<< /Filter /FlateDecode /Length 1570 >>
+stream
+xڽZKo8Wi`@S`9v!8u$WrݢE2E:q{4~3C|oL7gɻɛ3 ż @ aF؁5q#C33cp1X0+L4:R 5=,j}ݞ~onjxLpHHIŀM myb;h(N84LY餅eR`[d[xøBk7L(a/sΤTٴejn.oUYgr9Ç4$6TJd(lkZKгdkX`s24Nxҏ^H@bF,FW;id7h?4*|LEM-=:(8X2pL [& N[f 8P2)l[DHXhmǙa(ÅRt#ɫn|Mc<>MdoD?q ۤ-tU(bv]3VJ}<ZR<`0WiGtyq7n=L.941a}Ql17yWr̦y45jcJNM}(v;o}fQ BJ0$hm'")$ :'+;Rɒ P.($eLЋȫuj>DfٿyUfk2M  i[_C6誴 Et]eNf! 2)K0^-cUGKN4F1v%h(:.r5>Jk|L&^QA=@VxAnm92#DCgX1l%)
+vGfs:@lP+Z(a)Z-TJd)A7ғշb*gU5Z.eK:>V_#MUH͝\oJ|کۇtQj ɵΰYK4ҁ%7(9t[8i=.o6uuڤP̛Xaj]oV!f6kLΰR}P1Ek$L@Ek4Yu˜i-vw݄h?e|䞛~=7aW6Z 0#vGdiOB .T}n4E u#AϒEy}V?AiwL hbtpzZo_ ʪR rsSҤXGqڐt&B c3.'\''?]
+endstream
+endobj
+8888 0 obj
+<< /Type /Page /Contents 8889 0 R /Resources 8887 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+8890 0 obj
+<< /D [ 8888 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8891 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+8892 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+8893 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+8894 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8895 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+8896 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8897 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+8898 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8899 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+8900 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+8901 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+8902 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+8903 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+8904 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+8905 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+8906 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+8907 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+8908 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+8909 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+8910 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+8911 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+8912 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+8913 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+8914 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+8915 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+8916 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+8917 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+8918 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+8919 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+8920 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+8921 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+8922 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+8923 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+8924 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+8925 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+8926 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+8927 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 344.423 null ] >>
+endobj
+8928 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 333.464 null ] >>
+endobj
+8929 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 322.505 null ] >>
+endobj
+8930 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 311.547 null ] >>
+endobj
+8931 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 300.588 null ] >>
+endobj
+8932 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 289.629 null ] >>
+endobj
+8933 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+8934 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+8935 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+8936 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+8937 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+8938 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 203.95 null ] >>
+endobj
+8939 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 192.991 null ] >>
+endobj
+8940 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+8941 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+8942 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+8943 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 149.155 null ] >>
+endobj
+8944 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+8945 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+8946 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+8947 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+8948 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+8949 0 obj
+<< /D [ 8888 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+8887 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8952 0 obj
+<< /Filter /FlateDecode /Length 2091 >>
+stream
+xڵZ]o6}_a/pa`An}YĚȒGI$Ӥ㸦}#G<^s)O~x޽@ #䓻w2Q15Q ,n=?WM5clv?jSk{eX\Q5}tiUa*oDZãl5\.Sv9<wЧ}2B|$Me/#{&#PH8
+1EEwn/ˬ[olY{'$"{tI!z؎lGk7?o<ɛ4!z$_K̂pDܱ<R!x`]EW/!gDԹ&Mϛ[d.&md
+W=զn3C %ӄ 3Y OϛHzm9#A qiBtO.%5g\)ӈ51_N j>oJF,DˢH%ҧCuN$~C,PUZAIm[-z3=H>^tm^%Z# CRLް ,>RHq_8ԙɛX9&F;WjLMrYR"pH"t@#Lv~xh&o̒pYA2*b'"؇f TGxț<;Q BG;&]?ڡϪ:Ij[sv$5|Jmu5=|, tVv[w}MQ
+M mK{ 7]X8U3>bn-\8Ƕ:r?>C =]/E^ʵc"[s81,v8|:qهp= w\*(rPXAovC:~C mߑNN҈}8S+aP$YU)4u.g@۽ߐ$~Ckle"S*)Edm΅D{UtRޏ?E9r/I͛WJfOYW&cжj4NeZeaYT6{*jT̛&nK62X0^4jf@vds[XOlFx[,y;wcqKHHN^if[ޝB]SE(xFcv=HgS+ull 23Lzzw:Wȍf[fMgjg'؅1]o퇿&BAleJ/gT&;YPkRꌁvnA=,@3lL<ߢ.H ^9yMꀀ V3N`#H8QoɯWBZPB3>Z8, P_v;z%'?w~rqLVDΉ2(R*q%ӻk8vwao} PI'DLY\XVHeŤq
+/Ƭ~ۥz_ NJL:}n͐ͤI6-D.(t>#tB,7<iF藃e
+Ze6F+^gQ&u#H近$5 SMZsIѨwgeu7+[͞FM }nI& e>S>2B;3<o쬺>z˒ ^O
+Y$E7B'
+g'e|VG.}\^vv^]& {Ѥz:צw+/y/]&:KO \LD)ەeS%t4NN.Ҩ?;̘@*g,y}m'W=ѴE#IKn<o4B#X <L.<- ’׺vm7+@`̏
+31?;%Gyqb@ H9N2kcE+
+endstream
+endobj
+8951 0 obj
+<< /Type /Page /Contents 8952 0 R /Resources 8950 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+8953 0 obj
+<< /D [ 8951 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+8954 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 754.884 null ] >>
+endobj
+8955 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 743.925 null ] >>
+endobj
+8956 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 732.966 null ] >>
+endobj
+8957 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+8958 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+8959 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+8960 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+8961 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+8962 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+8963 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+8964 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+8965 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+8966 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+8967 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+8968 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+8969 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+8970 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+8971 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+8972 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+8973 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 485.893 null ] >>
+endobj
+8974 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+8975 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+8976 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+8977 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+8978 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+8979 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+8980 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+8981 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+8982 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+8983 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+8984 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+8985 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+8986 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+8987 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+8988 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+8989 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+8990 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 269.703 null ] >>
+endobj
+8991 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 258.745 null ] >>
+endobj
+8992 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 247.786 null ] >>
+endobj
+8993 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 236.827 null ] >>
+endobj
+8994 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+8995 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+8996 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 203.95 null ] >>
+endobj
+8997 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 192.991 null ] >>
+endobj
+8998 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+8999 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+9000 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+9001 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 149.155 null ] >>
+endobj
+9002 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+9003 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+9004 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+9005 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+9006 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+9007 0 obj
+<< /D [ 8951 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+8950 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9010 0 obj
+<< /Filter /FlateDecode /Length 1955 >>
+stream
+xZ]o:}ϯ0{[ 6we]$(*7;dtדKhQ<!9sF
+3krog_$b&Ij೫3͌&%D3B5]=57_?NgZ 2D&FbB~}nBq524m8X  2{^ uʬh/ l~TE ܛqhq]<d>///_PS_s{MWI
+}leVu^2f7UL GW|
+bem4\~OSPç dp(DA-1S) ~r. }DE
+u?z {eAqC#22^k)qA(*$mT|j햗v8C?/h_ >٭B}~׷.$M8!:X86c[RNCjEPzmYeM\G)'`[b 0h.GW,9}4=N#p ?B
+q`v|q+]EY HGrny"cXZO~K߄V;"ܶCʺ
+ǃ۶WàOTǢ.996i3R[D}+0"68俐*, S%:覐"%JN`;ʙs\Wc_ZDweލw\/v4Śdoh?/c]@IYֽ]vl)&:Abw|X3D*NFh>_NFo =ͼmg 5 aDq/3$NFh_8 ”(vSW8 ô ^mVQj̺A)K z֯S_ymrh
+ۜ/9_3Oq߽!&TsKag/?[[N)U$j|qc^l+O%1l;]oP7KN<ĤS:1ɂSp+B;l:DTDQ+_Q&>;(wJe&")QB"4 PЩU'}C7uW/*T
+ŵ)hg҉q2o^?:/
+endstream
+endobj
+9009 0 obj
+<< /Type /Page /Contents 9010 0 R /Resources 9008 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9011 0 obj
+<< /D [ 9009 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9012 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9013 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9014 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9015 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9016 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9017 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9018 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9019 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9020 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9021 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9022 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9023 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9024 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9025 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9026 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+9027 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+9028 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+9029 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+9030 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+9031 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 542.68 null ] >>
+endobj
+9032 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+9033 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+9034 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+9035 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+9036 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 487.885 null ] >>
+endobj
+9037 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+9038 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+9039 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+9040 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+9041 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+9042 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+9043 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+9044 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+9045 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+9046 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+9047 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+9048 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+9049 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+9050 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+9051 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 269.703 null ] >>
+endobj
+9052 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 258.745 null ] >>
+endobj
+9053 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 247.786 null ] >>
+endobj
+9054 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 236.827 null ] >>
+endobj
+9055 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 225.868 null ] >>
+endobj
+9056 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 214.909 null ] >>
+endobj
+9057 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 203.95 null ] >>
+endobj
+9058 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 192.991 null ] >>
+endobj
+9059 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 182.032 null ] >>
+endobj
+9060 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+9061 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+9062 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 149.155 null ] >>
+endobj
+9063 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+9064 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+9065 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+9066 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+9067 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+9068 0 obj
+<< /D [ 9009 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+9008 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9071 0 obj
+<< /Filter /FlateDecode /Length 1923 >>
+stream
+xZn6+ A" hh1,3Er%̠R/t<_@7Ql^>i<x|"gpny&b3"Ζw32SI"Id|6WXߗ?H=SHKɔ&0~}&.xݘbty%ag\7_%##aD}tK4<nIW7Y$_/^큾=>2g꣏ɺ:G-+U(d%0Y}Hn6Ί<+̢(
+_
+[:R{)9XS-@;ZA"s35i"& mA52vq3UnQ҃|xn|NK 5G)I=L]|NaVyhV&
+'A`U!*Z.qxB!3XCǬ%ݦ06'x-<N}5ۋi"jBv{ۋu8<m@]MT+s.L&!5Ҵ o1ic֋ۭ3a; u&T*J%aGs75S"PǰlKBhv/J]nH@)dO
+1(П4UUV{`0kS9@$Ew 7Q*LMAv0inuz/531D'^MqQ
+A)bSEa
+cO_ƄtpX 1yLJajѯQ{3uX Cr*i(F嫲idzυTQM>MYeˢ9pԓ}5Qm״9)HE_^ L
+endstream
+endobj
+9070 0 obj
+<< /Type /Page /Contents 9071 0 R /Resources 9069 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9072 0 obj
+<< /D [ 9070 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9073 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9074 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9075 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9076 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9077 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9078 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9079 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9080 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9081 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9082 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9083 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9084 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9085 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9086 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9087 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+9088 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+9089 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+9090 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+9091 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+9092 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+9093 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 495.855 null ] >>
+endobj
+9094 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+9095 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+9096 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+9097 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+9098 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+9099 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+9100 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+9101 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+9102 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+9103 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+9104 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+9105 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+9106 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+9107 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+9108 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+9109 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 320.513 null ] >>
+endobj
+9110 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+9111 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+9112 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+9113 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+9114 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+9115 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+9116 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+9117 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+9118 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+9119 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 200.961 null ] >>
+endobj
+9120 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+9121 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+9122 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+9123 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+9124 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+9125 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+9126 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 124.249 null ] >>
+endobj
+9127 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 113.29 null ] >>
+endobj
+9128 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 102.331 null ] >>
+endobj
+9129 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 91.372 null ] >>
+endobj
+9130 0 obj
+<< /D [ 9070 0 R /XYZ 81.077 80.413 null ] >>
+endobj
+9069 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9133 0 obj
+<< /Filter /FlateDecode /Length 1851 >>
+stream
+xYo6~_a/0M)Àmr"Ė\Yn߾)8>5)>}ߙznD;܈$i G >=K4fj{ O?N{ II8%F1#r<˗0(/f÷oe5ɪp{]rnq|xE ;`s@
+_FU6ϫ&!O*j+7Z\يоl^GÄ"03,뺜m\C/mm,/i(oX35rbRK^7Ey[<mܞMxVD LFh79K{)@mNP\C -r6+ŕ}$r>KjM]]뚊Yd3R҅<>IY"ֱa-U&X:Vp;o9}[*ѶR4%&<5#&BF`u
+$
+'#tc!BgW@)M/2J₵Ư$ S+-0:MDL]i.Dh gN<ewaQqjRnoǨA& Xoi[&"F[ף`|2-uw''dWP JPP
+RNSµєz)I)s7dAI,)L|4͖tcjzTT)U3Y#.Hk+M$[mdm(ЏPcv~(O>(@-4яۿ 
+[o"4pJ#
+rҁrg_Oz賔[*Ojѓ2)X'0P8f_?i+>ոF@ IVJp6c'g4Uk\ B&
+endstream
+endobj
+9132 0 obj
+<< /Type /Page /Contents 9133 0 R /Resources 9131 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9134 0 obj
+<< /D [ 9132 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9135 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9136 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9137 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9138 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 731.11 null ] >>
+endobj
+9139 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 720.151 null ] >>
+endobj
+9140 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 709.192 null ] >>
+endobj
+9141 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 698.233 null ] >>
+endobj
+9142 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 687.274 null ] >>
+endobj
+9143 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 676.315 null ] >>
+endobj
+9144 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 665.356 null ] >>
+endobj
+9145 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 654.397 null ] >>
+endobj
+9146 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 643.439 null ] >>
+endobj
+9147 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 632.48 null ] >>
+endobj
+9148 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 621.521 null ] >>
+endobj
+9149 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 610.562 null ] >>
+endobj
+9150 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 599.603 null ] >>
+endobj
+9151 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 551.126 null ] >>
+endobj
+9152 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 540.167 null ] >>
+endobj
+9153 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 529.209 null ] >>
+endobj
+9154 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 518.25 null ] >>
+endobj
+9155 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 507.291 null ] >>
+endobj
+9156 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 496.332 null ] >>
+endobj
+9157 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 485.373 null ] >>
+endobj
+9158 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 474.414 null ] >>
+endobj
+9159 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 463.455 null ] >>
+endobj
+9160 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 452.496 null ] >>
+endobj
+9161 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 441.537 null ] >>
+endobj
+9162 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 430.578 null ] >>
+endobj
+9163 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 419.619 null ] >>
+endobj
+9164 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 408.661 null ] >>
+endobj
+9165 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 397.702 null ] >>
+endobj
+9166 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 386.743 null ] >>
+endobj
+9167 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 375.784 null ] >>
+endobj
+9168 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 364.825 null ] >>
+endobj
+9169 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 318.273 null ] >>
+endobj
+9170 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 307.314 null ] >>
+endobj
+9171 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 296.355 null ] >>
+endobj
+9172 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 285.396 null ] >>
+endobj
+9173 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 274.437 null ] >>
+endobj
+9174 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 263.478 null ] >>
+endobj
+9175 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 252.519 null ] >>
+endobj
+9176 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 241.561 null ] >>
+endobj
+9177 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 230.602 null ] >>
+endobj
+9178 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 219.643 null ] >>
+endobj
+9179 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 208.684 null ] >>
+endobj
+9180 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 197.725 null ] >>
+endobj
+9181 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 186.766 null ] >>
+endobj
+9182 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 175.807 null ] >>
+endobj
+9183 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 164.848 null ] >>
+endobj
+9184 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 153.889 null ] >>
+endobj
+9185 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 142.93 null ] >>
+endobj
+9186 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 131.971 null ] >>
+endobj
+9187 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 121.013 null ] >>
+endobj
+9188 0 obj
+<< /D [ 9132 0 R /XYZ 81.077 110.054 null ] >>
+endobj
+9131 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9191 0 obj
+<< /Filter /FlateDecode /Length 2033 >>
+stream
+xڭZ[o6~ϯ0ЇX.2Àغa2` bˉY2d嶮}L8y$ZϕBGW#:턮D;ɻ71&b~%:b#f(ьPFDZaN>_z^ۑ!Vka`F,bB䏫tϋ*?ɩj_΋ig6Ń~/zznfy#_+2AQ(&L`bla "
+ svFPYx݊DIJvf^W[WlrLr"3-9|Dɚ.t
+D\TYh='*d8>'ٓz z-c_YAqiqU[41c'Sf %%O_,pz8\Sm7d(E8ܯ,%`1 [|5`Cg3p< TM+9.s .v绉co^t-j ("T`R)Yp=ַ=H69mQ^Kv#DXl{s8 pZzY?9
+<tYwbZðoa2Km2TM0YLPH[7?,Ӫ[/ _ˊn)Ĝ6t` &ѮơSChH{`+;J6!P CKVżUvMV8ݦ;58ՇoU?EYU=͑ذE<BF֒dR!z*4(M
+0Ժn0W:8CfA0׽ p: Pr- %.h<Pؼo,W<
+endstream
+endobj
+9190 0 obj
+<< /Type /Page /Contents 9191 0 R /Resources 9189 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9192 0 obj
+<< /D [ 9190 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9193 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9194 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9195 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9196 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9197 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9198 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9199 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9200 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 614.411 null ] >>
+endobj
+9201 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 603.452 null ] >>
+endobj
+9202 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 592.493 null ] >>
+endobj
+9203 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 581.534 null ] >>
+endobj
+9204 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 570.575 null ] >>
+endobj
+9205 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 559.616 null ] >>
+endobj
+9206 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 548.657 null ] >>
+endobj
+9207 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 537.698 null ] >>
+endobj
+9208 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 526.74 null ] >>
+endobj
+9209 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 515.781 null ] >>
+endobj
+9210 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 504.822 null ] >>
+endobj
+9211 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 493.863 null ] >>
+endobj
+9212 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+9213 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 471.945 null ] >>
+endobj
+9214 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 460.986 null ] >>
+endobj
+9215 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 450.027 null ] >>
+endobj
+9216 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+9217 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 428.109 null ] >>
+endobj
+9218 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 417.151 null ] >>
+endobj
+9219 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 406.192 null ] >>
+endobj
+9220 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 395.233 null ] >>
+endobj
+9221 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 384.274 null ] >>
+endobj
+9222 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 373.315 null ] >>
+endobj
+9223 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 362.356 null ] >>
+endobj
+9224 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 351.397 null ] >>
+endobj
+9225 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 340.438 null ] >>
+endobj
+9226 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 329.479 null ] >>
+endobj
+9227 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+9228 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+113 0 obj
+<< /D [ 9190 0 R /XYZ 79.37 279.517 null ] >>
+endobj
+9229 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 216.753 null ] >>
+endobj
+9230 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 205.794 null ] >>
+endobj
+9231 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 194.835 null ] >>
+endobj
+9232 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 183.876 null ] >>
+endobj
+9233 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 172.917 null ] >>
+endobj
+9234 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 161.958 null ] >>
+endobj
+9235 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 150.999 null ] >>
+endobj
+9236 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 140.04 null ] >>
+endobj
+9237 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 129.081 null ] >>
+endobj
+9238 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 118.122 null ] >>
+endobj
+9239 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 107.164 null ] >>
+endobj
+9240 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 96.205 null ] >>
+endobj
+9241 0 obj
+<< /D [ 9190 0 R /XYZ 81.077 85.246 null ] >>
+endobj
+9189 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9244 0 obj
+<< /Filter /FlateDecode /Length 2052 >>
+stream
+xZk6>
+;n3Mh<Z;x z{^?Qm.
+!X`"Ӭ2l -h7Yfwy]E
+vY}e+b\
+e>=3xQe\v^dHJY}u.V?$ ^oG3xG`.]U*&uΔZŜDbJ
+Xܤ@lj<K<[}#TO33Zb@Yl"'E AzS^iz꽞z͒<[8[я'lψ{Û~C립ͻ͖
+6RĴS]^~! \kT v16mvWhQ":0j~E-}&uu9mڮכԶ#XJÇ+5cͮ2 RۏP۶I$'u: &
+^f&)JWXGz'6O|Dh,S`6 ߅bC*)O";7IFI.G3;3<+(!& ׎hEF+G0qmuڪ"/$KUUq3ZݻD -e.hSFgW(T@'* Q_}{@"4v\k>Jz֣\~~>LOݯ¢ǭuXeqnn0xf\ҸZ[탟PƋȠN ũGCb87 g>KU=F2nv;a!
+fM9]
+gj5uTQB1ȮqzC݂XǍMX(%t4aÜU$[rzC>N]vYj-I?mWN+ǃG@tf"ZC9 B#,c#-])e8*~z/RuNͷX%$p}yeU4dC\QUOvZ[s[pF%5FTL,/
+j#]Sc">43cN*j Ħ+aXO7e
+endstream
+endobj
+9243 0 obj
+<< /Type /Page /Contents 9244 0 R /Resources 9242 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9245 0 obj
+<< /D [ 9243 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9246 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9247 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9248 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9249 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9250 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+117 0 obj
+<< /D [ 9243 0 R /XYZ 79.37 699.542 null ] >>
+endobj
+9251 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 644.44 null ] >>
+endobj
+9252 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 633.481 null ] >>
+endobj
+9253 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 622.522 null ] >>
+endobj
+9254 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 611.563 null ] >>
+endobj
+9255 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 600.604 null ] >>
+endobj
+9256 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 589.645 null ] >>
+endobj
+9257 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 578.687 null ] >>
+endobj
+9258 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 567.728 null ] >>
+endobj
+9259 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 556.769 null ] >>
+endobj
+9260 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 545.81 null ] >>
+endobj
+9261 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 534.851 null ] >>
+endobj
+9262 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 523.892 null ] >>
+endobj
+9263 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 512.933 null ] >>
+endobj
+9264 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 501.974 null ] >>
+endobj
+9265 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 491.015 null ] >>
+endobj
+9266 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 480.056 null ] >>
+endobj
+9267 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 464.116 null ] >>
+endobj
+9268 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 453.157 null ] >>
+endobj
+9269 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 442.198 null ] >>
+endobj
+9270 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 426.258 null ] >>
+endobj
+9271 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 415.299 null ] >>
+endobj
+9272 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 384.415 null ] >>
+endobj
+9273 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 373.456 null ] >>
+endobj
+9274 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 362.497 null ] >>
+endobj
+9275 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 351.538 null ] >>
+endobj
+9276 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 340.579 null ] >>
+endobj
+9277 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 329.621 null ] >>
+endobj
+9278 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 318.662 null ] >>
+endobj
+9279 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 307.703 null ] >>
+endobj
+9280 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 296.744 null ] >>
+endobj
+9281 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 285.785 null ] >>
+endobj
+9282 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 274.826 null ] >>
+endobj
+9283 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 263.867 null ] >>
+endobj
+9284 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 252.908 null ] >>
+endobj
+9285 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 241.949 null ] >>
+endobj
+9286 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 230.99 null ] >>
+endobj
+9287 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 220.032 null ] >>
+endobj
+9288 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 209.073 null ] >>
+endobj
+9289 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 156.271 null ] >>
+endobj
+9290 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 145.312 null ] >>
+endobj
+9291 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 134.353 null ] >>
+endobj
+9292 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 123.394 null ] >>
+endobj
+9293 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 112.435 null ] >>
+endobj
+9294 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 101.476 null ] >>
+endobj
+9295 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 90.517 null ] >>
+endobj
+9296 0 obj
+<< /D [ 9243 0 R /XYZ 81.077 79.558 null ] >>
+endobj
+9242 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9299 0 obj
+<< /Filter /FlateDecode /Length 2059 >>
+stream
+xڵZ]o6}ϯu%(0.X/BPl&jKYIg6KI<+{.5xv?ó"aOW\G*'nt32%$e ,f78i׻RrdyhLFDk ނ\66(c*0[A6jmUAo]ge
+<P46@fP
+[[&yQd}vW
+>ūoL,! 3<,'"98cGYۦfvˣ(Ld"C+T o ƺi Ot9+NNhmǘbR>N`#WfH0bIs:}lʑ|P4k"qd0oB֑?8+T ̧V" h_1B5HO`d&c&P&|vQ2 ch<_G=L*9ʔO&*KO`xi#f
+C4 v;u-clֿ`kv2 Ds#3N'QJb;jWm~-4]_ljzgy? c`@Xh#e䒂 @%[$/ .f߻}Nq.[:GeMY?L' )uRI$N_<0NU\\!$Zcx<:R4\_M*lU~%Xj?+s&"E`iZo53yRDftF8b@w_&yRY6 fL[MWMm5wNc~Z71&{-<0$r":^,Q]l`
+M2P6
+WihsѕT1E-OALag<;L>Nƥ0WeĤnLjסsLnjwnr w}t@ 6qgnMbxd@mP2ZӴdS0i(N</90x;Ym"3<*2LkDL:amuD-;b4mU2q e$⊬/T:'X6Ɵ@]DT֋@CGs.u {}}@zu˩EkU_;rM,u6`,!W۹ݰ.'
+endstream
+endobj
+9298 0 obj
+<< /Type /Page /Contents 9299 0 R /Resources 9297 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9300 0 obj
+<< /D [ 9298 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9301 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9302 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9303 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9304 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9305 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+9306 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+9307 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+9308 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+9309 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+9310 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+9311 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+9312 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+9313 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+9314 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+9315 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+9316 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+9317 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+9318 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+9319 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 529.728 null ] >>
+endobj
+9320 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 518.769 null ] >>
+endobj
+9321 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 507.811 null ] >>
+endobj
+9322 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 496.852 null ] >>
+endobj
+9323 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 485.893 null ] >>
+endobj
+9324 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+9325 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+121 0 obj
+<< /D [ 9298 0 R /XYZ 79.37 440.513 null ] >>
+endobj
+9326 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 372.17 null ] >>
+endobj
+9327 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 361.211 null ] >>
+endobj
+9328 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 350.252 null ] >>
+endobj
+9329 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 310.401 null ] >>
+endobj
+9330 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 299.443 null ] >>
+endobj
+9331 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 288.484 null ] >>
+endobj
+9332 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 238.67 null ] >>
+endobj
+9333 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 227.711 null ] >>
+endobj
+125 0 obj
+<< /D [ 9298 0 R /XYZ 79.37 203.004 null ] >>
+endobj
+9334 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 135.2 null ] >>
+endobj
+9335 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 124.241 null ] >>
+endobj
+9336 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 113.282 null ] >>
+endobj
+9337 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 102.324 null ] >>
+endobj
+9338 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 91.365 null ] >>
+endobj
+9339 0 obj
+<< /D [ 9298 0 R /XYZ 81.077 80.406 null ] >>
+endobj
+9297 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9342 0 obj
+<< /Filter /FlateDecode /Length 2391 >>
+stream
+xڵZ[o~ϯ0цû
+D,"dZ,k(Uۦ>J:֪>b|]F24%q8dfv Qrzs4(g3S%˲|6Xe벧/op&9_Ԏv!gSQl/Sfg"W`ܪ
+9{ૢ"eHD֘6NxIdWɕ'SQh6&_뉔F(}v; ]}:*M 3e Mut]c€8<h;+3AV򲬬A,B9IS Y-6L&
+D݊
+"1\߉qau.]/fE&.AHGL_+ cZFY3ȼMT ;k[ }VeK5Tijr=]W~VYT*8s"S &M+Wjʗ3~С=˟=r{(W9pa",%zWlJf2XZXL$^:ˆhKU'T[BA.t`q;m5z2.лGuuvkN%& tQt>k+϶Wa|(/60.ڄ4]>}p2 0ӶLHK$o>|=
+ 弌Β0.x/%.60.zCY?ԟOqn:*О1s&C?<94(ca=z`᠉81ɟ|8,ٹ(1Iꡯx=P1gץ^R^p]iecV20s{Sz}92>k:!}:̭j(
+G~(7R`4§Khc )-H7I 9_6Re铞8ǽ_vWr#5^
+oVD3pUuMqaDB+)~vn4
+O&ώd)- FE[2`>:~jcpcB1銰a"%SCOj9-L?A<g/7&"blL">+sp1;rC[]UR/ݛOτ1ħo~"TЖxUo_Oۨ/C֧njl"">}8qGgw9P}hZxk+PTq$LJg*ͪP}ж Ozs/ҍas _RlFСٌ `8~ Kc
+endstream
+endobj
+9341 0 obj
+<< /Type /Page /Contents 9342 0 R /Resources 9340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+endobj
+9343 0 obj
+<< /D [ 9341 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9344 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9345 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9346 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9347 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 668.209 null ] >>
+endobj
+9348 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 657.25 null ] >>
+endobj
+9349 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 646.291 null ] >>
+endobj
+9350 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+9351 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+9352 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+9353 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+9354 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+9355 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+9356 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 521.758 null ] >>
+endobj
+9357 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 510.799 null ] >>
+endobj
+9358 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+9359 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 423.128 null ] >>
+endobj
+9360 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+9361 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 401.21 null ] >>
+endobj
+9362 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 390.251 null ] >>
+endobj
+9363 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 379.292 null ] >>
+endobj
+9364 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 368.334 null ] >>
+endobj
+9365 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 357.375 null ] >>
+endobj
+9366 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 346.416 null ] >>
+endobj
+9367 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 335.457 null ] >>
+endobj
+9368 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 324.498 null ] >>
+endobj
+9369 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 313.539 null ] >>
+endobj
+9370 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 302.58 null ] >>
+endobj
+9371 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 291.621 null ] >>
+endobj
+9372 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 280.662 null ] >>
+endobj
+9373 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 269.703 null ] >>
+endobj
+9374 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 258.745 null ] >>
+endobj
+9375 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+9376 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+9377 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+9378 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+9379 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+9380 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+9381 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+9382 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 141.185 null ] >>
+endobj
+9383 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 130.226 null ] >>
+endobj
+9384 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 119.268 null ] >>
+endobj
+9385 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 108.309 null ] >>
+endobj
+9386 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 97.35 null ] >>
+endobj
+9387 0 obj
+<< /D [ 9341 0 R /XYZ 81.077 86.391 null ] >>
+endobj
+9340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9391 0 obj
+<< /Filter /FlateDecode /Length 2186 >>
+stream
+xڭYKo8Wt~;a
+K[M}
+D1N8H49n[0wҫҀT"߬hڱtJ'NUZ䈤0 ZH!CRPio@4fp*-VDҧu,WC$VH7ΝGDJu
+ f+xX.XW{hjەo[Ze]!OTe}Ia{xUBJ ZՇC(1`1>u1CR$06٫{L1Cw Zb;~+Ȑkpg9nA=vQe~fږ]aڗ۝惛O󽷇J(Φ .Iit!L$DzC'T:' qB=s
+
+wZ٫@]")CrU@hmʯ꣔#-h,~(xhMv3)!&*{<}Y}U"z€$/A1D}x
+.1<Cjдv뮏 0UjUw@HƳcSwjxɲZYv~Dyl;JpGšƫZևr.QcI#9bd,lAeU<vN5Zl 神ű˲|}FBpF,GyC vP%eECv‘A O#E
+C`U|# Ζ
+*%! 닊9#ҔiO+bi0c11%87tH$$(d2l"̩3) O [u-˗ls[~=:,A(Kdq] ٣qƨdHp]17HB&]߃c^Wώ!٬־
+i|L´=ya 0ϡ<(ϡ$RƲ$&n˦uD!B2  Uƒ߄S oBMU|<%fQV+DS$I
+6 RhDp*)~GNCM
+Zk1XS  &>"߹@AGf0,IjWkn5c7pɿ}=f'ܱ99Ӄ} XY)mLX(!i"8M ovLDhZ)]ExULqBY<C#ʉ9y1#+<mUqԶG6| վM VݿD"2Cx#2I" I{[Vlmvep  UcLDXOpWsh
+O[>݀\7(8WnykxdClO$8Nβ WHđ_ɲyJ#4i#{RPHCN${Çz԰l+>TJ&m9S
+endstream
+endobj
+9390 0 obj
+<< /Type /Page /Contents 9391 0 R /Resources 9389 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R /Annots 9425 0 R >>
+endobj
+9425 0 obj
+[ 9388 0 R ]
+endobj
+9388 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 89.997 482.318 101.952 492.521 ]/A << /S /GoTo /D (section.0.13) >> >>
+endobj
+9392 0 obj
+<< /D [ 9390 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9393 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9394 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9395 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9396 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9397 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9398 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9399 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9400 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9401 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9402 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9403 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9404 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9405 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9406 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9407 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+129 0 obj
+<< /D [ 9390 0 R /XYZ 79.37 591.945 null ] >>
+endobj
+9408 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 449.186 null ] >>
+endobj
+9409 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 400.37 null ] >>
+endobj
+9410 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 354.541 null ] >>
+endobj
+9411 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 343.582 null ] >>
+endobj
+9412 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 332.624 null ] >>
+endobj
+9413 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 321.665 null ] >>
+endobj
+9414 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 310.706 null ] >>
+endobj
+9415 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 281.814 null ] >>
+endobj
+9416 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 270.855 null ] >>
+endobj
+9417 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 230.008 null ] >>
+endobj
+9418 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 219.049 null ] >>
+endobj
+9419 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 166.247 null ] >>
+endobj
+9420 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 155.289 null ] >>
+endobj
+9421 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 144.33 null ] >>
+endobj
+9422 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 133.371 null ] >>
+endobj
+9423 0 obj
+<< /D [ 9390 0 R /XYZ 81.077 122.412 null ] >>
+endobj
+133 0 obj
+<< /D [ 9390 0 R /XYZ 79.37 110.905 null ] >>
+endobj
+9389 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9428 0 obj
+<< /Filter /FlateDecode /Length 2677 >>
+stream
+xڥZK8WƤ>00@f`h`鶰Hr;o*H-=SYb+t0_ѣow>~I"d'ww *M┈xȘMv?BZ2H$SFnD+wyڼ)n&~?~f$%i#yH,QxMn++9y&%{„iѣE1Ј<ۭrE<mQCWsSrUe37_7>/|egtSeM?Ǎ.lG(=gG[VAGRzS̿P!hXa3hŦ
+:6nòbTC"$ ;$sNMF)s Vrp,:Q)yE2Ͷ5iѺPeـ#11>fi娱6U8+1~ > g-ow&11 H0Svv\+IE$UBjֆ超f^gKm7m?Gm;Xî_rq7NR:E\Սyɪ5 *aRPhmj}; 7 _Pnӳ=J
+TK}l$q-J^Wоsd7etB F h<!&a]i S[V4벃Yuٯ`J*"]E& i]xz0pŤ<c⊑9G#ۜ f]8>
+BxmF=ڠh ?ݚigzY EDvqfY 8>3ot )YZP[~q{IRh[nfu_e^4s_LQ3K!U4 #`nvpgJ_;9LcR֣fA=c[h
+H'04;Gt5sdӞڡšCỹK!2<$Kz%P*An#Tȿ#{h"A)Ih3`WM
+R(޴yI'm5TYQjWou0\Bٳ¶+L
+8$R<y.)A9Ҟp\q9! Xt /wtiW~WͦŒx+_e }g<,kǎ ] K\akE
+vHp"K(Iw'z ͛VD$Z0Dt(zmNgrpi\+X "5C8 @.s_:xǝt]=,K\?ǔ/sYsѦVpީIN>Ɨf@mVР Iw `]4mK pwlM
+wYnj^Ŏ+ݟ
+B pxN{FehC<Ӄ|ƓEDR6R_ܽ?nop
+endstream
+endobj
+9427 0 obj
+<< /Type /Page /Contents 9428 0 R /Resources 9426 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9429 0 obj
+<< /D [ 9427 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9430 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 619.932 null ] >>
+endobj
+9431 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 608.973 null ] >>
+endobj
+9432 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 598.014 null ] >>
+endobj
+9433 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 587.055 null ] >>
+endobj
+9434 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 576.096 null ] >>
+endobj
+9435 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 527.279 null ] >>
+endobj
+9436 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 516.32 null ] >>
+endobj
+9437 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 505.362 null ] >>
+endobj
+9438 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 494.403 null ] >>
+endobj
+9439 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 447.578 null ] >>
+endobj
+9440 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 436.619 null ] >>
+endobj
+9441 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 425.66 null ] >>
+endobj
+9442 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 414.702 null ] >>
+endobj
+9443 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 403.743 null ] >>
+endobj
+9444 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 392.784 null ] >>
+endobj
+9445 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 381.825 null ] >>
+endobj
+9446 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 370.866 null ] >>
+endobj
+9447 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 359.907 null ] >>
+endobj
+9448 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 348.948 null ] >>
+endobj
+9449 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 337.989 null ] >>
+endobj
+9450 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 327.03 null ] >>
+endobj
+9451 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 316.071 null ] >>
+endobj
+9452 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 305.113 null ] >>
+endobj
+9453 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 294.154 null ] >>
+endobj
+9454 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 265.262 null ] >>
+endobj
+9455 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 254.303 null ] >>
+endobj
+9456 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 243.344 null ] >>
+endobj
+9457 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 232.385 null ] >>
+endobj
+9458 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 221.426 null ] >>
+endobj
+9459 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 210.467 null ] >>
+endobj
+9460 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 199.509 null ] >>
+endobj
+9461 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 188.55 null ] >>
+endobj
+9462 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 177.591 null ] >>
+endobj
+9463 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 166.632 null ] >>
+endobj
+9464 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 155.673 null ] >>
+endobj
+9465 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 144.714 null ] >>
+endobj
+9466 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 115.822 null ] >>
+endobj
+9467 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 104.863 null ] >>
+endobj
+9468 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 93.905 null ] >>
+endobj
+9469 0 obj
+<< /D [ 9427 0 R /XYZ 81.077 82.946 null ] >>
+endobj
+9426 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9472 0 obj
+<< /Filter /FlateDecode /Length 1568 >>
+stream
+xYMoFWE~Ҁ@@Cuk
+BVt)IwHJ]I5b>ΛY6ɛ~oN~_HZ&x2]0XDXM43ьP͒:sbM:ibI!(W~DŽquP0= u _Z?[~o}zŲ*4 n 08!;=S\uW+߮!+OG*eD4F,:s}U)˼gE+=XpMT);.]Xγ\]utfOLR/{b vFht~k*O!uMUY(Q\ ӲޚkWּb#RkNeX
+!z֬-\޻H1"/XaRd{C2KTCZ˱8
+!z4fJ}G*D)F9.7ڡPCES) j@r
+ witЛh/
+O5W\76k#
+bk#u2x>m1se,oQf{sFb)PQT #4R)>6l+6x_ qYzBZ#SC,t]{k8ʚ5 m]Vy^igTSoXpM-U:Dnٜ}ܬ%:-4'FH-!-
+,wiBEis:XkisxٳbtJ(S0}?Om)aq2BT>6Nx#*"ug!f
+aqc|pcK64{pI9#'e4SnSWP^葘K5<hɔ+Wo
+wkCIVn)T׳OdS)S}c( `(~UXhܻ:s~$%`jXxIdYEuC^޶_j\mC2u?cs1p۝7F,~ѥyqŲ*ZVf[jMKUXҴf51;BBMYwX/dQ'1q}t`!#cth(_wF| h=d +t84cCRI#43
+endstream
+endobj
+9471 0 obj
+<< /Type /Page /Contents 9472 0 R /Resources 9470 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9473 0 obj
+<< /D [ 9471 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9474 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9475 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9476 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9477 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9478 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9479 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9480 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9481 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9482 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9483 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9484 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9485 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9486 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9487 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9488 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+137 0 obj
+<< /D [ 9471 0 R /XYZ 79.37 603.9 null ] >>
+endobj
+9489 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 538.546 null ] >>
+endobj
+9490 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 527.587 null ] >>
+endobj
+9491 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 516.628 null ] >>
+endobj
+9492 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 505.669 null ] >>
+endobj
+9493 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 494.71 null ] >>
+endobj
+9494 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 483.751 null ] >>
+endobj
+9495 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 472.792 null ] >>
+endobj
+9496 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 461.834 null ] >>
+endobj
+9497 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 450.875 null ] >>
+endobj
+9498 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 439.916 null ] >>
+endobj
+9499 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 428.957 null ] >>
+endobj
+9500 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 417.998 null ] >>
+endobj
+9501 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 407.039 null ] >>
+endobj
+9502 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 396.08 null ] >>
+endobj
+9503 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 385.121 null ] >>
+endobj
+9504 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 374.162 null ] >>
+endobj
+9505 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 363.203 null ] >>
+endobj
+9506 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 352.244 null ] >>
+endobj
+9507 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 341.286 null ] >>
+endobj
+9508 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 330.327 null ] >>
+endobj
+9509 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 319.368 null ] >>
+endobj
+9510 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 308.409 null ] >>
+endobj
+9511 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 297.45 null ] >>
+endobj
+9512 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 286.491 null ] >>
+endobj
+9513 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 275.532 null ] >>
+endobj
+9514 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 264.573 null ] >>
+endobj
+9515 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 253.614 null ] >>
+endobj
+9516 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 242.655 null ] >>
+endobj
+9517 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 196.827 null ] >>
+endobj
+9518 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 185.868 null ] >>
+endobj
+9519 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 174.91 null ] >>
+endobj
+9520 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 163.951 null ] >>
+endobj
+9521 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 152.992 null ] >>
+endobj
+9522 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 142.033 null ] >>
+endobj
+9523 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 131.074 null ] >>
+endobj
+9524 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 120.115 null ] >>
+endobj
+9525 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 109.156 null ] >>
+endobj
+9526 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 98.197 null ] >>
+endobj
+9527 0 obj
+<< /D [ 9471 0 R /XYZ 81.077 87.238 null ] >>
+endobj
+9470 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9530 0 obj
+<< /Filter /FlateDecode /Length 1883 >>
+stream
+xڵZ]o6ϯ8/fߢ2lh׭ 0VYreIW}E8M|tsxx>H刎~<HxӗI&$:b#f(ьPF뱑9ٿK I&3A S2F̈́l,||8)O_OWuND@KHsL?E5GٳuU˟"?\N=@@IN)v aFzl?j{io]&<|tH'0¹jRhI&\k/['['^a*yy=130vd L|ԩ"&^ 3zVEϦmw狪V~qvF!SiNED;u5o5##yD
+G?D}X5Y_^jC1"*R-a}
+N/CP}Wdh|džeTy "#Wh
+4!ZhOaϔ) {0f}k{nh=JaLVFzU:$mڈ n޸36$x%NjhH pl[5W(ۄpkڴ&fMq(_-8!:`hU=6Dʷeu]w?:g# ZcWkPFhl7/zEIYuzef-|>-#Sz3A۹٨ FqhI((!]0B cP~m־6CYKh2: xs$]_0*" ",@o6
+Em;^4vKW3h}$xS)ږl*"3Fڞ|S<pWJXT}<biGhDS/;A5<ZFUҬ*z{Y;.YB6(_yLٌvY/CS 9G9DߋsׇpNQ#iʺpuy>VKW[iY`
+ O
+хh&7˫}:Q'S9NiШ}N,z"gUUdMΕv(㠙zA$;OZб*D7h<'QECF'U IPʫB>/ X-hݱw]ѲyLm(1C (E`iuJҡ goo]=(y}٪
+v1/WPCG$8x!{RQ eC=[fj쬱'NpBB'D?O;`.knq4X BЫ
+
+ӗ,A\\2Kac{<B:[9݆fLD_Ĺu޻0(ӊ^qv<ΦN>nXŇ'{H<=+,ZNЈ\vAP~tӁbڷRnEҼl6kٳ1.Yap{ڃ?=y;]Д/h"->J>͉{C>{CAQ$CE"Lʜi AXuʅ焏6dVNnV['
+endstream
+endobj
+9529 0 obj
+<< /Type /Page /Contents 9530 0 R /Resources 9528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9531 0 obj
+<< /D [ 9529 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9532 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9533 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9534 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9535 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9536 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9537 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9538 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9539 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9540 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9541 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9542 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9543 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9544 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9545 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9546 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+9547 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+9548 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+9549 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+9550 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+9551 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+9552 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+9553 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+9554 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+9555 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+9556 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+9557 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+9558 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+9559 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+9560 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+9561 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+9562 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+9563 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+9564 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 403.203 null ] >>
+endobj
+9565 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+9566 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+9567 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+9568 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+9569 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 348.408 null ] >>
+endobj
+9570 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 337.449 null ] >>
+endobj
+9571 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+9572 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+9573 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+9574 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+9575 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+9576 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+9577 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 250.774 null ] >>
+endobj
+9578 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+9579 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+9580 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+9581 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 190.002 null ] >>
+endobj
+9582 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 179.043 null ] >>
+endobj
+9583 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 168.085 null ] >>
+endobj
+9584 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 157.126 null ] >>
+endobj
+9585 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 146.167 null ] >>
+endobj
+9586 0 obj
+<< /D [ 9529 0 R /XYZ 81.077 135.208 null ] >>
+endobj
+9528 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9589 0 obj
+<< /Filter /FlateDecode /Length 2161 >>
+stream
+xڭZ[o~ϯXO8.Ҧ ƾ4-AcD$NduF%%~!?ι9ߙQ_D>z1Sbq}hA1%RVD./?0ES` 5طtrBJ 1Yu~9_x/Ybcvpm7w%۴.O~ػ}WD'SSrqH6
+:
+HBőY 1|xxɉdӞ;WP"d|s}\¹-sp?ϼ3,~Vcqೈr͚(#B͌#ngb} 7Ulն)1p<U)}&)c^nVa*vuV+.4E #Jugjm*.j7nuVO7պv5N;kT3=O7P? Y'Zw ܀K@3v4O`lx
+UsçdC"Ux׃T[B)nY_;%Qnڦp% jb1%4DC&ʪN>ڠBlSH|K~88-g
+,"xl^A#1
+Wݤsq ɎΝSU(cwܕu#%_aj\w<tbiԮlb6w5ے}w(6͍ns8ބP v4`( g#!PwhJ}` Ba ; u bq/knQ>ri>++?E niCnWww
+^L˓_/"B磿iX44)/f)Ƙ ]RGm׵ W詏MQVƮ"4rcWWGO INz=[ҟBhXu3di4%NJxZ >z/.NIB=6t%z^7D)1pwP}CRue*O?ℚT-
+hJ8k܉Dvv/]ҜwfkQ 7h<U/Ai{՞Uw^:<W4zYTn"9cVR %oF^
+ FJK믓,U]zp`k#MvBLIQB]_@=8hϪ^$;%ʏ{w,S 5_28=͊A?fpb>:eQ^S)ǝbh9lFWf*:`diHj/N'ӭMa12
+%v2}<lm}m_; %.,ǁ(""qi7
+endstream
+endobj
+9588 0 obj
+<< /Type /Page /Contents 9589 0 R /Resources 9587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9590 0 obj
+<< /D [ 9588 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9591 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 625.801 null ] >>
+endobj
+9592 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 614.842 null ] >>
+endobj
+9593 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 603.883 null ] >>
+endobj
+9594 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 592.924 null ] >>
+endobj
+9595 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 581.965 null ] >>
+endobj
+9596 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 571.006 null ] >>
+endobj
+9597 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 560.048 null ] >>
+endobj
+9598 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 549.089 null ] >>
+endobj
+9599 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 538.13 null ] >>
+endobj
+9600 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 527.171 null ] >>
+endobj
+9601 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 516.212 null ] >>
+endobj
+9602 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 505.253 null ] >>
+endobj
+9603 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 494.294 null ] >>
+endobj
+9604 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 436.161 null ] >>
+endobj
+9605 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 425.202 null ] >>
+endobj
+9606 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 414.243 null ] >>
+endobj
+9607 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 398.626 null ] >>
+endobj
+9608 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 387.667 null ] >>
+endobj
+9609 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 376.708 null ] >>
+endobj
+9610 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 365.749 null ] >>
+endobj
+9611 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 354.79 null ] >>
+endobj
+9612 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 343.832 null ] >>
+endobj
+9613 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 332.873 null ] >>
+endobj
+9614 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 321.914 null ] >>
+endobj
+9615 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 310.955 null ] >>
+endobj
+9616 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 299.996 null ] >>
+endobj
+9617 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 289.037 null ] >>
+endobj
+9618 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 278.078 null ] >>
+endobj
+9619 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 267.119 null ] >>
+endobj
+9620 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 256.16 null ] >>
+endobj
+9621 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 245.201 null ] >>
+endobj
+9622 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 229.584 null ] >>
+endobj
+9623 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 218.625 null ] >>
+endobj
+9624 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 207.667 null ] >>
+endobj
+9625 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+9626 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+9627 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+9628 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+9629 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+9630 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+9631 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+9632 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+9633 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+9634 0 obj
+<< /D [ 9588 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+9587 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9637 0 obj
+<< /Filter /FlateDecode /Length 1857 >>
+stream
+xڽZKo6Wi.ߤ ,h!'BPl:QaK^Iybwd8b[>p^2 |Og>\1$Lxv!:`ff`4#Tx1sh5s}DkaC0 Qp+Bń\͖yz{D%rO∄Hnq몎в&/Xfwa1&(U1+YY_,xvf]BqBtǮvťjun^h$274yfʓg8!DR`ϣ<JӼ
+[۴t J8Y1/(/ҫ:BtO>ANF ^f9BKXb$LZ1:؀"/FE^||@^2_[ibkK?Ч3%!֓Q8Eǣ" M G/ MqA?ڝRj8ˎf$a^b8D\Y`)RNLe!zۗeϻ|YT$(ʞ#4~mK cүPYaƯ” WF͆M2 )^;;jVYc8 譳_UeͯbYu~;wߧjqծ?w&#,|Xa.Bp=<S1[ yR"bO0e*U~w0IoN V?ܦ]"ok":mba,Ϲ9wHo^[$Hه \'8BvƹHо/%c4^m[U[SbDW |XB5V>k*F\wMPwme&cȦ*f!_ja:59˄%l^CIm;k
+Tqp@tY6a;cZw{YƼ0V%ACXֆht`R@ \OYD2=$E#^۝kux#4~Yfew%tVUs0Z飖(CE[*67%UyWnK<sB-]| $̒t'myٿs
+endstream
+endobj
+9636 0 obj
+<< /Type /Page /Contents 9637 0 R /Resources 9635 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9638 0 obj
+<< /D [ 9636 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9639 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9640 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9641 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9642 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9643 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9644 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9645 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 685.146 null ] >>
+endobj
+9646 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 674.187 null ] >>
+endobj
+9647 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+9648 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+9649 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+9650 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+9651 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 619.392 null ] >>
+endobj
+9652 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 608.433 null ] >>
+endobj
+9653 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+9654 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+9655 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+9656 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+9657 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+9658 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 542.68 null ] >>
+endobj
+9659 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+9660 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+9661 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+9662 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+9663 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 487.885 null ] >>
+endobj
+9664 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+9665 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 465.967 null ] >>
+endobj
+9666 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 455.009 null ] >>
+endobj
+9667 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+9668 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+9669 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 422.132 null ] >>
+endobj
+9670 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+9671 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 400.214 null ] >>
+endobj
+9672 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 389.255 null ] >>
+endobj
+9673 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 378.296 null ] >>
+endobj
+9674 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 367.337 null ] >>
+endobj
+9675 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+9676 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+9677 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+9678 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+9679 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+9680 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+9681 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 260.737 null ] >>
+endobj
+9682 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 249.778 null ] >>
+endobj
+9683 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 238.819 null ] >>
+endobj
+9684 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 227.86 null ] >>
+endobj
+9685 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 216.901 null ] >>
+endobj
+9686 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 205.943 null ] >>
+endobj
+9687 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 194.984 null ] >>
+endobj
+9688 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 184.025 null ] >>
+endobj
+9689 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 173.066 null ] >>
+endobj
+9690 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 162.107 null ] >>
+endobj
+9691 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 151.148 null ] >>
+endobj
+9692 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 140.189 null ] >>
+endobj
+9693 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 129.23 null ] >>
+endobj
+9694 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+9695 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+9696 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+9697 0 obj
+<< /D [ 9636 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+9635 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9700 0 obj
+<< /Filter /FlateDecode /Length 2137 >>
+stream
+xڵZ[oH~ϯ4/z\M]FhWVڼyY!␘i nI߾
+/3:ӊ(BEIlwP[23MR\` CNXWQ%Ҫ^W\<F&&dr{zl7x?i5yX dqUGiTg~O`G*x)k3MfRnK4|)oìVzsiHeE[mT%.)=yEZ@T/"&
+ L[IiI˛ M$<{ʥ=4~m-_OLf7CN/--Q쁿Xv_RJ1"xęE 80a%xhg<SkZߡS q^j2.hOqYƯ>K^HwX!.5n]4>& 9"EBsR˻8>,ݦuRVx4kff`n;whgPL|\/84C_pbyi^s UFW]d!J?7.pVb1G2 I(a'T mE*.OEQODq]yn@ j]VҤDS1.k@\,Qj-ZYQڎ+DVq.J 9% iֹ] !X*℘8Lϋ:SןhY;V-*Y\$]|+xk:!+iY[;j_}I'GjCOh˒d@ϭHLG; LTևF׳YM/lݾZb;!@aBdڑ5')~kI~= i_[]fS^5]tHg$QJ35]E`Rϛ* ?:
+*\ 肭
+ rw:iUCCJõ2(\K衭5s15.e~F1-\ёK1+Sw!|?T
+ x)pa)x[/G V9Ζyou7+~ϙ"< p %UP
+ou]AaTCݔrggӻ jVUF!s4)ٹy}hУS&7!ÁL8/ AݵVSey $tb*㙐vчSl.pݹtuGtBIPBSE;jQxRJ9Prѝ*z}呜ȁ><4A+/PWaþCT49~Jѐ`!04onGoN iN!wkl&L|o)ޕ{Y%=+h<r2 A1QܖvOmGZc|Cv˘$4"R 3
+r *9xQs8q :$.A.mia}NIhpQ@ IMSv@/zhk`?Fq
+9zv,,Y5\憟=
+Ԑ`Zq 4S{"Nh }i#"@)eF)dOTt^|!qg`'d5 CcqAu`f?;^E@L6p?9^c(N']#$X_q *<42:\У*ˢGoe?}%Ϳ ͡ݫ=S;~6NxSh@rf
+c7E~.ZWxx 0<A\~Y)_xyޓv3B3+M*}!Ҫk;
+zX+ܙZC2iuY+_JYy.f]@ !
+endstream
+endobj
+9699 0 obj
+<< /Type /Page /Contents 9700 0 R /Resources 9698 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9701 0 obj
+<< /D [ 9699 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9702 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9703 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9704 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9705 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9706 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9707 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9708 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9709 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9710 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9711 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9712 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9713 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+9714 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+9715 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+9716 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 585.519 null ] >>
+endobj
+9717 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 574.56 null ] >>
+endobj
+9718 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 563.601 null ] >>
+endobj
+9719 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 552.642 null ] >>
+endobj
+9720 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+9721 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 488.882 null ] >>
+endobj
+9722 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 477.923 null ] >>
+endobj
+9723 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 466.964 null ] >>
+endobj
+9724 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 456.005 null ] >>
+endobj
+9725 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 445.046 null ] >>
+endobj
+9726 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 434.087 null ] >>
+endobj
+9727 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+9728 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+9729 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+9730 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+9731 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 361.36 null ] >>
+endobj
+9732 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 350.401 null ] >>
+endobj
+9733 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 339.442 null ] >>
+endobj
+9734 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+9735 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+9736 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+9737 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+9738 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+9739 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+9740 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+9741 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+9742 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+9743 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+9744 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+9745 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+9746 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+9747 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+9748 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+9749 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+9750 0 obj
+<< /D [ 9699 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+9698 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9753 0 obj
+<< /Filter /FlateDecode /Length 2075 >>
+stream
+xZ]o}ϯ0/TPAf}]#ʒGg&^J2%:ɶ/l~4<L]rw⯳wFL$,|2[^0xNjl2[O~Zfzw%ŽSbDeB6y-Jq77q>ǫ<+:^Y -CIM91
+(%r>/
+(%CPV4qݤ8+Eѵ='ugeVkipAѣN׉8+0+} \yљ#)@2'= X&\!CyIъ7lzTi.Ql7_KZ0WP(DPax4sDVȆIcٻ#sG Gg"B-RKj|kN`>X1ip>F,A>lJpTgݍc_a?b-&xʵ{j"" JK+b<Tvn)6U٤!+,0Nx 'mdx(7Ph$ʆp?솏 9f?Yq}NRȚ{UmɊ]H) u4"fl)6}>mFp`+B>^*5Mm*~ttw) {F T<Ewvi'c͢c g@Y%yAԞ}^ep7(È17DDǺER?;bQ\h4w)|G3qBt+UaRu7%,Aq\Pc/!P>"hv>=SnnbDƯ=č1oV.ui
+endstream
+endobj
+9752 0 obj
+<< /Type /Page /Contents 9753 0 R /Resources 9751 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9754 0 obj
+<< /D [ 9752 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9755 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9756 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9757 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9758 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9759 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9760 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9761 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+9762 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9763 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+9764 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+9765 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+9766 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+9767 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+9768 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+9769 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 579.542 null ] >>
+endobj
+9770 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 568.583 null ] >>
+endobj
+9771 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+9772 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+9773 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 535.706 null ] >>
+endobj
+9774 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 524.747 null ] >>
+endobj
+9775 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+9776 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+9777 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+9778 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+9779 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+9780 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+9781 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+9782 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+9783 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+9784 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+9785 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+9786 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+9787 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+9788 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+9789 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+9790 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+9791 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+9792 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+9793 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+9794 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 251.771 null ] >>
+endobj
+9795 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+9796 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+9797 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 171.073 null ] >>
+endobj
+9798 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 160.114 null ] >>
+endobj
+9799 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 149.155 null ] >>
+endobj
+9800 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+9801 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 127.238 null ] >>
+endobj
+9802 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 116.279 null ] >>
+endobj
+9803 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 105.32 null ] >>
+endobj
+9804 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 94.361 null ] >>
+endobj
+9805 0 obj
+<< /D [ 9752 0 R /XYZ 81.077 83.402 null ] >>
+endobj
+9751 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9808 0 obj
+<< /Filter /FlateDecode /Length 2653 >>
+stream
+xڭZ[ۺ~ϯ0z,e
+4-}9) +u"K$gw=CR7jYLbPx«_ ۂ_820۽!0JK$Z)IduwX{W{?Ҭ42R2=&& #"xHru-X$˦(M/K7<4U)C8;o9G_]eS3!e:-z[1w?20)|<2C UwW׌ic}ٻ|]e{;ti&Pr@^9:N9cjPFS%E+C`bQ{~L_bז!FD 6Hű̊hHMg,cCBY{"77f6q}" CSw`ؘMVdM6'Tr~#t/!؀:~mnW_Gހj
+w6<}Ա2DBĩjD| 9/!A-;T yـ:ȅ1ʭVcI#q0d\I/ V)ޯ-q2VzS&rs{;(pIݗU9᫛"ҽ$1h'm&զHo`lz{ލi;9IS6ɣYi{#TKBYaT迁ZiTj gy(>7j2~vuK2RpH \[R8 g?Q1BUy9$VϾ e._85ideQk_Wi\bmO ]۔f9쬰tU7(QL.+Y:t֪IU8f~d9dB2ڍ
+Wpf,wp`*;Ve-lphTgpJu:(S+ ;|IJqYCa=}[`ŠBBrf}O?՞},}Ƕ<cl틽7MϓM@`YJ4Ẇ$$w)nŖyd ^s26gm(0s]> kL!!Ch~H:Bv9`l;vE׻2̊;YCɳ‡pPbvLC"`
+fDm"X ́fC6XP%tX04-lJ]O DL_ {vr<ZM'fU}8A2\le|TMI8Wٰv=ต缬[]r40w{MD s8lC@"w ׫Cd ݃?}:Oy>Y3<Z&eOmgxPqC* u8GVPy<{=oZr8|6^;qU+>?5v:~SBZK$v K֗XMnn|e46TvdT9%2!J9q
+M_0HU G[0MQ67⠗P+NJ`HjvzDn0Iwn3<2mbnK~
+endstream
+endobj
+9807 0 obj
+<< /Type /Page /Contents 9808 0 R /Resources 9806 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9809 0 obj
+<< /D [ 9807 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9810 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9811 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9812 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 723.004 null ] >>
+endobj
+9813 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 712.045 null ] >>
+endobj
+9814 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 701.086 null ] >>
+endobj
+9815 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 690.127 null ] >>
+endobj
+9816 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 679.168 null ] >>
+endobj
+9817 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 668.209 null ] >>
+endobj
+9818 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 657.25 null ] >>
+endobj
+9819 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 646.291 null ] >>
+endobj
+9820 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 635.332 null ] >>
+endobj
+9821 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 624.373 null ] >>
+endobj
+9822 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 613.415 null ] >>
+endobj
+9823 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 602.456 null ] >>
+endobj
+9824 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+9825 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+9826 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+9827 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+9828 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+9829 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+9830 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+9831 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+9832 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+9833 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+9834 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+9835 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+9836 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+9837 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+9838 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+9839 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+9840 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+9841 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+9842 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+9843 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+9844 0 obj
+<< /D [ 9807 0 R /XYZ 81.077 106.316 null ] >>
+endobj
+9806 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9847 0 obj
+<< /Filter /FlateDecode /Length 2491 >>
+stream
+xڵZ[۸~ϯ0;\/([) ŦJdɐ53n{(R$}Y?xra0H*~ eS % ’,/2nζ,YܒenZ~9l#4
+ע@}n0 Br3Nmv~*뱬a0'
+4 Mhx!4$Zpʹ+ N98]T,sRp7_JI@B@nJ֕+˶q=݋Hj˧*! P.
+a2,|<-bD\xd<XmʻE d<+vd'd㟟!x
+;)'+˓RN/&ztؕ0Dy]^y&G/Mw<)N‡Oo{pob'&xH,<G1Cڢ}DZs(EUlH`ެ˵][~* Vz[E;+h(ZHX |@k9PJ0d:h)fRZە/w[T,~͖2HaXl<E=-U]97d*}]r]u{rN:W?`l{\UyV]pCG uph,E[&-[hČN ۪xXEod^b-r<9G`'&_O"jl.JuܶHG]T@XOE5GXԳr-J}dU#z <oUwVM 9f\#Lsk=FOl/_ J ^)6fT3qeR J"/aDbKZ?Ή|]ӸS$
+8,œ@ng!MSzNčH!? pBl"-y Ԕr^M'&
+)qU_eX(
+͖_ eKFd-MHHh*.tZ<o_&B ~*+&|$NYef]0ɪۗ.T^|' Ʃ7&ctsjR8/k60G
+xbḰ(R&:dRn"D1Ϧ(0NY
+)˼e N%L~Y )A\e䝸%x{N bxԉ?7׈2#
+=A^,Xicr_vJ@,n7n֮Ccu7Xډe><wb&"ki:Ŕnh'vڗR98%8 J@JP#~N9#S' h(:Χ*P>ڽR{NRGL每\[S|,t/K
+1M%衬
+M{Lk!+X!5Ab$d\Q4F\"Y2F;Qֶv!W
+ UDe9'neuYw [
+ .1ybN]8d>8Xm}PAML˵ǟOmWE1/R' \n`,>M qh;/K'hgClPtLy4/;i-=*v18)
+#-c2k1IŁ^@
+endstream
+endobj
+9846 0 obj
+<< /Type /Page /Contents 9847 0 R /Resources 9845 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+endobj
+9848 0 obj
+<< /D [ 9846 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9849 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 695.255 null ] >>
+endobj
+9850 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 684.297 null ] >>
+endobj
+9851 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 673.338 null ] >>
+endobj
+9852 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 662.379 null ] >>
+endobj
+9853 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 651.42 null ] >>
+endobj
+9854 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 640.461 null ] >>
+endobj
+9855 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 629.502 null ] >>
+endobj
+9856 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 618.543 null ] >>
+endobj
+9857 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 607.584 null ] >>
+endobj
+9858 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 596.625 null ] >>
+endobj
+9859 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 585.666 null ] >>
+endobj
+9860 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 557.069 null ] >>
+endobj
+9861 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 546.11 null ] >>
+endobj
+9862 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 494.192 null ] >>
+endobj
+9863 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 483.233 null ] >>
+endobj
+9864 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 472.274 null ] >>
+endobj
+9865 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 461.315 null ] >>
+endobj
+9866 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 450.356 null ] >>
+endobj
+9867 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 439.397 null ] >>
+endobj
+9868 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 428.438 null ] >>
+endobj
+9869 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 399.841 null ] >>
+endobj
+9870 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 388.882 null ] >>
+endobj
+9871 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 377.923 null ] >>
+endobj
+9872 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 366.965 null ] >>
+endobj
+9873 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 356.006 null ] >>
+endobj
+9874 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+9875 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+9876 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+9877 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+9878 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+9879 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+9880 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+9881 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+9882 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+9883 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+9884 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+9885 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+9886 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+9887 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+9888 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+9889 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+9890 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+9891 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+9892 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+9893 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+9894 0 obj
+<< /D [ 9846 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+9845 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9897 0 obj
+<< /Filter /FlateDecode /Length 1875 >>
+stream
+xZ[o6~ϯ00/px`n
+^Eh(U٠i0g.= 힭g*k{p|%$*QUTua{}fܧlڗ<G3=JK/"Aн>Q3 h}5j 28!e0wX&x$D;&sXZH, <Qen%SR%YI)Pc^ юƪ uuA>fe|&!%T(OmHMLctla7t4gں:0^ӥ -|J MxM!-"D&?bb@ظpefכuy.c+Yr]l׳
+L|>臇St%T'1</ǚ
+Oq˽?prQ86TQG'ׂP*L9';?+5nsB C%\:%Zx4JB0:IǀQ ےڮm70kt\GINPžs8h5ӀMTr 7CEs"򙨦mbOؕO73fm Oe~m ϊ)Em s򵻒jvIk\cAYev~f K 4m.6sWָU "+$^mWU~]U6۫.9`3k4>} Ζ}pٮhȔs
+Җdff˪ ["ii$X tôW8_R }Țw*`c}kRNL(!8滶ldҟo>0LF#(Bi %[<_?mWh_ް-_ ș`P GA9p
+endstream
+endobj
+9896 0 obj
+<< /Type /Page /Contents 9897 0 R /Resources 9895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+9898 0 obj
+<< /D [ 9896 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9899 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9900 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9901 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 699.507 null ] >>
+endobj
+9902 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 688.548 null ] >>
+endobj
+9903 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 677.589 null ] >>
+endobj
+9904 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 666.63 null ] >>
+endobj
+9905 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 655.671 null ] >>
+endobj
+9906 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 644.712 null ] >>
+endobj
+9907 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 633.753 null ] >>
+endobj
+9908 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 622.794 null ] >>
+endobj
+9909 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 611.836 null ] >>
+endobj
+9910 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 600.877 null ] >>
+endobj
+9911 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 589.918 null ] >>
+endobj
+9912 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 578.959 null ] >>
+endobj
+9913 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 568 null ] >>
+endobj
+9914 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 557.041 null ] >>
+endobj
+9915 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 546.082 null ] >>
+endobj
+9916 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 535.123 null ] >>
+endobj
+9917 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 524.164 null ] >>
+endobj
+9918 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 513.205 null ] >>
+endobj
+9919 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 502.246 null ] >>
+endobj
+9920 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 491.288 null ] >>
+endobj
+9921 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 480.329 null ] >>
+endobj
+9922 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 469.37 null ] >>
+endobj
+9923 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 458.411 null ] >>
+endobj
+9924 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 447.452 null ] >>
+endobj
+9925 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 436.493 null ] >>
+endobj
+9926 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 425.534 null ] >>
+endobj
+141 0 obj
+<< /D [ 9896 0 R /XYZ 79.37 402.589 null ] >>
+endobj
+9927 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 317.91 null ] >>
+endobj
+9928 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 306.951 null ] >>
+endobj
+9929 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 295.992 null ] >>
+endobj
+9930 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 285.033 null ] >>
+endobj
+9931 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 274.074 null ] >>
+endobj
+9932 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 258.34 null ] >>
+endobj
+9933 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 247.382 null ] >>
+endobj
+9934 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 236.423 null ] >>
+endobj
+9935 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 225.464 null ] >>
+endobj
+9936 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 214.505 null ] >>
+endobj
+9937 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+9938 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+9939 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+9940 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+9941 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+9942 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+9943 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+9944 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+9945 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+9946 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+9947 0 obj
+<< /D [ 9896 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+9895 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+9951 0 obj
+<< /Filter /FlateDecode /Length 2175 >>
+stream
+xZ[o~ϯ0h8M$bE@/٧n!(hF<d')Ѥq|6LPJ&I2$3ד_O>\
+:aHILz~MOdR,&"(Iz9"=?>\j"JS*C0& Tw3tk5˺hr?C׬;P~/ON+`|Ctķ1enXK*%re2ku7zE̺*ϺXD",`|CtO,!|+>WC [>~tp~sؗe^7/4WX$E$MJ00FԨ$(!) !B!*&dFl?eG` (J E{~A<;=i;cҞz>ѳ./Y}Ή8At;Pdk!#JŘO{F AD ~ff%.dT)s'ɄD<eɔ9ZAA)W290 s؆9Q1ߜn?iJ0{Ʃ@TciGUWU^_yX['^jvl<w7Ey-tw{GDiGP8eQc"9g6U^4Q*Ai:SߓCݓb20]߉c?[W/]&ݨnG7$qL]
+QV %DBK+ F6M]f~VMݙPa2ժ̀qZܑGj̮<5bԟkDA2B?eS8e3PM^e7zQTӽЇDO+Ml^{YY6><EFuit2kEխ{Y3.#&maCdv}s̻x/nᮘYwn8wW#Ӈb̭7;
+%q@<BeaȆ?z~-kS)BtE6[Jay0a)"~[av ۱U!lST
+DCCDmîh%_6fml RIS DYp D&
+#!xhbq ۷/BASZFY2/г_KSNS%D1§.* j8#@X~/ GdRXg7u1C"_y_t'5&G7c>MGb ?T4< AKڰ<]](4 JE)șCrqGF[>/u,
+endstream
+endobj
+9950 0 obj
+<< /Type /Page /Contents 9951 0 R /Resources 9949 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+9952 0 obj
+<< /D [ 9950 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+9953 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+9954 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+9955 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+9956 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+9957 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+9958 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+9959 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 666.798 null ] >>
+endobj
+9960 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 655.839 null ] >>
+endobj
+9961 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 644.88 null ] >>
+endobj
+9962 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 604.664 null ] >>
+endobj
+9963 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 593.705 null ] >>
+endobj
+9964 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 582.747 null ] >>
+endobj
+9965 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 571.788 null ] >>
+endobj
+9966 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 560.829 null ] >>
+endobj
+9967 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 549.87 null ] >>
+endobj
+9968 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 538.911 null ] >>
+endobj
+9969 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 527.952 null ] >>
+endobj
+9970 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 516.993 null ] >>
+endobj
+9971 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 506.034 null ] >>
+endobj
+9972 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 495.075 null ] >>
+endobj
+9973 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 484.116 null ] >>
+endobj
+9974 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 473.157 null ] >>
+endobj
+9975 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 462.199 null ] >>
+endobj
+9976 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 451.24 null ] >>
+endobj
+9977 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 440.281 null ] >>
+endobj
+9978 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 429.322 null ] >>
+endobj
+9979 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 418.363 null ] >>
+endobj
+9980 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 407.404 null ] >>
+endobj
+9981 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 396.445 null ] >>
+endobj
+9982 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 385.486 null ] >>
+endobj
+9983 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 374.527 null ] >>
+endobj
+9984 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 363.568 null ] >>
+endobj
+9985 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 352.61 null ] >>
+endobj
+9986 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 341.651 null ] >>
+endobj
+9987 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 330.692 null ] >>
+endobj
+9988 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 319.733 null ] >>
+endobj
+9989 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 308.774 null ] >>
+endobj
+9990 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 297.815 null ] >>
+endobj
+9991 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 286.856 null ] >>
+endobj
+9992 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 275.897 null ] >>
+endobj
+9993 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 264.938 null ] >>
+endobj
+9994 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 253.979 null ] >>
+endobj
+9995 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 243.021 null ] >>
+endobj
+9996 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 232.062 null ] >>
+endobj
+9997 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 221.103 null ] >>
+endobj
+9998 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 210.144 null ] >>
+endobj
+9999 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 199.185 null ] >>
+endobj
+10000 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 188.226 null ] >>
+endobj
+10001 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 177.267 null ] >>
+endobj
+10002 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 166.308 null ] >>
+endobj
+10003 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+10004 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+10005 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+10006 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+10007 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+10008 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+10009 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+10010 0 obj
+<< /D [ 9950 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+9949 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10013 0 obj
+<< /Filter /FlateDecode /Length 1591 >>
+stream
+xڵYMoFWEF~nmA2%H;F;a^L};}vDMBgtߟ86"Y&xX1DXM43ьP͒>sf/ﺺ.i-lfxaA_[Q(sisKiE-aRQ y[t(h:fcpUQ6i5/ƻݻ^7&=l˺Ɋ ǹ-tUeKyt]
+'oKq*/q_N]&Մkp عSDP3-鴹%F*Rjȁ z0*Cw-MOr{~.J"e!<jTG4i#`zϙ#å9 (A!Z΋"=dU߆sV’WH+8!sh4_:ZĹwY}*w Ø$W"t +:_s{C/7R8sQf(+4 -׬Us_gh.-|
+Jz)D])$ jtlڡ fLTO6bqw^c=p KR08x53 2DrliSn@agNy40/}㨇@QvwwW)l&_}u=:woCջ#F9$pK C.2f#Q"tȟ<,lQL .B767ر`&
+Ѷ@7m#t7/C+8{5ӔSuF~\3X<,F?J/W"؜jZ49ƽY#񟃂> @ysBfD$FhtH~:"?7|FnY;DWDpD()HEƞb*f\98_*!f6DaztRg[ [N9!mGCMP]m O{ljqjCm?ܵzIk53#
+endstream
+endobj
+10012 0 obj
+<< /Type /Page /Contents 10013 0 R /Resources 10011 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10014 0 obj
+<< /D [ 10012 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10015 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10016 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10017 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10018 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10019 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10020 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10021 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10022 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10023 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10024 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10025 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10026 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10027 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10028 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10029 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10030 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10031 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10032 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 558.62 null ] >>
+endobj
+10033 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 547.661 null ] >>
+endobj
+10034 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 536.702 null ] >>
+endobj
+10035 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 525.743 null ] >>
+endobj
+10036 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 514.784 null ] >>
+endobj
+10037 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 503.825 null ] >>
+endobj
+10038 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 492.867 null ] >>
+endobj
+10039 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 481.908 null ] >>
+endobj
+10040 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 470.949 null ] >>
+endobj
+10041 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 459.99 null ] >>
+endobj
+10042 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 449.031 null ] >>
+endobj
+10043 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 438.072 null ] >>
+endobj
+10044 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 427.113 null ] >>
+endobj
+10045 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 416.154 null ] >>
+endobj
+10046 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 405.195 null ] >>
+endobj
+10047 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 394.236 null ] >>
+endobj
+10048 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 383.278 null ] >>
+endobj
+10049 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 372.319 null ] >>
+endobj
+10050 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 361.36 null ] >>
+endobj
+10051 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 350.401 null ] >>
+endobj
+10052 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 339.442 null ] >>
+endobj
+10053 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 328.483 null ] >>
+endobj
+10054 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 317.524 null ] >>
+endobj
+10055 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 306.565 null ] >>
+endobj
+10056 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 295.606 null ] >>
+endobj
+10057 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 284.647 null ] >>
+endobj
+10058 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 273.688 null ] >>
+endobj
+10059 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 262.73 null ] >>
+endobj
+10060 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 251.771 null ] >>
+endobj
+10061 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 240.812 null ] >>
+endobj
+10062 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 229.853 null ] >>
+endobj
+10063 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 218.894 null ] >>
+endobj
+10064 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+10065 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+10066 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+10067 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+10068 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+10069 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+10070 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 118.271 null ] >>
+endobj
+10071 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 107.312 null ] >>
+endobj
+10072 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 96.354 null ] >>
+endobj
+10073 0 obj
+<< /D [ 10012 0 R /XYZ 81.077 85.395 null ] >>
+endobj
+10011 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10076 0 obj
+<< /Filter /FlateDecode /Length 1450 >>
+stream
+xY]o6}ϯЗ[X^~+bC[`=ش#đEIoߥP[,jD{H{!ËuGt ?uvb)%^@ 3` kqؕ<{{;SHArZ.QՁK ^ۺ4p@P2ЇP9T }k ym7oU}=Tjo^Y
+8ӽYwo.U\N,BXZhzln0&va6SYR3mdQV C6~ެ7~T0f91J;FMSXHhd0Y͌LII2tȏu^W~]7gd*"R4*):Pw_tÎ<Lhb3hBR
+v.G_7!i"Xhʧ . ؁O_JifE%fREշkX|\zi{F(>wMa$s<D̩gpbpf jEiyзCs.뭦f譔!O7dJES#D-MKMKcZ9oU:UF$Fz=2gwQ:hڡ7n!|~sY_W$z1ߜs.&|"Bzm?!Yc4Zv
+/VL@T]$鱕dBG43G3%J+)(\
+H/
+,J*@=3=(64Oŵ%.t]<h5{wv'ii񢽺7Y}݉c<K72Tm+!8oMOg,F
+6=)[G!DnrA:>0%',Y\j`AV^?}W.
+endstream
+endobj
+10075 0 obj
+<< /Type /Page /Contents 10076 0 R /Resources 10074 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10077 0 obj
+<< /D [ 10075 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10078 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10079 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10080 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10081 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10082 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10083 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10084 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10085 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10086 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10087 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10088 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10089 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10090 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10091 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10092 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10093 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10094 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10095 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+10096 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+10097 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+10098 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+10099 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+10100 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+10101 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+10102 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+10103 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+10104 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+10105 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+10106 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+10107 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+10108 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+10109 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+10110 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+10111 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+145 0 obj
+<< /D [ 10075 0 R /XYZ 79.37 383.726 null ] >>
+endobj
+10112 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 315.383 null ] >>
+endobj
+10113 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 304.424 null ] >>
+endobj
+10114 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 293.465 null ] >>
+endobj
+10115 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 282.506 null ] >>
+endobj
+10116 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 271.547 null ] >>
+endobj
+10117 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 260.588 null ] >>
+endobj
+10118 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 249.629 null ] >>
+endobj
+10119 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 238.67 null ] >>
+endobj
+10120 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 227.711 null ] >>
+endobj
+10121 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 216.753 null ] >>
+endobj
+10122 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 205.794 null ] >>
+endobj
+10123 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 194.835 null ] >>
+endobj
+10124 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 183.876 null ] >>
+endobj
+10125 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 172.917 null ] >>
+endobj
+10126 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 161.958 null ] >>
+endobj
+10127 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 150.999 null ] >>
+endobj
+10128 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 140.04 null ] >>
+endobj
+10129 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 129.081 null ] >>
+endobj
+10130 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 118.122 null ] >>
+endobj
+10131 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 107.164 null ] >>
+endobj
+10132 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 96.205 null ] >>
+endobj
+10133 0 obj
+<< /D [ 10075 0 R /XYZ 81.077 85.246 null ] >>
+endobj
+10074 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10136 0 obj
+<< /Filter /FlateDecode /Length 1716 >>
+stream
+xڽZKoFW:MEC hKBq\#%rvfgfY#:zuDW}u܈$2G舍&ьPFcG;ѹ%=Pxz}2X 9n,7h^uZ\OWſrv^ͪj>yݳVފ>e" [!cDpѲ% )1:]fev9;րYk#f~%c4FTu-vDmʛMr-bUE;E5AR%B{U:fR<5m]'wsFZ1Xp*h*xU;X.ڑ*gu{fEZcnob>[~o)݄
+*K@\5u!jjMq]ȊK"C-* FhKuPhɪ&q2͇ۼ*oyq -PVֆ-VJiby`I0pޑdNrϐHETkZ}Gz<lfHv ZNu~5ɦ*ld6)Ɖs9\bXQNd(ay$umilRL̿%d=sZ:SM90 ͘<b/}֔ZUTUЪ@f`(5Zm|d.wh|duG)
+kMY3!wz2fy|I vNyZzۼW[}N9,9 =X|$ᙱ8Uh ;3 qQ.-Y+`A_(';Ac>ܳs6ٝa)Sf -]oNg~us_Wo'߈׺9q+)O!aIÞPGb2}H7z=/:!SRk)= n>уw0@ڭ¹pDkHLAH\ ORQ6LTc[ >wb[mv(FhlˉU./Dȥ/avv)q"`л=Dk$q& daotص@KFY`1'q1-cT!uՍDhl A-9E , Be[ Tpmz_ҡ'mLsF:
+endstream
+endobj
+10135 0 obj
+<< /Type /Page /Contents 10136 0 R /Resources 10134 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10137 0 obj
+<< /D [ 10135 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10138 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10139 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10140 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10141 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10142 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10143 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10144 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10145 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 663.228 null ] >>
+endobj
+10146 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 652.269 null ] >>
+endobj
+10147 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 641.31 null ] >>
+endobj
+10148 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 630.351 null ] >>
+endobj
+10149 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 619.392 null ] >>
+endobj
+10150 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 608.433 null ] >>
+endobj
+10151 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 597.474 null ] >>
+endobj
+10152 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 586.515 null ] >>
+endobj
+10153 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 575.556 null ] >>
+endobj
+10154 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 564.598 null ] >>
+endobj
+10155 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 553.639 null ] >>
+endobj
+10156 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 542.68 null ] >>
+endobj
+10157 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 531.721 null ] >>
+endobj
+10158 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+10159 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+10160 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+10161 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 487.885 null ] >>
+endobj
+10162 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+10163 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 465.967 null ] >>
+endobj
+10164 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 455.009 null ] >>
+endobj
+10165 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+10166 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 433.091 null ] >>
+endobj
+10167 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 422.132 null ] >>
+endobj
+10168 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+10169 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 400.214 null ] >>
+endobj
+10170 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 389.255 null ] >>
+endobj
+10171 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 378.296 null ] >>
+endobj
+10172 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 367.337 null ] >>
+endobj
+10173 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 356.378 null ] >>
+endobj
+10174 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 345.42 null ] >>
+endobj
+10175 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 334.461 null ] >>
+endobj
+10176 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 323.502 null ] >>
+endobj
+10177 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 312.543 null ] >>
+endobj
+10178 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 301.584 null ] >>
+endobj
+10179 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 290.625 null ] >>
+endobj
+10180 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 279.666 null ] >>
+endobj
+10181 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 268.707 null ] >>
+endobj
+10182 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 257.748 null ] >>
+endobj
+10183 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 246.789 null ] >>
+endobj
+10184 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 235.83 null ] >>
+endobj
+10185 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 224.872 null ] >>
+endobj
+10186 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 213.913 null ] >>
+endobj
+10187 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 202.954 null ] >>
+endobj
+10188 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+10189 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 181.036 null ] >>
+endobj
+10190 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 170.077 null ] >>
+endobj
+10191 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 159.118 null ] >>
+endobj
+10192 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 148.159 null ] >>
+endobj
+10193 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+10194 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+10195 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+10196 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+10197 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+10198 0 obj
+<< /D [ 10135 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+10134 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10201 0 obj
+<< /Filter /FlateDecode /Length 1583 >>
+stream
+xڵYMoFW%F~dmnmAJV#$m .#q(v|0ml03\A?ލ޾78,G1xx j 4V_;Ocb@߾n`i6sd[Xotx]_(>xyYƛ/ۢ7jqXфE\bd-P@-,p+mf[0vstE+;.rQ:=/.=7 B { V2G#4mѶ>ODN=#d&pb~h"tuG?]h7uu2g%t=C* Mm5mIݜFb:j`0*7~ѭ?@TVrNo9W!{ߒȤCegεܭ|j&8mWԿj&"R9 m:pM0PFŌk`e:FŪ7U-j6x"oZOѠlv!h$St'^$U cD$hW!iSi5ILP"W+Q)N@F (V(-2CE.PlϜk04)0>asvRG9q6 K#_O%u??Cb}/ti#Д6/-,<{d4StR*YGh7S8s Ep*r)io'{cy2e GSʡze1 +N1#STA:dD]:RUJFAI㗢-]`0vH J MD)rQ!Zg:
+endstream
+endobj
+10200 0 obj
+<< /Type /Page /Contents 10201 0 R /Resources 10199 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10202 0 obj
+<< /D [ 10200 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10203 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10204 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10205 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10206 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10207 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10208 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10209 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10210 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10211 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+149 0 obj
+<< /D [ 10200 0 R /XYZ 79.37 657.699 null ] >>
+endobj
+10212 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 617.236 null ] >>
+endobj
+10213 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 606.278 null ] >>
+endobj
+10214 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 595.319 null ] >>
+endobj
+10215 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 584.36 null ] >>
+endobj
+10216 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 573.401 null ] >>
+endobj
+10217 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 562.442 null ] >>
+endobj
+10218 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 551.483 null ] >>
+endobj
+10219 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 540.524 null ] >>
+endobj
+10220 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 529.565 null ] >>
+endobj
+10221 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 518.606 null ] >>
+endobj
+10222 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 507.647 null ] >>
+endobj
+10223 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 496.689 null ] >>
+endobj
+10224 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 485.73 null ] >>
+endobj
+10225 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 474.771 null ] >>
+endobj
+10226 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 463.812 null ] >>
+endobj
+10227 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 452.853 null ] >>
+endobj
+10228 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 441.894 null ] >>
+endobj
+10229 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 430.935 null ] >>
+endobj
+10230 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 419.976 null ] >>
+endobj
+10231 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 409.017 null ] >>
+endobj
+10232 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 398.058 null ] >>
+endobj
+10233 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 387.1 null ] >>
+endobj
+10234 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 376.141 null ] >>
+endobj
+10235 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 365.182 null ] >>
+endobj
+10236 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 354.223 null ] >>
+endobj
+10237 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 343.264 null ] >>
+endobj
+10238 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 332.305 null ] >>
+endobj
+10239 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 321.346 null ] >>
+endobj
+10240 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 310.387 null ] >>
+endobj
+10241 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 299.428 null ] >>
+endobj
+10242 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 288.469 null ] >>
+endobj
+10243 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 277.51 null ] >>
+endobj
+10244 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 266.552 null ] >>
+endobj
+10245 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 255.593 null ] >>
+endobj
+10246 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 244.634 null ] >>
+endobj
+10247 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 233.675 null ] >>
+endobj
+10248 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 222.716 null ] >>
+endobj
+10249 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 211.757 null ] >>
+endobj
+10250 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 200.798 null ] >>
+endobj
+10251 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 189.839 null ] >>
+endobj
+10252 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 178.88 null ] >>
+endobj
+10253 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 167.921 null ] >>
+endobj
+10254 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 156.963 null ] >>
+endobj
+10255 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 146.004 null ] >>
+endobj
+10256 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 135.045 null ] >>
+endobj
+10257 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 124.086 null ] >>
+endobj
+10258 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 113.127 null ] >>
+endobj
+10259 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 102.168 null ] >>
+endobj
+10260 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 91.209 null ] >>
+endobj
+10261 0 obj
+<< /D [ 10200 0 R /XYZ 81.077 80.25 null ] >>
+endobj
+10199 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10264 0 obj
+<< /Filter /FlateDecode /Length 1548 >>
+stream
+xڵZMoFW%i~d4moM!0JfA
+EI.-i+/&eqξ++ޝp;[+ q) _b/ma fxq*|/ot)k K^.κPʦ_ݺ]T_¢7ai=;hR]ߕ&2[mEO#=p%?ѷdw
+ml[Z+m=-<ѷ/^iGۛL]乜z>Vÿ;8K3 )R12]oyJ;r.A2L5)34ݶS Gۆ&3. J# Ks@T},01v$u4B)zh>tShʎitRtO\oC9>TůqThLST
+ƒ֨z2@{U'h*EAٗ̅Y0e)J&G}Z6w J鶝>RThmb9xps;^EyӮVes9.ؘ0joބ>/Wa}25nv8갳4hrA7鑊 UTۢf6iV.φyJajp)?Hu*:}8MT4zN#wD
+acMWm6rN)`cib~VHy[- w/I2~&
+˞y5ېY9 W\o3xם6<aa?MBF6E2u(V5gCQ(bTZ圂 Df1?ZNfI?&gmS4ݶ 9VjޭMU]r^33zb*X
+F :9oX\UJحbi,-sd qJe#A6$]K'cf$<+rWbY0E2~d%t 7VIC%ixl<4)(Hjc<{0`GF1E¦XYUJ Tq ::H.T0g y.kPH9# Mv0Td!E+LNhOՇ+9V.iS!5* MN:BsieWIp=㨛ܐ!C)ٳB2`u[F"w]~&GF7ES~]} rK NyGQcNÙ;8y{M)pJ q?FGqMh}L~J! $Ih3t׼יDmx>v6sfO<_h3]7mP)a|!\#hazpp4yƓI*;@L-Ia4Q~瑁4m*E_~+e?nrU՟h ]ȻށVn{
+,h<9u w)8ѐ^]||x’~O9k}UaTjUxܘBXcrqL!
+endstream
+endobj
+10263 0 obj
+<< /Type /Page /Contents 10264 0 R /Resources 10262 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10265 0 obj
+<< /D [ 10263 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10266 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10267 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10268 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10269 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10270 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10271 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10272 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10273 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10274 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10275 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10276 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10277 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10278 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10279 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10280 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10281 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10282 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10283 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+10284 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+10285 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+10286 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+10287 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+10288 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+10289 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+10290 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+10291 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+10292 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+10293 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+10294 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+10295 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+10296 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+10297 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+10298 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+10299 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 402.207 null ] >>
+endobj
+10300 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 391.248 null ] >>
+endobj
+10301 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 380.289 null ] >>
+endobj
+10302 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 369.33 null ] >>
+endobj
+10303 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 358.371 null ] >>
+endobj
+10304 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 347.412 null ] >>
+endobj
+10305 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 336.453 null ] >>
+endobj
+10306 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 325.494 null ] >>
+endobj
+10307 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 314.535 null ] >>
+endobj
+10308 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 303.576 null ] >>
+endobj
+10309 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 292.618 null ] >>
+endobj
+10310 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 281.659 null ] >>
+endobj
+10311 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 270.7 null ] >>
+endobj
+10312 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 259.741 null ] >>
+endobj
+10313 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 248.782 null ] >>
+endobj
+10314 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 237.823 null ] >>
+endobj
+10315 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+10316 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 215.905 null ] >>
+endobj
+10317 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 204.946 null ] >>
+endobj
+10318 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+10319 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 183.028 null ] >>
+endobj
+10320 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 172.07 null ] >>
+endobj
+10321 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 161.111 null ] >>
+endobj
+10322 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 150.152 null ] >>
+endobj
+10323 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 139.193 null ] >>
+endobj
+10324 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 128.234 null ] >>
+endobj
+10325 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 117.275 null ] >>
+endobj
+10326 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 106.316 null ] >>
+endobj
+10327 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 95.357 null ] >>
+endobj
+10328 0 obj
+<< /D [ 10263 0 R /XYZ 81.077 84.398 null ] >>
+endobj
+10262 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10331 0 obj
+<< /Filter /FlateDecode /Length 1997 >>
+stream
+xڵZMoWdVh ma(6%%OMJ4Htxǹb_ÑH'XC9-(<TL(hEIn3}jg7CRܤ`,yCJ&oÛ7J?Z[tdAh"~%sWmn <ٖ(KsYϪ݇!zgffsMBT%M) 6Մ1m+TƤ`j~<
+ERFHmmV]M-W :2480|skes`Ven \H΢R(C+MiNx4-
+XYnUp5IV1"xHAQ=Qۦdਟ"煔%%BG G9E{ʋj3[7Gu|O MYc48)e,<5ZMpߙH)j \iTnn!YCK?KF 6v!qsKd72D@QNѯ聾Dhbf$\xXfFMMdfpRtU\jA1I.q}nM bc$%fhNJFBR2%l4% Yeƻ!>X/2Z0UT!XQ@bT] kYN!Ty}pc݋k(bJc>c >tzט"TxFDYg;ENR?hE(}ko[IB! ~
+>L;/4~9_$!ط62)QUsBF"T~-0m2+c{P=R]Yl>T͇SJ*;E[6ci+YdCR"1DȨ
+:h
+-r8g}i{H^b;p=a/~>Ԅ8|2C4 »CC+^6V:-=M?Լ+%a3ZÜE5/ZyFrn2sbiƎB@/#VJ“U۝H_@
+nqê? ١$:;4HO8[ɇ Y|V svkv
+t
+endstream
+endobj
+10330 0 obj
+<< /Type /Page /Contents 10331 0 R /Resources 10329 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10332 0 obj
+<< /D [ 10330 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10333 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10334 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10335 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10336 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10337 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10338 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10339 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10340 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10341 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10342 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10343 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10344 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10345 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10346 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10347 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10348 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10349 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10350 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 582.53 null ] >>
+endobj
+10351 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+10352 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 560.613 null ] >>
+endobj
+10353 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+10354 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 538.695 null ] >>
+endobj
+10355 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 527.736 null ] >>
+endobj
+10356 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 516.777 null ] >>
+endobj
+10357 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 505.818 null ] >>
+endobj
+10358 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+10359 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 483.9 null ] >>
+endobj
+10360 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 472.941 null ] >>
+endobj
+10361 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 461.982 null ] >>
+endobj
+10362 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 451.023 null ] >>
+endobj
+10363 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+10364 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 429.106 null ] >>
+endobj
+10365 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 418.147 null ] >>
+endobj
+10366 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+10367 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 396.229 null ] >>
+endobj
+10368 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 385.27 null ] >>
+endobj
+10369 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 374.311 null ] >>
+endobj
+10370 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 363.352 null ] >>
+endobj
+10371 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 352.393 null ] >>
+endobj
+10372 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 341.434 null ] >>
+endobj
+10373 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 330.476 null ] >>
+endobj
+10374 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 319.517 null ] >>
+endobj
+10375 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 308.558 null ] >>
+endobj
+10376 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 297.599 null ] >>
+endobj
+10377 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 286.64 null ] >>
+endobj
+10378 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 275.681 null ] >>
+endobj
+10379 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+153 0 obj
+<< /D [ 10330 0 R /XYZ 79.37 242.776 null ] >>
+endobj
+10380 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 123.122 null ] >>
+endobj
+10381 0 obj
+<< /D [ 10330 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+10329 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10384 0 obj
+<< /Filter /FlateDecode /Length 1952 >>
+stream
+xZmo_o޾shE/M^A4@K+8<{gtFrΔ(>gvggftDO/HLkEtfF͒Y\Zn?{0S0XeBWw=ZqulӺ~s)/{nE|N;pih!%?%ƈ*Fm K861zq퀴w
+Aq!B 9!%M+ zoI;w>wq1`ϊȕEA4pY)< -/n?'G kêŝ)xGa[ N5R<EԕeQ_NRS" N4xTPň맲XB'h?YW7!3r`{Eԇ,<erʙ7 {CZa 7S4Z
+[R
+ cQ@7ldQn+Dh{PNDh Ǭ,{וo5BVv.zT =^l1}xXvфSB2΅ )=Cy*@Dw: D=/VNFYH.D%cA |P2e
+cXFoF n9*.kDhP rP@XB@
+PcM7 <$(ӂ: x3!spo&'"QRcK[y%IZP"I"pi 8SWڀÔN d)z5rX (k QLjs簙 ទDhtu`A6T$GfE O+P'SDb
+{w깪}C]t>gt_EkO|9ȇ=b'6W\_>w}6\y/W gVb_~|aAS=>L8gPk
+L*B ~7!jC$o;Nk1ǐđ L2ȡݾX M}isEѢ%ө8R4 K{&W{4,أ$e@!P1`Ȏnx ($`'B93O|%q< Mx.FM$ȗF;Y+xh]By
+endstream
+endobj
+10383 0 obj
+<< /Type /Page /Contents 10384 0 R /Resources 10382 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10385 0 obj
+<< /D [ 10383 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10386 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10387 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10388 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10389 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10390 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10391 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10392 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10393 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10394 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10395 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10396 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10397 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10398 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10399 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10400 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10401 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 599.772 null ] >>
+endobj
+10402 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 588.813 null ] >>
+endobj
+10403 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 577.854 null ] >>
+endobj
+10404 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 566.895 null ] >>
+endobj
+10405 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 555.936 null ] >>
+endobj
+10406 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 544.978 null ] >>
+endobj
+10407 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 534.019 null ] >>
+endobj
+10408 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 523.06 null ] >>
+endobj
+10409 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 512.101 null ] >>
+endobj
+10410 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 501.142 null ] >>
+endobj
+10411 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 490.183 null ] >>
+endobj
+10412 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 479.224 null ] >>
+endobj
+10413 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 468.265 null ] >>
+endobj
+10414 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 457.306 null ] >>
+endobj
+10415 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 425.651 null ] >>
+endobj
+10416 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 414.692 null ] >>
+endobj
+10417 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 403.733 null ] >>
+endobj
+10418 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 392.774 null ] >>
+endobj
+10419 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 381.815 null ] >>
+endobj
+10420 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 370.856 null ] >>
+endobj
+10421 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 359.897 null ] >>
+endobj
+10422 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 348.938 null ] >>
+endobj
+10423 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 337.979 null ] >>
+endobj
+10424 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 322.344 null ] >>
+endobj
+10425 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 311.385 null ] >>
+endobj
+10426 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 300.427 null ] >>
+endobj
+10427 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 289.468 null ] >>
+endobj
+10428 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 278.509 null ] >>
+endobj
+10429 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 267.55 null ] >>
+endobj
+10430 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 256.591 null ] >>
+endobj
+10431 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 245.632 null ] >>
+endobj
+10432 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 234.673 null ] >>
+endobj
+10433 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 208.69 null ] >>
+endobj
+10434 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 197.731 null ] >>
+endobj
+10435 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+10436 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+10437 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+10438 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+10439 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+10440 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+10441 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+10442 0 obj
+<< /D [ 10383 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+10382 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10445 0 obj
+<< /Filter /FlateDecode /Length 1721 >>
+stream
+xڵYMo6W6RP-6-ڴRV oP)q^"# 9f<^0wKat0x  H5P ,`=Fus B, &(&>uQ,lvq5 *y]2+:/jxeb^DT`D0uD>$ Q1bcHiH '˴ZЄrDףs:]DDHD/.M1sCU.UtRۇYѬnΐHňოެ"5w#mG`EU5P_J%! Qy̐gl)l{8>LQ}9f?[Nt|iC^yP2axx28.0`te/ Y'b\84xEҭ͎\;F~vsL'7\^>:T?I8U+?+&,ʋ;^.gbZfhY#¬{@{YJޜ c[>:|mEt2QEv]_
+P#vdC=B%Hr՗a`&Fd)~-&R$'9PΩ?1, VV*ޘ(y-"_>ػie/A8^o
+ 6 AB]_tpk 3~<y:
+,h`EQ$uL|gAjPm_@ZA;<̑}tpe!\g*DP꡽GKxAlV{`O
+ QQr;IRp冴cihSW5tLZYGb@N$;r}t,Bx&=׀**p";v̩EJW>Eq;(c'% }_o-&LRs]% B݋ª.A򪾸ʻщޥ2^F?T iRp S(w)PweByprF˺2L<tcEI7ˬ7lQq,7Mp7l~(u.-&1no-k+hQ7;?vMXGUI1K2A9(z!%:oߗ*M7c-(b.x88v IŮ^I& DgWP4K}ۑOFaC-#142NeTxtA{Jo/WGEkqU
+'8JivLHW:wd2{c6Q}
+endstream
+endobj
+10444 0 obj
+<< /Type /Page /Contents 10445 0 R /Resources 10443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+endobj
+10446 0 obj
+<< /D [ 10444 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10447 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10448 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10449 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 715.033 null ] >>
+endobj
+10450 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 704.075 null ] >>
+endobj
+10451 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 693.116 null ] >>
+endobj
+10452 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 682.157 null ] >>
+endobj
+10453 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 671.198 null ] >>
+endobj
+10454 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 660.239 null ] >>
+endobj
+10455 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+10456 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+10457 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+157 0 obj
+<< /D [ 10444 0 R /XYZ 79.37 579.907 null ] >>
+endobj
+10458 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 483.059 null ] >>
+endobj
+10459 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 472.101 null ] >>
+endobj
+10460 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 461.142 null ] >>
+endobj
+10461 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 450.183 null ] >>
+endobj
+10462 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 434.243 null ] >>
+endobj
+10463 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 423.284 null ] >>
+endobj
+10464 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 412.325 null ] >>
+endobj
+10465 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 401.366 null ] >>
+endobj
+10466 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 390.407 null ] >>
+endobj
+10467 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 379.448 null ] >>
+endobj
+10468 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 368.489 null ] >>
+endobj
+10469 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 357.53 null ] >>
+endobj
+10470 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 346.571 null ] >>
+endobj
+161 0 obj
+<< /D [ 10444 0 R /XYZ 79.37 321.117 null ] >>
+endobj
+10471 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 252.774 null ] >>
+endobj
+10472 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 241.815 null ] >>
+endobj
+10473 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 230.856 null ] >>
+endobj
+10474 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 219.897 null ] >>
+endobj
+10475 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 208.938 null ] >>
+endobj
+10476 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 197.979 null ] >>
+endobj
+10477 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 182.039 null ] >>
+endobj
+10478 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 171.08 null ] >>
+endobj
+10479 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 160.121 null ] >>
+endobj
+10480 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 149.162 null ] >>
+endobj
+10481 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 138.203 null ] >>
+endobj
+10482 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 127.244 null ] >>
+endobj
+10483 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 116.285 null ] >>
+endobj
+10484 0 obj
+<< /D [ 10444 0 R /XYZ 81.077 105.327 null ] >>
+endobj
+10443 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10487 0 obj
+<< /Filter /FlateDecode /Length 2331 >>
+stream
+xڽZ[o~ϯ[d ;9
+-M
+ b(i$K*I1o^F,(E_L7~1l&t;_<{'f&͵6 $ҌP&ݽѴPrgS[w<ݯwd=YaWn䫻lqz-A5Bʄqn˲(uQwvT~2BDp.BfcK"w޸N4$ aTwA{XuZ&i4]e{8*@r
+d<]᱘}h)%k8K9&n=0,&SKW.bLBC|X_WvNg\fTm]l $.QnēULwGKV
+4:!h$ P\>?<ILcM4
+}n>II j,jqvRoe 7=u,3֥16@;6$&D 8tUm5/s#eu|';;ӼK$1hws B
+gNmqOIvs=eeѱ/ȡ!oʽ>C}(x#Qt4 ߆J`ӆ!%V^hg]-J2yڡDLb6,@~ZwٶEYNM׼'>7 .>ۈK&7\ n
+ljگJRA\Trtgo1q12FC?0dY(PNJnݰ@! Ϛ%1Lah'2:Җz/׃n =٦m}c-"Ao$U(MhtRRF9P~ qO ň2ڳXOwܸn޾p~W)ȿ(.]@Q1 !M`Ն꾨
+&E.XLQ\IfP)} ҇ Q\ݘ9̓1+htR0h&r
+Ӹ@A,8H;$
+evUi|Mw –n yL gx )EߐWwT}vZ_k[z %#=pGW|$ٝ
+'0,ٻS3
+endstream
+endobj
+10486 0 obj
+<< /Type /Page /Contents 10487 0 R /Resources 10485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10488 0 obj
+<< /D [ 10486 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10489 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 722.007 null ] >>
+endobj
+10490 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 711.048 null ] >>
+endobj
+10491 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 700.089 null ] >>
+endobj
+10492 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 689.131 null ] >>
+endobj
+10493 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 678.172 null ] >>
+endobj
+10494 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 667.213 null ] >>
+endobj
+10495 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 656.254 null ] >>
+endobj
+10496 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 645.295 null ] >>
+endobj
+10497 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 634.336 null ] >>
+endobj
+10498 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 623.377 null ] >>
+endobj
+10499 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 612.418 null ] >>
+endobj
+10500 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 601.459 null ] >>
+endobj
+10501 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 590.5 null ] >>
+endobj
+10502 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 579.542 null ] >>
+endobj
+10503 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 568.583 null ] >>
+endobj
+10504 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 557.624 null ] >>
+endobj
+10505 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 546.665 null ] >>
+endobj
+10506 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 520.762 null ] >>
+endobj
+10507 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 509.803 null ] >>
+endobj
+10508 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 498.844 null ] >>
+endobj
+10509 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 487.885 null ] >>
+endobj
+10510 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 476.926 null ] >>
+endobj
+10511 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+10512 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+10513 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+10514 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+10515 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+10516 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 408.184 null ] >>
+endobj
+10517 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+10518 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+10519 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+10520 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+10521 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 348.408 null ] >>
+endobj
+10522 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 337.449 null ] >>
+endobj
+10523 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 326.49 null ] >>
+endobj
+10524 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+10525 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+10526 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+10527 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 277.674 null ] >>
+endobj
+10528 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 266.715 null ] >>
+endobj
+10529 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+10530 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+10531 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+10532 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+10533 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 206.939 null ] >>
+endobj
+10534 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+10535 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+10536 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+10537 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+10538 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+10539 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 136.204 null ] >>
+endobj
+10540 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 125.245 null ] >>
+endobj
+10541 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+10542 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+10543 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 92.368 null ] >>
+endobj
+10544 0 obj
+<< /D [ 10486 0 R /XYZ 81.077 81.41 null ] >>
+endobj
+10485 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F74 264 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10548 0 obj
+<< /Filter /FlateDecode /Length 1773 >>
+stream
+xڵZM60CeMjOA$HPТ) M{c! 6%nGq/33H͌^'Q/OoIX&l`pD333l^zH=9֋7:Yh-8%F$1WumQ6ݺ+ҶTQwt7[un֕m杻o]ͻGxQ 1zX.=мzm <w$o *:/4!T>U7W4pnQ+xD/¤їڦ[nMg b۸ߞzZ_ {0+>nc'V]hEcލk)4PnnyySpa0i&4nc
+WBڦ9AӡpsƠzT][[AikSFA|(͢twe;OëbzNv b 6B9"xԉQH>ݱ .E8(0wʒ^t j {][T]UKY܋NT=6eZ+o/ɡv\Ӥ^Um5r9NHZ6 ==1KT4P )B{6 RӦm\
+_}1䜈a Zc4>`VvnZ++P$
+&0j
+SFW&>hDא,`
+p |XㆳW& mD3
+7Dh
+p C kpϣ\pBe04cph
+DT / FsFƪ}^ `F`qgq]X,ٰ 5%Yѿ?0MM-pu]sxZE|Pp7]!_, |rc-K1&C6P6?f$imd+ּJ۩*(V5F q"gu²lrԆ#Q"4%c0 q>N<^ђ_ jfYRA?:Pe7_b_bԥ nwjYs1ؕ4CO[$:{@BEvĴIJ+Zb7|=P
+endstream
+endobj
+10547 0 obj
+<< /Type /Page /Contents 10548 0 R /Resources 10546 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10549 0 obj
+<< /D [ 10547 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10550 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10551 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10552 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10553 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10554 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10555 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10556 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10557 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10558 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10559 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10560 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10561 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10562 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10563 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10564 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10565 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10566 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+10567 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+10568 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+10569 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+10570 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+10571 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+10572 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+10573 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+10574 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+10575 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+10576 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 462.979 null ] >>
+endobj
+10577 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 452.02 null ] >>
+endobj
+10578 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+10579 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+10580 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 414.162 null ] >>
+endobj
+10581 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 403.203 null ] >>
+endobj
+10582 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+10583 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 381.285 null ] >>
+endobj
+10584 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 370.326 null ] >>
+endobj
+10585 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 359.367 null ] >>
+endobj
+10586 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+10587 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 332.468 null ] >>
+endobj
+10588 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 321.509 null ] >>
+endobj
+10589 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 310.55 null ] >>
+endobj
+10590 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 299.591 null ] >>
+endobj
+10591 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 288.632 null ] >>
+endobj
+10592 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 272.692 null ] >>
+endobj
+10593 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 261.733 null ] >>
+endobj
+10594 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 250.774 null ] >>
+endobj
+10595 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 239.816 null ] >>
+endobj
+10596 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 228.857 null ] >>
+endobj
+10597 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 217.898 null ] >>
+endobj
+10598 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+10599 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+10600 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+10601 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+10602 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+10603 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+10604 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+10605 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+10606 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 109.305 null ] >>
+endobj
+10607 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 98.346 null ] >>
+endobj
+10608 0 obj
+<< /D [ 10547 0 R /XYZ 81.077 87.387 null ] >>
+endobj
+10546 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10611 0 obj
+<< /Filter /FlateDecode /Length 2064 >>
+stream
+xڭMoFB{h
+7S6I[!h h 5HʮE()are|9gfv-nEt|e\\^<{mB$R,.|f]XYdb]$Q O6"f12<,Xŋm}sUfK-U:krWysvM۽'LO##.s&d2a\޶<϶(۵]iK״:k۬}='S7ʲ>B7|ھЂi ͨE% J3N|ܘXi֌fZp,9p
+-IOi$b꧑MP{ivxh֏?.O`ըϜ~oQh@%0u]e~lڴBna-ŪT@6IΚBFY-0H,a)!g)i tCP )yܱqUyyn"MVKv$SAʳ!59mrޑCTh0DCİ6T|
+>µd 'cƒuv~5kWE}^;^I
+B8VpK^-2"& $j2 =`
+RXẊPQ5/יoI>AcL%0WM[t2}3ⱽOR{C;šoI%$ &9d$,Oѱ ָx'2D M6'v&-7i7f}{cIb`X!|6# }OgN89C9FQj&+|~?+ۼ 7fY٘Μ"5Xf:>RqiծHC|fcZiliKs-TSj5$<VCCVͪ~=t +8(l
+'t;],\s%%DԓZ&fK(\0~KR+('N9紩ٻ6p7q?"O^50(Ч8Vҵu)ۀ/=k[Pk%L>KZ-|*nKR-o=oHU"gv;"Я
+7]~mJZ {LSH4RN@:S)W>.'8e̠T'
+ĂO^^ mjRF%hPLË|wYQl5 iq t@xZB/@92`FvL̐= 4 =Oi*= XP̩y珂cIԵPH2AS;Kݎ.@Av9\B((P9Ś KOM31M6摚IT$3s lLⳳ :#5\q"+<UפܓS.劶749i;HEH3@#xf'vMpǜ3pp7$Y[J O<h'
+endstream
+endobj
+10610 0 obj
+<< /Type /Page /Contents 10611 0 R /Resources 10609 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10612 0 obj
+<< /D [ 10610 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10613 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10614 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10615 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10616 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10617 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10618 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 709.191 null ] >>
+endobj
+10619 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 698.232 null ] >>
+endobj
+10620 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 687.273 null ] >>
+endobj
+10621 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 676.314 null ] >>
+endobj
+10622 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 665.355 null ] >>
+endobj
+10623 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 654.396 null ] >>
+endobj
+10624 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 638.591 null ] >>
+endobj
+10625 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 627.632 null ] >>
+endobj
+10626 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 616.673 null ] >>
+endobj
+10627 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 605.714 null ] >>
+endobj
+10628 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 594.755 null ] >>
+endobj
+10629 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 583.796 null ] >>
+endobj
+10630 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 567.991 null ] >>
+endobj
+10631 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 557.032 null ] >>
+endobj
+10632 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 546.073 null ] >>
+endobj
+10633 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 535.114 null ] >>
+endobj
+10634 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 524.155 null ] >>
+endobj
+10635 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 513.196 null ] >>
+endobj
+10636 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 497.391 null ] >>
+endobj
+10637 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 486.432 null ] >>
+endobj
+10638 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 475.473 null ] >>
+endobj
+10639 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 464.514 null ] >>
+endobj
+10640 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 453.555 null ] >>
+endobj
+10641 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 442.596 null ] >>
+endobj
+10642 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 431.637 null ] >>
+endobj
+10643 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 415.832 null ] >>
+endobj
+10644 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 404.873 null ] >>
+endobj
+10645 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 393.914 null ] >>
+endobj
+10646 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 382.955 null ] >>
+endobj
+10647 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 371.996 null ] >>
+endobj
+10648 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 361.037 null ] >>
+endobj
+10649 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 350.078 null ] >>
+endobj
+10650 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 339.119 null ] >>
+endobj
+10651 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 328.16 null ] >>
+endobj
+10652 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 317.201 null ] >>
+endobj
+10653 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 301.396 null ] >>
+endobj
+10654 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 290.437 null ] >>
+endobj
+10655 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 279.478 null ] >>
+endobj
+10656 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 268.519 null ] >>
+endobj
+10657 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 257.56 null ] >>
+endobj
+10658 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 246.601 null ] >>
+endobj
+10659 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 230.796 null ] >>
+endobj
+10660 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 219.837 null ] >>
+endobj
+10661 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 208.878 null ] >>
+endobj
+10662 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 197.919 null ] >>
+endobj
+10663 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 186.96 null ] >>
+endobj
+10664 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 176.001 null ] >>
+endobj
+10665 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 165.042 null ] >>
+endobj
+10666 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 149.237 null ] >>
+endobj
+10667 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 138.278 null ] >>
+endobj
+10668 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 127.319 null ] >>
+endobj
+10669 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 116.36 null ] >>
+endobj
+10670 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 105.401 null ] >>
+endobj
+10671 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 94.442 null ] >>
+endobj
+10672 0 obj
+<< /D [ 10610 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+10609 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10675 0 obj
+<< /Filter /FlateDecode /Length 2196 >>
+stream
+xڽ[]o6}ϯ0m +~yv-Z,"hbkb!HrtP-tfgq.)'M&^too7XC9ܿGɆn"V$n?R/{/QvcUL)% eBh<7[)Tv+rP9gNgΔDJC51 /5Z<
+o!P +=6mu-2ӰJ-QjC3H(Dvձ{|{ʋ{xYW|q+|uPM`ęۇ4/CtbJaJyD?J5;Bˣ2pa=AFvoLMYK">}|U.Js(gZ6
+Ma!StWc#4JGe:=AGPLKgS^>uJ"k Ďu wiKODdTZC4:i0Yk<a3C9gL+¾N?4$9Q2"w Ma JkgBBτ}UWYLWDhB2tQBB/,~LC*[cBwNs۴i ՌH!ZL{%agBBׄ:fFz\
+PE8M^rmVfr">1LheM4#
+0jEse$zjT>*h-ɍ%";Z#ɡN:Z;r S:H"4Zs^TܱG+h9!0Mn
+)[ɜfF4U0K=5NnFcpμY8a:09D(BMso!.5Bjt 1hFsO뚳/k!m6(oD1qkXmA
+]ٝ(".Xق]] ysW% 2Ojo8KF@?zBS==w;
+!MX,rQl ?(E~a;nӧ)/{
+K{9/XN6~bDt;:;Wv*ew.)PKZ;4ANK]1q>ෟڍ(Sl>ñ4qg
+endstream
+endobj
+10674 0 obj
+<< /Type /Page /Contents 10675 0 R /Resources 10673 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10676 0 obj
+<< /D [ 10674 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10677 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10678 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10679 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10680 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10681 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+10682 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+10683 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+10684 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+10685 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+10686 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+10687 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+10688 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+10689 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 637.325 null ] >>
+endobj
+10690 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 626.366 null ] >>
+endobj
+10691 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+10692 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 604.448 null ] >>
+endobj
+10693 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+10694 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+10695 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+10696 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+10697 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+10698 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+10699 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+10700 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+10701 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+10702 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 489.878 null ] >>
+endobj
+10703 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 478.919 null ] >>
+endobj
+10704 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+10705 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 457.001 null ] >>
+endobj
+10706 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 446.042 null ] >>
+endobj
+10707 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+10708 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 424.124 null ] >>
+endobj
+10709 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+10710 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 397.225 null ] >>
+endobj
+10711 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 386.266 null ] >>
+endobj
+10712 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 375.307 null ] >>
+endobj
+10713 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 364.349 null ] >>
+endobj
+10714 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 353.39 null ] >>
+endobj
+10715 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 342.431 null ] >>
+endobj
+10716 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 331.472 null ] >>
+endobj
+10717 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 315.532 null ] >>
+endobj
+10718 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 304.573 null ] >>
+endobj
+10719 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 293.614 null ] >>
+endobj
+10720 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 282.655 null ] >>
+endobj
+10721 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 271.696 null ] >>
+endobj
+10722 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 255.756 null ] >>
+endobj
+10723 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 244.797 null ] >>
+endobj
+10724 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 233.838 null ] >>
+endobj
+10725 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 222.879 null ] >>
+endobj
+10726 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 211.92 null ] >>
+endobj
+10727 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 195.98 null ] >>
+endobj
+10728 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 185.021 null ] >>
+endobj
+10729 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 174.062 null ] >>
+endobj
+10730 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 163.103 null ] >>
+endobj
+10731 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+10732 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 141.185 null ] >>
+endobj
+10733 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 130.226 null ] >>
+endobj
+10734 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+10735 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 103.327 null ] >>
+endobj
+10736 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 92.368 null ] >>
+endobj
+10737 0 obj
+<< /D [ 10674 0 R /XYZ 81.077 81.41 null ] >>
+endobj
+10673 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10740 0 obj
+<< /Filter /FlateDecode /Length 2633 >>
+stream
+xڭ[MW)q$r쪤R=$U,%Q
+ߢbrjj?ED*HM.ZǠ.cJ-GZV)NwVל{\ȉ#C8<$u8dHus°Xz5#i#TmWBnuBCd"H !Y2p^Ol(4b&qzC7udCDSLUL @>
+d !չ:$J5
+C^S3@͸@HVfJ;L&ى@CFbf%
+ŗ)YQyŤh!؉k(yaC伻!25o<"np2Ҕ(Bi{ d@skJIbBHk}m( 'lm7uZ_P?7eՍM
+{ѩBˆh~s =MG:n97xH'2ԭW l?'X;rsʀKdEBoM"@ D壻R#54AyNjt9̋$ZhWVςAm;bwʍԃq]uINͿ"=ISQ߽R jvhѬ*l?UEkC^&nhrzIE-I"BбŶD/Uz "Pži|ɥP̛]#޸9!'%>#4 ]b!གUd]5<kPBJ85'X;Y7Vy.do`2D4M-ΗwRb t6~o$Lv;/b
+˯daĄ*Њ7B;'?&o#:N"VOv$ C*2eR;x{KJW49 c%rum %lOu]S ~fPT+<["䅧!H{05<TI1EDOEsٿ6+M/9Nl'[nʾ) +xC!41iy q1DA@2mB85C0$]>KeHS!vZMn}chD dFDB=q@rhLiy]Qmw[7ߙo<"^
+endstream
+endobj
+10739 0 obj
+<< /Type /Page /Contents 10740 0 R /Resources 10738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10741 0 obj
+<< /D [ 10739 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10742 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10743 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10744 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10745 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+10746 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+10747 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+10748 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+10749 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+10750 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+10751 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 660.239 null ] >>
+endobj
+10752 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+10753 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+10754 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+10755 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+10756 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+10757 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+10758 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+10759 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 567.586 null ] >>
+endobj
+10760 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+10761 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+10762 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+10763 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+10764 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+10765 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+10766 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+10767 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 474.934 null ] >>
+endobj
+10768 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+10769 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+10770 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+10771 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+10772 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+10773 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+10774 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+10775 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+10776 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+10777 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+10778 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+10779 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+10780 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+10781 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+10782 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+10783 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+10784 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+10785 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+10786 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+10787 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+10788 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+10789 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+10790 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 207.935 null ] >>
+endobj
+10791 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 196.976 null ] >>
+endobj
+10792 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+10793 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+10794 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+10795 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+10796 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 137.2 null ] >>
+endobj
+10797 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+10798 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 115.283 null ] >>
+endobj
+10799 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+10800 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+10801 0 obj
+<< /D [ 10739 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+10738 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10804 0 obj
+<< /Filter /FlateDecode /Length 2167 >>
+stream
+xڭZMoFWC`d)X`&; d.l-64HʎVbL(CƖǪ|uo?7~HJ3
+%W_+J-"Y%V0nj_kgu9kU: YF,mn9sO3eI]LIm+̈́lls}ٷ*~WU߼5|?M] LpC5ů{-\E -bsdB2umi4GOAa!z?725ћ>y]wM3F ;V갿?\_ztS:Bt4!0\4m3;ƕ"1))ɫMWoڮyi8Iv>4xe}ɫwn1e2G[}U,v^])MbI5ɴl JDJqXmq[~ž2i`貤k&Ik.L3qu1"[R Ƙ*a) i}1`,Csk9<eVEO -s4>˲Y|ؽWb\@ĕhþ")?1>:붮Mqzgn}P7-&|jbXb"1X xHF>ԇrK碃]A1/2S3N@@eCP\I4I acysMi2VEMi}gB<fcKUGGf&Q KdD'j\캇?+D{%=iSLF65<dObK  3mmb. ŎIA2>Tf,t`WYRe0#)1T tgp8:rø:tBc $F6@hQ)4pf{&eH& cmv-EG = U`/9
+Y@!V01^mРX׻Cy&"X4Lm>UƤA/1ڄ=zB!ySjZ*+ڬBS=_嘌sst cۮru?e
+TӂVhz S&gS6-"NQ< ?]Xۢz;ȟ M_ri3yIFh2I1dMkcYO$ L-{]lʌR5ZЯ9Qʲ@,-q CB^Q)HRIIb5'#g ? f2v51U=].YsVSI o0y—~VN1
+8 ETi:ח0@; ۠ \~dee-mhr2Ɖ]Ch:Am Na^^a
+D=#Ql
+#{H*mt'LQb
+C!t
+ZeJE3,B@K kK72ڿ} aՙZ`[4wDY;U
+HƎVj|3nꪛe[8 #2}9 }~p<zDCh2풓/ us[vyuW
+a,,:MIlM 6욃Ocq}*+ʹrL҆\y3-Bxhjz
+⍸讉bxׄ ~A_x՛B*M&zoxSRɴW7GO̘ɴԩ9vL9̐׾~sUZkfE9xx<'%
+P+>* kA1A72KS
+endstream
+endobj
+10803 0 obj
+<< /Type /Page /Contents 10804 0 R /Resources 10802 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10805 0 obj
+<< /D [ 10803 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10806 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10807 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10808 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 741.933 null ] >>
+endobj
+10809 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 730.974 null ] >>
+endobj
+10810 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+10811 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+10812 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+10813 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+10814 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+10815 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 660.239 null ] >>
+endobj
+10816 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 649.28 null ] >>
+endobj
+10817 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+10818 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+10819 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+10820 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+10821 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+10822 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+10823 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+10824 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+10825 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+10826 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+10827 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+10828 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+10829 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+10830 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+10831 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+10832 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+10833 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+10834 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+10835 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+10836 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+10837 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+10838 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+10839 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+10840 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+10841 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+10842 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+10843 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+10844 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+10845 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+10846 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+10847 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+10848 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+10849 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+10850 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+10851 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+10852 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+10853 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+10854 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+10855 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+10856 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+10857 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+10858 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+10859 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+10860 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+10861 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+10862 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+10863 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+10864 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+10865 0 obj
+<< /D [ 10803 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+10802 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10868 0 obj
+<< /Filter /FlateDecode /Length 2121 >>
+stream
+xڭZ[o~M̈́s1"vhBM"{ϐҐ#ے Y|2ngdJ ~+gXC9ݬ/(|(љQDQ=ӊDf߯-|׷W Jq3Smܶmݴڵe?/i\զu[׮˪m\{N((^"4Q? /UB 1W(cI" JD+CڟŪ}S9'd˂'8c]V-Ls{fD3"ݼn[  o!2 b<HJp6
+-plڏY fEYAk FmyPJ817l
+6VN(4{?@ly>^H&ܿ&\1kzy \%iiX&D!M *p"` EZbr<+m2C<[ZceZɉG! Đ}6mڮ)+K7
+ڳikyn, ,HpnbwV=VA9D (2A88F
+fwMLB77ř{\UA&L": EM[S@[c6gmq_v*~+ϠO\?}7
+Ӈ*y!v?FϗMЩ+dbGCqE2nU2Z}7F#VM :FV. t)H4:fWVeS¬M&f 4$U. :!CDkܠLI`Ja MjS"y%!%ؚj-C aԸ*+L5%CKqe} ('~& Fh|R1j9$A|
+<W)ʔ짚X;d n܋;! bDwS; 0o ~CR *Unof/+ݶW;fFk# e!aywj'x
+gOp\OXYubnش~N,O}[y?os(? Z;ƛ%a4
+ͰCH E(d|p63F  n5D7 nϧna.Y? NpKƟ:tC?qd`fcFH+b~O|
+endstream
+endobj
+10867 0 obj
+<< /Type /Page /Contents 10868 0 R /Resources 10866 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10869 0 obj
+<< /D [ 10867 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10870 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10871 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10872 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10873 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10874 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 720.33 null ] >>
+endobj
+10875 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 709.371 null ] >>
+endobj
+10876 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 698.412 null ] >>
+endobj
+10877 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 687.454 null ] >>
+endobj
+10878 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 676.495 null ] >>
+endobj
+10879 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 665.536 null ] >>
+endobj
+10880 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 654.577 null ] >>
+endobj
+10881 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 638.952 null ] >>
+endobj
+10882 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 627.993 null ] >>
+endobj
+10883 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 617.034 null ] >>
+endobj
+10884 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 606.075 null ] >>
+endobj
+10885 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 595.117 null ] >>
+endobj
+10886 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 584.158 null ] >>
+endobj
+10887 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 573.199 null ] >>
+endobj
+10888 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 562.24 null ] >>
+endobj
+10889 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 546.615 null ] >>
+endobj
+10890 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 535.656 null ] >>
+endobj
+10891 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 524.697 null ] >>
+endobj
+10892 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 513.738 null ] >>
+endobj
+10893 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 502.78 null ] >>
+endobj
+10894 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 491.821 null ] >>
+endobj
+10895 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 480.862 null ] >>
+endobj
+10896 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 469.903 null ] >>
+endobj
+10897 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 458.944 null ] >>
+endobj
+10898 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 447.985 null ] >>
+endobj
+10899 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 437.026 null ] >>
+endobj
+10900 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 426.067 null ] >>
+endobj
+10901 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 415.108 null ] >>
+endobj
+10902 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 399.484 null ] >>
+endobj
+10903 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 388.525 null ] >>
+endobj
+10904 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 377.566 null ] >>
+endobj
+10905 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 366.607 null ] >>
+endobj
+10906 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 355.648 null ] >>
+endobj
+10907 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 344.689 null ] >>
+endobj
+10908 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 333.73 null ] >>
+endobj
+10909 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 322.771 null ] >>
+endobj
+10910 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 307.147 null ] >>
+endobj
+10911 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 296.188 null ] >>
+endobj
+10912 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 285.229 null ] >>
+endobj
+10913 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 274.27 null ] >>
+endobj
+10914 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 263.311 null ] >>
+endobj
+10915 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 252.352 null ] >>
+endobj
+10916 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 236.727 null ] >>
+endobj
+10917 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 225.768 null ] >>
+endobj
+10918 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 214.81 null ] >>
+endobj
+10919 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 203.851 null ] >>
+endobj
+10920 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 192.892 null ] >>
+endobj
+10921 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 181.933 null ] >>
+endobj
+10922 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 170.974 null ] >>
+endobj
+10923 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+10924 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 144.39 null ] >>
+endobj
+10925 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+10926 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 122.473 null ] >>
+endobj
+10927 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+10928 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+10929 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+10930 0 obj
+<< /D [ 10867 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+10866 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10933 0 obj
+<< /Filter /FlateDecode /Length 1916 >>
+stream
+xڵZnF}W&@%Oi$mѦC/)Zli]~{g)iU]8eA39gf(:3KTxߟxgHg舍&ьPF菧8Z/i7i-l%L}:^rA(.H ]_\e|sqΦWE+;+rK.;Npt:4z *cHPG)GȄ ? G1aa$RrQ:.i,—s^Vҟ~qQU>#h?%~AUƧ&˃m0۔Rp8W&bR/b[,Cʼɫ͛uh.uDXS$gtEamkGvJ}Q6m=C um\\vfEo3% HΔ%upMyM6)I DR#pi {䝃kSxs)]t[UV>@,%PՕѕA%~B
+cpfN.Z]4%Zh[2~,.Rmdtɠ\J.JRo87esoSXaQ'Jeڞ 70BZf5I]tp^璄7Hri~]|PFtHЭTldBiIg(4tU  _(Y<K8fӇ4M>Tu-a.kD:R"/u B逿/Z۝|\NlO7m1=D*By{v,C,{gaGbZ P4$)$F7r=tآ0\+osG (=V݀Ԛ*G!\"WGhH6`" ,O'Ȁ#Á,'5:isc r3njБ} 7'h4K  x~5>#R*el8N4ZGؒphGG$p['q:A%s|.q"tB.P꒠. .c;uI .P21](nڒ-Łڂז("#Ů MJDmV=kK;,2.r.D88; !"0͵ ()EJ*pXMn}['Ae<aϟ< VUyXI'v9bXTgSBZ2uˆY rAq/prە6a6@%?{!0
+2<A+[F:Fm0I@&jAV $\9"ܘ?v_=*lu#Uܻhm/+r]Lh&Й◰\XBy3[&\YL'z5)8'ޠsC%pꑠ[ -`hb9^d髿ޔng-5!9u/t
+VD5AGihcH%ݗ"=v >rDh)j  >n cr%4t
+3*(MJ.[:Li卑 L*h]l & z>'.&T?ajB~d0Pf$XD <0@ڃ IJ,0Ǯ@⺂]^U0ydK<IÈp;& `6?F=%bѤ> }h|wdn=Pz2qPYZ$%=x;>4KZf
+endstream
+endobj
+10932 0 obj
+<< /Type /Page /Contents 10933 0 R /Resources 10931 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10934 0 obj
+<< /D [ 10932 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10935 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+10936 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+10937 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+10938 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+10939 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 720.015 null ] >>
+endobj
+10940 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 709.056 null ] >>
+endobj
+10941 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+10942 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+10943 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+10944 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+10945 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+10946 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 638.321 null ] >>
+endobj
+10947 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+10948 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 616.403 null ] >>
+endobj
+10949 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 605.444 null ] >>
+endobj
+10950 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+10951 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+10952 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+10953 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 556.627 null ] >>
+endobj
+10954 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 545.669 null ] >>
+endobj
+10955 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 534.71 null ] >>
+endobj
+10956 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 523.751 null ] >>
+endobj
+10957 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 512.792 null ] >>
+endobj
+10958 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 501.833 null ] >>
+endobj
+10959 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+10960 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+10961 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 463.975 null ] >>
+endobj
+10962 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 453.016 null ] >>
+endobj
+10963 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 442.057 null ] >>
+endobj
+10964 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+10965 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+10966 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+10967 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+10968 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+10969 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 371.322 null ] >>
+endobj
+10970 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 360.363 null ] >>
+endobj
+10971 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 349.405 null ] >>
+endobj
+10972 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+10973 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+10974 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+10975 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+10976 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 289.629 null ] >>
+endobj
+10977 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 278.67 null ] >>
+endobj
+10978 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+10979 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+10980 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+10981 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+10982 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+10983 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+10984 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+10985 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+10986 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+10987 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+10988 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+10989 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+10990 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+10991 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+10992 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 109.305 null ] >>
+endobj
+10993 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+10994 0 obj
+<< /D [ 10932 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+10931 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+10997 0 obj
+<< /Filter /FlateDecode /Length 2019 >>
+stream
+xڽZMoHW6A26a.v-6a $*Y')٥5$l!,鱊UUu/|銏tOWWo?:,xby{%G|!2+YfW. ςʧ`!9s*`lݮrsJwWL:Lp]4R>O]j+yei<mTr0j5~Ҋi'IVZ[Tc߶]߿ݗum#bZ⴨V1-mz5.oJ/z&35T`A VCh}/-93uL% E5>k!˟[1)Mt\K{|-͚ddwe莟LjB)9ls뻪:ne&ooM^/>uϖɶgh[J?a
+Wׂ٘3 &\ͼ̛UΦe y0E@´yhMBTrЊ7m~)GWn=>W4|KpMV|(jԬiv_ZK]kI&tl@hi >c_zxv;僚6ezinh!<uC ԍ`rT7l0Y6|Cj;jGu}OWsX^bUsK#m Ϋ8RH$9c6\H%c i-(B T3hT,Jc5I~iɫhMBNIaC
+BUG
+F)N3g&ےB|攪xǟ EH\Y5BEH«W} )]8^@3Fh#}
+O>)ₑgqAj;iF~`f`џ`E\F[rR-|'chBZm]>D,"Op՘L<2S g0PjyMYT}OBhKt" >6f4_ȠcFhs7B1ϬD^g&ӤTC04rM
+=G~[TER.Ű&r>ļ_#r YG'p pw(`$mYIch'4={:D~PVd![5,;ɤ qZGЇ
+endstream
+endobj
+10996 0 obj
+<< /Type /Page /Contents 10997 0 R /Resources 10995 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+10998 0 obj
+<< /D [ 10996 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+10999 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+11000 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+11001 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+11002 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+11003 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+11004 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+11005 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 698.097 null ] >>
+endobj
+11006 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 687.138 null ] >>
+endobj
+11007 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+11008 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+11009 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+11010 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+11011 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+11012 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+11013 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+11014 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+11015 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+11016 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+11017 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+11018 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+11019 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+11020 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+11021 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+11022 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+11023 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+11024 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+11025 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+11026 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+11027 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+11028 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+11029 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 425.121 null ] >>
+endobj
+11030 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+11031 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+11032 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+11033 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+11034 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+11035 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+11036 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 343.427 null ] >>
+endobj
+11037 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 332.468 null ] >>
+endobj
+11038 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+11039 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+11040 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+11041 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+11042 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 272.692 null ] >>
+endobj
+11043 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 261.733 null ] >>
+endobj
+11044 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+11045 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+11046 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+11047 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+11048 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+11049 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 190.999 null ] >>
+endobj
+11050 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 180.04 null ] >>
+endobj
+11051 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 169.081 null ] >>
+endobj
+11052 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+11053 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+11054 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+11055 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+11056 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 109.305 null ] >>
+endobj
+11057 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 98.346 null ] >>
+endobj
+11058 0 obj
+<< /D [ 10996 0 R /XYZ 81.077 87.387 null ] >>
+endobj
+10995 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11061 0 obj
+<< /Filter /FlateDecode /Length 2177 >>
+stream
+xڭZߏ6~߿o (\
++K$v %&T}Y'473ߐ]tEDϟ\_}c&V b%b\ͲUw~c Y*'Fk`F1,ʄ|zֵ}zU߾T\}ix*f߻MS5˲ʭyy=粢Q\\Oh&E.)d~wvk[7nY7^ͺWolU {1y:| .˰.[Wgu-*>BaW2aߏ+p+_OIl{۴{np9AU[w_<ZO{ϣOڣȉ"}[RvH|Ҟ1cOP S+kMPnU]]Bm4 aP?
+cFe64$>2feUwyEKM b۶mj;/Q"W.qw+ Lg~aPpSK=NO!cq?֛8iX5443k2$8Qg;z;"AIV)YKB!t*?4t.p r^~/7hr*ith^N7&>wNe
+ LLb %\)č2!
+ecjƐCsBَ1V9Ni'KTN N)rjsTy0BQ 4Gv^Uƺmm
+x%D9*~zF ;1J(O+@sUT7A*AҒd&HkAQXݍm EqpQ$˲&x""^Lǃi*/Kkt1Πo BӢ뤒Yv#Fu"<@t:
+3oe'(÷
+(6 3H[rp4)FԌ<;JmC]8Цw=Z*ߗf8͐FY+WA sX9LC,0 Z$N$k_am5SyaڠkKIZƧ DD@]e%p
+ T :J #.MH |:çLs<vn wP_FG] #
+ӥr~PZ D l o|R?~8Ʊ
+3cdi+WP7Ot~W{Sv Yvnw%"Wd <C@,3óYd9̺g/1WZ2?{;{
+endstream
+endobj
+11060 0 obj
+<< /Type /Page /Contents 11061 0 R /Resources 11059 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+endobj
+11062 0 obj
+<< /D [ 11060 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11063 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+11064 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+11065 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+11066 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+11067 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+11068 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+11069 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+11070 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+11071 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 676.179 null ] >>
+endobj
+11072 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 665.22 null ] >>
+endobj
+11073 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 654.261 null ] >>
+endobj
+11074 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 643.302 null ] >>
+endobj
+11075 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+11076 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+11077 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+11078 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 594.486 null ] >>
+endobj
+11079 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 583.527 null ] >>
+endobj
+11080 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 572.568 null ] >>
+endobj
+11081 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 561.609 null ] >>
+endobj
+11082 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 550.65 null ] >>
+endobj
+11083 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 539.691 null ] >>
+endobj
+11084 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 528.732 null ] >>
+endobj
+11085 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 517.773 null ] >>
+endobj
+11086 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 506.814 null ] >>
+endobj
+11087 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+11088 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 479.915 null ] >>
+endobj
+11089 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 468.956 null ] >>
+endobj
+11090 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 457.997 null ] >>
+endobj
+11091 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 447.038 null ] >>
+endobj
+11092 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+11093 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+11094 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 409.18 null ] >>
+endobj
+11095 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 398.221 null ] >>
+endobj
+11096 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 387.263 null ] >>
+endobj
+11097 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 376.304 null ] >>
+endobj
+11098 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 365.345 null ] >>
+endobj
+11099 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 354.386 null ] >>
+endobj
+11100 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 338.446 null ] >>
+endobj
+11101 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 327.487 null ] >>
+endobj
+11102 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 316.528 null ] >>
+endobj
+11103 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 305.569 null ] >>
+endobj
+11104 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 294.61 null ] >>
+endobj
+11105 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 283.651 null ] >>
+endobj
+11106 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 267.711 null ] >>
+endobj
+11107 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 256.752 null ] >>
+endobj
+11108 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 245.793 null ] >>
+endobj
+11109 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 234.834 null ] >>
+endobj
+11110 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 223.875 null ] >>
+endobj
+11111 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 212.916 null ] >>
+endobj
+11112 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 201.957 null ] >>
+endobj
+11113 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 186.017 null ] >>
+endobj
+11114 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+11115 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 164.099 null ] >>
+endobj
+11116 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 153.141 null ] >>
+endobj
+11117 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 142.182 null ] >>
+endobj
+11118 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 131.223 null ] >>
+endobj
+11119 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 120.264 null ] >>
+endobj
+11120 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 104.324 null ] >>
+endobj
+11121 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 93.365 null ] >>
+endobj
+11122 0 obj
+<< /D [ 11060 0 R /XYZ 81.077 82.406 null ] >>
+endobj
+11059 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11125 0 obj
+<< /Filter /FlateDecode /Length 1696 >>
+stream
+xڵMoF: M9.=P4AKE" oďv4j 5eY36<P,bqq}_X'p`/.v?p.uw-,8ca.$ann W'j$p1}<$c#pٴa+}BtyݗePvUݥ]}_dĄE Og_f?C۷4/ҫ";L01UWrTS9H1[XV -vLC*C섶1}ͺq!¡hκLn^emzm#e1\K모%Yq$KF
+t2G?q 3򮹹,7eYZi}f?} I}\1oZZD49o&1oZZDt4%vED4uG?_s4pC ; <46+/*zy1lֱDXZ@t?"؟_!/*򛲪 >$fG)>+~Y>VI'좕wr:ɹEK%Dd߭ru6]..7d#jٝ/\d6uiXv"/3S¿^J+]6C>ui҃ժrmH.[GZv5?I[esWl`
+"C<0)'}g9tM>*I)SMN&G܌9ڄ4!Ip X9?=os9@ KC8N9< d!lB^97~9LχL6?6:?-%ȡ [Д) V8~Wb eYeB .!eODശsYȮU6+)vI@ FYDxl#) z}~",dڀNrDk+zlu daJZ=eBh{2B80ISl jxf5ʹ(qZH̔9-#F8EsA'9Dl2!?VUS㴾'/"Q`T8]C K{ m`ENBp)qrJ
+U
+endstream
+endobj
+11124 0 obj
+<< /Type /Page /Contents 11125 0 R /Resources 11123 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11126 0 obj
+<< /D [ 11124 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11127 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+11128 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+11129 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+11130 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+11131 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 724.996 null ] >>
+endobj
+11132 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+11133 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 703.078 null ] >>
+endobj
+11134 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+11135 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+11136 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+11137 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+11138 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 648.284 null ] >>
+endobj
+11139 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 632.344 null ] >>
+endobj
+11140 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 621.385 null ] >>
+endobj
+11141 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 610.426 null ] >>
+endobj
+11142 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 599.467 null ] >>
+endobj
+11143 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 588.508 null ] >>
+endobj
+11144 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 577.549 null ] >>
+endobj
+11145 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 566.59 null ] >>
+endobj
+11146 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 555.631 null ] >>
+endobj
+11147 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 544.672 null ] >>
+endobj
+11148 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 533.713 null ] >>
+endobj
+11149 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 522.754 null ] >>
+endobj
+11150 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 511.796 null ] >>
+endobj
+11151 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 500.837 null ] >>
+endobj
+11152 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 484.896 null ] >>
+endobj
+11153 0 obj
+<< /D [ 11124 0 R /XYZ 81.077 473.938 null ] >>
+endobj
+11154 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 462.979 null ] >>
+endobj
+11155 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 452.02 null ] >>
+endobj
+11156 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 441.061 null ] >>
+endobj
+11157 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 430.102 null ] >>
+endobj
+11158 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 419.143 null ] >>
+endobj
+11159 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 408.184 null ] >>
+endobj
+11160 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 397.225 null ] >>
+endobj
+11161 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 386.266 null ] >>
+endobj
+11162 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 375.307 null ] >>
+endobj
+11163 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 364.349 null ] >>
+endobj
+11164 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 353.39 null ] >>
+endobj
+11165 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 337.449 null ] >>
+endobj
+11166 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 326.49 null ] >>
+endobj
+11167 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 315.532 null ] >>
+endobj
+11168 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 304.573 null ] >>
+endobj
+11169 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 293.614 null ] >>
+endobj
+11170 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 282.655 null ] >>
+endobj
+11171 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 271.696 null ] >>
+endobj
+11172 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 260.737 null ] >>
+endobj
+11173 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 249.778 null ] >>
+endobj
+11174 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 238.819 null ] >>
+endobj
+11175 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 227.86 null ] >>
+endobj
+11176 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 216.901 null ] >>
+endobj
+11177 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 205.943 null ] >>
+endobj
+11178 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 194.984 null ] >>
+endobj
+11179 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 184.025 null ] >>
+endobj
+11180 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 168.085 null ] >>
+endobj
+11181 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 157.126 null ] >>
+endobj
+11182 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 146.167 null ] >>
+endobj
+11183 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 135.208 null ] >>
+endobj
+11184 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 124.249 null ] >>
+endobj
+11185 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 113.29 null ] >>
+endobj
+11186 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 102.331 null ] >>
+endobj
+11187 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 91.372 null ] >>
+endobj
+11188 0 obj
+<< /D [ 11124 0 R /XYZ 82.402 80.413 null ] >>
+endobj
+11123 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11192 0 obj
+<< /Filter /FlateDecode /Length 1906 >>
+stream
+xڽKoF5;9
+ƭ]nf+?[fk90Ƣeyݬbs09w gKsXղm_+C*0萣9n1ݶ>nOo`dg=LIdB1g NB7o6U^urnyeWn>_;nNsɬ7kN _mI7%p 4֏H?\M}B4116.OJ1',ŬTi0җm}60èiuD(_ľm\bKph/.*Uߴ 8aLWڐ6.Q*˂4G i똈4-!|إbX:m_l.)u_Tbr7U59qZacrЧ/ĆtiZ;&#<u#zr͸,TxJm1_f=}ʐ z]!>*d8I!)uUֱ=R!!"d6^2mMgj}8+%:zL &ܘbLq Rn]gvsLJGw، 򨏢Ly
++Idd U+01!!Ҧj5/ D&(#,S`dMg*{BF0u,K r~3<F]cԅHFB3-ŔO.jrݷkE}-+W
+#J Mg 3Wɱ2R#Q>ydWǦ`"d7:DA3mAH#5hr|tt)fMMk;46uV$8yʤS\`.ii`?l:jicRH&kV!1q.o8sLJ%"Zi*`ki+si
+oOk
+ <?$_)qZ_ixC
+endstream
+endobj
+11191 0 obj
+<< /Type /Page /Contents 11192 0 R /Resources 11190 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11193 0 obj
+<< /D [ 11191 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11194 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11195 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11196 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11197 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11198 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 721.415 null ] >>
+endobj
+11199 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 710.456 null ] >>
+endobj
+11200 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 699.497 null ] >>
+endobj
+11201 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 688.538 null ] >>
+endobj
+11202 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 677.58 null ] >>
+endobj
+11203 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 666.621 null ] >>
+endobj
+11204 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 655.662 null ] >>
+endobj
+11205 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 644.703 null ] >>
+endobj
+11206 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 633.744 null ] >>
+endobj
+11207 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 622.785 null ] >>
+endobj
+11208 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 611.826 null ] >>
+endobj
+11209 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 600.867 null ] >>
+endobj
+11210 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 589.908 null ] >>
+endobj
+11211 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 578.949 null ] >>
+endobj
+11212 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 567.991 null ] >>
+endobj
+11213 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 557.032 null ] >>
+endobj
+11214 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 546.073 null ] >>
+endobj
+11215 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 535.114 null ] >>
+endobj
+11216 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 524.155 null ] >>
+endobj
+11217 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 513.196 null ] >>
+endobj
+11218 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 502.237 null ] >>
+endobj
+11219 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 487.697 null ] >>
+endobj
+11220 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 476.738 null ] >>
+endobj
+11221 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 465.779 null ] >>
+endobj
+11222 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 454.821 null ] >>
+endobj
+11223 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 443.862 null ] >>
+endobj
+11224 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 432.903 null ] >>
+endobj
+11225 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 421.944 null ] >>
+endobj
+11226 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 410.985 null ] >>
+endobj
+11227 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 400.026 null ] >>
+endobj
+11228 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 389.067 null ] >>
+endobj
+11229 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 378.108 null ] >>
+endobj
+11230 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 367.149 null ] >>
+endobj
+11231 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 356.19 null ] >>
+endobj
+11232 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 345.232 null ] >>
+endobj
+11233 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 334.273 null ] >>
+endobj
+11234 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 323.314 null ] >>
+endobj
+11235 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 312.355 null ] >>
+endobj
+11236 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 301.396 null ] >>
+endobj
+11237 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 290.437 null ] >>
+endobj
+11238 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 279.478 null ] >>
+endobj
+11239 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 264.938 null ] >>
+endobj
+11240 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 253.979 null ] >>
+endobj
+11241 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 243.021 null ] >>
+endobj
+11242 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 232.062 null ] >>
+endobj
+11243 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 221.103 null ] >>
+endobj
+11244 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 210.144 null ] >>
+endobj
+11245 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 199.185 null ] >>
+endobj
+11246 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 188.226 null ] >>
+endobj
+11247 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 177.267 null ] >>
+endobj
+11248 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 166.308 null ] >>
+endobj
+11249 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 155.349 null ] >>
+endobj
+11250 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 144.39 null ] >>
+endobj
+11251 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 133.431 null ] >>
+endobj
+11252 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 122.473 null ] >>
+endobj
+11253 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 111.514 null ] >>
+endobj
+11254 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 100.555 null ] >>
+endobj
+11255 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 89.596 null ] >>
+endobj
+11256 0 obj
+<< /D [ 11191 0 R /XYZ 82.402 78.637 null ] >>
+endobj
+11190 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11259 0 obj
+<< /Filter /FlateDecode /Length 1766 >>
+stream
+xڭ]o6+|9toɮ!Ud:CEGَIfi"cyCQdv=#g/췋7s>`4lv<KdFg,WfϜb.23 F)C5%#'Żwp}۶m3Mmݍ-~*WwǪkkb?hZ P| Z@)p&ctpn
+܅YpFIcyA04P-/Vv?X+I?%qK֗.0ٰsȩ„e\`<a94)Gk]}Os`nF>O1v73~<,-%)}sP~*VuzxEe$p{e1OKⶨ⪶i00
+g'?w?H~S#(hHqh䱝 ht$/u8L0A pHfXjbđ픤Y*_@'84vQmdC:=őh.k'W@ ő8qMHBI@v:ڗ}QT*N`;)Q@Cr$i} H %8f<I03piڦ, JǑ7nMpc@ɏ&wK]9mR<i Bzqz#yz|8F+ kjlH R’ z5f};w N
+(ǒ雁 F*qDȶZg#qzBhL$8P)cIZ2`]<%p)3MQ'0ך Re$w/@R/#yvj7(˔nL@;S.,T=yjfӽ56^뛹+e02QSjLNInv"d 909[~_A<Fp@ D#'Ϸ%7eoxr=og 7͙X:rDcđ8y zQ+𳜹Oc gc5K8)p3O)A
+endstream
+endobj
+11258 0 obj
+<< /Type /Page /Contents 11259 0 R /Resources 11257 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11260 0 obj
+<< /D [ 11258 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11261 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11262 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11263 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11264 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11265 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11266 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11267 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11268 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11269 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 681.16 null ] >>
+endobj
+11270 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 670.202 null ] >>
+endobj
+11271 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 659.243 null ] >>
+endobj
+11272 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 648.284 null ] >>
+endobj
+11273 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 637.325 null ] >>
+endobj
+11274 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 626.366 null ] >>
+endobj
+11275 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 615.407 null ] >>
+endobj
+11276 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 604.448 null ] >>
+endobj
+11277 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 593.489 null ] >>
+endobj
+11278 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 582.53 null ] >>
+endobj
+11279 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 571.571 null ] >>
+endobj
+11280 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 560.613 null ] >>
+endobj
+11281 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 549.654 null ] >>
+endobj
+11282 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 538.695 null ] >>
+endobj
+11283 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 527.736 null ] >>
+endobj
+11284 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 516.777 null ] >>
+endobj
+11285 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 505.818 null ] >>
+endobj
+11286 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 494.859 null ] >>
+endobj
+11287 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 483.9 null ] >>
+endobj
+11288 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 472.941 null ] >>
+endobj
+11289 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 461.982 null ] >>
+endobj
+11290 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 451.023 null ] >>
+endobj
+11291 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11292 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 429.106 null ] >>
+endobj
+11293 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11294 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 407.188 null ] >>
+endobj
+11295 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 396.229 null ] >>
+endobj
+11296 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 385.27 null ] >>
+endobj
+11297 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 374.311 null ] >>
+endobj
+11298 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 363.352 null ] >>
+endobj
+11299 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 352.393 null ] >>
+endobj
+11300 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 341.434 null ] >>
+endobj
+11301 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 330.476 null ] >>
+endobj
+11302 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 319.517 null ] >>
+endobj
+11303 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 308.558 null ] >>
+endobj
+11304 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 297.599 null ] >>
+endobj
+11305 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 286.64 null ] >>
+endobj
+11306 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 275.681 null ] >>
+endobj
+11307 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 264.722 null ] >>
+endobj
+11308 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 253.763 null ] >>
+endobj
+11309 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 242.804 null ] >>
+endobj
+11310 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 231.845 null ] >>
+endobj
+11311 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 220.887 null ] >>
+endobj
+11312 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 209.928 null ] >>
+endobj
+11313 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 198.969 null ] >>
+endobj
+11314 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 188.01 null ] >>
+endobj
+11315 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 177.051 null ] >>
+endobj
+11316 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 137.2 null ] >>
+endobj
+11317 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 126.241 null ] >>
+endobj
+11318 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 115.283 null ] >>
+endobj
+11319 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 104.324 null ] >>
+endobj
+11320 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 93.365 null ] >>
+endobj
+11321 0 obj
+<< /D [ 11258 0 R /XYZ 82.402 82.406 null ] >>
+endobj
+11257 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11324 0 obj
+<< /Filter /FlateDecode /Length 1744 >>
+stream
+xڭMoF:6n#@@{rOMaP"BI1wVn"g=&$G;wfh_ЇD#I,|v`!:c3+3lf4#Tf%L<w,qZ ?0!7oԟꦭ筿Ǜq'MȞR041,ƈ*E0)bp ʿsK18%$_1}=hv~j~X^foh^fo+py/> Tu8T^o~n D V!] qS}t"Hԋ)imq[/|5里Tmi(ň47'P]*c,8TLx#JE4 GWjCDlęj T-E48sLg<iM73L֥ˣ"وL㔭$¹o
+~D$=8]pN M< 笙|/~?-
+:}18Źl&Y{$(ҚHsL>`$U#sL>Z?n5z?~x'qud?$ߎx+\30
+%{pgS KIFcHJH$ L\nlc.n\n ' [$UT]pc+MJa&/T9p0vp!EW3d\j$;\jTULy ; \QN#  1\AG!U'X74+Ld~}(13a?f /0@C{XF<sP7PN8~  @6 G= kvؒjBnm8%t]?%c14W\_ޟEb
+P=Y牸t~9d!<&1MY ,~Iן_e  =/x̓%}60E0sp> I_eHBቍoo6 oW_>v]Cqxdx5
+y`%'B4mG53<<rtw Omg+Pa2$˶{=F&7~wZ^s
+,p[&?]:]ބ;7=`pkR[iۮ򅀖 [<kR&6zJ_(S`d uH{ʹ]_ D
+endstream
+endobj
+11323 0 obj
+<< /Type /Page /Contents 11324 0 R /Resources 11322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11325 0 obj
+<< /D [ 11323 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11326 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11327 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11328 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11329 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11330 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11331 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11332 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11333 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11334 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 681.16 null ] >>
+endobj
+11335 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 670.202 null ] >>
+endobj
+11336 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 659.243 null ] >>
+endobj
+11337 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 648.284 null ] >>
+endobj
+11338 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 637.325 null ] >>
+endobj
+11339 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 626.366 null ] >>
+endobj
+11340 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 615.407 null ] >>
+endobj
+11341 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 604.448 null ] >>
+endobj
+11342 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 593.489 null ] >>
+endobj
+11343 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 582.53 null ] >>
+endobj
+11344 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 571.571 null ] >>
+endobj
+11345 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 560.613 null ] >>
+endobj
+11346 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 549.654 null ] >>
+endobj
+11347 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 538.695 null ] >>
+endobj
+11348 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 527.736 null ] >>
+endobj
+11349 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 516.777 null ] >>
+endobj
+11350 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 505.818 null ] >>
+endobj
+11351 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 494.859 null ] >>
+endobj
+11352 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 483.9 null ] >>
+endobj
+11353 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 472.941 null ] >>
+endobj
+11354 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 461.982 null ] >>
+endobj
+11355 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 451.023 null ] >>
+endobj
+11356 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11357 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 429.106 null ] >>
+endobj
+11358 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11359 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 407.188 null ] >>
+endobj
+11360 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 396.229 null ] >>
+endobj
+11361 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 385.27 null ] >>
+endobj
+11362 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 374.311 null ] >>
+endobj
+11363 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 363.352 null ] >>
+endobj
+11364 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 352.393 null ] >>
+endobj
+11365 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 341.434 null ] >>
+endobj
+11366 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 330.476 null ] >>
+endobj
+11367 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 319.517 null ] >>
+endobj
+11368 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 308.558 null ] >>
+endobj
+11369 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 297.599 null ] >>
+endobj
+11370 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 286.64 null ] >>
+endobj
+11371 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 275.681 null ] >>
+endobj
+11372 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 264.722 null ] >>
+endobj
+11373 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 253.763 null ] >>
+endobj
+11374 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 242.804 null ] >>
+endobj
+11375 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 231.845 null ] >>
+endobj
+11376 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 220.887 null ] >>
+endobj
+11377 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 209.928 null ] >>
+endobj
+11378 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 198.969 null ] >>
+endobj
+11379 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 155.349 null ] >>
+endobj
+11380 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 144.39 null ] >>
+endobj
+11381 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 133.431 null ] >>
+endobj
+11382 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 122.473 null ] >>
+endobj
+11383 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 111.514 null ] >>
+endobj
+11384 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 100.555 null ] >>
+endobj
+11385 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 89.596 null ] >>
+endobj
+11386 0 obj
+<< /D [ 11323 0 R /XYZ 82.402 78.637 null ] >>
+endobj
+11322 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11389 0 obj
+<< /Filter /FlateDecode /Length 1525 >>
+stream
+xڥMoF: PN{9
+JǥXwW<<I(-_YÁZVLOO)WJcKi9H1~A?*8₁%{?W_6q?f5\}SSC5?1M_+6m_S1IpXuWDO-Po23˜X^ʧ}t”$1!@xQ)-|׾mXվ94SF(+A&-SB'Y2v1LdWҤxgˣ9( (-QnCFƣ$?Ckq*#J:
+NLgy6#w7I.ŸU0 FFInd. 'iExXf`4XbXLwǜ$VMM)N FcQz`Ѕa!#T9y^|MCUtaQS4"!o!;dP(<E0p2TS4#rZCtqX IKQMETsQw&^;*k8)u_f \oSz57V x!jZs2) B'9T
+eԚy24"<JRLFMS*_%SY{Ed񮛪oI4MOXu[͈d-2LӔ:dLH>&Ӕ|L֠͜]5ͩNmmspJbfVov)OF)Є,*34"|ͽ"UQfT~<z*aiSqΑ,<V34"uáp%8fh~EП'/a8}fhEpjx~Ixڜ_k??id"lz ~_TPE+~I*|i`T W?"C$+Y>ƆqкaJ͘BR' h/І#e "<\!&c3oߝo BI>_~|WS5\6:]Һ!q e̎pdiM(N! /92!KkYoTwr|d%}fG./ٟ쁌/Bg.Շׇ: Oﻮ{[h_}nyyWSu9հ<@edSQ@V.o08KciEx4' GY|``L/6_p MJ2)-_ÐSú/q|້p|P:-!|YX\nv*j:oۦm獟9CheGkY_AGO|lEF=;NLJ THr !6܃W"^D
+endstream
+endobj
+11388 0 obj
+<< /Type /Page /Contents 11389 0 R /Resources 11387 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11390 0 obj
+<< /D [ 11388 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11391 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11392 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11393 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11394 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11395 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11396 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11397 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11398 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11399 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 681.16 null ] >>
+endobj
+11400 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 670.202 null ] >>
+endobj
+11401 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 659.243 null ] >>
+endobj
+11402 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 648.284 null ] >>
+endobj
+11403 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 637.325 null ] >>
+endobj
+11404 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 626.366 null ] >>
+endobj
+11405 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 615.407 null ] >>
+endobj
+11406 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 604.448 null ] >>
+endobj
+11407 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 593.489 null ] >>
+endobj
+11408 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 582.53 null ] >>
+endobj
+11409 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 571.571 null ] >>
+endobj
+11410 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 560.613 null ] >>
+endobj
+11411 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 549.654 null ] >>
+endobj
+11412 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 538.695 null ] >>
+endobj
+11413 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 527.736 null ] >>
+endobj
+11414 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 516.777 null ] >>
+endobj
+11415 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 505.818 null ] >>
+endobj
+11416 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 494.859 null ] >>
+endobj
+11417 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 483.9 null ] >>
+endobj
+11418 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 472.941 null ] >>
+endobj
+11419 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 461.982 null ] >>
+endobj
+11420 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 451.023 null ] >>
+endobj
+11421 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11422 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 429.106 null ] >>
+endobj
+11423 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11424 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 407.188 null ] >>
+endobj
+11425 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 396.229 null ] >>
+endobj
+11426 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 385.27 null ] >>
+endobj
+11427 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 374.311 null ] >>
+endobj
+11428 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 363.352 null ] >>
+endobj
+11429 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 352.393 null ] >>
+endobj
+11430 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 341.434 null ] >>
+endobj
+11431 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 330.476 null ] >>
+endobj
+11432 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 319.517 null ] >>
+endobj
+11433 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 308.558 null ] >>
+endobj
+11434 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 297.599 null ] >>
+endobj
+11435 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 286.64 null ] >>
+endobj
+11436 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 275.681 null ] >>
+endobj
+11437 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 264.722 null ] >>
+endobj
+11438 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 253.763 null ] >>
+endobj
+11439 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 242.804 null ] >>
+endobj
+11440 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 231.845 null ] >>
+endobj
+11441 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 220.887 null ] >>
+endobj
+11442 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 209.928 null ] >>
+endobj
+11443 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 198.969 null ] >>
+endobj
+11444 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 188.01 null ] >>
+endobj
+11445 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 174.062 null ] >>
+endobj
+11446 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 163.103 null ] >>
+endobj
+11447 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 152.144 null ] >>
+endobj
+11448 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 141.185 null ] >>
+endobj
+11449 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 130.226 null ] >>
+endobj
+11450 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 119.268 null ] >>
+endobj
+11451 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 108.309 null ] >>
+endobj
+11452 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 97.35 null ] >>
+endobj
+11453 0 obj
+<< /D [ 11388 0 R /XYZ 82.402 86.391 null ] >>
+endobj
+11387 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11456 0 obj
+<< /Filter /FlateDecode /Length 1732 >>
+stream
+xڥ]o+|~\hw^f-ZfbaeɐwddM29 $laoطov{Zn8˥p#+|Sa8V~<Om,8cM\0Gv~ۅp?WY/;6m .2aFK 3*o*SնߦAd4T0N}
+HXVE CJۂ!t _§BD
+KH =q$cxG
+ۡ/
+r/ Ry vPu j 2a4D ]X
+RJFsFy8/hkfÙvs 8h/Xݷ4WZGSs4xᩀ[.l&|vhs΀9fr\dim5Fgr$9zjw
+N1[v-\o Д# fu %
+RJ0&nl&?>_ZDz!fl3T$C f1L̕G1M86:Yo&\(+ fq8W`M:AL>j2÷ b! La~q|!1{3H㋤@Թd[r SHwڑÛ:R ]ֹ̄:ZL~+ڀ df{\48{I|k,
+}Ab%3h?+V3f=U.
+{Lv".Ymwvkw;{QWR
+aL1y9MawpZJNݮq'B1~0~hU\&VSX~i|< mOKX?o9Ye88-8yZ.[Lf5h+T_8_vQ-@LNWWL}fW#mIw;<8!2/O<,So'uM$UBaCX_GuTB{g>{Yלּ*dO[քu9B\ g&S`-cXHʍAuW 
+endstream
+endobj
+11455 0 obj
+<< /Type /Page /Contents 11456 0 R /Resources 11454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11457 0 obj
+<< /D [ 11455 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11458 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11459 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11460 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11461 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11462 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11463 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11464 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11465 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11466 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 681.16 null ] >>
+endobj
+11467 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 670.202 null ] >>
+endobj
+11468 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 659.243 null ] >>
+endobj
+11469 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 648.284 null ] >>
+endobj
+11470 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 637.325 null ] >>
+endobj
+11471 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 626.366 null ] >>
+endobj
+11472 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 615.407 null ] >>
+endobj
+11473 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 604.448 null ] >>
+endobj
+11474 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 593.489 null ] >>
+endobj
+11475 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 582.53 null ] >>
+endobj
+11476 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 571.571 null ] >>
+endobj
+11477 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 560.613 null ] >>
+endobj
+11478 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 549.654 null ] >>
+endobj
+11479 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 538.695 null ] >>
+endobj
+11480 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 527.736 null ] >>
+endobj
+11481 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 516.777 null ] >>
+endobj
+11482 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 505.818 null ] >>
+endobj
+11483 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 494.859 null ] >>
+endobj
+11484 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 483.9 null ] >>
+endobj
+11485 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 472.941 null ] >>
+endobj
+11486 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 461.982 null ] >>
+endobj
+11487 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 451.023 null ] >>
+endobj
+11488 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11489 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 429.106 null ] >>
+endobj
+11490 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11491 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 407.188 null ] >>
+endobj
+11492 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 396.229 null ] >>
+endobj
+11493 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 385.27 null ] >>
+endobj
+11494 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 374.311 null ] >>
+endobj
+11495 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 363.352 null ] >>
+endobj
+11496 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 352.393 null ] >>
+endobj
+11497 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 341.434 null ] >>
+endobj
+11498 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 330.476 null ] >>
+endobj
+11499 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 319.517 null ] >>
+endobj
+11500 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 308.558 null ] >>
+endobj
+11501 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 297.599 null ] >>
+endobj
+11502 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 286.64 null ] >>
+endobj
+11503 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 275.681 null ] >>
+endobj
+11504 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 264.722 null ] >>
+endobj
+11505 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 253.763 null ] >>
+endobj
+11506 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 242.804 null ] >>
+endobj
+11507 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 231.845 null ] >>
+endobj
+11508 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 220.887 null ] >>
+endobj
+11509 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 209.928 null ] >>
+endobj
+11510 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 198.969 null ] >>
+endobj
+11511 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 188.01 null ] >>
+endobj
+11512 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 177.051 null ] >>
+endobj
+11513 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 161.111 null ] >>
+endobj
+11514 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 150.152 null ] >>
+endobj
+11515 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 139.193 null ] >>
+endobj
+11516 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 128.234 null ] >>
+endobj
+11517 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 117.275 null ] >>
+endobj
+11518 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 106.316 null ] >>
+endobj
+11519 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 95.357 null ] >>
+endobj
+11520 0 obj
+<< /D [ 11455 0 R /XYZ 82.402 84.398 null ] >>
+endobj
+11454 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11523 0 obj
+<< /Filter /FlateDecode /Length 1049 >>
+stream
+xڝXnF}W l~"('(P'zHe$"Ů`xK]\U<zD<3sfU|Eb8
+&&o820͖n4CFLI$l`g}{X@L##%c4)fRO;kiĹJ!;yk7*vo[{5忟3:<H#j04>{FbHI4*N?YJCsU^.7QU]m[l/]Mee> "EeY*x
+ܳv/|UwK߭@Uc]\n{gGscAz#2 FE
+'
+cpaGpp,2'dg߽]]olhCJ#*r |(4u}ReCN^Srٳxq  Rjı˂c zt5*A}CE9uU7[_XR#L1\Oi\m]b;L $?\o4'qB#ft
+_T] r bHqŇ
+NV%8<DKPUs7u/H"µHX4NEz\_4 Z |u͋yvNwv!18~#0~ȸe_UNn){T4lM)N2φ͢ o
+xԈ(( (o 6R4-1so
+endstream
+endobj
+11522 0 obj
+<< /Type /Page /Contents 11523 0 R /Resources 11521 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+endobj
+11524 0 obj
+<< /D [ 11522 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11525 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11526 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11527 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11528 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11529 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11530 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11531 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11532 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11533 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 676.179 null ] >>
+endobj
+11534 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 665.22 null ] >>
+endobj
+11535 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 654.261 null ] >>
+endobj
+11536 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 643.302 null ] >>
+endobj
+11537 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 632.344 null ] >>
+endobj
+11538 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 621.385 null ] >>
+endobj
+11539 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 605.444 null ] >>
+endobj
+11540 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 594.486 null ] >>
+endobj
+11541 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 583.527 null ] >>
+endobj
+11542 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 572.568 null ] >>
+endobj
+11543 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 561.609 null ] >>
+endobj
+11544 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 550.65 null ] >>
+endobj
+11545 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 534.71 null ] >>
+endobj
+11546 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 523.751 null ] >>
+endobj
+11547 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 512.792 null ] >>
+endobj
+11548 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 501.833 null ] >>
+endobj
+11549 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 490.874 null ] >>
+endobj
+11550 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 479.915 null ] >>
+endobj
+11551 0 obj
+<< /D [ 11522 0 R /XYZ 82.402 468.956 null ] >>
+endobj
+11521 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F74 264 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11585 0 obj
+<< /Filter /FlateDecode /Length 1225 >>
+stream
+xڝo6W/Ivah=tEfHtv>J$eIvOiwqr)I!I67g` $B4MR.K!VWu2=m>g%J(D(%I9(Wot^fMf
+Joi>;[Uۣ_n:mO 0!Sp-ă)̚WO[z"ƩN 2 [꫺,unֻs_{,aSY+yg]UY՟0eU1Aœ-s6yAxSS-"2w!?LvA\F& 1&b!K'`DpS7C!)Yu[zEԉZwP\PDt{kA%:{3 Gw_Nh_X7,v28vPP\U k"(RęI
+#0@k,]DaaG_-1
+endstream
+endobj
+11584 0 obj
+<< /Type /Page /Contents 11585 0 R /Resources 11583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R /Annots 11587 0 R >>
+endobj
+11587 0 obj
+[ 11552 0 R 11553 0 R 11554 0 R 11555 0 R 11556 0 R 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11579 0 R 11580 0 R 11581 0 R ]
+endobj
+11552 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 713.79 345.275 724.684 ]/A << /S /GoTo /D (section.0.1) >> >>
+endobj
+11553 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.872 168.931 702.766 ]/A << /S /GoTo /D (section.0.2) >> >>
+endobj
+11554 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.954 195.879 680.848 ]/A << /S /GoTo /D (section.0.3) >> >>
+endobj
+11555 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 649.973 207.669 658.93 ]/A << /S /GoTo /D (section.0.4) >> >>
+endobj
+11556 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 628.056 162.385 637.012 ]/A << /S /GoTo /D (section.0.5) >> >>
+endobj
+11557 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 603.647 244.465 615.602 ]/A << /S /GoTo /D (section.0.6) >> >>
+endobj
+11558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.283 313.465 593.177 ]/A << /S /GoTo /D (section.0.7) >> >>
+endobj
+11559 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.365 165.023 571.259 ]/A << /S /GoTo /D (section.0.8) >> >>
+endobj
+11560 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 537.894 356.927 549.849 ]/A << /S /GoTo /D (section.0.9) >> >>
+endobj
+11561 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 515.976 192.945 527.931 ]/A << /S /GoTo /D (section.0.10) >> >>
+endobj
+11562 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 494.058 318.799 506.013 ]/A << /S /GoTo /D (section.0.11) >> >>
+endobj
+11563 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 472.694 304.727 483.588 ]/A << /S /GoTo /D (section.0.12) >> >>
+endobj
+11564 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 450.222 271.2 462.178 ]/A << /S /GoTo /D (section.0.13) >> >>
+endobj
+11565 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 428.305 345.319 440.26 ]/A << /S /GoTo /D (section.0.14) >> >>
+endobj
+11566 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 406.387 370.804 418.342 ]/A << /S /GoTo /D (section.0.15) >> >>
+endobj
+11567 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 385.022 280.698 395.917 ]/A << /S /GoTo /D (section.0.16) >> >>
+endobj
+11568 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 365.042 232.492 373.999 ]/A << /S /GoTo /D (section.0.17) >> >>
+endobj
+11569 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 341.187 418.007 352.081 ]/A << /S /GoTo /D (section.0.18) >> >>
+endobj
+11570 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 321.206 359.856 330.163 ]/A << /S /GoTo /D (section.0.19) >> >>
+endobj
+11571 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 296.798 323.519 308.753 ]/A << /S /GoTo /D (section.0.20) >> >>
+endobj
+11572 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 274.88 233.701 286.835 ]/A << /S /GoTo /D (section.0.21) >> >>
+endobj
+11573 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 253.516 272.181 264.41 ]/A << /S /GoTo /D (section.0.22) >> >>
+endobj
+11574 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 233.535 269.72 242.492 ]/A << /S /GoTo /D (section.0.23) >> >>
+endobj
+11575 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 209.68 200.238 220.574 ]/A << /S /GoTo /D (section.0.24) >> >>
+endobj
+11576 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 187.209 292.135 199.164 ]/A << /S /GoTo /D (section.0.25) >> >>
+endobj
+11577 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 167.782 187.086 176.738 ]/A << /S /GoTo /D (section.0.26) >> >>
+endobj
+11578 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 145.864 159.613 154.821 ]/A << /S /GoTo /D (section.0.27) >> >>
+endobj
+11579 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 122.009 324.087 132.903 ]/A << /S /GoTo /D (section.0.28) >> >>
+endobj
+11580 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 100.091 192.653 110.985 ]/A << /S /GoTo /D (section.0.29) >> >>
+endobj
+11581 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 77.62 313.527 89.575 ]/A << /S /GoTo /D (section.0.30) >> >>
+endobj
+11586 0 obj
+<< /D [ 11584 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+165 0 obj
+<< /D [ 11584 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+11583 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F80 749 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11599 0 obj
+<< /Filter /FlateDecode /Length 499 >>
+stream
+xڍK0
+W `q&~9>č7X'т
+
+endstream
+endobj
+11598 0 obj
+<< /Type /Page /Contents 11599 0 R /Resources 11597 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R /Annots 11601 0 R >>
+endobj
+11601 0 obj
+[ 11582 0 R 11588 0 R 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 0 R 11595 0 R 11596 0 R ]
+endobj
+11582 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 757.574 225.426 769.529 ]/A << /S /GoTo /D (section.0.31) >> >>
+endobj
+11588 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 735.656 232.547 747.611 ]/A << /S /GoTo /D (section.0.32) >> >>
+endobj
+11589 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 714.292 261.342 725.186 ]/A << /S /GoTo /D (section.0.33) >> >>
+endobj
+11590 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.821 240.384 703.776 ]/A << /S /GoTo /D (section.0.34) >> >>
+endobj
+11591 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.903 329.738 681.858 ]/A << /S /GoTo /D (section.0.35) >> >>
+endobj
+11592 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 648.538 252.167 659.432 ]/A << /S /GoTo /D (section.0.36) >> >>
+endobj
+11593 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 626.067 266.6 638.022 ]/A << /S /GoTo /D (section.0.37) >> >>
+endobj
+11594 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 604.703 318.705 615.597 ]/A << /S /GoTo /D (section.0.38) >> >>
+endobj
+11595 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.785 258.373 593.679 ]/A << /S /GoTo /D (section.0.39) >> >>
+endobj
+11596 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.867 257.469 571.761 ]/A << /S /GoTo /D (section.0.40) >> >>
+endobj
+11600 0 obj
+<< /D [ 11598 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11597 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1 0 obj
+<< /pgf@bmMultiply<< /BM /Multiply>>>>
+endobj
+2 0 obj
+<<>>
+endobj
+3 0 obj
+<< /pgfprgb [/Pattern /DeviceRGB] >>
+endobj
+11603 0 obj
+[647.8 579.4 ]
+endobj
+11605 0 obj
+[875 875 666.7 666.7 666.7 666.7 0 0 0 0 0 0 0 0 0 0 875 875 ]
+endobj
+11607 0 obj
+[525 525 0 0 525 525 0 525 525 525 0 525 0 525 525 0 0 525 0 525 525 0 0 525 ]
+endobj
+11609 0 obj
+[531.3 531.3 ]
+endobj
+11611 0 obj
+[826.4 ]
+endobj
+11612 0 obj
+[531.3 531.3 531.3 0 531.3 0 0 0 0 531.3 0 0 0 0 531.3 0 0 0 0 0 531.3 531.3 0 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 531.3 531.3 531.3 0 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 ]
+endobj
+11613 0 obj
+[575 0 0 0 0 0 0 638.9 638.9 0 0 0 0 0 0 0 0 0 0 0 0 575 0 319.5 383.3 0 0 575 575 575 575 575 575 575 575 575 575 0 0 0 0 0 0 0 869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 0 0 691.7 1091.7 900 863.9 786.1 0 862.5 638.9 800 884.7 869.4 1188.9 869.4 0 0 0 575 0 0 0 0 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.5 0 607 319.5 958.3 638.9 575 638.9 0 473.6 453.6 447.2 638.9 607 830.6 607 607 511.1 575 0 575 ]
+endobj
+11615 0 obj
+[777.8 ]
+endobj
+11616 0 obj
+[777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 416.7 528.6 429.2 432.8 0 0 0 0 0 344.5 411.8 520.6 298.4 0 600.2 0 0 0 0 0 0 0 0 0 571.5 490.3 ]
+endobj
+11617 0 obj
+[833.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 ]
+endobj
+11618 0 obj
+[613.3 0 591.1 624.5 0 535.5 641.1 0 302.2 0 0 0 0 0 0 557.8 0 0 457.8 ]
+endobj
+11619 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 ]
+endobj
+11620 0 obj
+[569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
+endobj
+11621 0 obj
+[562.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 357.8 306.7 0 0 0 0 0 0 0 0 0 0 0 306.7 0 0 0 0 0 0 0 703.9 715.6 0 678.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.5 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.5 ]
+endobj
+11622 0 obj
+[388.9 388.9 0 0 0 333.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444.5 0 444.5 305.5 0 0 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 0 0 394.4 388.9 555.5 527.8 0 527.8 527.8 ]
+endobj
+11623 0 obj
+[525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 ]
+endobj
+11624 0 obj
+[502.3 502.3 0 0 0 0 1062.5 0 0 0 0 0 590.3 0 0 0 0 0 0 0 0 0 0 295.1 413.2 413.2 0 0 295.1 0 295.1 531.3 531.3 531.3 531.3 0 531.3 0 531.3 0 531.3 531.3 0 0 0 0 0 0 0 795.9 0 0 0 722.6 0 0 0 382.6 0 0 663.5 972.9 0 0 0 0 0 590.3 767.4 0 0 1091 795.9 0 0 0 0 0 0 0 0 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 0 560.7 295.1 885.4 590.3 531.3 590.3 560.7 414.1 419.1 413.2 590.3 560.7 767.4 560.7 560.7 472.2 ]
+endobj
+11625 0 obj
+[638.9 ]
+endobj
+11626 0 obj
+[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 510.4 0 472.2 0 472.2 0 0 0 253.5 0 0 0 843.8 548.6 0 0 0 362.8 0 383.7 0 0 0 489.6 ]
+endobj
+11627 0 obj
+[625 0 0 0 0 0 0 0 0 0 0 0 0 0 562.5 0 312.5 375 0 0 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 0 0 0 0 0 0 0 849.5 799.7 812.5 862.3 738.4 0 0 879.6 419 0 0 675.9 1067.2 879.6 844.9 768.5 0 839.2 625 782.4 864.6 0 1162 849.5 0 0 0 575 0 0 0 0 546.9 625 500 625 513.3 343.7 562.5 625 312.5 0 593.7 312.5 937.5 625 562.5 625 0 459.5 443.7 437.5 625 593.7 812.5 593.7 593.7 500 575 0 575 ]
+endobj
+11628 0 obj
+[525 0 525 525 0 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 0 525 525 525 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 0 0 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 ]
+endobj
+11629 0 obj
+[583.3 0 536.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333.3 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 480.5 516.7 444.5 516.7 444.5 305.5 500 516.7 238.9 0 488.9 238.9 794.5 516.7 500 516.7 0 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 ]
+endobj
+11630 0 obj
+[472 472 0 0 0 500 1000 0 0 0 0 583.3 555.5 555.5 833.3 0 0 277.8 0 0 0 0 0 277.8 388.9 388.9 0 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 0 625 916.7 750 777.8 680.5 0 736.1 555.5 722.2 750 0 1027.8 750 750 611.1 277.8 0 277.8 0 0 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
+11631 0 obj
+[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 0 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 ]
+endobj
+11632 0 obj
+[577.2 524.7 0 0 0 0 341.1 ]
+endobj
+11633 0 obj
+[493.8 0 456.8 0 456.8 0 0 0 245.4 0 0 0 816.3 530.8 0 0 0 351.1 0 371.1 0 0 0 473.8 ]
+endobj
+11634 0 obj
+[285.5 399.7 399.7 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 670.8 0 0 371 0 0 642.3 0 0 0 0 0 0 0 742.3 0 0 0 770.7 0 0 0 0 0 0 0 0 513.9 0 456.8 571 457.2 314 513.9 571 285.5 0 542.4 285.5 856.4 571 513.9 571 0 402 405.4 399.7 571 0 742.3 ]
+endobj
+11635 0 obj
+[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 575.2 657.4 525.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 488.1 466.7 460.2 ]
+endobj
+11636 0 obj
+[514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 514.6 0 514.6 514.6 0 514.6 0 0 0 0 514.6 514.6 514.6 0 514.6 0 514.6 0 0 514.6 0 514.6 ]
+endobj
+11637 0 obj
+[272 0 272 0 489.6 0 489.6 0 489.6 0 0 0 0 489.6 0 0 0 0 0 0 0 0 0 0 0 0 639 0 0 0 503 0 0 0 0 0 666.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 489.6 0 0 0 435.2 0 489.6 0 272 0 0 0 0 544 0 0 0 0 0 380.8 544 0 0 0 516.8 ]
+endobj
+11638 0 obj
+[777.8 0 0 500 ]
+endobj
+11639 0 obj
+[450.9 0 417.9 0 417.9 0 0 0 222.6 0 0 0 745.1 483.9 0 0 0 320.3 0 339.6 0 0 0 431.6 ]
+endobj
+11640 0 obj
+[667.6 0 0 0 0 0 0 0 0 0 0 0 0 458.6 0 406.4 510.9 406.4 275.8 458.6 510.9 0 0 484.7 0 0 0 458.6 510.9 0 0 0 354.1 ]
+endobj
+11642 0 obj
+<< /Length1 2610 /Length2 30311 /Length3 0 /Filter /FlateDecode /Length 31774 >>
+stream
+xڴzeTup'8ww {pw ݝorν7 fvuÛTYQd
+922TA&, ;s
+pZ\
+L
+p:XmT`e? 
+t0q0;
+LWi\]\]XXwfDe$%
+.9I8̭,l\
+\k@p]@V?8qpI@wkLX\$P vwG
+ tO_˟c_a5Wg-PWgkO=Q
+(Ry0r#/' ̬~k5n-
+a(yN+qe?MuC|_IU3PMmj\Ex_
+.yJn@gdg|_`~I
+B(SDd硥WEf)؛J[9R1!-?57A{yd\{2Z&>!.KR ̩ םHDF{,+ :y_>p80g%sh6!%').*['ۊE}.yxe;Qa`o;2?+Gt^߮VmŎnעQoh Ȉ|Ss'oL!7?',*Ε@pN-Uq|J}"Py\cGL.1T$kfF2^n}qIRWr>ySk!\rb
+E.p)! r
+
+ vKx(mĵ!̠g1Y$f( GݍQeU*4S.$Ar2R<H`k;E>mO|p5}2|X5Z80/ +KANun%IV\{;mȨQO+!؟HG4C Ї::|L jM^`5@Mr^F$M>_%=rd]Vb
+`Gm͂##b䨰k.Ho@I$>LVcH,rÉmo9䯢q:6_Taj&ziGMH_pBܓÈ#)B t3sGϠYJ%['WC>;`6yL{/đ
+)_In)۝C)"XhKZDukwQr9/&,
+òWKӚXp8SOB]:,@)ʾt FwbȮ[u F\#sk5RAV2<wWS yeL+42ë4V<}b'OVMX˼Ϫ%$Dan0KOh,RNwO%D|XwW]bsuty[bΈӅ>W5!}H!Ї}ԑI#$=R4i
+ΨC
+?m.!8uZ Fޥ@pL?kǦ%ktٻtPwkA-֝7)`a}T_e5]>j<$ľXyE>*~MxA:8lJT[ʊμ)XѱL0N*"BA*24_M5qO?)}NTEMCco z/i#tβɇE%H%w㚬'&—s8BGR;0`Մ71)vW=XբmPcB,SK͌ċ@Z9(BmlW}*ۑXA C@ik~e
+@d-H0:֭c%aQPTw>X2"ρAXmBN Nu]4N@(?5VY}M_(TenWg+i=j FbI
+}ҍqAr&>^,)5萻~a31=
+Ź=V rܼp?AU&
+RyU kG
+e:$_rr96X5q̍XOT1儭 ]XsVur`
+h 6!+[^+bLӅ!e+|L+$P)t>>'_}8P"&+.= >
+] |ŕ
+r=Хyϼ{g,:>~9"
+ՇX(׌ViL (oBy'` & hЯe6eJI`J !]ez?tn4p [񭗸?Cu1J[97>^/:RP0+8ĺ+$/QvTbz gpCLN#߳hV 4tdw2un&6Khs0ԠSC`I0Ѐ0㱏T2NYNDi S&~~y}m
+C yg1WKP'N5D='
+9'ZiF6`ܶ
+6!_SItk{`mԖ%Ƥ5cX\$ZDi#0EZ'Rt$UOQ+hD⫝)Ox*LXl!9}x_T ó4ַ|x&iAXSI1 ;
+.Eu'^|O` .4P˟6E* ElVՀlW.-z6/`UF#bǸSJ챼Jr5`jR|xH+U~Ыdxn9dyL;a#avŹ`:0\,F
+C]FuGo<"zPr\;2\'>Trq
+o6 XI)F˧2"C]}=eL  bB\53ַB*a?)e[>5;rhS#C%&](1 1ƺL=2"Jx݄$Ǯ2|>Wu7¾NUw
+v&%gce(j inCF{-ݼp5''{SM\И*Au u⽌yKXw4 +^.^\zgNb~ NFJ$A߬_Bb#D7PE%cXQOj]O)LK[Z* 􆯩PUL Ï~yQ boԛ3WfP1[/cUf&]eWyg:h #5\"*[sn Wa_rf:-(}ٕn󣀩xXFgzcOzOO!Y)_o/A2]IKKyMo\ b a"Q`F^Y &:/0= t$o6r 44!A$LM2Ρ,v_:aw6\Ҧλ{uvCrIO= |RO-m<*1HL]@83Ce0x
+(}l:B`W7T)vWxZ`R>-sjm_iN(q0k@;MJ=JUǼ9ef"]y/+&-frxJ!ۓ, iM^K"!,}Ђ#S1h=#7#e7y-4g||[-F w&Î#sD3CƲ
+원,sGrQk1pKgƍ$"Pft<-ax^% "ЃCݶjzT?IZӆPSy0ܷL&,-
+lB!{w{2+ڗM6{ͫf1~Vgl]Y}ň<Ql"ܷ^%Yf{`=l `^';Q
+% qӇap"B-j[RM8JzK;&(f{;cNU5 ڙLz
+c(#2q(h
+Q\%V3
+\U/: uDk_;FtXMJ AǠG1\Ig%/5\!zVaW
+ q4kk<ZE'i\6+ACd0xkqtm$Cu=|85
+RvᑅMkܛgP^@i^
+A=pZ
+醤c ×ʟ=KDi+
+zgIٻP_xP.Vjt?k yQ*sЀt)+4~䔨v^'Ɇ!ى}~8!&e"dSaIסSFz2*{CS~b}bFzA0˘ar߽[%ĵH4q
+&rV\^Æއ &_?v.+>h[^c7~k IP2 mk@7X/B#e`ub< ]Q
+>S@ )+N/~yq0s.g܉rћ| bwn&_| MS`ar%QJ<k+q <p,xY]wDs^(Ÿ6߆(89ݶeu,PͼML Ü[g
+a
+WBvlQxύ4gWLGlG6ة~J/GFNy=iwݹg;Lf"."OfьEz3ueM*?Z9Q7KQ?՚_bsܑe(.7 Wo#0ybRESٴf@#d9c.ABXda? 0@xY<A7ԫhF3@_KFN wamͭڡ߼B¾=A4ջ/&, ۢRxTa液lxF@nANgah^
+<S.]q4xMݷ1P}$-x{ j諩rFIx谝)k?Cw#<t΀މa#ηŘ-o8HR$ٌjHvd|#YŸК"B}>-w jςbލD!q>䑷V6UydxYFf$3]7wAr:X@R`й08ƌ];0\NFͨoC:]@3.;u\][r h_Q 56QۗhCK0{KAv4u4}gDYrQtrqaIrx?xXrrU2H6o!hC;`[>(ӾiŰe.6_R7۞cSݼϨ
+_>D~ūahRa
+ٜ}1=1zlr#e!!Ã(&燱& h
+d l`il!擬,;v#4ЊJʭ& ,15JL݀f#'@dbyQSW-M`̅oP4_xyw%YD%Cae<\Zo/Wp JE_M,i7:5H)g6vYA5
+i-iB…,׌_ڍGʬZi|m0xDDvS m)z75$>6o Pl>p4捂ۼϺ(bUZ +{Nvwq+~
+vHH΀jmR:=3%q|AȂCm5dؒ&VTThL
+DQ'>u;^Vq5_b)8FHJ
+3n^\ix8"9,Uוfv4q0Dd9@{:hn\kNh7M`V S['a'mA&IcR5LfSM"Ivfm놸T IR3?n`['9(Hɧ]8cѻ7ggz.c(b&vE 2ayꐯ.G$sIwLs}ţ3(GJ2)t0$G筿Id1}WӤE4tsvO ^/6kcdnw!1Ҟ^s-eR?pkt{ǙҜ&Tǁҍ3˯bx wCw$8ffcG p~\R"x4Y5ߜ sED |~>M10x]0X\:燮)
+b'
+ x
+C0 J3Е(.ZjCQ'uf+|A7'L]ZͨHW|z{2IR 0"10g2gf޽
+.H|EkɋT^kw;Ӽ] e8cY6VMzfJ"-XZs+%LHcx(ˤbЫ]8RXjNoNϲ[!pbXHK/ ?{67Z_QּbCX8!*|s1L|rN Bb~ר52gn'<*7KؠMJd燺ZØnTӗ0IQ"VqN`RW lҶ'kv; io\umuXWv3R<iQ]g)*Z 0{vYTe`l)lkp52ȓq|JHMջ+7m|7LFdjWS㾤5;c}țɜY<P_#t"ҡ=6ĝ-#jU$gNtKgwKFy5 -K*rČk9Ff3՗,=J,_ޠD'7_+ wLpZnrwsQ)M
+v:I8 {<O6{AY[c {"B<FTgnD"|~Og*٫zǚiX ֯E" k-Khj,
+GNSŻZQ#::(y}։enlM0uzh2:2ݖ~}R1S
+m[_6}qWݡvu+m3N jGcQ+MxxY'Oz7;&z 
+UEK8&mpB|<?Wm~^\L&Qүb y#=,nÙ w`iY93
+/NZe:iəwAե<pHxvJ=ױ; \eh6,sG{-TO47J ^^ /=9D!% k(Bz#3)% 5W-eg -x#hBfL*.uCyխvyhR i6R$ESD|2XVp1ZI|X2隺ĦJ,9ݲY[c ]ܩ҈.c;DҟaK ̱ NOMjẐQijgIa۶Zl4"sh*Jg3-;S˕Г3
+?E٤4!+l2x9#MK~i*6b<yl^u?<82!
+@Km2Un qbS8[ȥsbݮǝ-}=0ey-`lWwqVX~-\ ueP(D`zDO04A\.Ex}l&SBIGK-ҙ`D?oVhFZv
+F/mˇ!ucshN`.Bq#/EDvڛOI#|߭a !̩R ʾ*鐵H:"5]㫋+3Lzv_aOޛo46|1/bLttZ
+cguHX C-ٻ_Ϫj =w |#sk)v>hۙaCt}mdk$h́&v8kfRv^oQ[uإBW Ȫ踹 _KLJC_*<hTKVp%po@TKrb,3R/?=!8O Mcч'XݠZw&<
+PV8T l_+N/Q쵥cvV|GaO=!ÍP_%n&VzGc{
+ΰfç Д%4ġ&tu}{JZ@l<E/~AP@vʲ54|t6imԥď?m%扪xcա`q|fsJD'ja|2+L1^(}*ez`fC|x@xČtϽĴ 5e;1vX4B>\䊋(s9APe'tmpȑJ)7NY;0 +Ax'/^T:&LF[BGϻwG8݆l__Bڿ 글wU<BMĞ w'0GR{bE/P1̐nh5q$4+xb3]
+Xb?.t^ C &W=VK|tt`@ݏnv<:ZfIjQO%y[@b+Mvƪ>| oDi`o3J>}YA
+?T4VUJ8MP{0T9-OB^MkfM
+4L5h3K6ޞˋ}NJJ|QCˠFYuuGoWp,F9T [%t nX= FӂE=^W5j7UxXz V0^K' 0tY+Xy
+*xk}[?߫z׎ꅏ")k\FEkD ֶm۶m۶m۶m۶M.5ˎƇ篽5/cCzM5*yH!;7ɗ4^j^&0T}a*0_F<{,&NձVHnyӆC[) `<*E(B>(EƖ
+E>ESi/QB>r1+)$GSRvFU}_,=c
+N
+|)
+tQ
+1ju75#-LuPU&_zfJg^]y֯ U|/a[
+:EP*GUH#(bi)ۼI<*l>)%86ԞɻLGx#vơ-1#Mpʙ5qx‰|3"c~`"(RʏD)merYkr'D%reRB܎g|
+<ҌVOpN ~Ce=a~茹 CȬ πzHVzw}6&VtU))*<aX'.D{AyBp{>GKvdtp#PV/b*'WqVsX94c~ $Z3RYǢ&8zҟ%pG3 `E.#W-f䵃67DD 6y8&oB[uG0 `_/[6נщ+2x[1GadSrފWu(oȋx縈{y)_}8-'{mA=:Eկݰ}C K0FC6tQTd/Z˙]/4DxENTMv?u8l1B.Hv  \nq},g!a7S68lt`R6-4jJ 2>%^|2m/W@!0% *c(%HR8/Yğ|Nj:?wv \<O7b0hCSY(C4HZ2L0@zƅִ2{?\TA<(7Jz"st9{G>d$N2x*% a
+4"A
+`*I6E ߮-ʠJrax|ښ"ƻs]TCoX :jpBFV)vwR-͉?3FtjE̊|״MJg`6FAл?b<,vޖ$-ӎ]J+j?Ur9VxM/ְ-
+%&S19V/wk[,,Λs 3cf*{ˊdH%tq^IJ"G &
+ bТ!Y٠n
+ !evtI*Q& 엃D'gUm;:<\c.^@14pQyMͪ IDx
+~CCkd:̹Wy٦b@&
+ʔS[`NVͳ~ !VN4YT5%z fy<U`l*hN MO)
+L0puW2?!~ªϛOTNe4NDumf8tV )YKtkҏņHgrK|5镾( b`Fzƿ2Z.2 0Aɍ cE#_W]t40#՞fJy m>$T?0@ ,߆I/T\g_M~]29 ӣ2( U9e Ly"
+gI1ǼcQۜ#
+SVVY6~+ק{/jןd;*@;14 Еn~5z +_ّVL(s˗gp uS:ZivO2+1@ƫ(rfj+;&. 5L-z(ױ^{feAh2VA״
+ր\Xl:SQ~R|K*Z`gO۫m=Ecv O}b7鞪 /WJ%>JnSGd)
+ж$
+
+.9&;OּU
+y {<b- 8W?05K*Vq[>y{p=.C0aDˉϧp˚qId킁yq}rT~8wŐhgF=`0VSh5,_P[߿Z|8!NU?9IZa~ȴM͞JK5+XAUb/&|7!@-ƺzfw0&z*%'
+"@~ACFqJ
+<cPD sc0 ]m2"6kIІJiaz)=MVU-)*G/1|h]¢t/ZO=^S>;qs=iL&9xy@f ,KPH1tZ-tUx<=!Q{Q|: ~M;h&
+0ihnm<q6j;x쮃OJPf _k52h k&ⵠu^Z߁[< |6Xθ^ę3 qgM,K
+cC֚T(#i+L_/1+ۈ77Φ+
+aںh?6K;\t%}gb?\avM/veMՅ6Jewub=2k#ExؽX`vŜՉ{Dx0E E{fZrq'}P&V
+hBЖY}Nud
+Efɬj{}E<w4T1ATc U (qD$^QXRkɴ_֤@h_nXyY_{9XT;cre˫ZtHQ*+hc
+7_o[Ł=Qb
+9C^1c3 Ey‰I?0v;ЧTzG C'ofN|K|Ĩu}=?~EsCcKͺ7 <,k4W|NC֚Ƨ>iᏌ5MG&?c( cp[ Ҥ ||Lx5ExtN*L"7
+&UTn4ADa54_ϼHD/ /ۙh A<LMojdMCrG=Q27{?iR=^vKNwfH%:ѢiW>d՝?`z?AFrWUSoA/ "|!*G1)T&c91L\bޡܦi@nվ@1*'m y0 haj2oh*{jmߜ"Y>MtljC0 eg)S?%p@xFQ >F%sZfԕGޤV΄OO>n.ʾKflV$ 8Yl.,|dY)Mhy7Da4|u{K
+*j-F9QX},Fy7Y2<ɓ Dfͻoaےw4F𸪍<mX?~pC\lAvA|K'ϧw,Kă>i0W qf7p;Ȗ(+EvfgB٤AF>gVN@pavyF[ĆB:Uם `:8<"*VY06(rx]0iַlo
+fD|/J Ԯ]yQpIv8c[<+੨5aC M)tqA ȹ7-
+]NbJH1bFʌ?cg= +]dPP
+qsM.cgrC8u05R0B5d69D+G2/9M'+l ɯ]@)Ȇ2; "DfOZ%n ȲVWhշϗjHKFo-3Š3J-cz߉$?1OR8>w䳈G\qA`L' aGeCbS%:w0ًh|ɗc X!QDP̉ᄁ19 MH!rVV,=Z|t–qŃJ_m6H9
+x>oX?$_Wgy o蟥,YM\W<[wEE xvg\hWʑtYG%h;7S4#> w!`;'hRBݢTFwsCq:-3D|5rTQEf`9;8XR'!3
+oY H}ὒcN
+4w#V!:NsR Uh98E
+-ڜ)1vw72$f)"0rR?%XCJ@J*\4q5ș8k7lg*Dgb&RCRƃ$m:z5\]u+QFʞ#-g>I9*MKyC#x~[ckܠ{#.A3.vOEo=-lޭ8هoo5lxjbgLW]B
+Ke[L3T>@*]Zr]yQvx9ʧ i`V\VI9 wyEH
+w%kÂW%){p9p5.K^
+7;"MYYcG
+ƺ= ";kC`Y/\ oegej?Hm+n`sN;ɥ4+Ąv@cJx$$fQ7Y(NWKq]l`\).gЅ iEtɐ*,$).B@NÂ52K QabLbm9]er҈KGFaǶ2_B|1PA3Yl/{b['E;ZtBYsRT2P`9`/vJe\N§^6BW<Ĕ)O'9pI7|/
+̧8w&EނƂL?2,' B0~,1Q-F6(vGIީo~ +֯};*9.OG&T!}"`ߨ
+LLKi="Yi<7)^A2`{u#`oM@;b~Z뢄>(Y-{Ex@ymՂc#)d+ЉMz-ia aE?s$ pv\:Ah+ˢn׊ /d4">4 Od)8scaAh{eR~)&,4YH=݊&f6Y.1enYBtDHU } q(ڋ(ZРEr,Mf2L/]2c9eky0
+2TX<ԡ?^z܉lvP7σ4tn||헺}9S
+Pٗ(QvԒuTs}듶WJageatث=bႜO]뛍ߡ
+%EuxjӭUBCZqC6gu;Aw*X( xD@b泗>-V8zk4TꐅqJk~CW2AѝA}AׇVaVvb+
+$d4ߺ7E ?N:N[}sa/uc3q d#j)"枺wG鶏Xl9.fLO&
+5Yhd qw
+_F'ޚbE
+'ٸ|,afvv_U-QBL=`b8Ir:RrC{KQ'rH9c6cɓCn Hd]jЁRVꆌƧ"?֑ ~&
+.wOZX vrJQVqk?nёC6"ʣDz D9'FO$m
+۠J믅r.V~XʌT~'gQ%CIK/5 t.8{ܨuE!UΰBD2K[p?ݹPU1ՕCR8 Y[n]zcLXTT
+Œ# f7.2GϘYC3Rrse \Sx*r!"`Ι. (JfwI1F.rRqvVbN
+ޛ׎oذsR"N
+|(U]0ky1˾ka iX
+Dmu44)BA?22nXщ0*%:1"-2" IHσYHYgen3yRU*ffr_BG&$]09OY>-dA+]tAy帯eɎ tF'-tsL)2;1'Q@iJqBTtkv89RgFrX c5B<Bn< `CB;A9
+9J<pgfie!fes1ۢc1KkM~yuݑĶiC٤_^h SD]m^Cg/SQ7(8BF- RfO#=k; C
+endstream
+endobj
+11641 0 obj
+<< /Type /FontDescriptor /FontName /OCVDMH+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 699 /CapHeight 699 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /endash /f /fi /five /fl /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11642 0 R >>
+endobj
+11644 0 obj
+<< /Length1 2532 /Length2 28425 /Length3 0 /Filter /FlateDecode /Length 29858 >>
+stream
+xڴzePݲ5
+181@Kk -Ew vFߑ~{1Ll=]m&
+?\54
+G+|TT
+`XY@,J oaǁ7+osGwL, J
+5qW% cos sv+ᄖlEi/
+1&A$ўTc\c86G<i5#)?j|\lT}{gA-1$_m /<!0*!-ݛ\<^~Eg07|f Dv#͍~[0A.jȜ,4Pqyop
+ޤ CP7+g'0CKF]5uHIʼs ;Ȇ&t?/;i9b?XbI&2|K)s7Is{y*`eQSc:%.jKupw[ ؛$s0R: l
+@98C24c%7!9ږ(=g^Bm<wö{!3)V (ɒi
+%0:
+ai87P.%hGs}=y
+æ6l<ʓn8e>eǩMya)$S n.6%wu`/'mdnnL2lإQLNxcfa7[egA -bBn\v6ܽݛ/"MuRNJhV=2to+&|Ё?7p_ ~A!
+ 3An >RL38 ?\w'2 EE1.EOmG2^:fdܨ"ӆ>KT31OMJFeC=0c rWwh(HVْ(Qx}EؠD]+[k' [CXƁ/*8 2_?S$~h=]%^ D_|HD;uϋuĊƪ{gRZm{3hZv$wtG1BT?}ckUc4}6kugeJaCdg+՘=;*J[b<Bڃ'763u_nfwVըa``^gy).4FϭEIB Gv}-]^NO;Luvm}Omcw8/ bkTk{3QYm/g+C]$+~!0^nj2ͱsIVz|7ڠ1E놐I[x"e%LBmZ$'p<>Ne*͗b- R~][g d8'n'[XAhMqتSdj egX+cI7_O\3]EP=hi[7_<Q ,s|rI[$$0Bu`L95w5t8xuCZEH̺jɚ"pK#<_ꕖSZPԀ[崼2M)Q,yr5sEѪGdp {Er|J˗ GX|]A"Z8C,<(#nrp{oY^o?i;XcduȭsXo 4
+ T%0u*T%Y8T?k;>E<CsG 1-eLZ=(C,v[_ɑACgP ߚ ByaE/ ΄oXDv_} =ѭˮ2?a|ƙe aʺK5}gdϣ߃ Q;Qo#
+pAFH1 ;HtWS̼DAT>DGGLrnV Y[a+GbN~廐<WAh i+'<3?5&ج<N|a
+(s03hʹ9U`!D2PZ2GPj:2$kBB4a36Z5D5 %4RlN{n,;Y_h[F"5AdPY#5JŢiFh(N,T(ǀxLt}PNxf~T/qc+Lq<m
+Jn.+%"$k/Uf4B. :KN9;(Iyv8^ѯwb4~b%Ɍ)κTwR!Ե^6b,=E=;F>ݾV &7MjI-CvfLoer0{X#}7 sa:gS}đgx-è޺bgu
+ 4 9ΐ>~u~Qߩ3#4D^puB!'=x|9*az_g /"-N&|VW BWOC_3!
++x,[6 yBxCzLtqoKN0[x^-[К9X*ۈ|F*PPpݵx?!: J჏|ŏXV榥-.ҞcN4w"v.;b?Q~qZHŁ+Hm*`8GN[ |,+SAВſ #[)gUE9|n|^ wjxĦ|˃o6{)"r7^T$񎃔(ǥ`A,г@ XJhϔH+Ɵw? B(Cʿ*
+1ubbZpE:P;wgTkKL#y-BtPZBuc2nm ܊}C_ODK^]'0 V>wSjnnxrа_K= Q>;FWBqk8UTv]98aTE}؛UlT)0˗'4}3oPtOqVvIV"xdW?B4/g1imf/}t|TZ
+sb/d4kɉD=z玶9mȆ%f<譙j3AnoKO]/'Qj*D"ze"A]N;qUYc~B,6˰F޽rƶˊi~#J7iuۢY;;M%}St;ߕ|`̸9 Lf
+ȴcC=g` 9` Z b'Ras0Y-҅T̟7c2E^c93tu˔Iɚ PGiP:F>L|o8#͉p=wXm=ݢ2pgqPӼM-3Aܤ|34OfP&Ao |12lQ;eiffP0,:/9˶gLo-7DbSmM *
+ݏ?ඩ["7/X:._)<q\B8]Zenŀh(AԑH?blD`Z.}F.zaj7~l:q} 7͜@ sj"N!3
+I d|Ʉ1L㝝%l. j
+u.H "EZ#lzHInO38WcWЖ<Cj{Jw&:;C+}ʉ.jb^@w84`l f,׹x Mۤӎ8FWz k1TCrDVK$,)vE}3j
+}\2\̖,6Bv+cBA0Uo[_s$fPRYx"huFYplN}4 >Td+v.9d^9W(;4]
+C\%p3QR'8OF2'}54_5t\oTnլZGyHހ+ow-xema- NL3΁q5Zcz씜y|U`'CKHo%88Vah)VhZ$3BC`$FZYLr :jf,ljJ2kͣ$9[]|=0J)?'phˉlUءpT/4.hW
+YY+kS.4d~p~"o`\!,E EץmP*"Wzq.`qX4`?Wp4QQ8$]50/0|._գwڅ0⛯]_K&e+G]"7H*Yntȱ7HuV6OmbBCKxՂᙆeӗF=YvX˜HC *LR]ыQNMʗcѝeV f*s`c~$oH5.!9Ey2twPi|`v5(Di4!ݝApIh/fdoKbTmo5~:oJe3/c3^AcSkv4RS-Q"ߞ^k ՝%F~umΫ
+*8/O3A<myxjk%B uh^Q&$ɼMwZ=R}sR);gc/>d l-Z}H1)nۀn `} R= i[eȉEr_'ii0(1
+"jF]巴
+}U;y RבʽEe'^/JZo0DNrkUJ{P u~8@ <O@--ܠC`=_,@ſs0Qʣ# S~9E;p(S}a6S`8!Pw}1za$44 HD )*I~|>o!aΖy~ f-cƔ}=*;E&;E~ppM[K5E0ġ5+a%D(XPZuJEܵ|/zӠْ.krQ Ka4+@$r`M=)RbhL4m㤔dm0,]ɾ|`!Nr;;.BӖHd\ q U꭫A_V5!j*߰&S:|4r,Sف27JUEO#X (nMQjy-ҳve<)Qi(hP4g " &<:di-^u|zƆ& mT_j0L7X<oTFIڟ
+`,lV7
+\Bh8i3gxŨوs-pT\UGVJg5->T:/T6NF1 a
+Ӧc49\i ~w=.LS c,-WeTy*).'U4+
+wuH#{
+~PveAȱ-:e]8J .U_2T?pIo 3?S>JD([+jGsgOM^I[#}D`B۾Ӊv8#wJ7mUr+w'Qe)1œ -&AZN
+V+*4 R|_gzZ_|nϛr*-WK۵v|V`vJUjHTP:h<<&l8%Z;/\!2R#5ݧUHi 3M4DdŢ{el7{?Hc<“۽PMV)c|e0QtWm N<_KZ E_{5MZa7LQ͎J0+\:P> 8=<(G}ph0ūse J>G&m6-9ݧ{w]y+q$eaDғ uJ6 e=MPY6n*xtKVsFj9
+;(,,Litbޗ q`o'4SG=le3uxY\!)eAg4 _8Gd2(CaKHXSuM 3<D55-0|:QEA'&YJ[l /5r\"j<)BīYs()5s?Gjm\=\–[˃bFJ7 'ywV:Շ:HKh1tWכft$FGQ ({1'.evkT%}xy> + )Q/yhX5sNpB?N80q gФ|A)XiVNK ˥Ⱦ]j#BҔY#$583TqI!N;V9?s0^G>8VL228ԃD-W'|1
+!Qiܗ$|ߡ2&zr["-K}T̍n~Nke-l̋X
+е$|>}1))xxӘMrΒ$aZIV:<Ԡ51#kcY1ҫ@Z[L`8san Pfl*~ZC[R<5A[QAkb++ŶH~Ue(er޼Car)E@潃Řͽ-RDq70ch_ &/6Vݏyg7LJq5 a}1
+ZZVRKaccv,N ,ΞP X>QNmazaVeKB? X VSFy
+9\
+S7=+nryi!WzU
+-/-3#C#MГl>Ej e%e|$c$)p}X^^anmwAt"אJuեzvH<0_:1~3oHG5!z{b!:w71uF|ݚDمq#X审iyK'.Cc;l'XEgux>7=3g\M$P{ *ĦM@Bcb$;xoHgi!xK1= үWQcse[~&\0IFc PէeN
+ď\Q=KˡdVԵ6p-/dFpxE5*2j^ Tҿ6 e)Z)si1LiGXvzwo2Mp+jHrݖW7<G&'MIoN8+='Vq\yfh%q#4pqq 7G!Z »6G {ҽۖj)zNcouCt2OHalޠ=RD);|xd f3:w[&Ïp 5mѱ^0~MRʭ[F+Sg6|+aO)EG֜=7-B0m{gN
+6"C}Us˘jW<!=n5v͌u!̘2Ąazp<jHf]
+q&WA>eZsD&a&L,(X'fJgcqaR͏*[@)wnEߠ
+.Օ༨|HYԌQ8±rN n`ظ紏i(9cIfYkE>]BlCI0F(ygndZ>I% `Ԏ_ɚ pP7{5*Fڒ۴^}j&\ T~!?7Rq,[g`܏qr5}VjU}/U$5A%*},m~feGJcjie˜{)u7vBk,h<(h FҏhÀ9{H$oa_>\ N  iH_NsrYo`5.bPQx.(B.`ܙnfGi.ez\]ӦӒB4ޫ\ >)b?\=IӴ`{05de٪ NsQ*IVԏ7 N8W,.[492zwq8F"qSfmbK}xɋ.dKyr";VߤqT|<8ar_y0WXX?e9eWxy)~?~,,,]v&9ʨz'ϝa%nr_ǡƹD׺S@a!x(Y -Su%<r$ܱc.AI9V Vv&tR%q@rqck%%74(30g{4|F̠P(W Z*"=$%xۖؽ_^}:<mjlgrvSa⣵XH8ϕa2yYŁ#R~-Ka>4\Jq9(?/4ty|tYU6VwjoKh¹
+WSdzJE=ǵ":s){_ b}
+s~V q>N+/fD허;5Ft ֝'94Sz"$THv,Zqԯ Q1oMN4jTgIt(4f$V]3{H'2Dq2^MIqMx31M>!(}$9튎w*\aM%81t5V~vw Q XP䜑9Ro6pŭs ` ~"$-% O50|N)xdbaS Q R4puɑ| Yhi *{_tؾ-:Y
+ Z͌aikt ԣVi.\r Uy#7^l_.PtàLEɘe`*:pEFDllJ D'56Jޢ0sdsFodp [oBAͧSjIqG`etyKWϽinݙ87춑KZYrY[韜?WY1_5q=^FܗBXsXKygeJc_ϻ-/#&I$#Yڞ؃):dqS%A$Hﯶ~]+`o(Xݜl߷CM\xY9USƽ#c1M>I2DAZ7hXh0*"5ᰑoTúA8U:|3́iUwOu&?/a>|^uHZnܥZT{6"̲[KbN<q
+򓋑h-5;Wg@6;
+Uu<k[9!Yk xK9^ ;PG`ut= I{Qޠ>l<0)[ּ8KbֳFQg+n?xao߳}Sޝ M$Q$3.y%Fd'Owi )K䷋deWS8xC7!:k=vfvcaI^oҚO$+' %arΏ-GBɸĢO3iٮrϲwN{\[Z\տд,.M}s;&â$֕h\jn w>zhpAf^+ akӫe[SjU~N 2iN_঩[[L*Mz7.̿o]IU6Xoy ;)ˉM;Сj~SzuCp\. ރ<y2/!JΎU{Ѵ;:"^r`nYΔDdF $3yb*%[?"~C>31^Xm:hs3)gd\;pP.}]6_fE:3 eݓ"nSTI0@tIfW&B, Љ%h.F[\/L#r?+jtUIy݀UcUÜ75kyeMuo%9֣=Z=.E-U t%òLSZt
+[ 7Y
+>璗~n~W_U&߂<9
+
+oKH4~e%k0<Zc2W-rq U&
+թ!/ bDޅVXHyﷄ8<+c%dƟ~Q$ ?Y8vqadpfK.Yu,҉yŔjẸՔ-UW/SվY0Ȱ e5QLʶLp'.,9GkF5ğ:vSi~UZ@e3϶\_Ώ$ziXSQX
+#*xIW ~4 E7o9#!LdXȇ1H)ӂL?[ Kk#HCU~}BnCӻ9O?ly De>e0?6`I<#MXr.i=$Mȑٞs0 JdEqfsA/[SK>C%Je&#xkzror=XǣѪyQE&hgurd.qc;){䤛MO:4Vˢ~Ywu4qhJ4cp.s2N~zw,r,(#ϲުquX]
+mՈ5)5"+[z;ul(Hc&=Zay =
+U_Fnk F_Ԝ jj۶mkk۶mvmny9Lf$&CGZRBx{h|4T1|Ov%ehChyib7}1+єj\I_kIg֫Tҋ7~]ws"_ֿ͙v?R*dQkktpɲw ( +13b^މ]𫘧a(&]&[ %&@<[!]n܏M*fQ^j >b@XV:AO8~\GS8+ B8͟w"Stk/₭a9PP?qAF_Id
+Ag.)|l;,$+ox}V]qPoP"`ɻ.mT-ӷp%x.@m$f㡋Z
+ )'pXRc_L "'G?I#uw6[Z,:XZ'mzd1䍸/(~u?R}'okLuH %bo~qUp PRh$(:XVf! F@盵dHGrj*}z(45Ѓ <҈drTrgK>q/<;^+.O]*y'D5lrtc^OW"'zP8Sְ] [jw٤dݱHx
+?V } Lv('z iʎ>Av~9ID+QޱR:n$>ld{=w7A + y5( tb]US\aT"UK#yRk%1)n6EUG!/Oʍ9(+hF#$kb\nFZa)!
+ֆ&'#Uf\%9ZRro󯾤HFa6@/Q
+@[#t܉Nc"^v}ZIg&O$NٟamGr'Mt(ď`# \H3 QM؝jsڄjl`wS {q[D.׺1U8!ju7{wI>U
+5tnsv \0>NFxh/Xo^Js>^Ku0M`XF |kO D<
+7?_̚z=
+`xD`:
+LWjSf9 @zM%I 5>,N婙FwW(ΕAaDiZ4.+2 R-Ƿ*wK8T_sѴwo=^]L[oe?4$ iAPoKs%F `ڱ AKw}魻RIx5x^ .b+'oʤA54TʯGݏi,8Ciz,0ߚo"N]m:l\6t0<S &b1t3fҜbR
+g+82r) g ķrfD"L3J"D6__g{=q~2S NT״"hX]% 킹]nb<A YuT`mP;q'xM.%ߵF~aew ݩ8Vl[@dl+#B-%r!U;d`ȹoo /x^
+f P7Lʥ1 Elb 5W0cBy
+%G㙢榠<ʃE,
+Q
+1# S
+I>%xꂧ^9l@s4?҇}]IT/6
+ }" >IXaՋ"Bv+_'&G9阴. Bs>₥Cf}RJ?.o64I[11EQ5;8˅ٰs5F&ވ fgyq%ϡ:cW?[pYfן(B+ks4z/q{ӔޭrySmhd/UqW쬳GLpS(RifrGK?8P*CudGS t&d
+Wq"Hrq-c6U,h6t_=!U1(39DQ|ʫ=ryѻo6at %ت 3^WV`M+9p"S?)meIՋWagUSE'ˇD3I,[(3
+0#LCA7niAgbc [?Ee`?oG9ĘmFܭig@[F,^rOA HfZ(TJi6h0.+K7]Tj c ҲkP FJ'ϧ$ T\ch _g]yf&sJicT큰vLиF'2 b%j'L+B/޺?( ˖>NO2'`)j|0J:cUzθ/ה2#^oMEppoλ_Jw, :F9#%(]+fY^ZY?*,b,J*$_ͷ)oZqF92=Pi2 y!^]MoH,xI*1MX5#:ml{ʘ-p]X໓02Zfڙ{Mhc*au9cju:NAfs ׷*1bwUu]<8Z@*T'!Nsd޶7m@GFpI\.{Ep{[IQA- X=g-FA^.Z 7'(sx)|{[
+V._2ٞ- ) FQ; -L(ȯPt+j.Fr^t(AVnybVj@#"C -&bl1p/#+݄S tn|4So7uAK^ӊ",FՔqȪrfӧOrZDQ " c_G|p>XrH}Ji6Jp:W :0Y#{7p*.ugռ4mR1MKHPtaiM-YSSIƊcJ<4q1etѱ3u1d
+p'mrZ6XayW, P[sb*H7hG$`jD0|U.l%vЙSAXWɼgQC̒19N$%
+ݞx@կ
+>#%_T&f
+\kR 㴣%4NDRxZbw 8/󈏱&uܲ8bw)<F/``hZw>ZT6W`3R {. ĶM.W7V(u6|NὥTXWP;1.Ф`ah`5rMe;
+[ZsQD)H/*+WOr|P Fl&1r ;2mXG1+[z;b
+wZf# F|~s+Zs!
+oPeD8te6ma qﴢghxuP֕63WYH*HK'TTO-BWI`Ot pyE\pv`DmliM/ȓ:gZ̜w-+Ǟ'6lE$;)%[BNk ,V j-(4(9V Tzp-p7N&,-
+fE^X1DlV N)`<z-_{D }k $-za<~
+ekG Nh8$<9ZGbC1& _ץb<BfZ3!͚pR
+Mxu:uDG~nt3[]>fZc, b,yO6!|MtfGxe()^و4q>+)qU LH25k:^kCݭvG'^mA{$U埆 VO#
+
+I7u,Рm aj(ؗBϺ.. r<GoZ]y\)1 Rä\!p+x
+f@{ 9j1lŏ=$8:(ܖ3e-[ݴ(dbuLbcg$Wju4Jp Lѳrvs¬92bUt:lHg0\*5 KLpZ, 5ζ_ivi J$$.=mV,
+pͩh~.?fųbS'W I"S\] D-}f?$`|TUð&ŌaZG9A$:pc
+h$ |GcG2䰯*TbC
+ mm6TA2nNE*=ȔgK9iͪko("p{7mA֊!}Hy}ĩNcrb8(%gz0B [[3R2XK)l Mr!㊔uw|=kg6ɕk]e)h/sٲ֏-gn5֗ȹ;l_z @|8o!G=– %؁t"hX^_AJSp#Ԫrxyf N+,+Tj<ūM,&
+q¸qFdp&h&
+VK( 0 *, `rЇRO`Fs&u(+oqaKtpln/
+טV2f;y{?3sG- ;~^~Kvk,6N|
+3$eIZYʰ_1Т,kX35;j?yc-{so6C#t8Y3 MFDMS*\ Ard7wg.ƾM0>y"ŽSEH84J]ZuYQ|V,)o?P#dN<n<
+.쏼eU6.%'?-?
+mM
+0%$o|PĝaF;CuZӂ5jm2t4NNE.!4ٚA!+bjX$4+'ϱh%j~zV{K95:ilJEi~x_P+ ?ir c["rhIP4"c{H ۮ^@0[ՇU㾪[ɚ]!8\a4GKF
+><s,јd.׌r05um} YBs-w>&D0Mlx/q^=J
+TB1"
+'
+:dϤ2 qGNne(l-{q_et+' 8=e/jha9"h96#)7 宝B8mI:q{IgzRDG`{*:T7ݐ1BzZÍ}w%5>BC &`^NͿgjzUN IЅ0sHcvoYXDX:
+Sg6* tj&O>_?皀>Z!q>[2iG
+gewi2:
+ 8@+"{:0 qP3ن=3wrlY\nT[pb.04cF~<"a
+"< ߅TQ?}'[91/wKޛNƄɚ PZj&k,xyT$ADk Հ /[TsѤ1@{ۥUn3G cHy- `:$6Rm"12eZ o4зw8hl =ac= G<> q6W@^d-n<Ap<$ILHy\wG㇟D:A'k?Y%2l
+a1_9R}=Q(-+H2Cw%js1ј=i g;?1@;U집&B}hoژj$חqc|}.en۩
+̮_;k&7?VvϪ-KBQmag!K^{U;ȟu~Ӵ~{&f(Rk ҧ\%='^VY<
+dT0خot`>Cl+_)|h٧ࣁx٥78 ƞUjdus$hueý- |I(9C 6V:aDt  LHژGlT҂r=w&d3_1FMf/5JK}JeQK*00S*0A.ᛰo*<9-v<yuO=l2?KUr'U5Is"\QTO9] ,GJb} ܫ| ɾASc$㌘si.-O.DȜxees.%zrI-Ruh tQ0) !sC
+dSwArH^m
+W(nQ[̋B̓-zPx)4ۀ=(_7` /(P<.YZՓ*􋖂<+*jm\{wе82}f`NYҋ59.[= t+թN65 l3(h :qCAқ#B ڿ;bZFt膳^tRS&1',mc@^c .~}g5XJ:،g9{AG/jEf<?(:5T)Vgmxwi]L[-HBqAÅme.?8-sl3z ^y+#+ܿ`b<gW'w-)W +h΂oIb.<$n\ng
+endstream
+endobj
+11643 0 obj
+<< /Type /FontDescriptor /FontName /LCRVQF+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 684 /CapHeight 684 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet( /A /B /C /D /E /H /I /L /M /N /O /P /R /S /T /U /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /f /fi /five /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11644 0 R >>
+endobj
+11646 0 obj
+<< /Length1 1705 /Length2 21472 /Length3 0 /Filter /FlateDecode /Length 22554 >>
+stream
+xڴspݺ>LI2ѱmۜضmcLlۚdm֗y9sW]<}^׺UUPAV(fkDHU62010
+;
+
+2
+n
+]/_E2&mې4^b!?ӭT@!g8zW]zx.`//+L&|!ns3?<%SITDwD!G.Յxʇ%G#9aH"FC?!ϯ0X)NΜ^=2ݏ%U瑕 9Qp!Ki^j$'eW|Mw+~* zcޏN(_|%R؄WF1/,D?R$lgxAt8J8T2x3iDA@}ۛa$U] A$H(c-7;/6,U@b=X ПvTo1Kʧlk*iXI\C/3kTB,*Z7gZesdO&WXhQsx 7{ Dsm} xP&ȫz) iذ|kWR;̿LxE,gݬ6?}>9RYIH؎Hӧ٭sO(gdTI;}xt?
+)ۅ#,:-,Z>
+֝eM%5qhR ,cǭGjE68a G3'KyB Svj\QOR6eCvr]Qw(b7"Hwү$ݸU ӳŅ6T[{wpיe<bv?䪜ЁۼR |-*F^W#U#L'=[dpYRZ@rFt_jlO],"g3磺 ݝ
+y#ɗcb վ`x htG8s*<w3`$;cqWm:yR/ΒKnnfr^6%"<NJ!|8xqhV5}VS2ÍrCPiVEɌdn襇vIǿqjMVq$rld=p,RY
+$.KT^}'d_BE&nj@fXV5@ _V1cnM:dǰsc'se 8ۅ@})W.ޣ6[~VTkw*bK0 C2LdMXc:Kz&|1>S<4 wu 7G\peE4h Rau93 zYaRH\r D$%dXI/q1e2#hsxR_N`n+ߟ8HGKkloY%*y?8Qˡu%́۶ko l#׶Hxy eiؼ֝d9Y+'|מ$ġvdŠnlN~c5RDE(L OL;Q23U*hv#l /bfEqF4RxY9bĔ1vO'a@k /w%z k" %yY?GaFgauaw`\3d10R郳Q,5φq˫79aKo :h kҎ~w5it:O*VN`Mb }& ; Dξ~S])_b:h5>btN03wDU#d2v -0\d7Aa/'Bv>Utz[!69)
+~H{nmQ[X#d]Z{P x&t-1PiT*qْ29r ' I
+rIhoUjND
+c g<?M庶G+)CLH*/+MzS>}4BG``{ z<u= ;Q]ZvK9jC_WP
+a RilNny+>VJ"G!?;%Yn,ّa2/#vvK\8%BL-!>K⿍jT@(\ݷk,S؜Q@ssmZ7d9EeXDm0|۽î6Xk Al%(uWMԋ{Exs`QG0oTwMI)5_W)zf4fbUg_'=df\ivF@(K;}1$b|b- 7MF'"u{u D 4$3M2Bf5Mw3ڀi"k›%:Ȕņ9Q8#x3jnػy4rU"(! L*ӻͩ<ݟ=-
+skOΣ=`
+ю]ts]M623)Ժpvχ)UƔTeyC$ {llr}tߤqGw#j,K6fY판w2'pKWN~FxTA#"O2d S+XS$\fImYo
+C4ogp%ѷ0>
+i&+F}oU7{H4> >CfԲ&MPzBt%a<q6|8mHQ66 ud<:qcn"MD6WH\ҝ2>=foY[)A:Q@XV:I@.ʦ
+=k ;;6vtţ0v>f][l x%_g?}퐩q_ _}e($N H^9O
+O2%0;:ܡA?/RҷġVN9 4{cxҏl
+60D03vb?J7ZK
+aqW,E*XXǜ<l<װb ^U3Ipy΁ u/gJ(ǃ,W?w|iY n8.R3o[5] H I^F6i0ҬbC dnh>ʗf ya#2`jU~
+H<HFm;vzM 2 +JLi͌Kh7*>jy1
+ېt?Ӵw5
+f
++sHya40!S-ʂRHo_CGv`8?vJ##̦dD8AZ-Ғ.UZ(
+ ?`.ןX}Bd- _6%4
+'|]M5vlX\ο@ )nBk JHFջ;JzpKeDݽ$-BU+H-SĴjO!YȚ IDNҫX3AԨf`aS'{^4W΢
+='|_PwĶ@H{:twT$BL[$?jI<B#R`˝@TP-~ɰj1*6`t`k8B]@#Tii4b%k2 'Wf8򣺁FWRFF L<%9I ܆%gr^+DCom2vˠqr^u,ݭpư 1x@: R}
+|
+A
+4s`T 9'9.4jZ\ I^^BmSH9PV_}BJ`Ga$)` -5-p=1y' g%J-UdGboθFL{\M Q_N`1:BDoK&rV:~>ǸVَ/`
+wqŅs$E<6/Zo`pZo9')\^
+vcпϴhvJɊ)mdPz6k:4qN'xd^2١Pz+P]x ?!ve<(h;YRmUW*2~ky:-N h]05+_r_nxZ"3NgFdKo#xgO{I$X"УԒwK]ɥ8av" [5˳SN5HvgNn5i7
+b}٤B#)oFa;-
+d[\y Z!++w :H}2xC TDonm,c90Ca$lPwb,O6O=4GUpw3ާ"qx+7UI#xń>}7egtx*%3ھ,fOvR8'm6}&NpW7SO\\Qb<G:&W`1С!/K(^
+Oad P=N u/GuF[dMah#к.U2os15@tֈ ndI)GZF[#>ʵ:MsV*& ү5wn@Q67ė(
+,@nڅz
+g7%Yhu/:t8/ ~[6۷ۧcTj@)@ȇˋQ:KaZU#S"h%/*O=Gz$MEhT^\v㊡qI?JlNdL{f_Iܑfas$XDrIj SK\34jjT)TbY1‡NiH$d<+=lݶ5s֋pGRsb0XT; 5]RPg7XN
+[lAn={ÆJ: (? 3NI<e7 Okdwv%;4Yi 3x+FiL>Z"fIryżzh̾F]ͨ]": D!gҺȯ`}tR #lBt60@rn&aA ;/uW*"ehL䏈\,j@m"{Na 6:4P)||C = %_x7@7cOp$ 7R$ߧ`}#sV[QGQfw1gڌc8Y
+tid^+r$[u6 P_{nx pϝ@Jꤸow.|~q6gb$\ S]ן2spL\^8d{GaF{ꈆ͑& NA_>kyx;M?KTRaN:k({!S_ז7faӉ(]rjY>U(1O:G% Y)C9Si^Xb׎kU#T:\ H7#ETI 3TZ~b? lF0hƤOiy EHK/dd_F9uo9[)F:&+dŷQCa( `Dc
+q L_?W Q7$X
+'^ai-5aPPqK7z~{uo КMgZ!aoqcR1:Y{ Ƿ`R|yG=A, %l)O^LX<Ab˧ I9q8Lȉn$jLf#z5*Z Kmۤ[# YU$;.6Ta1<W[Ct3Vq*dPE^G=Mq;E+ju)~6JnV&%c:54?320qk
+L'yS&\aLu}si}" z݌:So])~v'pMM9˪`0,LDl2 a1<HB/:R]qCۣ
+%atoZ-(y
+Mȓcv:%a d_Tb;-Z$َCJ/Hp\]cBq'XX_Sz[=ϡHrܶbֈ=.~(s* qOt>uFgUFNIXuH>FD=O
+"#
+g&Q:@2pjKTKȷe&ȻjeJw;Y<ΞbkL"<l-^&o?.I]"n'%3äfTJƶҵ]9f
+g#x0hOt(d U$#N{ #0.)QhڔvgИkNf
+sNӫL+BNY|6c]1Pg e!Ҩܪeg~_18{Ց?|.s90m
+i̳;KAg}[ -/Qkh  --@ # xvl`yL1DR;+J>3\$PUAk
+&f'mUZSKWk(8)2\'+4'CeJJ@mOb(dRc̀}>6|'.RuK[r9u޸aːQs6"K\ZR7¯D32~3GX
+%+8Cv$_u͏0Gǰ2.>q5Rʂi0GuglVR Edi֖]w#x7a[3r YfR@;!Nbȭ6{kġ݃<߲D>~X3dؗ#oXlQeSjw@4"eLӓM;`MhQMш`&5- {~&vdÛsRGTXJLEVvg'3t|.W,iwvZf0i *Pl'M B&4ը")+JnJ
+2q4b4\oϳ1>e*lnJY]6;v016Ÿ[FQ.ӷc)n(Ofc\ ):g\SN}Ib\_
+
+,ǻ+2L ?}eN|2s%(DyD <&\r޻^$/C3ӻ8fXwxG#
+Gp_3Mm!%dF$IQϨ2[ )0DfRsAM'y:M8EwNEv+x8օ*#!-ľ*.xM2wȟtO:hOtv.K oվZ<e+cYt@1 X;Rz~tbTAdHo!4UuȡKT۞; ػn 4]:ҿCͪ4mLĐalt$ˡ#;ų(_eGDȌu0zw 24ސQ{Am)4DނZ"42!_Eiΰ&+hVe9եhGGVuy =%m1Kq_'Ґ%d<Ѻ;3#R} pb )<ӈ,+adP&jj'i h
+ϨEVT)GqcapY1
+G3 [όq;n3[Tdgby_ &Gg #0'؁sS7eQ;tMQ8Nj?갺m8C)DmԡXR<o
+o0| =S<e τ):"8ReЫ;>> +}a?iff૘"PjOe~qZkWE:7WD -xfTM#U_F{[T!r *E<DEXӪpBZ?t(ﶉ>$@WN(`~ABu,_3{dNMڟ#wwV8~%.ܻf.C+}/-
+v{Ѿ YIHIM(3W q|a/gbyD-Zsc/gbPPf
+8x @fo>qE,?DN_֑ڭ!dY $s@b!`'tHF.{cW/z2xWD;L+eAP8>!^)F0B)LeBz9EF-0RȻL=RD&oۊjX~?6KuhOTqH#WTN#
+5}(ǻb1) AUa흅c4cրu4+XunH1
+Չ}U:i_<d[N~@ W֟xl=>wv&ǺpPpFqM2w>ʙ$|筈QQ:{UMHnCU>,&w-EncLRHsgiuSm a|AYE:K c3Wp t3f{KB'*EXeRlï">="?I6 0Lx8n|*HNe.<HM:Q_Z)1
+k J^
+Kbswk<RɏwX(tFτ'7-]%i\!) ӈawScm˒>G pڨ';gZ0 HGsku? a㗌>Jr*)
+vU#jZI?مLNΰ^%I!'̽3aQݴ[A|=€{v} ;ZMX/ߔX.,^e*̻.3YVrLt>W_ylӏ=r07.9I:8S,PvZD `-qV}2ewؕ.<wDPR{}l!}lY~uXԯkC)zv޳ q2z,9;wv=1g oE%,*I"Z?Pw`q6go6uYm\6!S3(g " pIE0p|yި
+# 8@sm>Q"3`1o<xH`T`w
+
+F(,\ S·p =͘"O{EnC °/)4~k8M l٠oV(oLS ZO`{=d$iH;)U݋5B=D^xRmm84$ScE8eܾ-5,>gJS-d;}xޟ
+yHcl2n+cgRwv/n4:q 9}vT%mjvvgBf]ᣤ*iб d\<{ZA<lKM^cPwM?0`ǬġsS >nBri[wKa̘
+DY`UP7M n0*_tl8ƛ#12cZi6Blf.p`az89h6T 8`"e2 0zh
+fj'Dl7݇@h/OL2]G֪ ?-1Fg--E΀b,y'o`묃IY<UƐ;J[LAbf m
+T ?]Gx
+`K -ZP,NE}]~a>״W66d0^ߣ4~]L;&ģC
+9#7q{eWaCio5 d<+_T6q$v;%k*r_l[
+kD4O!&Oޡw6S[qʣJ5ϼ2+hsQi*[!u;HWg3hN]t+SͭcmPl}=>/i
+N3(P8քdl9RًUΤ]@FFҽ ؗ+gOl乁!AUc=Fc;EqEFJS\gRyt>u&*,!ևA6q#,nc+8;;t=hg(NTrlogOŬW Z:Xʁ"%B΁Rzi{֘Bhm1K88vS醞ntDɄ=$6QkP/}K
+ᩝQw]Z uSRv mDT~5F\$\ǹQ^D/oZ]`'g(kIb]6"CI;Nq<&AYXCť? EmTՏ?n?rf
+P
+zeE<$8Mjl N8.奵g[AR8 8/ח)Bk.h!kյ is'qnpҲ̠ G;,~ hZK?Qhi!zDVvEְ\W
+Kn٦j|$mG.1`
+g3R9˿mNm]yD ֨K1D<@ S]}w'қҡ!AoP7r񇐄 |J?Ju9`ޖe;.;(b摼ֲ p1->OC-byǖg!D̲rrϘv#y}Pe|1}v˪\$&-іXM'dPeex*r \5mf@J !!& CxWA\Q1 VPh<>cr+xކދ^S{hC*判4/0ɹ|}=Pe`u <Jzo- Jl A\˭#W.u]]a޿8j,5nٳgxB'jox䋁ԆY6bkpڣhR
+ y f$v=ukK8PQDUu{1.Q͊<Kw>_._֍UMN5w% ߌtq nĆ#,a.#O50"R4Nłn! 1Fcp T$FV0ż]0 _^6:MK}@P/zʣD{&t?F}γu[@4zٖ81!H+w'/y'mw5F 7ʊGf1Pw'k"o:^Ξ<9 | |j%sl]e-TmShﻐՎ NSa#|!~XAvD~$mnX?mY83z2^f JHԱgB2`įnDqQ.}p7m~ċGI 05=vXZJGJ{Ţ3@#~jsPP]W4?1^fȂaYsQ,5̭Fd4V`SMz5zWzsJt {)NUB};_콤֥,1:!uX}w .u!7gצ\RH-n,W@yIX+_@&1ϱ>3TA4)m
+o=ӈ^,ȆkV!EʲJ<Nc48M,!-,paX|ѱK ޕN텿]*PH8PyJ)LcЦI|O$I1P
+`ωj %E[z.9>̳pO"@% b;˟we#xlO
+ѲQ>ɤͬH_ږY,`96%9c-"r;:z{':`eUSэY^Iin ǖW]G]SHL]D2֒lq&tB{l]=R[asW Cknz-|i&>BKUɋs%i&9
+mP?&sY- 7+`q钳S<B(I~}(w9;#_>B8
+K- M,ߋlC!(|2"4hYl)l]<[R4ɠ>ar "tz4w+29 die
+109gаjO\7pOc<ne#XoXr>CvaS<!v.T2Z_nq Cf!GcH8U* 655^؅KGM;=)E*8yXO cJUI8TkFE.haSCTIT
+*>D |/l.%|=u\/tEꨇ{1v
+7%G"2 Lç#\1P?+ i:L8
+endstream
+endobj
+11645 0 obj
+<< /Type /FontDescriptor /FontName /WCAPHI+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 700 /CapHeight 700 /Descent -194 /ItalicAngle 0 /StemV 117 /XHeight 444 /CharSet( /A /a /b /c /r /s /t) /FontFile 11646 0 R >>
+endobj
+11648 0 obj
+<< /Length1 1769 /Length2 19553 /Length3 0 /Filter /FlateDecode /Length 20656 >>
+stream
+xڴeXݶ6C ݽ).݋Cqw-Nqw(o{uy\ɓass{<I(HDL ,̼
+r7q\
+":,L
+~?Pt/f
+ݨW)C5e-԰B9=K^U-׽?Ӱ)#-Va;} p.7G[ Ke)wa:^JU];CM=
+xTԂg>½'eA.+r1–P+):Qّduyڛއة0 ##Δ? 09y"]=g}W]V[{H s%'. :ڇYPPp#KP6JsE?Mk5n^0D4C#6f ټhS_ o}~w M6
+M?E&{ D
+ O/d}fItaGGq4'QCnI46܁ZJ6]q',$E=@U}j+V8Ply}j}r|[oPRNSzCe"r["+pnQˌ)+Fj8#4vi(
+':㈰l$`hK&aPBCZZy{×WdxT,]Dنn~?Dv_mBW}3Pk>9\xځa\˒]6BGwF1U(fNE˳./R
+Ϛj"zͺYb2ю>{pH͊F;핞p`0a4w#
+Rc,l`'c|md[#壆/g(`ٌKlI`a#VTaiYĸm1$Z[( oQQ ~Vx ΑzqG#qe 8HU!gK6cK/ ʒ qz<#+nWTxω1Cf 颁@i sh# -O[l r=XݝOs.?bNj>)=ФPbOeDb6C.Cj:.RvBSph__cUEdo\{%5E~#fZ._.?ˍ
+S( 
+7I׫^cL;(/x
+DHe[{=G1;,iT_+%<[F](~gKgsF#z2Q.!49Q;nԈJEk/)Bdee]T{i3uhG5h2h#j P r.V<9%O!qMٵlEI!tnl|_6AYsr&R_H/2"2$$mX!=xgqg=y WYG6Yf{8!9HȒgox8 I~
+*
+_`^C(0&m[X;ξ<nCj&K^,4xj;잼PmSX%SfףxО@Gy|^4 ל Z{^nP80/5lւt 4ۯ:BWގ{ -OU`$贽f{T-IcC`%HvQ_d-s*Z+;jج+;[bCo9'|ic= xaSa@ؐM.a[3*!R˕F̲eJ^-yP؏ F'I1֐>6mPT}oܫȁqj@`Bsm*g'S`UiZ# _R~C_oݏF8[0D$<!d4T "ي>GlT-a
+=r;[?x"; ;I{͙4]n#[356B~X:= gw9vKDZ/kffprdfM䱋 ) cZ8S wgC7D~a4E
+9, ),@?N{Ȇ]^*\HsÀ@baNn:C2ˑg:H_`S%#*SN3z]PߡO;WEbCڃ_5}go5l2Wq/?ǟJ(
+PbmaJ*Vf5j%7449=i
+Lcn=JuI|xX4KGQϬo P03F啚[/xMޒAj_<'ڎr>a6ݐ;wg |$Q96?{* 3,eB!?!6c  *LD붞$ "JQ884le)+820!d}1 +'|{*_'|1}9lpG
+[C96Moy)|^e-!6<LQ/-<t޹3 BipxTx7`Mt8z+(H%љC%T,9L`yץ<[+;VASGJhYXRAc>0%3z$1:%ܩr1+$_/h!NvV8*ڢo[#ܞ8ϙ#P_KC:ߺs]{w+r4'F9`˵w}~{w(6s؈C-
+2dcIaEŌ$T^{Y/ҐrTR VjdYi;aMC>V =0Bְ}y%$)6{m}S?Lx'^S)x[$Uw3Z6*G)TdNF%gC2w%dTUvB֛C+D|8َX0] V_%\1d=Z7(zԚe#g?5Sr~.@/BrCP*xbɺh/I%,FW-K~T/Fkz/de"U65ΞnϦ l‹
+ ; ,n
+^X̭R,mwSkʔ.~LOvDK[n]6s9gy
+T|kz/:Tmͣ9@FQ.#7TDFMx<!N\rzBq!yO Fj;! qh۞8|ahɜ"A"@%mգAFxQ}c0 |rnu6EDɶ%Z_K_Ovіgp' 4Ə.L|/5hyY>-=Tb\(:d"lpS$8#=pUM6W$D3L[c|nG殞%wԒ] }uȏD1st<\Id* OYoo/e 3g̈sE!gг'mH )h:%`aI'd]#L=c%湄5UpU ݿ(JD\Zu
+*zm0 įe@f\u:zu|%a>a
+)"7)]dR`5z/۟?gn"
+;q)d^G`Q߾fKx-FJC\#.y⋛@P7(#axɰRښ≶;R,r#@/GY*Tvq $D]6\PX}R]6[t+dEGׯJ?(+^ &mp)b_#@3>: h25+%HA&2NkIW!` XteZҫP)wbH5z@nHW8&H|+ѻEIABU͵N
+=s'=q[lhJxEibTBe~smޚ 8tu
+K9|j9{0u6M 4jh= Z-mb.YHF[N0woss)#+#Q<[ cx"a˭tqF)ju`gJ%Zݮcd15?ٚ I)˻lL-{<HřA݆isrGq:ff_Q|d1 Rj0D_1)&< 8-'LK9U+5c}6BӨz;EhԔRηE蹼79
+DSV[
+U1MՔ2ۃt*T(<&ްV8Ȓεw/cFdQ/ɘ0 1ߚϩD){n+c_/\
+(=vyI=ΓH,yKj#4mƤ SӚIHu 7)}U7iڝw'ߵgo2hgæzB[N ϝIl* WLP)u@+J <UrY0HfJ"; OÏ<`-CVx
+3Pڬ4!vGy`&FJ;(e計ҳ'u%FZV:H*_k DFVsf\W4`4PT xfl'8kC=P3ưBd R~zBnxK[QBͧTÝ%74')Qď/T|f;lf;Jݖ9!ʇ_gĩ7DQɢv<CC-K:ìY<[#"fj#`6SH7`ÜM~0q9:TI&T̪c4MA\҈`r
+~Sq\<:ek!1`HI$97k\]׵Kd>i\:Q;B/P'Uw٭(lwܗe1%65TGaK@Cq?ApshPRXZa>p:; X7hRW7vnVߐT
+sԇpdLnNn+Y"NEp(KKkbz7vjﵾ]Nud`j0;kҶg`Ud
+nTu,tJ\W8M
+⡣Y*C¾+m/ 2 ң{gj9.㴮ʗDatW 9R9tb<3v-Zb_ahRNF$*&С'cM[N`k^bT;:Zzo*`ʅhK\AfuANICkMv-ÐYp38VCI#MIdbo7K+9i޶?G9{/Kz◑.0&m=ND''پ)M1RiUIS*ؘƥvg:
+♝w<+8l\DWHʧKHܨ&<{dZP3Q f㧒@i&w4@z~Tͦ
+qFZ[f'zgӈ%nqޜJ$ (:pRxE~\B_0py*[ŵE,{Bı
+2ɯ%YM@GEldڬ1*j$JOyTPL|<:=1 / ^h^q> ^Y(Ow6
+,3MP*Zhu-fh*ω@5{1N"R?ܯ4nk3Ŋıү.vի尢;X E6n(Z4E0gt@=ǁOя[ÊG{MagjĔ~Oit잴
+^ s5"(mg1G,DVDž~&0 n{!x+OJ!Z%g ZL3wUlIۇ eW$`18wFsxXF4jFңSLh*#hY*sx 6z s@en2gPSnZ_A|2miHY6aOp3xrPBɨa zL
+q㚏<{7p_2p޵</ݩ3AJ>K2>Ln.^DQ&Jq|܈~vFo[t|zfCtZMXr i{­jU҈#`4|Ct͠B|HGûKBT@'q9l{`Ay3 S슛'|
+]a~w(5cs:55ʋ_Q1!JBOf\-Ηr$uosp/r؉c1# t>Q I!EϛeXfc.U S'S!~CFFbɎ/`tq$QcT¿޲$,ȗN]VZ 0ٍR:Ca af~ y/5)* |^
+=Jfu=YJzG%_]prN}ɘTz*ngx %/bwzHF|L FVbp̟PLkIi q\Xm<\?9ߎ6C9_Wrza=&T գӥqL͸/O-sɹayІq9ldz)߽*BgJw7X-X
+A^NpOI%tzN @\GgcSԂ@ap95ᾨBZUͩk#j<,-Y2=Jn覉 E2dC8pcw_*RХ76qdiؼlbRkq=`[_ZZ\i
+n,O]no/ ]PV"q${iҩ_y% Vj⠶tg,(8-n66Q? W1so牜GwnE^\޲A'}`XcXx]1Εe
+&kLU/4 72#5пӥ4fSfr)Fbz c>6BnM0ӥn;9Ure$ m`*Om6q{(d"9ďrs10$(kzӜTBA U~T^v]</]_['{Y`?*-ߙ0Ơ" X%/]prmߕ0GfIN+P͒bK+~SbA C{>oV4GWkKӛ p#cZNs,0{N^'(K 7‚E-9-4%hjrw6BElD̊$;o)(>v/UT"</|[TWouDj$ u˕A19SJ{g7(dCjlR'yQ#+\!&HQRa4 }rUsW&\Bu P~[z:go^iCiLbI!ӅGMdK}cHGVI,^|bQ6 eQoT{CIWԇ|%N2P4<ٮןֺh^LA& @%BD됏{z=MVd\wKx[-☭luE_ (^ƺ-7ܿ=k|ҐyiAMxPƲNZ-\}b Qz皬@сiě}gk:PGO5Imz#AEh폝q.R(%$cbwBGyi"-kuiy)*Sub 4*HG W/3-vG1L"+LP8*32 +Ο7~W}yD.{9Ĝ홲|E PoB>< ́Mľ ug{ELTL `h"t1X`luJ𙨡QۺpfߠI 7 >|)뉸yCh?!@3^m_񥰊=@&egB1үxP._Vcϊ[ZD %6\&$v7ꬤLdu?N=e#(+H:}|9u".R׸a|//$-c8}j3 _qnwSOA^kݨT2a'ܟbpZ[{{oN&%@arG_ld׼m0eaQj09PǓzg %?U < :/0cD)<2h+U
+'s5Gd8OOG^%g2ebɕre׍G: (|k vđ7~bϴl='"u潢KFZA>{;؁2 ް>%ltqg4R26TGm<0Y-,Y2.[c6/*֟3PE6.TTR䈫9iPݑ+/k^NsdoJRLlJp $ri*=6$dbY4|tYWx'tB6Iy=gNcENS+z xMt~7-]ѩKwe콓mF/O5ߊ\3l{ "7Ԏ|[xI=9w%T!P<}UTWeM6=Eз0T~6*|:Ts DRݗbM#%k<CyEFfZfA/B1L'SSIC ^sA'<a-H89[QԱ'̂D"(-ams@.A'9{=E49qF7qYTT>:5Dljs{c`'y EL=)YCDѼ)%]5n/`! H!5yeTZ : rRwLYlU*Dm&M
+u 9[g'Yв]{PH~yecĊ 󡞍
+"d*ՓJGZ 7GXJ-$XӸ
+?98@7Jopcx芶$ `HU@ K;XIno.I F$od?K%18b[㎍jeio^o؂P'+"n`S#X՗+Bny zZ,-a}+nh_tci֛UsXhBu&{=TwkXd8U8mt=fc)]CGByI%q<z<]N
+2'? I>,Y:j~E*2r1
+H*
+._2s]t g}:MAT~5F\$\ǹQ_rxeIOw#wBGi; ,z@hַwc<񰣥ҿ!쩫|}O&O.jKǪֻ'+M¢jbӓ+b澶/W9 ,"TI,;@akbP%[и,B q8,~PF?QYLֆa=mMXk=k%z0Wݔ
+}D-뻀V򔤥y>N A>Q"p1\9Qid(Ÿ&6;: b ʀ%T5s {lF Z e%JO kNvh z
+LU~uBntvTXG5XT*ѕzUWmdM
+&BdL5?;|WE^$v|LKjnQP-t|ٱ
+oZb~a_HjϒG4IG\krx?$Bv@L" S޲핬1JőhnGվJ)i?lK$G$qp[3 '(AȽ Խ%
+a'<塡\v@o7UL* 0kufnr "s=qֹ+be}Cȗ,nq0wk
+IϐaЖbp}C
+#6ko)ބB ,4Wnȍ E(iRMlqGq>BSxw $5f+q-13ߌз?SKaBQ \ɘg>#{dpЇ<AGͻ(Dx,A'j[Rnt$W f1ƘUFɩ"q$YQhbh`*uӧC!9c~Oagxx
+44hH!YOeܼ!PQLAW$:RY ~w&TA۸u2y@ͿlOz4|R1*
+lتWRE%_X7bRb-+)=+;2]v?ύk;33}@,ˇӕ[Ck>'uK>%
+\%JN32[:}pP=Gs<Z
+j*6?z3.ǵ_Fa9$n?
+An[XZ@ԧAar2X
+x0 & 9Q_Xjx:ϒ'@h"ˤo]CCEJ[ƋR άUHyu!\?r
+As;7`03h #1|j#o7\رuN"1ZLC>*0]57^s"$gWSüB^"-ο[ -X0 3eVIGỤ7T\Gva/~`˝@`B9C$SSJBB˂;EL|՘
+n{Mqq>CHk"QW9)Bzc/$=2JY*sͽTc:Zք,ˋsd?F_'1阊t[=.<Gd8E<[BCKy`M|~/gQH BMtZ .Q,ZTP-.lEb=UxJ1坈ղT;mYŕu! M`M3@p^ɟK*:<5f
+ M+8./yEM`s6Rwgճi5fL,(4Kc*eq 2@-DbEu|gMH(k9C? qG#Ov1;dpV0NN,2Yxfcj#Z"L}2~6b?&q: t*H
+{O{3LKjV4E 2\,l97I_ na"&j|Qc@'(;Z$A79@rmmPXtd\,a6Fx~_}aT 7b^N٘?(>PQq>x˹ caξ_(°oזueTEWX.uޑt:1 p)SP
+n ^C
+w 9ʺ&` $2"*Vb*ɪK v03=ph)͑ex%M++ 3
+DzTf2L~+,ү|j ڹxtqy0r%~smFm&vmGlF[hlj2WZ*V4Q@
+endstream
+endobj
+11647 0 obj
+<< /Type /FontDescriptor /FontName /YSYFAJ+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 527 /CapHeight 689 /Descent 0 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /a /c /d /f /g /i /p /s) /FontFile 11648 0 R >>
+endobj
+11650 0 obj
+<< /Length1 1881 /Length2 2001 /Length3 0 /Filter /FlateDecode /Length 3102 >>
+stream
+xڵUy<T{o_FԯLaΥ C 33gfq5JHRнEѢ}Rn"nJxό33g}=\/(Ѩ&6łf#2!LVr1nbB"1 a@C
+6pYNjJf˥RőqY <9L
+ 9à(%A"_ˆBaw ҄@2%H !BBx#rRڈ  9X_!4_3PVc;!rYԈ|<5.P +="JՙyP:ފxN6 ЈK1LJ$jIQ>'!Q'"yED ˥>0T:}&7[0
+x-/w2;37m'-~?uKGw_Ȣ5k?/Iړh3t)~!Uxݼ+楔m'j=ƪua,v}Zo٣;[VWwȞPK-+kou:pϯSIjU~hhfɢFV=rRhtWUX(,pRtM=2AUzZ35.Ӭ쟨V-cm+R&t-SQNy=Y@yfBvs5. %!uɭ:;׫t|y72('ZN<U̸0X};'~ g]ݒ:Ն;WZ;J+{ˀKѦW֭_ay6ٹ*$4m:ÁK"ntGΎϷZڢf*S8ՋTk iUzFi <Qg4ruȪuXģ1/yaJV}rn)mDO~rʖHIpiZC?M?A}{+5Qg'MmP\Rɣ9s΂x͛VYN}ޘАM v'+Τ~Ό8z0k?mdFMi6ָz-p1M5/0Y:mz^2o[uOʐevuGM3b gL& =Z6W
+3Gkmd<Sʫ[ej]3<Dfh/6]isN1II?;xUP}pGWG5xfu?g\8骩~qrx hRSҗ soTVNʫǡcS/v\ͬv}kQT?>7%轄TjmCv4=bVi?!z(uH5GN,=}ˈG}g&HV5 ݧ[<١ Ӌ>GɻTo$i4.)-'? <3_$3h2dfENgS:.kxs;S|zeCI˯Oea5L9aֲ
+P=q{"|h\BS, ̸$N=\aQJ /,Oҡ'7f:74Ox~<MM#
+endstream
+endobj
+11649 0 obj
+<< /Type /FontDescriptor /FontName /WOCBGC+LMMathExtension10-Regular /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleftbt /bracketlefttp /bracketrightbt /bracketrighttp /parenleftbt /parenlefttp /parenrightbt /parenrighttp) /FontFile 11650 0 R >>
+endobj
+11652 0 obj
+<< /Length1 1853 /Length2 4159 /Length3 0 /Filter /FlateDecode /Length 5318 >>
+stream
+xڵUy8mG%"u6kֲcoc13%$[RBD-*= )Klef<~sw5NC4#h Z% C$`p#JPT甕5L2@
+ 
+d`xP+v2utNPzbP
+L 
+mڢLY0G;(DآvF##i2Dٛ"`3
+4E Рd?BƇ
+
+?;G-P" *wb?[L B Ξ@"W*C? u(\MS6"}Wq1 "!!:|ҙ=
+DgmJK4(^Oya(8Zth=Ea"%53mYGg.BwK=NA&wc ߛs{c]R/!"33Im~leF9Ky0nX=vtj0U,+R)φ37FF):Zs`@rWs׮͵#:RLoj>p>.0Dط},f=ZŢfY-;MUO=o:|nӲvf-2Rq7s+ZMM\({۷$^׃O ~U|VTg {UQ%E:Z\ԁMڥ#5 ]h#uE}FN4
+7_EIQHVLu'4 E1}ܽ,B7}-ROsd=J?y#RǾhU3%oo޻`nlUcjȑ[Tt,׹uogβO${x}0o*Yppj҇Hnk2.1̑'uUks٩ OU"{tNi rZ*sG*<im5">ְs>Olp謯Dn2"5i:2
+I6^M]S.P֖9\#oS'|W-lخ^TE֨DD
+|4-h$"&L{ԸRloY/dMM| >9bӀk<|&=&V3DK󡀦dxEKX2ۍ+ V?uNtGS/Ű]n$+=wXtRQ1
+|/IC%ܻ |MgpDu  ~o?ᷨx.a|1ܼ|49IQW4ˢv,vbA[G6d- !)B+ʯylIRqG R=ulRmVAW ;Fؘz)לꍼ<P譿e-g'djM}AY^چ#SNTeˢE
+*ԛ77oq6N,Lsmy{񒾝wC֚PF!P%Oˇ
+hk>6NOMWېyض3*Qmڎ[+UAdBӊr_=)/wKʫAFPJAv~:'*'_6j52Ҷ8֮Sv lz$!KyygcvA&&ы?^+k:g#S[7}7yŬݲ5
+%=<U\xł<ɵ- kpO!2c}m79lz¤i&k n.cmC=zǫ"$rP{_OM~Wh*uFg-@f\nziFppWd=-)ٽs4`gG&t4#9xd+YqȕEÛ%Ş z[v"]%T9oO/Lǎlԧe)Nyլyf,N: vG3P\Nb0冀0Zxcט3{Y-c4XKR!tvMEUDH&"[czN|%Sr_7 qEȝ
+o<E> G$V]43ԇ#%x֣%vb+'N̈ƶX,[ct+{SEh
+fȹx,u:ՇL l竂%_n?Tl}K:i{Vsӛ?$MyulfQ[Cm:)|/XFWT %}Ru~Nf"[ד/Gw-lj9NJ?,(h[4/$
+. (ldy{L ™ ߹ÔRe|DKs,>SP_wn8㔦?4i2m3OOڳFA>BmCMwL3{i}rMv@DĮ{!y
+rW?JЧU'ΘcJlvب˅OX7RM͓R/ ]xUfA?pA?V8^+>&)MKE_>wr]|S+ ɏ^5 ]z%ذyvFR;
+=9ue
+hvVֳ@j_5Rjeؙpbqsh ń"h=`=!&uԳ)IL%bWa^@K^
+4"v<i+-ԾC6ڻ[
+=Vk&6Wt'̵s.I_imTQ i뙏@x
+'"Y{CWDYkW69ZKͣCs[a&^]2]n-H?tZf
+endstream
+endobj
+11651 0 obj
+<< /Type /FontDescriptor /FontName /YCPAMU+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /a /b /c /greater /i /j /k /l /lscript /n /x /y) /FontFile 11652 0 R >>
+endobj
+11654 0 obj
+<< /Length1 1688 /Length2 1921 /Length3 0 /Filter /FlateDecode /Length 2966 >>
+stream
+xڵT{<Ti/ITj)!$57\kV(3g1qLfQ(*Z"%-+* kRIEQ[yϜ3}xy4rBL,; ,^F^ , )4I_X8",t3!!B B,HB s@C8G*%_x"n h1b
+e5LdY%Y|4Lć
+|x_ @rbAcd`6 Y: !$;0\VS0DCK$ur!,!@E @n#~g@؋1L Wv( Vc!bql"\4V\X
+1M堈@
+8D@qBI,xB u|0+H;|\ZHBXq>XK yc*1 tS
+x+4!iZe᧍jeH$&rD2<q2nuŒW<a  30D#a`p:y$P))@(#
+ˍ~TOɫ{YȬ\CqĽ55\3O;RT|k-ʮ3שΕv^<̖ΚUDȜxVπj5J*%}6Ȼ^Ewilڽ*Lԛ}3b 3R+Z]- \e#iwY<!q܇wyˌbiS s5< qrU&rO\Ȼ0+p3;5I꾛uk8 ?K FͶ3"S %>(KpviEz`3יִz";80ygVVܘ_Wo?¡jk`ޙwۡOoZLJV_`ȪMag(F/,u@x嬨S/ zk%bm5նc=B6_ͫdsʕ<v"6ϵѢ-;`cx`UzL2wpjThj`6I {^|T^yq^_X ,hI[+rzoi@n5Vo\.h`:ѵ7H62v{Y^OhnϬvwvI_ݩV
+ĎcN,OB,h^ʔF3eDKoz
+3pL`?nւߕ'K45->ߵS)<yx/{^&8}Vן\(Ȋ<XAAKMO4eMOwoJkgu=nM\cWcrS_stG)Tڭ$:|~icF-/~kᎦ[ q+bEi33p+_E 'g`WV+g'N_`V9TŞq Rj!GxlŐ͚e cCS^ݝ1?m,[aߙXjsGdMEײ=s-yEk{; yۥn}*]Fʏ5*+{vH>(.ΜBKI1W{&ib4{˓/u6$*d<gM*L^),4֎9nroY{Ip{~`SlNkkn^|}jhz#8EzPf}lTUig)POXl
+i> >21%n.iv0N
+dfok2Gg)}$\tMΪu?Xg^Le%YwsB3ScJFliꙙCs{lP>Oᤓ> KݼWsNJ@rĪBlu^)q7)iZyb#ݶ܆h?TiJ_y4ΦpjBlE~Q ]d! x681} J|C(
+endstream
+endobj
+11653 0 obj
+<< /Type /FontDescriptor /FontName /JMCQJH+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /x /y) /FontFile 11654 0 R >>
+endobj
+11656 0 obj
+<< /Length1 3033 /Length2 34723 /Length3 0 /Filter /FlateDecode /Length 36368 >>
+stream
+xڴuX= (ݰ
+d
+G"P 3i0(
+L
+&n.
+u9+ӷ3\?m
+`
+ NڿM44gB(:8ۛg"e 4Wv5e]M/
+/Ư#e]c0rpK3[w܈)w^
+]7+ٕ#0oS|xO7iF`>!^0o30o'on3xЁv@?g&69`L``Z88~Ykbe 6e
+ޤ?[%'+.@{6 .b{`.v\V0o_j
+$ >DAg<nP^g6]Ӓ1dPg&Ѣor|ȁÐb J?- _+ƿ^u.uZ{V &g.R/ggpM{U7:<=Û\@m$(Ds<HCV]yĥ^,̕qˆmQ?dTBU_y`_ 64K_T]dt?ΌthǶ$7~9w8I0B_eAQV716JSL$Qi&zYg^S2/CX|>\
+Ec\'Mn?iEd5KT΅EZKvսyaV˯l!~哦aB= {0j`"A.wܝ9gz#36ݰV YggK"-w<݌Kҵ*WՓ q66Rl&l5cW+\P4WM]~ЂF?bG Hb {e[s N
+ƫdk 
+SH?-IQҋ]^dq%0{rd^&6wN|#o
+pcJ}r&Ɋ)LpH9#3!{3CSW:T&U& ('41pti._ '؁*<x31Ǵ3&@D55dmq٪AȀNkU҄$v<O$T)^czD@
+!Z㠯ζaiG)m)KViQJ/INz7Wde<WjYMkwMV5W҉xd7&HEW),EFXl}^sj)d,EN?qDT~
+|X)r"zۿ>T|Ӿ B
+͆="JW23L=HeO/ܐK SLpASsr\&c0#4RG]?ͼL3ľ`v޶8e<iraюJP8zI s=^0 IhLC-"L"&ѐ.8J
+!BiU2s/6yR}<I\}j8ǖX,[3)ԉ0|-Y 3An%,﷾
+ zRYe>5ȹ[z6{ 3A-~?d_)zE\jĂU.$e-`n)k
+?+{\[p2J31B9uQ_̥ ;ueyIz7A$T1 Tln'zDogU\NEy#2g%QAPr +W0.pyeC;굓vΗk' 1#z;Z_g}2R4g],ʃtɽXSFI̖^Zrtv([5]16a|XeNġ2DtȞeuh%d>S|Ee.sP飤Z-̫ Nxne3.Q* Xg"M (0<W</d4E=IPVF RZ QxYјr
+//J #zHsǞYz%hI q+cAS-3֒9ЭHM/քQE񝎞3H< _̠N'%heA Rr"FS~ &]Q^x)Q^.WÃOui'pMh
+RdV2G]] UfEp"dGB?xLzp5 j}+KOF[i. S=DUB ϶VTDvYN,uRLvbʼcЃ;Oۢ]a }|^`)ϵq6fP?]oz}!mπ( &-"ӸJ%d6)y==}I^&>O$찆w,QPD? }VNFv'Ey` "Vk{r'/蔵0ԃ.Z?Jˌ$nTi5SE7df⫇Rt2%Zq><yɴ҆36 wU2CkG%go$ZV6Bx~7km[c$x+"%}LT˺4\2͗Q z4]ީf9_u޵;}MpAq+wo2$$R8 sEܞnMYM lቨ.تN:K~UD]_YC ~(tr\e1[(Kh6d:xÊធlGq4ۙ !YǙb P=c&&6 8UxoI۩3Ʋk);{+r/" PT|"v4 %.ʙ(mE
+/$&(7Ž+V?.^8L^A?OǪp<#^松wbkȞRɻ%%IO1 ""@"ܫ{;@yQ&%NQA 1 n/}aih~dF2?=dz%vڴ j0:^Q A悔k
+uK mXRM<UǯuT;YVdd^Ez2+>dKۋaHwfi"|ph)Pd'@rnY2<YShٶ Fa"%0Q\PQ7/Mno1 R4^b6')qrXM $CHW:N"nΠtJ(.1NW%)؏>#rDMG^w[D
+=^WnLr/a~h+-dzfE
+QL2aƳNXIb ƼV2!j'+4"?MSqcs>lw܃hh'>-g>&2],!!!t/K
+P<ي#/?64`^Aʜ@`>yB,pؾbo9|SoM.X2@r.4VeUZ3/zf6OA~~ct.#A"[+ۣ.C-aՍTx<"6{V(Fv\@;ڹ<ǏOFp EYIa<CΆ:6Fm"6_#E^XRP_As1cAq3ǢBA6vz"G?ú2BC(Vѩ*TJN*?,w!ʏ76!ҵ_,M,B}-5 |x 0QsF'DIG=!m 'usNWNYO,V-*>wcu_K
+NxvvӼҹqdٴ?Z3cVs.èj
+dA<]*sFGāqqy28I{">/UJV|yE"n9
+%b3Z| LVxZ1'wU\ Y2bx2^ЬaMe8zJ`y`ONDb1;'T9Xf%n<2̉X4U*-2t>l{\ &Ot*AaJp;[yBC ۪;c}}V`+(FoP*FQmw~^ Bk2q1^4J#B\ߘܞQ9vgʎ}QqtOuQ/sV՞^@PdndմOr(L~3
+o0 p9'"Üf/(BmUi
+aG_LpNU݈,<ZwVHEDfB WRnܳNg' ]G,犲mسU<l^WQep J@s֌\Fj̇>ǼrsN9r#%q P wXDA*_OtS*^j?򔛑-W$aq>tƇѾ+vU*sZl/|q סrqŢW<2SytgLeaTBXK'L3WN)]O> LW̸$;>#MNPՒI,j}T\#v%`~µ1K-L*!8VҳG^HQgBE[3Mw`ozHD":nEQbxނ>+Wg';_cw uW7G/oŰsu<\d. |#:sDh?[Jz;/B
+P Zp,\7A>|vd.kkir:,PױeSyVڻh{bZ;[r*],@^@yOM _5>KC{D&Q|GѩB\B;)᧛t#M!X4P sraH2+om{? g7! ~46LҒKA@'. \F)z26R ´l?GOƸ!]jc ?7}hPqN&o}yPMwJQB'aM(/iQ*˖|N;-JQCU8XJ#7!TUu^0uRgDX+Ty@t3{ɝɴ#Tnҏ%EY%Q)H[
+謮lJsl,p <6#.T{z+])2 qa#
+1ۯXT]zVƃs<lGAI7Q0Gs҄L
+l=h"9f衇m<?X92c?dgbe ;r!=+`3YF>lD-—c]D>p\T@AhyEAe>ܛY&ygGxо8>UDZ֑0-.+m|qA@ESnIG/Z
+Gv^x 7Y5 gf&ݖxFc\h=L*4&_Y~8V:V|AZԽai=bt AE+,,~| Ds
+}0 C\_uw#froχ-l!Շ'fċ0}"RUW Z]Án8}<ֱx*}ms
+؟(Ί
+Ev`)1*6}9\r3Dρ̶zk#nRj"0F{]$"]JxWyP>#۲j#;h7y.V`-4Iʘ_=;fV`ʭ)CT,i碱kn x\6ԳCl0Bj́uJ/`Lc%tOԛm~U o=a
+Arf 9۬!q3Ap[KSNk2nIVJSw2X.*.&,v㖓\Ka&z6aR:%(
+8ų-Z͂V l7353d䪄i&ng3RpdiRK£+*$5%o[L@n">$ఃk\v5y*iTKwuDmKS1O+!Δk&V@*RdK})K%́-=2?a-]]` N
+Ćd1nRr
+^h ό~*%Ī]*_ 1(~솘ጶn0ّk/..L Bu5h#BBZWڼOĻU0)}RJ`)U:V 2ҔmnSR _ _Np
+㪬3u;93fN4*f4u.
+boHΉMg\y̾J`&I(Ӄ>:ZVVY Vg&6-kDd 
+bݼwzI*pyƛYH4wŢGϢ`|va ΍9[ aZm.3 2He7m܌&&~6 ҿ'1:E럦v#ƞ" ߒ]0 ۙӈ$YJYn0o\Nv VΕ!Oh)2~eX1k$O/5=p&BU
+6^wЊl<6~lc[vs=^~:(H^ )wS_̌-U-,e|Rݤf) FGc}5|"Q(k
+T8}&+v&Z`($=:ɏ`1kxLż3Qx] ("=Qzҿ=@F 7X1'[Ke&vBmz;31n@f5NNTiPJcU0fVgF`e! hsBx
+g]bEbѮ HI=YFaՀ>}5DP ~rTu!3RxzB{[exg
+PMzU7A*S\4e6րiܗAd}sRԆRΰ$JuPAq
+yq3HZF%ӕ]$yyhg\sJS
+`7Xx|3ItFȐGnfe3pC3JSxWM3F2yw=VO c<1PVN]f rFA"7omҴ9+z]QVۼ᧾!5x;hX0}ϫ8A9vh`?0%E _rg˝5$gMPI8b]fi2Zv(F#~uQ=|F`&U9N ]$Ij`(5(Pkl\dz{ N$Iߣ;ʕD O}E7Cg] ڳ^لpު>Nf+@P\UmոƩrˡ\NȔ?vUp~#CK͐i,uw8R\NKPR^c |o>X>pԻB sX]5"(
+#i;6`;4D8 T`+>ږt+^u+-K,X~),{/[oWN*3 4; 44sA/ܐ[.8:}If~ua
+=T _(iwWge{Hg4`OK^$fT԰F{z'yGQ:6ڒ|j\3Y3-'F̊'7t7w%Tt1P&w4XQocy+YAWLOZ
+{Cn[rOPR}Oe2vL4B 1s%)cE[OuE9 BE9/'т/^j\nnN3Ki9){4qPۆdC}3_ 1KD& 4!ELcEuO$_* KXrL`$x>7RkʆlFK,hFA,АP#jKڢ^/+XNLf(Ŗ@mdsL{ߨ1XtYjɜYVcu]KZuY6nlEлK\\wB>/GV_P,:pf28|^n8s}T9WF~ISNڱgzU}r$sz!Qu_&R-"ylJ(ƸяdXm}y@ɡ j>6LWTf<%|?aUAbЀ~
+j_rf;lq%^D>FWcWT
+]7r)t,K"_"7 |(/v9b11ug[,;-v7my3=/;gqy
+X'K%Bvmh-^V\儯P!\~~aܭ鎩g`@DJhfcYk3y/_3H`L`BQDLriu{(^`J|w^<•ypܺP/`/;=R#뛾|Bi4>Exx#(lmA{%HGEL%o#v{{Mᡶ>aGI]ERT
+=1k%ֺ]4D&V=OKbWB^ 51re
+>9]b4~ ֒s?]/˱ SʸXF-m@D߸.x䗚p7
+g$4eug5 ]4B\W7\Zq8n}#ϦlGkbaN6}"=if_xTa`Yc5~r̽aMwv$S,OVšr!Ck. LKCca\-M'gV'Ro^b).0e?$&g0D?PVk2S_@nfEYӜ' C܊[W+;D(w_6k |66 |v~xR<\UR)ꌵYQU? 9Ȱj+o^I~.36F2O|00H;G*N.ۿryn12̐6Sm]+h#@GV&꟢;n܌>FӁ>)cŋ_'2nvPT5) R+LmdWdzc$.V/d@q@/HLCH TF>DD`s&wj!}2t>4zoy^Ì+/L}D YEƿki}UC/Pȷj=Pǧ^e|Px]@si2] OdG&jz|i%VȾS__ 9 IcH==uJMՏN h֜[ife䭭ܲC\<PLޯj?o+ꖠajDO%UH< ],q3љ#Wɵⳋܾ\ISy@tLQGZ VQI[\_i*1ljeXk)NԚ X8y9lJZ+o#vϼP,~3v՚Pvfe?ž>B/+(D8yd=uo̽@D%uΚY}:mn
+7_o[QB*wې
+?SA.[ǧzr.7#/xinY@@40#2]ה#&TM'WNEK0ȼ4]15yoyw-h(Sr<{7
+79u+Ul~>`Y5:I=˅Lja! KvBfCD'.sZ*{pL+?#RA7L^|[*-B w0&D#]RЄ=~*s+^-פcd>$=Ԋ=6Sej,wb= ިsZ׮rtg[?YC5HS^
+|2B'UMi)ԡO çM 4Qhh3[TDv25dٲ4h38DCu6VWIhXu4pTҒm?
+Wm*~gRE Fiz>+D}M5ZEkih+F%c
+T*Χx~#XY.IcKFF>~#)N#Hk{|k" ($mf?F)No=0 k.)=g.!H-8VnN.-8諦A"ts\AnL <>#ݘroʵTv01ώ^ k
+=2y0`ZrdSeH E^Jߒbb9Uk..JDv7ذ{q $,{Hnx!YNvqOy翹ReAwp"YNV0ԏh^ћ="~E=R^q;>MDm(Ub- |P|(~䫐f/qwZq;[ީ=w{heϫK8:Mq2ҎmKScS0Y9Pa KЅ(N0A$>qہ9*+$XX2O%}jyeq_K
+ZTr]?c.@e[ꌥsv3; "+Y%mOϧH;vbG ,_=5:ʀ~pt c< }1#"U^Ml(2رEj|("Bw/v<Y`1OG',~~21q\]= +UyTAtTK퇀y ~Yk㗡<1MTc.d
+^ Ԏ7 ^lC0 c۶m۶m۶mwm۶m۶msYYL}ַM*"OC?fַݪt ŠC5XíS0}&ILmd$9+S#̀@(8c PDnן#EΒϑZ&̖}*tJЈ J6(Y*lΗz iebF>۫r9tG^6#YD'N5rN2"ss
+{AP6iV ǃVQB4TFAnm"/9ΗP0qDւtPVykuD9<ג3wTfY~"F'$xk>(H>*WX`-Df"67H~QjSJV/#
+؎$q{\ Vjɷ;*$.U5hd O*i_C.|(Ի@a rDh2R5%2nu@J1YHRIB:t's&TYȞ.b1/b;Wdώxm ݱf8=Y-1QJ}
+XfdivNp
+K5|نe%F{ 6?6nk~`{"* "LŢ6h'׃XP'ڀG|#B?XWzV\S/?xقa _ʪW'2M O_t4DdT ܂f/ػ~%w>EE"gbM0s&4mϿ;xOsA
+HtE#jf+l_Ϙs@'XsyxT!<C5UΙɞ3+Z~S[
+{3gljM5,i#чSfsM$#rEl3_x`K[ Q%$ ؐǤi%pV9ѽ>dl`l&u2v&Qb<,1Hm}7Ӏ]<irFԟ$ aA̓ۥ.GKB~0F{)j.
+>׎Wq|ً>炳4)њӽ-f
+-{!a料=zn/NCFVH'iXa̤P 7xClR?AuZکe1Flwn<] EeSM7Le =Co!\p$%ɇp9ܮEdF}SjtޛR{X <T2 )`LT=QhC^NCOSt҂*"B)xB"DW-h=G麈F7# 1
+DsYJOI@:-+0}FhmaIIמ0i(]Gn'i?"buty%0C
+:{y PCDgtg/e-,{)U`?d<\Jm۰hxť^y
+ϷcrDI$ ȫ~uxqfmmc,4^ify 6aWŸ]"
+(h`c=k- p+J`PoMa
+tU~_9>Nʹ.J`{_puR^,ٺ^)^w\=VOϓ:wq PmeN^N7@F'Gԣz"77>DM"(xG0  v-ʾGE
+"(S~ΌwI!iռAKC93;Qۖ(T*;\`&'Gն"w <֕H:P
+S3FK
+zu&!|ņC#kYfBݲCF@~xggjI8z6M/8<Kvs(sLWEP][) P}dQ-54,ߏ3q7ĆУ'7d'`ۥglJ8kuϊbe&6!#: Q
+9B?~`7S0eH#s>z]rڲۙ}0 .]^5f%"8{S
+<D0ġ@[۪"/>6b{ 8R;h t;H2rj!in&
+uW@HE~U}lql"-iZ{ISvOsuEqR-I̅TAH_ϘbuؖA=97${(q}7:ԅΜ
+
+ KS4|_<kKwح])k3'o &аG(Wت)!,NHbL(ozN5Am=4+8W%4 RARwbt
+h5P%(-s^-Fh0 2LMF88 d'ogˡy>.?QUQѝ8þ0oGb}
+:ʀ[\ ۘGRJhO>U+;]Q:u`PEy!!s{tx_~c
+t\/OP}ъ)*>5Є>V4ph md^jr&w(@+ֵ0o>ϷRBA1I'1kGÁāFLp#ËyyA7dǚ{d?2u KsaB1j?
+]˹;I4sO*N: bE
+gmKӐ#eHѴs-.ws#brNo~[~&R}bщVYyo\X݄I
+ɳ@L2lxPt^ $u:Vб <p
+̥̋{(?/^˵Xayutjw=$G1WTj!NW4]xv[Fyv
+`KX"~ C";G%\r&P'+/L@7X@M=mE\qC,[-6aN6e{Je0T
+iE0`GD3~!g0B:̫"=u_hGH:N|FGWg0Rh%Z 8Ά_7h*nƋ)hW(ޤjFZ\oH><0B])APi܎XWk4J}\Q<f_oQ] K_w$ tB֞A6eOࣗd ؙҫ"
+Ф䬚`<Z
+7P
+h4[H~g -֬A'ith ݔEꅭgĪ=aQ39pEJNvBf`+6Kü&0gKP/E^?@8+4w /`P DS_iW.H`i5ܤH\9:L7 Y1{
+tvJ5X ,Q3jr Œ^" ]v<i`.:r^(?r5uCЅPB+ \A9a6ה'řzh-m/ףG`ZR7QIR1V] 2J*F
+[s!pg9qj!<@cO@=F/_[TMTsK+蒙L$z4QCgp{cn4ͽl<Ocyjf#F2~;l1y_4~0XٝIP%9&0;*% q=~1뾙9h:
+ZJ>?793&/zzk! + 4OBR+AncBܓbo]A#IYN1fQzhK\c}қ.o&;#G.+!#Ik0!Ik<8 &AeW_;N;qA=G[YGPX`?oAmnnRkc. >.cEt9_*bfǥd|uњl[woS*a74-#LZ@&J%ϦF5U e~Rn$NavDc Ldr[oajd}b91
+@f& |F(<tUR7xsPVV9TTś%е Lp[$8ycyլ>K$\<bpN:v ګWۦ >H,5^,Eڄ+L;:d<kvBpw=({md?NKK?m.Q&z
+P=d%V7; L+W/O "=+@ON:յ@ *
+5^4e+̒47FWWlgP##.ZEYEaek2G5QջK4}Sfoqs iO&ʳA
+aJ,G3NE]
+ÿ+%?ύ|t
+KMF{cI"ݗ ␓Ukp䐐%HSCi8]RpT^;T ")B?~ϋEeŢ-I NM0/OwWI:B*"jکT{uo"!F+ fwo[F0y5<&~]":CL4Ss[&)2<+=`͏.), ]MSDmrYdpt]NPrKd0I<
+XSgBb8Gj.i?psdV8
+KLNLH%[T"N "`YU2BxˆTY=o. J؏`O( v0JNE֗e/u4V4I}~"\U$$soz1Fd)2&t&y|O1ªKR\GzT6)`7"a#%ܫP~wEjm d:R,A=>/V?g߳/<솧&x,n&1 Ms)'V5چ:ZNq؜lj:Ka\!lU;F&$fi= (26Zՠ)i\tPigz,_r7b i.]}2,hğEAV%4^Ҩޗcl>S
+fjt̎,έQ.)Rr̾2jܢ3@9(cƈFƾ׳2kyC\[
+t벇azZ/nȮ3]Z ‡_PrqLYj={so嘻F76>s8qI7
+:82_x?'`б-E pI^2`Ly?;s9ƙ_u}:{HGZ;"'{=N"2,N]4+ҔX܏ "bǓ@LS<BBEd5/DUOZ5.ClK8Ѱ,@((kųN
+dET8Q[8K Мz"U%vHHw7 u!ٓ6#A?>޶Nz p?
+JYJ:&;-L[=;X+Y2t;ƾnJˋicg5?{h߮M,ch2,Z3CjP!6N==so}[#Q
+K-xcjwk; e y(7v=~\t"*%d
+2f!A \C&7z"1MJO•0~
+UUyRC!샒<MJ>aXB*,nR ԔI_D^f&]ݙ\)Nf})Ψr{
+KwXQZs`BΞO BL=4M̅
+tfԝʤPYNU]Ec' t0_EoҐw/] `ܡOTWE8;$FN><2",F(To% >O(/+7Ά܋n:9ZVn
+燺r%ak%:݂vPy Y{9hf`RIa@<k: XR_[`Kߡͦ9L/Hyza$U3&1]ܩxTŎJ w5q
+oM&
+9޳]eyPĖJzƲn[lyXT%Vgo11-J҅[L풪(]aS>o͠B{nx eQھgf(kkؤnǟgY$;9l!ȟ 5⽎w9t.5od^WTc8'Xmm(^Cz>:fԦCF> N\!:+n@ 'ЙVTsbB^{vFfBQmFEIӇYq+xO鐭wdT28(\Qk6>gj\w[A-S{ӘD
+-;xoʀ\|O %2Nhc ): mNJ_W:*[X`D8[ݡs )<6'r/Otf]I̿CU
+$/# !0M/YqO1УAZ ALb419KxG5Ş94w1YEQ:
+3)'9p ES~{Ӂj)`1:X.8ץ){d=a}Ql^KK(NRNyuS
+S-PBFVONReY ȥJ,d*5} 9N_@wC=d& 3b}faIqSs+zgvXJXvTAHOsbӖac^]Mf
+fZ/go"c %7]gG*!H,m?}IQ1^@j#
+XFY8/E6p _
+.,j!,ǾȑUF!غq$ ABb[q\SȯtK鍍-a}?q,Eu~OwV;$9 BgmqpnSDOQz<,lXL|oq4$siKt :f|-fUYJuѬ/dHs>3yҰ
+u_Y}_h>-(*&eh\'\a42Em`'Կ点{",Owxrc .RMQ`.#a+Ayprl Ө4xI1 3Bߏ
+ߛ zG
+? <GZ7yK3L"1<p|.'BUtN]p#A#>öC\H[B2]M&Gp4@0Aky;81Lrp5>[nz<{ΤC9~QDԒ`|lir}(CUuJVV E=pY*Y Q&R+3D\TbS5# %sI8#T!ƒTU V .˲ϣz.X`>wB{jNlqݴ+Z
+<k8-Bcԡ+ۘ ;YQlvuxz݈#O MaB`Q56"һkq‰nc:ByJ$/M,pbZjRns:(-]Y$B@*i>y|wYTN0)e}
+: =VVXRR~6X %h$Ѱy
+˸\k7_DSvec,z0w qTiтB 0skZ{p+ǣh*M08P\_LjMiQHW< eew&QSl}b ! jx~P\1eKJU#sih޹)o.
+ ~<E˱i=/
+L
+G+0|#pWI`_< z
+WP5>G`ڭ.G'h2% ^Tq9N? hNӽb [p7Xvs5!bak;:XC4a${4yR[r ރz(! ^y
+`m*fRNJg9'T
+|f÷!y g5 z/4į
+P}z8:Yw$~
+OO5`9V/y'2ӫ\<;N0?KA?J\|tPc?9mcJ%j$7JTgCuj(-^Z6qڮ -[?KV?:>1"""Gvr-XWk roy& CJiLjCC:NÙ%aݕ ǼhN:c=J?؂žQ|Sj[[GF孲,@I۰@ln{YLN#KCdz½ u"~ɟAL"$Ws2{ܬ̌HyAcvVmϏC<*uLigMK쁲O;@S}aqB"@=04EeX2Z
+Bz3QKű 1fRKPuF>ƋpZ C@{ ~P.w~7Sh=VbS8 ϧfqEoq<Q^ÎW@"fVT(/H>
+/][Uك )q\Jfg:s_
+4)EqZLs?\wGϽe~zRWQ(
+;1A˯=0V\4 /S{"~t[Ròxi>["q@h
+jM!;lظl/^D۳egf% Jax 7۹Smޫs,?HB|OtofZwyE*uL 4 EbOu?a4i+(GAh0Fl%vHQ52 VLvyg`c"Q朚j.\58)+/Fz8}v|bׅu'Hs bA`a0_?&w#\c6<:2uA>/CƍVO`4h  g^7}ɐîO#hH{klTj
+EDbj.6.я7KͻS~4gM
+Svmݯg,(D$s߭2 !g$ҕQDNۅWk3e (7>kqDpܧ4
+8W98SsݲQi^t<[&W~|f ~WM3텿 @6D,mC$"bf_`^p5''"ĉQ".s r$+ċXb
+ͧFGN U?<Kݣb80T?cI+:7 3O$iQ>ҡT./ü
+?l?#߲><yu u򈠋jAAQj=/mTFj{lJE‡CAC] }EJ(ֶ;-[r=jt nI$+JN-m|V6ߢL
+܃<[a2,6bj t9wI܀c&a'.]\tąP^_d?w{*3"A
+<Gz]n?N".SvK(ZZ ReY( rAA-<ņTwwŒwf
+TD+
+P:0nJr l:JIg^ Vz-aQ]ģL|nvaIG$=MyDuc&zDG7,omX"'uͤu's/~ S?9l;DD* kn˳\Á&Ŀv-hyI X2BF-EnƱH-o` cB-ԈRqWk`_bR{D^lC[u4kk/ݘò0&wyek?ZΌloݔKub,F=+BNy6ׯ?Z!M~s,qIX!ҔT[#q@iYi\b#CY Ga,7t7nzwp<cdH* ^;RKX2 3.Wh>ij@{:RqJGފ1lXt)p`Ār= "Z%Rl{}fI-)*SRBU4w=*dI>g66'
+xQd,)P`Dn8ɒ&{񙒩KTi/KL'3 ~};ƞ@Fժ#Htv<&Q &a2|ҡ{l;|YC)%*Y EY)h=Ǯ\vorI=um`Us
+/̞,:OSS&s'%@硸-s:0N%=>rH2gr1 u4@0k.# _TAoOlZ0x._=P#1
+ m
+aK鲋VJBjW0JoՏ]˟ 7s*:C#ϭښ@@#ʱzPU!M_{v$<Uفw1*'ᘯSuVeg)W
+-Y$>K#,N[P}t<A!H>w~s Fv&CmPEi$Λ?5צF2Q|!WY5xU[-y iVpzwzA,"׳\4zm/=g
+mu`WsarU]l+ 1C"N=٦4
+S6YPg (R ?e2 yNSKPC<>Wtj/P>"0Db*h4, 5!I1Lԑ^HZ9M7duRWz-,h0C&>2\`iٟ7vCcno;L<pʮ0C# uJ4xsd}N;~onw{^ 7#r^{ =&$"^Nf|{
+ܬ aʿv7v'@Ҙ|li~{DƌF3# B6<<+<6Ͷ xsdK
+֗
+p1*)K)7wσcƸuĂp!tj\,͏:Ϯ6~DĶB9&qL$nuN d {@aKTPQTs“
+/ef]#,ZrW-=꽝6jOBj) ßC?7Pogx`,df0.$QGriyA"P@^)/^.2 I"s)][Nܧ[ p!pz׆-XRA :Xhz.h3"2a^D0}P:X:inɨa/(# 0:L:e^F(儎Y8 txnX,m_°$b]ۃA& xy܀aB*Z$s ap~"*tJasip{%H]%SqX
+2ŻA4LKI9B$౨{'WNI
+𦃹
+YOly^V` QB,0y iIZ4m'y1坡!_C8 o' qm \΂\Ɲɻ ^,autpŻ%幦Pm~hX4)Aqܘ6VD߁'*;̵5dO.X_'0 f>3bP
+=zAqYyxJ^>RQd(յY;s^ ⍡g'/}{ n&J(s:_11-R<f
+b13X
+ojUu7ذ2T_,msCE<鷓=2Sw$u#ŁmXggw}SlO$'{Eg~56Δ
+~3^<@ sS:xư֧>O?`$Ic|քMDRQ|8g
+endstream
+endobj
+11655 0 obj
+<< /Type /FontDescriptor /FontName /CVXELO+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /Delta /E /F /G /H /I /J /L /M /N /O /P /R /S /T /U /W /X /Y /Z /a /at /b /bracketleft /bracketright /bullet /c /colon /comma /d /e /eight /emdash /endash /equal /exclam /f /ff /ffi /fi /five /fl /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /o /one /p /parenleft /parenright /period /plus /q /question /quotedblleft /quotedblright /quoteleft /quoteright /r /s /semicolon /seven /six /slash /t /three /two /u /v /w /x /y /z /zero) /FontFile 11656 0 R >>
+endobj
+11658 0 obj
+<< /Length1 1892 /Length2 20973 /Length3 0 /Filter /FlateDecode /Length 22119 >>
+stream
+xڴeP\55@#qw w@5%{GcgιjUuSi0ٛd,l
+@go0Ym
+rrSѼ! [_
+Ji-.KrR'>JL M- hϠ)W`WKkޜX1qm^lK&->͢P!'_+tFK\;ȑ$kgW̫d
+o-ynE8N6XDmċm{h`Ìq~(ވCW~%h. ^D78i2PJ3ozםZj<OXb +L6I8D;c(:(W|>P_X^BEԨ-Q{. +. dEՀI-Krp>Qv&-hKjYe ͝2 ғ>C` Ge&>C{6F☡?NN<mJn:j<g'<r^Dԉo43)g2t2zMDC[Fx3fS/FI'ws,T%2楕cVsEѳu_]ZyQ>"
+repL{H/h"}̧sqd53qٞAryy[GtL40J>u)5iQ"DU""pJ~h9Pq-q
+ _b`T%PZY!LV@苚^}z3w6LW#- ˢ+itN8.-9K~uu[
+ul({BѓQze/!3g:f
+!)KlG./03N`Q.xc<̵҆Ԙo=Lޡ&Qz~4?F{ZX=4yҲ1O*tse] { BWNT(0~χA3_Gx
+Nեv~H`_! G?HEP ͊OKP QJaGcy3yvb/
+= ҁ+δ5ofji
+$,BFPZDv>KבqեOҌYHHe?#~#=+ ]׿B䌘`\ERV01Cˈ$=: - ~6ĺlSM?{4#âƎgr`cBq7ݡoĥ C=/@BGo#{[,kNkҬV֞*}gr W![''e?q9aE8aۧN-_ iC/RN]Ҡ ^eDn<W}]:@0Đ ?#P(:i;1PA'u5Ip`сUBg+&*ulـ",ૺN҈+!A&*zYF9VlW7|6w"'>/~͖7bwٟR$9Rה b#o Nz?9SLz$aV,D=FIi4>N\$MN"hkēg[93wf`/!?E=iO.1 jt;>iu PC#N:®edߙʩ|D)Mzm,BM#S6ȭ%QCH굁RNq*E+ҏHDt Hޝ !0 tȹk-!
+=X[W+
+^ 'gM#/.sЄ8߽12Fw+)C8:6A| ި:ن9ËY.CQ|@޶+Js3FrpgkHJqh)7*߹"%muYT{%JZb
+1Gh7 >|Px\o3?a,̝]}.>R64$F|d٢IZbasE }o_:8@|`CݒUk]"^[t'Sp4l2PڛæG-SpJ+KD7(3S(/`I3zi[kz=PVfkL|eM.a./&oaJF v#SIitԃS.Ncܭ}0,/*rghԊ'a:[|J+:sU5B:=S7m_;ACHPrR.R/ؾx (<YR0Ӽ€}%WAЭk㭉MA`E܌2ED=aj?{'oҭ?a蕝Hl/"(wпqצB
+8⸕
+TNqPy*ʴnյ7?Oۡu ;g=bsֹ6ի~J
+Mʋ0ticb#B,P kxkU}Y\qKؤ?Ҳ[Cه=4G*V944L7ڕv`W*˜W%ʲ )62?h rcm%uaȋq-nMpp+>JQ{%tk|m"K(kvX젨ߝCA g+$ 6\mP]ٜSxڿ =}.'UB)7,W2x~azB<`t,W̱ĉ׆MCex{c:0Ä[rhm 3'nu$ a*94n) EUDufMYZQGṢf j
+-IK> P~t;ň,2ˠs`bW [([benP-!ܷyf{p$]9b<mн3xm.Qr561<d
+GE mٍa
+K>w\M;&Q8_4Ikx{Kö 8 jtWK ]YļaO),Tog wg'6I|ۼ_OҋH}؇ɃA:f'5.֯Oe5IAx[|Yv:SB]"agb"j~>u;-NB껇QKF,li<$s-"u
+_6@F1ya]V p^9ͰsڥG%W u;7FlĕH+"bz٥rɺ\`Y+tFoԂ㭬#^bW, D.H<7Q>ר])iJpQ2,*X(KA
+ \
+u c)rﳢvߋsk-@ذ1";x&ίX
+}B*m(ok+Gw\3Am2\`9imƈUG+5xFjMBѮ>Kl}@{3%_׳<J$rF}
+R=p\.cn=qvŪ%$*okI8[`"gE]ӺV}:2e E49C#!lv#F-)~1$DB[rຊG[a[Wh_-&ܳ6v;焏k}#@߬&9xqKEUy_{YԺJ.׆O{ڞ`l.2|qSra!V _
+d,jbzQ9ɱSp{U^U?n
+u+q
+d wv8)C~{5K>_ZWIȫ'.@wM4_"
+xeKxDPRy% $t_yoHE`#8i|:<uz7,Q9rZmfnJlP`2y4=SlSJ )_ހ&<
+(JlfPd:3 eVNt~ǯHgwh(<¹%ͳ V'.]
+
+: C}u=RY.«W-eΑ olZDjz/3]l Qڠs4~Aߔ3Ex\x[FʋM;΢pQ̍WY?X~FI`h %0sU-f=z.P逢ck|C6_Bc,W.'ߗZ~Wj"<bN9i,gno4Rt?94֬Cm_t4g!Gc}egu$H "0G̢awu,y8oQ&¾ESD"j$Ԕ={psU|(pN Yׅ&XWAW;ۍ&FXקtaӌ}ugO .mh~Tcdd&n'E
+w-iF A$)I+:Y~bKuXgZ>S^̞!q)-
+dREfK)!1DHل԰
+|b~ Gsq4ߛtCU4hTI 5. ni*8U [K?Nپu,V'½""'bng͑vT0v[.S!<
+^ƅm`ƢtF."< -_wJ'aܐX2w7YSqF@'/5/Nc_[
+q0㖖 ]ܰ;}j7#`<B?LrG@J|uuHa_„P n2I]jd]ݔesⵛRxxo*;
+FW/S+M/\D{Kb9 ߽M%}M+6jGѪ C7=ԪЕ'։w|
+4CC&&ߨ3^Ao[n:.%H pi\&"V7*ɤ"tB {9!>98.لC&kd=đ
+Iqޓ97\0XLn*2dJO`o5Rbm}UiLvvAtMQ]ɇb8o (,Q%W ek,E^κQdtb IC&\݄5 CN6.ג/
+zWGh^]
+u[w0_1´ϙzx8e8xnY>D&a >-@gW"R=UpF.T( qP㧥Y3jV
+a$*,6& G@R\PXfmQ{itqKqe@ }' -%cӞu'+^D="]Vn$E>3vlԆɧdDeb8q;oX3"ez$Q6w"Kb C//֐0"D%'ZK+MT]8`-}fg|/<{ONQd$b)m4͂+ Wd{
+!U^-S6o~^wZ i!S|BCX}&# +4;i<sA)ĵ3=ae?;1qݣ AU,:# |N[Ɓ>1*VF/ʼn4Ŋ}
+bE$))48Îzb,KZ54,\FdD/
+B90JaHRvIS'e3<*+TUAH{S !ngE,X F.r joDd_V$a+0OGyUdO B5d⦻b';ZV*` !{} < yqlT?r7M8pXO).&MUXx
+I.n*zq+_ò .@/wObY`ӫ`wGfۦ3!ry!Q;|p"n{[ 1h= ܺ@ui;Etqw|O ۯԫGkcis֕"nt&`"pB@ifqR{IfQiX@'v%Nsv>!`E  B[[|3??
+Α8Ģ|<Fc4jlP<Szں'SU bfjv;l+ q6K&˻
+F.V$y ,31&l}g3h;n w]e)D\ξkoۭQX3W}ӈp[z'ģ eg 5L0FwZ m?.o'*1nF7~@-9-|L8u)ȸKtU)&d>% LqG݆u3s75c vGOc)FJapq!}>ɚIVOmbK5URil5yFi5pɘ #fq{:U
+#g!,ы1cGjub\rC5yi>lOE~NYlc~,Ln ;ccj{̴ vϾ'SڞG0h@V#{K`)'э4~\N1Q[4 ҹ#q!o1f4c=' 0b$N+3HbAD.zB6%U$z͆.|Sy{4U ߗ%&[},'u Wxq-Wȝqbey?ZM(s){iA"V0Oo#}0(:T"%IY<ē0EOc*ׅ:?;m8H)&v\OY''@TQܖΡm 0Ӕ\k9Uw
+Ύ|?}cs q:z/̲$Nd}ՙ+z(yKrbةȚͧ<3W&eh9) că[
+`
+UUK/&ߧ!~ [р}y
+$YuϮ̽02,.e%lfNRƘ $qDF8ւ;C ޶ӎE4A%dܶ>& (&@cgNk͖[j/]wD#VJ;hu[YV?- //4=ڿ ͘SDZg]Hiw)buҧjͷQ7Q/*Sn3(EE{q w]Ԝ,ry~PnFk ǯx}]Z+rW)Ewd~RI<AEi<,3hOԼMFhz7<pCئ)j8<#WD;S5GwbK}z_~KMS@-Ճ&ZU] zYpo#j
+';mgLp |RvA<Mp-Xا=6S;6> hI6 H<^nWɂ\v,ЅwuB_]ք Ho=IA̬PNhA3k.7/9S)%*йֽU(6:-qcbR)p"4!G b\$ڛS<]өn߱ΨR[[D}FMV)\fx\D4.fx]7,4 MiK,QV@s1VO06U9COD[~؅8{Csk]1ʡ[Ე)k0AgI⒟87VMBÁ GP˰Ӕz[]gfv}@!h@xI <Yy:21Ɲ
+~q~]f)ozVno4)Rcת~Awވ]Om4ﭗ,6k~L6yļ^"jb)t.sB<mɻ ׸/EXK{uD: 
+3s 9':hNy PgߝUVl%T:z")d/&1&(F/)._aj+иqm&_u`,6P6[Wv6UxW0sF,L ~׭:8^.g=)Wj2`aunW_JP3 򟥾,ߦ @|/#xj.nI<gn:MF B=Q/뼂us;g뗨ҳ;`>d6K@/*]5D,4Ϯ} e b{+ߩyse7-,ZYlk!T0ƭ9x]..f.EKXrEynS*u%`/SPauMse$pF4c)*F3MHťc64Ngp*s#',D%1V>x3ƨM1Cuc԰2JgN
+哃E;- "E9wIiRE~tL
+ݓ<+%">
+ر5PEX5L#i?Ys{F0-adM?Pv`ݪh8?b|c?:M9Ծj\cwzbfl|%~ (ETһE:\Ò(}\ο *k2/4W+o ڥ}͑/ܲOj?6UOPmt&yaKqe\1*'9<6L24 G%C+-7~x2 ۪сhx$R~}g8<m&TF\6+uū}&l
+dL=dxغb~o@WKJT a1wX<\?e0KŇ)$T
+usyck7HM&Ɖ<1#ҁ W7jH\]u2t,tl]sA#̌/tG.e #WU*Hh q!(nqZ2|YؑP n]o
+"F񅊻^{^MNHۇ*ņQEFV ‚-sjV<p=wCߘm[vatyYaNؼ#Γ:XBܿ
+E;\3Wly@DI5vH-Ļx./$cͪ-
+
+|Nd |~W^ΧL= f,ľ ?R݅iC C%ob 5C0[[d ɪ+TJ@SBt~n&TH-ƅVY*LCFMq꯹TI9ݰ^7&s#4-ŕAn'-X_m"#r93ؐUkfj3'MR#Mn]JpyF~dJb 4PW&<7Ҋ< (Uꗭaid^ ] .@Pfo1
+! uGG n\,YL7XF`ʳ?/P zppm93J=+1HK^5$x[),=۲?Xea让3n+f1089fϻ֤g!㓈[{p 2Mh M3 Ijlͽ10Y=ӭ;2!6+~T0#r ) quK6<6Kül\aeZw Ԫ<x~rrPsd[}I&:~n>;sd Ja w|KgptL{FZk++cLy
+vKY5*<A钯Rٳw9i5™(~c'ΫMٵF4sfA7xMj< /gB \'
+tKg<
+$Af)_Lʁ}/O0,,G+
+]?%S2҉ _vfnBW40rOr jKx񿤪)Ѩ@s7@wӝ[f"$E4U :6M=חoU*qIS#ߧhjI<Co a>ҞU>rD}3fCF\p2&pcuuPn6p駻[_{㩸 UI薊adQOMH
+Lf$CH/V1Gzŭj2Ls5.qlZ5->Ow:0oF*e%9oFTORLy|ymkO;X#M3 q?MD \D#y 7 1y:b*UzTK
+c_HRh?v?mXaޜV
+UpWe(B. FY*3b1f`z!w.ABF
+{%lYnۜå7wpMrPE( ;f?P4NLsZS/ި4Zgؼ|hхy,gQs0VIef*4~_S9i2'}St~^(=D\2YJ:&!y순 ]. \yt!gM2FkWY6]7s:g8K&'k6=(DV)?TlLO3GAt_uT:o&h4QVDL,T Pr
+Ӳy>]k/TlZ}eL1w,Be7 "
+"hmDvSΔ^8ҴJ[W/
+a8`d]v|; FYگG@V lҍWȓ;㻖pY>޶-AҚ(GAp jn:$ef# ڸ督>³)a̸C2C)V)-me4@?q̹7zCXq %)J¡aj I9i-Igׯ`U7MmCa oel8%s$ʒ$#aʀ,{Ƿh-D߻eɤ9 h;K°Etg9*GQj M#JSɫaη?m.o(*5 %^d߶uKId);0%6׿VϽPoÀeCZSUq]U ,l6meF#Y٭@CO_-븹`oikܯё3H_TT*_.(/3'FTpqODC[oslv;pkFUjoY#^)j:Wj0kn%b**6lI3{ϋ^Q:UjzVuR+t5}'5˳>1&DT7ЯǪbuF-g7eҹBM? ǼO%ԍ$Hq|ye<A(49
+endstream
+endobj
+11657 0 obj
+<< /Type /FontDescriptor /FontName /MTUVDN+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /F /J /P /a /comma /e /four /g /i /n /nine /period /t /two /u /y /zero) /FontFile 11658 0 R >>
+endobj
+11660 0 obj
+<< /Length1 1804 /Length2 21821 /Length3 0 /Filter /FlateDecode /Length 22965 >>
+stream
+xڴct-mUlv۶ӱձm_]{>72{^w*2"%:!c[C=#7 "L
+CF&
+NFf_~)'O ٘Z?ߕc11ا,,m
+*RS|]ր%3] ,/`V[yå.WeHdS%W k"펲<LWnDP'iEʲl_p%[U6mAG|_Em;^7!݈:}3o|gg j<p{)swu}i䥘4VZ}~+fͽI޴<tS}83gr4@WMfDֹ&~pab.X'0HC
+'4д#Ԑ+{\0o\q&nup
+u@7/{T=}5dZ역cIWj<ڶkGOz0
+T2OwxwėZC9᭱f鶣y]wU!6jH,"7k+Ai逃in=%6R%AchBӈe։Ab&mP wiFѐʲ EwKy c3X+eȭ`~nHMp{V"HF@4haW KI@D8{CډW5 )%}%'B-1uFjZʤpvaSM=vlV\u*a:luaww^RZ-ᩑ^
+2#ki}ޝ>Gf}v`-hd){9Qt]f.R4~܊I_Ƒ#gۼ/|MJܺ#ѹiXXȠ ǒyH‘J F-b-^EySr{iv?ՔQ簋9G{[_רX ~;Dq#e
+nKy&?met|eZl*9%78e6lS:V⾝dnT+(zyfwdDˣHSCrYBSIPrAng/r+w1z~׎m©'vsn[ʢFo*얙u~tazi+U{S*"K#"_v:iu,ٱ
+1JbGpROh')~=J'S_0^m=asw_3D
+C!gkH$xVIYמѽF?N_$>a*qf?yFrLO&A|v8~s+{=:I T#?7 Q/m$m+]1hkeApp>$hL%)ee}/nt-_ JT4\o<–ŀTeC}o;svYX>
+E.bSW$9ӖCP6ܛJ,}sz3b&2܁+ tV
+]!h<A2O9y_)s\ {ɿYCC`԰'uT@1v`W(s(%7qۄwD#Lv®"hu2g0=`\~'}j4]YSUpTv%!Uz:#&! 31;:gܹ<Ϊ'W$ 䀚erթq˕t{6; Pp>O=_g\-(GQ\qjPa`P hEh!A
+bNhP%AX?LtK-1M dxT.8VX
+r=\tE;o7bIiþ y_
+> pODBq!ÍBxB76Wų?] ,Y\`'c(
+;ϟ#Rq/r u8ئ :
+ z[ 8 SD5gFMɁq~rMUmUxv5ƖF&ąJmH
+~F&eB1sVKGS"G+v LwA=GGYIk@0 BWR'Dʺ*ߥA@
+yWnX'J K&K.jf l:9Ft%u"HP36T,0Qe̺p@eD]_y[{W=&Zc7ڻ<k-?8ljHAc
+ * RՊb$9lO2Mr56RjZ+o6C < '9F|a=֤Mv>*Ë|bee1vM NӺǿ^_jZTΓԁD@F6; e4oG=tAk6$hQ&q{Z<)J0|dl|s5ld$Xmti넯s
+}f
+)'~vL{dr2(h!P_\ds;^CN8QTƴ)s+:YScf
+3=3XAf4|Žq!QrlPG
+ޏ aͿ>JpAftHI(Y 1Зtû^޺TV.y>p }85Q{ A'dqz&ˤ["1wfeh V57
+$S"q]Jwy̐I1Pd欞.W"9V*;l?;<n\.?5ۨy{KսʖPi7z>vMfIq cEeL8I5y4=Xr^y)Hȱ*Q4<dwYeV̥$dPpC))mS'o;`(d~{3d? UuD ®Zܽr{q0z/KȉCZP,OzzXI^Azq}h4
+9k91Y9m.v%na{`[jM q <f.8/"b
+)׺030FjKe ?G-y[؋Πdza*S&ju-C%WJ86Z2]^_kGv]#9ݩ3B @
+3.ɌnR(Kq20GsZS]hIR! x{ l_nދ=[ջEɓG=Tr+|="SMlJ̬uxbTzAQ_w \˛JxwZobPQE`cn~|L"XRXA0A` fp]J (J%׵u* Ʌ`
+QLN8UIwX/37͢>lm`8,M)̧$ەNTt͑4PyGO濘یuSXdNmPĿI|˙?TK;@@ mWfpRIcGw6UzJF!Twc!OxYu`+ XS81y*=`QtE7՗dMhP$8 G%+ QD:+dŇhJz%Մ 썦Hъ_gQT8of4,0or. e rԣ( p\ ~ heoWrȴ 'OL_YsQCiHO.),Nw8TC45<ڻn.d$)qTv#oـ(vO%|G^׊E›rH5S s<[w|0o CP >[fc5ыw 6:s<K1ɝDs͢^v-&E+&BTR[Au{<g$3(+9ૐTv $L9WQ!x3Lj}*D,;E*\Yq/0ݭY>zKC;((t=d{{ LY$/=$}Ke]tx,) :O
+wg#b,VbWikLPWGjtЁ7pr{2gRge'J[! l)VQV
+$~F̱kC7>Q5|vOHvb~YEF Zc[iF}}K_~]hS.2r_@w["v0ϋ &~ԩP-f
+va$X/bd)D}M?2=7Oȯ87m@5'72Q^9q؋Vs6d^+&@nW̔V \K)a~洛ULʪÎɁ `R@
+C8o/0tCT7XΑ:vRQ$ZW7 37!hhCy>KF[ˈW?鲰<[C(*sBih'3ޯ9R9Y7Hrɾ=} 80ڽo8t%6䇴C=NREjedEF<`JCo/J )1[c" ҋEAYl*m<bK%8cem>Ik\@pw獪JJw06әPU|_U+rIICȯ-|_~|({*_:ze0F o$*~
+)y榑yz9n~!֝AG& tږv[\;gI q!:`~.*Q .sOTh?{#-8YPQ
+ykeWqqj?ᆫYlSH}v/eߢ<4r۷;۽zc`%2S azf܍S/;;1WLb5 fT:MS$db,my-Q0OAhr3 R2ǣ<a9
+Β*'ՙ(|RN`Ov{^IE5/OE&i pФJbl>y)ޞ0E
+*a2s(M:F'=8=V=-@ i*|4[طeTIEJ| )E!lh?-n޳E9W]9$GfnḘrd&9GfhkRZ'@?A>t72q(L&ݕzO ̰ޣ qhޛUd='>҈^hFy=Q2֥)d0W|4Qa#' k"Z-Uw@05jqtzB@5(?IB#yd<V/ZQ2̽4j`TA^-Te5_Q7W|T q>d**Xg8D:JKe% _-CBZP> >?aT=! MÉm]0RkIc+Sa^35+ĤGo|P8l}毈^~s+=Ȳ*IuiN
+/ZUG%'șBU)JYsn㵑9'+&
+{V3uyl2Wu'P8uz .}2W;\eu}482'yz=G,yOQ#bk<ALJ'V^tXO4Gܨ~v sBk[R]e0SZZx,XtLa>׼cmWF<$eop_ ݗW.~KWu% e' m?F +x zjt]zTr>ukWɆD2uWHKv]Ç!3)<1U%A(x4
+-WUB_QT]m,a7 WSӥ
+xj e~5C:]l&@b6U׼!iIxNKYUhΕΉjTCx9fmT JzcVJ,8xTU,p=@Qf,T&N H/DkjXs"V;U޳aC̓%^O,?^9-omkY0i2|o,<P$ݢMn6mfg"B|b+dPaÈ^<û(@ lB"AְPRiHc>
+ZC+%+0oYsCEEҗӢctOrg Nc&ܹowϟXpo(sq@3JBV|aV {1eBMEzP6<Yc݋t.o5DIvY&02
+pzc31-V1j(;\JlV#LY"!XKgE;HD|R^bǸnun#GoG`UX[Yh=zI}0(eO]e9+Fa-vdEqШ{ٿ5W8npvө=% 9KF(\^8UIq
+ f.^΄Ew_3cӱ+?J57 LUSĊ%p\UfX89Fs:7 ~,W nw'tvEua.L3fGH)X !Ggc TzF:cei RHPrIY62˗M[uBrL"8MI H0uycNJQ ~/9#% tZuToumʈ'r%R\ c@ k5edB` c3o0U:$'EE yzbІ*Rw]=J*MzuOi+Yqt4"\
+)
+\R+^A-ε;2o
+Z2/wgйtAw M l=l][u݋;“ZUshĔjJISH{2js&8#G]̡k&;W+%j"Ouj1(4A1*
+:vѭ8ivm54I
+?WDY=$ZGсK /A'\Z
+'
+zcқּCPq-lXe$@{9N,dbc0M#¯E:<} RSljZhe$چZ?0b[B3U{lG 0g`qs/7oUC0dل7` q .dҬcU D<@. LyA 'PO*zI`=6 #Y$N+*anY&plc*}]WȞ]#")$D4 %8v\Gã?%y;oW
+)b ˗֯REF 6VT^OptLSQ0bnE3[[yeu%wsCJuyPBb#x<2BCH9^M雿VN8[aVQX!k.^[7І"+G\@xk/UEF?~I5B>NeBvYd1ƈdA1 HQE|K?>xWmGejr*Fm.%Gԩ2ɩE/]XDkb,h HZ볆atTb>ڞuW'b 0-i3ٔo߬rܗw5 4+0 Y\lp
+ VlS5FfrTAWԽ|H Na!F(]A7L5$Pax'vB]a߇S3E>o^Ɂdչz Z6(g C^6^Ċ0AÜ%ա*`gߐic@ϔ*¯zJEdl{Q9~8b\Ej>f ۡMKXӧP?C@$U#2ܿ"V&Vg>8-pS9lN[?'Hyq^hfǧa"wE<%e+ឭϡvbM-EƸ {YHsSJf^ʩ ˡBa5 ҙ9]l-$k5k9F\to* .gÎ_Uj(
+5hɁVE 䭫FDFO4iՓs%cCNbw|+A@5F+]ZIiy˥Z^ga`QJڙgme4^yhIs^t
+
+
+"X yhK:+Q"97P 6G#p
+}DŽGp%j&od
+mw`" 7i45ipsGo]eQ"\JȬ~צ\.7nZ]fTϿ2& ڼj"E.Pe
+Ŕ`&@\ 8%U[ΨM_"l)9?Xֶ׿9r9
+{XQIvƢ‚:D,X2VJ ǂ=>0,cjƀ " 8<hBGLNg! Z}z/t
+[,eL'&jS袜qvKgӤK r'8 !AALgQY
+>S/bo r %$/5[m'Ao-z'NqA[aȨ!7+
+32 ȵYSh@B}W 69AX~Ƨ%:|CsȄkw)0sJfY X b&?)w$p t&ey]PQ E[Ƌ{CI3$@:i[uE6DvL={$9%C^ fHMTTl{(hAnӺx:*oꕧ^9͘׶ Z6)x;aYBR֍uHe;pJ73ԫ\7|wzW%Ny,0E|–6.[z& Epo!,|_,5
+$];g3Ay 8Oc
+?x> _w} ,[㍋WukFf|ZʗX>\JI&p["v=WՀfXÞ4-']O-Q6)\T4貝m+zHDX1m)p_N\9m->wB442 Ȗ~yG_$ op,юi{W\9#<wQdά'#Kk\`+JM9ӳѡ#\PhɬH,톋CjH@B AYdĥ}N`Wk(SJH}㢒V<ېC=."N~UB?"%G.&چsjO@o LM! A,Ze*T'̞$kD32BVe˩٩hbm4S_#&"z"ʃux%'뗵RX{uMgjrcCi"n-.PYNʔoi3|:?ӥ֡G< NfHQ[#hÕ1V T Vt;msp Ч/CjdͤqϿ?SsͧATR-24nr;
+- .pxҏ _HzR;`mFAV։N?RG[*B/lϩՊ8f5h <_?rx 2Izn瓂gt
+
+&et- 4d[n.iC@e]ܓe,9[H yļM ✳wP~MAe!)Y,,M$jg >.^v"r#,s: Xg0
+;n?N] t+WFyꀓ'%PnC>]ցH<M@C D.nr6߲;A$RtPנl ΰ"l9:mYZ; 3(1O 86΂y,6 WTx2WxR`J
+S<|
+OfMقْnȸ:/\@ێؕO 绦
+?FkIͥ=S,r4Wm2`5q$FSԡ!?dB>X풪qv؇i
+krЪDȢtpScW;
+gs*=-QeyK#y6 pnѕm$ KE9U "UdER]_kC\,ەKn>U _f_-4gA+:<ۢnIݨP?\x4E#a _ݿ8ew"(x%sSw`\oaQ 8Nlc}!DI }&QRnjM3>776q~T˧T_41{roS{M{68J/)!* 'eh%1'DGr5STQsxWPx{y)I/Y,B#jw݉
+EIݒ `!:E@ie"OL
+G> -ZG#T,293cp׿| Q1̕eF9<_?駘؁RU7Z]C Tv#U-NaFSۀ#>vBQ~SV5QPM
+eU
+pyh~>E\7r/Vx\=>ZBŋ߱{1-h }zXL0F`j'=B`t 4R=9in(%5ˎ<SɮR^ԅ,,6t*s^Lc3$({
+r$`4TV+;_q/MAFGہė`WRޢ IGɶA5q$, zV<'Q'6UQ&tf=C-rq_Sa7E=r9|WxF9wIܶhhJ;̝UHaH@dg|3P.NDhzcsK3
+endstream
+endobj
+11659 0 obj
+<< /Type /FontDescriptor /FontName /JTSGNV+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 683 /CapHeight 683 /Descent -195 /ItalicAngle 0 /StemV 18 /XHeight 430 /CharSet( /T /a /c /d /e /f /g /h /k /o /p /t) /FontFile 11660 0 R >>
+endobj
+11662 0 obj
+<< /Length1 1790 /Length2 21416 /Length3 0 /Filter /FlateDecode /Length 22479 >>
+stream
+xڴzeT\˺m ;ww ܡ=ww];<==RӚ5zMNL/dlkqgf`)Zm8@V@
+t
+FNLLp
+llٱaprsO>!QY
+)˟*$f8АXNj$M\/VVG'ߦH<u%rGILh4[A5 ]nɯH:;Om&5:z,2zDu-ҵp
+m oi#&+L3k5* eӅ~Pg9q]3V֨s}( 5q Ww)1I#4" ÅUD3p&{(FtqrK ph>0VBe@#V}*3NVbS:S7P.ke^"WiDޖg
+ڮfQ2A h̙iƯ~ZJK%EԿ͏TDWa !}Y/i1*B"["]w E/Z,[>NjhG^!{Z޹G/ 1i##歚be%ݺaAXGX~f-(/j4^|o^@tpz#eX.jg*gr &1#^k>vlyT~
+<`Hc'&y2:(]|4{-/MkN
+@,X2n5M̲N 0ͦ5Ƭ9}as}nR|z$%~~^w|>*(Oz3 4P=Q1ob.dĘi/CBjR)i.5b &GlwYaܚEO
+_GI71~WL{J$t>653R_I}dzY=ND@~ϊEVdtSW$eݽ
+m2_[hS5K3O=j]~ih@-XS؎/]߻hC;~EfO<(L?/٩i٫kCP
+!>"|k6MJ)+DZr\J^%pPTe37JeGu;6;N.0q^}AZ>ڂ^{5Q6NUNE
+Ջ`f=cBL?ܱ36c/cJ )FXOc
+KJ!$6+ ^}ِum2(Ws2!CьFdnh+[j]tA߯MELZObG$fP ExDgqSaTgi
+dWjh'ӡ9QѝӇ:}lЉϝ$7tD!1{,;,U$K9_OM 8R"T#+O0_ṯ.?V]pj1hs3{"'Ey .gW ZzXP׹H1I+Z-T/ԔF zU v58}$_(<zviĄaarڜ֯3[Fvѿ2|;>XBb:']$ QlUz1#aM5{
+JY|F-Mڿf\.5 W׵ ckQ֕k`#Nh1S)"{~v[0o<,p2չ앧~%} rnRC',YkGR%Fl=X=/ThvwJTlIq>DOeU˹< EjU ۨ梖4Y;W*Ȑe6,+/˻;&Tarp"]mc37&zI|az6!83,:fJ+7% #3e,*owdctt_ s ~+awY H89C-g拘_:i^$x#虭nQ
+@ƈjUh!Lwz FYuL|&Fb ϐc_^zf)js#(VUc#yFJ^ZI l}]' iIJꋶ\6!)p[ꄠKC4GZaU:^HI$g]zQژ#r *FW>LpIy(qqz:.n#/|B$wz;-z:z^"TG)fic5B? ۯ8Zm$3T*^
+il3e`I_R׵0oJ5"-86b;L)Rp=;ڳ~/~=,HZ" ՜;"R4I.7!a9CS..*wo1 9@@K.Cݫ-N<`^r'j싀 ^ L[454f-XRs?6y2Z@qmqMN>cr\1ʜv[\[ܩ\8\?{8^?㮘#}6d:+DXYɞ6 [\OcXpCD8"|0g#GV>дc:Ce. |A-X(lɮDQ nVo~m +)Y HFh|UrXN*:|U4,/7@ekxT,_ܓ%}E*4<x%IN1v/ȋ0iMf$⤾&pupo == >rp&E,CɞZh",w+uǮ/~:W؜!^,.rʄ:KӞ-y%ԟHsbf5貪&ZfA؊<Y7}NKȋ{k #zN^V(B5tϱ?B5B $S'1d38wgzȇ\gtw9§}=r.im^_0@5J!ъ&&!fL+U\2bvA#@G!s!~lΒE0-[pw-P# I^h.y3oe/fQ져fJ˯OMzK75_}r*G@Jh:UG}~.&.2ilwSRo|<ca]&a%HvO6َx:uk(@׋+-.A[MW,)m|݉o>P>r I~r8y55vP#u.+LF(#LփGCdh_7Έ]
+GYBTh~H/"wcܧ+M_xH_aSas|Vtw|{}.]/am*}h'ѕRm@չLS Q/Gz6|'Cy1
+
+3mSznᦚH^?_GWQq9YSejN&TхZͷmuwi942ʶmdG,9cB)iM)(:zo y"q}gH#6_silnS*2S-v L8aą([{%OT1E<}v#g>*'.4
+xuʊJb[mrsz"},HNTꘘ-_'O9Ҹp
+i# +866Ű )co|AMeb|IkJ|>ՒA*i*BGkӉ:5h@g828_
+Ea@Й[.x^k55`?7o
+H6覓 f@]IRiqkf13a'[$\'3B"*S昲1+4c@Z4)dn$NٕDk] TȌ JF=VPvx`1MؾmT*;4N2 aс
+%YPc8NåȞIw+4ܘTQC
+h;\FfV5O|cTXsKuGq.^8o*b*Ὠo~ζ,|ے7XmInA+ۯPn
+"PG:Љ f]d7.,`KUYK"Iukz=Q`˵43-E`!Z۱kcǒ߿z[$~su3̒Һ(>ڃzGZ{Oި/&'(j[$uǟۤD>KE)}J 8BÏxXlODgEEß~{9N&l킠4)){4qQ(|QoH||G6JP$AO_;阕8$me>wu)3mF̶[~2萟0rQ!o׳*ԥjnAyRAws cp=YFX0#+ZG&
+l ,9fI<ۅH5Û+9ϙv8% >tIK`~1mNپy@l;"p>7Q6yҖ>hu"}Q73|!\N0 O+c=kiiEΑ]e M  u4#ܦ_7吁 YWh
+Aj{N~0~=:+D6f].}y0ܥ OTE,Ꮚ2g\x
+VqcK~Bjs;z' 6HE
+4r
+o*ZDo~[Cf%S@2n=`KR,Upy ^e+UОfI"{}yoXG&=2"&h
+j?;9_
+t%Q&7=<kq CM"{ܠ!Q]2("V}|Pf
+ [ *eߧsu`U, O%E2 g)PHݗYK^ $o_CD|͜)D뤻INvO߸T>r})>%u[\1︈DWpIN0[{/~zJ וV!ɡeW.{%G__Ъ^W^!J.
+g[
+ZCyG1n>CPe򒒽@$[㯑9`B9uHiozE$9CO/JPch$8EA4ȓmchTDH^gMe·}҃PBx 6߿ݺY/p)0t˻4TtOfK<[Ihsh+k6j\(*>BfP๪,ZhF1~1lQ/%";Z5M7XIe:j K>Kt'+
+JZ4a\?/j 1-3selWm'FڒC)R"+kY Ek\ڱg>y6Oă;F00Z5٦IXX#{_?
+^ÐW}gAj 8BBb Dz6 khSTٜ]Eyv kTLW9_TS-5FH[?XClH:BOlg!O<ZfΚ hi :pRy(܂6W(&\?߂2Žfy:?vғO ^<TnhvIә}lz?֤% qLCcAoBX{X`=\ 'Lo> ɁgnwtفY b Dc`혅5G~3g'`)ۃkeE)h~2
+J鮥L5YHްܮY$
+%'{MoOnZ;NNE wO[6|۔Oya%8Qp.*X_+_4<[ܫI;T޼ϐ|Z݂cLyu—jT7(6WdjNQQ;6"q5N< Fx$vЛs
+;0,;nid~"W7:0
+ft|=uBFPCLVсiߖMÄrGĵsSHtNЧ GF\6&0y:'0Cz>37ԋ`x>}b" R=|=5d&nBL]dwP6-HO`"<cs.m1*t\^$1F'x 5kUu$0GK[JaQ~ТB.ɴua3DpY*eB_|M%?)%av4ՌjIv&# D-U?,P,k/‡8u"{y1Cd93AcN|wgX[:M3 q&t @8ִv;hk2jI,:DIrEs =
+DzS$:/FB@f+9YN%$3X{7ϼ"XlQv ~r ևR~=pȮp4j %Wh 3 aw_ǶoY|ӡ`GDZo6 wq WL:#;&[7Z,Qr؛UB%"&GU8l}UVߦcAim"U_9_&$=! GzpRyD1|r1j~JOJ:/'mZ۪|<5V5`s9fsziZejQW agbgK8;JE?Sr`bS?hB;
+\eGe!cb=rzC7M.ʙlQDdOUgN<#u @c1u"b"QZq@g8|BWs q@3bah
+d}a ۚWFYޕ73طڑB)pͥ؍F1
+֛Gا%EHpPbzU8)0Xd 9tKl' [?V+ (=/< juY
+@Qbqt3x/^{u,Ivs%nV9?su'E׀N.y.-`AyDQL$p(t,X_E]w%,^J)Ig.Z%~ٷk}7Np gձ{< m5u
+ZT#KCm<gȎfV9VBv =XxKQ
+m1$Ǭ+a) {I wÖK}xоo-7vM-T=]KC'"XL9$)n>`> q+_6ZaGjЪ)q&W}{ Nohm47S1B(=|-RI2WV54A ǓEg1[UV,YfD|,0̏;%dWrsҫ%w ސeɊ7’Yu[?~#J4K+v6OQΪ q*5"AMuQ8z*\ urI ;5K!&65J:I٘}fN mE# _^QwAi>^ p
+fWmcVie~8FrݱXzD▧>mQ(<z}N/VrLDjvN*d|n~93/苙*>n9X{ƌ T4^^1kvv
+׃յvwf=Va1PawLn쮖FP
+UqO}RY͖A}v9E7oűǒ(Č쒩^haǬXiyK@rlJ>h@d}N%DvzՍ,@sRvvy TDI=(ЮA&3mֹ:bx 0c,,~ eL1A֬'ljQZ8/}' i%d_&x_86]n>QlIx gSΡ @<7lC4C<$\;F r"ħ&
+NX[#FQhV9?a\# mL%-)&`
+mQ+s0cg o#:|I<ř؝j5d})h[.?hX3^(˪Sչ8nv |.j57F)0LfsA -
+p)J3z'&X%bȢaQ/V..ۧ*Q=>l"א+uƊo}P );C-l !A.ovoSVA5ty_9!tdS{馟
+xnJ!VAçUu?!^uzHC@z7mdRɑR18p}a`% `S#Gm_[(6/;IoH񧑻*kOt'14m8}X2~;}v7|u"o ~%3WH;"AC%i]y; $ZO!x1@rڈk D
+c:!n(@?Ե`.ԗG^yҋ~2%\zʕ)HV{1ZUu2s5ޘ;Mzi_-ڕ44Q- މo,;J ?zLá)7YʍqpFa[S/;{fNOoM,%%&Fm%v*Q
+CRMDy{$‘I%*HۿeOXp(' F}wA@a|JcO)ȕ?XXK+JfgFY'W.OKafTrzI]]Қ5 %0Vø62йU'iƅŏJr5I
+M[:O4x-m%Jfn |QB aГl.Z|ǐ Ut>)enc}Y:{+1[LMw+cеЦyRf[|JXt@ED3,̨ kfh;>ԳI_LЈ >}Q%ا*4=n5>sӎQS+&hs<ʝG)_f'~(X7e/@$Q{~K"誀ONK|1^ xfŊ-{ٟ# Ϙ- 2aIHK17s!'*;A `Z7A!5.:roR)OǕ導Kĸn;{3pWR: R_gC]mtpaTwCqhIjfWtU!ˋfeau&$'OXJk5JMHOt_L <^8
+(NՂsO@"A}\3T,o lZ{|'[q7lS\I='cX`@4?^2~M"MJ߶ý#
+4{M2>%ĥ5`Y yCa$׶ 5ݝҼ]UR|q}5"%0<Kz%[Y~\= OT4)y\Ť_"0$`Ct5_ {G&䂈LnQ#Q4:: ezN^1>E4h
+'frlEAj}~{d
+*c9 jjZe`D*p4zH$sZ^ 'CV˄(qI;Dp܌_h}Ќ#_ArhO#񯟈R jn ehRdh(s6WEez~1س% C.f!@*$/ "N,'?t@َ[A}sbq(RUhpXOJî.g^1+P0/=~0HG&g^N2%i@Ή(Q3nP^ߑ{g.guo)śe)<r6īK}hCy;=jkINo<'=AvfW>t>C2"3՛a4 ok0uLMH']4y<j<5r YWĩ,T=y%ƽ| WC,R߽n
+,O8 I8.mBicxejܾvoi
+E-^hڲm*p
+diه06f3tH/Tv^ O~1jI`ӗ8Լ%Z۩5)K
+JǏuvk#K$.q(L_AZ0ȵJgY!ȣh$*s_+nb^O1γ_
+l&ypEcyoj_?tx;ҷs|Kt.HU"amZSd||O
+94m_Go]0
+Oqvd?uMit78zVkvʛ! 5tFϱ3+kfE-g
+8sLnd14cՊ Zf `Ӷ_EK^!GHP>U@;u
+N`Sg=a42x0G
+E)5}M` "0~$}B(
+?>>#J8EAC@Kyd OdР@{f1(iy~T>jM-aM64i~WrLT ](j'?-LCn1 A/ zԪ,G?x?n2σBC\*12f$F GpT\RvZ;hւ|c=DKJ,|+IptBgHj=..P> m[WyR R<Wst_Jƹꬋgs]J a6zsGO߾-3JӅ"4AfSc4m{fgܮb}#񊎢ZF<Hq>ԤzG4{>ݿz"bW&Nu9TX& xuv7t\cZl6YU)KNP`)p2N(|w .nu-l,o6LBSH{tvLE@݇ .M+Hm+=~pb%7SU: Fe k,km+Ԕ Vo_5%{q\cҾSuP4Zb$3.>[
+`
+6-6ˀ)
+T{ `xWu=@x67sAt Lf%qP{*Lc1d96\tНwB:TnK<0fxodH M#F+yɢ춫u}
+}t;K\^JnA.G͢q])T=zR>2le"_v3aĩ1*^`OPFl27'歀Ķ
+D`sw>~%Vdm}W[w\R@v&w0!|H\ń_Q3;Yp4{z}bC]VH%$4R첅͝i. E E6Riug >3T Y?fh)LA$s%H *&襞[3iE8{[^jw^o!y2/J
+)r#BԇGX`16xFkA pupo#ɫd9;#/DNP.ߗ _64_q1o9N]vڰk*Qi\W4pH}KSvvZIO AU"ݸ_{֭5AϺzD6o#W(+tnU}Ǵp4\F
+Hp{${9XGm犨L rEU%-DvnWP
+HrFWjXr
+endstream
+endobj
+11661 0 obj
+<< /Type /FontDescriptor /FontName /HUFBEO+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11662 0 R >>
+endobj
+11664 0 obj
+<< /Length1 1791 /Length2 20995 /Length3 0 /Filter /FlateDecode /Length 22169 >>
+stream
+xڴeX\ͺ-{pݝ
+`aEHF3'@2Vth(9M]>@{ +{ G%ovFƿF0dMm]l
+ju>ˋ i+2tv[?z >B͝)
+dj/bK?/loa X Cgߣ I]\
+ptG? a0[}
+z$ocs-Z;-\[i}
+?HrJjөN=m_ן
+> *jkA81r?%o]
+1Q1T061E!hrRЌQ]j5劁`AxPjλNMTQFp @>4uѓSǪQ_Q|AE\1MWrWs/Rr {[=w 7k϶M6\֨_"㛖a0J*6dDein+jȏ `IH}.s?VOj]x٫QH؂Kj+ɡɝlKelYew i=^UX"'qc{<e4Ioa]X硬0&{},X<j) o=%<Nx[Ě+Ūf> ްQyK#HAXB$s%!DxoTϾKŝUh}l=mb)aYXkיa ZE0)<5MttI]\BryF«2Pw
+q9ڨ2ӞBzH\s(|*Ƽf`vƿ~OȰxnECvt,f7tx~8Q6epѣ)偩^{|)<s.g`_Lnd pBʜn9&ǒ̉R $,9P'sM(ci/!v`n1ވuYkO
+e)¯%\eQ_:4 Y-Mn#`j =Պ;6PY-]KJ0Y;jr3owJӲd sQ`#Mns=.%?[D6(Ꝍ3\ܷۢ5A`a[؟|A
+!"& 敃y%1گ^/[e%zDJ7M&?T ҇9̹4-70QU=>,ռ#.xG
+ۊΝ1 ˛%pcD+jF&4>FSTsXSH6n(U,Gt6BMӏ!4='uYrGzT@-4k'&r]xԣ" ܎ qEkӅGH;HHo^w<tp%N
+Ha >u 4)ǫ$%L%C9G^y+MJ%/r`OLLC+A`dM^\[<9BxvW;dwAov?aY!>ySeKvEg7 kq<Q[Y3lt'u*/KqhVj+FDF{ׯJIЈ׭ T:Cl={Ex}.7ޮZJ*Y96#}|xRsnh2 9WQ|#p{[sͼۨbl
+Ӎ&pFpHVf2kSX4h#=t4X :gg[s+٘ٯ$^֖
+Ͽ"@1DS~M/l2TX+|ܬ,>2G(А:2Mc{VlےEĨy
+ x /W?J.3YNpYl]{$A-ꁦ(Tq/zP[ :DznřE`,|YQŐW*b$bRQY)n 2%ku<#Cӂ\ng O[JWnE6,&ׄƙO42ߥ]QE3 3zhnp~a{螼hA&GxCڀq;02277"xiE!{mXOr`QM׸i xoSE ]>_$ƹf98AW7ӝ>,P=7^GsòD3[
+pm֜`6shqIaBRi4\z|BsSZ'b ]j`9"-rUcsሦ/<pr_ Ѥ<]4:tzܸ3^tP}9\ W 6wԠY\E^W'fr3\zx5PˋoJV
+ H"+ o=hkw| \n60]0|D2ii-Ҍ Y{r,&9c%Ƥ pO FOuCv Od1 #ѵ@mə$XyA n!gѪր!~i'Rd]JJ_i?]$^A^WH|ߏ% 2.Ed^`xFwTAeuUg+V$ydZajj_z\{A*ˤRcx C'ӘI'
+ӛ35L(o6k_U~f@|矂aUۂ9^ƙ(2UotUޡo֨UM`: LC]@ph[\sevjk`v'b9װF3$"?^R|4qc㹒!ŰV8azek^0v ci
+/gTVd*mD,{[
+*kGq[8zgV7<pP8 ˊf!y)ƈ&oIԅZޒls@ȁ-u>xcՃx9,GUIπߩϏ.2Z4H|e4σdZw]tş/=#}ru>SuC]2AdcYz 5'KXس-E$E3Shҙdv^.GZ4!oC&Bڏt}g!ld򴿊ڂǭan#55g% Fq~S mOP[ /!ήm-mWfgm[2z9Ѫp&{M?wk5*`5j\/JwѝFY?_CjTeSCBlI7~29FAÆ U
++b3h fdi,7Mn%
+mXs@Q!Nz\ѩ_?8OŚDM0 Hl|Jb1sWnWȴ*" :)[mxɎ:8dafWm+&rݣ C<Mz
+C&v " j|fҼyOm7Dlӭ~zRJe
+\-]l|G?|L%R{TZS"ukwUj!ù%i(bAAƲsLCUCCOA>r hCej>`{VT&(61Vͻ)Ty~=#rmʉPtYzgHvW<vľ4BrvV` Ky34hNB >ԯB#z:O$]韊~贵eX֌a^+Fwf[6Qxk*/TEtpe`SFzJ>Icwp2pf OB|TMKSw^wj/]̌5Yf>b􅺔
+GLtd<\F =A([}heit[ᤊ*'7) nI"4R31Uܚ y܈!4n {w_za#+XYxOf,gY!IWlo4Bg!vp._
+YԳ=#Y5u,63| 7cnhr6uXF^ocMAhjk@}=)^*?W_3|QsUng}gKS>tT}u~>mz&ҥri"\b,fhȕ2Tf[Ëwcf% EX^z.(h?B)[bp?"W[g`޳=ヶK !Dvb%&)4}qLyȜ/|َW Nxs$n}hWU|b tY}_bJ_;jv6+y}[jgo.FQE !n G#0'Ļ%Qx~^FB(M<ąA㉄
+b&}1OK+x;"]_uY[2ſ-I2}T(?7~VKe1*6[~뺺̙ͩmCvc4b9N~^{=f<qBޖ=\qqDEM= $x@brҐ"wR~Xzon[6$Jh*,UgEegg/2 8xtKY%Yq=Qoӂ  FN ,n TM䒞0SwJ[R=v2'0yŽ,XXU-_[)"ç1ܪ#/dް[(EaxK
+Utl-7%CQVFaM(~\S)`Rzj5+ǵ\"
+'&Gvi1A>[,+r!ۑU4ZؿȢ+mWTimZ+Y№-a_6Eu4 !(6<pgR&Ns#<ly,elzr;ܥ]g7I-3QgDp*
+4 7{I;*P',,b5[t[# nGƧeZ^ m~B[K;r.4p0U@'bW3NXYC̄,a*bzOrdCQhP-i)\jwYM4Qr[_(I6*--RAҋ^JُBv+F' &a]49ġhy nϦ
+w^d.vI 'ӄN,&!]ȗ֣uK q#5
+ۦo){NH?bpmi
+%HXdI:E#|*]ЩUGțAzǰUuVp,p#A݌h<ēL DA^2$Q1Z PZj ~7NŊ3ē`} $pd#^c 6x"UOm> |Qh
+刲&bAޒ3}_e@g`9ˇ!3_)Z; 4T\v잀#\x$4s/'eQ!v
+#9n_{;Q
+1hř|{?CsIRlWtn}q4\'zR
+|90>d;YD` I9 B:tVE չ7$˳-T\\DZ}-ɦ3I`0M^֑|Hw\{G.v?),vɽ35ɋJ~WW#G!E
+KǎD]Ne˺^_la49uzxeד1pjø, jbwʞb/$9T :/ P E}~RM'vH%t@ߏw )B}-Md@XڑDé;|vK+Cu~VËEum#:`XigǮJ-WD0c; Z:ȗ =TE'SEYv|tD~11}z)=DaC"=Bc ;~o4"-09m^ѻ;o@_@daߤy`4ax{zͭsq]B%_!1R=CO!]R0M|)X)^#m{[}Ñ")pvshƨ$
+I;FV2
+w6A9
+8x=Vݛ1@}DNcY#|\Xo}>@ ~t*ҩI~\ؾOYx^k͓(\5rpɗwy Hjl_5*%*H+
+DceAK3(9A[U#,ࣝ%㦶:LgTv
+TQ_
+: MsY왘,)ע#5e1$EǤ"huBdZWXsAYqy$yXI9h~S"c-e<+6!0J[|;
+Hk7*C"f]u3s~#Z
+rHl?LjdAp$5J)^g{Yj6GT7n!\-[ Vh'l`eRxIs&wU9
+Q !z:l0NX#ʨc%m:</ ZLTΊق0-IfM>PEL\#2$*sD^ti`jZF6:"ӭ&M%$[`FJ S+ݴf]@*fϴQpy'#w=L `Ҡ ,b鱶=b'*RB_Ӣ#+:!5bчՋ뢜()߰=lńW+0|wqEr%bq>6(@EeD>dَ [{N2ҳdigZ^͌%o 2&Y{Ws 2Fn_/ IV*RI;I9PA
+x6@V|T$<rEQ!kJDg (qd>Iu 뾝#̲EuLf/BG:k-ABQc>_?\'aI-G+ihSg`4&)l͗dqphY²B`.T>@6>0Q'SCm&Uݘb}bδhN޳!D`VOVzgG`6@tuQfI', A0*Z ڡi;J{q`2I&9b4IybfM ƈmHR  s/1W%ה
+\rȥPbIL&o,,D*%^eҕIմ5 ˽_gܱº-wnFE#0EtO8GXA2|N~'k,k8?v ]p]`YOit.Ge(;>`<9c<[%V0 Uð bB&U3
+>7g8ך53uǃQ\y u&U I H}0穩ruR ^4n?fA2Nr G ~kWT{]aR$ ػ/.!8zLEfΡODDjᵃ1!Mۧ1qu HoҀHwLzTRFr*::2U6[Qt %3rM5Ұi`Otr%@򻗗I2}(UKc}P3ޛ#Pk.@o)
+G2lXCoft*G:s/1a!a͉9t '3y\ C^eKFad<EIjMe>\Y64B }״eʟ$j0jq$p9;"a^kN(l6aBv0+1#X[%<~.WNB`J0?t
+_|Uk7\m;:d)P)`(V\OL%+lec8GpC+)u}ym~{("AMǿVtMdئɅ̚V@<34{ (.'2Чѡi[[CF"׼1wI'?)@Z&ߊ,ę- ^q,9= vs\߹˗8[=Rũ<\:8{
+uyu nU2=!"2FƊ#R:)6p݋-j
+:^:3 s/t-NeaScd(R)E#P(O ]BGp{gk<6|) }~0Gh^VlDx\TóDbgr҃7ZqPߐu}ќhT4b8zfhe!5H7I/"/ê HMf0uP_a F1r\ jn9-?jsBecrDJn3)hzͺEWw80h#3rX BH|xB.6~rrثwԪ^+仇TgFi +uw6"tAWd68r*(}] ا]Մ]a
+E]Yc"H%??fn TZc_w
+^T4{/9̚K Ddi/+hpfѥ-UmpZM)dr徰U)5h\UhX>HK@^Tԥ}+F݈Z!_`lW
+o&&Ј`d>i}'OA}Wt߳5 zLn( ! > 6dUAOOʦ-op# <Dal)oyN*|ԧWm±|uK Q\~sE,ks}CrB(ٗHxj9<s@DU0Etkc6Y/vCef"XۋɧT)nŒ7Q7T4=<~K,
+mvh|s?KͤÔuG$fij+({ 6N)C/*
+ICsL2,TᤘӤqwy];ls 痮|-&yYð݊QtƃӇMBt du{ .(UlޫBI(k3Ԫ2Hl[)k{
+Fv_*䆌Ї%+#1f;JK"6 VNw_Ȗbl{vJOtIl. ;7"7{ғ2oX,F3uCz%%&r=SmeN|+BE (F<m<F
+ٴ*yR*)! sl'YNTdny Rq35^o%k/|.4 722PA[]oP2 Һ-Q힬p.Z%y>-b(&WDtBr`{\;B)*tBK5ߥxk‰K^AmAmk25nȄq ՗䜷<Nul."[D{`
+}ΟWr3qYЎ˞"v=fbkV(vTeT Pf Lꚬ'AO&GJfiBS̆60y/!&#\8WՏYU
+Շʚuu(fр*ucY";Pd'z#9sWgEB0#-suQO%%r
+`b$(\{c$ZiɌӱn<+yG:aLSh $C~'&,J=ȃwPŮNߥGt?zhn]U@0c
+qkϾHs'aVE $Ѧ-6+5f=Dt!O5_B"vebyrW yKtR޳ ŌD6vA@WqO
+´O9Ō5^¨C}*i6C7zlI-kF+ǾnГȴR O)>4$’L!I8p$EEm{<燑
+$/&eG`\xbuDHE7jq:߾z#
+>]޿C6=~)ĖSx4Z縤FwHǵ *R
+QwMwxw"ç̻nP,6]BFun'烥SYkꋧDЬ9D^:rGd*_P4u1 ]X %>ǔa6q:=\J2ҏLgMn
+K~^glKCխ^^33mR"S+\U%Pcq[ܮEM*\"29-1zszxa$[yƣu<|ngSt>-&
+Ҏv*""uE&]m־^3ϽRuHl/F(lmSFߒ&x,Y*8: (6cKIwP6;&% GkQsb<p懝Z2[]Q(==2*gdR2
+yogxbƸa dK0߳X쒲zdˑ'q"-1HK\1uT>JKv(YfɟWZM+g.q}3_*Hӝ3烆pI7z` De
+VkI:j$/l֧GyǴ} ͇T?]IЧD7hSl䇱]gC<Rc 祖PW2wnX?i yXc\xfP7py=[œo9NkᏙ0HY Yvq jk5 _(CӽT%mK܄!{6X;AP"(g5^JnƠ5@Yj6yx"9*c[]vK q[)]VԻB?!fՓ&Saڻ8D%gR3TƏ8H[9w]уon1ŗd ozT! f}cL*5i&=9mS}+_ԔtَvU)~=/D(HHGfF0J\=oFu_Ճ~8%}2
+rph)e 3qy]ǦvoewN֌'݁ B0b0`Lfl A8Po$ݏUqVRxrm|F,PL*n^ HC2p=ѿ޼á!̒ ``c.8F,'>@.YȚv qTJ^mrj7Pst_bq\T";ljُ;<8D2cd
+< pHԘ'S^lo 1=W[i߀D)=96]-y/|yʫQMfƖm?Ĥ\P޻װη1ij"C j#< + b5/eqjĜ'N)}L[=W73=eqӴe-)8\zOG-*X>"kpė Av^FzY5ՇLITiyw g18`ۘ8 ]4ۚ8*Z"+h7]IN]x57ҵ|:V]s4^}H|͂Q$T"?Q,b#M4Ũ[ࢉ吃G plz A|>@;ַ8R_r,[SZ冼q["ZA_j@=}-.؋Xp7wB7U@͠PZjfL?VI4gI:Zijg/=+[(}DY(N Q B"8D}7^8u^MLnrȒR֣JW9~Ժ&⸖ ޿=%EmnLl@s1YLwLɒC7j(A\/XLE<nZMoP*TW(|0:
+O1PZӌ$| 5AOdK'g2~xAfm|WZӸK1W5Ш͞ ;e9$އ<ѸDg2'AyAi_`t49%B3Uexv̙#J3>G:yqqbEk#+tP&ql%wN:秤wpND-.H|%Ş }*fUUD+z<ʄ/]:_ޣϞu6*rI1#![[5<8l!9ɳ,rOB ț!:][wK
+S
+8yVyƳԥGwt0D
+pv-bDCÉ ,1e&VL~?Nu9B
+}\}=̲)Fz!8_&{#]a|4!eA-Ҵmӽqq[d4p,B}U[ 6 Oƣ<6 IU6‘ziz3Ch<=K} ˠIN["7>|e◰ۛ e3wH(=xpSɜԤoM@#}^Պ11;tk' Ҋ=.hwnkG=lܜŋ% /<hy~*kCHfx1j &Wmc%^#!.1/THBWGKt!
+jf,ڳ6dɏQv2"GHع,]D߲_oFi/1/z><n AT#-"lcppk`Rea3 U+#g{@?N-\U\ͣtOu6!c *>zG+ Rvw;yݜp*Xf76IlvyP1oL)8\fIUb"h"ՙ;0+jZI݋*b:CdD!+;/@"'OWڂ[#[d:"xf5-MUG"[ݸzK&I'cx88uQs@W:lD-8SL>~\)fv /,q@W vQ_Yq1ʕ깥?(!&x *c8vf\C 3UE2٥*8XI̹+܈PW\FXb"̻<>7v%36uIDn~,ٌ ԨŋE +u+oSlUIMB2/\<T8bi)=t\mqUş$kaC`_م LV*K'@Vj½uuY|Dʡ3<ĆXˁ6G6&r#풚!\4d$^TGakis8&]BM7 lR-c-)
+R{
+3{h"#9:{iʈqOםurg7Ed۽߶.{ô)WLh`fW&XMW=mf~直|4;dW
+1 HΫ8yQ+z-V&9^<.vٛuaa]PX
+endstream
+endobj
+11663 0 obj
+<< /Type /FontDescriptor /FontName /SXHXQW+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11664 0 R >>
+endobj
+11666 0 obj
+<< /Length1 2449 /Length2 28789 /Length3 0 /Filter /FlateDecode /Length 30195 >>
+stream
+xڴzeT˶-nin qw @pw .-x瞓Ͻ`@3Κ>"WRe37Jۃ\ؘY
+*v ^&J hbe4vx\,L]VV>$*; vL<
+@c5O /ddb vAV 8Ew &ߕ~g3dMmݝm
+v9ͿۃWgk;f ru6\=_
+MALQFZJUI<x &{: fr8!IفY;#O
+'k;ͭ@f濕7su`QY9e$'lBc
+djof
+ppr
+sI7sEta;PujP)/t3>j@RUj`׊p&-õA 9
+77΋l32's[QmŽV~a!
+ ur%ZX#QAi5mZ\2%rmٹ M*V:9`?w ݐOQnm8ŹxKfo\ݗ]-c"y6+?=9~?#X/=-U׾~c2><A"a,_x$7Q@IW~&.ze3&\J"RL~ps~4ۭh.#_+Ք{]sq]:@ q-D{l NCr٢4bn
+l~H'}ӊ٧
+
+B`yP!p D^.~vPߓR&ɛP Cb_]ֈ`+//qP$[q9+9,U!y<A\p :aRT\.)TօR2󴛽I=+v-"rPrVVGp20(&.<vPc{_2Keulf'I څ{8L&bg :2Ml6ưg3TW<e?a)
+
+${ gNDB|R|dsqJܸWeh(^.B8,G^\VlH]#q3!GE(FQj aK3&}vӊ&Yi~ /w*S-:Uϱc0@p=̄ڪ/Ji/CԹ Ѧ KnH.s*K D5EE5~ԹU%W剰7 d{]䅾I~6ssUl[+mOkHaEu֍ѻGmsCH/bB'qs5dm7nη Ё頟 FcumIXwZ\]>Iפ``ABg0BvcR 2W#0#ϕ{M7=k6_$s>f!ǯ5m@&fލnfᆓsՌ)e%D:jLکsJQ;OhQ\3813) 熾|{_e5Д!̩>!<iF%4mtr6Cz2O%J
+_:Z/={6}ϡfb 晡nQa7SF²O
+es+FxRvŀiO>gS|Kѧyb46g\gIXk%r˔ ]m:w]>t , ƙص~ MwYBˡ.b߻i|$vѫM
+2L}}-KD6ޘ P?.:whm(9(rdM}kTb]m^7́aݬ[}S;*ĩ},/3)(p}
+}s"zz1.:
+B[ӡ*p\t"{m[gc~d2˔ҟv$lH?QO[-v`ۂ(@Vӱs 35&k=5GbCʼnU3& -'eTCi ܉MUb^]Lp<If^-TS%Al~n<\h*M@ 3В'Rt>#V/EsfkGkUs.YHPg::dwLQ57o-)فmt*Ca š鶸i2-Cx4)w$QCd7 Ӭuv~KYobW ;KX}4Ӹ_I}lTp+qu) {_ F!lVjaS&ͥge}y~c+]ZUP9BA҂,@5eUXSmk.5~>7JlDu="?{z뭢~4BJfT<?ShD0d*fdvATD%swCZu+u6ٳ[wN99?C[K.lux޼)0bL6X*{Z-t;20eCڧ\ist~$<izh>Fw4r)
+
+R3O޾50:)A7,(l>SN SN}t/rt#Ə~,</qf2s1Ͻ>b' 41ƁjZ ҉ &UvMlE[oܝNW7OL@>Xh<^&~&"S4BYϞ.3)zCbwj%K cb[
+8>1}q`7,c؆r% p<ĥC’IW-i2^Hi/<Y}o;]{L/GCsbSH oA[{o
+EX/P eԛraZWT{P>mLx&͑ sb?dT6[\|.~>I;L
+L*ݪ?o<
+Y<*OUy>kvt\ ~:L;iL_?y!yCY O0ƝKeDJ  ->fz&3]gfU9p^
+?_3dQ# 4}x
+fQLŵ.gX T}Igy% e>TX]@?b6lp>g| s[d'} aV-bp՚VHhWp{v\-HSaĄmϢ甡< y?,|ks9KlO
+:@S)'P|D4{s |ZN][}Ube-7{Q"8W#[\=OZ
+C`̯7(L5 [ޣ]뮄Wᗘi;u4>d{QݵpRml@B9WB#/\VҨ?"N
+3ֶbi")ceiBPo]]I1BE5L|QVR +k/&Rx.zu`e%|/݅/iAGgpJ:'?\_R>zsU"pBu6QKT8Ą)+ypЦXP@g>ItkvV\v;9']O-KPnTW
+Ku%0E~=0ڮŒ:oUPvK7`FyEyXh(_C382*K3cxw%/@sSw*E
+Qb!-+ g4t״֮kө~YџQ׷W " _oLP"+PT[{[TgC6:ń\>>{zsF u s
+߬055 b,ШyCNUյA1*9ew|1,|#WiLR)v6I<(~c $
+MTdga7=O2iAN-|yE}ۗïwm/qtg*viQ^VAfّD!y}WJS|u}J?ho~2Tey4"/W'<tC[Fq?77NPu (cdșא) -j-O-_xx`gg}/3qmؘ"oq278ͭ0~\jPw΢`QoA
+qR Cs8v˅MH l©O6}CQEsdޓyePQ?6{WѴgg~3rmJIoD .짰up~z)Goⷮ
+M
+ctOX/v l? ,jyr0_CF]M'C2<I,rTIl+"f oҐ=iC$ mU&5 QJ70-5MST\F^Oᲃڇ<)s){Zob8Q|6} 4Zy+Ʊs_GVH}N8*,?ܘn܈ ~'qLk ˈD2])܌`DiWL9_L֋iq*2հ6\~b0/y,tE ]D/Ԃk$;b!.S$nXa)Z/A6a2 _uў޶b55 Fd
+Ne-?eR0-J'J/B*qh_/,.WcPߍ&1Pׇ$1jqiSv(lTx;V̳C} VXtL'^.LD5 }hA,ۇ[V#J*IRƓ qVf槪ğl80Qp;{[IF~7<̜3t(DjM!w PlSbrmęg $= 7
+F8۵zxE +/14Wo)-Sߍ[{eܱSt0<'Ii*.wI?f4[J])0SQ"% t }7(8. NOHS?>i3~O
+SuF1ļY+ӈ%g^y;̌#vv]f.:_a~uayO}ʰ|pqD L E<\Yp(')Kx}x"AX\J?<bIg;kX,W΋ϞJQAF<
+y}j3In\0͂;]hX#j=˕ !^bd\?w{=<.O?7vs.!4Qɏ챇pnw_YȬWjY?=jdP^L6~/JuGdLw&B: qW7rj]]x]˒*wBv{XRjv[e JPX$V>ݕ8 54\l:FxR^)#Vy J%TӄS_V@7Ϙ*Ē"̶Մ`(J+r$t_ֿP{)Jl ?/ 0Hx89#Do;"Q&rmU-VmC3<׷UH^[F4 吴i͓oŸcܛϢ31np 21hI''ތ`<cfÍpF#33@U5Ԡ
+ϽW.t1ͼ
+/I;UtyTTZEc7R9~=/~Xt'W;,=7[r[ϓ=}oe;;K~4O4p:<%*'<;s֔b> 6 pl1} qBGrϤ=`qUN)D)Kɩ+mF3hed`jc_ja<Lf'5t <8;X;?q*Anf}(iN0L{5n(^QT*OnQKdl<y妣x:63C-5@|">'b*/a$"a">L#V-ؑP+[/֑OLaqDΊ^ Cq9E}
+<ɏ\ݟkt<1PH~&9lS\[MNeQȯz5*bx5CXCrXa)Hi 8ӓj覧vJER:ņqf s TuNki| ~dEDMZ>*X~x,T `gEhxj
+Qgv:y|eu,+T#? ӚeҐOmo[;j6a
+<1v/gn)b~J=<(?d肓p/ BjBv cv%K&''H_;rw3H!ገA=ӾLj[ D=hҬ3Ulbv?&TfUv)m'Us|w1~{@AX Wp*sXo5}[9}L ! pPTBLPD\wr{g4>3AxG5&^*[V <b0½yx
+ry60>4"Ym͆-h ͎ǥΉ{INSƉےmp8hA%1s܃D@C\{
+̼hrTFTgeRvsF-XnM狾ܒ:}\"
+:.ef'vEt{eij7 8 mWU PdV nq=4"RƭZ>>/L:xq]P(A6MR;qӬ2^ *̷3tWZga<6aYp?H߭(5HXyu}9R07m0YGf,{tǖ?>?vl7OEB„6u\ ǥfV(b罢fdHun2[G޷g 3Wo+]&&)lh%-gZ7(8B4ϡk ޝuVdv)r>p{ppMۊܤ6/5kKI+F=Mɴ=ᅩ>|#_B%y|> #EԫEћ7[}lA'NIвrJL)=&R+)"-Y+Kb+٘?RTvr ;Q;9Bz366!zLJ&f xi-{*1fjP]ĘAB7R<bM*7׍* 3H"H!jO5}A_BA@4
+x$~ZÆb%$5R(qU3 \8q0ͲX5Gcٺ
+XyC:fu:B2³hkm-=HYEuohX7MJ[HX$#s
++H~(yxT'zL8i/Ē䑟&Nh-qx|3a7OoBwMQVq/B[~
+x0umwKy߃S9Szj;V|~t=my&"0~o:pMC ?;~dn-a)Wljt$)+ķ CB _dQd~$&D2PNU7?Gb% ~B*2gBAGy8& 3~dt!YVf5* Tw*J{{|܎;@.|)._"2HW6_ZϜ~B ^LI(buُ1N̩ WcO7|
+,@/zz=V0ّ(zPϷ
+cw\\>_M ,l_MK©5Qu gL}8#Q}W)iLbnU2̇pkےAf'2cuFnRşCm~6roM̭|j).mkn5"Nn6oY^2X">0[:ȕF(>V8E|I|Z8TOXBY]F4y:cè' ܒƴ o3šnEyڥ-!WXCi=ڎ?ZK`/UxG9#MMHfAMX
+MH Q-awړeYh@dKk&'1}6G>A'Axo>&V
+YS<UmF[6 46dpBKI@rI}= 튵LCϞYLg7?*=-iGF_)tCsn
+a{+Ԃ ]Wy)#Liuiv3ԮV_r\'Z~9dI_g.Gщppt;rod<-qUg+~xlr}3/Bri
+{%0=x(--+A!eWZ#f,9gxKRB`RQ' -G׳&NQQg\)ӷ{o!]p:T?5.-> z<I6{=㟕#"%~7zU:ʨ7˹>`H|08}@-#i+m*P p"hŪ|)t>qa{0'mgHIi{'V)Zntp~UV~,%jw?_rh?45Oݨ?V@+s
+c\|@YYCE0k'\xU<fRY){RbjT;CGN{h]zrȡ0 Ijo8rR~
+S`̮{ q>W ]^Aa9y9'>`=qr7>X~)+ 9%*( IMZ_ݸ)}Ue(VEe&Oh&Rs\3Bri-e\7M':DuㆠdX\s(mrc4z/ʦ) R3!Kcd
+s Ӏ{*&XfDVˇMh}[@sZs,/[wEJCZLMNB2g[T@u<?!t$Ol قsO;NOMP'9㽣T(߫P;j?bcQ@}1e([1wѭ-{8ngS4~mJq+xKgr'BU[ /1Q F^Eے_)ax#^_>L{ӳHcCWC tV
+5=]H"% P`+
+C+SYVnL5559{TA*{2\-_˔b*p$%|<1 02SM7 .븷u˹Sh U&~,jߒM %4=b(#qe }LaJ U;<SX,4˭ˏ)qL7xcĴ|֣4L&0VQ8DRyX [fe^Ku o5v`M
+^FciE~"K_ˁ0e1㘨N8lkafm-UܸA4a>@5 !X4]ufJZP
+& AH`-d
+n*|aoX
+GͷNEUO#Z3J#mlƄ`L$NC?z [I7)"qU8 c3ÆZQVweySgrĮh?XH eq?݈-g etuD)RlV)? l p,vg5SX1"'j}
+"[^H.
+_nOYNrz=;o8EoXZ6`20+®3|Lg M=J:4ZYdJG{)=1\ň@e
+Tiv9w5/w}҈gUO_ ܍iÓ:S'sY-}r<>c'jKRwYی6OqUW_decJ*La(kڳ7ԣk*7[K50b&;00bRTt<(^-R֛--6$vr,﫵g[[!^X
+ QH"z[Ig4VͮN4f}&<$/jW&BΑV<MZLArIߪ%eutoK -OLT &=:9wq#b^-7RA##U k&dtU,JMwN`'&ezǬyË#TCaFp_`rZ;O|ŘoQ1:nI|4.{d<e{awp@]^n['!Hn_ƪ:Ѫf;;]ʂ7n&Ż["6a{^kRƛwjh6? ;оA
+^7{T<S6\٣BK_%Ͻi\֖1OO~j}Lmj"؊8tw'gy?qX눟)׸_^wؙ̪\EDqt\D*ƻ m ݛvXT8 9Qn
+g+1I0kM fA5ӓ k:k$g!jEyq^;}&K$ )--ܜnp_pD{R?yn 1;vڔլN0-95J sKPOKL &x3X?ASds2x!4K.'`F$
+*ֹibsvtˀX=#!zpG,_CVf
+BYG}cK)|K0*ҫ ?vL'1Ne8 <.My$}fH1V}
+vE]r1in=ΔV}*+6|Sd4 bJafud+"3>z)Ѻ^7|SLRow{
+VXFMbH'Cf+BP;VT 8Yϋk%F9c@!<IQԆS#iD&ъKI(Tp?ܶn:r=~9ba͡5OOXuVMtK.L
+(|܉Etthe+<4dVH%4$Et>JSM7muk:5G0!4¢|3Zi?uTRC5r,E*M]XԊTS
+&UH4:>:LVx&0r?Kj9^aє}"ix:땷ZYB=V.J4c'ﰊWk$FCTeWG4Rf2xMUWI( 3 \ĄFN쳭n(A1L* ;x܅ĠڂE||I\֙e[pݴ79^Qޯ{Pi]Kb/^ZbpmIS%3`*v!rK=L$i٧,B:Y$}LA:ɤZm}н{Gz~ԗ^ 5Х
+E+byNB ?g)h udM:] ^a$=|nj` TQI`RDuxXvhTukWK2!}F?j<MPCC/ Qq 1 sӰ *ݫx6U.[nUc˶^~me|['^9% _YСʏxΫeU[y
+<ES+ӂUVC:8UlJsTKDbz-X;/yWg55\
+&a;rۮC^M:VAIM!P?m
+M8j$`dV((C`<0eT~CY(45lg
+ӓgQDݒR Wh5}c1``ں ]^Wѹ+
+J<+y*GsizWND1O=y(*}m?0D)\S95bLx=D֏ukfch
+Ai\Cˁ$ Z
+Xf#e{
+)$h]јRaciNk
+iόcD=BLY@JReӷbIՠ/Dٵ>WCΑoVԻN~csW#Q=%V rkN-*--E˞׵+ iar^u2%YzQf:
+EZ.-)Dqm;?+5/ mP5VzռvGe|
+t (D~FctɊ&֧GdC OB:Lc.jmmwgOz tď@JԮ4tCQFz)
+R[4 /~mn9}*('Ǥ>3=P,c|OzOf$p/?f'b͕"CEQ7R򜸗 " $P' _:*8' ;"iOZ.oRy%
+w6O
+zdB<s,/{WJ5W!M4OU=
+̈́N3gM˸Z!էԓ*^dƶM|-|>(x}e% a>޹;
+i|\h$?~&j?WSWWd.k]H GSVb+롏ː.ybT])'Otv*jt׫շt$(
+g.mSt+c&p |Y @OXݐX.uע֣x.jeF}
+h
+04W^W> 3{I?.j#d!K@aY!35t`GF/J];.IP๽zim1_o{BbfQ!0U O<OѲ ^ @
+bDpD '$.77] :6>Bj$*Ga7-hȋW qu3/1+r }ھ\J?Hie
+`EWu Y;3Wa/7]s\R
+o6"thy :)E~vعN`:®8r(΢D"y'L?u/j&[K퍸Da̻rI?R r)PY&xNVYeI
+g(z1}(|`9M|K긥9p^(0#A_rZroUE ^ ju
+XapۓbbPG@ >hׄP%팖o80$V;Tr2 U4緹&ٔ-v'4ۗgBqv+x)2XdT7L
+# odMlbo\eN|#=g:w3&΁r6;J#lp*1}bbUK3ɥɲtOzylju-.M~v9+As"j4}qq[H.gUw&
+έ`EJ*$ej 4p+(32^>liO]}k@өqw|n)O=-OqsWwSad(f\ 5 S
+kѬ[tFS#
+DYkdz=JQ,GG/Q`V! Mq"|_B.fePW($ rlƕF Q¥|) @NG~DDLWP
+L@ϰ zEfp>B'+w>r޽BtA}H+iI5omEH1+bh8nU+XRinznM!3 -Xu9eMްfǽ}!\tte8
+0'$R+GX9װѶCvt8]4YBgRjPb֩^<Dge]#0xX,v6P3Lbd-Xh8V:-ުIar)0@W̘&>xcߩ>GRMأT$v+r}`z$6Rgʲ%3#0bF (AD;G،Ȁ&{j3͐iH0s'ubf:'*ه!١nfy ]hPe챴4"(-ٴ2\> O||Z׭Mܺz u/^I)0]QU'"8,&T|I Z4b~}fQMqV#eB̜ C7j[Fk.9 YS{{]̩p2uzCK^۝{9Šyӈ:KZ@sĖ~ٓ
+@?.F2p<M~VYrC|m04KBw_.#6jvmrD,OXDI
+`A ]XC-vGDTSKh_Jw@]G& %|fAsl
+H2@
+xc|b88*->g^:EV55q˻',lByX:fj+E-= Փe\MY)heS.(nXO
+
+Y⏇'K~ZKN) qLciOf@Qv$3x[eμê7=. IL*΢D5VMOv
+#ž3z$Ѥ+Y
+ -L\{D??8E)U m(bȃ\`c } ^Rr\螠9U0e{^"_yԋ$oCeM,O18;o-~v[й8XQV d;:cqaQ
+c(
+Jwm{Usoe_Nt# Dyp&p +<ڽ&O}:m!ל|i?;L5[KZ3{+kX
+!(U V$w DNG +ƓѸ%#F gݜNC.AHyNf/I,!V
+ oRDI؝Q\E::Z?xbM ߯ 9D+2C36Ko▲樍r9%w/aȫ\W܌uL;v·NL~XE.D't s>D+˻זs,H2ɔzeaU,|䣚P(6l7$H͕X)zzQC<Vj3]ʾ\2ZkP* X E86!h61g}IȈ׻a,M2 Q[?q/jOu])lrwZLƄOk|abh{{
+.xŘrY;aRwe_(I9zF0 x{]|W<&8 ON+ R(1-ڗu <OnG!=+v@*%ٛ:TTVM]bMAe Z|! "Jmu&p>k5SYc(.gہ&= ,;cNl3̅_"؏#}X؛kJ*Q,* )EFF6]fxzMsU+tܚ\?:e軁lnǕ!b#$r 8rNu HT!_/!7@*XVQݍR&o0!wXmc hm*H薮xw@p15qaYʧmDED$7 v>!r5&d!M`.FphH%^V6fv[JS| װճcܲ m݄tGe>Jܑj
+׎$kUN1rT*zJ
+)^2ň!+
+endstream
+endobj
+11665 0 obj
+<< /Type /FontDescriptor /FontName /PQFDKJ+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /E /I /L /M /S /T /W /X /a /b /c /comma /d /e /eight /emdash /f /fi /four /g /h /i /k /l /m /n /nine /o /one /p /parenleft /parenright /period /q /quotedblleft /quotedblright /quoteright /r /s /six /slash /t /two /u /v /w /x /y /z /zero) /FontFile 11666 0 R >>
+endobj
+11668 0 obj
+<< /Length1 2080 /Length2 24299 /Length3 0 /Filter /FlateDecode /Length 25582 >>
+stream
+xڴcx]>QcOlmۚض4Xݤqcvcu=L΅νo> 2P֙ #dgchI4s6t032‘ ; -lE \
+P, WWUPXX\UTi"r*
+-@NGtYQAMQ&?{
+
+2
+8;
+5350a::z1~ӇM)@okwq99MvF
+`P
+F_S?Z3/hgT0x-D]J3}?^O
+g-[H݋@/_
+h$/M- F~[oM1Q1EUW ̔]/":-:ٖF
+G7.ht1Kn&(vS'<)^8"Q-O3<|4ȩ%@rR"'ej[S@e%0Ut0Պ+FS)3Ԭٝލ;Z"U$1I{Ze9
+ иd
+#JTf1Ē/-cxA1nCJ'*0U6]WCCPh?UPļ'kG_}QvL\dfV'v]F۰e&<UJchWnԘ}C@Ӳu@>
+DFw<b0(w(у!Bez:Xw]icѻp(Z ?9`4Tv1
+/!y}o%;jN)4ʽ|G/kKzuaV2^ \IJ7 '7蝢?C:&
+R?2)S-lYDqBy9vw@6umBW;U0̴e"[ N>NTLh8+,ЪTJyZDsbNC"SebfwP)KO Zpb؋uɠΤ򟍝2y$#̼޸dCHK<pDn*ZY`<G<s˼/trszK֪b-?S}Ha`!S[- F\bԽUy@FFjEYac>_}J$"V vz-ԃbe<;]ZP\3Pt"mh*(Pf+dyV} 7`ۗ@q&:}9PappŽ 0K$|cTL%UD(&.P7
+X;S#[V>  8'9Ӫ!+t'~luQ^~mΌ2>~)mA ibHR(U>#xt[%|-jAXЎmG ˕;bRgTXң#lvxlNJv613:֑4ν~g*-a9-z)L evg~Xu xH9E1XF㸁sm{|<r(эவSWvBBjQvKzɑͫ^DBfj=ܗa8>K4(ĵ-owʄ^*m"j&v@;Ո0O
+զ\߄>3vpBOPPFi5{H[/iFydi=)@믦#Z5 _f =<Ž>rw$\MH":0VOa0}",9C1ka8пf=] u`hm H8,v`8S-f\6ryI&]2بw$klXc,+kJja軇ĚD1^1mT9o+ZuQ$"@]>fE@dbV~(kw0tG\
+8ped/ޟswQv=I^A]ә|Bfn Y{;e/` k/~6VR=8# ?:90I<r_LeI9^ϸp+V5I$Ey4vC,j/*s퍁Xе.+EMKPAN9?ղ]\)&UQO+kz׻=XrLc)|@'~* DY0LQހu{ S!&mYI $8wm%lJ,䉁$-35 _\Z`ǘo }|6x/Ձ›K&* H/ƭN2Zfsk鯚i*M_s#MU]Z@QXϯYQw6
+&5TVX7#h1LCId"mAǾOtug& o6̅g2W>;5ނKSK_rE3
+)bb 
+hJ0q~t/mꞡBY|@kuPUרب r41np\EAX-b[Tn(~hP;U[,0[nD <Ɲ51LciJAgc=?T ERE󭧐dp ==ysyru\9­蓶3'Po]]h_.(ԫr঑ʁ쨉Z!'5+7陆'SZl1m  [zyR(s]Q.>n %L _BôFTfY)YsS⃡AdAe{^O ]ˉG^7!|fNe1<\{T-e˺J =]Jjq0Hs?3zDILf|X?ڸ9Ʈ*|fS|\}fAB<fC&K Q]囡;v e`r s0[u$x $Wt"k˕иmA sᷫ DCdV1.ȉJ]G?K~o.Wo7N5
+P`P
+֕2mř'51ˢOpG_PFQxul 0
+#^A髊v v^rɂZCT:\}fu\X1jr LWpd-oϐ7]E(4c1X/aVT:[|Yv}LC;IN>LUU-R^Z,|GE2(~hPHf6,g2A hnG[&"~\)EzAW[h@_^$Bљ:~J:$vmgvtտ Պ.y]xIˠvy)Sozlse>_c`
+wa\vusl2Yh .{iY'E;} i{]b{e4̓
+Lm3ZW!4-gg띓0>,ͬD۩r9ad` dx'&#V߉_(. 1P۰iVB2jW*^y{H K᜕o7R\i{:YŅcފĐ5Ѧ](Dѯ-D8X&/ ޝ&JlЈ7E4-=^;5[iu%_/ġIxS+''.w^DCs?|WbX,2 K%sdly4n3m0y
+rC@ŏQFrtN(@JX Uim(Xj?g`ZgYh$`Wju*k6/6,'OGD:9pDjzlؾv2ZLDz!m9tFh5bۂqjyx<XΨZ#"gSo`^ ͧ^զ"Ͼз,qkb6xZDseXZB}\lb3Z([MJPIf.X}
+ڰ2!"UGlagpMȯ[5ܾ9'I(wuXP"t)}E j#^ρ.]D՞>.gL$V9 fos\RqK3{7qD3([l_=-*7h`;9lJhȾi{4&b)d;Gw(wlؑGpTğ?|)PA[<PQؼ$UԺ1QsopRNaO%5Ⱦp©+3*Q]S0_xCpS[[ޛsw5NVʈ!q2s؂JJ
+Z vJc.7Z*گ5sNn)~~Z)j"=1 <@?Kd)?={׸Q2AotT
+7imƼi^Y<'w 1noX_1JQ5-UFM"eL`~k
+n/{t2bN%mjs%;6ΪB1b؂ك`EBd 7QX6@L*ا*
+jV6S~]̴9Fc<U1
+r!|3jU{_Hb<MʷJnYfS.bGL,y{ @)I?Ihgx1Ax=d4h)6LpqX. ]7EnDPcӕ;"W)a7-ה`Rs#a"|M~L
+S[KL=c8*W+[fr'Bw
+lגX|umen]ַ]#1埽0?0/GJ5 QU D*hp9 >@kKoHBWJ7%B{oTeUjM8nE`zEE5 7hD&ǘEe8@G5R-t:*PlKbPH<In+0MZ0}xtϧ@(qH,\+m3<l$nKMn4˾~%P]G /s(V{b#|O2Sļm/S?da|7N[%f;.2=ݙ%E3J#蹵%%km6^;2Q詝8 ިS)nଆDd\u"ǩ
+p?߶'ۯ,TE[#~|V;L-Fi3[KQ{JFmtx<ghiGk=}d2*vLu]0m1馬W߇#Hz`v?TIjWQngHbN#cp`
+Ń#!p2:, Q3t78k3:JYgCmY>uzTp%)􂺧xHҠgTBa|2FNS_eA=1J2Yx(/T_jsR践+]yv.i?A]eѶgWi]cB[pc28lj(>&13k4S>y@x`ˤɥRhpԼLF#]qAkɲI|n"7XD|TV9[ }ńjظW/hJ
+-ꢘ, X]It!
+v4K<c"ٙs0֫M:\0QKNZ}!Uшt,Q1ґV.[ihd\;%1j{5=2Qx
+ﵪ:y"ȶPqߣAIHhJ+geN=]qMةs5*yH/촔OuTKG^N8X2Vz;3^YKKv
+t_5CfkHա/Yʣ:P| {Ǽ QhWdFY4̃6s6}o = /&[Uj)o(-!.xmEZll&md_gIr~^v*.<dqg'yUu#3zɆH|<+< $̵+gGT
+rP[m8x< An%4OS_Owv䢾3I̤RS6Ǫ˨&*@'`lNιoq`) l2G_P9%nMѴ .O=U1oRA7(>1\dG|q" 14ǝX'kV'x\U fRd(|/vT\-/(hf>_,n xQZ09dPx
+^K{PK aXɴ
+r"'t.i72Kjh'Q5Ba`z{٤ ee+ ga^ %ێbF-U_}|9R \YXH[1w0tL:^?o'A軻4&6J?AA7/!3G[< r\Ux 3oֆ5H%-rd1`1hP!'?I
+aLJ? r`}$oņʝtifBJ?~{ \wHOec=n jWdA><,n>}u*;oԵB=*EhLɴ}0FsK<;g"
+_׻ lm|ap Mi]YJH^cjY;thUm>Cpc<NL o#$ˈ%ηӺ"gOXKX9Sb,rB_D'j޷5zl!.%7@>1~-$i$\W '-l*wY3 RU-xBEa
+_S 0FϦEuА+i.2"Oy:27.%MUv^_
+7Zxn,R~1<}Ihd1Υ}W xH.v`]f歀+è/y85'.&WY|'Aiy
+j!ꊚUC~x~ǎ `GkII\~$6PxS]1t_ߺZfАmcZy-vU0Y.FɘAWƟ
+=GU3o!o,oUL_Ԍ4yv~mRpB&C_0l`"Y9C
+?wʹWFYtHQJނ> Mnݵ!vGX[U%Ў.tL[P|
+J ~
+dUY6}4sj6BW!^0ZR$K2sDPCkъ\~$3^
+!H6ߥ
+֊ԶZT4F/׾/HOO%BXHNGj㦃"$Gô. R㊨oni$_ތš^W,ГMn
+L"$py'2kdU* U <yQ&N03&QC<1@ݬIo|zk,Z!-igy3u|.I9fIQd 0ڼFvXj[NNr2#`bM
+q3,&UujUN(NKfCd1Obd؎X~l-@bG܉#cȁ;V%Q3$`i*21uߛJ=
+~]y]xnwrե[(]>jBx׎V]b<CGůוjxwZjjJ%fz@٘kd}xTolKpմ
+=C:yvw[ֈxk~k1*0o}-uC\4 Z' )Kd>
+bkü;L}W+]t7 OLhrg#%{^\,>ӻf[?V,̽asF0QC >ncw;Hk 9;Iz~gO2Q6^D;P7dWArb U'\
+<S !8td_|Pevt\ țzOœ:5v!NxS~`V>]%@y>jYH96Co'U!|m<H
+تr2OUr@D?K[F*z/zyugdEV/:{qY^n@PDrVa6ۡvOT_<8TdIW@5<_ZaUnBN1hGA
+/Pz7bc`cH3)OIV^bj "mv;Av3@NF8FX4Ɋޕ\AP'Nd TS~=`劦w_;wk
+=wK?:<by
+ Vh;c7z3T{,&XJLu_>?}z<H1?{4(gr)q$RE&IyM6L?VgHI(*?.f:VYX2/d; 2޽~[ѝs)э'8DSC%v6UML'hp-ɾAҲ>l/^N첑dYU#:tFϻ28:5ayuzG{hڠ+3T >prqQ7;֔1,y;l!5FkȒĹztV<
+֒~vZ th{7ɫ]2ukE@ӈ#Uͫ<pW@5>~ΠЕH8$Xx* kpI4}4)BJ
+jn@T)}ݤ
+&J`u
+b5ydBD7oQ3>4)ksb6p$ƙJd@=:,p5%?5WWز+C|xO@|8k͢=/ID_)NAK'XB_ν\lpZҨ=UzvmרμS35\%*zJAc8_ݍ9eԉn"%Rgk-UFдOW+UQ34]A[  BT}*A<cA8HHA>׭n(I/qs\c;^
+!<oK?wE(#d'MB| чҗ>1~S8/B^E7=0ַ<[# LɅ8Bdb X2ʴ˝'4LE {xo<qJ/)KvW) MNfh>Ik3VM݆Hb ΧQGw1% =#)T*B tkWL=e["Eɳ9VlٸtG93:asK>1C0K3 J@ꎪcdodjp@l(ApIl/H.o*(}W_'@3g8p]$Zy(cTѫNԘMl,Ʒl`5[iZ2}\/'c5ՃnԾ
+!v.6hHk,%54$"d&>7Mdu{Q$D;rciiurr~^rϻobe s[|"o)jg1鯻DHLV|BBWϞ1$wvZիƞ/}"…RVaWqcyWWN0cыFCcp"Ш&5Nplpy$0>Xl9
+k H-ʚs`:Pt_$iq  NE6I3%9E߷hT_CfEacekf`=q0~nP죳@Q-3ͧf=Z3v
+T+
+{kq?
+֨,; ?Cj'qȓo 556#=8OQFT_?dOih+OkQ;7H$: uaa=^ @ej
+@Kq a|AYE:K bAѴKEPxL08u }: G&7V LEbZKѯ[xYhg~ |9=˭:O0?$Pfق *J}Ɨp@Vm.~q?  :c$:"][/0mr 9?& ">v wRWTc;
+千\?N{{.(,3 Ou Z|6Nk?NТq8 m͓/ u)["gGY4_&@LL#ṘSSZ~\oA}sl%i!'zRȔv,3vxɰ#d%*g%;& nΈYgv WjGE~ M
+1<({bzgOTi "\'|]'Tﱄe6DNW"Oc5z/&
+
+=#DDtɴL֖ӗ# ΟYs&84S֑犤ht&FJ{d>GUD~)\ii5]}JzV-[W-Bo{J[ D&C$=Qy+
+B3*Jᙧg4ćTz
+ӆdVW<}۠ɡ9g;NЊ=Fcy2:q
+R OEW..z1;a8xsx1v:c6^ F{ -hpe&Tp:%o,N/ D&1  `4P!7oς <-IV3/|ܣ00񇏳9f.AX&WpDDJKɁ=]"
+O;AC k?o'~J]&5nf 7O *.H&"w2Μ}"eB&KO
+9'{{B9wЬ *8N;@_u'!b HwdK~' 9Èo6Z0xnY>,.d~1bfɷ2Wuo?BŚ*l
+iQ %_( D5L
+#`W"'5
+<P|tʙ׉h'np"Qǭkaw6Zzw/nt ᩎȱP0R]~Ԭ.̹ Q B"C= XMgY8+%ɨ5d-x^7ĉ}QV&pc5&O/ƾh3W諍O f?:5"$00q}{dZ}/ӂy]d\<o7h { 0mD l
+JP:Y6׻Mr~5  |@fq;
+3enBhiWB$J"к~u*GA6dWŴߌT3#5G_IX+3@Xˊl`Hƫi1C]ѠԜwśgvj>)m *Ղ,Dk렧YK>3%X褄ֈh>ҸxPJD[>6JK*SV8&PBhޗ#~c<(Bzw9Ӽ[#E8L H^V/݀UQ $dm-O45S +
+As;7`0Mk/m@@8˫MJEmo3_ B([L1%7?9%bR\AY9.*"8V% mC>Lh\ЧcR4-iċP`)}9+p`PusQeP{EI,3AEsЎ zijy_A-T4=/&m/ξ@Vkh[CYҒ+xލﻖFV
+>C_FZ *(:"jQO|~S7:IWӊOS<
+CcqPO~!Wrrykr
+6vQ1L,Sq?8`[% S*#X* OT&T$ i%mOb
+|mQߊnh?IHl
+V|+# GqmHf}LCB/ێZF$AIu`uu꽶S[` ZlH 05+Fm {O,@=#W(VC&"ya1/Pq|*, ;tr}hPyy6oO I ZPd>gj\B--rq5vfv$1J1h8'<5Iԯ ש+'|cx'/NO6M uFL: *}[rtS3PAn|xCR#Йoc!HL@"JQx'NX^~kŲx
+ʊ^,Աn; * "5Xë*IjM/ {]FSA8 B!/+r:Uthiz8zZVdN]@_1aʨ<9p΄k3M0#:7RZŏF![4&\PvBg8 TN+Us
+CS]>^@4vT$DFq9d 3 iB%߽hvOԄ- :R(l^g^Tmu1Bhܸ\f|g
+Z7&r`SWm/
++-&-oi* U -if@&J_pNL ;6_3[yCMqZ.aG<E)4ё.Wj܈Ip7">j44s`NeG Nh7
+31`l>2a+ß
+endstream
+endobj
+11667 0 obj
+<< /Type /FontDescriptor /FontName /BYGIQZ+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 90 /XHeight 431 /CharSet( /F /I /L /T /X /a /c /colon /d /e /f /g /h /i /k /l /m /n /o /p /parenleft /parenright /period /quoteright /r /s /t /u /w) /FontFile 11668 0 R >>
+endobj
+11670 0 obj
+<< /Length1 2115 /Length2 16804 /Length3 0 /Filter /FlateDecode /Length 18109 >>
+stream
+xڴeP]۶5;!H` pww n݂gsWLZ6hcZUPNF
+l
+rlmm5@X@FI
+g/߇4 -
+PcI@tF𽄓Po%cG]?7hJ $ϓYW_@)e|t`VS3PpyM$t~e5,P5Vg'C9`1U='{=d{FZ>SUfKe~M
+s}#ֽ-Q{vhW
+@Ws%wk)1?Ų~uډiWxJ )La.1Q9\'zaA|@}A}:?PtĒ2>4z]?@(tg:ULTd.A$ıJXħGf3m&[w4rh?h?+xPfCdɌpĄ>;.\y$th~(ZNJ ?9^_`E0D/:^{owWft W/l2޶,D=\״mݠ0 Z r
+t".C4'4xL\4(D
+ŘHM1wh/bdQ˙dAH#5]sxBm5!/l[z(dd6]lfHW':^!`BvH ww fu鮶_Pk3vAui:gT#=3b'nƦlCOʥGz[: H̤i/ld$ w>1ԗϱway2I9NLODI;g9O亝,7ĝ+0F$/nߗ/Tk_`\PVɤ{32.rEAjwӣ͜>]$}Z'BA3^l тd9nKeƃV |0tI*y{W-
+_rUaF %1ɹЪzœ1ßp0%{"GP"xL6}$^ vV;<n2N̯.*RY$re,dzD`fxdKQ -Kfs9J^AI5?櫗54YGzCgUQ\/ez1#\u`Gc+PԊ}r쀾\Tl :Hۏ0Ah`݁khPFoɌz< 0RB'3iMe]E,Wo tfs_j&j ;,yJ2hQQmA]d6;;3 Kd/HތU(rZTx] oA^x^z[!빓Ug1@;Z\tg2fN>AۥpD65ɾ`b-b*>
+64o_Մp,hZz'( vh>.G;I I/sȥnq~8ad4Ea0-Cڭs"v0ڐ#Uc}7gQaN9mF+(jtiK_ZT;*;#'B绺J r2:RgX7 rfsTZ ҈̣ >Be9Y Kq2p(GM#|NWba"MÿGk0xv$
+Ɖw^!;!v YW>"S_:RvplaQ ")[!VJ$IɗNtP
+cի/^J1 8 PS}֑Xt"^A'
+s؝v_8U.qw N+fQ-6eKFV]VmX!dh.Ne2u)JEÄThFMK_xfTTW;ߕ.v :bY Jˊ{<#&SE_a~U6OzK
+Fp:l#^9V648\]/%>^hQ-5}S_꿅SO+Gxt2x?d{2_^#ޚ`L&`Dfa;3PnX̕ ʒ4d-6
+( ,˷|TV\~!N;+vu>D{x&.[pމ|OoY8܎Jr B e</zK?3 I}
+42:~7I m<B߀QZjd_}᩹;=pֳﱦ Um@T%bi,ua\/MAE}(`GHfقF1eƗẝWG~cq#ZUy
+xM"R
+ ,i M
+fpD) D`eYՔe&ܡA7YX @|7ov-řA 2<왋Gi|OV(0ցfp0(θDK:]QBvîe(JRv_"wqa~Di jۂ0T3ΖED_/"4>m\X |MO:rnŌ 4C}%ѩνMl}q IiAI9oj 
+W@}_jWM]DOb&C
+= >FYvY"ķ' qU ;QU)yqC6.'Y˫"%0CS~3Z\8S$fW_X^0k4 n塿 ϨR‹Z-(.ȄȫOa:7EX)&p&X{|wdf+lT~i};I"0`˛ 䕸<<>8?E7R__.
+̍_ Xls
+*תNsqjF ȸg3Nt+O,du-‚{1Y6xD~tdloM6ҋHIi]"`zobgub^ٵr|6Ǐw$ ˝3N3GlAIK>ŷ7wY 9_4侪'K[O[)$>} =prs: {~q1D[ p+czs3jb@}ASGql<Ub7 w܎T_ )
+C-)ǽ^@Xc~ڸ6QR>sl D`Įq=Z.nxtLOԜ 9LPz?@'6y8ңrQ97>#1Hb{P4T@oS:t
+,l7Tzsb('hTox$Aq= zF1qg|ycl.f1>=Os1tܠ_ Dp1 &<*JYxwIonxuQ7<s_atB2H)$I]"xu>jP-Yf*wZlS=z;,TpЄKIN^uԅ둇^K6'HzЖ[Dl"P4d<z;b PXШ)B[LDS']vQ{~7Gu|в΋V;1:S{fݜ_'xLϪ.rIaҝ=jn، Uxӂ\V}4a!hrU$g޸ T_g~Id6ETTMee~RJveDY=eczΟt V& [
+8f]p SIFC-R+Ж![>pJ imf Ajz3[PgÜ{B l8t9>xGO^ދa9-Sեj3
+bRJ̓{ʰxd;#q}C[wo't8T~@4`<=U %2W2Yb]):fHfWvW!p۹awR6Zus? 8wpP(G<2*Y7W26Jٰ;*VFjnv37E!#XH7_5՝`~sR|Gyf$iso·Uf-wXW|nNW -\
+/W-fETXh)|̍A[W \ȸ]]ތ2'Ec']J̒4
+c ovZڤ|߱osGk ڑ&5(2S;
+u9)Ƌ!.
+aqZZ;<?k3[Gd uW?Ԑ(7:n7KSghZv]$7K3kICw' ԙx#_CiXzM/fiHH,<i1 lsyZ[M;P_G{=žJ,=X޲?gALc* `=H^EAgwVIhKe)ǯug 3Ao;#!|#z`glE
+F05 1
+%;Pg PShwo: B LvjA*- KW%:ҨD_kú*7I_=͛5Tղ~`"g+ix3dE2ãd*C₡O0Rfҙ|쟠k0>ַd$BԸɮM:0:<RZTUOפSXcN&,#oz$5mv0Rb7˳ҋU,ip-8].գ6a+`Vq&p +9ɋ AW>Em5ϘTj qɍV(O"8:K@
+;He]e5}P }htzC0*\6;n.: ֦ku4q >W6 8F΁ˡAnHAZu;x8'LpDڛU5K5[$E gVfJL蠩a
+Jv. ƶ4~Yk:I>Z"Z =3uy>!yy*c>>t]m(;/[~%1X T} \Ku(9¾`ћ!o゚0J߭F e߸O(ŋ*_յshJ#M[֬~ ;IfVj ;cv*EISu7AO{Ps +o{(Dޢd Uen-}\Hܧqc6r.x{ muLGe&3s
+>Łc]*&jPwh>F x6o%NO5anXn'C3GoIKW[A{ٕ+
+*p2MOhv]a-Z$BE+9\(*{=2+4l )Nx5!A(+dƦT省OE݊@OI8JngSvɂ|㷆!VCk3&/mzt:a<,0
+MN0XrEbۧ,;mBK ;P6OZe[3;Fa]պtHY~\DX?nrb&qdq72A`OUGMx־!- @8\5]$tI:,>>Y-h
+m@?VW?y=K<s *4w|At# bꀧж -d ğ;9B S/sfO۲e2рVx3PTdl @G~T }fkmB#/CgĽXxzz"5yIvj[w^J(-G@3.ϲ>en514c'
+VCCgQ[} -Z@.4S`OƑ/+zmdֵ'$d "fj-kK.=ֻl^z~.r\&O[ZƷjK_E@m|i7U*Eg6еu/)U=?QgEٟو~\BG>AJ%*!sYwx8vmhFljyYYkJl$$=gi d3ַ1Jޏݔ?i!o+W#nEͫv\`Qg~Ͳަ@EXEb]l>ОlQ,?ѫcI,) =-m$/>-xA:Ct$8:"1Ј0jۨ`zH›jxF,t>F657d> /,wq-YoX7i+ݑS~MU0}.{n޹[IpO*L҇&n _!>5-~kK=0ųϕZSwtG奾
+|ǴQ{U¿I')ry!x@.# [)~%&ZUᵸ$A HF:0w+YsQJFSjjԻU]soT 1n]M&]3g5%_f>;#.T{ 3)vPN Qf%߳nFMcJ˴ˤ:MnR̥Fd׬x12m@?5\UہW.?uNq3YNPc3#3E-t떄A,wOVf$1ZII֏@S4f0}~\2JK䒎5ۘ1?]r;3
+nkmc*լ0S+b=7yb0 !c*9mN
+jRivVJJ
+V89B`+&Ͻ3hKμ)4
+u%Jݣ0?s&b1abhȱ(t7 TTnGh R !<G[Ն]Ӽ,<lSEG|o*yzPF3dFrzjD
+\ƛr5r\ K۷"Nk  OU^<'x660q!~B a нFhGH9 EJ=t=؋֌'3+g5}
+l0j_ fþWC-zU I%gs=sp̾w ͈)i@TDmDo5+
+-δv˾WCSn-`֟i{=%私3~7qo>x+v/v)Rb:ݲ^RQځoﰓO=l(ubL]I}ek.t$OV8" XBIA+&2/#y8" *7>ڝ#J`'.+SȜe':pUD *ղcFycg({Ӻ>q$e'5?]2HEfړ0Y~a*bEdr>B 5˲k}(<-
+hj#]E=EV5Ҿ: iTa/M1M(C5:U ,:5'#VD[,d] k v%1C!
+"e)*rSb"_s41/mB>Btt@Dps@ l"8"uN`ju^C>؁#`vз?MeUFgرg]Nmݚ
+Alg)vK{?-ky
+SN~Dtʐ8ƽZh5Rᕤ{Ph ̫kqދi'yGkd$\DFP֬ސQKi_}$؎Ʒ$ru Vr=.
+tiqN2~4ddSyaD=2,aW^v#>i_Kp-2I[}i,7$k;8pM-Ҭ!aSi(!/ZYM6 $aWn|Xү~v(BMJ˂vOI4C8Hd"| u,ڸ_!cJrT۴}_'FKC/xPRƛԓhR OBuR
+jT<ۻUCq;΄x>t@;AUKeFǎ?TY[h8;( ɰpwna1JV;pSDԵbI ruG; ³NEME VJJ&,3o;H|ym,}zы2?猔++LHܢ'Ĩnrkٵ`&ԝݮp33,DNՏK)$y\lN$ٗm(|r$t~ e(M֏d^iv渮.^un-Z~6,7"{ю2,=]sEg#4Z
+s66|%6"R(ne3WM_##.}2v@;0(R(O_Xz%<64,90]L*bP6; }\6Ddj9'l\-F tczCwk+QJ3;PwS&ht<ܻ>PmF,w*}yʪpe~eΤC|΢t"hO^ns@;ؠ=
+{3p/%׽' MFfPǩ;wTx0BL
+Cw`!CJnR` y3ayqsDx.>_ʥ2.hG#Yj'q۹я*P!:@Rv1$"z w7OAgK⠈?7uh""ŭ>ySV#xSi 6z@.Qˆu-gbuV Q./oM Uݚ~vu[ɩ!qM"L:x)8l}%iE-քJk۬uOw l`UB#E
+a̚;uPM`v{'k4x9*37ΨxVuV#^R
+endstream
+endobj
+11669 0 obj
+<< /Type /FontDescriptor /FontName /NRYMBG+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /B /C /E /a /b /c /colon /d /e /f /fi /g /h /hyphen /i /j /k /l /m /n /o /p /period /q /r /s /t /u /v /w /x /y) /FontFile 11670 0 R >>
+endobj
+11672 0 obj
+<< /Length1 1668 /Length2 6617 /Length3 0 /Filter /FlateDecode /Length 7718 >>
+stream
+xڵWuTKT>@:I`dIiDZD% N%%;9fM<]kؘ !H[ J:Hg0BO
+80J $((ICP6l
+{
+
+& ҉qipy&6@C/ԐX*EX?a\IP?8ѿkg0 ";l"qC6}7 PvC.g;1>nh柏mDah OG(`C/ѣ/ QPS50
+IJxb~g_STі$
+i.UǾ#VRBzI|BB
+F[YX,ebp͙>}L\t2r}gۋ8Cr_T4I/E6W;{12v߇e i
+e]:1ޒCx"X  9he r}A;g%P{ sboF%6jZ
+vė^}b^m004<mkerF~n"vfYJW@~1Ϳ)Ր67f$j1xĺS1sJ`@/$k*pHH^=V)Z e,L_)UePR踹0_rV/|oE>wFrgRO{.DF4guvLg%^ϑf
+e<.
+Pk|!3Hq'I~-Slp7wS0I45K? 9(sƧ>Db`]m'F/l_=tI-OLQ KL7idްrzFLjG>5@U*Wxҏ|B7m"'^1aUyHCxH 7w0^v9>­-`'0]z.vuWLN4Qu|5ٺSe</J&Za)CT݉VʼrtՏpeF8 CB@\C\l=(axF>wi!IDGl W6"dOJ`*sTI=4ö |,ީ/0q͎4ޱdJlG
+n9/R\ƚ7&гSƃ|{wZnFsp@(Fxb4-ɨ$Ɓ/!Mpc=TײzMC6Mb8,3#P',jt _GWzD:Q|TMp`Q?XLz|!%+wcX'NϚ(dۃI4FϩR6y}@c,z
+'Y|7=?QMG2KeQ>dW\^Rkq5~:]+UDq
+);Rth~ ɧq\ iUFy1IY:̷ze<dsxK"W{Q8Ϳy'ro6ͨESNXUs6n'to`.]rhgS c909":?
+(|*K[5 <9XW5[z)\tcf~VVJf9 Ggb69g-M_uP{Z;0YQ/&ge}!2\ѥnS{-*Y“N56n_D$[IZS(3G8h, DžnR)U$IGֱ@̑@_'nQ}w{u3,N…Fb@m{|4 kj{\ ܮQ +Vrel!\/(UyK$Z}iǯZgKdP꛲#o>;ڠ**N<8/o=.*]!Fɭ̳{K|#\O6d%)$FP{:5;傱7n n.{BCE : 85DFN0Ӎkϣ=8zh#*>R1\ll}WNOz ŶW\^cv~ͯr!`ܻZ7 mEG Yt U.͓ M;gCY Bգ*m*
+[),p']ްOa$|!q0܆
+ I;(y/jg} &÷Z$r'_ɉ;CI\8wDWnM\I%HAYMS
+DUwpPާnYMW5$gsYl+uf]-@d!-/ϏQUk#=\,SNQ4Ym~!yY\N6%h [ 3IO>-@vO
+xCsCt ~lgh^=N UUSxbCiVLuץ~p
+<C34 󻭚0|Ȟ@YSp/cA x7wHҾf_7x ȋX~f7? 4<5}ϜGCK2mg;ܥ~ճ:T=7;kR9m&:2?UWU)V!4Үjww у>#woVb.L}
+|6,`|ܥrMm1/͜_ދ :x[j։W2|Y~Zνv碍gWFq+~,9fT뽎S,oO<ڜtG?d( ͧzUNա_Nq-NM؋W.]`%3jE!?{8 ShwBOd\8ڦ\ݹ&EABէp"3>Dl[S~)8Lz#R$r V][ݥ離!r(gTz侭-cLxG5<qFOj^;zTʫWxײ&L J˝/WwpvnP1mg("tBr7 qkؔæGh*Fxl>$߶Y^Ĥ%0'Rޠrb3cX߈OiP-<Suc3Ai GIXR]> 6giī^y88WRy8T8XMX4E |ojNh]24ֽBR5M_?`[)~TGMpA0ւDJpn)䐸Eu!9 VIw_I%|Y'T+9d"MTjGLN,8˴BQ`H΅kYX3k[xj<_nlwɋO{ l' Gyx;Wg$)6'a=^:7YTQ&2#CKkGķT)^P<Th\IyAJ2nL._SCkh%2&Ne:P*F쾮8%qu8(ɥp=pX}~޸s.]`kjE ɘV ?gkg-U`s@Cr|inVV̫2ǣjݛn'=ݟp}S*kz+zo- k.u]7 .'e_A/5eJ)\ߐa*i%QZnAIH/>5/]$ʖ*D9kQ:"Ix{y!2$>l;Ne ' ߸ӭ<jgH"L@^2s2z9nĵwm2n6$[(JSV9nk
+BU`9Cۀ= 3Ek.j?}rےTBGS j7Sؓ[c'.⋇>[n4 g 5:螿aA[Y)tG"5 2Q'ΘuqN'}oe$6.=O翶o)}T9[\vmW;/y&Gs1!e=7Dc
+#6SïׂŹLw[J1[*tlhU)M!r7>yDErɫsv<wyL~F_ZK.Q>MA ``u]˞iZ鶳seE8n?PWf9}"Z ǧN
+hH.gNQ'Yn{,%_USW$!ƞw46=Y<^2I/c;c*VL##ɿ.F\Fl uQAgҙiU[(%oRyUr^Mt+M_X+/y儩YQꛎ%N`H|(AE¹e|LykE+咩X|iDd͢&Y3emtlY"׋ЃH;pG~ψ"o rXy,j<I
+&lj|p[T^zP'*/Ʃ7iqE#F.4Aq:S_~fW]\[~V i& MLtitu/ o)Ru|<eN|֓$dXA47A)H&|_`[a;GiVnT4N*76(xE;S5Ϭp"t,17㙿z/e<К٘BWڿP{r5x/3O:#iHOQ]ĮLڤun7XfI^#{v:mj r[
+w')7sLx=QҘM3] 3㪞"l]퐀бߍߍ]kyyw3c;v8LroqvLt,ܺ6ݦ9̊˄S!Ѯi2-~2XU4VxHaHcȬߗR(]9 }b;oxS7͢؊h4 Iy$SQ??|.{Ė<&( tOwxozdN4hչ{`S8#wr'Nrpja,{F+ͪ/5f_ U𤖾_98ڿ(/6)2sکbf[}2{}muaD4Ӗ1d
+WHt=Ho
+H"s}|pC
+endstream
+endobj
+11671 0 obj
+<< /Type /FontDescriptor /FontName /TXCPTT+LMRoman9-Italic /Flags 4 /FontBBox [ -469 -292 1419 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /n /o /t) /FontFile 11672 0 R >>
+endobj
+11674 0 obj
+<< /Length1 2013 /Length2 26872 /Length3 0 /Filter /FlateDecode /Length 28072 >>
+stream
+xڴeT\5@nAC4]Kg3 螥sSU-,
+EaS;cș +lgkR1903(]lFΖv Q#g /`݂ ߕ
+˫
+tt?Q3ڻ_
+2}/
+`2_`
+*Ύv@ K9;Z0O˻_O/xع{1spXyۂ+|MM{7 Y
+_xֶnR#`(Hioف>d' £)h2c-Csމ(AV,b(QV:+k
+a >%I%9;wZurw]4CXc#LZښr\Z"ۙsSi!p)YUR͖si8du}]2rh&%&W#jrM X,?&*^t/m/۞cD@{vG.NuPrvS]
+Hgk;5Mm%IT- VZpRuUZs,銓fn}P' a <؅  ?E)]8;NoLa2ތb-^$t[sHżTtK{Y#a!wH`sz( me;I$[A Y6Ĕϡa0?!>uutje_ eMK:ż-opoMc1"UbJ#jKN+YQA`K/uN)=־'ϳ"Vo3ƢNyh2f@ k˜IBC_x?[ J!Iƹ #%vۏWQ-Q}/:H`ה
+Mr`ϡcܞ nb,Qq]N 1Xύ]Hy=Y7v:05!6juJC9כxD`&?vtjC)J\gǒѼ|"ϢZBJ編B50u
+Uct9?HͲ˔n"hf?е pV3QxyQ8>L:SR觿l#Q&P^ej X_I"
+9hlMU_$0'SܫJj<'~uE ̂钄s~ђ70E֮Z_5RhևhQ"Im={'%D"q9qL]_*xDU W[MvQX~YJ/Be%3Wbe<79m:="WyO;rfHAM;{;mS|xϺ_Hܗv@+ 'TC?Q~E٠r,.C5:(MB% VfA3V9ޟ)'fkݐJ"qR,O҆/Q5ؼ1
+?nb$$aSх 29h;76<h컴qR u8a$В_0:]5kGs!CpŊA&)J.H]"C1ܳ@€Li#!]W0tV8:As< =*FZ &Le-Gé8+Iu'[mG5`u1X''߲ӄ@[3薿lge?@t(aT^}IEXφJQt/V2[]@ǒ7]5Wg-R<p|Bad,GsMC 
+8GIѭN Zqdr4GDxiٺUF?fftjӁ抱[sƲ,~
+t̳A1vjeʢ㲄 <2)ÓvPj]`BǠb\ /+א0ڨ`)+,aƏ U&"u0DnY*)[e#1 G
+k.Ȁ4on%{]?u1Jj&y,l@=`=Dgk4;)Tي#e!vp>$_|+QnDc6aX~Zʉ)$IOM<Kc&B*IYHb;hTCPCw%9UlC؄b"|pٍ/:Ju8,z>]$!xchP}!uźO=ש8ge ~|@]d8R>;57?7n2ӻd#[%ҳR'Cъ= 3ʓ$D=hQ9ouxh(ǷCSF*%v_m&]sRna{%GrW?o$>vU#tȅ$Fҕ!3uߋUhs.BW}2zޝUCˌ S<?l)t$?ṵgEMۻZ q(uw=>Wq$\K^$FB%t,zg#jV9[n
+^$y$J<7h@|:h+ ]
+GlǥS G)utbD
+HWzCCq &[ ++UظGcU7Ǝ>\XH˰MZ TbT+z9aQs?iÀ 0 '@޼7c.<]f% 05G XԡP_m"km^L"BXZ҇Ϸ~]~C# ;^rhAl
+"9#i$'5
+ˣ]!z
+BGl~(dxhlz*(j.
+/"ۻSXδ.VpVNP):ͮBs3S 9;&DIU<#h퉒ޡ(F.5+.W#) 6"]ت@)S+jY
+j{R5W).
++OR;W们Z*tjg>Kr/=?O<̭ۇ@U9e)f¦sVG-AL=˘ʔ==VI4*RsC2"a_k'^H-qv o<j'ToiS{Ѭp4ki?8
+'m1\҈gwJ' ~2<ɏlo z&k\#c72N0tJ:m< D[o?YM)&Wc:ALߦ2/hhlPQճ&yZ3ITSUc;]YTΒ;-W{cd/<" q<1|x{ cfJg0;,;cIlN$tR묕%8"$[o&lZ,B#%5'Qw$lvpS?4=>:|J5^j ^gk4 |{6υ6Pb=Z~x`\!<ekӄ5u&dQ9A565\0/N#ضI}-/8>a,
+cȼʃz<ad8l+{'9ugݣiˤoRFܦo-8Q}^^/
+r$2%/:˰1Y'i2O]Cxf76W%μ́J7U҉t*@ 4EKiWQ9]㮬΅""/~qݮgs45Ǿ}kQ%ް'(~']1?ołH1즗 5 <gY.m$2J
+n?^+?H~6k 촒[Îvr!&ӲP\Ԥv]T &w#Hڒ6ѫ%LP8N!ߑ5#=d+_o`Yõy䤶4 b1V^蓺okBvqGfn$
+Mv{L;º̖/?N`%9',aLr Nř"]B02өB
+eMX%&4 t Su)'4# ՕU; w#=U,셢ӊ"g DW1>6R_xrCSvW8Okl'ݬvU ~SBPM#@'BR`4'ҢbHI~lo`t'w`'FFHl ?T%0d!Wks׎P
+7^AH`L`JjUt,ɑfe|t,ur~qn=(-h]xJV6GWB|q;pƍM<}醆[YCկ~oO*KК4x3CglD\ vĬ
+Zww t_ݡPn=kXemtGڶl^`O(>}V?;q<)i E<}
+
+RB6ydOA Ю
+&"+pOE̞x;xL#8[t<*OR.Z.˚RunR0%Z_Ge۴2 0þ;3PE[ks y8IvhעJeֲb\[yA093tt\-SolF:{<jA
+ٯDw>@e Ak)ilZ+l"R5Lv3Ƭs>8\F{y_:#LH}bU p$fPg2ćL;
+HC'iVK|@
+8οB~ۣG=p9Kۂ*0mRM!.۟m!@f+/;"4GG8>3&g3~ȍq2LwH:V'E&|!Kt:3}JӤWU*ۈٲ"fEcWEd^pسm5g=M ڨ2*>PeGFJΑ ~ʣbcu`}Ct[Kp<,IA-\g=>^U4x]"(Rdx'+`+ 7d::,6?4Zċ
+=QoEX59J+*l*OE=WeG8\o5cƠ+A)9~/S~ VYٕ]=bàOmMn(<Letj@@L!}/Vc [jGg^YZf !ғwUuᱫyD;I:|V)(,05+ad%5xϷ{rկzu(uSeImi8%y $53|3!􅤐}X;3;t:xKW΄k>!^1=R2{/T8osa֟
+frJi@J# #rѩOMFxem+|*eף/F"iޒƭVFͥ2#}rFulEt)gE[׺6 {$b`Sƛ|M|ٓJ$8H$K.6N~-
+jo; '3[nӞF~I17:uWG^#5KCfo-Iq␨wFdE #-KsڄuscmiC3bE!4EuB`ei6s̓zE?c{jv)@
+.Le1/s U
+UbؒֈsMe&o2h%NEG_'|_F%
+x4{y.U4-76Nd\`N?d
+=d|?exz9#pYgڤ}#d&mÎ'!)uH>m P_4'V5R2*ë }\8Ic#cшBm|-3WįDȘVc4cYY/!ԐJQ
+[J-<Kuk[l!Su#Ya BV
+=(]hVFpcZ]Ғ6EƳ9v?[8vەr|kv囶WSuoV:0o
+ 8p^5hI$)o̗l5J6wgu0c!D9'!b?_R9fHY
+՟{ynUT=BNA^d8?bm5 at-
+.𗐾'P V-<T!zB:W_3JVE%mmEu<z!E60[y$0r46(qSh,l8QD)WW\/2ZZ<BJ&~[?gy)V:<IJ:KxރNt?(0nSf;Skv,d6,);(\>$5JDL<BB9_uDˬq< \}ם@J(;T75\6U5,i(mX/nfC-a Fw?o4IJIe\/ӠH/!V^(GJ J*:RS$d4͒yV!H-lY#јkek?auӚRiESGhbo|b *v`&m(3! h
+f<$@w! fc#nʕ+fpd4NKZɚ]ro_kWjÃץ}|@ۅf-yF]G{s.8Amн_`5A)vvhAM *uA
++1XDwDcֺceONʗU$)y0ζ 3\ܑD$49G6"tAoDkB6ק?=:qM<Cy'&fEuգ?Dˠ!i&UaU-3ϻuMC*fczɧ{$,mx(p=,_A@>U ݼ^AZ,j>ȃbV:\N=8(6OIY>p*քp{}0QP{O-nV;]n"˓ڀ y.n=}Y݋-G-T!?{ԍgjEjup̉+/%&,*3 Djfwy5ID~weMAvV?TW [4'|Hc 84RyNG ꎕH|is(ngo%6k+qcV&_}Ts[0 6)SJ5n[kb
+e3vP'9meϝ@pC,H7 2QjEYf241Hm*8w>juƗ)\9=3t!se&ilCfxf-N5ܾ\LT[_qBC7=*>󑃊N(HfL׿'Ux%<L}B$9%~i :h3}jK޺'0ͫFΐÛ|G=ݧkgлAh'.@uCp+J}@\,\ I*q/&%A0=T%dp$bJ( EXjk2 mGd'9%/"mF$"| @$Яm?wV
+}ɛ᜛ ֟SAW~Bݡ.a#oٰ?UF&}檩+*brQQMcP?22܇*&Jg_sgʆ^VB=.2dZa`<<Q%8\4x`Tn?t&0xOUtaL6tWA@(wp_G((#*jW>R^TzٸhǙ!KK$df_睤F{(4EoQ  l`TknpsYCXEu$lαY,&߰%Be4QiFmh9d. Iu^BQ +a8:.dG7PQMm8t{pq
+" .H['v`c6ƭӾ Dč&.IJG0pbK+]T+tۯ_] @Q4mb۶m۶m۶bvR1'=w e]&CWfk&uVx~3DX7T&p`\I{ʙC\x+L
+BT&ȝqҶ}]߭ɌCd4r<`ZipW/c$@i~ )m&Ou{
+;)Yu4MhTDa*;cV]`6dߝ ?A?VYZy?VoV<G~nP&rWg*Pxܟ"9nq!šg1TE8>u]$9$R h\1Ts7 W|pSۤ0 .-֢l*i (S5}{IJ}J֕WމzuN##pn^e(Sv̺al0n2|V腭3~X@^rK;Y3cphO+-[sWjʾIxl⭚}(CH=ܼJȷMgJs=)x h}?U~z4YUo湥aZB3kolƲaz1kۈrfȮ<5Fϸ
+P
+MPKDH3bթT;H LFW*y#8{ a,=bBX9JݑB3Au2O}&g8xtNdAT/]`Xǀg\ha oSWUbzRy-CƴM3ZC_߯5 ˠ3a 5sd5*CTN cX8Zd͋{}͙#G7ARo`eJ:s-" ֚*c@(Tєj) %XPvn]NIkOc Y VN -8}XW7:ֹ_Mf' /<6>
+1Rc2i9?eω4ݥ;L0~Y+'X=FmWQ@^l2k>A QXpFcDu~cFaV
+`E|H`5`bV߁صhS!;A`}="LhZ?saLPY,Xs|Z,}" FOުf%h<1 
+֛J+MʤOb \s*:!J/TvBZ̚Lߍ(̐9y\9YD3_[%Z'WFg#ʾBQ>
+taH-TPs
+6ً3Ru{؋`<G!MVIeAdG MHwY+f"$t uJROHڅ$(L^&*/y5,cܞ{b~76k}xGКmoug5
+jaw*<,PCyE[}G@fut{u_n:]L뤈-~݋4jbP&Gʖ9qA6!^! M캥M͞>`Eki΃(RDda8ow7JK~@
+CEZ[#ɳ nfQ5-
+/ :p}yŽ@H3 ~xUmQDɡ%#\MFgcMX3즥25tn_=AM1-
+nV9CVim{`q _n\`'l`H-s `XHC^g7F8|ݖ͌x ƾ_h%}ioӇ*)v6̾:v{1;4P(J@%x<!78b<5.><
+9P@O L 4 ;y ]vl|i=P$|soܨTռ]IWɹ` =-R) ,N@2~hRuP:\o;f2;YGQ. -[}α9VzΆL:Rb6&Md!U ꡲks]5h&r,{KvzC0ƎK!7Zk%@@ش ܁wMVa H]ryIR=, 6) wpXoKU ›??Q#OJ.=`<7CxF~Z#P8 <,=|JuܷWL~>TwUV|+GdbWTO\H%~^qG+}&~IK25?0' d s6!lu/ܪ4sSגʪlo5J[̫*UpP3(k"iuMg8‹P]MZ6 ߼M藨"e7&F?~b{hqZü1?C.N\{$',\ L}_pg3Yv1
+%tNX=hC,fv mzB9Xpj-}*
+ TWOk-A!]I֙
+nHBkΗU=I.I7ѷsl?xyU"ha17^aE=is68Ʒq r虏|ZNm1()+uF_²rG&4Xq@c=dulNⷺq}Q{NdN
+O9ޛe,#uvX3]v=Zv7R-+xv>D*M\6жX0@sBzGtO@2ϙ QRf[\#E˔35mpk*,^PG
+&mUS3[yvx*ٔ+/}0͂h%VYn.o~I
+2@PCm7A ꂽ7=XP'C1_A.Y9Il]<NE.ѓw ܁J;ًkyC2)rڮeX +3XL0+wG)m36q7M^tNmj1_6I$;RHCM;ԠgecKEMMV4J
+P
+iҶ gm,x} 0J
+AA-eQ%mcs/&xb䓿r`RG.'6Ej+ip.OK0!<'XrY1c] Mk^ܚۻ<a9B>HX6"}ҷ?IӡS癶JFqWې.:h֝!p9;d,RzFom RR%zfԷW
+XVJHc_Ta8<wizؑ%/U$cHtEDGWbI/{Rmٽ?r;Ԣ'Xv{ ^+B/BJ
+b<3qۏ7'X̤stf
+LO-]TS/+ rdxڄfÙ!hQ! 5&:Ib*/4*!(m˩OK,x'V,KF[V?UD) Grk@qf0eD\=uzIhY,"`;Yy>=Y};)UH7?w@3"8H(S9^ <TcG ÚZ_7,[ .+g$\)8TJ8Bp(Uj4
+ DmpI0yK%Z<]E42@E7>e6FTnhƂ{wx?]r6&U|[ {]MP*Qf`kU5vEV{2'c #
+*)Jiu7b_xN #yy_x[yߘRrULO'wQBC&մ$?2
+hV=:ޡ#| W/x͟ه4t`}E:GQѮFG %r[}L_ #K: ^ t~K $SNY)>~ukϢ|Q95%a˳/?>I솨>AU**,L(^tUm˛@Z5yPnn$7mz϶eB(˜o
+vkHEQ.ێ#N7
+Me2;rG5|%FLM/zB.>0
+ 5H,w~G)ڼ6L&s7o<07[!i̴1H`&{K)54t P&ѻߡh,h*іh+p3VhP6F
+C݄4G[m R
+60h墤`\->$K,ᐖ{i c쯑T1¬u`Shi [9 R!t0n#ȥa
+1cL oH[} Occ;oJk<MLH=qu\K3jvpAFުW噌"Ɨtp{5kv_tۘz2 Hb6F'$5q0㺲/0$+~Qʇj|fg˜FdՍ0HwSUX{"j(F}g 7m"\&f.) a;x,C#m=aHD۔oY"T>CBYda*JP߰yȋ5W?NgG]KrʮVa0i"G eޙ#9S(iHL۠2E/><ЧWtT5.0s2,>!ՍQG0B7Hp/Zo+r\n`{5&Ī}giW[C4<rVk[olwǹ78vvuӻwmטuy/➡m/K%b;{RF(>'4/(^v
+8-6 3Qi;hZpaH߄%>{}da!`XnI;4>~E%;L>-r 7g֒qbG3D$J0+-ԟ2v[oݗȓÙLg`@`r%4Z.Gx tӌڤ;b_,x"f)./6N@t{{ʎ0Ld3I"EdDI|H>ce\;OzcT
+ڻp}*}
+.m`FM=4 t0l4FF?KF0W.Ie5KjZ2Q)ǁ ohOg*5C'蠆T{LkeZ- y/ FAt`nQbE#&GNut(_ΗX(0$b%؁CJѽ"xkzA 3'/3'Eߏ_h(ӷU|hA'W"?J4,SK\f8ͬF$.v1Ӻ_ <Tc-HoO6;
+*D%&iLk((T%O<8:a˰J]ؓf4(_;-! vjʗ̀~!goM!"]܏ԫ6!P1 :Hb[l%,ŧ
+)d$K?szf%"\aByG8Pr<U1(t ZnD@=>%tjbi-}[vRXb|V8b';i!MFQM!@gD_A?PJ>_>k\x#ٗX3WXEDL+ixOs[龙#娞"$?|AbG.e
+4@J'e矰41ry[gzACycAFojF{w\+,&Fv$xTm Er]ԯ6.&{&;wiH
+ZȲǼ
+Q[~]x<1\e\^l?ըi?5|JX 4T}~0* _xnn SZѵ(`_
+endstream
+endobj
+11673 0 obj
+<< /Type /FontDescriptor /FontName /IATCRU+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -9 /StemV 89 /XHeight 431 /CharSet( /a /c /e /equal /f /hyphen /i /j /k /l /m /n /o /p /parenleft /parenright /s /t /u /v /x /y) /FontFile 11674 0 R >>
+endobj
+11676 0 obj
+<< /Length1 2065 /Length2 17708 /Length3 0 /Filter /FlateDecode /Length 18980 >>
+stream
+xڴeTʶ5h !84];[>s tϥVͪ2!PƉ #l`H4u2p
++;:eU Z
+̇ldm?cCWzB2
+t0
+NFfolLIqc1CF6@GG
+<aAbEw~#I_r|\o xl9Õ4sW$Ivyt:\s`ꀚ h"^_~7go1` 'Gi۾E˴sJM2:H5O|BxGf[%}x-ۚ\t[=HKvDmڧgr+SwdkC߳ 0oj>z˦|cMKk\ /2j(::3" ӲNTz4) o5~DuàZ I-#ilBFU*C s %? yi l)y4^о$=>f^xtanv~ǠZ02Is_k=s/*yyϲw1[CE_ʒf-ouLڵu*Qp+r0(%[m`Tp뚮v0&yUaG&t؈ PD`>t9tq?MW\1s})L}`VUH%(SH֌)ZFsǕV=X5:Ŝ:Y*M.GcF. /do:K~dۀ2?jW=3ewhWUf(}
+̯ʾ%:ղ3vݻ
+˜f
+Bl0r z8~9\wP(i3tAcg)etOhcPvxNXKo+XaL<.SsQ͠FHAAs0Y;zFteH;5v*nY}q!ٹ\v-Wޛ$c)YZ* KY1BaR6 f
+H\Aƃl!Go~c03_:
+_y8Š= [to<9]Y s5C&UlYh簠+{>39nt2RڡmMD
+4u"aւbKs-MxTS?[{R܁YRBlJ qN ,C޸_2ʩw[=*/ (\M9L%L]&yHY a\xsZ]0.o@۸@= ½.\G#Y͎zj;p)od/HNyJpU!ZϦ2݄<'|YEs}fx]CRsdg]۬s Wr1}LK7(#6I1,q]Ġƶe`p+}`C.qw S
+ݼԗ;p"u;1׻ffC-j+ǹ)#BH>bՠð[gzzHʍC´q\QS0Jw/ujpOp0M=צ]@"o`.TvaFqGzq`gm5f/I>A`ٝJ\#O1hMK|BVscr  B] WDG&@e}9:CU}߅սO޵mhO,S#M b% ;}fy[ȕX5Z`Xw&|'"V́I\.g3_̬j6x p;ؾ P<Mݒ6ڕztrw8a_t; 1&3Aj
+(%ލ8uIe">S]G%MI,ʮ,[L<OO$ ؟I%V| n2Uq[t1
+ ؔ .ޕLb^9(ILQgTAN&5_b>mI%)Dkn"^Lwp:W\qb+"Bih0Qqg/IcqÂ߷kXڗrRTRw\hxg07g~c=`I2u<¯]3 \n
+T[~@WEk"(d?"Un,$ʯv#T᧳T>"$R\13~+ )c&R<OLyǑ5&}oe$I
+3$CMW3U!lk8{W0vbc.CM{2Sd]6 2/=\9{whl4M)1cZIb.QaaC&U;vi1ҕnk$x>0rx9!2K<`SI iOܢֲ-ބ8ӭARw{g C{`w{ٻ=a41D߷(^C[>Ğbe!cw d*rği׀?t:ٞS_ z@ݵxRބs%jwqL̘:?;yC-Ђ\~׹X.C *_E\=#).<$:i8JN[,)!Eu4cQJB"U5x巉Dd<j']AgilEk_r[O 4^|U?ZM ] 3X
+@I ḣDYvJk<=qw`ŦxjQ ?cOI{%3lWECܔ:ͷy&%1eŠޝvP_Co>0uSkӤ~}EZ^?S*Yz$jy#r^!&v$P>yĴLA
+3wbUT#W85S;OEؚjrYEq'fG?9Ԩ﬎ 㵅RQK9NwdM_gXL1.<$5A.OLgcΎXM9'~h p9LsKqtIj^.|BPYn2Dꡁ`p?2{](rKkEܱ@F6 xfZօ913z #łb7,\ǸWt 3bB.IU01(<b 15܏K ((I2.PΆd*I7JT u.v
+ -Ȇ Y-w+,rczsye^8PQ<*؉Zbj
+R]/{i'{pKلĄ~E v^W-8g)#ij[= ϳJk<N:>SIfp+B-RC[/7s177$}?Wbb3ݽir7zBLZPR1مn 3ϣ3jպ['9PFc,հRJ|KCjz)G"bAXkMTbHg^I8 s
+PhCޖE3grGV{F{82TɅ)HNF:2ޔ7.q5\h9ts*RuqKDj*k/Kơqew"=B:~ڏ}=#_+ʕ?$%7e4t3KǩR̀_͹/EԏMBXyHjoVo*3?MhPҘVF!wX B~ouBr%wnΝ3/+ݏ$؂ަhf%6cMI~4mJ?*cO M{}uzꋣ" a^Max)Xh(<W@^.2j>ʈϰ
+XpqXP
+qI
+E~|ΚekOق
+_#%窧tR ^?DˏSSN
+(;F?YBq\\(>Iwb,bteխcW/eL]%!Nwm54fM3ϋhCwZofX0 0
+Q|sFK#M̰p R{^G ^pG @MN^E;]殍Dox LKygh08#"?}UӺ񸅏
+46i3]sAIn15*1Hm8gt"|}r/.#~Yd}0ͥ'(h!<j.: 7:1Yt fQDϞ*ww,lM w {>aus0_l{%m*ĩ{~E;{R|Hi3A2coS}YX;A}xYakyJ220_ Xƴ]hmxRasUYԹsDҮ2ؠ:uh U̯)hMܫd^q 8S4@/0΂[&|ݩcU4mqܞQHEљTUThꅂxzf:I@|عW:'/}hZX?
+f7g~ˇ6 O/$uKhf=Sޟ6{{o  qH {D} v er ,I#+l_|*+whK2Ago>[kl"vaXvoi}wޱ\Rp2ujHYR_@Ϊm*_y0]
+Xc7g㧔?JŝYD2 $Q2uH U~NƖ4fH,s]H?..R<(U!F}N .yѕi\l k3VT֪*)xA]岸ĥzgIFȴO ܁u'̺O݄v"}hXv׌zo.I'C#b%Z _EŰ3/M1&X_7Nvra.gg=ljQa "'b 2<#ʤ_ַjlܟO4Q֫5ƌu,W덡`yF6:\,m~\Ln}z=6퐦ȭUE|;HҼӗ=tGPhf0dQ|GRpƧ>s=R"ۂS8ôEk#[P~qļۊ)ad OX S/l/+EcÉE ]9'.Hg.~H8vCҧ`rOHM"kίE}=kҫ!f
+c3w ť]Y8&d g.iK(5!fU'M*OsV6Ur$ęrA5 Ȑ7tKʡ۲_K9mj&F(_ i{uJGYJGN4ÙaS6T%X:b(*^}j6~kSR/.GϢuq_B| HψmOExP(I[ݺW~PcUuAt1H Wf5dꨳS UD=&LDBkf1~_QzSȐr;
+_*
+"9"uiH6 1 5bf޹r)UV 3}Pd[ m"qۦ]&hy@ Aޯq])-Թ&V1)KEWjϤײQՖKwCtu_*XfWNFi%VHYKK9#qy:(. D:!]Мw/|K"( zVoO'W|qtm
+i]Srxm>h@s * ҋcuq@d+ayހkHr6qێq\q4:.$˺=I!VG!<ph!ZHQhpiLu_٬qF3Sja%v-nP#"[a84QV1ݩ*D.._b^GAb"2N("6={.>Kk/|f%n>WfcYh'!_[n8ę;x~_ ŢG^*Z, pWSd&3͈{ZYGWi 
+-+oG ߽2B:Gw45R KnfQrki PY)cw6&1[fEpQ4WôLM:!SJY3O#i_HIcscIŨ/9e̢ʮ*Giun+#쩴!lxumd~!{tM"me[^K:4t7tN5}Wٲ 9 {7N!/C#rHE3FO`U_{ȔL*B/ὙqC!.#YJVEDZXȵBsr{_:[ŰqD2K?E{B`V3斷dV΍Y'ܞTQy E`<ԭ5e}3tr,OxߍA50;)TO_s?l7 XkK?\ C(u}ж'OQv!ă$iױ-}$u!v;U¥8VAc# .%Y.Ckjwveٷw, WqZ+!"VQ&Vw2吱n(
+3Gw
+-k OVarEzXg ݰVG?[tCĹ3\ˈ}2
+ ?łqcrxZEe9lf] gRGOfxE%B2έ~0yVI%z%.>ZP_4=0Rc<T\-M
+B=NqXYr~Mt m]@[M;,;(۞>p4A}`] tgJ\9Sk1 7U\.v9I8dz6Y0pe6t(Q}M*g<"Yci\tѩ#BBG x9)AWT炝]%qRla rH@Ĩo!q9)<ݲ:9V|{
+Lcgdx73B 9yKחk\&EU,W6EXYl3w{}5;:.9o|IZlͰ >$quq {3I +as>- ['-IΛiQhKfӧ9 _/O4
+
+
+Mg|@f*oũnx(TQ%3J_;x̔Mߎ9VWlW`L:K^Q*<cCe).ESK;A~kpBk9a#TIs&Gi031!ѣ8p"{ [:e&~7+ -9|cvD\"Zx=y&f5c:6kib>rz2S=_0YRi
+|qb%ʲNYL`[ExZ46x,uuz!naH/1_8}ݹ>w^M O8u4$v)Bjav'C'ǖ;S n|?lSg"i0, c?}A90XUɃ):ԓu“M -_-ƭ |b)Y7O4Qp-KŐ- #}eaվ!0af;5m
++p;HMPl/}5Xr-tk!lɓІ/Zއ3 q)9"M^֎wfvRx.Is/5{eC7蝟 ))ܴ"1jǚu|6}"h-#䵛ֲ%?c0`*S
+`/iVT\,y$ߟD~2]FǏl|YUĴOM曠$Ë͗x^
+fy$T#/5 -Hu [HNRvc :j)w \VA&dRѐNIgt]> Ag<+xhg6Ld+0d],SX wYBƦQY6}cHez@X1t
+s߅\Z+Ca޷ XW^3]QU|. {ml+jG%x_eG>ӳp-= CR@tZ7wkcCM.I|%Ly`xj#;zag$+[v-ٗoI2O
+e`;U\Ƅ( =eAFoP;rhYzl}l!~Tpro@2|D׿m]F;КR' pH}ٗ.'<Rb25S5@CBjkkC{EW_"gSz`)L'X+?y4OsQJpiA!f k~aSo)zfWC54HϫM"NASP)4sfR=ZyéyDcFXD~Zcx Y,1Lg}DQd!$@ÓU!fbm{NRzW!И%;9
+P?,sĩ}Z.](4 M+
+10کG՟0FNbZ'CV}12ٹBJ?P!SDܞsь33
+ w=z="׍Eqt> %ʆ,;KH5x?nhBZxMfVRf7iމ6\t">őB1w%P.rΊ Z'4DETBbm;FHq#Y\@UJ% ~ CHHWW34's~>5Q0]Ӽӕ^UXV#فMDJr_ێ/PYY{^lCW[b}\ShJԞ2hE}1"}̒}/|$s\Feog.E@0bן'&85Uݡiq&$n,c;aTÞ2
+z|'k@΋+V+>hN
+;?%^Kx+)=R@N<5Zњl|1il>r2XnL%By_uyd&eI߫(0#u7yVrcd2 ݹGCK,_ۅрŊn<.Zg]ݥF B/I+ZLKi&G4]va$t=J |I鈫axn2#? P(v*wmRJv/B.͎4A]4"~{ȁv c᯿7qb9 1$I05`̧F$ٶWܗZ0j;3XM
+`X79> 8r- "6YX8vG|[X5{JrW5J7|bσ
+Dw:V7F10$PHZܚ}qiGd:.2Ҕ2힂A!Dd\NjBF$ﻛBB;7P43:YȒW7eF9_eʩ\3hd(w
+ O#|'㻻iע`-asuZ9K2iЇD|ޥRC'9c*$"7XДDgl/uDqH˒e908<1U kx&BӴVOTR侴 Ӝ<aWi)րȶOL'dr9#;p"WH %o ]tH4I4efŃ$%ʨ9<wZ{}lga'mVEf;x5_b[O3xNǟ9WJDC:M`WqR"Бe 'L;"sp
+mI2ܴ [{E'32O5GbzQCE Ĥ_2Vp!YuZݡŎm<rrlAUK&Up" .ّfW+=14YȎd5.@-[`50z~宸Nԓarug+lNkhP'⏵쁆)um Z11-}B{sWvk^Eᕽv
+ Z8j.GA<MĖy`JӋpP Yrj#la MA-g{g- ̋*oE[6s$_.ZMqX(Tה
+b @_4׀nh|h{ <ߔH}^B/Xi|IGQO~^&>\er+&Wž˪i!Y2(yG5ҾErm\XdӅpdh/Sw&qmV5tQs(ǥ
+<{JBo5L?Vl7(L^O
+f֏8a$) a8MVɡb#:?2Es`yPU;X14i2Lj8}z U샭6ѫK}x#7Hٗrʛ Ňu;Zх v# ~S 7mKۺ&N_(+GuuY
+nB
+R}ia.^i,ԨLU/Wϻlei9,
+_P&T9q o/ֶa$
++kIU۩QXʧ)IW-
+4
+YV]':qfo݄G(
+i%%bL Ekʗ1G#>\ ¢! rlS@!j8I?O`ōǬ4d'k{>b$
+Rz;pBg5Ϣ1`é%S +DƥnQIgS${#ш$2[#caQ6&F[ߝ oTg>~PW;2
+?FHN?E/)#􈱗ŵQN;\}jk>H-44Bs1 pg
+ٞTJ0[*"`X ` X_ Ti2C{5R}d [VAߦK.)DfQC~GjS-_Dj^@oc]H!1;;1"c%|,':m `\
+ uxT!!d6ߪH~d h;7zcJ(~RP!uq%IT'RImTNj/ ^ =䅷vS5髈L 0Iorx%”õ
+
+󹬞"Upwq@Ow}XL!cu(w)kO5!9a=sb k(j?P,EƝ{n> ՅcKN%U#$QAK>ICQU7yѸ!۶%0]zqyoRLhc=.2hEeC8"NqfAΗ-5T)-[
+endstream
+endobj
+11675 0 obj
+<< /Type /FontDescriptor /FontName /DXGFLV+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 78 /XHeight 444 /CharSet( /a /b /c /d /e /f /ff /fl /four /g /h /hyphen /i /k /l /m /n /o /one /p /r /s /t /three /two /u /v /w /x /y) /FontFile 11676 0 R >>
+endobj
+11678 0 obj
+<< /Length1 1754 /Length2 13064 /Length3 0 /Filter /FlateDecode /Length 14154 >>
+stream
+xڵzeT۶6Npwwŋ$+.-.šPh#FFf\zJFQdY
+
+ȮPy*
+xU ڿ +@UΫp9-)-wr\
+'w?P:Ƀ6:Boc@t[[sb߽S89Ζ`s0` bA @?Ln[K^Wfo;f ql}ٖ gw;w
+
+
+rs2wo`+_/l|ݔT񕷯gݟ WJZ:8_a_.CEM_EZp/79gK `fJn>>/+^1 
+
+Et__;ݖF?辋|H6ԶZY:Ղ㵄EI4 ~Kxo'yά(`\X7C|c~^MzGq\xFŏ$D&<\t(4 @5zV@ZvAe 1qW(Yn=3⯂o;X؈]ָ1!Ѧc%
+{gf”rsJE{қTl<QX}/_hcҭ&YY Qˮw?'Glp "B>OτA(f
+lJtfgmYQ;Ǎk߅Gُٗ&11m\eݷ~q:\ /Z+''n#:u| ,4b
+ChdѱDsފ Q@ l A ǩiY/gGbBVu]dcv/uV:&t,#QC<f)jV٩a14S/<'5LǕlyl7R/-
+aYg)`e˧
+є+*&W.=(ߞ-"/.vztu}8o>f}G
+omXߠ:ë[j," d uw(?g'`O*3˹3W
+6kcHIdo#SSrꖅ|GNP]zRS1cࣗ4iH>Adtpj.4o\EI_!h jJ7dtů]JŢ0g\
+2E`gA0*!gooe1m܄>oZs1;4W1!]oxDBR݉~Br4/Miw Q0BEܭt*ۓsYi
+H khriDٛ]\p!\z/St70#28bf5vzP VkHm~YB!2ª7a|դf"ӲGroeSEXG@NnKX6K 1i) !~6ԛhK#fz<`wCGe3 ^O/V]= YM8*k@,YU
+5u(s֓;CA^&i t1SJ Sk̳&>Nz\*y|PII:D+*9GÎPȵ^w,F6d:J<JyعknQI#vQw@Y4_@̿LgRg c.n>cmߟ'@:<;u)4&{\[7yXGQz"w`TzkѢ=-+V|uӷeѲ`'Vez.mlgR+ha[kƿ9Į!Ys,vϦr[*$ϫ=uՂAC^gHiS+܌|`@ѐ 2*B #G6HDuXURlV~&ZLW݆jCC?ؑp&:%mIg݀TIQB2ڤJxec03`y4PSut#e\1{$뚘w@C^FoAjXY^Y^Vܲai=]^6?O[VqZi@V&pcv;K^՜m>.zG"ƨO{]]%mޔ<(5.y Ս ^c2(̋O
+LOt
+qٽiSxl1QԷ{g.ۼfYǓ4:@ ,-3{]F찪 FmBb24>NI)3xhh]u$ˇźX?yϊ=,4|{ +1 N7.+ ^:QsCیm*GNL.;!ߙ:[/`
+p`E)Wem5aҊse{҈aFo͗{RK4 ]nV<K^Awa(f#%uGr&NJHﺸ[ebBYY]RN|&
+@Ċ\PiUpHɟv`l͕H6t8^W Vm яrhH6o0ǃZ(|ؠ/vokbrL8Aõ6;)9n&8X>+†ˊмԔ`>?!7DŰC 3Wq魫58Z'g2 f<2% FR&ajSdb(*p<SѾ\cXF0! NI4=`I/{mfHӛkx!,E/JH\qza4 hG<qwk55BgŤ{]is*]xI4rN OtЭG$њc)%^쌓([;>fr)wd*Jx#aJo}_1m\5ٌlLOq~2?.LDBpX^d$&"qﭾ*W*-CRQ`*+CW0xrhcWyBn;B
+=)oNA~rs‘_u([as.*
+4#+%=cdM͇('d.SëcF1
+ۤΨX]4{`Tq{6hyr}UV櫇 tċ“sϥOhX+}blv-4uqyf17>8s;1S}@{_ؾLKR~=1Tl
+%寖$ҷ
+ہ=51wZ > 5 I@Le>m
+.=γ`c iϮp7S +o(8"Ԧ~t`9"B p!n)}t&Qk(YB3d
+*-JɂkmS 39x
+{jy%S|o:zozF|Q{6{ofyuvVZt*.hy3nBf 9pL0b’"TwF`Dė:{f׽37V-ލ^'A,Ya̤˿=Pb1=޷d 3|gPgZyB-
+rOU3䳔"fk/u;Vi'rbLo7̬.:U,*a^X\s.aձyƤָ`9T5+DE
+؎(e
+ 1l%dL끪y W֬jN-_~J0YPLP"CKx/ȵ9҃}4ݷuRἭEG5ۆyGзBN`(<01(҃yFMh=
+O!UES}Q
+R Pv4լ?j`7T@K@H=4H/7$b詻7x 6 2j;9vdr\'qNb}t{T? l#sDh m|B@"D/L+#'`s<IuG":cRݵ.xg`L$MEdoÏ eY&]b'jr''TAb'Et5ķ.n8{ EyyV9eLGc NdcEVGtK$7]<0\}F îu(\xز$= Fs٩fSD8S f6%ʵ K !q<MMpZU5qE"UUi@Sn)Z,5<Wu%L^s| kLжȌFpT.;{c?\DNv)fw Ts* "U _5IH[_
+3iOsI"XL
+wprFD'U%?
+(cSwg8DͮzSLX|L㳫ͱU7.gh_F9 Ob olpK14I )F41E p )$\/Ǐa%.? 2wxWC*猝
+#
+O+ iIihG&EyS2A
+6T S^Q0;{i#\JgA"K##;vkp
+]/X7qLi_4A$gc>D'7.~M2¢OjXїͽ=M?󒑰Dz(o>s K nNp1Cw'S{lZl#|?R'9{ ۶A#=A퉒w[e孙ZOm)rv92AŘ`r3!`
+Eblrq:5*A{y)c,V|gŠH9dD)g<+B)T_+B!˰+
+wiqsSuSBU_UCA Eˏv6ݎ*Rdt^#
++
+Vuu
+& #ۛ ֩!D;}RhQ@Q>[>Qjƿ<Nz\‰`-scZrKT0
+N:pD& [M[sHOAQQBv֘Հ V}"]X\fHy \0]ҩ
+ e:d7Tyk fCt,:{P6)S}X[fC. G;hh=2
+Nv0qthDBAںWaEfz{2xu$}+AE''U=Ebin#(GZɒ^'+&(T-2jJ4`m;Z8#F
+T6WAv=T3\ OO,eI
+,a|I uFOX`eN!bo>c>ts{]GTqG!@@_noI|pni'&` Jew.%e:ݽ:rCar1RfuS4dImh__j, kg=}?¸xϖ
+\$(Հ\ sZdkЄv>ݴ &K(-^ 髙B1?VZ>&DLP/4+_f¦v#p4_PQ~Grj7JY1bZXhu;̶Z]E ~k%TZmI2V=:h6wd;0\,#PDTHBg|ܝ6d+r
+.껻Y8F ׺7<GB;7cZ;Q^ecw6(N\1+SȬ!Ac%U_vyܕ
+L|*Axw3Rk2KX)<qGNa({rG#򿼟QC.}`0O $jZ붭Fh>d,h}ǂVrr+ bZGf?f ͆v9>ڹRGl5ZR쥘|^$.0: GdpaRc88P^h.`0'(^!=CsxygF0IF|r7f4Um-ۋh.Բ>؍oI$b/8xE6饪s67r-+?qЙZȧq}S+<E@!YYۡ8x{ݖRznKia䥇a
+)92u?qՏ߱ƕ/m7  f:N?w4›+<o
+<}ʤ}PwnՊxZǀf\1]e!5nV*98j><$Z;Q(5\Wd{n7QrAADX7nE2=U]G5+;ror_bfML<c f5O_~bgaexqYx_V̓V&)(h䲣pO־=Tv6R<uGHQ^ bA~|Aoq==z'(lţg#/
+endstream
+endobj
+11677 0 obj
+<< /Type /FontDescriptor /FontName /MOYMBT+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 705 /CapHeight 705 /Descent -195 /ItalicAngle 0 /StemV 76 /XHeight 430 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11678 0 R >>
+endobj
+11680 0 obj
+<< /Length1 1918 /Length2 13058 /Length3 0 /Filter /FlateDecode /Length 14258 >>
+stream
+xڵxeT˶-N]6X#AKp !@ܳy Xs٬YtTl`K)PQնpv`z8Z99yP݀YC
+w%!9%`!2p|獶ӗ֚z캡9+ULGJE<s9
+Yu'=ewbַE~j&{>QKz%;6KߛYw2M쾪XOm`X {OVBE}dGc*A{"Y46%3bV[9zW`!t}5iGb /'qSY/T< Wzq;aV͝ftGT??˴%DmPժ#H/ x^sLn1[B^:5wŲdj@8PfWqħj2G@.]Z̗:X)9qb,ҥ_9y33༛&g$H4)C .giQ* ]+śFꭶ&gK]NvLۣxs?+ArlgƔؕ{`;~c 5HݎI:ʆ!܁_q  9 "͗c>O|֐^R9C톧FSI1GO(6Ⴤ3Hyb+뱨;H٘S/Us.Ek &0cNSX~Gl*[`Ģkati,&M&.LmN aeA}u
+ ߃6g)_(Ҡ@Џ]/?r:YӝVBѩ (9,ksM?szg,GSU.I틏d,nFd,AdåJC?;%hm@A~3 æϏun:& ۞EWBL"k׍Due(6}ޯ^F(IH i+TC#: tW Jܐ8LށPizr>=o0RG>Mphux>^`wXLLDRi=89$f8LL0
+K6=tNqC$ʏDC|. 4 pbq<.3(*w
+vʛJ|O=,d[7pFZ;∂lq!-/N 5U˘KaM
+%$r0H(_|-|86%}oz\tVQ".' N%AБgG;vslS:;HAOAʴX'&]
+C >p`r{<ޚCJ}4i2/8 
+%^6"{a4L.bT=',=`_< ~gu{" U~Ny <׆>ӓ2 Dۥxo\ r>W@V lڊfJ/HXo=uLm7{1 Sc~{ #(I}΄ɯf`B[hDX1JExwN =0\v6yw3?~Oh979 ;b) yj#$%ضpɔwwԊAق
+F'ɕv uI#ص^3Oγ+[l 7"POLjƉ ]i[vjInU:1Ծ,DXl2a;"'|݂g[EkHG}9<ja?κ|, 1e5t- %g^c7o.a3WL oZ
+o 'R[
+3\*1J!"L5ᮣ)4&|BEYN'0cb޶s_̆;ƕ-ke ~ ,Ef,TvN`Ҽ?߅zl*.G"\K6Bo <͠|=+BD\j76 Ԓن/YUd}M'l{(Ѷ<£YӢ}beg" Knr
+zYL^w^A~UBluaE[h%sxӭuѼF`#W;O$"ޔ᝗ƺ˜nŬv
+ѾA/SmP5y;d%[+uʧfJ%GF2GSL$vţiz6
+rqW`wjQ#1/yZiuqW "@؂%i)F+ޖ.)ݮXQ䒾T_\hr;C,ͽ4<~<ۻ&58jW+(sl\u^[yҴt@r]*wlL6?tK]ˁ 'C6_W%UpH7yoZYɓ/09<.}dܢwb^:Ǔjv]Ąȁ}<0,T\˳Va dZEP>U<l K4FL3F08*3LkT2|T["/a$])#C~xs4v9FC7ow:%'eZJLt>(P~=D'M,I
+EI(H' %Pqg B_X&,)2Heыa$! IY'Qv?؅wMvdCA< &ڦhS
++c{4vVyglxdRaxRJ9L5gh6I#}֛~Fz/lBE˓>}\< 'W׭ 3O$Ss+vE?)I{B3-L%d|!ܒ-ǩ>mf[zJHz}l<w]`]үE=^NQ"g9.߁}ve
+
+rzD1ȇ.!b.cPlTNdbֱ{Dhcwɑ_DjT; #mP_S(o49m-^- 9[
+[ZQxk]$`־^!%RӤ7[2ћi6ُ^6>`9}Zd,o!rwa×|ۑ] &UotNs9 5 XFJ`͎YuLO?b7%K'~R:ibHI<˱ 6y{<Ŭٻ OI]МpFܜ)ON' Ӟ!p%)7K'j8H"9O-Us97Kєϵ `:@$kӖ#&oVuy-u~
+t9[iO:.<'kޔ?P'sOQUxTV@#S{/&zx5𑵳~ǹsյ%5&g^M`z7` :Q/w 5GdsgCWwN ͤV_w۽FIz<p'mV !a]ȜP$CZp^lgz3כ3۩?ge~$:ݝiÄ_| <kcRʛ1zyD[F1mf'K'{>!65%QPG1ǻf~vvc ]ى`QrJ YDӻ[eUQhrm[bg6l
+ em#?L]~$\dsaWNWlQ)6 USR
+3\ҡn5$u['w*S(; v1X=̇k?d\c4rk;hYwW=P?;:U ĆN21gPbO ) CWӓ,)uV%$V)'U"mQۏ1fljV;Ήz
+tw?>[\cls?O{
+ݓ½Sk6cb[:bx(IHxN ں*Ba`xZ]JB/8JhzzK*_^[tW Wki`"i{A9p3umCdڵ5 Ze螻4
+2*ȑF
+*roJ~:u+杖S=1oܠ8fy芙!`\{ԒJGK=0Sh:.q_2\sv'H-}p]OI<wW Fr125]YD_JtȰy*;fF+K#k ϳZPwnv7@bxi;
+p1?G#
+YO,vQ>%uOoIjca#iƻC 6e+%8l$<t~xQ8{"5.n16<3 -tbzK5іBPtfKu
+;R#+<,dߏݴ)1)gAQ 1g-&h?|I5p9>FYُwT@D[ aO^Me" V(2ST;ƙ S6])y:gS -,?5N(q'>GyJ"?Y u9:A1QI촂xZV1æҨ;MX.Y!+pOsɵY=QcLcDv)K~b fѭ
+3/zGis5S5n4ӫuܿU<G=+4,ʷ̨I.ƕXӶpXl!֮}xXA>F9J: Z@: "rQ=*QOl佄F'@S'rӮM܆aٙ5
+!#تPL^@I 
+m;aVr54̰YޓU>\tCHNCuu.UO%C fLE)7
+[;.1ws®›f'}#]\сo G oR{Zܶh0&u'R)\e4`MGO$ 0
+}RH|eu{ھgBio*!Thl5ƒ]اblX'WO=nf/1*2NUo]_ؓ}0mCփ4ݹF%gP\d""6!PSܑDkjix_~ݨ HImfNW
+CF74s 39ӥ/nl-n]61AMd}ŏx3Nw? m~5uhN6W)l)C(_υFH"q><Qx;HW[kve=B<H!r 3̤ⷘ^V*KթǗ1ҳl#ee{fcv^FwW}Y(dv-N-(kTsDFw/ZdGc]vb(KotE:fwkffC‡v!c,*fb5?u`I0O7CR_R۔%F\&߭s{ggШ#cJlf.t4\FkHi^
+x2SFl$y84LV
+Caxda[G.kB(g"w.@l
+k$5-Oz`¿1)j` +Ѭz?fCo(-vP@_U~l< g 25H
+%>Yi]!+^PhpmzΩL"pΑ*7M9 oss~KI{ ۺa,щqKL뀓yVa$>v+[2,|sS*­Щ\SIhBԐ­&z"Ru5ąKKc]A?6Y
+it=z-Iˍ IYP#2%kbߺ@0D9NxfoJ2/ =n';#˫$AM ):ۧ ew䁊D
+]ɯ6)tW3Ttvk/e[?4u
+o`Pbd)" a&TTfNݢVkcdYePӕD~͋ 4܀I )':;kvy4.QڋPQ=0oO~O4<: ߢ:͓/1\ϓSV eۣaӄ~"Q@Aǵ`_֥ǯD1w"LQ|
+"H,Cy+o>>uS{Dm`ﯾW5K\+tԡ)LZm|(p҄ ִuQ]d'%/?ÍB!}F,v*+,s0/R83OE~pF,ÄA$ɇ J".qnu.rNt; ioeR@ (P'B\;.&Y jᇯdѕ9j\ܖOEWP$>F] XFnv_1fhKH+yPICx<#}}D]4$!^jF2}JA? x+PKRj3!Tϯ-(;8;Q?wG6`uTGS|9,kǓ:4ctM7.3&:d7
+rqʴ҂_"DlԸ6]P3ҹ1`Px[#YW\N(i6'<~ kYnVpl{.Ps+KnQgD`{48k1d{| t["^9Яۻ l`ڕ<'v-yFkG>i3?Ä7YX1 E+ᤩ|}6hp~ X>FEN4k_;9!q~ߌfU?Ux\웺vIȣK#iCU<fƫ'w%0Gu`N^IR3n=}Qn=.Ch?fD
+endstream
+endobj
+11679 0 obj
+<< /Type /FontDescriptor /FontName /MMROMK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet( /a /c /e /eight /five /four /i /m /n /nine /one /r /seven /six /t /three /two /x /zero) /FontFile 11680 0 R >>
+endobj
+11682 0 obj
+<< /Length1 1748 /Length2 12258 /Length3 0 /Filter /FlateDecode /Length 13383 >>
+stream
+xڵuX[۶>\bHZܭkInťKqEkqѽ'O2|wcP3f i(&
+4
+@S#0KinpvtSC_&-š+36u玙B<^9v9
+:K 
+C,<
+{;üPG?[ `5[` `lo
+ "o/׬g"3ۿA/Yi7pQ29ٞ~G8͓ `ykvnn5Lk
+w_
+{윐N)Dc`$Ou<-n1NYc rEP%Ro^vTz/[eb JJI VE(%#_)Ic?nSD(/4_e|e|;F ',c},.iϿ;蝰`zZ5ʒz<% s,),C_KC[2<SaW3U1p
+?C{dE<|"t}e|̆
+Ŷ;_
+ԏ]- n4_/r;Y3&'A. ?0Ww5(D0o՝PϕʜʟJ2r4;U|%_2ffe`bt./0/kVȾq< l`w q*~3eDF<c#+ ]k/Itߦ/o)B~p+pѨkN- /=@tRKofUY\eQ7j=36Nhgn~u۟E~wU~]`,\.jLW83m1MAّ)B~\qDqtE"V}ˍgT'ȕj(s,*h h4]< xU.N߰#%+9tZB>֣ȕu̗KJԚ M31jZ42EO1BKq37h%hklCUќ1:xHuǚXw#^FۯZM!RT&6h84rq&taTE'$@tOlN޳odt`!>8>1Ow&֞
+%ww;|_=4]P?<b\`x b~ԫq)In]GR)+fu2s<1R{`^ ~>M @zM R8PM JJ':65"cΦe.6D]<ݲVjv_/(9^@vLԂX[xCgS7XZ c8ʯKoJN\#Iy)eX<DD"'n!:x{/|Q"\Wܳ™F$6zP'޶SYY9쟫96W.m¸1=c%E3v@je]WR}~P/&XmsŠY,6d-) l_u7ӺTt`1rvAW{W诮F"!gVʽ{DGr-)ZaJOW 2P7_d;-ؕ/x9"4x>&a;Lf p~lMr5pHE~k]5qbJP~rE= AiJ"%C<bna~:,3~H+}۹y\ 2ߑ6G_.a9q}Q.;'])녩Ůtėq(c3
+ĝޛ׵M 4s5 س>]#vqtf[%;HHRPΰ+LFV3Aňy ;#ݴ6kӣGT>cq!k¹RLw<F\{g E&Wv_ {Ag5uS;bl[, sz
+ |ƾCR Iv|92=>fd!Y(qVeŃ͢{tczi~cs1^I`gޣ1ioMJ?\%kreH Ved2/u2q- !C&H9޸wF
+I]14ҫ1tDӥi[rX8Ͼ `R4f%YZL7lyT="%LcX^vQ'7?P*4Hrzt<~NPV{樰kwtc]()dl
+Sͻ
+ʀ%*zsQH}PBsK~qE;4V~ n2bj1!h\zL-aXI(PgX ZXw: cbc׫>&à;^D3&$D-<
+ƾp\7 [c70yGZ7
+)%TVx?1Z˝#X[{ #' .$5TGyFIDPv<`aPsү,9Qu ϟvjV} c=b,c8=:4oG)o;M:}xОrgW;D4(u/OR'6A4_^lI
+tU$'2X@s$q?'
+a)͙ /ώ4w:dMVE;y>RlOQ&E"(NRD7 E(JOPg#n~@w{(tiU2CT(盧JHϐ(AYe>+hNHv5qNc5{͇jOIms\}f.zr/?R^¤|YnO|ug6 A.f2ȶYE{ i艱eh5Xn٘oLΙ噝4BHsc%l/pY%?|lR9<ޅv?j9 'P FVRyp+T$_NDSk7ljV?-LbWðj^;l2l΋g;(Lp(U2suR~4荘a1D Lm3^2dO$\E(x`._YLagT6oնݕÛ[6dGn7j~-15IA{eꪡqÚLe؂C]@t+%E > /dNU-FsŹ'>AL#b=u!9"̰u_^Ҳ(%juyҒZ+q
+}b7.OlBQ"GO{4&ɮl_FkYZyaGHCAj KxR0Xfz˪:[E;QR&8i,1|!]$/tw\.bH"g{XC
+婏F*
+Da+^Tk+]ښ+-mHgW/w͌~;ę=+fisc jDnLaѩ*vj>33`ayW:M(k5<g3<SY+ӡmL`YV=9šD%N^tTd>1g+:ZjQzQW*.\c\tÁ֪cMk^24c|D0HUbs Dr.*G^"DRz`:<YЄ%1mෂRUO&
+pSqu
+]<ΥTOҞ`6'DqkWen{m*r‰GP{_|$kT8aHɼ$/(HCrlqV]
+rqOgf{wd;GAOצ;q !VNgs֝4c"*p|U\* дgxj&`{$hu򱏑wEEnN!AݴS/>^6TZC=$~ϰ{ηߗdT;=0OkIXMv:
+Ě#¦Vʑq ^td+zIuYiɾ1J,]hʒΛ(j[ v[
+ |T//j(i>R*z։R0IqANd) nX]Ẫy:f9XX }o&ߢ>!evCҌ;\+Z+<GSlZ{ R.Ӟ"t$1rG{_sJ/ޑ0}7df㑯/^JZNi赠&=z:Y,i@{ws݃VވϒMbja֏
+a[˖}@S檋_&=HͪFIWvMt
+ Ph0$h(ܥu(PSý?SϡD>EEORNSHw#G44X|] OҢf^d\I(AuE5Fq
+Fw;Q" N8[ EU:!V' u䵠U~xxz{oB 8\ae{Տ́;
+3p mn/@)ga|5 m0d
+3r
+ykEfDzF%?
+
+Ly
+j MJmWw
+Ք/*Q-a*+i[IrȮ{+H3Oc2E#}Ch| GHpZJ?gq\w&Y`kEl,3h](29i~?ڠGLv Wn^
+r4֦G^3yҶ^&U]޽_nϡАrH4R_FH2WC PA8xږ߅<ɣ8ÿkO++ӫLbQ㠦=q#xf4^SqA/V׍5I
+? (&F'Oup|/pUV"5pP'jqgs,ݐqH9Z=|њW}<Q{dyÌLC!T\:2,[5{vR$3(~f6fFA'*n=ڋ.jpPݮH&  J;cN1me |P=˰[ޓ1r( $S(;EޒhV˄$Ynջì
+kN-_6)9F93o;+b_QˈpJ*VBV2Wwv>TQ$-čUE7},SAϗdΦߜ+4gN$x ]ǖ#z<Hx*,Rr}T`E_pY7i !`/Ǒ|Bu(;6+jd½TrIqŞaN0o#eZz#+ġo Tcy 8WWQp}j%]ifpU8|sKQqeG':?9ܨiGxPB[eخLKh֤>0A~$pic?wt#=+sX >%"guKFQ57.9wOppm?ioŅ슨 ÷=ymc.ȅVyTS/j$leG䉒{*( /?=E%<3Aw.",lL2Cy3TrKC"-{E3ѳUVco|B].?~1;RF3k~K& \[TIܸ3Fp7}7cPR۔Y ñy1DlVEiHG #_iHAnދW }J2P$ڢu+>UT:YM4g BZt2 _/'gC?κz\)PQѦR$4-QTQޙӸ/Mv>,9sm
+[1 5U`-hT{N^[h
+y]݈lUNkSFJenl;E0s
+7g.p/O;Mf/@-0Ma(AӋտF!7LqS{r *9? Ip ,%ʩ)MДVLXβR]Jn51oQwq\'JV<h'u,N}
+`(k| "Okz9l63:sw{Zw6
+*_a.Ͻ &9Aa+Zlt})C-ߧ,vB WQ8
+endstream
+endobj
+11681 0 obj
+<< /Type /FontDescriptor /FontName /JJEEWR+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11682 0 R >>
+endobj
+11684 0 obj
+<< /Length1 1716 /Length2 1755 /Length3 0 /Filter /FlateDecode /Length 2818 >>
+stream
+xڵT{<TiM5[L(3cu4 ׉J3d1qɥ*V)]h)]mlWQU)VZSH۟g>gy~i&=11."b$BL3miAp\
+FqX䉍di'%F6P( X?>H %`BHG"8TYW.jdH#w!NIO BxgrQ#8dA4"Uqՙ! X H4J' *8|T:".&q}'%18S)_T:\Ax9Ci|p<bjLlJjhHéH4L()8
+נèwl_dQ'f4ǹYؿ9OiYx}C-gM@.<֝Z}#*϶8yJG&NlnXm|z ~P'?i{?,K憐҅ˇ}+u72ɡK&Tkx~bLUSK{L{`qdVAזNԩmj-xeد-1u?bV,`uI4spjˤ[ݶmkRԇ 扏s q2_k'sSrqe~oq"|qJ&ZBFu>ay3;OӮJ+tnjY]g*1(
+Ŀ*O{3+ԶuW=\~n&ыmb4CuGV |k__/M~SMn81Ѿ[+WKWMSD^$OoB3+} B f1ZNr|SwoK[f,-@$s 䣔F+bw7j 1aǽ< ,khpA%ZS
+'
+<Lt76n89,lѝ߮?l+_(I.X}GL &>&<EsBCKBK mQXǛ[uw&9
+sZxӮ1nJ5"5J-$ Wp}fREj7ϳYd!fTܶB[-YF7~8Vz+wҺ'պ
+\=!-3cK8A-ek7|T1MoOx:%vB\_> ğEwy~e fBr4ǎb6>Ԭ[kQ{joP/#mISwy6>˾ x vWI?f8Wf&HMgJùF.vugFү\YYTEh޿kXC}\?WzZ6vXY)qo6E~[qQYpu'嬳t2t36+Zgy{dB
+zwr ?QUYU<?n]:l*VK;srܐcLHmPd nީSLGṔuu&}.S].;X t;=*W|޷x;7hrfpuI'~gt_~{֥IΪm([}_yi/&4d.WxҚǻլ]ba{?(*0u-MI//^guW=uW ]^u8:6kwF쳛-<ΜHXP}M{4C[2"/׋m*ȕڅ3֖S~vvJ+Z-{%`=8+SV7v٣C9ɮd|ϓeMᠼ윃U=;]}/(A$΂.izKYw;{ ?d[sugnq8٥1\JMUss'/ZiW3K=h2\u.i ~O$s{4_Y]%w^ܢrK˔>wf8
+endstream
+endobj
+11683 0 obj
+<< /Type /FontDescriptor /FontName /FACRCI+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /asteriskmath /minus) /FontFile 11684 0 R >>
+endobj
+11686 0 obj
+<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
+stream
+xڵTyTv5R
+U.hP"$Ņ!I$3qfbB)Bq؂lʩ*k+-Uں*ٓ3~.C5d /(cDSi1Pg1b
+|}|8\D8` `@ 4%@
+ L_2" 2f ܐD)"ҜH:=Jlv
+H :/@~
+dӥbEbL,f
+WClR4!*Q3CD0lMcw8!|Q2Y0a8@#( 6@n,rQy=D;oLJƬ=O #,gop$A4CwW@!f '6ih\B#RCcf녆GI@VbB#"M&'!pAZwy8ѲgA&k2%
+B? 090 Duub,՚e
+ckG<<[$[nt`1@Y(u/=_z;+ªqPî.ͼp9~KS|иEd]jw>ֿi=RseTEkܶŲnǯ; ~KmPi&&~~cƊ[ڃLȏ8ˎ%gg8]n˜g靃]$n#g}~hmjVN
+3EymR u\FZɊ5cb~wǍ$ՅnQ<:9/gT$Zdmwn~h~ɗ+~F<&=ytỦE gPiօ7(*kkcenHe[@U>8"ҍwsK瓢4[Ɩɳ:~e]du~Vy3 =?iw0K
+ArOc3wQ9eKf
+zFyrݮ,Б9vBG/Nr
+endstream
+endobj
+11685 0 obj
+<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 11686 0 R >>
+endobj
+11688 0 obj
+<< /Length1 1684 /Length2 1579 /Length3 0 /Filter /FlateDecode /Length 2629 >>
+stream
+xڵT{\LvI1QYR6SS*SHjJhN3gf9g9S. B7eV&hlEmZTr۵L,9|_l՝^S4;bAcBj ,TJ 9(ffr pНp2r@0(fFa9p`8U`:4 6ᐂpèAaK"P5T|!R
+F)4l?B(@•
+̟? J#ePILAR3nFn
+D++@H`<3X>^LOh0Gh pttt!uDTJVPH<'lCbBc+@P<Rf"JCa| a8<-ZL'%q12LD!xQbP$ p1rE;> CTA` $]`aO#ɒZ>JT (N3s_RJ$wbD/_ĭI\
+I!
+/$'&yCLB 4;'aO9mBՄ'#B4.` q؁-qsCL`&*b!RQ;::!|>N
+4)~Y|AZIlQ οsi͘ecut{or];"Qj`Íjá'ft_]imsY-cE䥨)^w\!פ+spj0+)o﷌-~xs:gg IonN6YB/s~~-;CH;g|@xC_.qzW%L c3j7pe|Eփ%|ͧ5T_}mwt[IșG{۸?B/m$s]s5^,m9ӻRRlT$&fT䴝;zWU8}i[LB-Aϙ~ {av ˏ/nj!Ѵ*6EGWr19h%%6Zj1ik-VM8fPPܴJ4SczՐ!@o-gS%!ǞLz|aʤ5OnS} pm7MY<Iػø8?dAĖXvz$ 7K_᝺)[,J_9&R!I1YGP*7\Zfze<nj֐>j޹gP?<jmE-ouuGK)UNƲ^{1Cm.awj\6w٭c}E];wCAo7l[秓0{?w+ҚҘt?7.Dz䗴|X`>/_캐qPf§)~UG5<<ҧ<u갞/bE2w͙hRϫ*B*6][iX=3}C.޲`o9ؠs} oQY f:`
+endstream
+endobj
+11687 0 obj
+<< /Type /FontDescriptor /FontName /ANTVSN+LMMathSymbols8-Regular /Flags 4 /FontBBox [ -30 -955 1185 779 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet( /minus) /FontFile 11688 0 R >>
+endobj
+11690 0 obj
+<< /Length1 2980 /Length2 30802 /Length3 0 /Filter /FlateDecode /Length 32446 >>
+stream
+xڴuX>L ))94 %Hw 9[}~׳g͐+ ['zf&D 4s6t
+`bF$H
+he05H31
+d 0Z@
+6.'*(
+p-W_FꯍJ ޥ& [kw Qw7R/kghca/
+؁cdhlaal`l󏜍 `h_N}~#x+8Z:#efa%vC
+fצW'
+g+`ɹΪ4aV3fqEH2)@<z>%AoړgnM }|Qń&r2>UtP-*exP8깏f~AN!ѭȇu-^dnrp#ُN/XQB4 !pv}=iS T5O{=ڮ*-ok!f
+(/6 ,Ӊ)|Xaam6k Fq̳H%bMYN-u-m,OXugB'j{}2r{C,z+9D^rkp 8uDICWFSz.>4Jy8d7!pSv`lɣ~^q0G X!Lfc^Η
+aKeEZhׯ<oaBV="0Љ P1{#7~Y=d~J5\??~k汨ZS9*G΅i@5*ε_}7;fL؈2!70jc֛aYk'[Ol#E;ߦ1+;n5P( Yx*wxfF͇W8rOg\&,S)@Bl{g,pB,[!v \
+e6\u݂]j $;!&k=-K) ZfMIڷdn{":
+3XK>ͅS.j7DxWIJ@ݬD x&>1l}*RRII÷yMȯz8*Rҙ?q0K[o6*a꾅Ѧh0.'tqZMC M6-{HY<ߋg.ő
+d'gY'id:rSJ}3" UvFS4{5eoJşK PAK/sG13c{d@l/D'?_ax@_)_8'42Z`jWӃ2f~lV'Ǭ0t> iKV!59p1Z(]
+Xos^G^?] 8<t ^߯L\*ڞ~wuMst+AN/%s(ywɰ-2%&C*5aC0XXW=(Lh.jn 1Z"#\0F+Mn:[bS~3^ʄ $e|]lf-Zg]ݽ0ڎ_Bs:ﰣ=inqj[%;9$dq~Wj}Ğ.ϣem00}1_ i?@B+*Y1U9Jb@k]Z"mᣌ7Ѡl^= 3Ǚc&)3]"@Nmeo3#q^^e;2۬s>T fI E(!:G{J<y]U<JgS9x❷%)xѢURBmZ1OIB:
+΢U=)Du&AGX^4**.nG;aӏcb)<ʣrm5Ps6zzW5GZ
+[#B
+:: )z?\Lb{K r<v'
+D˞0ԗ#?nd:*yVE訐Y}{nAnY:01ZF,;5%&ZݿxĿߊ"?`˂$3~E(ѢGcQ>Y/#Ձ+Tz!Y?Brlb|u<p#JGgA2,4
+3XHM۴ꁚƧVkS>#wozvs
+1#{Rod 5DH%od54NAm`+QÁN™)>w^(QqN@)~|:~p+ ÀWIr_`9yyFN(Yo_Fw ءo/Xi1`VF~;xQW4kYIMOZc1/D,+oY7~n”H.1 e9!:O.Hg]I{_4CMI.${e#8WjdӭW*d[[&:
+Ė[~-~D2+B8/?7ެѽ`msؙ$
+hLl$w8:(d/N+kqe$=si°"o ʗ!8[wY%Gk@܊yA޼-Xýď|G%5BfgE|cNg9M.k%
+Q0 L5lɌ)Y.g[aIpzqx6Gx]Kcя xJ,(N) Bl童6djN?'Vt[ ԽF0ĺAZ]ʴA
+̼jh=e!}?6=ŎB/Z"StoS\ݎ"WLx5`A2n
+fLDC#|N[[PH*DFݖ՝l|lӆ}r,;ϡSN><:ҏJj*,핝p̒˾
+G>8MgJhI4=Ƀ*lreJn{ZzDKYUŠbbl`K;#|M!H_bS/{{2Tf Jo?}LHypwYKyQnYVOB.g%kޭ29TglhgDSk  Ʀrީ3# R.^Je/4$P6"Zo7jZRd;1ZҲjY
+GI !<!?d&~*!Z5+'tTgH=Y)"PtdZ SX$=sL36*So]&6 >ZVgbQvлV.ROǢGո w'rfv(wu+dM,J-`AXy{_'̺ZCC%pF^XBF8Bx`q>Jk>E> A oO-V%9ը%_ Z7Zwę3 FOAVgS7'8כƛvo
+ʴ3rж/?OJ""sAwBیP_}(nL M %ֵiJgkL0Ee{пmcAܩbqMLe65rLY)e\L袛إ/WPN\Z@2 gu Hoi+C4kjM4||{q4`MW6lENZ3}8;G2!t4JFt'p~4d||kDѴLep
+˞XsgjRp`.Os*(G
+Fck ǁoG%!މ`k@=KdGŝ>F޺0($w;(/'lڸ
+wT ;tk
+0+|eԄB6@\%MH(S?wU摎Мk_1.+9ԯ
+kzecj#|eD!gaViFVJǑ]#T򕫪kO #&D.(#:C#mGZ]-E"?߮v ƻ%Z{!Cwd5B#,qi\p>5\7R]GEooC`-DfrW̿TnސjSF(aFWMlscH,cd0u Cp6ю3(Hx'}O=S+,YA0?_B)X>.U8Z\dbbsݤޢL5`ggyIg %}z~b4.(wWJ8?tq,"稂&Svʲ;.j祏lPد1i8\EVOgqP6x̳r0<gt!P{"p| k笝x҇ia!$k'P?G #q,?kIv z;WdI/O  vxdѧqQ99xcCF>U(mF<P6XC2 f8u3Q3ڜΞwf#pJKKVejkujo)|M}Yԙt+lG_2$* -IKv{ew%UP[ Zbf~ 9~@z WyX&sEw)}rh4CoVݡ3C(nWVM r!8A?Sy.x5E V&&Sf1)VwIj
+
+B5hh"EYk]ըI,E|%Xѽ NlzØO:sbhe:0d'3N ֟q]8e[^<~Z+uJfd9#
+"Ba TJȒCDT _Ζ-?Rp,Z8mieUkD/p]%Ԏ\Vs?P G6DӸ.yG1,xeD7h ݲ4zyl,oqeVeE%ldXɮݿXA)O{+z]'sJ< J9[PWWݗ"%PL!ge‰Z.Y^fPeG:9|pg7'/ۡQǒ穑ْ7=k>zKgִe׃.{
+ 1ѕAA{̴ШT5G\s{L";)f{TW}, K)%欲a^e&=ACWzp%n;qJKUMn+65
+hJQ2~gNc"`]
+w1aTkm쿌La̘Ojl hkzlM1sjƽ0W`t(υ_3j..zfLWtmBou"=ueZ942yɮ߳5%pgarX\cv;'lr!|&q3ţ>@B~6/I0-<pJ^!0#~Z4PNv]k@F'xz䛸~uAf,ڜ,i2heS{M!zC^w̭Ywi!wK֭xGRtXvQd8<a|</<͌8:lV
+?" rIy4j)W逍INK,w 7%t ( BRL!(jp%|s4Xm5ܹ|=+A_pNMH&_ͯA kd.ȢU:I銓)I=aH
+|\FLg G2+|,e; \Aip`k{!!8CAʅUPݮûX;Ksnya&Yr~ aoK+,.{5lwYSu_AR찾0$[T֬&9=,^*IKq&5#kg=h/7&{2RʺKm- ȜF:X_eg<
+W*
+ oE:ٯN̰P޸G8ӝXӐ
+0Zu waihqjR{H~zZ0=uTj 쑅P18kGM)7rJE?12։ɐ3?k+yF2|cF-U&}Yn&m=͟MzIh%)WRxQ=yBxڌC361uĶk9y.^x9ZjYzis6^7?wR=;/9pQOWX(EѾ츴=T}Y{\(&nNlb񭘯3i+qC{ߥFfh;xQoveáO&2rS[l&qWWQ1c
+j3Rp(>No}j@uHb}R7̪;R59񅗈ۻ)^J/I>'~SnPmءX=vmEB.vt2桥ssZ:T#o,wj?s~'jW08L}pPw@>zy7n-g Kل)S~ʻnt% F/Xo_"\s*-Wnehc~
+M(mr_//$EEqarP׬rBM1hq9&)&zK5œ`2FX<0sH8*9yֹa}ĀC1dr4?Ňt(wՙ]s^6sc
+8Uk,©/h ꏖڨJ,
+4{CRn*Vۨy共XRnRbCh$[n! 3[S^GCio]ȾD}/}dYl$ eZRFl07Mm}Q1̥љt` Sq޽'Yk2Uǹ*l7  %ܾP`5b 
+J(2*"<Ul]|X+oeƃ>*L{n͍.(Rhl`-@#J_|^/)G3f#9s?XilQwX7vK'ED^]ߑ(K{
+U2侦L/5OD/L}Hk~~"Ǒ0s
+/_gjMd7ڧT5ڿ6VNK\|
+T#Dw>USt/2zk:&.[O]9k^w XR˭E)gZ4=Tf+BW-8 m84r{mh&|~ UN:<3u$4+rq667ơZ ïa5PG,i {1H9sNsdqΤ=Ij Meos* ǺIBDV`BXXN,3#Syn\>
+{ ldABb멹Cqa0`!ѫ
+(~;c fဝ5-!U/n7V&2p6,=!~^G"Oz/J~wD$ 3@8&mb̧5掯ݎ,"|VlXIvo}Z$EAfG^<PoVﯶ7TniҢ^N$No%q.y2. _H= wpZ^jgpe rNMaL\9;ŷd_{Iqmth$յd/- X%aVVdMl`^fgkNMq1 A*]AٰmƔL٥hYRޛ&~hƋv,75~u.qCS_jvRUsI>.a[=n[?vְSr_g m㹌V$W|B7yI?>q`fj,khw8^^ ;R6qF}xQK‘ XM0U\D52F)7istrc;NTAObPi9N_n9iɌ׼3&! ] ־II'VUy:ѳɼruH XS!E,ziT?CEfuuDZʄ+.`Trۛ m :1v~sHOTS;`]_
+]z!cs1U脉%k B+&²̹} R[b7=t.m<f*ڇ/d$c_t Jx5;Ǖ8l`zl^kzMvM8,mEg1K<a{tC b mD݆;Mo: zuէݮ ߷Bjpϔ2*!Hw0n4>BH9OT?&iBٌ+
+T0\U1U
+k;LO6^_l :]Hu8}:Ѹ-'|7`<6Yቡ'yH~H]#VI^͕˷ZԎĒhX_6UœP6ZV9zf3M]B5Y@~@ch9F'N\?$4wRwHWND+b*lv1O-d)%m$w1O_S7 @ JLt}jCLH?t]ww񑦅)4
+*[SKi,TGJB~ !00z:a)gɎ ڡώ\91{""(S_wi"ޝvJ GN?N~oTqBU-zߺ*Y 4ɀ wpja:QH$
+)tލ0ɚ8~3#
+exsb`շQ7{s6Eyˡ:NfFwt%Y\ { 'LR)
+sl
+ev+Xܸ$idrEs>t%#{Uc)ᝤUcVzRq4,F:<:KX:Fȩh@(ioѓ\ slPŽ(Ob90Ozhu=V6d^Tppdm;jnJߓUl ,&驽^ۜ&[8J=T䍬%hFaVZ!0XiH}D/JмfS3IyA1Uw^y}fm!lNBMgnJnk>
+/=Vf&b}nViol Nj{'&S5Vap|2).郞PAyZbeHHh%E)Gq&#bzEp*>&x S[y2cpjßZ>r--UUThu(sU)D/bo7=F0E[lN
+](VF/v>exoq
+A"bfwilIMiD{v0D$mio,EQR۱.割&«%j
++?hea}6w` C MUİ֑+ zA]rH O<[ |b4T&Je;hcğCW(1?_F"=cR¦؅
+:~C7["%
+0=*5z-?or<'! ~6tk~ pq ߃5Jq[pr]IƇuve)bHg"1Ahs6/i"SF<͓ИRz| ^ عDŽR$DZ
+Q{F{6 qS\3vnj0U۟\$L,JN׵]KvQE/II3(YC#t'*Ue^
+?v%'eXj})O=%ܩ?;W$$4A[rm?jWJ#QM4dH@5;RI shΦ@XQ7!u[硰
+7 i2Jk,6r]FTmc)YI(vC
+^K8:9f+<o`Xs\+uɧ&Lx5 ;#c!}^ܘFKw s8Tr( BD
+%e` Rh\l=99wy{5iؗ:
+qoE7JE(#6$sxB_֚ /u= rTTI Ъz1O!aSkH"rl Y+}%dɹD<EN3ڛF`Px$Q5wAy3NvކZpz7w
+ɨ<?F8p?ĕQi8d̬1ǤK'^QF68@^Zhga%…Ydt9 %GkV h"ث5<F }K&NI!rj,r>D7qԹ![pnQD6[Qsyg1U?ہT䩪x1I.RΜѴ!a놹9ROEL7޶'dZDzFJs%vYROg!.o&K2tc)Rh"ʵCrӝ
+ZRp*_ߞ
+ 3m,-"Ȳhu"(E
+xƣ'e])oY}
+}o9O󍏫s4Qc(ٱ;R+"{d;Ȇ8_
+I~`̹g<zV\6OXzB‡ ѼK79NRi@Q:qZ Rx%0qRVNՏ }z}ɡB
+`Y8
+P3viz1
+>L'*Lq~  V
+}&$.\ڎG\Jh~6zXw0; G fARC9*O6u3`2L ,a~Ƶ^Ԭ oE/
+m({K:~%TYA3{p3=6iFZd]PqD]ܔvmqkW\RsTs+|f oAxW% q72lJ.{gk+
+|[0/Sd:
+? =ܔO{QZC!I#cGgw pc!N^Na v~^ν`&ўav}`/cU6#|)\V+/jӈ)t ]HNP;Aܝx2Pr
+Jd~i0/
+=zVh?|ojxwM';B Eq:_Bf‡ nݮ PyaLRBUt&GJt 5Z3 @;ĉx&,<HݠQo2ypc$UT@Mrghcn%"2c<'yv;鳻 I^ -XQې+8V CU<_kVMgl_ PJqCQyiM;c:CBipփi//9Ie_tZiJ9P}Yڹam. X=B_%RKkiSXfݑFn5)y5ADRiR[{'0N6b_:|1?W"#:S1'Q
+daCP!7]^.-Iϋr0ΧN`h-= B* ʣ$QSMC0(h, ]ASxe&IPFn
+z#`5铠XzdxޚrxzkmЌ)S 7I`2wS叩*Of#tMk.|i)[`mяZPqiwo[9#ݜs`ޡ-ܣ^,<7h"v+zSwfDqi i( =+n_o~[ªxynr>j/r[~aV՝}
+Suٰat~Z!MNIV6ꔺ7yI4 C(C\eGU`
++݂腀 {Fzt, n\d@c?Ζ`z--DzfZƼ~ O,8I/'ֻr%WΤ_
+RITuGWSz6B76 ;`)&`.+%b (4Ű4/6AJn-
+}F3>Tm!GZ?1`T1z* ',-.eE~ kQ,Eu[zxS#\m0zGem任-c',.ȏ8rTP9OC4;Am#uݭrfgLN
+y;t.UNF:XQdL/N3(#N΂i:KQ4ZbÙf\qqp/^zY.t1ػNTޔ{7bHGli6$Nk!4iP_IK*AkFa-RzG Ó
+¹S%l?<
+ @KY)EHdr~N{X6C) 6 \S
+oa-Xo9G~XPZv{hRβWB0fu,ʱ5͡r\
+O6'lj*}ӿ\sm&֧հ^>I`L{0yߔ?j}=^&,} m;sLHn}`c$(hsOO%Rm.}rO#0"\37 G}|]xN.Ee!Зl''mxr؇S|OAۊw%|Sn BL k
++.En5ƿK=a;V8 ?(1)$m [%i<sc){<0\}murM`!A[PM)4zLl3J#ƓhW0QL5e!7 55a{XƂШa!eZvDNks.c2nm* A*
+fku#vʘ9h 5Yuj!qrEy]~feVW(+vs۫2[ v
+,7z;-S,LEp2ÌN5״<s
+=TuLi]¬4l#@\<~(>6[QS
+>&x78J$dȪOKpv;1Z5>_C$8N
+iWfsZ̒w=K4Tc~tZc4lY aFC?<IU<%
+, r37IJM
+9Oِ75BD1:Y?t!f{@
+لpZhVli}v/& 21WRwn""UBe6 S-(ALi& qXe ErX/vIm
+\&D,f)>;h,]V|~@`# F-̨5s߶綺_QLYCdTE|
+ l>1OTPD[ A>gH㧘
+@sVמ(,U dQ FaD"ռ!@)g/>q!xE7K7(= XPqAgt@== 69=e-m5pVA׎وyv1JBԀvCda~uV(G>'vS..ݒ [Įc]ս]͚-8i\Fti ᜫR(޹fg%;&f+HB(:qɺF2mDE﷒Dh#*57V bߦ,;
+j;o|&p~kǔE2HLшǵ_b-ܡѲƙ-(a)4?j 0;h["s 0mb'+OGe?9fA$t*pB^L!)ދ9!"APN wB.sZ! 6:4ȴ+'QkC$pE5%O* sGYGtE Y#e|weFݳGsyJQzS`՛YD'DV #D [RK~_8u!}<sGPw .iTS@٧ *= G9AZM֒xQ|^;DUc/`4v@,yy;lE#cDL}#&$?I_r1j]lZbDMJ-1Fyhkq _(ZwRmXxocSbH'e^QKzS2y;d pگ_{@\?: v3dy={e?2}F UZwӧ曀Ji{6"+)p4Zwj6rYFq#*ǧdcc0]ZpPM}eZþ:AP(&p`06wP}~8Pv=fUߑo;nT<YSacW"?CK7vm1C0{9~͝7k
+ɞBMo.!d/0u,wRvc
+Yf6Ed+' ǎF ՝XQ?TZ+ff2 Tmv ?FGlUU9x@? 9R_,$`-U4͈~NIgڰvVF`(ԩ
+|Yw6W QvJ"_G6,Y NYHNql3NvYjQY iߍ˸¢
+7$3
+5F( "be~bxx,v
+y;12GQ0j
+gE=*m21F2Qyp&lkz_VH-[Py4ѰB VΧ$'{ <\l=_ VMAI,
+eQ,NP](G;Z!t[D'%.wFю5<םy<KG}"SFG"}@XGЪL͞rXn+r o))R162Ӭڢ J\A%S4➇_RzܐR/jF~5(,$IGn2U,G!LG;ZڀE=qCuQ9|U=7C/O[<qf~7?4R_OZ\hk+_GrJ>H$
+,R*,."/͑%Ghxm`YhXb v18 d[^,5XՂMzIBJ-0X3ҝ.Wx \B LKY!"Zpe &|<o46-bd s !+뀐i8-|g䃵Y2n?~m7|XgBB'$.d J\@Ej{sB/"
+QrqC65br # 0R}pBQd/`,L{*r5%?,(A7 |}-ql/9 ~'E0U"C`IR
+.[DIEݽ\{(hGFq_X4y%Q47ݵdbQ1r xk<4r5wN[N89q ?lyzAg4Ўv' ,mW>zߟTt9txP5ahFA2 wkg֦RI!G]50Uռ|v;K# |PN&X =ÉQ(*7vw
+~zTQr*ids: 4 0\-XݖV.tN."͑A"h?uX"y̖ΐb1+ivw*-kH6։z[ٗˊHBP]1dc"i*Ǡ-v_ ~ ͑6y
+&; iJL,|goL!iqNCwd %v w1 taƧSLԼsNn:ÁQW3jlp%eU[iJkmV&dͱR tlwcU9Sq^DݿL-S(EnL-і!tJxSR{Wj?w!"(tƬx3Ў^:OY
+q*[HO`,$Zsrky(h`m9Y0ěRT;=niu慱ΈldۆTAxLS0
+.#AR͒Y!PQ~od`KJ_7|ii%AK^[
+cP_i@zeM
+ȴF
+ WhK2;JWDIC6RDBqL$O6,8z8)#Wd`|Z{'e  hGOnU
+<vwSi[Iv|0®\1S=yyH)qoeYၓ[/-sM?'-vOe@
+2?_}0Z"-O:cmv
+b^԰<錩qy;<$Y4P=~ۮG4+MR\a=7zz%^k~Εa]soHآ(d?MQي mb(۱>I%R hUy->' 0>n*L&6%2H>5д9GOt Hr *#NN5'9I*eeĨ)M;Nad!M+>=]~0eb=[twU[f
+endstream
+endobj
+11689 0 obj
+<< /Type /FontDescriptor /FontName /HNJOVH+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /ampersand /asciicircum /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /period /plus /q /r /s /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11690 0 R >>
+endobj
+11692 0 obj
+<< /Length1 1832 /Length2 18448 /Length3 0 /Filter /FlateDecode /Length 19593 >>
+stream
+xڴst\>n8m۶4v5vضmml7V/}οߚ53n^Y!'VR6s0J8ػ330
+j}>ˋ i+33]tv߸Q|2Tsg
+)7I?vR~&}]اkG8_m,]ɕSR[ٻM?]]\
+A9^n
+v@lWEhrRpp37'L,j9=Ǥ4~c]>'.
+Sl
+*rr&no`feo`a
+3 0wpܜ
+^yzG"s -*
+nl3h~50 (Ǿm[x3oC|ϺI [ex]DNJOΥG㛶gP\v{`IoQTNjiZ׏HXoTTeg{@"⭅7^? U=
+Yзsflv1q9W&rVLG2:" ~7zU!<D)E6z.X[]XmOʼ5T؂p,o9؝Ue 5Azd]>Y rmH.*pkOg"Ep26 ,>B!Pth;h .ܐv
+mm׶syg
+%Ĝ|Iiij_xwXB1&8i\wK`{WD[a6l4o&E%J_S8Z6r ZGci<qt?-;
+{PcpK6^X
+_Vs+-Ĺ{FOlOC(c
+:OzG(E_1Zntw HF4JpS \H%R{m GB9fZ(n-Ξljr#9Qe"k~dž|ߑgEy^9=%W
+,TD MwwRtShڍ2!æ_2EPKh:-1R i5 1SnSM "]?4y[q@`e/cSA+Pڑ#
+O)3zELyh3Sy`(}/.wx2)2Q32(1: AF
+m߳]NSJ֙7u-S_8
+1` mMʽR(Og/)I4+9gQe]x0Y Prj#GSv^+ReVZ÷2<© m)4ZEns^RK FSS'PJ_c㙅:)\dt?bX sr >űW"mE +R֒)4SR3C+tsj5q*S
+<RJPQݟ,qV& lN>G>іm"QQJU](w;m,a0Smݪ]DW$B5_|&,+ͻ٭"IM.VtO =vR?擰*-v=2iw6H>p
+,[ZOQK U *RK"ˑkT
+M#Mͬ Cۛm]"G쌻hP wM2?He[̙ < Z
+#VnϤǩ gdiҙt.ĽҥY Gc,ӵw
+iPnMᨹrRue8gprZm_~>^h*2T1oc^V0VSe pL0iPcq Oi-cpXoWO&tPQo!Wi?V$:I<M23֬k>Ց˫G!Kt7-嫸z&n9>sX{ Xqظe3Zwʈs>j2-2fc x:1J@ND%W\b\~9gOu+_?b:_+J-K^z{5 ЋyO}^
+r+eF8SjĀݩZ~1?9Qu̾l:C2L$kYSڜp[$8ԝGo߹ڽT;^AqQRT8ߩqh7Ynn;"AH/Pg\jH `{>\6[BeC XfFoՎN{LdjQ"d_wW;ņ&CJ<pU ZjgwYHZBf31C WDDTҼ[܆y
+bi ?@h`,*ӿЬϿi+s²#<Dزuk=(cc=XwU|kuٰHo9Y7^#/v' O[+|넬q406#$Oo;i @%=ZF)BR8m$up5M#
+V%1d`,1r@xn;bL$iʐwto?P̜s%YIE @yeծQui|GKpϙw>3RԻƟ| >+M+H喑Ͷ.]=Ť 3wSR`Z_2RVގH8c@i"U=m,=#B5e8R0^^*G
+9%B+Qʁ~YmdCy
+k>LwZAuU K7́:k DE
+/Jv9B_Q440?LcAEJ(HJr2]tUT?NH&qeZkE7/nNG:Q Gj"\ SkfKs:}pBvhuf)c]Z3VPq@m'D&d)Hܕn(#3r3N#tI0P;z;6(KO,oZ~bWFPݝ*.
+2,
+.:HϢПsnT R8R*45&nu2F%f ]<wDa^X|bQdWII $RMsD ̢D
+,WR%|Y>E(CJBRn)[B_@aEy΢z%R]2u
+ll* >-N2kkᛅДJcw L7lɒJvJ:B C 0?#oе'uy}
+pĩ#J<B׸0*_kv4ϥp;ALl6
+iR2dѮ:?u;kjrb
+cb2I4"CF/Z2$δj`.3wS0Fcϟm1uwə+j쭑F*D:gVڵIMFW"dk?TՔ+ƪ%wp*ZǴWޞdPLu'erFITVA]rY .ln7) |kf\s8! 넓~vd5$s CTۡu3.P0ypTAO8?z /+*A '%1}%'s%\mR(@}W(i?y$>y&Y/Wn 9!/s~Hܴ!3( /n\p\~!*}ilnۺG]Эn_ m22ūVX>58E,\=aYcKArt#ᒧ$`ݹfvI3ϏeIo^.)t؃A[Œ|VGt~
+jP<jig,:SroۘmMI)? ~H ,/.ICԃ}S5ƅ]d$<gܯsS[kK;/{m5ccՊSc&
+ewG>t?$
+
+&,Q%)ɽb.uNM%+IFQ,|$c2Њ!P<Z[E.]; k'݁^*Lzֆ6ݫUkhJ “ T/8D]j'+fsl(lnoz׹,^}zy(){^K#ՆDl8Q6XW?U.M,6qkt/h 1@#,"yIUGXkp0Q[!"6$ nA nCô}f
+z>T
+7e&pc&&1siP2/A[Q`UδWNt$5̍2EJg—O5q:Gm3:t):`fZ@
+հzn][n[?:L1{Ǔ'2O,Y:ct4<Ӌ}J{R[ն @V``Ĉ|h5vrdQ0L i=1Ate&VTH(jURE mGWӠ{pwY\\QTN\Σ0iE1= ri@\@'^*b v=z'"lM>Bټ/g'F {oRpI$?@gTg,~%<Ԯfm!~5jWвd9"ǔBpn;5@\k@
+5%Ecy _U3)կaIaw7{hk^YRJ
+?&F;/?HX)(.yFC~22A`LUsժf>T .1P1^"Vs%bUK !4?NTpɵd$,!~g-QvRe<v5ZsuhcHS4FUWF84JdY,#lKכޛSY!crP5S ncnR$,WusDKk'R G`􆷋A3Uj
+7B^OU
+gMuFDRHqd3ao:/CX; HT/`ʦ6aG Kpv[R}QnyFpVcZOzD:0g]m94Y0_c3
+ύJJG316!cu8ľB(mpRy KT<0"f]A`7|Lm՘t" ٱW~.ٲ&Q̚YJhj :&9Pƃ@*jrnnp
+Molh!žPy{ct>FU=nmj 7M`W%?3/4?t`$!G^TdmpRqi=%
+"ᾣVb ڜ 7ʰ䇛?Ҙ]NV+עaARHp>dx)[gn<'ۈ$"6L8˃$-Z^>SG-A~|ISLӨRAŕ!a?<`'lFRq/MpUS,%NDkW }ǩ >+'Py
+ $C_6
+:tucrƐJt;#BWn1%W>r 9Pp+
+R.7X$2ڋhlԽBЩ7
+G?ag8{`^~!
+|!
+/A65UpcS@򙸭Hۇ>R2Hzl2S8ZqL)k_,AΎNSBHhHqҫHPhÂǛ4c/AgwTmnO7}~!|?6haH %7Ep_X:@w܊.N$2i}GQ?]P8]G6tTM?lhq91ռRh)h:9
+oeTH|WیcmŚf0%9 ġ8HJ2S=;Y3DI)8A<R %Z)g>(_Zb+u@su h66P<0E Ձ;-l4%/%0̸zjU+{b~yS2rAe^<U߂y5x9 =#u݂SVl {E7 ޫElmr>zļ&1mdOԸ z>:ͰQj
+sSVsm^ ;I*jUGTu(bvMNv:mfR[B[nT錙1,
+0_|^x^}ZTѤ(5^*jt3Z  -,q& +wĹXEҬmTF[LIHB[-͗ݒ5s5X`ObptPoT7(1^5p-awg!A~1K^0g|kc
+_
+PwRi@`7S{_y@?M
+H"SŐBH {//r}aG^EO<ꅜ㱎΁en0-~{} /{娸>S277sh:Hq~!pG鮢V;(bG7=PYG\3ENU/3DBpʌ]??{+UAI=/֨]>vL-%e(DCLwc
+sMgs(iKgShccwӥnwe ;^q ϓr ZZ2 ZxL<' ,rQXM ʢG>yԤ(÷Z EEcx$O"=f'E6E5EѪ")dRֿk<.; !`P[o{hNJ)lfx%1<rڬp*c27)[eLe Rnshf͐[8@o @,u2vۣ<
+E.Z(rx@4 @ӳlK)Gx8wJVR@ph~HsջduII|ƼCcxM/0j7R,,Ƿ՝p|V|ctdTb*bc/ežʟ2f _Ye _fך
+Gbr2_Jtt:~Sؐj
+ۚ?뱺-"%Թ/5-)vZ YR KUTa35~Oۺ- :U?VQEԾU%HQБݙ&5\#9P wGM?-~*$|R$XON>oPF]{#Nx.$ GxGnD=Z
+DXˬS.•rݦk[H-Kџ.A-Qna_>~7SUE2"W$ *>݁ꘛwOW+OYI7s
+]j̵:^?6C}5usCb"kwn(շJ$_B "{roη _6.];%c<9vq. \TM"*^!\6=71 "75޾^Аt<Z4-ݚءEfr-ϭ71XE \ y&atId
+9z?M
+;%Zz ftUcW }ܰb/v5 ۘ4ˈ!m<cz:fRcicCuѫU7R
+ 9=6}Ah` ql> em{Y4=\rHu~a?Z* X?C;9|jvw0\traDL=:̏˙9d˫#0dLldU5@tL%Vu
+l
+[2s˒Z
+N#,#4m&z
+lBl,j#9>Otd=P)u9$=` ;\XG35utN Ih+ `.lZWt5 Ri$cܲª/ױ)"prsGA=dQv4w
+N3(P8քdl9S{s 1ܰ5݂GͥEyg{$EgCiHjӴ~&F9~B.m{7f]WwX>oU
+ij<P:'>M Kܫ$2Rv6hW=0@3c}T|LKc؍Sa31>pH|$_#;80;}G L|e W >qN |C(>$)c̚߉"βNep] JvQ_cI/!]";̟-P岝QQ_7:;@ƑqvΒ' .#9Õi#rn{&XY&dȈmXEM+d93H+) M?R؉ 2˅녱|UYl}
+|x!XrqYgTf^M1{q#Wiʾ} \_RR NwM#KWL ѰDPAsD67CEM@
+ 6)<I4w[+rڥ0\  mꮚh= aNTq:PPĵ@VZpMx{j'Vw >R
+!j nЁyFV+G 8El)OkB:!$3SfbMLDBK2q^&1{Jki`'69ej꘢
+endstream
+endobj
+11691 0 obj
+<< /Type /FontDescriptor /FontName /NRLLYV+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 618 /CapHeight 618 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /a /at /d /f /g /i /n /o /p /period /r /t /w /y) /FontFile 11692 0 R >>
+endobj
+11694 0 obj
+<< /Length1 2277 /Length2 23448 /Length3 0 /Filter /FlateDecode /Length 24809 >>
+stream
+xڴeX
+-8o܂Cи݂d;gr޿nRvzɈi A@Q= -='@ZFdbQ
+гskF[7
+n%iJ7kHں#Tq4 v(n/{ź b^zcNv,t+^+U MQb0KLwt}SvEf@4 B*ge[+jdD+^\38x̎o<DbyFm Fv2 i?1P98/ρupTp%ŕC}D#Q0g-#?]qHSt3Ʃѡ Xjj.
+ sJ)b@"Sr
+"ኲ#Bz\x iz8bSuȰIH|L[qVP,TAxEC?ouUs\jYPHKD~
+4w$0fd٭ڽr9mԬ c3z |G3+D169-hZ!#po1CJ#$-.c>Z<F"`}Yt$7nk~W0=Put ^f/ @FF*hu>:EӺ+p|1:I5dV`C}O)nDAG|Վj;z.qm/96 !_G04fpm .7Mc\h}!<D4ˈwhOk4ȍxL
+s9BC͙V2ġ§I=
+V&qV62RPH6pqKvH6P
+ͣ"nZ.HuY[L8ۖ{~U`O_W ggjG3[0z }6''% XނJM>M?0J
+m&?ړ%>EFH ʯꙊ$<3!T(sg9~T
+p<)ޓev:IwL0A\5!%JN}N>Lna7sŎ֚^|a)~hut1D">8<2:qP'PUTx;߳J IӪi?&Koahr:tS!ywaMDugc‡ty$^ $~(ly/=&X:ZtN%A%monJIdi~C x$Ԯtᆵ09p!9J
+9ZnrKWYɁk
+KTbNmLg#xCFVYXwǨ+W
+a=3ԃû%9d+ϫ b S2c]MN,bz"l]$;Lb2_ Mzj\*WG8
+>
+|%rO`J?BA?64e|d>;
+ì/,Jݨҵ؁U|aqşѻDDigF’e{*7 (.{02Askw -+책oi3*cvuV&;'rT) =[sRÔ3M]B=Y$(nŒ| $
+y.0%ʢ6()NdaaFTm
+鴿¨$eh.w.}[-K2+2f2A7~f˚ qo晫n×-,F݁K1
+6Ȩg4;Xn(*d=fm ћ|l%V/v`ܨ}gbi)(^V=Js)gci#+ޖ8-JV/S%% ج=ރ!j8phm X'b)~uD Ć^D>)FY^EwH}>uX
+D?">D-|.E1]<a7 TӜ 6ߍ}UL@!6tD-w:M$bQ|獮%rd62i4BTʎ Fi4huOXgpNw<_K
+ry'W>yk0P|W%Vl]\p.ȍIjӔ%OF&ތLqcceB0;p^j>"B-6%:EK9/;5`&I{<k7 <xOڄeR+rp]7|" ړ<G~{$ϣ]40jz(g`#
+O،OGf oUlBU.qw24ICOs2.Qok p XĦU^Micr`A
+3޷T`k?:h5<鵩 K=ebay 4](/9Q.^M0Z܅܄y[d]r6ɋଙ!]r*.ʗdƎ& ̧{5ϙ#"f*ߏ*Gg5Y/='<B^)>Z@ ESA$x
+{$2K4^ٜQDcLFt/1:TSzM0 oiFVR$'EC"$q^bh, c}印[RUfFt}erwmNd&תH2mja&% $_ű)wrzӍy|I؋O'K%4Xdhd VzP>Fx`ce:׮Ug7wM8L9Zmi 1 JG~V4 |hŦRq1(٧mI7SȮo,=+SmWy\"ؼX{*`Zl} $\#pTK/
+gq- LXK_G?]RaS BT.uҳoBLQCD+H18 \@H:7IQFȲda#F/re#ߒel.IriE{iz>Qݙd$P64[=${K P;)xܵ[nJX VMUZq!p[5G9_f39Ӱlf6Ebխ)CBsiMj?4M, {`:*iF=rhu#1.I9/Z$`&N3xǹX%:*|GDZ@gC nid|\u.s[Zh[|c+~W.jYK9)6K/-[uS 5D?yOqkrQIf}Re1bQ[+.OUv][vG*Oic}u=L4be=˥z
+"A/*)fH%<ezP +{ď訡KnlC7]J`h&19y(҃&Т(÷OZe<fk*t Uv5m.J4 A޸2~D:?EH5#~P ݞS^u ],G[w/>B<@?ϭVc9G=xeRF@nzB<kH48"K<)>T߯
+h3TgkӻDM~| 3q|LD/ާHfC3_
+ _-Ǽ8ricծ=g2nqzUS{
+*qr'Y:,w|FBDNJ&:VߏӦ\JAH0pfͯ"](y ^Ԥ'YAdM?|U̝GG?x8C\hj2"vIkSquCܫav~mFu$IYy6~a4Q- rx *UiRV#eSK1(3|ӉnwbL1a˿a(,$mN]6ihr}֏Xːn.k-O dI2C?r`K~w/KYO#;IwyNb}Et3T
+.Eΐ Xya6_l0⏬iKo~ѣ>0ȻPqX!B޾#3: FPt>3g0k& @z\`m"P^6|A"(dى/pͱ zu8z$ciTuW`Dz7QĽ_g@$mlJ\FnNvvCptS3a)T \aS3&)R}jC{ ?}%+dVq&ǧ[u>c|h*<1a菒f'ɣvj}ʻqS}.qzN}c6TJ{4&\u8(2Aˏl NzN|~iYzU~R|ޮO+3噢>IȈu>t̗/A0:eĝɡn"[.*֦!_䏟Z` Y.LT#&x/-6K3Qx7+y "~eX%
+y{4ȓ }!xEkxB`4R!_+:A;_O
+9gBWF!@aQ-yv70[`vn7@_d5NDّ?_'} <LB~ TDAoRƼAÞV>lYYRguy@X= I f5
+S~Tcz-Xw:*2YHe{ys%^X012vD%)42tU69f8&ŝxEi(U1/H-!WLEZl9hˀ![#ȫ_ثI'z'Ԁ>|:{&f.kkVMӌ !w2hT(礊ڢeݠ3stM,#pSι:7nm ֱܱ?c@Fh_%Nnr:)򌊅݃e cKcȏrX/7
+_ ;ko$J^
+
+ AK.u P7yf !wۏZ}Q
+F}RhUV|ѼeJY-/*JUNTW?W8W=ؐOґMC}0(p"#PnѻK
+}=(e6f )KfPI|DI̟Ue#?Nj{FNsk(8Oswg+`C']VR~,$ZMA{;ݗQTy ;2S(K$7#*[| 2͘ (
+öN. AAj7fKg`e卑8`>ѦJYÉ'ڼ `s^}FMٹHIpIJ8jG
+9]q
+^я2MŘPZ6 wF( U8>ohYuP&, ҂$Dt]G-8XVp%8Dd0"vӈ uׅ5d;]9 ~pfxB8=LylUD,@"/ k܊FN/k<bq
+0e*yBمJ:MmV\bW51 v<٣Cl#0 P
+/_`IO{m^w̜Q'$\ec(j\A;պA#03
+z)*EzP0-vhSj \saM*_H<j'DIsn=-K;T:^MF Jոr O(DA:B?EM#CXN!q748l20," }T9>FRC
+m $)@`3zZ
+Y쨵V :K{N?}*<f"; $~\> Gc!}<T,cHYuԛ5H͇1B;"2I. qi8ȟQJ0660xѻd̺ξ3TǾdr̀sGM
+=[w nmM<!w<|fi:m}$.|cKzxZ7W+S
+ufjl`.;XʐޙAxKM0=(xxCNhvS[N}@
+a!4͠nŠj>7rHBZ|O@Y)2Huz>,5E <I\5!=:6QE00C!Aͷ1b1ND :űzklMFm۵B*&9upX`p8 `ħX[F(yf kΒ_\8k3m譓_ L."6H_FĸG%p3]pB͒"{ApnKb]WDۑSt'w=6m_h%N[_26Wܢ̷MCߙefI]߆_(ޖxJiVCs<ؿ>[@ lQa=2B8'νn΋uaE-M?<B"pok{yENBʆ?+I0IʉBv\+wLH8D:l9`ۮ NܭB}ŕkbgY_W\
+1M3$-0JG{8$].b4X19-nVќ\/Äw._s=GLwTZ4ohٯ} -^XvS6/`:< dFE/zvs5FlΔO~ 
+dB_CU_.;bD"K?!KXf=zw֥u T7ו^5/˾4/߃ᥑaSv,Ձ*el]1V5hӰr[B:@xm.ˊ_2D|N_sc6ZP+#hm`gD J'"⺣ʺ 3ދ$<)c "_iX/%^F尿geŒ2:Gn
+]O=,XK+ 2>QIųsp5
+d҇tm\V66fLniw&'V[g8|z}EO9Mx, nm'2}%tnV@elEcx3HEy%.+7CuYVY~*}7ؓykHNdQoE-~A2TVעbUqN(gi>T;@[D'}x2J%Iۛ$GboJ-p9P&c .mD tW>xE
+q[#?`u:!뉫;:{ s\l']4Զ0UmGl&mF}~7蠘~Ÿ&
+:"6L}tK̟#ԋ҆U@\sB&lg< #T}0eCp㓽z]VH-*la0n
+>wǐn3YRKe3\{9A2SkJbͲ
+AuDG>?\. {ӯ8i
+$okEv_"jf,0Wo*:~oj
+
+O{sk6z̰U?47^9,`I
+O?z{Qf90h"d!F\H7K3 Ֆ#KUFLJU rYs֗cvB^3]XdzE)[M{x\aV6yL{hZ
+}91nџa/h|fA__5͡&}㛱̫xY5z(D!c ^lL1`Fexw~+LtfEr(F
+>$ӫX) (!ߎT ;*C-)F0N'˦MW|)i[x,pj q5Ip0!ْnٍ`yV2dO_[%M_}nL =
+o KuZZ͆K4y Dڣ8ܟ<lv#[X>9yb\6[x0B뉉?c;}>PbQ&=X
+U7*@kU޸p
+` }66UV@{Y}ьZj98Mh<?PC(WrbO 1ųJb=NN97#vRTM346tҌ|$x7\g(ִq.g f"O"Hƚ"]yQih,/S&#,BFv %ĩ`P2Wбö\^."?S(L'Sƽ'Ԓj_'+
+ܑӸSZa7ۼhAcjz_R([[y+.܄.1u6jD P LYKga`Eيefˑw
+h̝J~שn[3&BӘ b^|#
+% Xgoa~$1@ G+ܴ&u{ ctO=s-,`?%ϏsC=
+X<\#3p[țIh lS,/"u{fc%ZK|I!w+Q1cW,ǐ]! 5Ybp!lKX*.J'$rW11&?KꑹVeѭI@F-ԈRKx{N
+ᥜvXbys]6D:)GH#\ &]ͥ}%@tb]VUc\-Ć*bh0Dx<5zFZE+6QiqyZ&y *f&e8qYCMM̄17q탣^ǚB/%YpURj4؊U9&yU*]O\FMdzVbP R@6\ kU18lz_g>f&2NƨZ9d7`9zm/NN˩ U_.ߦH78(pW#R_5'1_/fFi]|1LMNXg ^bӣJۈ }3
+bnna ti9"F~eB'(nHLp0C$_$1nes#$\g1a;{|Cy|)$BLDKoV&RKc47j>/ܘl146vW_!CK #]FdRT YO˜58xe8 ڝƷ_]XLB4gpEk;5%:<3G0,0vCfw}Vmm$ E{/lpX ;UյeV`aܚ x<„'Q>&9c$!Nx9:T!C떁 PdOO[`T/;;a8o:퐡I7OG{"PO
+5yL1
+cm.@WQ,^l֟f{z7URM"X6MrlZ0mCќBtm]؃@KW~
+ y4앧@D ҡbCKpK"3k:)qgzo4P ?qHq_X+NW[;
+js1J9
+U;(3UIipPLeb.ߨ}&X<^(:)Ԟ~~% @H, o"Qg zNnypWN~rT@Lt_GJ!'YTZ r 
+ J ;\cI ^v~~i$
+k hs=1m#k|\R<.By;?vԮ:j{f!5߅Zk!m;lApl + 4gkG'KdNoY|˽,[
+S5Fg--E%C5qGƧ"JV9/UxI2R$'MD٢!)kB2s /;US^ Z1*IC)4[+/g,І,#6_W=vjٶ I
+7(Ui0Eǧn/y<l֧
+#;!WH@K8u aH2Ǐ*ji5(z9vljszI\9>'[fPCA_94T 2
+l C* ҈pUeGQ1e&
+q݀5%wxbVM [V.T~VH21I*eoőb=9Їy#^jfˌX_>רxos;1DA!6%b-&qI?9Q[vz ]9duFJhExR4=80Xu@S
+tFՆI0jۤyAn
+hs8 zX
+uö9M #ymsO:ᛗ$x ֧T/ ҂۶
+l]/.'**nƛa8w0r
+Sibh#wBrרs4.%zl']\DMZ/.%DL&nPlx)w;Ħ_8*j$ݫ*ύg>z05
+x!Sutx\ klN =b||ͩAN]4PUtndny7S8Pӓ`y=ڮ!?
+U<|Uk-KW
+u)E
+rr<X̸%D:g?T uuoiԭ )Byj07h_R,Xka2l%+4%&̙G !zzCcfa?T/PnɥlR[4(伐ȥzA)KI@
+8--#^4 .Y C񩐲T< GnRӋ;3)LO.Gsv
+endstream
+endobj
+11693 0 obj
+<< /Type /FontDescriptor /FontName /REBVUK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 601 /CapHeight 601 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /C /a /at /b /backslash /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /e /f /five /g /h /hyphen /i /k /l /m /n /o /p /period /q /r /s /t /u /underscore /v /w /x /y /z /zero) /FontFile 11694 0 R >>
+endobj
+11696 0 obj
+<< /Length1 3124 /Length2 30450 /Length3 0 /Filter /FlateDecode /Length 32183 >>
+stream
+xڴuXJtHoJBCCZE@;;K@ns|g;Y볨ȔUDMv. ,̼
+
+j"j,Lz
+`u]<\OD\<\
+L]mrodct9[ހ_I\~3FIr1v#?/:&NƦf>del t??2qK4ce- 3XJ1ffp=_]m~g>6H Vw9폴]X&[z
+yik
+<B啯93,:}bVy0~
+@ m_чI '^5lrX?Z9:P9Mt4Y RFotK7-Z\XR:eW=SNP9=ݦ S: z
+ŠM
+Oۓ*QTW(-a9>o7‡ z{UB^ҐCzSę  Pv|m 3jKSK9C%A24eK:@.9e2mlK;m4A՘RO d"oYgLZUco*z=4^3+sDYs:՝gA* ~YJ2
+U?F{*@b鎄C`zOY$n&G!e`bz+˥' u,=^Fg^~V<u9ZxRbN/"Bfn)%WudopA!JN<#ig5tRI
+JCT>IkwZvgMibMŔmzF L{-(D;*7=~ w' NS _Zb'ȋ', i;/o:H)0<%yg @> n$ʊVB<~14+ Ą(u9w<`'Ո{ໟdja 'w<:8ίoRTGO>XH%$@<h
+Qi.Ky o=ɳa@J^~ 91)~qbtd'Iѵw2R^ݫ(b~Y0q)M#XhB:K, E[+
++4? dG!OsJ^ø}ʈCyӣsJǽYZ%Nő[XAbwWR/ vã2>iq!iCoD[Fӗ PdR=:(MϜ{Zm/ϋ?%LPaf'^gL]Jlrqﯴ$)H7wBzqjL7ZK։'
+TR6Kzw86m>x$#ٯ9r.˸Rmwizvz!Jel>֔H5:O4<#AtR:kVӶ@UÅ ^^Hr~47|Ţ-̑ezW=gJ("wq'Uj$u0MCql[VZu40k"
+Ȅ73ʣڛ)cmx vүho#qr,diy/c Zgͬ#vzR'|a"x&wy@wBU+4
+nl[PނtNJ\$ʂ):_eѵZVc]zݛ\V5mtc OrJRgnغ(ci-$ϧ-;c5ꭶq6EǛb VyG>%ɢ6~
+ %%ú;'1Ah,[qWx1w*n) J~b00XV_gF֝WT" Wȼ*6µOI49+A+d9N0FFO3IS3Q9rʗN/Ze<CZM^˝Jy,R^䍖A|8 Ƀp5X0'_|
+kφKPJ)F^$|z2\uTo}eO;u<G8tT>owСQqr"}l+|cwQL÷2˕#/2/
+9Mit}͂ n!uƆ-D,rZ[9E+*^o2ɗjyZS?v6%oҏ΋ ~{aazsCw ^; (80’ mE)b+feЅA͵v2 d͉KTn~N<^]8JhŀsLu_"i59CPi'!D} A2%RGp)SYr?0^4I\0 *TUf{"o |~;ǃM= r\/`D.1[ݣ+MP{)~kݩpmo~kuv0r = =5t/:;AuC8j~<sAMjQ׷jLNMu+>Whn3A&(+()ܐ}`,•SGʗcc*}GÞ%%649P-r! ? l
+~/ꅐ
+[g;ŅerEl[YPl&] ,ҩd<zùg/?lLf}hcW/؋Iz_CP̝01'5pg܏^yB4C^hӐIYE N˱>-{3}SϵutS=tNTBQ7mdc;6u@5[n7!
+}jZ"Pz5 rߒHLhA_NeK<YqiUCY9_P1nw^.s-/1θ9O=Vɴn( mYeK\;99E'6 8z[SIϷZqnQO)8)~z#!6Dkٙ zmHm|M#TWd*vO{3bW5#ϽoWycng P( dq²&M+ s,y.IJ;yxW}QvrӼp:[E ɶv n|nL֢wEiBC#lo RytbmQBrmSuB\-K$_r `|kLJL%ZHl \2Y
+yx];-B-u;*ؚrJ@/oP0WiQFzVzÅB(}gCP
+e;p<b~(q{y+H'Q/1`Jjgl#6'<)ۡAmS+9UT<
+p\3
+oKO~7P͸,n77FVliX+?RH l+w5B4JV$~)Q ,bGh›ud6ޣ~kp^{lg'*uan}UqEaD
+fdny \d3)a 'K3׫"h%,nC` EOVH*Ϯ:/BpN~{5?onfU:O|CϷf Q4kNO.+ߒGݭ) ~`fA)P{{c4mI*.5Lo[')/5-)T-=]jXQNmB%kgҲo,z !bvZg&\W[J.ã*d y{SNCհnX5/|d=^)F3 !cAב(uoɦ{O
+K(ش ;9ŘU7y= t, B2g;I%b<oA]vp/?/j#lְAjlJ.OEcbw >_?ڗ
+ΏN͵v,&WP)?B@",fZ5iY5Ưs&d]2*Q!L/T@_
+Y ~sqOj0e?RW~lӰp[8Ebr @ $5^Bޡg?HŶe?:3el(3$ $`!h8 u^.`X.GJ+ᘱWFܢ=^+{鬟b= nf}y\C*["p9Vm/̀RtRQW`1E 4&mpBnIY0P7P`Pl2yŬ xx1^Xc?AېWY5LrcU¢ K)'J2n0lFlp6;aN|3<sVbPW{!Ѳ:$$%.쵻J;SAw_Nxr|UwfP^FP$'eJb
+WTj烚ՑQZQZ;= *atfJbʓ26J- ht%5:f賝J{Dۘ`>7PzI+ M a'{mF
+Pus7ك'=Läv!#7Svv 6"ޔ!%S@L+oqS"VC!С}8mHYL͒>9G.|[BwG?kw8>V R/)HK:eI~a(GΥZgoDV[yO>ӎ^JQ)WjTݞ[HC 9o8yqd46Bso\[t2Ǯ/yKfYg~Tݵ-X)dzpLDAPFUU{n[5˝,*[Ɨ2ix.l&,X)A*odY%T÷gʋW>ȔlàqsF;/OK B.RX S\(O|έ4YBϸyt6`~z$0KDgHZ?X7CӶkDk6--^MGn@HO0gK(77+Z>gNRl2KP|cs ?/BԾL?5v+@1रQa*E j\T糜?޿);0Fu@Ճ.- B=w/
+fKu;kY9v9Du&%9~ zJlJ6r,3hH4=s.(ۂ4HDtM@auY;SNjzn[`׋#Ljg\:.qx;92tcZoo ESƟ` Hٺܺձ-M5?[ LE~F
+~c3`J9<3=aWV_h%UɄeR3RTdGTƶ!ȺuK֘S@BA>@Ufp̶#Ȃ:;Zfp9+
+[Rn5
+=>uVJfqgQW-5K /D%OAMbq
+ԞöPQH8Q_);
+쉲@ZY3G &aF).a%mRpVf*{ȔYRitÅj!%RڼF?!9) 1;z{;O2^cW9uWAJɌPsjk{hv2H7&E5 =Q"*l^{]S*48a!saLtPrv<!̽>T
+w07JH6+•=}*?WNRMe3TcB[gN!K<X~‘Kq8whJB[eA6p)L
+e\0Sl OLZHNYu (錮`f՟1(}mPP?scg3wܬ
+@F*yL*jKtʢ'Sfb[7M1(cm|6U7Ju:!霶P-}mԻ&o`Jv?4g0ŕoAil$KˡPzv<yk(zbU۟?XH":Wmېa " ;zn=zvLƉK6 c:FӕyX]Ev
+خ0gBs!zjuÃ%1\5P
+uAQ3O_iY+OQ9Qj[4o2r$fƹiH|)SI3a_=)1QUF(6a)n+NzJ7m@OGw-$ynQ\7/(JuZwFOT45|*…<dg\`߆N܉6Ѫ!蝀0$\=:)Z0sڦJ]hYDvHoX~P|. M?M'ξa{-aRye/эjBֱNd鋯7j ,Zf)[E0g]
+w{™D۸!SaPN ^h"ڑḭQzxv~ /3l;Դ s)υ5N3@
+N$iOz<0UTKKŎNn' [`-YkX[tF]ck? FM
+1IjHп]jy3wӺy6W3댒_;s<1KՂX5n3tOTEh٫mSh(RPTN]Kgz@[m
+{E]ZVR3õ Zn_{2l"G&˗aJre!9O~qqWSp^BT
+駤c.o65`:Lۏ;镉J>kHM.4:/-_T QBx"Է-{`iF󔥣%b`7i7ЭZ+-&WL%ǐQr|p@6E
+yof
+#Y!!h 2 ,s1E6k:S]$}ub9`F8V|1';P(DK+BV*gqҴMqf 3uF׭TYF旼ɭC\ 24zb(oxz}l愴>ی*h+? W+5rU
+#b0/=4׊1G:NpJ_ˬdyB8
+8IB#{N
+3ߞ N'3ԙ[k9aHtTY668&-ix>aQaFÉ<jև2[9%pvs4!X͇ Q%/QPգqhҦl|57-T>eB}6艜!.!;7`tƩYרHooֻۑn "͗ƉЫC˖"";Kޕꮵ'?Z8PPJY-aJ" T8#L|+!^!q
+ϙULݘqlpŌ
+q3Eg!:#CU`c ŪCDZ @`z[/jDFO‰4+h L{j6'R{"RM;<%mW ט1QM3D(NSԾ77?Qq6#_˴΄P_]}u3> pRjwʭf=Vy7 ^u>hYl)'SO *5DTR]FCZz]$=@r}<msY%V~U^`gҠr\&-!KW Y>Ram1&No#Ds< ӵȣˀ%NAT4KF;գ*$C`mAQl$um__5g',5uf/qS"Yi0ʄ\nm7+o9;v5xu: h oϫ3͓ɕ?,fZ<dPbw<*[!mjI z lnV+LD>#=yp,i}NHP11Y1uZIyx;{~wphqׯp*Dž{ec A儩 {8PgRwR /w- THW:v-HԄC<p!
+JRԒx~ʨr
+0R럇k|; WZΏW (~ɯ.L>rxNwZr:)_M1˸n@&~؇.&52|T s{SR>\>y`qKaPUVTlPɛ[h=l6掦G7 `ϡƧ"L>
+.jDNGdzɯ䖋iޟ{L\&B{zxtco[[.2lmyk/L2>OCČQZ_?Z`G DC ?ƠەqӭOX gV%;uZJ
+6@̛ 92rug.kޅ2d{" Pz{ 3ΆsPɽǟB_
+X?ͰBj'_5I7m1&NwR͛J37RFvFt(;ǪA)븭ط9|Fws<ӟfouSܡEKӀ |Mӽm=NsP$'A_9 A.Vk:H1J% baCl
+:@nѥcHZt܈ĜEe20lhuZu
+um#0iR܊h,y@\<[H !7yLD
+zDҮ||v7o"x\*&sȩ2huOkϥ7#WP<&ӔS`M\h6n>+{8
+Kk%W:CcXߋXbN:9]P
+!ʍ*fqQ(ݥk{EmyMnPÕS]>%naBF)gA<'<m#
+WcW,X*5Ϟ0]T)
+HW<7ľܤ' YY%#PS. Vn1€F$o䂬tdycO:&5QW͍{HD[jy-[eTAbpd9dvy 3T*%Z(R:%u@
+>7GSk&VbxҊ<=/đKN/_>.#7ѳ&B0{)|b9Š6ϼL *
+."WP5ei8;]}|Or@YL[ײ齁r'3F4Tʥ!Z+X'L$?0٬9D({VFa:BuYC}fcH3lo!v}~ٜ+?R!7Hݘ ǧ om?D6I8݊>H.-"wOG9;ab'qڼt
+ba|EdE߈% ̔ϲk<G
+x4& Poeb:OMsEw9}UY0/*`hfg(~\ZHc:,iŽ\mNa50|W|FDˉi*o_@r5ȠaZz]BN=ˣC -ڵHYDDxPW΂O
+ub xy
+)o߀!JL_zF+ #| x;fDh&(;FɉPtf0RwZ6-iN݉m#X/0T^, p]1KcE$2 2rloQ`TY U(q$y%ו+O2zj4H60lbuZkLnWsϚ!B:\Lg#Q6ԡ3r3MBγW[[_*jX%Qa}; Q[Vy袕
+j,T48"eMr8]q4>_fӊb*N)n8w^(~3$
+o7gqiЗ7-/nɤTaE HW~~xk,1;A;gO?h ^K~٪•)1A~b/z !,MHv=9qɈvmv1.Ϊ/"6kZEv
+>tj /_wN Fқ,UUy G<<Ni]ջFo>{R1E.4kC@'@.lx3򞶄x*)/zZy (
+^uc
+jQ*)V%1ZYwHq4`cb4$[up୆S6[*\d]jоN]Ӱ\HxE]mʢ|0jJɎ)*FP*V?Cm0\vݜIϭ >diz񖽖G~+#X_\޵Tfߚ/o1h6B4tY5Db,| VOSB FxgқfMMGi`h0MMzc12~lĽC4$k̀b檯<4Ok~
+iPk{⒰">0*sWBZ/[+՘}M#G%<E4k9pCxR)DdJ!ZӰJ(UW$V-go9͏@=(3^H \ mr܃Ha
+5$'>Ү)GbkGFm@,hT#qJ 1|JN6 i{ŷjpa pnE~%xY^z3 XĪ(}"
+)dM  A$-!KrqmU/DXz jLmCNX6m
+41/)AiI""
+ʺWDSxo7N]1{1Mx"ɿ3 }ؘȎP]•86$HM ۂ<mȗ銑:0CdoN1onKy5G'I[{!쌖x.t7cNq0aۄm5\.-HM8}%+),Oaj͢8c<m .sRhkt>\4l,wrp2Tfu~MAj5[aL72bEu@<E!;$2 0WL9@Yeq NW!ʋR6q\V0(Π`MWYq2G"
+fi:8f T4u=ϞBT x<'sR‚Uqwk 8Ч Fq֛u,zqhsj/"?w<̳JB-͘!E;i"}<);yx7U[; kwbX:RkL~ӌD~4Ӱqݒ샢t&E6pviGFT&FY4gB[VvRlڞqhIxclNϛ c
+\RBUjך2sWZvh*W {i-uٞK/e@
+vgN >2 柯/u^ 38=`1$Srxr`ЬX52$+=#eeI
+bDű;N h 3Z):
+Nzإq`尉WSc }Z,8/?ՙũKa;SbmTWb
+y
+ t~p h ZVt;A<ٳjZjRA!L(##=T`m."a<OKo$d#Fe{`;O\kfvaiK pp𫠅.}-ˬe:rcG03'\(4amXZD<7Lˈ+LeQ;1d`*x璠m&"0Ȍ^Ʃe
+?zq &qɓ7 !1Wݘ)nKtDn_8Ig|J1,{CgYx: v҄=QΔFq@捅0\(U̴(ft }kA۽[LJdmu@9E$kW*DhlfxҞ05)
+ :U+hR
+'sk }+߁ZꞓFg պ7ęo^^a5a
+*Ty8͞{kX`+7*:lJ= ux8E26drٻv7j㱩97 _?;c.
+';;&<۰ek'f#SX1e¡H &۝A8j]JϔG"NJup=7ϟqx2<$I^d?5O1I B6/?ٞX_5Ÿ HЃ"W%*
+I۲ɵ_@,v7YT{.n bЪĽd~45e#PܿnycQ97}?9V{au D!)
+T
+ͬcBM(XQCn`+". S wDkY@&r
+ϯMTc<sF;YPۂ+$.PK\eQ<`x]->$L̙~7ow=B2ɧ
+=*!3ۚIKnY7p0$Rj~d˞;C&0.-µ\I13}zW]C}UbJ떴X#~dXs :vdn2DSJǮd
+Iyñ7ʹ`~Bc8ߞQ{gr'cݓt睋SWoR$gXɯp_oc~1@ÒTn@Qf|C.c:=2
+_MA%s\K.? vS2P9:Q =+sz iWyNdgk*7R&8]bN|{`y C$t(p/bG.{G`6r'WoUUfZolUt.EEު/ &@u'.L1
+Ȁof!
+42:otAvNcCC&yA-\(|3~|lc^}' q_Zyխ׾EZ  F &nX9T'y"e
+ ޠּU&OۃE없176uʘ &26n/Ä́:v
+c G^bH`ͨRY1Ah:찄pF:D8cb AJy[5u`rOvVTQa"nιYVG43u*kȒ_6ɮV#vrpO2==2Cf#Ucįj*U"bsF$xXT-Bn-c`|{ɒ&QДJ'\Sɋ@w kh{-K qSZ+9!?ޣeS
+_~z|ז%2%ּwF9k(1{D15?>q׌*-F`ar?$*T ICm1lfzC{
+%'4g}мw+='3!dgξ\8$T;&PN]Т-mŸHKN[Rhb̉")9#tlqeNR
+3(an[k*MĮg&xDRm9FYOPi&!JxNء' ( %/ȋ[$PqPye9"AV}zȵv?Ezt'Ȥ,U8r?V5BN2H $?V*)sOq Y΋04Suc=oZ =͗hW/ "u%aM?AB~cVN
+~-]9eF|8a ҉]h/X颢1dSE[.1>JPBq$5TDh?(Y|]*he#.UB7)с4:aнr8_.P0v q&1)u3u& 귳[ &rQ›i~f Tջ[}d꤅ۢ m)u_u.CaU]M9.
+lH#حNH{`)D:A"n`KsK`vF@G]`Rִ"f&u_L`IASLvViXs{'4))xڏIbz}wso8
+=]KNmV-x9xE1pmMpJ4Ġh[@rh3i' P=\`#
+ioFdmꚤbkOl~(\F:\,>=Ɗ3;9غ\2h h9t /Yoۂ ʁZ= *063/TBzGeaǽ/QNBhV; fZz"_ @Z]nN~+6M^
+\JO7dd`~֞`lMqQSJ_Q*ْ\gNpvҰ|oe5\*xCPOX7s[s3+՛ $>.Ug)\-Y:I<0d9-(Z.`aF3 |#-YC&~AP&tN3T?6MFT
+ד9VF_ނQ|e>Q]?s>hjϧ6q^
+&J%7Hy=1N%u<v[;(aĊlDk\VT8)ډZp. ev/#[p1_sǜIZܛPiq"r=>πݤkY2j[K KAŁc&[(dl Gy3<_ uSmQdږ*!i_]#-ƿj$ID ‡?TMk3-$H Fx(RԻ(e|z7!v]O(y/U_V edV~$Cu+&*HM>}IiI1KC'lN5NvYZ7(h!DѶ8d2 ĭ h!J_52!`o_W,* ѴIqx<C72X9[DtRScHA%D;pcʳq9qc)_"ny+>Mɚ~hؗu)Yr NΟVTR?<ktaHgYÖ(=4>wĜRW,ي\ KG~.bQMg1^Z C GiN1q0~Tc+EG6.&)N¤4Zjc>"ռ '{&aLP]41Baߣ
+>0[qZ^C2-{isj6!"O1
+WϚ' 'S\b&YF79/t!߸( #gBR8-r{H+*o<`PAg,|h{4k-[. b<AOn
+2__WUN"oj0cuAy5k)fFc@iz艌~rH,Th+gR9  h?P
+~:r4=7ސ5dp|r$Q$WiH[E.
+IP"HԇU);pX8folg7]l\Jl#̴~\DuEQm7r>ChF4rS:DT?j}Ȉ$Wـl kj7yĭ^ے6Q"RU8R׀Ww
+5mXrݔɫ}RK=<b| QDe
+,`QTGrL@3B2+L! Wocxjnt9J.) \9y}r;di9<=V*8>Z8حe9J׏昖N:K<<\2crB
+j'IUSF_:c"ld5 zN=ht?|pDCOk
+6_>Ύ!c20ǧS(&O+".;=??Aeg`_
+o!%B:>X1sa )AC1 ݘf\"SƻynwDIYg`,,h32;th8 si% 5DTQe
+CVBX 2%։H}/36m2lnzޥSeEa(|!buﶄrw(9Ufo*&+k7教^wN68џl¢8[uNڕRj
+/ +r& !M唟4C>X"B&ߴ)B[ ⇂N5!>n}jO0mš,V)>ˌ-=dm-+"⇚n~0Tέv^=ubBv/s8C@y t|IϐXfgVnd /̑]sW^ڐtҧ0
+z i-XBcАC-~bHAV0eq(cpK%S#T2N~.O)i4ڈٗ96྆#&߃Vt<~\m45AWDa_ ^jV-fQ)Go[=tlf-;
+endstream
+endobj
+11695 0 obj
+<< /Type /FontDescriptor /FontName /GVYJDY+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /K /L /M /N /O /P /R /S /T /U /V /W /X /Y /Z /a /ampersand /asciicircum /asciitilde /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /grave.ts1 /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /percent /period /plus /q /question /quotedbl /quotesingle.ts1 /r /s /semicolon /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11696 0 R >>
+endobj
+11698 0 obj
+<< /Length1 1863 /Length2 22779 /Length3 0 /Filter /FlateDecode /Length 23842 >>
+stream
+xڴyeX[m.Z܃CqwwwIp/P(E7߼3gsJv^ZOޡ&W`
+ ]M]\
+?JXj>Uº0Y]D;@l,_j T:e=zBMtOɏMJl<_Y+([i)X>Hs&#5~">yFaXٱVia7t7v|&Eap E'}>mWGI"79r8?Պ機}2")7+Ɓt)˘6Q\1f$HiYQkV'1 Eӗ
+Ծ, .L(}PZSC ۊ=V2:FJޏ;X\tQxج<yVTst,/~TBd X4*.Ә?o|Vh*M;D o`ШTLX@SP7jrM~_ܣRZ'@ְ=n
+xB~5; ADҩ{~)BUr#"Ƈz#[vju5;1勾V7?ԇ;ˍʫF>%HpYR'=b38fYF:ջ|CкL$%aqpUhayV+"2ZXle_HDJO8~Ѡ8^G 4uR@@LBJ12oؕR:(Llgkgj}q: cw&?z͑MH}zV?BԳhr4F}x0>7R6,^e-sHOFX֛6/!Tx_mIx3ͻ-H5cͷ.˲xD
+i>7L%uT hg2˚՜CMtԵ^8e
+G%ghWw&6B܅'~B)i4. /򰞊,!N|t3>F٫&76=F:H dS{b \]K6_Fw!Cr K:L+ɼlUdSw=!xfMffd="n'ȗӄU\{wydO* үOQwߐ'Axɺ)K3D31弍cEjxV#YJbD{Ix(1^(<-LBDO{(Ar+ lJx!s^C:l0o{L^ I%0,
+U-ϰ$ $|4УP}T"G-\,OōWa`,$ 8ٟ0 4M!%&#C7|v{,DD>
+yGwRHi VQ0'ߵg9H Lxd)k`Ə591>Kfh} dBɰbXI5bt8EtChk63=FX07wZB?,>}&cK(:D!;tcku)Kb5$!=KHSъ r<V=F6 ~ٞib=>=$⿸ᄩMEAW[JxT6=$to%.rRvB!3f?`.Iӂ5A*nթR_ћ e EWkRTX\+Yc䞢̮m)ۂ@hLi0=]@Q]p FbFQx15=q2] b;{alU1#6le'[n;s^^<ӃXfشKbb%=)awւHŭNu݆}!K+/mlLżpM40.s&{m+~3Z (xܡ $Us~9# o\&ZXןco+(69݉ic궰N\4L_hǢ֨0x]ȮY1|0|ߓkP~ DIb&S>9>]e Jwc}8yitPwAtt&I\z~<5 F5Znb eiuCCɋAwI2Qp P[ՓFPN@">Du<?^
+$b4j7bzZ70# !`ɔ_B)!3/6' Ț'.xkC@0cDιu{ mYE>`8P6,C#QiJ!%O6zPȒPlU~Ž D
+nyVC6) m̲.Vbb%}
+iERר(VUΆ鐗셕{ʘhbN2 E rP&|P
+2iij<Qi֜l}˩ %`z^B?w(SE(c%xtF)d9<ˏئK? ]' i"Vi}CDad |Ж4e
+<d v6ڋ>'K+;ǁD\t7҅>Z bi[ Q -pHkDF+<8QR:(bLWJ:Ẍ́1;R/4 d×(XdnE`wL|xhLjfyA>''G}ac= jbj(7v'cLIG,)wc#ze ᕀGA4>JT-AbdO[IRԩiBx=5,o{,gxܷrD&t_ϱ1jYОb2'ߚ@|¡E.#%UO3儭EpI؊PGJr2!wu'TU#1.o볬1w <\
+E܉JN$V
+и찪>
+#?8LB!Ȝ͏0eD}ZoQIH]p 1,I&dFk
+cGq>z1q ظs[/耻h 'ĈOOr9>|1P@7f>ȨiHYM)XX9Ȗ? S>]?6>Lŗ{R<E`kɺ?ȶ%ۊai5
+M; _EI[٭]&4uW۳)$TG_Pvbl#~ڕ_v+t29읝NW{心,EvԕMth򬟂} bny<oy*!OInD@DaDZ1H
+A2]J`!|12[OGȷJc^>y0sɨ@?$:ntew+s 7nDUcYd4։z89k;<*uCS i(҇z}V|V^}tNc~D, %;Ü giI}égi!ug(?(M֗3۵j9}1`6?~D.aqH=Z$t\w% Zi*4 [.2İx$-eK=;mq;_K7qX<xVܭn;U hWٳt+ buuCeSF;mE܅r6Si[*7F BU0NK^wf>a9HQT: uƧtzݬ{<ML"ĸ~l`:V'i\H+eҢt:*n}(^E^=T}֜k9M$r6x' YL?O LlKԛa:3^bjXiZ~Ě!B8K vN"XdvpS>̟fim>aLmw2HVڒ' xx1/z 8netWYL"oSeڸ7 Nz%w=`sLib
+@$H1P(at<|m\c*l$6Y۠щ#=D D9w{XCn)m'6QXXK'RQ5
+ӒAE65[MUװZ%(< j[:OK~ #!Qz ugŪr.h$@m5gct_lc à2&*~3y`sjQ|CD_XǾD&/CbTKr8H5Q{U2v=<a+^FoRΧLi2r<M\dP;@ha|Óx䪿f=%bP ܒ׹  `9/*c&D|LL$_I!OOq&ӹ/+]wkPP-α78 9ݽ. IM#Nnq@b.gf#fS!
+,2;o}dT[)F n=r_P υ;2!R:Lcp:~D[QyV*eZU߭6ed{g9z _t$]Lc͐Dވmk} : Ґ[rM \ݨŸu;ӫzRD-:glW
+
+kLGUiLfl!y%M568Ȍ!j9\쉾`)ֳbbB GFe<о2!qWip!L8,R+'Ub [rE4{/Q?쀚(eD
+a?!'ڦm E*)>9iIW+٧(9(Wä5[C`Yڈ-ㆾч'y'dcJ <>Q`7*W+/^c ,i˿8{soZ"SCƋV;
+_nY_PshK[ 1TITAF/8AmLڒFJܹѐmd-jT$GU-9z-v)n^Å*?q)V@jZ6tO!;nh[Tɿ{Ȑ,BEͭ=>bO w1kF3g;GI8n"Yaȹj?W!ow",NV0_g _٪o#T3'$5N%-7<>pi+0!PES2eQAتoOH,D5s݅5䨵cY^Kh;CMMg3442kY{FIYFŽ=h^@ A1 ӯST z+TCzT]梂>r}Ú
+r}%J)!Ф"ʶp5>w/phz;F|_
+9uQkL4qK'~`v8pZ:bȣY7U],SG$ 5V坷<L um.#Qz' W~dlʍ4JH~xv^-ЍuD{~_<*s測4*ffe5A)Qf硞T-q8UN3_fGx|,F87[ziJh{%W~fF"1";O+q 5
+aMw!O<
+2`=P6^պg=7*lR[9Eȣ0r3zAtգyCU]ۘ2㯿eكusSߏɭ
+O!$YxlWYt#E1-hlSiP/97*o>/q?}m!Ʒ; A(SċA \Mڰйsԍ*Zdι!>[թ6 |RH#b`EvD
+[$ӗc ΃&
+LOq|RfiSw}x
+Ƒ~~s/PC/Ps\ ^oe|3̒Ɵg#+Qyo"=Ki_9GƺX†On]{TY-I?5n7{+zx
+3JhR *
+y0^E*AMpk6ۂvdȣbf1CV|LIEx:4C[ S-3%HtHUȢrf+}qfg)ύaD\eC)JzƟ;D\w-;ղ ޟjx=*PN*DΞ7IwEzg g=8@a満R+\UUo/._[
+
+acWeq
+ЋNsx9-j g# rP/v,4_JVѐ0L?۬hAh9>|M0Ju c^H_Td398Q%p5>z-l5 
+nX7n3v!g'9o+j:}cD|r|7
+MjMO:} ]gl̛Uܞqy
+?WO/G4 ӕ@|Bۍ'G/UukJV:ޭ攏 1"7I2fޒ}/\,XL&kh;0MvDzvr-@ X+}/8Io'̌zk7i~JzMkxD_]-pp nZ`sx__Һ6<%@yJi!Ѐ= ΢"*Cs=VnGE|]"&JD1c[Mz%ln/<=Ez
+8g#}k}H %mBI=R2ZXajW8|ͭ3\CzIʎEn.=a&Ϩiza-r|;3y72^ZObCдj_c+F*MvD/pOr8Vax {|Y,It5d2U&c0#EVU_6N[*rE%
+N31]7̝ݠQB6t6؛m ew& 2dɨYgPfr"+؉@ǒ_%K
+Մ*k!\ ݨ̀Žp^BC8wFu$D ޸hp f`/7Sp';&NEQA[4q(;;Uz]pODmФFj7V02GM6p<dmy^ ۅ [[kZ?
+|B<W_2]I[ö-VN)H%۠B[ m+XƳ|#
+lA4}2dT yڐ[ GĈb=>G4^^\.P:g|OtUBE'$.3 7QPKPu }Ιrϱ?*nďVupPS6=o));wӤ
+l(+<1pB$+h&ݕ^<sFF_k_SZm2q8n(z
++;6jҼ3)x}ӵl1(>B
+PP]5QG)L$VkB_#:)%Aʎ|dャnAiޫROD #4,/z*9=Tؗ{45 ~3SZ~HJ^Jݮ;I}|8ms >ԄWUZ[?za#hI2LԈav/Rb?<SӍɦ%^6 h꼢Y_6IMMW4+OGi_c@=nF RU> mkJ<lU߰AOVH~UjWO&m֪>-GQ< q uY0xQo8<)K9c,묱t34Gk':r(Fkj$lu1n7%~6`]ƺrR aEĥn.l Եt)k0Nٸ5uG|dUBb|HRܽAd^CAϫmzėv_iA-(y{f ȶ$e^1sElEoEn^HL:i1 RIF0?Td횇S&*Q  QcN%]aīda1S„y&,Y''TA<缱LW|5nOhPhpGKTeF;2XK"Bǰ3&Ac(3YFQny+;SV)&Cvi93&sכL0pGp1 }<C͌i
+;ȿ k,[.p%8jn-U%^W5~cYM
+< ;mW<C'?$a.ר4ާ|~n/81g4Jˉ ['yXk\$Ͽ#a$h̎ ,"Opzژ’3(N1`D=٪Ŋ
+h$p(9]"oڗwyƓXQ(X OS8i@{ocvRoLHZ1:&cMbbHÑ+0cgNJxrd OI7
+6
+u΄oqQHG{Atmf>O:. ~"Gr-}u{%3 6WH:BΡGFuAE5 -Ã<܇x:ҋ_kwX6vn}f,NFL񡗿Tɗ~4:"i$ iSk_x(@ %i "n
+ޫ"G^M[ @${paK2QSWW#K{kRŪQwcC_rR?.Op%bm|,Ed`.՛ 'pWGbo 38w Ke/> 3Shrt%[ 0'R |<OH?p {߶̱-MXۑxg&|srgol;;J3Z\Qo/cʑ ]1ccIQq)ˌã[H1I"h݋ѕ^Xha~/צ!`,&h'Q.U;Ɍ$75YճiLD{lKv&<ܧ Rvf=|2F9#osvVomD!M}>hGAhpK6p\Vviu
+"S(uΓ#\}Nq
+:xg)O~NN#]D NhDjFtx[W{MD;@<gfQG2JXҍƳDC+q3+r0^হI!]_zFqXuKo8%c&c_-?)J9r ◎|y}/q(
+oR$1E$$x8H䱲YdGO~.uQ+n@7
+]D@Q#߱2yf;ME(ƺt*qNq0 ml6FLl۶Ƥm;۶mz^'k]VBZzҜ;,cP@Ʊ A?$MJw^Gӫc5]WqxbZ8S=RRԤ{}Ӡ)h%._'V`9*Aj 7yX,tAc)Iܔ(co#a;=-L"!z% z].σEjn˜ﭨ_LijB]f?;<-2˸GתPD44&39;gKRex;ˏ}ۈGOUNŗy;9D!X4ĩoA۝=Gv3D9e2qlC1!(Ĭf>bhq
+Q/s6Gh"+>IÞߍfּ)NAcLSxԟPsq,$>2XKQS} z3[gu*x)u9 r kRou!ʀ/_ib1ĮEǟIb7hGC>--ŏTŢE<>>r }2"59BOvy#*xxԘEڥ5
+iϕCo\N<PPWa/)}+;uCή6tNlT1[?uo9nbm
+R-VdZ!+HL)kΟO\]H3ۧ8C}(< 7.@W8v,1$cBH%)8f{bZ x^uEǾkCµ=&dbZj/,7f8G#%ϖI9uMC]@bXAI,pMm3^y
+TzK`/W=I&2dmB=;=6;TǠ3P[q G{U%F?HO7oC؁_ԀC#eU:OZ"u~ix bv ټ5{aQ.#+Rro~I<<l;dM.J>s7Z;w.w'bA%!P1Rz fWOyJ*b-;3GXGV=SY2)W˖CLsʖ\-tBq:K?愾54) Yoҋ/ EFa3L 9aRI?Mp4YMÚ՚U}a|!kWi&CA$$ZyˑbMI@'ڦ?Ck[
+Wn|b̾h^K?͹׷0H ݶ19N$ƨ5X 3tg5<H9WZc>0ڤ̃
+sϫ %bk Vf؀YY+Zx%gwLD?iJ~԰4O5;){Lx&5s=&N" lW5]ۥH܋@xsf1r
+
+.HŒG1Y +h6&F^.dl٩Xm`7|x(dm}NTNqJPԕŒTV_K
+j~iD)pϮ׾UmStԏ^ɉ qi4)#}Zs
+T~`D'~H(&}#r;Ĉ>0(GU.7H*Qjx]ʡCUD!w0s?yNy̵b63 yoh1ėi:͗Vg/COK,Hp( #DϚʪ^
+5K y\ Xe.GNprb6Hz!Ӣ&6f^/e(3)\
+E޳+n̨|z,('NWƧGϹVns2('N7nbl#6 @ ¼5'tv0t)e VGW9F$X%dfT fyBgs"EQ{͖*UjfUrrD'LFĔx`_%w˦xhˀlO7b}Q33d$9'kKX*b穢O1;؈!'T7.=CI4"yT گ<<ԅ=t~(DrE+&CJqmFܡlx=EW 1x/ cY4 1K* [8Џ3jzDap,,k]rX$Dcxmx8DH^`ÌW`]:<,{檐M*i2o׉B9!2 )?j[a<(PW'M?fXA
+jes`Aq|=:|Ŀ#+4NnQ1X R6JbL!qL?;N̶e(6Us%߅<-=h?v
+Jk$޽c[@{127>f:8_r}I-OBFeK覰**(P܏5M޽6zF0xs<=[-0-u!߰ǩ[91̌hYfHk2
+eBt~|EFwpASBC߅m?<Ut `dGckIoTR$jG7FR&鰲Žڕ|}-xnauX!9j\9}8j~E|
+C3_cY7])ir3.CѨ.A}qlF[DjUk
+;*ߍd8"93V1 5 ~I^jf<6MywAy+g5pϹseޒG{~f~Z?f*Yl8{]Sདྷ F6v?5,Tx($5W2ǟ>-o-j~P$2a3~N23!La\eP4Ĝ%d#t]}$2<X񓌑~+cs$r;lZ<~f>ܮYVk("OnwkieJ^
+mU1Wx%@,1Ё:㍛dIDts_g
+qp r~/n
+{t֦~X
+j2yuSd!Bbn1?Hy YSw\L kO`ӺܶY*՗9D)r9R줉TZG;o*{&+SBᮈ4~E rdbF=dT<~K&Zb_rQJxv~ݒ%E顈P?~?Ѧ}X)fGo8@
+p&Yנ- +j/7
+Al)
+oSD&UAUm͕fҎ]26JO%~kA$c!F%޵Iy*#;3KQ9FR߳gȽV:B =b_աZsT5r(|zCLE;@u#'D{5P,яr&]>B15KȂEcSqg|"5fYn*sKPb|qml8ɣ5|D=TÅS3w(g&|Wrο~lwrL AַqS
+4;dkTX+tU>\ht^4Hns=S=F
+9ׇjlz;x?#7SB;8>\ܳc^@=R<aX5u*xG&9J,-S`
+ip6?2M /2ܵKo~X:S\<=:\UTQ '2\lDa1wµd[,64ąWbJ]ΑQglB<URQjSC1.[Ͼ.V~h\1TeT6/ Fkhfʃ?߆mENd@en4Ķp8Qc/Lu Dn83xH0b
+NLVϺ(GkI4tըkgy[d]z.g0ѯ.BD J_KZZv+L퀩=YڰE@0,o(27&Z,=6C}"0 >PqvʵF 7hp h!7^>N0݈(994"E| \7*
+{H #taQ+MCfפ~\=謆n6F="T Q*7(Ɔ;GAZ=&X"\7=O#8̊䳏_6Yuw1BS2V1Yr=(+qs~`
+(3`*J>$C
+S)<fAg/R6Jſ=rZ cX%Bs>M
+/)1fXf5DJhl3:ei+-aʤe[
+endstream
+endobj
+11697 0 obj
+<< /Type /FontDescriptor /FontName /NWBRFF+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet( /a /b /e /f /h /i /j /l /n /o /r /t /u /x) /FontFile 11698 0 R >>
+endobj
+11606 0 obj
+<< /Type /Encoding /Differences [ 16 /quotedblleft /quotedblright 21 /endash /emdash 27 /ff /fi /fl /ffi 33 /exclam /quotedbl /numbersign /dollar /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 82 /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /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 /bar /braceright /asciitilde ] >>
+endobj
+11604 0 obj
+<< /Type /Encoding /Differences [ 48 /parenlefttp /parenrighttp /bracketlefttp /bracketrighttp /bracketleftbt /bracketrightbt 64 /parenleftbt /parenrightbt ] >>
+endobj
+11602 0 obj
+<< /Type /Encoding /Differences [ 62 /greater 96 /lscript /a /b /c 105 /i /j /k /l 110 /n 120 /x /y ] >>
+endobj
+11610 0 obj
+<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath ] >>
+endobj
+11608 0 obj
+<< /Type /Encoding /Differences [ 1 /Delta 43 /plus 48 /zero /one /two /three /four /five /six /seven ] >>
+endobj
+11614 0 obj
+<< /Type /Encoding /Differences [ 39 /quotesingle.ts1 96 /grave.ts1 136 /bullet ] >>
+endobj
+749 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /OCVDMH+LMRoman10-Bold /FontDescriptor 11641 0 R /FirstChar 21 /LastChar 125 /Widths 11613 0 R /Encoding 11606 0 R >>
+endobj
+187 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /LCRVQF+LMRoman12-Bold /FontDescriptor 11643 0 R /FirstChar 28 /LastChar 125 /Widths 11627 0 R /Encoding 11606 0 R >>
+endobj
+179 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /WCAPHI+LMRoman9-Bold /FontDescriptor 11645 0 R /FirstChar 65 /LastChar 116 /Widths 11635 0 R /Encoding 11606 0 R >>
+endobj
+556 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /YSYFAJ+LMRomanCaps10-Regular /FontDescriptor 11647 0 R /FirstChar 97 /LastChar 115 /Widths 11618 0 R /Encoding 11606 0 R >>
+endobj
+184 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 16 /LastChar 122 /Widths 11630 0 R /Encoding 11606 0 R >>
+endobj
+177 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /MTUVDN+LMRoman12-Regular /FontDescriptor 11657 0 R /FirstChar 44 /LastChar 121 /Widths 11637 0 R /Encoding 11606 0 R >>
+endobj
+174 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JTSGNV+LMRoman17-Regular /FontDescriptor 11659 0 R /FirstChar 84 /LastChar 116 /Widths 11640 0 R /Encoding 11606 0 R >>
+endobj
+480 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /HUFBEO+LMRoman6-Regular /FontDescriptor 11661 0 R /FirstChar 48 /LastChar 57 /Widths 11619 0 R /Encoding 11606 0 R >>
+endobj
+473 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /SXHXQW+LMRoman7-Regular /FontDescriptor 11663 0 R /FirstChar 48 /LastChar 57 /Widths 11620 0 R /Encoding 11606 0 R >>
+endobj
+205 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11665 0 R /FirstChar 16 /LastChar 122 /Widths 11624 0 R /Encoding 11606 0 R >>
+endobj
+180 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /BYGIQZ+LMRoman9-Regular /FontDescriptor 11667 0 R /FirstChar 39 /LastChar 119 /Widths 11634 0 R /Encoding 11606 0 R >>
+endobj
+318 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NRYMBG+LMRoman10-Italic /FontDescriptor 11669 0 R /FirstChar 28 /LastChar 121 /Widths 11621 0 R /Encoding 11606 0 R >>
+endobj
+182 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /TXCPTT+LMRoman9-Italic /FontDescriptor 11671 0 R /FirstChar 110 /LastChar 116 /Widths 11632 0 R /Encoding 11606 0 R >>
+endobj
+317 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IATCRU+LMRomanSlant10-Regular /FontDescriptor 11673 0 R /FirstChar 40 /LastChar 121 /Widths 11622 0 R /Encoding 11606 0 R >>
+endobj
+185 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DXGFLV+LMSans10-Regular /FontDescriptor 11675 0 R /FirstChar 27 /LastChar 121 /Widths 11629 0 R /Encoding 11606 0 R >>
+endobj
+175 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /MOYMBT+LMSans17-Regular /FontDescriptor 11677 0 R /FirstChar 97 /LastChar 120 /Widths 11639 0 R /Encoding 11606 0 R >>
+endobj
+189 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /MMROMK+LMSans8-Regular /FontDescriptor 11679 0 R /FirstChar 48 /LastChar 120 /Widths 11626 0 R /Encoding 11606 0 R >>
+endobj
+181 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JJEEWR+LMSans9-Regular /FontDescriptor 11681 0 R /FirstChar 97 /LastChar 120 /Widths 11633 0 R /Encoding 11606 0 R >>
+endobj
+186 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /HNJOVH+LMMono10-Regular /FontDescriptor 11689 0 R /FirstChar 33 /LastChar 125 /Widths 11628 0 R /Encoding 11606 0 R >>
+endobj
+178 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NRLLYV+LMMono12-Regular /FontDescriptor 11691 0 R /FirstChar 46 /LastChar 121 /Widths 11636 0 R /Encoding 11606 0 R >>
+endobj
+768 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /REBVUK+LMMono8-Regular /FontDescriptor 11693 0 R /FirstChar 44 /LastChar 125 /Widths 11612 0 R /Encoding 11606 0 R >>
+endobj
+183 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11695 0 R /FirstChar 33 /LastChar 126 /Widths 11631 0 R /Encoding 11606 0 R >>
+endobj
+811 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NWBRFF+LMMonoSlant10-Regular /FontDescriptor 11697 0 R /FirstChar 97 /LastChar 120 /Widths 11607 0 R /Encoding 11606 0 R >>
+endobj
+1809 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /WOCBGC+LMMathExtension10-Regular /FontDescriptor 11649 0 R /FirstChar 48 /LastChar 65 /Widths 11605 0 R /Encoding 11604 0 R >>
+endobj
+662 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /YCPAMU+LMMathItalic10-Regular /FontDescriptor 11651 0 R /FirstChar 62 /LastChar 121 /Widths 11616 0 R /Encoding 11602 0 R >>
+endobj
+4533 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JMCQJH+LMMathItalic7-Regular /FontDescriptor 11653 0 R /FirstChar 120 /LastChar 121 /Widths 11603 0 R /Encoding 11602 0 R >>
+endobj
+176 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /FACRCI+LMMathSymbols10-Regular /FontDescriptor 11683 0 R /FirstChar 0 /LastChar 3 /Widths 11638 0 R /Encoding 11610 0 R >>
+endobj
+204 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 11685 0 R /FirstChar 3 /LastChar 3 /Widths 11625 0 R /Encoding 11610 0 R >>
+endobj
+769 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /ANTVSN+LMMathSymbols8-Regular /FontDescriptor 11687 0 R /FirstChar 0 /LastChar 0 /Widths 11611 0 R /Encoding 11610 0 R >>
+endobj
+660 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 1 /LastChar 55 /Widths 11617 0 R /Encoding 11608 0 R >>
+endobj
+770 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11665 0 R /FirstChar 48 /LastChar 49 /Widths 11609 0 R /Encoding 11608 0 R >>
+endobj
+668 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 136 /LastChar 136 /Widths 11615 0 R /Encoding 11614 0 R >>
+endobj
+264 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11695 0 R /FirstChar 39 /LastChar 96 /Widths 11623 0 R /Encoding 11614 0 R >>
+endobj
+206 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 169 0 R 208 0 R 255 0 R 302 0 R 341 0 R 385 0 R 431 0 R 484 0 R 532 0 R 564 0 R ] >>
+endobj
+603 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 584 0 R 605 0 R 632 0 R 656 0 R 679 0 R 699 0 R 726 0 R 754 0 R 773 0 R 808 0 R ] >>
+endobj
+871 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 829 0 R 873 0 R 921 0 R 965 0 R 1010 0 R 1055 0 R 1083 0 R 1104 0 R 1144 0 R 1198 0 R ] >>
+endobj
+1316 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 1260 0 R 1318 0 R 1381 0 R 1440 0 R 1486 0 R 1541 0 R 1569 0 R 1618 0 R 1681 0 R 1715 0 R ] >>
+endobj
+1810 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 1768 0 R 1812 0 R 1857 0 R 1914 0 R 1964 0 R 2007 0 R 2062 0 R 2099 0 R 2132 0 R 2170 0 R ] >>
+endobj
+2254 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 2213 0 R 2256 0 R 2313 0 R 2368 0 R 2409 0 R 2457 0 R 2513 0 R 2565 0 R 2607 0 R 2656 0 R ] >>
+endobj
+2759 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 2705 0 R 2762 0 R 2817 0 R 2877 0 R 2929 0 R 2967 0 R 3017 0 R 3068 0 R 3123 0 R 3180 0 R ] >>
+endobj
+3298 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 3240 0 R 3300 0 R 3335 0 R 3382 0 R 3427 0 R 3483 0 R 3539 0 R 3592 0 R 3637 0 R 3678 0 R ] >>
+endobj
+3783 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 3734 0 R 3785 0 R 3845 0 R 3882 0 R 3922 0 R 3973 0 R 4033 0 R 4090 0 R 4152 0 R 4201 0 R ] >>
+endobj
+4301 0 obj
+<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 4253 0 R 4303 0 R 4358 0 R 4422 0 R 4461 0 R 4521 0 R 4560 0 R 4606 0 R 4652 0 R 4704 0 R ] >>
+endobj
+4785 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 4744 0 R 4787 0 R 4840 0 R 4903 0 R 4949 0 R 5013 0 R 5056 0 R 5106 0 R 5160 0 R 5217 0 R ] >>
+endobj
+5309 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 5264 0 R 5311 0 R 5356 0 R 5403 0 R 5442 0 R 5493 0 R 5549 0 R 5607 0 R 5673 0 R 5722 0 R ] >>
+endobj
+5835 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 5786 0 R 5837 0 R 5894 0 R 5955 0 R 6018 0 R 6054 0 R 6108 0 R 6145 0 R 6197 0 R 6240 0 R ] >>
+endobj
+6332 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 6276 0 R 6334 0 R 6382 0 R 6434 0 R 6477 0 R 6529 0 R 6576 0 R 6638 0 R 6688 0 R 6739 0 R ] >>
+endobj
+6820 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 6778 0 R 6822 0 R 6856 0 R 6899 0 R 6954 0 R 7017 0 R 7073 0 R 7120 0 R 7179 0 R 7235 0 R ] >>
+endobj
+7338 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 7285 0 R 7340 0 R 7390 0 R 7441 0 R 7488 0 R 7546 0 R 7597 0 R 7640 0 R 7698 0 R 7747 0 R ] >>
+endobj
+7831 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 7781 0 R 7834 0 R 7884 0 R 7935 0 R 7983 0 R 8038 0 R 8079 0 R 8118 0 R 8158 0 R 8207 0 R ] >>
+endobj
+8314 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 8266 0 R 8316 0 R 8376 0 R 8438 0 R 8490 0 R 8544 0 R 8609 0 R 8649 0 R 8702 0 R 8766 0 R ] >>
+endobj
+8886 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 8832 0 R 8888 0 R 8951 0 R 9009 0 R 9070 0 R 9132 0 R 9190 0 R 9243 0 R 9298 0 R 9341 0 R ] >>
+endobj
+9424 0 obj
+<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 9390 0 R 9427 0 R 9471 0 R 9529 0 R 9588 0 R 9636 0 R 9699 0 R 9752 0 R 9807 0 R 9846 0 R ] >>
+endobj
+9948 0 obj
+<< /Type /Pages /Parent 11701 0 R /Count 10 /Kids [ 9896 0 R 9950 0 R 10012 0 R 10075 0 R 10135 0 R 10200 0 R 10263 0 R 10330 0 R 10383 0 R 10444 0 R ] >>
+endobj
+10545 0 obj
+<< /Type /Pages /Parent 11701 0 R /Count 10 /Kids [ 10486 0 R 10547 0 R 10610 0 R 10674 0 R 10739 0 R 10803 0 R 10867 0 R 10932 0 R 10996 0 R 11060 0 R ] >>
+endobj
+11189 0 obj
+<< /Type /Pages /Parent 11701 0 R /Count 9 /Kids [ 11124 0 R 11191 0 R 11258 0 R 11323 0 R 11388 0 R 11455 0 R 11522 0 R 11584 0 R 11598 0 R ] >>
+endobj
+11699 0 obj
+<< /Type /Pages /Parent 11702 0 R /Count 100 /Kids [ 206 0 R 603 0 R 871 0 R 1316 0 R 1810 0 R 2254 0 R 2759 0 R 3298 0 R 3783 0 R 4301 0 R ] >>
+endobj
+11700 0 obj
+<< /Type /Pages /Parent 11702 0 R /Count 100 /Kids [ 4785 0 R 5309 0 R 5835 0 R 6332 0 R 6820 0 R 7338 0 R 7831 0 R 8314 0 R 8886 0 R 9424 0 R ] >>
+endobj
+11701 0 obj
+<< /Type /Pages /Parent 11702 0 R /Count 29 /Kids [ 9948 0 R 10545 0 R 11189 0 R ] >>
+endobj
+11702 0 obj
+<< /Type /Pages /Count 229 /Kids [ 11699 0 R 11700 0 R 11701 0 R ] >>
+endobj
+11703 0 obj
+<< /Type /Outlines /First 6 0 R /Last 166 0 R /Count 41 >>
+endobj
+166 0 obj
+<< /Title 167 0 R /A 164 0 R /Parent 11703 0 R /Prev 162 0 R >>
+endobj
+162 0 obj
+<< /Title 163 0 R /A 160 0 R /Parent 11703 0 R /Prev 158 0 R /Next 166 0 R >>
+endobj
+158 0 obj
+<< /Title 159 0 R /A 156 0 R /Parent 11703 0 R /Prev 154 0 R /Next 162 0 R >>
+endobj
+154 0 obj
+<< /Title 155 0 R /A 152 0 R /Parent 11703 0 R /Prev 150 0 R /Next 158 0 R >>
+endobj
+150 0 obj
+<< /Title 151 0 R /A 148 0 R /Parent 11703 0 R /Prev 146 0 R /Next 154 0 R >>
+endobj
+146 0 obj
+<< /Title 147 0 R /A 144 0 R /Parent 11703 0 R /Prev 142 0 R /Next 150 0 R >>
+endobj
+142 0 obj
+<< /Title 143 0 R /A 140 0 R /Parent 11703 0 R /Prev 138 0 R /Next 146 0 R >>
+endobj
+138 0 obj
+<< /Title 139 0 R /A 136 0 R /Parent 11703 0 R /Prev 134 0 R /Next 142 0 R >>
+endobj
+134 0 obj
+<< /Title 135 0 R /A 132 0 R /Parent 11703 0 R /Prev 130 0 R /Next 138 0 R >>
+endobj
+130 0 obj
+<< /Title 131 0 R /A 128 0 R /Parent 11703 0 R /Prev 126 0 R /Next 134 0 R >>
+endobj
+126 0 obj
+<< /Title 127 0 R /A 124 0 R /Parent 11703 0 R /Prev 122 0 R /Next 130 0 R >>
+endobj
+122 0 obj
+<< /Title 123 0 R /A 120 0 R /Parent 11703 0 R /Prev 118 0 R /Next 126 0 R >>
+endobj
+118 0 obj
+<< /Title 119 0 R /A 116 0 R /Parent 11703 0 R /Prev 114 0 R /Next 122 0 R >>
+endobj
+114 0 obj
+<< /Title 115 0 R /A 112 0 R /Parent 11703 0 R /Prev 110 0 R /Next 118 0 R >>
+endobj
+110 0 obj
+<< /Title 111 0 R /A 108 0 R /Parent 11703 0 R /Prev 106 0 R /Next 114 0 R >>
+endobj
+106 0 obj
+<< /Title 107 0 R /A 104 0 R /Parent 11703 0 R /Prev 102 0 R /Next 110 0 R >>
+endobj
+102 0 obj
+<< /Title 103 0 R /A 100 0 R /Parent 11703 0 R /Prev 98 0 R /Next 106 0 R >>
+endobj
+98 0 obj
+<< /Title 99 0 R /A 96 0 R /Parent 11703 0 R /Prev 94 0 R /Next 102 0 R >>
+endobj
+94 0 obj
+<< /Title 95 0 R /A 92 0 R /Parent 11703 0 R /Prev 90 0 R /Next 98 0 R >>
+endobj
+90 0 obj
+<< /Title 91 0 R /A 88 0 R /Parent 11703 0 R /Prev 86 0 R /Next 94 0 R >>
+endobj
+86 0 obj
+<< /Title 87 0 R /A 84 0 R /Parent 11703 0 R /Prev 82 0 R /Next 90 0 R >>
+endobj
+82 0 obj
+<< /Title 83 0 R /A 80 0 R /Parent 11703 0 R /Prev 78 0 R /Next 86 0 R >>
+endobj
+78 0 obj
+<< /Title 79 0 R /A 76 0 R /Parent 11703 0 R /Prev 74 0 R /Next 82 0 R >>
+endobj
+74 0 obj
+<< /Title 75 0 R /A 72 0 R /Parent 11703 0 R /Prev 70 0 R /Next 78 0 R >>
+endobj
+70 0 obj
+<< /Title 71 0 R /A 68 0 R /Parent 11703 0 R /Prev 66 0 R /Next 74 0 R >>
+endobj
+66 0 obj
+<< /Title 67 0 R /A 64 0 R /Parent 11703 0 R /Prev 62 0 R /Next 70 0 R >>
+endobj
+62 0 obj
+<< /Title 63 0 R /A 60 0 R /Parent 11703 0 R /Prev 58 0 R /Next 66 0 R >>
+endobj
+58 0 obj
+<< /Title 59 0 R /A 56 0 R /Parent 11703 0 R /Prev 54 0 R /Next 62 0 R >>
+endobj
+54 0 obj
+<< /Title 55 0 R /A 52 0 R /Parent 11703 0 R /Prev 50 0 R /Next 58 0 R >>
+endobj
+50 0 obj
+<< /Title 51 0 R /A 48 0 R /Parent 11703 0 R /Prev 46 0 R /Next 54 0 R >>
+endobj
+46 0 obj
+<< /Title 47 0 R /A 44 0 R /Parent 11703 0 R /Prev 42 0 R /Next 50 0 R >>
+endobj
+42 0 obj
+<< /Title 43 0 R /A 40 0 R /Parent 11703 0 R /Prev 38 0 R /Next 46 0 R >>
+endobj
+38 0 obj
+<< /Title 39 0 R /A 36 0 R /Parent 11703 0 R /Prev 34 0 R /Next 42 0 R >>
+endobj
+34 0 obj
+<< /Title 35 0 R /A 32 0 R /Parent 11703 0 R /Prev 30 0 R /Next 38 0 R >>
+endobj
+30 0 obj
+<< /Title 31 0 R /A 28 0 R /Parent 11703 0 R /Prev 26 0 R /Next 34 0 R >>
+endobj
+26 0 obj
+<< /Title 27 0 R /A 24 0 R /Parent 11703 0 R /Prev 22 0 R /Next 30 0 R >>
+endobj
+22 0 obj
+<< /Title 23 0 R /A 20 0 R /Parent 11703 0 R /Prev 18 0 R /Next 26 0 R >>
+endobj
+18 0 obj
+<< /Title 19 0 R /A 16 0 R /Parent 11703 0 R /Prev 14 0 R /Next 22 0 R >>
+endobj
+14 0 obj
+<< /Title 15 0 R /A 12 0 R /Parent 11703 0 R /Prev 10 0 R /Next 18 0 R >>
+endobj
+10 0 obj
+<< /Title 11 0 R /A 8 0 R /Parent 11703 0 R /Prev 6 0 R /Next 14 0 R >>
+endobj
+6 0 obj
+<< /Title 7 0 R /A 4 0 R /Parent 11703 0 R /Next 10 0 R >>
+endobj
+11704 0 obj
+<< /Names [ (Doc-Start) 173 0 R (HD.1) 188 0 R (HD.10) 198 0 R (HD.100) 300 0 R (HD.1000) 1341 0 R (HD.10000) 11154 0 R (HD.10001) 11155 0 R (HD.10002) 11156 0 R (HD.10003) 11157 0 R (HD.10004) 11158 0 R (HD.10005) 11159 0 R (HD.10006) 11160 0 R (HD.10007) 11161 0 R (HD.10008) 11162 0 R (HD.10009) 11163 0 R (HD.1001) 1342 0 R (HD.10010) 11164 0 R (HD.10011) 11165 0 R (HD.10012) 11166 0 R (HD.10013) 11167 0 R (HD.10014) 11168 0 R (HD.10015) 11169 0 R (HD.10016) 11170 0 R (HD.10017) 11171 0 R (HD.10018) 11172 0 R (HD.10019) 11173 0 R (HD.1002) 1343 0 R (HD.10020) 11174 0 R (HD.10021) 11175 0 R (HD.10022) 11176 0 R (HD.10023) 11177 0 R (HD.10024) 11178 0 R ] /Limits [ (Doc-Start) (HD.10024) ] >>
+endobj
+11705 0 obj
+<< /Names [ (HD.10025) 11179 0 R (HD.10026) 11180 0 R (HD.10027) 11181 0 R (HD.10028) 11182 0 R (HD.10029) 11183 0 R (HD.1003) 1344 0 R (HD.10030) 11184 0 R (HD.10031) 11185 0 R (HD.10032) 11186 0 R (HD.10033) 11187 0 R (HD.10034) 11188 0 R (HD.10035) 11194 0 R (HD.10036) 11195 0 R (HD.10037) 11196 0 R (HD.10038) 11197 0 R (HD.10039) 11198 0 R (HD.1004) 1345 0 R (HD.10040) 11199 0 R (HD.10041) 11200 0 R (HD.10042) 11201 0 R (HD.10043) 11202 0 R (HD.10044) 11203 0 R (HD.10045) 11204 0 R (HD.10046) 11205 0 R (HD.10047) 11206 0 R (HD.10048) 11207 0 R (HD.10049) 11208 0 R (HD.1005) 1346 0 R (HD.10050) 11209 0 R (HD.10051) 11210 0 R (HD.10052) 11211 0 R (HD.10053) 11212 0 R ] /Limits [ (HD.10025) (HD.10053) ] >>
+endobj
+11706 0 obj
+<< /Names [ (HD.10054) 11213 0 R (HD.10055) 11214 0 R (HD.10056) 11215 0 R (HD.10057) 11216 0 R (HD.10058) 11217 0 R (HD.10059) 11218 0 R (HD.1006) 1347 0 R (HD.10060) 11219 0 R (HD.10061) 11220 0 R (HD.10062) 11221 0 R (HD.10063) 11222 0 R (HD.10064) 11223 0 R (HD.10065) 11224 0 R (HD.10066) 11225 0 R (HD.10067) 11226 0 R (HD.10068) 11227 0 R (HD.10069) 11228 0 R (HD.1007) 1348 0 R (HD.10070) 11229 0 R (HD.10071) 11230 0 R (HD.10072) 11231 0 R (HD.10073) 11232 0 R (HD.10074) 11233 0 R (HD.10075) 11234 0 R (HD.10076) 11235 0 R (HD.10077) 11236 0 R (HD.10078) 11237 0 R (HD.10079) 11238 0 R (HD.1008) 1349 0 R (HD.10080) 11239 0 R (HD.10081) 11240 0 R (HD.10082) 11241 0 R ] /Limits [ (HD.10054) (HD.10082) ] >>
+endobj
+11707 0 obj
+<< /Names [ (HD.10083) 11242 0 R (HD.10084) 11243 0 R (HD.10085) 11244 0 R (HD.10086) 11245 0 R (HD.10087) 11246 0 R (HD.10088) 11247 0 R (HD.10089) 11248 0 R (HD.1009) 1350 0 R (HD.10090) 11249 0 R (HD.10091) 11250 0 R (HD.10092) 11251 0 R (HD.10093) 11252 0 R (HD.10094) 11253 0 R (HD.10095) 11254 0 R (HD.10096) 11255 0 R (HD.10097) 11256 0 R (HD.10098) 11261 0 R (HD.10099) 11262 0 R (HD.101) 305 0 R (HD.1010) 1351 0 R (HD.10100) 11263 0 R (HD.10101) 11264 0 R (HD.10102) 11265 0 R (HD.10103) 11266 0 R (HD.10104) 11267 0 R (HD.10105) 11268 0 R (HD.10106) 11269 0 R (HD.10107) 11270 0 R (HD.10108) 11271 0 R (HD.10109) 11272 0 R (HD.1011) 1352 0 R (HD.10110) 11273 0 R ] /Limits [ (HD.10083) (HD.10110) ] >>
+endobj
+11708 0 obj
+<< /Names [ (HD.10111) 11274 0 R (HD.10112) 11275 0 R (HD.10113) 11276 0 R (HD.10114) 11277 0 R (HD.10115) 11278 0 R (HD.10116) 11279 0 R (HD.10117) 11280 0 R (HD.10118) 11281 0 R (HD.10119) 11282 0 R (HD.1012) 1353 0 R (HD.10120) 11283 0 R (HD.10121) 11284 0 R (HD.10122) 11285 0 R (HD.10123) 11286 0 R (HD.10124) 11287 0 R (HD.10125) 11288 0 R (HD.10126) 11289 0 R (HD.10127) 11290 0 R (HD.10128) 11291 0 R (HD.10129) 11292 0 R (HD.1013) 1354 0 R (HD.10130) 11293 0 R (HD.10131) 11294 0 R (HD.10132) 11295 0 R (HD.10133) 11296 0 R (HD.10134) 11297 0 R (HD.10135) 11298 0 R (HD.10136) 11299 0 R (HD.10137) 11300 0 R (HD.10138) 11301 0 R (HD.10139) 11302 0 R (HD.1014) 1355 0 R ] /Limits [ (HD.10111) (HD.1014) ] >>
+endobj
+11709 0 obj
+<< /Names [ (HD.10140) 11303 0 R (HD.10141) 11304 0 R (HD.10142) 11305 0 R (HD.10143) 11306 0 R (HD.10144) 11307 0 R (HD.10145) 11308 0 R (HD.10146) 11309 0 R (HD.10147) 11310 0 R (HD.10148) 11311 0 R (HD.10149) 11312 0 R (HD.1015) 1356 0 R (HD.10150) 11313 0 R (HD.10151) 11314 0 R (HD.10152) 11315 0 R (HD.10153) 11316 0 R (HD.10154) 11317 0 R (HD.10155) 11318 0 R (HD.10156) 11319 0 R (HD.10157) 11320 0 R (HD.10158) 11321 0 R (HD.10159) 11326 0 R (HD.1016) 1357 0 R (HD.10160) 11327 0 R (HD.10161) 11328 0 R (HD.10162) 11329 0 R (HD.10163) 11330 0 R (HD.10164) 11331 0 R (HD.10165) 11332 0 R (HD.10166) 11333 0 R (HD.10167) 11334 0 R (HD.10168) 11335 0 R (HD.10169) 11336 0 R ] /Limits [ (HD.10140) (HD.10169) ] >>
+endobj
+11710 0 obj
+<< /Names [ (HD.1017) 1358 0 R (HD.10170) 11337 0 R (HD.10171) 11338 0 R (HD.10172) 11339 0 R (HD.10173) 11340 0 R (HD.10174) 11341 0 R (HD.10175) 11342 0 R (HD.10176) 11343 0 R (HD.10177) 11344 0 R (HD.10178) 11345 0 R (HD.10179) 11346 0 R (HD.1018) 1359 0 R (HD.10180) 11347 0 R (HD.10181) 11348 0 R (HD.10182) 11349 0 R (HD.10183) 11350 0 R (HD.10184) 11351 0 R (HD.10185) 11352 0 R (HD.10186) 11353 0 R (HD.10187) 11354 0 R (HD.10188) 11355 0 R (HD.10189) 11356 0 R (HD.1019) 1360 0 R (HD.10190) 11357 0 R (HD.10191) 11358 0 R (HD.10192) 11359 0 R (HD.10193) 11360 0 R (HD.10194) 11361 0 R (HD.10195) 11362 0 R (HD.10196) 11363 0 R (HD.10197) 11364 0 R (HD.10198) 11365 0 R ] /Limits [ (HD.1017) (HD.10198) ] >>
+endobj
+11711 0 obj
+<< /Names [ (HD.10199) 11366 0 R (HD.102) 306 0 R (HD.1020) 1361 0 R (HD.10200) 11367 0 R (HD.10201) 11368 0 R (HD.10202) 11369 0 R (HD.10203) 11370 0 R (HD.10204) 11371 0 R (HD.10205) 11372 0 R (HD.10206) 11373 0 R (HD.10207) 11374 0 R (HD.10208) 11375 0 R (HD.10209) 11376 0 R (HD.1021) 1362 0 R (HD.10210) 11377 0 R (HD.10211) 11378 0 R (HD.10212) 11379 0 R (HD.10213) 11380 0 R (HD.10214) 11381 0 R (HD.10215) 11382 0 R (HD.10216) 11383 0 R (HD.10217) 11384 0 R (HD.10218) 11385 0 R (HD.10219) 11386 0 R (HD.1022) 1363 0 R (HD.10220) 11391 0 R (HD.10221) 11392 0 R (HD.10222) 11393 0 R (HD.10223) 11394 0 R (HD.10224) 11395 0 R (HD.10225) 11396 0 R (HD.10226) 11397 0 R ] /Limits [ (HD.10199) (HD.10226) ] >>
+endobj
+11712 0 obj
+<< /Names [ (HD.10227) 11398 0 R (HD.10228) 11399 0 R (HD.10229) 11400 0 R (HD.1023) 1364 0 R (HD.10230) 11401 0 R (HD.10231) 11402 0 R (HD.10232) 11403 0 R (HD.10233) 11404 0 R (HD.10234) 11405 0 R (HD.10235) 11406 0 R (HD.10236) 11407 0 R (HD.10237) 11408 0 R (HD.10238) 11409 0 R (HD.10239) 11410 0 R (HD.1024) 1365 0 R (HD.10240) 11411 0 R (HD.10241) 11412 0 R (HD.10242) 11413 0 R (HD.10243) 11414 0 R (HD.10244) 11415 0 R (HD.10245) 11416 0 R (HD.10246) 11417 0 R (HD.10247) 11418 0 R (HD.10248) 11419 0 R (HD.10249) 11420 0 R (HD.1025) 1366 0 R (HD.10250) 11421 0 R (HD.10251) 11422 0 R (HD.10252) 11423 0 R (HD.10253) 11424 0 R (HD.10254) 11425 0 R (HD.10255) 11426 0 R ] /Limits [ (HD.10227) (HD.10255) ] >>
+endobj
+11713 0 obj
+<< /Names [ (HD.10256) 11427 0 R (HD.10257) 11428 0 R (HD.10258) 11429 0 R (HD.10259) 11430 0 R (HD.1026) 1367 0 R (HD.10260) 11431 0 R (HD.10261) 11432 0 R (HD.10262) 11433 0 R (HD.10263) 11434 0 R (HD.10264) 11435 0 R (HD.10265) 11436 0 R (HD.10266) 11437 0 R (HD.10267) 11438 0 R (HD.10268) 11439 0 R (HD.10269) 11440 0 R (HD.1027) 1368 0 R (HD.10270) 11441 0 R (HD.10271) 11442 0 R (HD.10272) 11443 0 R (HD.10273) 11444 0 R (HD.10274) 11445 0 R (HD.10275) 11446 0 R (HD.10276) 11447 0 R (HD.10277) 11448 0 R (HD.10278) 11449 0 R (HD.10279) 11450 0 R (HD.1028) 1369 0 R (HD.10280) 11451 0 R (HD.10281) 11452 0 R (HD.10282) 11453 0 R (HD.10283) 11458 0 R (HD.10284) 11459 0 R ] /Limits [ (HD.10256) (HD.10284) ] >>
+endobj
+11714 0 obj
+<< /Names [ (HD.10285) 11460 0 R (HD.10286) 11461 0 R (HD.10287) 11462 0 R (HD.10288) 11463 0 R (HD.10289) 11464 0 R (HD.1029) 1370 0 R (HD.10290) 11465 0 R (HD.10291) 11466 0 R (HD.10292) 11467 0 R (HD.10293) 11468 0 R (HD.10294) 11469 0 R (HD.10295) 11470 0 R (HD.10296) 11471 0 R (HD.10297) 11472 0 R (HD.10298) 11473 0 R (HD.10299) 11474 0 R (HD.103) 307 0 R (HD.1030) 1371 0 R (HD.10300) 11475 0 R (HD.10301) 11476 0 R (HD.10302) 11477 0 R (HD.10303) 11478 0 R (HD.10304) 11479 0 R (HD.10305) 11480 0 R (HD.10306) 11481 0 R (HD.10307) 11482 0 R (HD.10308) 11483 0 R (HD.10309) 11484 0 R (HD.1031) 1372 0 R (HD.10310) 11485 0 R (HD.10311) 11486 0 R (HD.10312) 11487 0 R ] /Limits [ (HD.10285) (HD.10312) ] >>
+endobj
+11715 0 obj
+<< /Names [ (HD.10313) 11488 0 R (HD.10314) 11489 0 R (HD.10315) 11490 0 R (HD.10316) 11491 0 R (HD.10317) 11492 0 R (HD.10318) 11493 0 R (HD.10319) 11494 0 R (HD.1032) 1373 0 R (HD.10320) 11495 0 R (HD.10321) 11496 0 R (HD.10322) 11497 0 R (HD.10323) 11498 0 R (HD.10324) 11499 0 R (HD.10325) 11500 0 R (HD.10326) 11501 0 R (HD.10327) 11502 0 R (HD.10328) 11503 0 R (HD.10329) 11504 0 R (HD.1033) 1374 0 R (HD.10330) 11505 0 R (HD.10331) 11506 0 R (HD.10332) 11507 0 R (HD.10333) 11508 0 R (HD.10334) 11509 0 R (HD.10335) 11510 0 R (HD.10336) 11511 0 R (HD.10337) 11512 0 R (HD.10338) 11513 0 R (HD.10339) 11514 0 R (HD.1034) 1375 0 R (HD.10340) 11515 0 R (HD.10341) 11516 0 R ] /Limits [ (HD.10313) (HD.10341) ] >>
+endobj
+11716 0 obj
+<< /Names [ (HD.10342) 11517 0 R (HD.10343) 11518 0 R (HD.10344) 11519 0 R (HD.10345) 11520 0 R (HD.10346) 11525 0 R (HD.10347) 11526 0 R (HD.10348) 11527 0 R (HD.10349) 11528 0 R (HD.1035) 1376 0 R (HD.10350) 11529 0 R (HD.10351) 11530 0 R (HD.10352) 11531 0 R (HD.10353) 11532 0 R (HD.10354) 11533 0 R (HD.10355) 11534 0 R (HD.10356) 11535 0 R (HD.10357) 11536 0 R (HD.10358) 11537 0 R (HD.10359) 11538 0 R (HD.1036) 1377 0 R (HD.10360) 11539 0 R (HD.10361) 11540 0 R (HD.10362) 11541 0 R (HD.10363) 11542 0 R (HD.10364) 11543 0 R (HD.10365) 11544 0 R (HD.10366) 11545 0 R (HD.10367) 11546 0 R (HD.10368) 11547 0 R (HD.10369) 11548 0 R (HD.1037) 1378 0 R (HD.10370) 11549 0 R ] /Limits [ (HD.10342) (HD.10370) ] >>
+endobj
+11717 0 obj
+<< /Names [ (HD.10371) 11550 0 R (HD.10372) 11551 0 R (HD.1038) 1379 0 R (HD.1039) 1384 0 R (HD.104) 308 0 R (HD.1040) 1385 0 R (HD.1041) 1386 0 R (HD.1042) 1387 0 R (HD.1043) 1388 0 R (HD.1044) 1389 0 R (HD.1045) 1390 0 R (HD.1046) 1391 0 R (HD.1047) 1392 0 R (HD.1048) 1393 0 R (HD.1049) 1394 0 R (HD.105) 309 0 R (HD.1050) 1395 0 R (HD.1051) 1396 0 R (HD.1052) 1397 0 R (HD.1053) 1398 0 R (HD.1054) 1399 0 R (HD.1055) 1400 0 R (HD.1056) 1401 0 R (HD.1057) 1402 0 R (HD.1058) 1403 0 R (HD.1059) 1404 0 R (HD.106) 310 0 R (HD.1060) 1405 0 R (HD.1061) 1406 0 R (HD.1062) 1407 0 R (HD.1063) 1408 0 R (HD.1064) 1409 0 R ] /Limits [ (HD.10371) (HD.1064) ] >>
+endobj
+11718 0 obj
+<< /Names [ (HD.1065) 1410 0 R (HD.1066) 1411 0 R (HD.1067) 1412 0 R (HD.1068) 1413 0 R (HD.1069) 1414 0 R (HD.107) 311 0 R (HD.1070) 1415 0 R (HD.1071) 1416 0 R (HD.1072) 1417 0 R (HD.1073) 1418 0 R (HD.1074) 1419 0 R (HD.1075) 1420 0 R (HD.1076) 1421 0 R (HD.1077) 1422 0 R (HD.1078) 1423 0 R (HD.1079) 1424 0 R (HD.108) 312 0 R (HD.1080) 1425 0 R (HD.1081) 1426 0 R (HD.1082) 1427 0 R (HD.1083) 1428 0 R (HD.1084) 1429 0 R (HD.1085) 1430 0 R (HD.1086) 1431 0 R (HD.1087) 1432 0 R (HD.1088) 1433 0 R (HD.1089) 1434 0 R (HD.109) 313 0 R (HD.1090) 1435 0 R (HD.1091) 1436 0 R (HD.1092) 1437 0 R (HD.1093) 1438 0 R ] /Limits [ (HD.1065) (HD.1093) ] >>
+endobj
+11719 0 obj
+<< /Names [ (HD.1094) 1443 0 R (HD.1095) 1444 0 R (HD.1096) 1445 0 R (HD.1097) 1446 0 R (HD.1098) 1447 0 R (HD.1099) 1448 0 R (HD.11) 199 0 R (HD.110) 314 0 R (HD.1100) 1449 0 R (HD.1101) 1450 0 R (HD.1102) 1451 0 R (HD.1103) 1452 0 R (HD.1104) 1453 0 R (HD.1105) 1454 0 R (HD.1106) 1455 0 R (HD.1107) 1456 0 R (HD.1108) 1457 0 R (HD.1109) 1458 0 R (HD.111) 315 0 R (HD.1110) 1459 0 R (HD.1111) 1460 0 R (HD.1112) 1461 0 R (HD.1113) 1462 0 R (HD.1114) 1463 0 R (HD.1115) 1464 0 R (HD.1116) 1465 0 R (HD.1117) 1466 0 R (HD.1118) 1467 0 R (HD.1119) 1468 0 R (HD.112) 316 0 R (HD.1120) 1469 0 R (HD.1121) 1470 0 R ] /Limits [ (HD.1094) (HD.1121) ] >>
+endobj
+11720 0 obj
+<< /Names [ (HD.1122) 1471 0 R (HD.1123) 1472 0 R (HD.1124) 1473 0 R (HD.1125) 1474 0 R (HD.1126) 1475 0 R (HD.1127) 1476 0 R (HD.1128) 1477 0 R (HD.1129) 1478 0 R (HD.113) 319 0 R (HD.1130) 1479 0 R (HD.1131) 1480 0 R (HD.1132) 1481 0 R (HD.1133) 1482 0 R (HD.1134) 1483 0 R (HD.1135) 1484 0 R (HD.1136) 1489 0 R (HD.1137) 1490 0 R (HD.1138) 1491 0 R (HD.1139) 1492 0 R (HD.114) 320 0 R (HD.1140) 1493 0 R (HD.1141) 1494 0 R (HD.1142) 1495 0 R (HD.1143) 1496 0 R (HD.1144) 1497 0 R (HD.1145) 1498 0 R (HD.1146) 1499 0 R (HD.1147) 1500 0 R (HD.1148) 1501 0 R (HD.1149) 1502 0 R (HD.115) 321 0 R (HD.1150) 1503 0 R ] /Limits [ (HD.1122) (HD.1150) ] >>
+endobj
+11721 0 obj
+<< /Names [ (HD.1151) 1504 0 R (HD.1152) 1505 0 R (HD.1153) 1506 0 R (HD.1154) 1507 0 R (HD.1155) 1508 0 R (HD.1156) 1509 0 R (HD.1157) 1510 0 R (HD.1158) 1511 0 R (HD.1159) 1512 0 R (HD.116) 322 0 R (HD.1160) 1513 0 R (HD.1161) 1514 0 R (HD.1162) 1515 0 R (HD.1163) 1516 0 R (HD.1164) 1517 0 R (HD.1165) 1518 0 R (HD.1166) 1519 0 R (HD.1167) 1520 0 R (HD.1168) 1521 0 R (HD.1169) 1522 0 R (HD.117) 323 0 R (HD.1170) 1523 0 R (HD.1171) 1524 0 R (HD.1172) 1525 0 R (HD.1173) 1526 0 R (HD.1174) 1527 0 R (HD.1175) 1528 0 R (HD.1176) 1529 0 R (HD.1177) 1530 0 R (HD.1178) 1531 0 R (HD.1179) 1532 0 R (HD.118) 324 0 R ] /Limits [ (HD.1151) (HD.118) ] >>
+endobj
+11722 0 obj
+<< /Names [ (HD.1180) 1533 0 R (HD.1181) 1534 0 R (HD.1182) 1535 0 R (HD.1183) 1536 0 R (HD.1184) 1537 0 R (HD.1185) 1538 0 R (HD.1186) 1539 0 R (HD.1187) 1544 0 R (HD.1188) 1545 0 R (HD.1189) 1546 0 R (HD.119) 325 0 R (HD.1190) 1547 0 R (HD.1191) 1548 0 R (HD.1192) 1549 0 R (HD.1193) 1550 0 R (HD.1194) 1551 0 R (HD.1195) 1552 0 R (HD.1196) 1553 0 R (HD.1197) 1554 0 R (HD.1198) 1555 0 R (HD.1199) 1556 0 R (HD.12) 200 0 R (HD.120) 326 0 R (HD.1200) 1557 0 R (HD.1201) 1558 0 R (HD.1202) 1559 0 R (HD.1203) 1560 0 R (HD.1204) 1561 0 R (HD.1205) 1562 0 R (HD.1206) 1563 0 R (HD.1207) 1564 0 R (HD.1208) 1565 0 R ] /Limits [ (HD.1180) (HD.1208) ] >>
+endobj
+11723 0 obj
+<< /Names [ (HD.1209) 1566 0 R (HD.121) 327 0 R (HD.1210) 1567 0 R (HD.1211) 1572 0 R (HD.1212) 1573 0 R (HD.1213) 1574 0 R (HD.1214) 1575 0 R (HD.1215) 1576 0 R (HD.1216) 1577 0 R (HD.1217) 1578 0 R (HD.1218) 1579 0 R (HD.1219) 1580 0 R (HD.122) 328 0 R (HD.1220) 1581 0 R (HD.1221) 1582 0 R (HD.1222) 1583 0 R (HD.1223) 1584 0 R (HD.1224) 1585 0 R (HD.1225) 1586 0 R (HD.1226) 1587 0 R (HD.1227) 1588 0 R (HD.1228) 1589 0 R (HD.1229) 1590 0 R (HD.123) 329 0 R (HD.1230) 1591 0 R (HD.1231) 1592 0 R (HD.1232) 1593 0 R (HD.1233) 1594 0 R (HD.1234) 1595 0 R (HD.1235) 1596 0 R (HD.1236) 1597 0 R (HD.1237) 1598 0 R ] /Limits [ (HD.1209) (HD.1237) ] >>
+endobj
+11724 0 obj
+<< /Names [ (HD.1238) 1599 0 R (HD.1239) 1600 0 R (HD.124) 330 0 R (HD.1240) 1601 0 R (HD.1241) 1602 0 R (HD.1242) 1603 0 R (HD.1243) 1604 0 R (HD.1244) 1605 0 R (HD.1245) 1606 0 R (HD.1246) 1607 0 R (HD.1247) 1608 0 R (HD.1248) 1609 0 R (HD.1249) 1610 0 R (HD.125) 331 0 R (HD.1250) 1611 0 R (HD.1251) 1612 0 R (HD.1252) 1613 0 R (HD.1253) 1614 0 R (HD.1254) 1615 0 R (HD.1255) 1616 0 R (HD.1256) 1621 0 R (HD.1257) 1622 0 R (HD.1258) 1623 0 R (HD.1259) 1624 0 R (HD.126) 332 0 R (HD.1260) 1625 0 R (HD.1261) 1626 0 R (HD.1262) 1627 0 R (HD.1263) 1628 0 R (HD.1264) 1629 0 R (HD.1265) 1630 0 R (HD.1266) 1631 0 R ] /Limits [ (HD.1238) (HD.1266) ] >>
+endobj
+11725 0 obj
+<< /Names [ (HD.1267) 1632 0 R (HD.1268) 1633 0 R (HD.1269) 1634 0 R (HD.127) 333 0 R (HD.1270) 1635 0 R (HD.1271) 1636 0 R (HD.1272) 1637 0 R (HD.1273) 1638 0 R (HD.1274) 1639 0 R (HD.1275) 1640 0 R (HD.1276) 1641 0 R (HD.1277) 1642 0 R (HD.1278) 1643 0 R (HD.1279) 1644 0 R (HD.128) 334 0 R (HD.1280) 1645 0 R (HD.1281) 1646 0 R (HD.1282) 1647 0 R (HD.1283) 1648 0 R (HD.1284) 1649 0 R (HD.1285) 1650 0 R (HD.1286) 1651 0 R (HD.1287) 1652 0 R (HD.1288) 1653 0 R (HD.1289) 1654 0 R (HD.129) 335 0 R (HD.1290) 1655 0 R (HD.1291) 1656 0 R (HD.1292) 1657 0 R (HD.1293) 1658 0 R (HD.1294) 1659 0 R (HD.1295) 1660 0 R ] /Limits [ (HD.1267) (HD.1295) ] >>
+endobj
+11726 0 obj
+<< /Names [ (HD.1296) 1661 0 R (HD.1297) 1662 0 R (HD.1298) 1663 0 R (HD.1299) 1664 0 R (HD.13) 201 0 R (HD.130) 336 0 R (HD.1300) 1665 0 R (HD.1301) 1666 0 R (HD.1302) 1667 0 R (HD.1303) 1668 0 R (HD.1304) 1669 0 R (HD.1305) 1670 0 R (HD.1306) 1671 0 R (HD.1307) 1672 0 R (HD.1308) 1673 0 R (HD.1309) 1674 0 R (HD.131) 337 0 R (HD.1310) 1675 0 R (HD.1311) 1676 0 R (HD.1312) 1677 0 R (HD.1313) 1678 0 R (HD.1314) 1679 0 R (HD.1315) 1684 0 R (HD.1316) 1685 0 R (HD.1317) 1686 0 R (HD.1318) 1687 0 R (HD.1319) 1688 0 R (HD.132) 338 0 R (HD.1320) 1689 0 R (HD.1321) 1690 0 R (HD.1322) 1691 0 R (HD.1323) 1692 0 R ] /Limits [ (HD.1296) (HD.1323) ] >>
+endobj
+11727 0 obj
+<< /Names [ (HD.1324) 1693 0 R (HD.1325) 1694 0 R (HD.1326) 1695 0 R (HD.1327) 1696 0 R (HD.1328) 1697 0 R (HD.1329) 1698 0 R (HD.133) 339 0 R (HD.1330) 1699 0 R (HD.1331) 1700 0 R (HD.1332) 1701 0 R (HD.1333) 1702 0 R (HD.1334) 1703 0 R (HD.1335) 1704 0 R (HD.1336) 1705 0 R (HD.1337) 1706 0 R (HD.1338) 1707 0 R (HD.1339) 1708 0 R (HD.134) 344 0 R (HD.1340) 1709 0 R (HD.1341) 1710 0 R (HD.1342) 1711 0 R (HD.1343) 1712 0 R (HD.1344) 1713 0 R (HD.1345) 1718 0 R (HD.1346) 1719 0 R (HD.1347) 1720 0 R (HD.1348) 1721 0 R (HD.1349) 1722 0 R (HD.135) 345 0 R (HD.1350) 1723 0 R (HD.1351) 1724 0 R (HD.1352) 1725 0 R ] /Limits [ (HD.1324) (HD.1352) ] >>
+endobj
+11728 0 obj
+<< /Names [ (HD.1353) 1726 0 R (HD.1354) 1727 0 R (HD.1355) 1728 0 R (HD.1356) 1729 0 R (HD.1357) 1730 0 R (HD.1358) 1731 0 R (HD.1359) 1732 0 R (HD.136) 346 0 R (HD.1360) 1733 0 R (HD.1361) 1734 0 R (HD.1362) 1735 0 R (HD.1363) 1736 0 R (HD.1364) 1737 0 R (HD.1365) 1738 0 R (HD.1366) 1739 0 R (HD.1367) 1740 0 R (HD.1368) 1741 0 R (HD.1369) 1742 0 R (HD.137) 347 0 R (HD.1370) 1743 0 R (HD.1371) 1744 0 R (HD.1372) 1745 0 R (HD.1373) 1746 0 R (HD.1374) 1747 0 R (HD.1375) 1748 0 R (HD.1376) 1749 0 R (HD.1377) 1750 0 R (HD.1378) 1751 0 R (HD.1379) 1752 0 R (HD.138) 348 0 R (HD.1380) 1753 0 R (HD.1381) 1754 0 R ] /Limits [ (HD.1353) (HD.1381) ] >>
+endobj
+11729 0 obj
+<< /Names [ (HD.1382) 1755 0 R (HD.1383) 1756 0 R (HD.1384) 1757 0 R (HD.1385) 1758 0 R (HD.1386) 1759 0 R (HD.1387) 1760 0 R (HD.1388) 1761 0 R (HD.1389) 1762 0 R (HD.139) 349 0 R (HD.1390) 1763 0 R (HD.1391) 1764 0 R (HD.1392) 1765 0 R (HD.1393) 1766 0 R (HD.1394) 1771 0 R (HD.1395) 1772 0 R (HD.1396) 1773 0 R (HD.1397) 1774 0 R (HD.1398) 1775 0 R (HD.1399) 1776 0 R (HD.14) 202 0 R (HD.140) 350 0 R (HD.1400) 1777 0 R (HD.1401) 1778 0 R (HD.1402) 1779 0 R (HD.1403) 1780 0 R (HD.1404) 1781 0 R (HD.1405) 1782 0 R (HD.1406) 1783 0 R (HD.1407) 1784 0 R (HD.1408) 1785 0 R (HD.1409) 1786 0 R (HD.141) 351 0 R ] /Limits [ (HD.1382) (HD.141) ] >>
+endobj
+11730 0 obj
+<< /Names [ (HD.1410) 1787 0 R (HD.1411) 1788 0 R (HD.1412) 1789 0 R (HD.1413) 1790 0 R (HD.1414) 1791 0 R (HD.1415) 1792 0 R (HD.1416) 1793 0 R (HD.1417) 1794 0 R (HD.1418) 1795 0 R (HD.1419) 1796 0 R (HD.142) 352 0 R (HD.1420) 1797 0 R (HD.1421) 1798 0 R (HD.1422) 1799 0 R (HD.1423) 1800 0 R (HD.1424) 1801 0 R (HD.1425) 1802 0 R (HD.1426) 1803 0 R (HD.1427) 1804 0 R (HD.1428) 1805 0 R (HD.1429) 1806 0 R (HD.143) 353 0 R (HD.1430) 1807 0 R (HD.1431) 1808 0 R (HD.1432) 1815 0 R (HD.1433) 1816 0 R (HD.1434) 1817 0 R (HD.1435) 1818 0 R (HD.1436) 1819 0 R (HD.1437) 1820 0 R (HD.1438) 1821 0 R (HD.1439) 1822 0 R ] /Limits [ (HD.1410) (HD.1439) ] >>
+endobj
+11731 0 obj
+<< /Names [ (HD.144) 354 0 R (HD.1440) 1823 0 R (HD.1441) 1824 0 R (HD.1442) 1825 0 R (HD.1443) 1826 0 R (HD.1444) 1827 0 R (HD.1445) 1828 0 R (HD.1446) 1829 0 R (HD.1447) 1830 0 R (HD.1448) 1831 0 R (HD.1449) 1832 0 R (HD.145) 355 0 R (HD.1450) 1833 0 R (HD.1451) 1834 0 R (HD.1452) 1835 0 R (HD.1453) 1836 0 R (HD.1454) 1837 0 R (HD.1455) 1838 0 R (HD.1456) 1839 0 R (HD.1457) 1840 0 R (HD.1458) 1841 0 R (HD.1459) 1842 0 R (HD.146) 356 0 R (HD.1460) 1843 0 R (HD.1461) 1844 0 R (HD.1462) 1845 0 R (HD.1463) 1846 0 R (HD.1464) 1847 0 R (HD.1465) 1848 0 R (HD.1466) 1849 0 R (HD.1467) 1850 0 R (HD.1468) 1851 0 R ] /Limits [ (HD.144) (HD.1468) ] >>
+endobj
+11732 0 obj
+<< /Names [ (HD.1469) 1852 0 R (HD.147) 357 0 R (HD.1470) 1853 0 R (HD.1471) 1854 0 R (HD.1472) 1855 0 R (HD.1473) 1860 0 R (HD.1474) 1861 0 R (HD.1475) 1862 0 R (HD.1476) 1863 0 R (HD.1477) 1864 0 R (HD.1478) 1865 0 R (HD.1479) 1866 0 R (HD.148) 358 0 R (HD.1480) 1867 0 R (HD.1481) 1868 0 R (HD.1482) 1869 0 R (HD.1483) 1870 0 R (HD.1484) 1871 0 R (HD.1485) 1872 0 R (HD.1486) 1873 0 R (HD.1487) 1874 0 R (HD.1488) 1875 0 R (HD.1489) 1876 0 R (HD.149) 359 0 R (HD.1490) 1877 0 R (HD.1491) 1878 0 R (HD.1492) 1879 0 R (HD.1493) 1880 0 R (HD.1494) 1881 0 R (HD.1495) 1882 0 R (HD.1496) 1883 0 R (HD.1497) 1884 0 R ] /Limits [ (HD.1469) (HD.1497) ] >>
+endobj
+11733 0 obj
+<< /Names [ (HD.1498) 1885 0 R (HD.1499) 1886 0 R (HD.15) 203 0 R (HD.150) 360 0 R (HD.1500) 1887 0 R (HD.1501) 1888 0 R (HD.1502) 1889 0 R (HD.1503) 1890 0 R (HD.1504) 1891 0 R (HD.1505) 1892 0 R (HD.1506) 1893 0 R (HD.1507) 1894 0 R (HD.1508) 1895 0 R (HD.1509) 1896 0 R (HD.151) 361 0 R (HD.1510) 1897 0 R (HD.1511) 1898 0 R (HD.1512) 1899 0 R (HD.1513) 1900 0 R (HD.1514) 1901 0 R (HD.1515) 1902 0 R (HD.1516) 1903 0 R (HD.1517) 1904 0 R (HD.1518) 1905 0 R (HD.1519) 1906 0 R (HD.152) 362 0 R (HD.1520) 1907 0 R (HD.1521) 1908 0 R (HD.1522) 1909 0 R (HD.1523) 1910 0 R (HD.1524) 1917 0 R (HD.1525) 1918 0 R ] /Limits [ (HD.1498) (HD.1525) ] >>
+endobj
+11734 0 obj
+<< /Names [ (HD.1526) 1919 0 R (HD.1527) 1920 0 R (HD.1528) 1921 0 R (HD.1529) 1922 0 R (HD.153) 363 0 R (HD.1530) 1923 0 R (HD.1531) 1924 0 R (HD.1532) 1925 0 R (HD.1533) 1926 0 R (HD.1534) 1927 0 R (HD.1535) 1928 0 R (HD.1536) 1929 0 R (HD.1537) 1930 0 R (HD.1538) 1931 0 R (HD.1539) 1932 0 R (HD.154) 364 0 R (HD.1540) 1933 0 R (HD.1541) 1934 0 R (HD.1542) 1935 0 R (HD.1543) 1936 0 R (HD.1544) 1937 0 R (HD.1545) 1938 0 R (HD.1546) 1939 0 R (HD.1547) 1940 0 R (HD.1548) 1941 0 R (HD.1549) 1942 0 R (HD.155) 365 0 R (HD.1550) 1943 0 R (HD.1551) 1944 0 R (HD.1552) 1945 0 R (HD.1553) 1946 0 R (HD.1554) 1947 0 R ] /Limits [ (HD.1526) (HD.1554) ] >>
+endobj
+11735 0 obj
+<< /Names [ (HD.1555) 1948 0 R (HD.1556) 1949 0 R (HD.1557) 1950 0 R (HD.1558) 1951 0 R (HD.1559) 1952 0 R (HD.156) 366 0 R (HD.1560) 1953 0 R (HD.1561) 1954 0 R (HD.1562) 1955 0 R (HD.1563) 1956 0 R (HD.1564) 1957 0 R (HD.1565) 1958 0 R (HD.1566) 1959 0 R (HD.1567) 1967 0 R (HD.1568) 1968 0 R (HD.1569) 1969 0 R (HD.157) 367 0 R (HD.1570) 1970 0 R (HD.1571) 1971 0 R (HD.1572) 1972 0 R (HD.1573) 1973 0 R (HD.1574) 1974 0 R (HD.1575) 1975 0 R (HD.1576) 1976 0 R (HD.1577) 1977 0 R (HD.1578) 1978 0 R (HD.1579) 1979 0 R (HD.158) 368 0 R (HD.1580) 1980 0 R (HD.1581) 1981 0 R (HD.1582) 1982 0 R (HD.1583) 1983 0 R ] /Limits [ (HD.1555) (HD.1583) ] >>
+endobj
+11736 0 obj
+<< /Names [ (HD.1584) 1984 0 R (HD.1585) 1985 0 R (HD.1586) 1986 0 R (HD.1587) 1987 0 R (HD.1588) 1988 0 R (HD.1589) 1989 0 R (HD.159) 369 0 R (HD.1590) 1990 0 R (HD.1591) 1991 0 R (HD.1592) 1992 0 R (HD.1593) 1993 0 R (HD.1594) 1994 0 R (HD.1595) 1995 0 R (HD.1596) 1996 0 R (HD.1597) 1997 0 R (HD.1598) 1998 0 R (HD.1599) 1999 0 R (HD.16) 211 0 R (HD.160) 370 0 R (HD.1600) 2000 0 R (HD.1601) 2001 0 R (HD.1602) 2002 0 R (HD.1603) 2003 0 R (HD.1604) 2004 0 R (HD.1605) 2005 0 R (HD.1606) 2010 0 R (HD.1607) 2011 0 R (HD.1608) 2012 0 R (HD.1609) 2013 0 R (HD.161) 371 0 R (HD.1610) 2014 0 R (HD.1611) 2015 0 R ] /Limits [ (HD.1584) (HD.1611) ] >>
+endobj
+11737 0 obj
+<< /Names [ (HD.1612) 2016 0 R (HD.1613) 2017 0 R (HD.1614) 2018 0 R (HD.1615) 2019 0 R (HD.1616) 2020 0 R (HD.1617) 2021 0 R (HD.1618) 2022 0 R (HD.1619) 2023 0 R (HD.162) 372 0 R (HD.1620) 2024 0 R (HD.1621) 2025 0 R (HD.1622) 2026 0 R (HD.1623) 2027 0 R (HD.1624) 2028 0 R (HD.1625) 2029 0 R (HD.1626) 2030 0 R (HD.1627) 2031 0 R (HD.1628) 2032 0 R (HD.1629) 2033 0 R (HD.163) 373 0 R (HD.1630) 2034 0 R (HD.1631) 2035 0 R (HD.1632) 2036 0 R (HD.1633) 2037 0 R (HD.1634) 2038 0 R (HD.1635) 2039 0 R (HD.1636) 2040 0 R (HD.1637) 2041 0 R (HD.1638) 2042 0 R (HD.1639) 2043 0 R (HD.164) 374 0 R (HD.1640) 2044 0 R ] /Limits [ (HD.1612) (HD.1640) ] >>
+endobj
+11738 0 obj
+<< /Names [ (HD.1641) 2045 0 R (HD.1642) 2046 0 R (HD.1643) 2047 0 R (HD.1644) 2048 0 R (HD.1645) 2049 0 R (HD.1646) 2050 0 R (HD.1647) 2051 0 R (HD.1648) 2052 0 R (HD.1649) 2053 0 R (HD.165) 375 0 R (HD.1650) 2054 0 R (HD.1651) 2055 0 R (HD.1652) 2056 0 R (HD.1653) 2057 0 R (HD.1654) 2058 0 R (HD.1655) 2059 0 R (HD.1656) 2060 0 R (HD.1657) 2065 0 R (HD.1658) 2066 0 R (HD.1659) 2067 0 R (HD.166) 376 0 R (HD.1660) 2068 0 R (HD.1661) 2069 0 R (HD.1662) 2070 0 R (HD.1663) 2071 0 R (HD.1664) 2072 0 R (HD.1665) 2073 0 R (HD.1666) 2074 0 R (HD.1667) 2075 0 R (HD.1668) 2076 0 R (HD.1669) 2077 0 R (HD.167) 377 0 R ] /Limits [ (HD.1641) (HD.167) ] >>
+endobj
+11739 0 obj
+<< /Names [ (HD.1670) 2078 0 R (HD.1671) 2079 0 R (HD.1672) 2080 0 R (HD.1673) 2081 0 R (HD.1674) 2082 0 R (HD.1675) 2083 0 R (HD.1676) 2084 0 R (HD.1677) 2085 0 R (HD.1678) 2086 0 R (HD.1679) 2087 0 R (HD.168) 378 0 R (HD.1680) 2088 0 R (HD.1681) 2089 0 R (HD.1682) 2090 0 R (HD.1683) 2091 0 R (HD.1684) 2092 0 R (HD.1685) 2093 0 R (HD.1686) 2094 0 R (HD.1687) 2095 0 R (HD.1688) 2096 0 R (HD.1689) 2097 0 R (HD.169) 379 0 R (HD.1690) 2102 0 R (HD.1691) 2103 0 R (HD.1692) 2104 0 R (HD.1693) 2105 0 R (HD.1694) 2106 0 R (HD.1695) 2107 0 R (HD.1696) 2108 0 R (HD.1697) 2109 0 R (HD.1698) 2110 0 R (HD.1699) 2111 0 R ] /Limits [ (HD.1670) (HD.1699) ] >>
+endobj
+11740 0 obj
+<< /Names [ (HD.17) 212 0 R (HD.170) 380 0 R (HD.1700) 2112 0 R (HD.1701) 2113 0 R (HD.1702) 2114 0 R (HD.1703) 2115 0 R (HD.1704) 2116 0 R (HD.1705) 2117 0 R (HD.1706) 2118 0 R (HD.1707) 2119 0 R (HD.1708) 2120 0 R (HD.1709) 2121 0 R (HD.171) 381 0 R (HD.1710) 2122 0 R (HD.1711) 2123 0 R (HD.1712) 2124 0 R (HD.1713) 2125 0 R (HD.1714) 2126 0 R (HD.1715) 2127 0 R (HD.1716) 2128 0 R (HD.1717) 2129 0 R (HD.1718) 2130 0 R (HD.1719) 2135 0 R (HD.172) 382 0 R (HD.1720) 2136 0 R (HD.1721) 2137 0 R (HD.1722) 2138 0 R (HD.1723) 2139 0 R (HD.1724) 2140 0 R (HD.1725) 2141 0 R (HD.1726) 2142 0 R (HD.1727) 2143 0 R ] /Limits [ (HD.17) (HD.1727) ] >>
+endobj
+11741 0 obj
+<< /Names [ (HD.1728) 2144 0 R (HD.1729) 2145 0 R (HD.173) 383 0 R (HD.1730) 2146 0 R (HD.1731) 2147 0 R (HD.1732) 2148 0 R (HD.1733) 2149 0 R (HD.1734) 2150 0 R (HD.1735) 2151 0 R (HD.1736) 2152 0 R (HD.1737) 2153 0 R (HD.1738) 2154 0 R (HD.1739) 2155 0 R (HD.174) 388 0 R (HD.1740) 2156 0 R (HD.1741) 2157 0 R (HD.1742) 2158 0 R (HD.1743) 2159 0 R (HD.1744) 2160 0 R (HD.1745) 2161 0 R (HD.1746) 2162 0 R (HD.1747) 2163 0 R (HD.1748) 2164 0 R (HD.1749) 2165 0 R (HD.175) 389 0 R (HD.1750) 2166 0 R (HD.1751) 2167 0 R (HD.1752) 2168 0 R (HD.1753) 2173 0 R (HD.1754) 2174 0 R (HD.1755) 2175 0 R (HD.1756) 2176 0 R ] /Limits [ (HD.1728) (HD.1756) ] >>
+endobj
+11742 0 obj
+<< /Names [ (HD.1757) 2177 0 R (HD.1758) 2178 0 R (HD.1759) 2179 0 R (HD.176) 390 0 R (HD.1760) 2180 0 R (HD.1761) 2181 0 R (HD.1762) 2182 0 R (HD.1763) 2183 0 R (HD.1764) 2184 0 R (HD.1765) 2185 0 R (HD.1766) 2186 0 R (HD.1767) 2187 0 R (HD.1768) 2188 0 R (HD.1769) 2189 0 R (HD.177) 391 0 R (HD.1770) 2190 0 R (HD.1771) 2191 0 R (HD.1772) 2192 0 R (HD.1773) 2193 0 R (HD.1774) 2194 0 R (HD.1775) 2195 0 R (HD.1776) 2196 0 R (HD.1777) 2197 0 R (HD.1778) 2198 0 R (HD.1779) 2199 0 R (HD.178) 392 0 R (HD.1780) 2200 0 R (HD.1781) 2201 0 R (HD.1782) 2202 0 R (HD.1783) 2203 0 R (HD.1784) 2204 0 R (HD.1785) 2205 0 R ] /Limits [ (HD.1757) (HD.1785) ] >>
+endobj
+11743 0 obj
+<< /Names [ (HD.1786) 2206 0 R (HD.1787) 2207 0 R (HD.1788) 2208 0 R (HD.1789) 2209 0 R (HD.179) 393 0 R (HD.1790) 2210 0 R (HD.1791) 2211 0 R (HD.1792) 2216 0 R (HD.1793) 2217 0 R (HD.1794) 2218 0 R (HD.1795) 2219 0 R (HD.1796) 2220 0 R (HD.1797) 2221 0 R (HD.1798) 2222 0 R (HD.1799) 2223 0 R (HD.18) 213 0 R (HD.180) 394 0 R (HD.1800) 2224 0 R (HD.1801) 2225 0 R (HD.1802) 2226 0 R (HD.1803) 2227 0 R (HD.1804) 2228 0 R (HD.1805) 2229 0 R (HD.1806) 2230 0 R (HD.1807) 2231 0 R (HD.1808) 2232 0 R (HD.1809) 2233 0 R (HD.181) 395 0 R (HD.1810) 2234 0 R (HD.1811) 2235 0 R (HD.1812) 2236 0 R (HD.1813) 2237 0 R ] /Limits [ (HD.1786) (HD.1813) ] >>
+endobj
+11744 0 obj
+<< /Names [ (HD.1814) 2238 0 R (HD.1815) 2239 0 R (HD.1816) 2240 0 R (HD.1817) 2241 0 R (HD.1818) 2242 0 R (HD.1819) 2243 0 R (HD.182) 396 0 R (HD.1820) 2244 0 R (HD.1821) 2245 0 R (HD.1822) 2246 0 R (HD.1823) 2247 0 R (HD.1824) 2248 0 R (HD.1825) 2249 0 R (HD.1826) 2250 0 R (HD.1827) 2251 0 R (HD.1828) 2252 0 R (HD.1829) 2253 0 R (HD.183) 397 0 R (HD.1830) 2259 0 R (HD.1831) 2260 0 R (HD.1832) 2261 0 R (HD.1833) 2262 0 R (HD.1834) 2263 0 R (HD.1835) 2264 0 R (HD.1836) 2265 0 R (HD.1837) 2266 0 R (HD.1838) 2267 0 R (HD.1839) 2268 0 R (HD.184) 398 0 R (HD.1840) 2269 0 R (HD.1841) 2270 0 R (HD.1842) 2271 0 R ] /Limits [ (HD.1814) (HD.1842) ] >>
+endobj
+11745 0 obj
+<< /Names [ (HD.1843) 2272 0 R (HD.1844) 2273 0 R (HD.1845) 2274 0 R (HD.1846) 2275 0 R (HD.1847) 2276 0 R (HD.1848) 2277 0 R (HD.1849) 2278 0 R (HD.185) 399 0 R (HD.1850) 2279 0 R (HD.1851) 2280 0 R (HD.1852) 2281 0 R (HD.1853) 2282 0 R (HD.1854) 2283 0 R (HD.1855) 2284 0 R (HD.1856) 2285 0 R (HD.1857) 2286 0 R (HD.1858) 2287 0 R (HD.1859) 2288 0 R (HD.186) 400 0 R (HD.1860) 2289 0 R (HD.1861) 2290 0 R (HD.1862) 2291 0 R (HD.1863) 2292 0 R (HD.1864) 2293 0 R (HD.1865) 2294 0 R (HD.1866) 2295 0 R (HD.1867) 2296 0 R (HD.1868) 2297 0 R (HD.1869) 2298 0 R (HD.187) 401 0 R (HD.1870) 2299 0 R (HD.1871) 2300 0 R ] /Limits [ (HD.1843) (HD.1871) ] >>
+endobj
+11746 0 obj
+<< /Names [ (HD.1872) 2301 0 R (HD.1873) 2302 0 R (HD.1874) 2303 0 R (HD.1875) 2304 0 R (HD.1876) 2305 0 R (HD.1877) 2306 0 R (HD.1878) 2307 0 R (HD.1879) 2308 0 R (HD.188) 402 0 R (HD.1880) 2309 0 R (HD.1881) 2310 0 R (HD.1882) 2316 0 R (HD.1883) 2317 0 R (HD.1884) 2318 0 R (HD.1885) 2319 0 R (HD.1886) 2320 0 R (HD.1887) 2321 0 R (HD.1888) 2322 0 R (HD.1889) 2323 0 R (HD.189) 403 0 R (HD.1890) 2324 0 R (HD.1891) 2325 0 R (HD.1892) 2326 0 R (HD.1893) 2327 0 R (HD.1894) 2328 0 R (HD.1895) 2329 0 R (HD.1896) 2330 0 R (HD.1897) 2331 0 R (HD.1898) 2332 0 R (HD.1899) 2333 0 R (HD.19) 214 0 R (HD.190) 404 0 R ] /Limits [ (HD.1872) (HD.190) ] >>
+endobj
+11747 0 obj
+<< /Names [ (HD.1900) 2334 0 R (HD.1901) 2335 0 R (HD.1902) 2336 0 R (HD.1903) 2337 0 R (HD.1904) 2338 0 R (HD.1905) 2339 0 R (HD.1906) 2340 0 R (HD.1907) 2341 0 R (HD.1908) 2342 0 R (HD.1909) 2343 0 R (HD.191) 405 0 R (HD.1910) 2344 0 R (HD.1911) 2345 0 R (HD.1912) 2346 0 R (HD.1913) 2347 0 R (HD.1914) 2348 0 R (HD.1915) 2349 0 R (HD.1916) 2350 0 R (HD.1917) 2351 0 R (HD.1918) 2352 0 R (HD.1919) 2353 0 R (HD.192) 406 0 R (HD.1920) 2354 0 R (HD.1921) 2355 0 R (HD.1922) 2356 0 R (HD.1923) 2357 0 R (HD.1924) 2358 0 R (HD.1925) 2359 0 R (HD.1926) 2360 0 R (HD.1927) 2361 0 R (HD.1928) 2362 0 R (HD.1929) 2363 0 R ] /Limits [ (HD.1900) (HD.1929) ] >>
+endobj
+11748 0 obj
+<< /Names [ (HD.193) 407 0 R (HD.1930) 2371 0 R (HD.1931) 2372 0 R (HD.1932) 2373 0 R (HD.1933) 2374 0 R (HD.1934) 2375 0 R (HD.1935) 2376 0 R (HD.1936) 2377 0 R (HD.1937) 2378 0 R (HD.1938) 2379 0 R (HD.1939) 2380 0 R (HD.194) 408 0 R (HD.1940) 2381 0 R (HD.1941) 2382 0 R (HD.1942) 2383 0 R (HD.1943) 2384 0 R (HD.1944) 2385 0 R (HD.1945) 2386 0 R (HD.1946) 2387 0 R (HD.1947) 2388 0 R (HD.1948) 2389 0 R (HD.1949) 2390 0 R (HD.195) 409 0 R (HD.1950) 2391 0 R (HD.1951) 2392 0 R (HD.1952) 2393 0 R (HD.1953) 2394 0 R (HD.1954) 2395 0 R (HD.1955) 2396 0 R (HD.1956) 2397 0 R (HD.1957) 2398 0 R (HD.1958) 2399 0 R ] /Limits [ (HD.193) (HD.1958) ] >>
+endobj
+11749 0 obj
+<< /Names [ (HD.1959) 2400 0 R (HD.196) 410 0 R (HD.1960) 2401 0 R (HD.1961) 2402 0 R (HD.1962) 2403 0 R (HD.1963) 2404 0 R (HD.1964) 2405 0 R (HD.1965) 2412 0 R (HD.1966) 2413 0 R (HD.1967) 2414 0 R (HD.1968) 2415 0 R (HD.1969) 2416 0 R (HD.197) 411 0 R (HD.1970) 2417 0 R (HD.1971) 2418 0 R (HD.1972) 2419 0 R (HD.1973) 2420 0 R (HD.1974) 2421 0 R (HD.1975) 2422 0 R (HD.1976) 2423 0 R (HD.1977) 2424 0 R (HD.1978) 2425 0 R (HD.1979) 2426 0 R (HD.198) 412 0 R (HD.1980) 2427 0 R (HD.1981) 2428 0 R (HD.1982) 2429 0 R (HD.1983) 2430 0 R (HD.1984) 2431 0 R (HD.1985) 2432 0 R (HD.1986) 2433 0 R (HD.1987) 2434 0 R ] /Limits [ (HD.1959) (HD.1987) ] >>
+endobj
+11750 0 obj
+<< /Names [ (HD.1988) 2435 0 R (HD.1989) 2436 0 R (HD.199) 413 0 R (HD.1990) 2437 0 R (HD.1991) 2438 0 R (HD.1992) 2439 0 R (HD.1993) 2440 0 R (HD.1994) 2441 0 R (HD.1995) 2442 0 R (HD.1996) 2443 0 R (HD.1997) 2444 0 R (HD.1998) 2445 0 R (HD.1999) 2446 0 R (HD.2) 190 0 R (HD.20) 215 0 R (HD.200) 414 0 R (HD.2000) 2447 0 R (HD.2001) 2448 0 R (HD.2002) 2449 0 R (HD.2003) 2450 0 R (HD.2004) 2451 0 R (HD.2005) 2452 0 R (HD.2006) 2453 0 R (HD.2007) 2454 0 R (HD.2008) 2460 0 R (HD.2009) 2461 0 R (HD.201) 415 0 R (HD.2010) 2462 0 R (HD.2011) 2463 0 R (HD.2012) 2464 0 R (HD.2013) 2465 0 R (HD.2014) 2466 0 R ] /Limits [ (HD.1988) (HD.2014) ] >>
+endobj
+11751 0 obj
+<< /Names [ (HD.2015) 2467 0 R (HD.2016) 2468 0 R (HD.2017) 2469 0 R (HD.2018) 2470 0 R (HD.2019) 2471 0 R (HD.202) 416 0 R (HD.2020) 2472 0 R (HD.2021) 2473 0 R (HD.2022) 2474 0 R (HD.2023) 2475 0 R (HD.2024) 2476 0 R (HD.2025) 2477 0 R (HD.2026) 2478 0 R (HD.2027) 2479 0 R (HD.2028) 2480 0 R (HD.2029) 2481 0 R (HD.203) 417 0 R (HD.2030) 2482 0 R (HD.2031) 2483 0 R (HD.2032) 2484 0 R (HD.2033) 2485 0 R (HD.2034) 2486 0 R (HD.2035) 2487 0 R (HD.2036) 2488 0 R (HD.2037) 2489 0 R (HD.2038) 2490 0 R (HD.2039) 2491 0 R (HD.204) 418 0 R (HD.2040) 2492 0 R (HD.2041) 2493 0 R (HD.2042) 2494 0 R (HD.2043) 2495 0 R ] /Limits [ (HD.2015) (HD.2043) ] >>
+endobj
+11752 0 obj
+<< /Names [ (HD.2044) 2496 0 R (HD.2045) 2497 0 R (HD.2046) 2498 0 R (HD.2047) 2499 0 R (HD.2048) 2500 0 R (HD.2049) 2501 0 R (HD.205) 419 0 R (HD.2050) 2502 0 R (HD.2051) 2503 0 R (HD.2052) 2504 0 R (HD.2053) 2505 0 R (HD.2054) 2506 0 R (HD.2055) 2507 0 R (HD.2056) 2516 0 R (HD.2057) 2517 0 R (HD.2058) 2518 0 R (HD.2059) 2519 0 R (HD.206) 420 0 R (HD.2060) 2520 0 R (HD.2061) 2521 0 R (HD.2062) 2522 0 R (HD.2063) 2523 0 R (HD.2064) 2524 0 R (HD.2065) 2525 0 R (HD.2066) 2526 0 R (HD.2067) 2527 0 R (HD.2068) 2528 0 R (HD.2069) 2529 0 R (HD.207) 421 0 R (HD.2070) 2530 0 R (HD.2071) 2531 0 R (HD.2072) 2532 0 R ] /Limits [ (HD.2044) (HD.2072) ] >>
+endobj
+11753 0 obj
+<< /Names [ (HD.2073) 2533 0 R (HD.2074) 2534 0 R (HD.2075) 2535 0 R (HD.2076) 2536 0 R (HD.2077) 2537 0 R (HD.2078) 2538 0 R (HD.2079) 2539 0 R (HD.208) 422 0 R (HD.2080) 2540 0 R (HD.2081) 2541 0 R (HD.2082) 2542 0 R (HD.2083) 2543 0 R (HD.2084) 2544 0 R (HD.2085) 2545 0 R (HD.2086) 2546 0 R (HD.2087) 2547 0 R (HD.2088) 2548 0 R (HD.2089) 2549 0 R (HD.209) 423 0 R (HD.2090) 2550 0 R (HD.2091) 2551 0 R (HD.2092) 2552 0 R (HD.2093) 2553 0 R (HD.2094) 2554 0 R (HD.2095) 2555 0 R (HD.2096) 2556 0 R (HD.2097) 2557 0 R (HD.2098) 2558 0 R (HD.2099) 2559 0 R (HD.21) 216 0 R (HD.210) 424 0 R (HD.2100) 2560 0 R ] /Limits [ (HD.2073) (HD.2100) ] >>
+endobj
+11754 0 obj
+<< /Names [ (HD.2101) 2568 0 R (HD.2102) 2569 0 R (HD.2103) 2570 0 R (HD.2104) 2571 0 R (HD.2105) 2572 0 R (HD.2106) 2573 0 R (HD.2107) 2574 0 R (HD.2108) 2575 0 R (HD.2109) 2576 0 R (HD.211) 425 0 R (HD.2110) 2577 0 R (HD.2111) 2578 0 R (HD.2112) 2579 0 R (HD.2113) 2580 0 R (HD.2114) 2581 0 R (HD.2115) 2582 0 R (HD.2116) 2583 0 R (HD.2117) 2584 0 R (HD.2118) 2585 0 R (HD.2119) 2586 0 R (HD.212) 426 0 R (HD.2120) 2587 0 R (HD.2121) 2588 0 R (HD.2122) 2589 0 R (HD.2123) 2590 0 R (HD.2124) 2591 0 R (HD.2125) 2592 0 R (HD.2126) 2593 0 R (HD.2127) 2594 0 R (HD.2128) 2595 0 R (HD.2129) 2596 0 R (HD.213) 427 0 R ] /Limits [ (HD.2101) (HD.213) ] >>
+endobj
+11755 0 obj
+<< /Names [ (HD.2130) 2597 0 R (HD.2131) 2598 0 R (HD.2132) 2599 0 R (HD.2133) 2600 0 R (HD.2134) 2601 0 R (HD.2135) 2602 0 R (HD.2136) 2603 0 R (HD.2137) 2604 0 R (HD.2138) 2610 0 R (HD.2139) 2611 0 R (HD.214) 428 0 R (HD.2140) 2612 0 R (HD.2141) 2613 0 R (HD.2142) 2614 0 R (HD.2143) 2615 0 R (HD.2144) 2616 0 R (HD.2145) 2617 0 R (HD.2146) 2618 0 R (HD.2147) 2619 0 R (HD.2148) 2620 0 R (HD.2149) 2621 0 R (HD.215) 434 0 R (HD.2150) 2622 0 R (HD.2151) 2623 0 R (HD.2152) 2624 0 R (HD.2153) 2625 0 R (HD.2154) 2626 0 R (HD.2155) 2627 0 R (HD.2156) 2628 0 R (HD.2157) 2629 0 R (HD.2158) 2630 0 R (HD.2159) 2631 0 R ] /Limits [ (HD.2130) (HD.2159) ] >>
+endobj
+11756 0 obj
+<< /Names [ (HD.216) 435 0 R (HD.2160) 2632 0 R (HD.2161) 2633 0 R (HD.2162) 2634 0 R (HD.2163) 2635 0 R (HD.2164) 2636 0 R (HD.2165) 2637 0 R (HD.2166) 2638 0 R (HD.2167) 2639 0 R (HD.2168) 2640 0 R (HD.2169) 2641 0 R (HD.217) 436 0 R (HD.2170) 2642 0 R (HD.2171) 2643 0 R (HD.2172) 2644 0 R (HD.2173) 2645 0 R (HD.2174) 2646 0 R (HD.2175) 2647 0 R (HD.2176) 2648 0 R (HD.2177) 2649 0 R (HD.2178) 2650 0 R (HD.2179) 2651 0 R (HD.218) 437 0 R (HD.2180) 2652 0 R (HD.2181) 2653 0 R (HD.2182) 2659 0 R (HD.2183) 2660 0 R (HD.2184) 2661 0 R (HD.2185) 2662 0 R (HD.2186) 2663 0 R (HD.2187) 2664 0 R (HD.2188) 2665 0 R ] /Limits [ (HD.216) (HD.2188) ] >>
+endobj
+11757 0 obj
+<< /Names [ (HD.2189) 2666 0 R (HD.219) 438 0 R (HD.2190) 2667 0 R (HD.2191) 2668 0 R (HD.2192) 2669 0 R (HD.2193) 2670 0 R (HD.2194) 2671 0 R (HD.2195) 2672 0 R (HD.2196) 2673 0 R (HD.2197) 2674 0 R (HD.2198) 2675 0 R (HD.2199) 2676 0 R (HD.22) 217 0 R (HD.220) 439 0 R (HD.2200) 2677 0 R (HD.2201) 2678 0 R (HD.2202) 2679 0 R (HD.2203) 2680 0 R (HD.2204) 2681 0 R (HD.2205) 2682 0 R (HD.2206) 2683 0 R (HD.2207) 2684 0 R (HD.2208) 2685 0 R (HD.2209) 2686 0 R (HD.221) 440 0 R (HD.2210) 2687 0 R (HD.2211) 2688 0 R (HD.2212) 2689 0 R (HD.2213) 2690 0 R (HD.2214) 2691 0 R (HD.2215) 2692 0 R (HD.2216) 2693 0 R ] /Limits [ (HD.2189) (HD.2216) ] >>
+endobj
+11758 0 obj
+<< /Names [ (HD.2217) 2694 0 R (HD.2218) 2695 0 R (HD.2219) 2696 0 R (HD.222) 441 0 R (HD.2220) 2697 0 R (HD.2221) 2698 0 R (HD.2222) 2699 0 R (HD.2223) 2700 0 R (HD.2224) 2701 0 R (HD.2225) 2702 0 R (HD.2226) 2703 0 R (HD.2227) 2708 0 R (HD.2228) 2709 0 R (HD.2229) 2710 0 R (HD.223) 442 0 R (HD.2230) 2711 0 R (HD.2231) 2712 0 R (HD.2232) 2713 0 R (HD.2233) 2714 0 R (HD.2234) 2715 0 R (HD.2235) 2716 0 R (HD.2236) 2717 0 R (HD.2237) 2718 0 R (HD.2238) 2719 0 R (HD.2239) 2720 0 R (HD.224) 443 0 R (HD.2240) 2721 0 R (HD.2241) 2722 0 R (HD.2242) 2723 0 R (HD.2243) 2724 0 R (HD.2244) 2725 0 R (HD.2245) 2726 0 R ] /Limits [ (HD.2217) (HD.2245) ] >>
+endobj
+11759 0 obj
+<< /Names [ (HD.2246) 2727 0 R (HD.2247) 2728 0 R (HD.2248) 2729 0 R (HD.2249) 2730 0 R (HD.225) 444 0 R (HD.2250) 2731 0 R (HD.2251) 2732 0 R (HD.2252) 2733 0 R (HD.2253) 2734 0 R (HD.2254) 2735 0 R (HD.2255) 2736 0 R (HD.2256) 2737 0 R (HD.2257) 2738 0 R (HD.2258) 2739 0 R (HD.2259) 2740 0 R (HD.226) 445 0 R (HD.2260) 2741 0 R (HD.2261) 2742 0 R (HD.2262) 2743 0 R (HD.2263) 2744 0 R (HD.2264) 2745 0 R (HD.2265) 2746 0 R (HD.2266) 2747 0 R (HD.2267) 2748 0 R (HD.2268) 2749 0 R (HD.2269) 2750 0 R (HD.227) 446 0 R (HD.2270) 2751 0 R (HD.2271) 2752 0 R (HD.2272) 2753 0 R (HD.2273) 2754 0 R (HD.2274) 2755 0 R ] /Limits [ (HD.2246) (HD.2274) ] >>
+endobj
+11760 0 obj
+<< /Names [ (HD.2275) 2756 0 R (HD.2276) 2757 0 R (HD.2277) 2765 0 R (HD.2278) 2766 0 R (HD.2279) 2767 0 R (HD.228) 447 0 R (HD.2280) 2768 0 R (HD.2281) 2769 0 R (HD.2282) 2770 0 R (HD.2283) 2771 0 R (HD.2284) 2772 0 R (HD.2285) 2773 0 R (HD.2286) 2774 0 R (HD.2287) 2775 0 R (HD.2288) 2776 0 R (HD.2289) 2777 0 R (HD.229) 448 0 R (HD.2290) 2778 0 R (HD.2291) 2779 0 R (HD.2292) 2780 0 R (HD.2293) 2781 0 R (HD.2294) 2782 0 R (HD.2295) 2783 0 R (HD.2296) 2784 0 R (HD.2297) 2785 0 R (HD.2298) 2786 0 R (HD.2299) 2787 0 R (HD.23) 218 0 R (HD.230) 449 0 R (HD.2300) 2788 0 R (HD.2301) 2789 0 R (HD.2302) 2790 0 R ] /Limits [ (HD.2275) (HD.2302) ] >>
+endobj
+11761 0 obj
+<< /Names [ (HD.2303) 2791 0 R (HD.2304) 2792 0 R (HD.2305) 2793 0 R (HD.2306) 2794 0 R (HD.2307) 2795 0 R (HD.2308) 2796 0 R (HD.2309) 2797 0 R (HD.231) 450 0 R (HD.2310) 2798 0 R (HD.2311) 2799 0 R (HD.2312) 2800 0 R (HD.2313) 2801 0 R (HD.2314) 2802 0 R (HD.2315) 2803 0 R (HD.2316) 2804 0 R (HD.2317) 2805 0 R (HD.2318) 2806 0 R (HD.2319) 2807 0 R (HD.232) 451 0 R (HD.2320) 2808 0 R (HD.2321) 2809 0 R (HD.2322) 2810 0 R (HD.2323) 2811 0 R (HD.2324) 2812 0 R (HD.2325) 2813 0 R (HD.2326) 2814 0 R (HD.2327) 2815 0 R (HD.2328) 2820 0 R (HD.2329) 2821 0 R (HD.233) 452 0 R (HD.2330) 2822 0 R (HD.2331) 2823 0 R ] /Limits [ (HD.2303) (HD.2331) ] >>
+endobj
+11762 0 obj
+<< /Names [ (HD.2332) 2824 0 R (HD.2333) 2825 0 R (HD.2334) 2826 0 R (HD.2335) 2827 0 R (HD.2336) 2828 0 R (HD.2337) 2829 0 R (HD.2338) 2830 0 R (HD.2339) 2831 0 R (HD.234) 453 0 R (HD.2340) 2832 0 R (HD.2341) 2833 0 R (HD.2342) 2834 0 R (HD.2343) 2835 0 R (HD.2344) 2836 0 R (HD.2345) 2837 0 R (HD.2346) 2838 0 R (HD.2347) 2839 0 R (HD.2348) 2840 0 R (HD.2349) 2841 0 R (HD.235) 454 0 R (HD.2350) 2842 0 R (HD.2351) 2843 0 R (HD.2352) 2844 0 R (HD.2353) 2845 0 R (HD.2354) 2846 0 R (HD.2355) 2847 0 R (HD.2356) 2848 0 R (HD.2357) 2849 0 R (HD.2358) 2850 0 R (HD.2359) 2851 0 R (HD.236) 455 0 R (HD.2360) 2852 0 R ] /Limits [ (HD.2332) (HD.2360) ] >>
+endobj
+11763 0 obj
+<< /Names [ (HD.2361) 2853 0 R (HD.2362) 2854 0 R (HD.2363) 2855 0 R (HD.2364) 2856 0 R (HD.2365) 2857 0 R (HD.2366) 2858 0 R (HD.2367) 2859 0 R (HD.2368) 2860 0 R (HD.2369) 2861 0 R (HD.237) 456 0 R (HD.2370) 2862 0 R (HD.2371) 2863 0 R (HD.2372) 2864 0 R (HD.2373) 2865 0 R (HD.2374) 2866 0 R (HD.2375) 2867 0 R (HD.2376) 2868 0 R (HD.2377) 2869 0 R (HD.2378) 2870 0 R (HD.2379) 2871 0 R (HD.238) 457 0 R (HD.2380) 2872 0 R (HD.2381) 2873 0 R (HD.2382) 2874 0 R (HD.2383) 2875 0 R (HD.2384) 2880 0 R (HD.2385) 2881 0 R (HD.2386) 2882 0 R (HD.2387) 2883 0 R (HD.2388) 2884 0 R (HD.2389) 2885 0 R (HD.239) 458 0 R ] /Limits [ (HD.2361) (HD.239) ] >>
+endobj
+11764 0 obj
+<< /Names [ (HD.2390) 2886 0 R (HD.2391) 2887 0 R (HD.2392) 2888 0 R (HD.2393) 2889 0 R (HD.2394) 2890 0 R (HD.2395) 2891 0 R (HD.2396) 2892 0 R (HD.2397) 2893 0 R (HD.2398) 2894 0 R (HD.2399) 2895 0 R (HD.24) 219 0 R (HD.240) 459 0 R (HD.2400) 2896 0 R (HD.2401) 2897 0 R (HD.2402) 2898 0 R (HD.2403) 2899 0 R (HD.2404) 2900 0 R (HD.2405) 2901 0 R (HD.2406) 2902 0 R (HD.2407) 2903 0 R (HD.2408) 2904 0 R (HD.2409) 2905 0 R (HD.241) 460 0 R (HD.2410) 2906 0 R (HD.2411) 2907 0 R (HD.2412) 2908 0 R (HD.2413) 2909 0 R (HD.2414) 2910 0 R (HD.2415) 2911 0 R (HD.2416) 2912 0 R (HD.2417) 2913 0 R (HD.2418) 2914 0 R ] /Limits [ (HD.2390) (HD.2418) ] >>
+endobj
+11765 0 obj
+<< /Names [ (HD.2419) 2915 0 R (HD.242) 461 0 R (HD.2420) 2916 0 R (HD.2421) 2917 0 R (HD.2422) 2918 0 R (HD.2423) 2919 0 R (HD.2424) 2920 0 R (HD.2425) 2921 0 R (HD.2426) 2922 0 R (HD.2427) 2923 0 R (HD.2428) 2924 0 R (HD.2429) 2925 0 R (HD.243) 462 0 R (HD.2430) 2926 0 R (HD.2431) 2927 0 R (HD.2432) 2932 0 R (HD.2433) 2933 0 R (HD.2434) 2934 0 R (HD.2435) 2935 0 R (HD.2436) 2936 0 R (HD.2437) 2937 0 R (HD.2438) 2938 0 R (HD.2439) 2939 0 R (HD.244) 463 0 R (HD.2440) 2940 0 R (HD.2441) 2941 0 R (HD.2442) 2942 0 R (HD.2443) 2943 0 R (HD.2444) 2944 0 R (HD.2445) 2945 0 R (HD.2446) 2946 0 R (HD.2447) 2947 0 R ] /Limits [ (HD.2419) (HD.2447) ] >>
+endobj
+11766 0 obj
+<< /Names [ (HD.2448) 2948 0 R (HD.2449) 2949 0 R (HD.245) 464 0 R (HD.2450) 2950 0 R (HD.2451) 2951 0 R (HD.2452) 2952 0 R (HD.2453) 2953 0 R (HD.2454) 2954 0 R (HD.2455) 2955 0 R (HD.2456) 2956 0 R (HD.2457) 2957 0 R (HD.2458) 2958 0 R (HD.2459) 2959 0 R (HD.246) 465 0 R (HD.2460) 2960 0 R (HD.2461) 2961 0 R (HD.2462) 2962 0 R (HD.2463) 2963 0 R (HD.2464) 2964 0 R (HD.2465) 2965 0 R (HD.2466) 2970 0 R (HD.2467) 2971 0 R (HD.2468) 2972 0 R (HD.2469) 2973 0 R (HD.247) 466 0 R (HD.2470) 2974 0 R (HD.2471) 2975 0 R (HD.2472) 2976 0 R (HD.2473) 2977 0 R (HD.2474) 2978 0 R (HD.2475) 2979 0 R (HD.2476) 2980 0 R ] /Limits [ (HD.2448) (HD.2476) ] >>
+endobj
+11767 0 obj
+<< /Names [ (HD.2477) 2981 0 R (HD.2478) 2982 0 R (HD.2479) 2983 0 R (HD.248) 467 0 R (HD.2480) 2984 0 R (HD.2481) 2985 0 R (HD.2482) 2986 0 R (HD.2483) 2987 0 R (HD.2484) 2988 0 R (HD.2485) 2989 0 R (HD.2486) 2990 0 R (HD.2487) 2991 0 R (HD.2488) 2992 0 R (HD.2489) 2993 0 R (HD.249) 468 0 R (HD.2490) 2994 0 R (HD.2491) 2995 0 R (HD.2492) 2996 0 R (HD.2493) 2997 0 R (HD.2494) 2998 0 R (HD.2495) 2999 0 R (HD.2496) 3000 0 R (HD.2497) 3001 0 R (HD.2498) 3002 0 R (HD.2499) 3003 0 R (HD.25) 220 0 R (HD.250) 469 0 R (HD.2500) 3004 0 R (HD.2501) 3005 0 R (HD.2502) 3006 0 R (HD.2503) 3007 0 R (HD.2504) 3008 0 R ] /Limits [ (HD.2477) (HD.2504) ] >>
+endobj
+11768 0 obj
+<< /Names [ (HD.2505) 3009 0 R (HD.2506) 3010 0 R (HD.2507) 3011 0 R (HD.2508) 3012 0 R (HD.2509) 3013 0 R (HD.251) 470 0 R (HD.2510) 3014 0 R (HD.2511) 3015 0 R (HD.2512) 3020 0 R (HD.2513) 3021 0 R (HD.2514) 3022 0 R (HD.2515) 3023 0 R (HD.2516) 3024 0 R (HD.2517) 3025 0 R (HD.2518) 3026 0 R (HD.2519) 3027 0 R (HD.252) 471 0 R (HD.2520) 3028 0 R (HD.2521) 3029 0 R (HD.2522) 3030 0 R (HD.2523) 3031 0 R (HD.2524) 3032 0 R (HD.2525) 3033 0 R (HD.2526) 3034 0 R (HD.2527) 3035 0 R (HD.2528) 3036 0 R (HD.2529) 3037 0 R (HD.253) 472 0 R (HD.2530) 3038 0 R (HD.2531) 3039 0 R (HD.2532) 3040 0 R (HD.2533) 3041 0 R ] /Limits [ (HD.2505) (HD.2533) ] >>
+endobj
+11769 0 obj
+<< /Names [ (HD.2534) 3042 0 R (HD.2535) 3043 0 R (HD.2536) 3044 0 R (HD.2537) 3045 0 R (HD.2538) 3046 0 R (HD.2539) 3047 0 R (HD.254) 474 0 R (HD.2540) 3048 0 R (HD.2541) 3049 0 R (HD.2542) 3050 0 R (HD.2543) 3051 0 R (HD.2544) 3052 0 R (HD.2545) 3053 0 R (HD.2546) 3054 0 R (HD.2547) 3055 0 R (HD.2548) 3056 0 R (HD.2549) 3057 0 R (HD.255) 475 0 R (HD.2550) 3058 0 R (HD.2551) 3059 0 R (HD.2552) 3060 0 R (HD.2553) 3061 0 R (HD.2554) 3062 0 R (HD.2555) 3063 0 R (HD.2556) 3064 0 R (HD.2557) 3065 0 R (HD.2558) 3066 0 R (HD.2559) 3071 0 R (HD.256) 476 0 R (HD.2560) 3072 0 R (HD.2561) 3073 0 R (HD.2562) 3074 0 R ] /Limits [ (HD.2534) (HD.2562) ] >>
+endobj
+11770 0 obj
+<< /Names [ (HD.2563) 3075 0 R (HD.2564) 3076 0 R (HD.2565) 3077 0 R (HD.2566) 3078 0 R (HD.2567) 3079 0 R (HD.2568) 3080 0 R (HD.2569) 3081 0 R (HD.257) 477 0 R (HD.2570) 3082 0 R (HD.2571) 3083 0 R (HD.2572) 3084 0 R (HD.2573) 3085 0 R (HD.2574) 3086 0 R (HD.2575) 3087 0 R (HD.2576) 3088 0 R (HD.2577) 3089 0 R (HD.2578) 3090 0 R (HD.2579) 3091 0 R (HD.258) 478 0 R (HD.2580) 3092 0 R (HD.2581) 3093 0 R (HD.2582) 3094 0 R (HD.2583) 3095 0 R (HD.2584) 3096 0 R (HD.2585) 3097 0 R (HD.2586) 3098 0 R (HD.2587) 3099 0 R (HD.2588) 3100 0 R (HD.2589) 3101 0 R (HD.259) 479 0 R (HD.2590) 3102 0 R (HD.2591) 3103 0 R ] /Limits [ (HD.2563) (HD.2591) ] >>
+endobj
+11771 0 obj
+<< /Names [ (HD.2592) 3104 0 R (HD.2593) 3105 0 R (HD.2594) 3106 0 R (HD.2595) 3107 0 R (HD.2596) 3108 0 R (HD.2597) 3109 0 R (HD.2598) 3110 0 R (HD.2599) 3111 0 R (HD.26) 221 0 R (HD.260) 487 0 R (HD.2600) 3112 0 R (HD.2601) 3113 0 R (HD.2602) 3114 0 R (HD.2603) 3115 0 R (HD.2604) 3116 0 R (HD.2605) 3117 0 R (HD.2606) 3118 0 R (HD.2607) 3119 0 R (HD.2608) 3120 0 R (HD.2609) 3121 0 R (HD.261) 488 0 R (HD.2610) 3126 0 R (HD.2611) 3127 0 R (HD.2612) 3128 0 R (HD.2613) 3129 0 R (HD.2614) 3130 0 R (HD.2615) 3131 0 R (HD.2616) 3132 0 R (HD.2617) 3133 0 R (HD.2618) 3134 0 R (HD.2619) 3135 0 R (HD.262) 489 0 R ] /Limits [ (HD.2592) (HD.262) ] >>
+endobj
+11772 0 obj
+<< /Names [ (HD.2620) 3136 0 R (HD.2621) 3137 0 R (HD.2622) 3138 0 R (HD.2623) 3139 0 R (HD.2624) 3140 0 R (HD.2625) 3141 0 R (HD.2626) 3142 0 R (HD.2627) 3143 0 R (HD.2628) 3144 0 R (HD.2629) 3145 0 R (HD.263) 490 0 R (HD.2630) 3146 0 R (HD.2631) 3147 0 R (HD.2632) 3148 0 R (HD.2633) 3149 0 R (HD.2634) 3150 0 R (HD.2635) 3151 0 R (HD.2636) 3152 0 R (HD.2637) 3153 0 R (HD.2638) 3154 0 R (HD.2639) 3155 0 R (HD.264) 491 0 R (HD.2640) 3156 0 R (HD.2641) 3157 0 R (HD.2642) 3158 0 R (HD.2643) 3159 0 R (HD.2644) 3160 0 R (HD.2645) 3161 0 R (HD.2646) 3162 0 R (HD.2647) 3163 0 R (HD.2648) 3164 0 R (HD.2649) 3165 0 R ] /Limits [ (HD.2620) (HD.2649) ] >>
+endobj
+11773 0 obj
+<< /Names [ (HD.265) 492 0 R (HD.2650) 3166 0 R (HD.2651) 3167 0 R (HD.2652) 3168 0 R (HD.2653) 3169 0 R (HD.2654) 3170 0 R (HD.2655) 3171 0 R (HD.2656) 3172 0 R (HD.2657) 3173 0 R (HD.2658) 3174 0 R (HD.2659) 3175 0 R (HD.266) 493 0 R (HD.2660) 3176 0 R (HD.2661) 3177 0 R (HD.2662) 3178 0 R (HD.2663) 3183 0 R (HD.2664) 3184 0 R (HD.2665) 3185 0 R (HD.2666) 3186 0 R (HD.2667) 3187 0 R (HD.2668) 3188 0 R (HD.2669) 3189 0 R (HD.267) 494 0 R (HD.2670) 3190 0 R (HD.2671) 3191 0 R (HD.2672) 3192 0 R (HD.2673) 3193 0 R (HD.2674) 3194 0 R (HD.2675) 3195 0 R (HD.2676) 3196 0 R (HD.2677) 3197 0 R (HD.2678) 3198 0 R ] /Limits [ (HD.265) (HD.2678) ] >>
+endobj
+11774 0 obj
+<< /Names [ (HD.2679) 3199 0 R (HD.268) 495 0 R (HD.2680) 3200 0 R (HD.2681) 3201 0 R (HD.2682) 3202 0 R (HD.2683) 3203 0 R (HD.2684) 3204 0 R (HD.2685) 3205 0 R (HD.2686) 3206 0 R (HD.2687) 3207 0 R (HD.2688) 3208 0 R (HD.2689) 3209 0 R (HD.269) 496 0 R (HD.2690) 3210 0 R (HD.2691) 3211 0 R (HD.2692) 3212 0 R (HD.2693) 3213 0 R (HD.2694) 3214 0 R (HD.2695) 3215 0 R (HD.2696) 3216 0 R (HD.2697) 3217 0 R (HD.2698) 3218 0 R (HD.2699) 3219 0 R (HD.27) 222 0 R (HD.270) 497 0 R (HD.2700) 3220 0 R (HD.2701) 3221 0 R (HD.2702) 3222 0 R (HD.2703) 3223 0 R (HD.2704) 3224 0 R (HD.2705) 3225 0 R (HD.2706) 3226 0 R ] /Limits [ (HD.2679) (HD.2706) ] >>
+endobj
+11775 0 obj
+<< /Names [ (HD.2707) 3227 0 R (HD.2708) 3228 0 R (HD.2709) 3229 0 R (HD.271) 498 0 R (HD.2710) 3230 0 R (HD.2711) 3231 0 R (HD.2712) 3232 0 R (HD.2713) 3233 0 R (HD.2714) 3234 0 R (HD.2715) 3235 0 R (HD.2716) 3236 0 R (HD.2717) 3237 0 R (HD.2718) 3238 0 R (HD.2719) 3243 0 R (HD.272) 499 0 R (HD.2720) 3244 0 R (HD.2721) 3245 0 R (HD.2722) 3246 0 R (HD.2723) 3247 0 R (HD.2724) 3248 0 R (HD.2725) 3249 0 R (HD.2726) 3250 0 R (HD.2727) 3251 0 R (HD.2728) 3252 0 R (HD.2729) 3253 0 R (HD.273) 500 0 R (HD.2730) 3254 0 R (HD.2731) 3255 0 R (HD.2732) 3256 0 R (HD.2733) 3257 0 R (HD.2734) 3258 0 R (HD.2735) 3259 0 R ] /Limits [ (HD.2707) (HD.2735) ] >>
+endobj
+11776 0 obj
+<< /Names [ (HD.2736) 3260 0 R (HD.2737) 3261 0 R (HD.2738) 3262 0 R (HD.2739) 3263 0 R (HD.274) 501 0 R (HD.2740) 3264 0 R (HD.2741) 3265 0 R (HD.2742) 3266 0 R (HD.2743) 3267 0 R (HD.2744) 3268 0 R (HD.2745) 3269 0 R (HD.2746) 3270 0 R (HD.2747) 3271 0 R (HD.2748) 3272 0 R (HD.2749) 3273 0 R (HD.275) 502 0 R (HD.2750) 3274 0 R (HD.2751) 3275 0 R (HD.2752) 3276 0 R (HD.2753) 3277 0 R (HD.2754) 3278 0 R (HD.2755) 3279 0 R (HD.2756) 3280 0 R (HD.2757) 3281 0 R (HD.2758) 3282 0 R (HD.2759) 3283 0 R (HD.276) 503 0 R (HD.2760) 3284 0 R (HD.2761) 3285 0 R (HD.2762) 3286 0 R (HD.2763) 3287 0 R (HD.2764) 3288 0 R ] /Limits [ (HD.2736) (HD.2764) ] >>
+endobj
+11777 0 obj
+<< /Names [ (HD.2765) 3289 0 R (HD.2766) 3290 0 R (HD.2767) 3291 0 R (HD.2768) 3292 0 R (HD.2769) 3293 0 R (HD.277) 504 0 R (HD.2770) 3294 0 R (HD.2771) 3295 0 R (HD.2772) 3296 0 R (HD.2773) 3297 0 R (HD.2774) 3303 0 R (HD.2775) 3304 0 R (HD.2776) 3305 0 R (HD.2777) 3306 0 R (HD.2778) 3307 0 R (HD.2779) 3308 0 R (HD.278) 505 0 R (HD.2780) 3309 0 R (HD.2781) 3310 0 R (HD.2782) 3311 0 R (HD.2783) 3312 0 R (HD.2784) 3313 0 R (HD.2785) 3314 0 R (HD.2786) 3315 0 R (HD.2787) 3316 0 R (HD.2788) 3317 0 R (HD.2789) 3318 0 R (HD.279) 506 0 R (HD.2790) 3319 0 R (HD.2791) 3320 0 R (HD.2792) 3321 0 R (HD.2793) 3322 0 R ] /Limits [ (HD.2765) (HD.2793) ] >>
+endobj
+11778 0 obj
+<< /Names [ (HD.2794) 3323 0 R (HD.2795) 3324 0 R (HD.2796) 3325 0 R (HD.2797) 3326 0 R (HD.2798) 3327 0 R (HD.2799) 3328 0 R (HD.28) 223 0 R (HD.280) 507 0 R (HD.2800) 3329 0 R (HD.2801) 3330 0 R (HD.2802) 3331 0 R (HD.2803) 3332 0 R (HD.2804) 3333 0 R (HD.2805) 3338 0 R (HD.2806) 3339 0 R (HD.2807) 3340 0 R (HD.2808) 3341 0 R (HD.2809) 3342 0 R (HD.281) 508 0 R (HD.2810) 3343 0 R (HD.2811) 3344 0 R (HD.2812) 3345 0 R (HD.2813) 3346 0 R (HD.2814) 3347 0 R (HD.2815) 3348 0 R (HD.2816) 3349 0 R (HD.2817) 3350 0 R (HD.2818) 3351 0 R (HD.2819) 3352 0 R (HD.282) 509 0 R (HD.2820) 3353 0 R (HD.2821) 3354 0 R ] /Limits [ (HD.2794) (HD.2821) ] >>
+endobj
+11779 0 obj
+<< /Names [ (HD.2822) 3355 0 R (HD.2823) 3356 0 R (HD.2824) 3357 0 R (HD.2825) 3358 0 R (HD.2826) 3359 0 R (HD.2827) 3360 0 R (HD.2828) 3361 0 R (HD.2829) 3362 0 R (HD.283) 510 0 R (HD.2830) 3363 0 R (HD.2831) 3364 0 R (HD.2832) 3365 0 R (HD.2833) 3366 0 R (HD.2834) 3367 0 R (HD.2835) 3368 0 R (HD.2836) 3369 0 R (HD.2837) 3370 0 R (HD.2838) 3371 0 R (HD.2839) 3372 0 R (HD.284) 511 0 R (HD.2840) 3373 0 R (HD.2841) 3374 0 R (HD.2842) 3375 0 R (HD.2843) 3376 0 R (HD.2844) 3377 0 R (HD.2845) 3378 0 R (HD.2846) 3379 0 R (HD.2847) 3380 0 R (HD.2848) 3385 0 R (HD.2849) 3386 0 R (HD.285) 512 0 R (HD.2850) 3387 0 R ] /Limits [ (HD.2822) (HD.2850) ] >>
+endobj
+11780 0 obj
+<< /Names [ (HD.2851) 3388 0 R (HD.2852) 3389 0 R (HD.2853) 3390 0 R (HD.2854) 3391 0 R (HD.2855) 3392 0 R (HD.2856) 3393 0 R (HD.2857) 3394 0 R (HD.2858) 3395 0 R (HD.2859) 3396 0 R (HD.286) 513 0 R (HD.2860) 3397 0 R (HD.2861) 3398 0 R (HD.2862) 3399 0 R (HD.2863) 3400 0 R (HD.2864) 3401 0 R (HD.2865) 3402 0 R (HD.2866) 3403 0 R (HD.2867) 3404 0 R (HD.2868) 3405 0 R (HD.2869) 3406 0 R (HD.287) 514 0 R (HD.2870) 3407 0 R (HD.2871) 3408 0 R (HD.2872) 3409 0 R (HD.2873) 3410 0 R (HD.2874) 3411 0 R (HD.2875) 3412 0 R (HD.2876) 3413 0 R (HD.2877) 3414 0 R (HD.2878) 3415 0 R (HD.2879) 3416 0 R (HD.288) 515 0 R ] /Limits [ (HD.2851) (HD.288) ] >>
+endobj
+11781 0 obj
+<< /Names [ (HD.2880) 3417 0 R (HD.2881) 3418 0 R (HD.2882) 3419 0 R (HD.2883) 3420 0 R (HD.2884) 3421 0 R (HD.2885) 3422 0 R (HD.2886) 3423 0 R (HD.2887) 3424 0 R (HD.2888) 3425 0 R (HD.2889) 3430 0 R (HD.289) 516 0 R (HD.2890) 3431 0 R (HD.2891) 3432 0 R (HD.2892) 3433 0 R (HD.2893) 3434 0 R (HD.2894) 3435 0 R (HD.2895) 3436 0 R (HD.2896) 3437 0 R (HD.2897) 3438 0 R (HD.2898) 3439 0 R (HD.2899) 3440 0 R (HD.29) 224 0 R (HD.290) 517 0 R (HD.2900) 3441 0 R (HD.2901) 3442 0 R (HD.2902) 3443 0 R (HD.2903) 3444 0 R (HD.2904) 3445 0 R (HD.2905) 3446 0 R (HD.2906) 3447 0 R (HD.2907) 3448 0 R (HD.2908) 3449 0 R ] /Limits [ (HD.2880) (HD.2908) ] >>
+endobj
+11782 0 obj
+<< /Names [ (HD.2909) 3450 0 R (HD.291) 518 0 R (HD.2910) 3451 0 R (HD.2911) 3452 0 R (HD.2912) 3453 0 R (HD.2913) 3454 0 R (HD.2914) 3455 0 R (HD.2915) 3456 0 R (HD.2916) 3457 0 R (HD.2917) 3458 0 R (HD.2918) 3459 0 R (HD.2919) 3460 0 R (HD.292) 519 0 R (HD.2920) 3461 0 R (HD.2921) 3462 0 R (HD.2922) 3463 0 R (HD.2923) 3464 0 R (HD.2924) 3465 0 R (HD.2925) 3466 0 R (HD.2926) 3467 0 R (HD.2927) 3468 0 R (HD.2928) 3469 0 R (HD.2929) 3470 0 R (HD.293) 520 0 R (HD.2930) 3471 0 R (HD.2931) 3472 0 R (HD.2932) 3473 0 R (HD.2933) 3474 0 R (HD.2934) 3475 0 R (HD.2935) 3476 0 R (HD.2936) 3477 0 R (HD.2937) 3478 0 R ] /Limits [ (HD.2909) (HD.2937) ] >>
+endobj
+11783 0 obj
+<< /Names [ (HD.2938) 3479 0 R (HD.2939) 3480 0 R (HD.294) 521 0 R (HD.2940) 3481 0 R (HD.2941) 3486 0 R (HD.2942) 3487 0 R (HD.2943) 3488 0 R (HD.2944) 3489 0 R (HD.2945) 3490 0 R (HD.2946) 3491 0 R (HD.2947) 3492 0 R (HD.2948) 3493 0 R (HD.2949) 3494 0 R (HD.295) 522 0 R (HD.2950) 3495 0 R (HD.2951) 3496 0 R (HD.2952) 3497 0 R (HD.2953) 3498 0 R (HD.2954) 3499 0 R (HD.2955) 3500 0 R (HD.2956) 3501 0 R (HD.2957) 3502 0 R (HD.2958) 3503 0 R (HD.2959) 3504 0 R (HD.296) 523 0 R (HD.2960) 3505 0 R (HD.2961) 3506 0 R (HD.2962) 3507 0 R (HD.2963) 3508 0 R (HD.2964) 3509 0 R (HD.2965) 3510 0 R (HD.2966) 3511 0 R ] /Limits [ (HD.2938) (HD.2966) ] >>
+endobj
+11784 0 obj
+<< /Names [ (HD.2967) 3512 0 R (HD.2968) 3513 0 R (HD.2969) 3514 0 R (HD.297) 524 0 R (HD.2970) 3515 0 R (HD.2971) 3516 0 R (HD.2972) 3517 0 R (HD.2973) 3518 0 R (HD.2974) 3519 0 R (HD.2975) 3520 0 R (HD.2976) 3521 0 R (HD.2977) 3522 0 R (HD.2978) 3523 0 R (HD.2979) 3524 0 R (HD.298) 525 0 R (HD.2980) 3525 0 R (HD.2981) 3526 0 R (HD.2982) 3527 0 R (HD.2983) 3528 0 R (HD.2984) 3529 0 R (HD.2985) 3530 0 R (HD.2986) 3531 0 R (HD.2987) 3532 0 R (HD.2988) 3533 0 R (HD.2989) 3534 0 R (HD.299) 526 0 R (HD.2990) 3535 0 R (HD.2991) 3536 0 R (HD.2992) 3537 0 R (HD.2993) 3542 0 R (HD.2994) 3543 0 R (HD.2995) 3544 0 R ] /Limits [ (HD.2967) (HD.2995) ] >>
+endobj
+11785 0 obj
+<< /Names [ (HD.2996) 3545 0 R (HD.2997) 3546 0 R (HD.2998) 3547 0 R (HD.2999) 3548 0 R (HD.3) 191 0 R (HD.30) 225 0 R (HD.300) 527 0 R (HD.3000) 3549 0 R (HD.3001) 3550 0 R (HD.3002) 3551 0 R (HD.3003) 3552 0 R (HD.3004) 3553 0 R (HD.3005) 3554 0 R (HD.3006) 3555 0 R (HD.3007) 3556 0 R (HD.3008) 3557 0 R (HD.3009) 3558 0 R (HD.301) 528 0 R (HD.3010) 3559 0 R (HD.3011) 3560 0 R (HD.3012) 3561 0 R (HD.3013) 3562 0 R (HD.3014) 3563 0 R (HD.3015) 3564 0 R (HD.3016) 3565 0 R (HD.3017) 3566 0 R (HD.3018) 3567 0 R (HD.3019) 3568 0 R (HD.302) 529 0 R (HD.3020) 3569 0 R (HD.3021) 3570 0 R (HD.3022) 3571 0 R ] /Limits [ (HD.2996) (HD.3022) ] >>
+endobj
+11786 0 obj
+<< /Names [ (HD.3023) 3572 0 R (HD.3024) 3573 0 R (HD.3025) 3574 0 R (HD.3026) 3575 0 R (HD.3027) 3576 0 R (HD.3028) 3577 0 R (HD.3029) 3578 0 R (HD.303) 530 0 R (HD.3030) 3579 0 R (HD.3031) 3580 0 R (HD.3032) 3581 0 R (HD.3033) 3582 0 R (HD.3034) 3583 0 R (HD.3035) 3584 0 R (HD.3036) 3585 0 R (HD.3037) 3586 0 R (HD.3038) 3587 0 R (HD.3039) 3588 0 R (HD.304) 535 0 R (HD.3040) 3589 0 R (HD.3041) 3590 0 R (HD.3042) 3595 0 R (HD.3043) 3596 0 R (HD.3044) 3597 0 R (HD.3045) 3598 0 R (HD.3046) 3599 0 R (HD.3047) 3600 0 R (HD.3048) 3601 0 R (HD.3049) 3602 0 R (HD.305) 536 0 R (HD.3050) 3603 0 R (HD.3051) 3604 0 R ] /Limits [ (HD.3023) (HD.3051) ] >>
+endobj
+11787 0 obj
+<< /Names [ (HD.3052) 3605 0 R (HD.3053) 3606 0 R (HD.3054) 3607 0 R (HD.3055) 3608 0 R (HD.3056) 3609 0 R (HD.3057) 3610 0 R (HD.3058) 3611 0 R (HD.3059) 3612 0 R (HD.306) 537 0 R (HD.3060) 3613 0 R (HD.3061) 3614 0 R (HD.3062) 3615 0 R (HD.3063) 3616 0 R (HD.3064) 3617 0 R (HD.3065) 3618 0 R (HD.3066) 3619 0 R (HD.3067) 3620 0 R (HD.3068) 3621 0 R (HD.3069) 3622 0 R (HD.307) 538 0 R (HD.3070) 3623 0 R (HD.3071) 3624 0 R (HD.3072) 3625 0 R (HD.3073) 3626 0 R (HD.3074) 3627 0 R (HD.3075) 3628 0 R (HD.3076) 3629 0 R (HD.3077) 3630 0 R (HD.3078) 3631 0 R (HD.3079) 3632 0 R (HD.308) 539 0 R (HD.3080) 3633 0 R ] /Limits [ (HD.3052) (HD.3080) ] >>
+endobj
+11788 0 obj
+<< /Names [ (HD.3081) 3634 0 R (HD.3082) 3635 0 R (HD.3083) 3640 0 R (HD.3084) 3641 0 R (HD.3085) 3642 0 R (HD.3086) 3643 0 R (HD.3087) 3644 0 R (HD.3088) 3645 0 R (HD.3089) 3646 0 R (HD.309) 540 0 R (HD.3090) 3647 0 R (HD.3091) 3648 0 R (HD.3092) 3649 0 R (HD.3093) 3650 0 R (HD.3094) 3651 0 R (HD.3095) 3652 0 R (HD.3096) 3653 0 R (HD.3097) 3654 0 R (HD.3098) 3655 0 R (HD.3099) 3656 0 R (HD.31) 226 0 R (HD.310) 541 0 R (HD.3100) 3657 0 R (HD.3101) 3658 0 R (HD.3102) 3659 0 R (HD.3103) 3660 0 R (HD.3104) 3661 0 R (HD.3105) 3662 0 R (HD.3106) 3663 0 R (HD.3107) 3664 0 R (HD.3108) 3665 0 R (HD.3109) 3666 0 R ] /Limits [ (HD.3081) (HD.3109) ] >>
+endobj
+11789 0 obj
+<< /Names [ (HD.311) 542 0 R (HD.3110) 3667 0 R (HD.3111) 3668 0 R (HD.3112) 3669 0 R (HD.3113) 3670 0 R (HD.3114) 3671 0 R (HD.3115) 3672 0 R (HD.3116) 3673 0 R (HD.3117) 3674 0 R (HD.3118) 3675 0 R (HD.3119) 3676 0 R (HD.312) 543 0 R (HD.3120) 3681 0 R (HD.3121) 3682 0 R (HD.3122) 3683 0 R (HD.3123) 3684 0 R (HD.3124) 3685 0 R (HD.3125) 3686 0 R (HD.3126) 3687 0 R (HD.3127) 3688 0 R (HD.3128) 3689 0 R (HD.3129) 3690 0 R (HD.313) 544 0 R (HD.3130) 3691 0 R (HD.3131) 3692 0 R (HD.3132) 3693 0 R (HD.3133) 3694 0 R (HD.3134) 3695 0 R (HD.3135) 3696 0 R (HD.3136) 3697 0 R (HD.3137) 3698 0 R (HD.3138) 3699 0 R ] /Limits [ (HD.311) (HD.3138) ] >>
+endobj
+11790 0 obj
+<< /Names [ (HD.3139) 3700 0 R (HD.314) 545 0 R (HD.3140) 3701 0 R (HD.3141) 3702 0 R (HD.3142) 3703 0 R (HD.3143) 3704 0 R (HD.3144) 3705 0 R (HD.3145) 3706 0 R (HD.3146) 3707 0 R (HD.3147) 3708 0 R (HD.3148) 3709 0 R (HD.3149) 3710 0 R (HD.315) 546 0 R (HD.3150) 3711 0 R (HD.3151) 3712 0 R (HD.3152) 3713 0 R (HD.3153) 3714 0 R (HD.3154) 3715 0 R (HD.3155) 3716 0 R (HD.3156) 3717 0 R (HD.3157) 3718 0 R (HD.3158) 3719 0 R (HD.3159) 3720 0 R (HD.316) 547 0 R (HD.3160) 3721 0 R (HD.3161) 3722 0 R (HD.3162) 3723 0 R (HD.3163) 3724 0 R (HD.3164) 3725 0 R (HD.3165) 3726 0 R (HD.3166) 3727 0 R (HD.3167) 3728 0 R ] /Limits [ (HD.3139) (HD.3167) ] >>
+endobj
+11791 0 obj
+<< /Names [ (HD.3168) 3729 0 R (HD.3169) 3730 0 R (HD.317) 548 0 R (HD.3170) 3731 0 R (HD.3171) 3732 0 R (HD.3172) 3737 0 R (HD.3173) 3738 0 R (HD.3174) 3739 0 R (HD.3175) 3740 0 R (HD.3176) 3741 0 R (HD.3177) 3742 0 R (HD.3178) 3743 0 R (HD.3179) 3744 0 R (HD.318) 549 0 R (HD.3180) 3745 0 R (HD.3181) 3746 0 R (HD.3182) 3747 0 R (HD.3183) 3748 0 R (HD.3184) 3749 0 R (HD.3185) 3750 0 R (HD.3186) 3751 0 R (HD.3187) 3752 0 R (HD.3188) 3753 0 R (HD.3189) 3754 0 R (HD.319) 550 0 R (HD.3190) 3755 0 R (HD.3191) 3756 0 R (HD.3192) 3757 0 R (HD.3193) 3758 0 R (HD.3194) 3759 0 R (HD.3195) 3760 0 R (HD.3196) 3761 0 R ] /Limits [ (HD.3168) (HD.3196) ] >>
+endobj
+11792 0 obj
+<< /Names [ (HD.3197) 3762 0 R (HD.3198) 3763 0 R (HD.3199) 3764 0 R (HD.32) 227 0 R (HD.320) 551 0 R (HD.3200) 3765 0 R (HD.3201) 3766 0 R (HD.3202) 3767 0 R (HD.3203) 3768 0 R (HD.3204) 3769 0 R (HD.3205) 3770 0 R (HD.3206) 3771 0 R (HD.3207) 3772 0 R (HD.3208) 3773 0 R (HD.3209) 3774 0 R (HD.321) 552 0 R (HD.3210) 3775 0 R (HD.3211) 3776 0 R (HD.3212) 3777 0 R (HD.3213) 3778 0 R (HD.3214) 3779 0 R (HD.3215) 3780 0 R (HD.3216) 3781 0 R (HD.3217) 3782 0 R (HD.3218) 3788 0 R (HD.3219) 3789 0 R (HD.322) 553 0 R (HD.3220) 3790 0 R (HD.3221) 3791 0 R (HD.3222) 3792 0 R (HD.3223) 3793 0 R (HD.3224) 3794 0 R ] /Limits [ (HD.3197) (HD.3224) ] >>
+endobj
+11793 0 obj
+<< /Names [ (HD.3225) 3795 0 R (HD.3226) 3796 0 R (HD.3227) 3797 0 R (HD.3228) 3798 0 R (HD.3229) 3799 0 R (HD.323) 554 0 R (HD.3230) 3800 0 R (HD.3231) 3801 0 R (HD.3232) 3802 0 R (HD.3233) 3803 0 R (HD.3234) 3804 0 R (HD.3235) 3805 0 R (HD.3236) 3806 0 R (HD.3237) 3807 0 R (HD.3238) 3808 0 R (HD.3239) 3809 0 R (HD.324) 555 0 R (HD.3240) 3810 0 R (HD.3241) 3811 0 R (HD.3242) 3812 0 R (HD.3243) 3813 0 R (HD.3244) 3814 0 R (HD.3245) 3815 0 R (HD.3246) 3816 0 R (HD.3247) 3817 0 R (HD.3248) 3818 0 R (HD.3249) 3819 0 R (HD.325) 557 0 R (HD.3250) 3820 0 R (HD.3251) 3821 0 R (HD.3252) 3822 0 R (HD.3253) 3823 0 R ] /Limits [ (HD.3225) (HD.3253) ] >>
+endobj
+11794 0 obj
+<< /Names [ (HD.3254) 3824 0 R (HD.3255) 3825 0 R (HD.3256) 3826 0 R (HD.3257) 3827 0 R (HD.3258) 3828 0 R (HD.3259) 3829 0 R (HD.326) 558 0 R (HD.3260) 3830 0 R (HD.3261) 3831 0 R (HD.3262) 3832 0 R (HD.3263) 3833 0 R (HD.3264) 3834 0 R (HD.3265) 3835 0 R (HD.3266) 3836 0 R (HD.3267) 3837 0 R (HD.3268) 3838 0 R (HD.3269) 3839 0 R (HD.327) 559 0 R (HD.3270) 3840 0 R (HD.3271) 3841 0 R (HD.3272) 3842 0 R (HD.3273) 3843 0 R (HD.3274) 3848 0 R (HD.3275) 3849 0 R (HD.3276) 3850 0 R (HD.3277) 3851 0 R (HD.3278) 3852 0 R (HD.3279) 3853 0 R (HD.328) 560 0 R (HD.3280) 3854 0 R (HD.3281) 3855 0 R (HD.3282) 3856 0 R ] /Limits [ (HD.3254) (HD.3282) ] >>
+endobj
+11795 0 obj
+<< /Names [ (HD.3283) 3857 0 R (HD.3284) 3858 0 R (HD.3285) 3859 0 R (HD.3286) 3860 0 R (HD.3287) 3861 0 R (HD.3288) 3862 0 R (HD.3289) 3863 0 R (HD.329) 561 0 R (HD.3290) 3864 0 R (HD.3291) 3865 0 R (HD.3292) 3866 0 R (HD.3293) 3867 0 R (HD.3294) 3868 0 R (HD.3295) 3869 0 R (HD.3296) 3870 0 R (HD.3297) 3871 0 R (HD.3298) 3872 0 R (HD.3299) 3873 0 R (HD.33) 228 0 R (HD.330) 562 0 R (HD.3300) 3874 0 R (HD.3301) 3875 0 R (HD.3302) 3876 0 R (HD.3303) 3877 0 R (HD.3304) 3878 0 R (HD.3305) 3879 0 R (HD.3306) 3880 0 R (HD.3307) 3885 0 R (HD.3308) 3886 0 R (HD.3309) 3887 0 R (HD.331) 567 0 R (HD.3310) 3888 0 R ] /Limits [ (HD.3283) (HD.3310) ] >>
+endobj
+11796 0 obj
+<< /Names [ (HD.3311) 3889 0 R (HD.3312) 3890 0 R (HD.3313) 3891 0 R (HD.3314) 3892 0 R (HD.3315) 3893 0 R (HD.3316) 3894 0 R (HD.3317) 3895 0 R (HD.3318) 3896 0 R (HD.3319) 3897 0 R (HD.332) 568 0 R (HD.3320) 3898 0 R (HD.3321) 3899 0 R (HD.3322) 3900 0 R (HD.3323) 3901 0 R (HD.3324) 3902 0 R (HD.3325) 3903 0 R (HD.3326) 3904 0 R (HD.3327) 3905 0 R (HD.3328) 3906 0 R (HD.3329) 3907 0 R (HD.333) 569 0 R (HD.3330) 3908 0 R (HD.3331) 3909 0 R (HD.3332) 3910 0 R (HD.3333) 3911 0 R (HD.3334) 3912 0 R (HD.3335) 3913 0 R (HD.3336) 3914 0 R (HD.3337) 3915 0 R (HD.3338) 3916 0 R (HD.3339) 3917 0 R (HD.334) 570 0 R ] /Limits [ (HD.3311) (HD.334) ] >>
+endobj
+11797 0 obj
+<< /Names [ (HD.3340) 3918 0 R (HD.3341) 3919 0 R (HD.3342) 3920 0 R (HD.3343) 3925 0 R (HD.3344) 3926 0 R (HD.3345) 3927 0 R (HD.3346) 3928 0 R (HD.3347) 3929 0 R (HD.3348) 3930 0 R (HD.3349) 3931 0 R (HD.335) 571 0 R (HD.3350) 3932 0 R (HD.3351) 3933 0 R (HD.3352) 3934 0 R (HD.3353) 3935 0 R (HD.3354) 3936 0 R (HD.3355) 3937 0 R (HD.3356) 3938 0 R (HD.3357) 3939 0 R (HD.3358) 3940 0 R (HD.3359) 3941 0 R (HD.336) 572 0 R (HD.3360) 3942 0 R (HD.3361) 3943 0 R (HD.3362) 3944 0 R (HD.3363) 3945 0 R (HD.3364) 3946 0 R (HD.3365) 3947 0 R (HD.3366) 3948 0 R (HD.3367) 3949 0 R (HD.3368) 3950 0 R (HD.3369) 3951 0 R ] /Limits [ (HD.3340) (HD.3369) ] >>
+endobj
+11798 0 obj
+<< /Names [ (HD.337) 573 0 R (HD.3370) 3952 0 R (HD.3371) 3953 0 R (HD.3372) 3954 0 R (HD.3373) 3955 0 R (HD.3374) 3956 0 R (HD.3375) 3957 0 R (HD.3376) 3958 0 R (HD.3377) 3959 0 R (HD.3378) 3960 0 R (HD.3379) 3961 0 R (HD.338) 574 0 R (HD.3380) 3962 0 R (HD.3381) 3963 0 R (HD.3382) 3964 0 R (HD.3383) 3965 0 R (HD.3384) 3966 0 R (HD.3385) 3967 0 R (HD.3386) 3968 0 R (HD.3387) 3969 0 R (HD.3388) 3970 0 R (HD.3389) 3971 0 R (HD.339) 575 0 R (HD.3390) 3976 0 R (HD.3391) 3977 0 R (HD.3392) 3978 0 R (HD.3393) 3979 0 R (HD.3394) 3980 0 R (HD.3395) 3981 0 R (HD.3396) 3982 0 R (HD.3397) 3983 0 R (HD.3398) 3984 0 R ] /Limits [ (HD.337) (HD.3398) ] >>
+endobj
+11799 0 obj
+<< /Names [ (HD.3399) 3985 0 R (HD.34) 229 0 R (HD.340) 576 0 R (HD.3400) 3986 0 R (HD.3401) 3987 0 R (HD.3402) 3988 0 R (HD.3403) 3989 0 R (HD.3404) 3990 0 R (HD.3405) 3991 0 R (HD.3406) 3992 0 R (HD.3407) 3993 0 R (HD.3408) 3994 0 R (HD.3409) 3995 0 R (HD.341) 577 0 R (HD.3410) 3996 0 R (HD.3411) 3997 0 R (HD.3412) 3998 0 R (HD.3413) 3999 0 R (HD.3414) 4000 0 R (HD.3415) 4001 0 R (HD.3416) 4002 0 R (HD.3417) 4003 0 R (HD.3418) 4004 0 R (HD.3419) 4005 0 R (HD.342) 578 0 R (HD.3420) 4006 0 R (HD.3421) 4007 0 R (HD.3422) 4008 0 R (HD.3423) 4009 0 R (HD.3424) 4010 0 R (HD.3425) 4011 0 R (HD.3426) 4012 0 R ] /Limits [ (HD.3399) (HD.3426) ] >>
+endobj
+11800 0 obj
+<< /Names [ (HD.3427) 4013 0 R (HD.3428) 4014 0 R (HD.3429) 4015 0 R (HD.343) 579 0 R (HD.3430) 4016 0 R (HD.3431) 4017 0 R (HD.3432) 4018 0 R (HD.3433) 4019 0 R (HD.3434) 4020 0 R (HD.3435) 4021 0 R (HD.3436) 4022 0 R (HD.3437) 4023 0 R (HD.3438) 4024 0 R (HD.3439) 4025 0 R (HD.344) 580 0 R (HD.3440) 4026 0 R (HD.3441) 4027 0 R (HD.3442) 4028 0 R (HD.3443) 4029 0 R (HD.3444) 4030 0 R (HD.3445) 4031 0 R (HD.3446) 4036 0 R (HD.3447) 4037 0 R (HD.3448) 4038 0 R (HD.3449) 4039 0 R (HD.345) 581 0 R (HD.3450) 4040 0 R (HD.3451) 4041 0 R (HD.3452) 4042 0 R (HD.3453) 4043 0 R (HD.3454) 4044 0 R (HD.3455) 4045 0 R ] /Limits [ (HD.3427) (HD.3455) ] >>
+endobj
+11801 0 obj
+<< /Names [ (HD.3456) 4046 0 R (HD.3457) 4047 0 R (HD.3458) 4048 0 R (HD.3459) 4049 0 R (HD.346) 582 0 R (HD.3460) 4050 0 R (HD.3461) 4051 0 R (HD.3462) 4052 0 R (HD.3463) 4053 0 R (HD.3464) 4054 0 R (HD.3465) 4055 0 R (HD.3466) 4056 0 R (HD.3467) 4057 0 R (HD.3468) 4058 0 R (HD.3469) 4059 0 R (HD.347) 587 0 R (HD.3470) 4060 0 R (HD.3471) 4061 0 R (HD.3472) 4062 0 R (HD.3473) 4063 0 R (HD.3474) 4064 0 R (HD.3475) 4065 0 R (HD.3476) 4066 0 R (HD.3477) 4067 0 R (HD.3478) 4068 0 R (HD.3479) 4069 0 R (HD.348) 588 0 R (HD.3480) 4070 0 R (HD.3481) 4071 0 R (HD.3482) 4072 0 R (HD.3483) 4073 0 R (HD.3484) 4074 0 R ] /Limits [ (HD.3456) (HD.3484) ] >>
+endobj
+11802 0 obj
+<< /Names [ (HD.3485) 4075 0 R (HD.3486) 4076 0 R (HD.3487) 4077 0 R (HD.3488) 4078 0 R (HD.3489) 4079 0 R (HD.349) 589 0 R (HD.3490) 4080 0 R (HD.3491) 4081 0 R (HD.3492) 4082 0 R (HD.3493) 4083 0 R (HD.3494) 4084 0 R (HD.3495) 4085 0 R (HD.3496) 4086 0 R (HD.3497) 4087 0 R (HD.3498) 4088 0 R (HD.3499) 4093 0 R (HD.35) 230 0 R (HD.350) 590 0 R (HD.3500) 4094 0 R (HD.3501) 4095 0 R (HD.3502) 4096 0 R (HD.3503) 4097 0 R (HD.3504) 4098 0 R (HD.3505) 4099 0 R (HD.3506) 4100 0 R (HD.3507) 4101 0 R (HD.3508) 4102 0 R (HD.3509) 4103 0 R (HD.351) 591 0 R (HD.3510) 4104 0 R (HD.3511) 4105 0 R (HD.3512) 4106 0 R ] /Limits [ (HD.3485) (HD.3512) ] >>
+endobj
+11803 0 obj
+<< /Names [ (HD.3513) 4107 0 R (HD.3514) 4108 0 R (HD.3515) 4109 0 R (HD.3516) 4110 0 R (HD.3517) 4111 0 R (HD.3518) 4112 0 R (HD.3519) 4113 0 R (HD.352) 592 0 R (HD.3520) 4114 0 R (HD.3521) 4115 0 R (HD.3522) 4116 0 R (HD.3523) 4117 0 R (HD.3524) 4118 0 R (HD.3525) 4119 0 R (HD.3526) 4120 0 R (HD.3527) 4121 0 R (HD.3528) 4122 0 R (HD.3529) 4123 0 R (HD.353) 593 0 R (HD.3530) 4124 0 R (HD.3531) 4125 0 R (HD.3532) 4126 0 R (HD.3533) 4127 0 R (HD.3534) 4128 0 R (HD.3535) 4129 0 R (HD.3536) 4130 0 R (HD.3537) 4131 0 R (HD.3538) 4132 0 R (HD.3539) 4133 0 R (HD.354) 594 0 R (HD.3540) 4134 0 R (HD.3541) 4135 0 R ] /Limits [ (HD.3513) (HD.3541) ] >>
+endobj
+11804 0 obj
+<< /Names [ (HD.3542) 4136 0 R (HD.3543) 4137 0 R (HD.3544) 4138 0 R (HD.3545) 4139 0 R (HD.3546) 4140 0 R (HD.3547) 4141 0 R (HD.3548) 4142 0 R (HD.3549) 4143 0 R (HD.355) 595 0 R (HD.3550) 4144 0 R (HD.3551) 4145 0 R (HD.3552) 4146 0 R (HD.3553) 4147 0 R (HD.3554) 4148 0 R (HD.3555) 4149 0 R (HD.3556) 4150 0 R (HD.3557) 4155 0 R (HD.3558) 4156 0 R (HD.3559) 4157 0 R (HD.356) 596 0 R (HD.3560) 4158 0 R (HD.3561) 4159 0 R (HD.3562) 4160 0 R (HD.3563) 4161 0 R (HD.3564) 4162 0 R (HD.3565) 4163 0 R (HD.3566) 4164 0 R (HD.3567) 4165 0 R (HD.3568) 4166 0 R (HD.3569) 4167 0 R (HD.357) 597 0 R (HD.3570) 4168 0 R ] /Limits [ (HD.3542) (HD.3570) ] >>
+endobj
+11805 0 obj
+<< /Names [ (HD.3571) 4169 0 R (HD.3572) 4170 0 R (HD.3573) 4171 0 R (HD.3574) 4172 0 R (HD.3575) 4173 0 R (HD.3576) 4174 0 R (HD.3577) 4175 0 R (HD.3578) 4176 0 R (HD.3579) 4177 0 R (HD.358) 598 0 R (HD.3580) 4178 0 R (HD.3581) 4179 0 R (HD.3582) 4180 0 R (HD.3583) 4181 0 R (HD.3584) 4182 0 R (HD.3585) 4183 0 R (HD.3586) 4184 0 R (HD.3587) 4185 0 R (HD.3588) 4186 0 R (HD.3589) 4187 0 R (HD.359) 599 0 R (HD.3590) 4188 0 R (HD.3591) 4189 0 R (HD.3592) 4190 0 R (HD.3593) 4191 0 R (HD.3594) 4192 0 R (HD.3595) 4193 0 R (HD.3596) 4194 0 R (HD.3597) 4195 0 R (HD.3598) 4196 0 R (HD.3599) 4197 0 R (HD.36) 231 0 R ] /Limits [ (HD.3571) (HD.36) ] >>
+endobj
+11806 0 obj
+<< /Names [ (HD.360) 600 0 R (HD.3600) 4198 0 R (HD.3601) 4199 0 R (HD.3602) 4204 0 R (HD.3603) 4205 0 R (HD.3604) 4206 0 R (HD.3605) 4207 0 R (HD.3606) 4208 0 R (HD.3607) 4209 0 R (HD.3608) 4210 0 R (HD.3609) 4211 0 R (HD.361) 601 0 R (HD.3610) 4212 0 R (HD.3611) 4213 0 R (HD.3612) 4214 0 R (HD.3613) 4215 0 R (HD.3614) 4216 0 R (HD.3615) 4217 0 R (HD.3616) 4218 0 R (HD.3617) 4219 0 R (HD.3618) 4220 0 R (HD.3619) 4221 0 R (HD.362) 602 0 R (HD.3620) 4222 0 R (HD.3621) 4223 0 R (HD.3622) 4224 0 R (HD.3623) 4225 0 R (HD.3624) 4226 0 R (HD.3625) 4227 0 R (HD.3626) 4228 0 R (HD.3627) 4229 0 R (HD.3628) 4230 0 R ] /Limits [ (HD.360) (HD.3628) ] >>
+endobj
+11807 0 obj
+<< /Names [ (HD.3629) 4231 0 R (HD.363) 608 0 R (HD.3630) 4232 0 R (HD.3631) 4233 0 R (HD.3632) 4234 0 R (HD.3633) 4235 0 R (HD.3634) 4236 0 R (HD.3635) 4237 0 R (HD.3636) 4238 0 R (HD.3637) 4239 0 R (HD.3638) 4240 0 R (HD.3639) 4241 0 R (HD.364) 609 0 R (HD.3640) 4242 0 R (HD.3641) 4243 0 R (HD.3642) 4244 0 R (HD.3643) 4245 0 R (HD.3644) 4246 0 R (HD.3645) 4247 0 R (HD.3646) 4248 0 R (HD.3647) 4249 0 R (HD.3648) 4250 0 R (HD.3649) 4251 0 R (HD.365) 610 0 R (HD.3650) 4256 0 R (HD.3651) 4257 0 R (HD.3652) 4258 0 R (HD.3653) 4259 0 R (HD.3654) 4260 0 R (HD.3655) 4261 0 R (HD.3656) 4262 0 R (HD.3657) 4263 0 R ] /Limits [ (HD.3629) (HD.3657) ] >>
+endobj
+11808 0 obj
+<< /Names [ (HD.3658) 4264 0 R (HD.3659) 4265 0 R (HD.366) 611 0 R (HD.3660) 4266 0 R (HD.3661) 4267 0 R (HD.3662) 4268 0 R (HD.3663) 4269 0 R (HD.3664) 4270 0 R (HD.3665) 4271 0 R (HD.3666) 4272 0 R (HD.3667) 4273 0 R (HD.3668) 4274 0 R (HD.3669) 4275 0 R (HD.367) 612 0 R (HD.3670) 4276 0 R (HD.3671) 4277 0 R (HD.3672) 4278 0 R (HD.3673) 4279 0 R (HD.3674) 4280 0 R (HD.3675) 4281 0 R (HD.3676) 4282 0 R (HD.3677) 4283 0 R (HD.3678) 4284 0 R (HD.3679) 4285 0 R (HD.368) 613 0 R (HD.3680) 4286 0 R (HD.3681) 4287 0 R (HD.3682) 4288 0 R (HD.3683) 4289 0 R (HD.3684) 4290 0 R (HD.3685) 4291 0 R (HD.3686) 4292 0 R ] /Limits [ (HD.3658) (HD.3686) ] >>
+endobj
+11809 0 obj
+<< /Names [ (HD.3687) 4293 0 R (HD.3688) 4294 0 R (HD.3689) 4295 0 R (HD.369) 614 0 R (HD.3690) 4296 0 R (HD.3691) 4297 0 R (HD.3692) 4298 0 R (HD.3693) 4299 0 R (HD.3694) 4300 0 R (HD.3695) 4306 0 R (HD.3696) 4307 0 R (HD.3697) 4308 0 R (HD.3698) 4309 0 R (HD.3699) 4310 0 R (HD.37) 232 0 R (HD.370) 615 0 R (HD.3700) 4311 0 R (HD.3701) 4312 0 R (HD.3702) 4313 0 R (HD.3703) 4314 0 R (HD.3704) 4315 0 R (HD.3705) 4316 0 R (HD.3706) 4317 0 R (HD.3707) 4318 0 R (HD.3708) 4319 0 R (HD.3709) 4320 0 R (HD.371) 616 0 R (HD.3710) 4321 0 R (HD.3711) 4322 0 R (HD.3712) 4323 0 R (HD.3713) 4324 0 R (HD.3714) 4325 0 R ] /Limits [ (HD.3687) (HD.3714) ] >>
+endobj
+11810 0 obj
+<< /Names [ (HD.3715) 4326 0 R (HD.3716) 4327 0 R (HD.3717) 4328 0 R (HD.3718) 4329 0 R (HD.3719) 4330 0 R (HD.372) 617 0 R (HD.3720) 4331 0 R (HD.3721) 4332 0 R (HD.3722) 4333 0 R (HD.3723) 4334 0 R (HD.3724) 4335 0 R (HD.3725) 4336 0 R (HD.3726) 4337 0 R (HD.3727) 4338 0 R (HD.3728) 4339 0 R (HD.3729) 4340 0 R (HD.373) 618 0 R (HD.3730) 4341 0 R (HD.3731) 4342 0 R (HD.3732) 4343 0 R (HD.3733) 4344 0 R (HD.3734) 4345 0 R (HD.3735) 4346 0 R (HD.3736) 4347 0 R (HD.3737) 4348 0 R (HD.3738) 4349 0 R (HD.3739) 4350 0 R (HD.374) 619 0 R (HD.3740) 4351 0 R (HD.3741) 4352 0 R (HD.3742) 4353 0 R (HD.3743) 4354 0 R ] /Limits [ (HD.3715) (HD.3743) ] >>
+endobj
+11811 0 obj
+<< /Names [ (HD.3744) 4355 0 R (HD.3745) 4356 0 R (HD.3746) 4361 0 R (HD.3747) 4362 0 R (HD.3748) 4363 0 R (HD.3749) 4364 0 R (HD.375) 620 0 R (HD.3750) 4365 0 R (HD.3751) 4366 0 R (HD.3752) 4367 0 R (HD.3753) 4368 0 R (HD.3754) 4369 0 R (HD.3755) 4370 0 R (HD.3756) 4371 0 R (HD.3757) 4372 0 R (HD.3758) 4373 0 R (HD.3759) 4374 0 R (HD.376) 621 0 R (HD.3760) 4375 0 R (HD.3761) 4376 0 R (HD.3762) 4377 0 R (HD.3763) 4378 0 R (HD.3764) 4379 0 R (HD.3765) 4380 0 R (HD.3766) 4381 0 R (HD.3767) 4382 0 R (HD.3768) 4383 0 R (HD.3769) 4384 0 R (HD.377) 622 0 R (HD.3770) 4385 0 R (HD.3771) 4386 0 R (HD.3772) 4387 0 R ] /Limits [ (HD.3744) (HD.3772) ] >>
+endobj
+11812 0 obj
+<< /Names [ (HD.3773) 4388 0 R (HD.3774) 4389 0 R (HD.3775) 4390 0 R (HD.3776) 4391 0 R (HD.3777) 4392 0 R (HD.3778) 4393 0 R (HD.3779) 4394 0 R (HD.378) 623 0 R (HD.3780) 4395 0 R (HD.3781) 4396 0 R (HD.3782) 4397 0 R (HD.3783) 4398 0 R (HD.3784) 4399 0 R (HD.3785) 4400 0 R (HD.3786) 4401 0 R (HD.3787) 4402 0 R (HD.3788) 4403 0 R (HD.3789) 4404 0 R (HD.379) 624 0 R (HD.3790) 4405 0 R (HD.3791) 4406 0 R (HD.3792) 4407 0 R (HD.3793) 4408 0 R (HD.3794) 4409 0 R (HD.3795) 4410 0 R (HD.3796) 4411 0 R (HD.3797) 4412 0 R (HD.3798) 4413 0 R (HD.3799) 4414 0 R (HD.38) 233 0 R (HD.380) 625 0 R (HD.3800) 4415 0 R ] /Limits [ (HD.3773) (HD.3800) ] >>
+endobj
+11813 0 obj
+<< /Names [ (HD.3801) 4416 0 R (HD.3802) 4417 0 R (HD.3803) 4418 0 R (HD.3804) 4419 0 R (HD.3805) 4420 0 R (HD.3806) 4425 0 R (HD.3807) 4426 0 R (HD.3808) 4427 0 R (HD.3809) 4428 0 R (HD.381) 626 0 R (HD.3810) 4429 0 R (HD.3811) 4430 0 R (HD.3812) 4431 0 R (HD.3813) 4432 0 R (HD.3814) 4433 0 R (HD.3815) 4434 0 R (HD.3816) 4435 0 R (HD.3817) 4436 0 R (HD.3818) 4437 0 R (HD.3819) 4438 0 R (HD.382) 627 0 R (HD.3820) 4439 0 R (HD.3821) 4440 0 R (HD.3822) 4441 0 R (HD.3823) 4442 0 R (HD.3824) 4443 0 R (HD.3825) 4444 0 R (HD.3826) 4445 0 R (HD.3827) 4446 0 R (HD.3828) 4447 0 R (HD.3829) 4448 0 R (HD.383) 628 0 R ] /Limits [ (HD.3801) (HD.383) ] >>
+endobj
+11814 0 obj
+<< /Names [ (HD.3830) 4449 0 R (HD.3831) 4450 0 R (HD.3832) 4451 0 R (HD.3833) 4452 0 R (HD.3834) 4453 0 R (HD.3835) 4454 0 R (HD.3836) 4455 0 R (HD.3837) 4456 0 R (HD.3838) 4457 0 R (HD.3839) 4458 0 R (HD.384) 629 0 R (HD.3840) 4459 0 R (HD.3841) 4464 0 R (HD.3842) 4465 0 R (HD.3843) 4466 0 R (HD.3844) 4467 0 R (HD.3845) 4468 0 R (HD.3846) 4469 0 R (HD.3847) 4470 0 R (HD.3848) 4471 0 R (HD.3849) 4472 0 R (HD.385) 630 0 R (HD.3850) 4473 0 R (HD.3851) 4474 0 R (HD.3852) 4475 0 R (HD.3853) 4476 0 R (HD.3854) 4477 0 R (HD.3855) 4478 0 R (HD.3856) 4479 0 R (HD.3857) 4480 0 R (HD.3858) 4481 0 R (HD.3859) 4482 0 R ] /Limits [ (HD.3830) (HD.3859) ] >>
+endobj
+11815 0 obj
+<< /Names [ (HD.386) 635 0 R (HD.3860) 4483 0 R (HD.3861) 4484 0 R (HD.3862) 4485 0 R (HD.3863) 4486 0 R (HD.3864) 4487 0 R (HD.3865) 4488 0 R (HD.3866) 4489 0 R (HD.3867) 4490 0 R (HD.3868) 4491 0 R (HD.3869) 4492 0 R (HD.387) 636 0 R (HD.3870) 4493 0 R (HD.3871) 4494 0 R (HD.3872) 4495 0 R (HD.3873) 4496 0 R (HD.3874) 4497 0 R (HD.3875) 4498 0 R (HD.3876) 4499 0 R (HD.3877) 4500 0 R (HD.3878) 4501 0 R (HD.3879) 4502 0 R (HD.388) 637 0 R (HD.3880) 4503 0 R (HD.3881) 4504 0 R (HD.3882) 4505 0 R (HD.3883) 4506 0 R (HD.3884) 4507 0 R (HD.3885) 4508 0 R (HD.3886) 4509 0 R (HD.3887) 4510 0 R (HD.3888) 4511 0 R ] /Limits [ (HD.386) (HD.3888) ] >>
+endobj
+11816 0 obj
+<< /Names [ (HD.3889) 4512 0 R (HD.389) 638 0 R (HD.3890) 4513 0 R (HD.3891) 4514 0 R (HD.3892) 4515 0 R (HD.3893) 4516 0 R (HD.3894) 4517 0 R (HD.3895) 4518 0 R (HD.3896) 4524 0 R (HD.3897) 4525 0 R (HD.3898) 4526 0 R (HD.3899) 4527 0 R (HD.39) 234 0 R (HD.390) 639 0 R (HD.3900) 4528 0 R (HD.3901) 4529 0 R (HD.3902) 4530 0 R (HD.3903) 4531 0 R (HD.3904) 4532 0 R (HD.3905) 4534 0 R (HD.3906) 4535 0 R (HD.3907) 4536 0 R (HD.3908) 4537 0 R (HD.3909) 4538 0 R (HD.391) 640 0 R (HD.3910) 4539 0 R (HD.3911) 4540 0 R (HD.3912) 4541 0 R (HD.3913) 4542 0 R (HD.3914) 4543 0 R (HD.3915) 4544 0 R (HD.3916) 4545 0 R ] /Limits [ (HD.3889) (HD.3916) ] >>
+endobj
+11817 0 obj
+<< /Names [ (HD.3917) 4546 0 R (HD.3918) 4547 0 R (HD.3919) 4548 0 R (HD.392) 641 0 R (HD.3920) 4549 0 R (HD.3921) 4550 0 R (HD.3922) 4551 0 R (HD.3923) 4552 0 R (HD.3924) 4553 0 R (HD.3925) 4554 0 R (HD.3926) 4555 0 R (HD.3927) 4556 0 R (HD.3928) 4563 0 R (HD.3929) 4564 0 R (HD.393) 642 0 R (HD.3930) 4565 0 R (HD.3931) 4566 0 R (HD.3932) 4567 0 R (HD.3933) 4568 0 R (HD.3934) 4569 0 R (HD.3935) 4570 0 R (HD.3936) 4571 0 R (HD.3937) 4572 0 R (HD.3938) 4573 0 R (HD.3939) 4574 0 R (HD.394) 643 0 R (HD.3940) 4575 0 R (HD.3941) 4576 0 R (HD.3942) 4577 0 R (HD.3943) 4578 0 R (HD.3944) 4579 0 R (HD.3945) 4580 0 R ] /Limits [ (HD.3917) (HD.3945) ] >>
+endobj
+11818 0 obj
+<< /Names [ (HD.3946) 4581 0 R (HD.3947) 4582 0 R (HD.3948) 4583 0 R (HD.3949) 4584 0 R (HD.395) 644 0 R (HD.3950) 4585 0 R (HD.3951) 4586 0 R (HD.3952) 4587 0 R (HD.3953) 4588 0 R (HD.3954) 4589 0 R (HD.3955) 4590 0 R (HD.3956) 4591 0 R (HD.3957) 4592 0 R (HD.3958) 4593 0 R (HD.3959) 4594 0 R (HD.396) 645 0 R (HD.3960) 4595 0 R (HD.3961) 4596 0 R (HD.3962) 4597 0 R (HD.3963) 4598 0 R (HD.3964) 4599 0 R (HD.3965) 4600 0 R (HD.3966) 4601 0 R (HD.3967) 4602 0 R (HD.3968) 4603 0 R (HD.3969) 4609 0 R (HD.397) 646 0 R (HD.3970) 4610 0 R (HD.3971) 4611 0 R (HD.3972) 4612 0 R (HD.3973) 4613 0 R (HD.3974) 4614 0 R ] /Limits [ (HD.3946) (HD.3974) ] >>
+endobj
+11819 0 obj
+<< /Names [ (HD.3975) 4615 0 R (HD.3976) 4616 0 R (HD.3977) 4617 0 R (HD.3978) 4618 0 R (HD.3979) 4619 0 R (HD.398) 647 0 R (HD.3980) 4620 0 R (HD.3981) 4621 0 R (HD.3982) 4622 0 R (HD.3983) 4623 0 R (HD.3984) 4624 0 R (HD.3985) 4625 0 R (HD.3986) 4626 0 R (HD.3987) 4627 0 R (HD.3988) 4628 0 R (HD.3989) 4629 0 R (HD.399) 648 0 R (HD.3990) 4630 0 R (HD.3991) 4631 0 R (HD.3992) 4632 0 R (HD.3993) 4633 0 R (HD.3994) 4634 0 R (HD.3995) 4635 0 R (HD.3996) 4636 0 R (HD.3997) 4637 0 R (HD.3998) 4638 0 R (HD.3999) 4639 0 R (HD.4) 192 0 R (HD.40) 235 0 R (HD.400) 649 0 R (HD.4000) 4640 0 R (HD.4001) 4641 0 R ] /Limits [ (HD.3975) (HD.4001) ] >>
+endobj
+11820 0 obj
+<< /Names [ (HD.4002) 4642 0 R (HD.4003) 4643 0 R (HD.4004) 4644 0 R (HD.4005) 4645 0 R (HD.4006) 4646 0 R (HD.4007) 4647 0 R (HD.4008) 4648 0 R (HD.4009) 4655 0 R (HD.401) 650 0 R (HD.4010) 4656 0 R (HD.4011) 4657 0 R (HD.4012) 4658 0 R (HD.4013) 4659 0 R (HD.4014) 4660 0 R (HD.4015) 4661 0 R (HD.4016) 4662 0 R (HD.4017) 4663 0 R (HD.4018) 4664 0 R (HD.4019) 4665 0 R (HD.402) 651 0 R (HD.4020) 4666 0 R (HD.4021) 4667 0 R (HD.4022) 4668 0 R (HD.4023) 4669 0 R (HD.4024) 4670 0 R (HD.4025) 4671 0 R (HD.4026) 4672 0 R (HD.4027) 4673 0 R (HD.4028) 4674 0 R (HD.4029) 4675 0 R (HD.403) 652 0 R (HD.4030) 4676 0 R ] /Limits [ (HD.4002) (HD.4030) ] >>
+endobj
+11821 0 obj
+<< /Names [ (HD.4031) 4677 0 R (HD.4032) 4678 0 R (HD.4033) 4679 0 R (HD.4034) 4680 0 R (HD.4035) 4681 0 R (HD.4036) 4682 0 R (HD.4037) 4683 0 R (HD.4038) 4684 0 R (HD.4039) 4685 0 R (HD.404) 653 0 R (HD.4040) 4686 0 R (HD.4041) 4687 0 R (HD.4042) 4688 0 R (HD.4043) 4689 0 R (HD.4044) 4690 0 R (HD.4045) 4691 0 R (HD.4046) 4692 0 R (HD.4047) 4693 0 R (HD.4048) 4694 0 R (HD.4049) 4695 0 R (HD.405) 654 0 R (HD.4050) 4696 0 R (HD.4051) 4697 0 R (HD.4052) 4698 0 R (HD.4053) 4699 0 R (HD.4054) 4700 0 R (HD.4055) 4701 0 R (HD.4056) 4702 0 R (HD.4057) 4707 0 R (HD.4058) 4708 0 R (HD.4059) 4709 0 R (HD.406) 659 0 R ] /Limits [ (HD.4031) (HD.406) ] >>
+endobj
+11822 0 obj
+<< /Names [ (HD.4060) 4710 0 R (HD.4061) 4711 0 R (HD.4062) 4712 0 R (HD.4063) 4713 0 R (HD.4064) 4714 0 R (HD.4065) 4715 0 R (HD.4066) 4716 0 R (HD.4067) 4717 0 R (HD.4068) 4718 0 R (HD.4069) 4719 0 R (HD.407) 661 0 R (HD.4070) 4720 0 R (HD.4071) 4721 0 R (HD.4072) 4722 0 R (HD.4073) 4723 0 R (HD.4074) 4724 0 R (HD.4075) 4725 0 R (HD.4076) 4726 0 R (HD.4077) 4727 0 R (HD.4078) 4728 0 R (HD.4079) 4729 0 R (HD.408) 663 0 R (HD.4080) 4730 0 R (HD.4081) 4731 0 R (HD.4082) 4732 0 R (HD.4083) 4733 0 R (HD.4084) 4734 0 R (HD.4085) 4735 0 R (HD.4086) 4736 0 R (HD.4087) 4737 0 R (HD.4088) 4738 0 R (HD.4089) 4739 0 R ] /Limits [ (HD.4060) (HD.4089) ] >>
+endobj
+11823 0 obj
+<< /Names [ (HD.409) 664 0 R (HD.4090) 4740 0 R (HD.4091) 4741 0 R (HD.4092) 4742 0 R (HD.4093) 4747 0 R (HD.4094) 4748 0 R (HD.4095) 4749 0 R (HD.4096) 4750 0 R (HD.4097) 4751 0 R (HD.4098) 4752 0 R (HD.4099) 4753 0 R (HD.41) 236 0 R (HD.410) 665 0 R (HD.4100) 4754 0 R (HD.4101) 4755 0 R (HD.4102) 4756 0 R (HD.4103) 4757 0 R (HD.4104) 4758 0 R (HD.4105) 4759 0 R (HD.4106) 4760 0 R (HD.4107) 4761 0 R (HD.4108) 4762 0 R (HD.4109) 4763 0 R (HD.411) 666 0 R (HD.4110) 4764 0 R (HD.4111) 4765 0 R (HD.4112) 4766 0 R (HD.4113) 4767 0 R (HD.4114) 4768 0 R (HD.4115) 4769 0 R (HD.4116) 4770 0 R (HD.4117) 4771 0 R ] /Limits [ (HD.409) (HD.4117) ] >>
+endobj
+11824 0 obj
+<< /Names [ (HD.4118) 4772 0 R (HD.4119) 4773 0 R (HD.412) 667 0 R (HD.4120) 4774 0 R (HD.4121) 4775 0 R (HD.4122) 4776 0 R (HD.4123) 4777 0 R (HD.4124) 4778 0 R (HD.4125) 4779 0 R (HD.4126) 4780 0 R (HD.4127) 4781 0 R (HD.4128) 4782 0 R (HD.4129) 4783 0 R (HD.413) 669 0 R (HD.4130) 4784 0 R (HD.4131) 4790 0 R (HD.4132) 4791 0 R (HD.4133) 4792 0 R (HD.4134) 4793 0 R (HD.4135) 4794 0 R (HD.4136) 4795 0 R (HD.4137) 4796 0 R (HD.4138) 4797 0 R (HD.4139) 4798 0 R (HD.414) 670 0 R (HD.4140) 4799 0 R (HD.4141) 4800 0 R (HD.4142) 4801 0 R (HD.4143) 4802 0 R (HD.4144) 4803 0 R (HD.4145) 4804 0 R (HD.4146) 4805 0 R ] /Limits [ (HD.4118) (HD.4146) ] >>
+endobj
+11825 0 obj
+<< /Names [ (HD.4147) 4806 0 R (HD.4148) 4807 0 R (HD.4149) 4808 0 R (HD.415) 671 0 R (HD.4150) 4809 0 R (HD.4151) 4810 0 R (HD.4152) 4811 0 R (HD.4153) 4812 0 R (HD.4154) 4813 0 R (HD.4155) 4814 0 R (HD.4156) 4815 0 R (HD.4157) 4816 0 R (HD.4158) 4817 0 R (HD.4159) 4818 0 R (HD.416) 672 0 R (HD.4160) 4819 0 R (HD.4161) 4820 0 R (HD.4162) 4821 0 R (HD.4163) 4822 0 R (HD.4164) 4823 0 R (HD.4165) 4824 0 R (HD.4166) 4825 0 R (HD.4167) 4826 0 R (HD.4168) 4827 0 R (HD.4169) 4828 0 R (HD.417) 673 0 R (HD.4170) 4829 0 R (HD.4171) 4830 0 R (HD.4172) 4831 0 R (HD.4173) 4832 0 R (HD.4174) 4833 0 R (HD.4175) 4834 0 R ] /Limits [ (HD.4147) (HD.4175) ] >>
+endobj
+11826 0 obj
+<< /Names [ (HD.4176) 4835 0 R (HD.4177) 4836 0 R (HD.4178) 4837 0 R (HD.4179) 4838 0 R (HD.418) 674 0 R (HD.4180) 4843 0 R (HD.4181) 4844 0 R (HD.4182) 4845 0 R (HD.4183) 4846 0 R (HD.4184) 4847 0 R (HD.4185) 4848 0 R (HD.4186) 4849 0 R (HD.4187) 4850 0 R (HD.4188) 4851 0 R (HD.4189) 4852 0 R (HD.419) 675 0 R (HD.4190) 4853 0 R (HD.4191) 4854 0 R (HD.4192) 4855 0 R (HD.4193) 4856 0 R (HD.4194) 4857 0 R (HD.4195) 4858 0 R (HD.4196) 4859 0 R (HD.4197) 4860 0 R (HD.4198) 4861 0 R (HD.4199) 4862 0 R (HD.42) 237 0 R (HD.420) 676 0 R (HD.4200) 4863 0 R (HD.4201) 4864 0 R (HD.4202) 4865 0 R (HD.4203) 4866 0 R ] /Limits [ (HD.4176) (HD.4203) ] >>
+endobj
+11827 0 obj
+<< /Names [ (HD.4204) 4867 0 R (HD.4205) 4868 0 R (HD.4206) 4869 0 R (HD.4207) 4870 0 R (HD.4208) 4871 0 R (HD.4209) 4872 0 R (HD.421) 677 0 R (HD.4210) 4873 0 R (HD.4211) 4874 0 R (HD.4212) 4875 0 R (HD.4213) 4876 0 R (HD.4214) 4877 0 R (HD.4215) 4878 0 R (HD.4216) 4879 0 R (HD.4217) 4880 0 R (HD.4218) 4881 0 R (HD.4219) 4882 0 R (HD.422) 682 0 R (HD.4220) 4883 0 R (HD.4221) 4884 0 R (HD.4222) 4885 0 R (HD.4223) 4886 0 R (HD.4224) 4887 0 R (HD.4225) 4888 0 R (HD.4226) 4889 0 R (HD.4227) 4890 0 R (HD.4228) 4891 0 R (HD.4229) 4892 0 R (HD.423) 683 0 R (HD.4230) 4893 0 R (HD.4231) 4894 0 R (HD.4232) 4895 0 R ] /Limits [ (HD.4204) (HD.4232) ] >>
+endobj
+11828 0 obj
+<< /Names [ (HD.4233) 4896 0 R (HD.4234) 4897 0 R (HD.4235) 4898 0 R (HD.4236) 4899 0 R (HD.4237) 4900 0 R (HD.4238) 4901 0 R (HD.4239) 4906 0 R (HD.424) 684 0 R (HD.4240) 4907 0 R (HD.4241) 4908 0 R (HD.4242) 4909 0 R (HD.4243) 4910 0 R (HD.4244) 4911 0 R (HD.4245) 4912 0 R (HD.4246) 4913 0 R (HD.4247) 4914 0 R (HD.4248) 4915 0 R (HD.4249) 4916 0 R (HD.425) 685 0 R (HD.4250) 4917 0 R (HD.4251) 4918 0 R (HD.4252) 4919 0 R (HD.4253) 4920 0 R (HD.4254) 4921 0 R (HD.4255) 4922 0 R (HD.4256) 4923 0 R (HD.4257) 4924 0 R (HD.4258) 4925 0 R (HD.4259) 4926 0 R (HD.426) 686 0 R (HD.4260) 4927 0 R (HD.4261) 4928 0 R ] /Limits [ (HD.4233) (HD.4261) ] >>
+endobj
+11829 0 obj
+<< /Names [ (HD.4262) 4929 0 R (HD.4263) 4930 0 R (HD.4264) 4931 0 R (HD.4265) 4932 0 R (HD.4266) 4933 0 R (HD.4267) 4934 0 R (HD.4268) 4935 0 R (HD.4269) 4936 0 R (HD.427) 687 0 R (HD.4270) 4937 0 R (HD.4271) 4938 0 R (HD.4272) 4939 0 R (HD.4273) 4940 0 R (HD.4274) 4941 0 R (HD.4275) 4942 0 R (HD.4276) 4943 0 R (HD.4277) 4944 0 R (HD.4278) 4945 0 R (HD.4279) 4946 0 R (HD.428) 688 0 R (HD.4280) 4947 0 R (HD.4281) 4952 0 R (HD.4282) 4953 0 R (HD.4283) 4954 0 R (HD.4284) 4955 0 R (HD.4285) 4956 0 R (HD.4286) 4957 0 R (HD.4287) 4958 0 R (HD.4288) 4959 0 R (HD.4289) 4960 0 R (HD.429) 689 0 R (HD.4290) 4961 0 R ] /Limits [ (HD.4262) (HD.4290) ] >>
+endobj
+11830 0 obj
+<< /Names [ (HD.4291) 4962 0 R (HD.4292) 4963 0 R (HD.4293) 4964 0 R (HD.4294) 4965 0 R (HD.4295) 4966 0 R (HD.4296) 4967 0 R (HD.4297) 4968 0 R (HD.4298) 4969 0 R (HD.4299) 4970 0 R (HD.43) 238 0 R (HD.430) 690 0 R (HD.4300) 4971 0 R (HD.4301) 4972 0 R (HD.4302) 4973 0 R (HD.4303) 4974 0 R (HD.4304) 4975 0 R (HD.4305) 4976 0 R (HD.4306) 4977 0 R (HD.4307) 4978 0 R (HD.4308) 4979 0 R (HD.4309) 4980 0 R (HD.431) 691 0 R (HD.4310) 4981 0 R (HD.4311) 4982 0 R (HD.4312) 4983 0 R (HD.4313) 4984 0 R (HD.4314) 4985 0 R (HD.4315) 4986 0 R (HD.4316) 4987 0 R (HD.4317) 4988 0 R (HD.4318) 4989 0 R (HD.4319) 4990 0 R ] /Limits [ (HD.4291) (HD.4319) ] >>
+endobj
+11831 0 obj
+<< /Names [ (HD.432) 692 0 R (HD.4320) 4991 0 R (HD.4321) 4992 0 R (HD.4322) 4993 0 R (HD.4323) 4994 0 R (HD.4324) 4995 0 R (HD.4325) 4996 0 R (HD.4326) 4997 0 R (HD.4327) 4998 0 R (HD.4328) 4999 0 R (HD.4329) 5000 0 R (HD.433) 693 0 R (HD.4330) 5001 0 R (HD.4331) 5002 0 R (HD.4332) 5003 0 R (HD.4333) 5004 0 R (HD.4334) 5005 0 R (HD.4335) 5006 0 R (HD.4336) 5007 0 R (HD.4337) 5008 0 R (HD.4338) 5009 0 R (HD.4339) 5010 0 R (HD.434) 694 0 R (HD.4340) 5011 0 R (HD.4341) 5016 0 R (HD.4342) 5017 0 R (HD.4343) 5018 0 R (HD.4344) 5019 0 R (HD.4345) 5020 0 R (HD.4346) 5021 0 R (HD.4347) 5022 0 R (HD.4348) 5023 0 R ] /Limits [ (HD.432) (HD.4348) ] >>
+endobj
+11832 0 obj
+<< /Names [ (HD.4349) 5024 0 R (HD.435) 695 0 R (HD.4350) 5025 0 R (HD.4351) 5026 0 R (HD.4352) 5027 0 R (HD.4353) 5028 0 R (HD.4354) 5029 0 R (HD.4355) 5030 0 R (HD.4356) 5031 0 R (HD.4357) 5032 0 R (HD.4358) 5033 0 R (HD.4359) 5034 0 R (HD.436) 696 0 R (HD.4360) 5035 0 R (HD.4361) 5036 0 R (HD.4362) 5037 0 R (HD.4363) 5038 0 R (HD.4364) 5039 0 R (HD.4365) 5040 0 R (HD.4366) 5041 0 R (HD.4367) 5042 0 R (HD.4368) 5043 0 R (HD.4369) 5044 0 R (HD.437) 697 0 R (HD.4370) 5045 0 R (HD.4371) 5046 0 R (HD.4372) 5047 0 R (HD.4373) 5048 0 R (HD.4374) 5049 0 R (HD.4375) 5050 0 R (HD.4376) 5051 0 R (HD.4377) 5052 0 R ] /Limits [ (HD.4349) (HD.4377) ] >>
+endobj
+11833 0 obj
+<< /Names [ (HD.4378) 5053 0 R (HD.4379) 5054 0 R (HD.438) 702 0 R (HD.4380) 5059 0 R (HD.4381) 5060 0 R (HD.4382) 5061 0 R (HD.4383) 5062 0 R (HD.4384) 5063 0 R (HD.4385) 5064 0 R (HD.4386) 5065 0 R (HD.4387) 5066 0 R (HD.4388) 5067 0 R (HD.4389) 5068 0 R (HD.439) 703 0 R (HD.4390) 5069 0 R (HD.4391) 5070 0 R (HD.4392) 5071 0 R (HD.4393) 5072 0 R (HD.4394) 5073 0 R (HD.4395) 5074 0 R (HD.4396) 5075 0 R (HD.4397) 5076 0 R (HD.4398) 5077 0 R (HD.4399) 5078 0 R (HD.44) 239 0 R (HD.440) 704 0 R (HD.4400) 5079 0 R (HD.4401) 5080 0 R (HD.4402) 5081 0 R (HD.4403) 5082 0 R (HD.4404) 5083 0 R (HD.4405) 5084 0 R ] /Limits [ (HD.4378) (HD.4405) ] >>
+endobj
+11834 0 obj
+<< /Names [ (HD.4406) 5085 0 R (HD.4407) 5086 0 R (HD.4408) 5087 0 R (HD.4409) 5088 0 R (HD.441) 705 0 R (HD.4410) 5089 0 R (HD.4411) 5090 0 R (HD.4412) 5091 0 R (HD.4413) 5092 0 R (HD.4414) 5093 0 R (HD.4415) 5094 0 R (HD.4416) 5095 0 R (HD.4417) 5096 0 R (HD.4418) 5097 0 R (HD.4419) 5098 0 R (HD.442) 706 0 R (HD.4420) 5099 0 R (HD.4421) 5100 0 R (HD.4422) 5101 0 R (HD.4423) 5102 0 R (HD.4424) 5103 0 R (HD.4425) 5104 0 R (HD.4426) 5109 0 R (HD.4427) 5110 0 R (HD.4428) 5111 0 R (HD.4429) 5112 0 R (HD.443) 707 0 R (HD.4430) 5113 0 R (HD.4431) 5114 0 R (HD.4432) 5115 0 R (HD.4433) 5116 0 R (HD.4434) 5117 0 R ] /Limits [ (HD.4406) (HD.4434) ] >>
+endobj
+11835 0 obj
+<< /Names [ (HD.4435) 5118 0 R (HD.4436) 5119 0 R (HD.4437) 5120 0 R (HD.4438) 5121 0 R (HD.4439) 5122 0 R (HD.444) 708 0 R (HD.4440) 5123 0 R (HD.4441) 5124 0 R (HD.4442) 5125 0 R (HD.4443) 5126 0 R (HD.4444) 5127 0 R (HD.4445) 5128 0 R (HD.4446) 5129 0 R (HD.4447) 5130 0 R (HD.4448) 5131 0 R (HD.4449) 5132 0 R (HD.445) 709 0 R (HD.4450) 5133 0 R (HD.4451) 5134 0 R (HD.4452) 5135 0 R (HD.4453) 5136 0 R (HD.4454) 5137 0 R (HD.4455) 5138 0 R (HD.4456) 5139 0 R (HD.4457) 5140 0 R (HD.4458) 5141 0 R (HD.4459) 5142 0 R (HD.446) 710 0 R (HD.4460) 5143 0 R (HD.4461) 5144 0 R (HD.4462) 5145 0 R (HD.4463) 5146 0 R ] /Limits [ (HD.4435) (HD.4463) ] >>
+endobj
+11836 0 obj
+<< /Names [ (HD.4464) 5147 0 R (HD.4465) 5148 0 R (HD.4466) 5149 0 R (HD.4467) 5150 0 R (HD.4468) 5151 0 R (HD.4469) 5152 0 R (HD.447) 711 0 R (HD.4470) 5153 0 R (HD.4471) 5154 0 R (HD.4472) 5155 0 R (HD.4473) 5156 0 R (HD.4474) 5157 0 R (HD.4475) 5158 0 R (HD.4476) 5163 0 R (HD.4477) 5164 0 R (HD.4478) 5165 0 R (HD.4479) 5166 0 R (HD.448) 712 0 R (HD.4480) 5167 0 R (HD.4481) 5168 0 R (HD.4482) 5169 0 R (HD.4483) 5170 0 R (HD.4484) 5171 0 R (HD.4485) 5172 0 R (HD.4486) 5173 0 R (HD.4487) 5174 0 R (HD.4488) 5175 0 R (HD.4489) 5176 0 R (HD.449) 713 0 R (HD.4490) 5177 0 R (HD.4491) 5178 0 R (HD.4492) 5179 0 R ] /Limits [ (HD.4464) (HD.4492) ] >>
+endobj
+11837 0 obj
+<< /Names [ (HD.4493) 5180 0 R (HD.4494) 5181 0 R (HD.4495) 5182 0 R (HD.4496) 5183 0 R (HD.4497) 5184 0 R (HD.4498) 5185 0 R (HD.4499) 5186 0 R (HD.45) 240 0 R (HD.450) 714 0 R (HD.4500) 5187 0 R (HD.4501) 5188 0 R (HD.4502) 5189 0 R (HD.4503) 5190 0 R (HD.4504) 5191 0 R (HD.4505) 5192 0 R (HD.4506) 5193 0 R (HD.4507) 5194 0 R (HD.4508) 5195 0 R (HD.4509) 5196 0 R (HD.451) 715 0 R (HD.4510) 5197 0 R (HD.4511) 5198 0 R (HD.4512) 5199 0 R (HD.4513) 5200 0 R (HD.4514) 5201 0 R (HD.4515) 5202 0 R (HD.4516) 5203 0 R (HD.4517) 5204 0 R (HD.4518) 5205 0 R (HD.4519) 5206 0 R (HD.452) 716 0 R (HD.4520) 5207 0 R ] /Limits [ (HD.4493) (HD.4520) ] >>
+endobj
+11838 0 obj
+<< /Names [ (HD.4521) 5208 0 R (HD.4522) 5209 0 R (HD.4523) 5210 0 R (HD.4524) 5211 0 R (HD.4525) 5212 0 R (HD.4526) 5213 0 R (HD.4527) 5214 0 R (HD.4528) 5215 0 R (HD.4529) 5220 0 R (HD.453) 717 0 R (HD.4530) 5221 0 R (HD.4531) 5222 0 R (HD.4532) 5223 0 R (HD.4533) 5224 0 R (HD.4534) 5225 0 R (HD.4535) 5226 0 R (HD.4536) 5227 0 R (HD.4537) 5228 0 R (HD.4538) 5229 0 R (HD.4539) 5230 0 R (HD.454) 718 0 R (HD.4540) 5231 0 R (HD.4541) 5232 0 R (HD.4542) 5233 0 R (HD.4543) 5234 0 R (HD.4544) 5235 0 R (HD.4545) 5236 0 R (HD.4546) 5237 0 R (HD.4547) 5238 0 R (HD.4548) 5239 0 R (HD.4549) 5240 0 R (HD.455) 719 0 R ] /Limits [ (HD.4521) (HD.455) ] >>
+endobj
+11839 0 obj
+<< /Names [ (HD.4550) 5241 0 R (HD.4551) 5242 0 R (HD.4552) 5243 0 R (HD.4553) 5244 0 R (HD.4554) 5245 0 R (HD.4555) 5246 0 R (HD.4556) 5247 0 R (HD.4557) 5248 0 R (HD.4558) 5249 0 R (HD.4559) 5250 0 R (HD.456) 720 0 R (HD.4560) 5251 0 R (HD.4561) 5252 0 R (HD.4562) 5253 0 R (HD.4563) 5254 0 R (HD.4564) 5255 0 R (HD.4565) 5256 0 R (HD.4566) 5257 0 R (HD.4567) 5258 0 R (HD.4568) 5259 0 R (HD.4569) 5260 0 R (HD.457) 721 0 R (HD.4570) 5261 0 R (HD.4571) 5262 0 R (HD.4572) 5267 0 R (HD.4573) 5268 0 R (HD.4574) 5269 0 R (HD.4575) 5270 0 R (HD.4576) 5271 0 R (HD.4577) 5272 0 R (HD.4578) 5273 0 R (HD.4579) 5274 0 R ] /Limits [ (HD.4550) (HD.4579) ] >>
+endobj
+11840 0 obj
+<< /Names [ (HD.458) 722 0 R (HD.4580) 5275 0 R (HD.4581) 5276 0 R (HD.4582) 5277 0 R (HD.4583) 5278 0 R (HD.4584) 5279 0 R (HD.4585) 5280 0 R (HD.4586) 5281 0 R (HD.4587) 5282 0 R (HD.4588) 5283 0 R (HD.4589) 5284 0 R (HD.459) 723 0 R (HD.4590) 5285 0 R (HD.4591) 5286 0 R (HD.4592) 5287 0 R (HD.4593) 5288 0 R (HD.4594) 5289 0 R (HD.4595) 5290 0 R (HD.4596) 5291 0 R (HD.4597) 5292 0 R (HD.4598) 5293 0 R (HD.4599) 5294 0 R (HD.46) 241 0 R (HD.460) 724 0 R (HD.4600) 5295 0 R (HD.4601) 5296 0 R (HD.4602) 5297 0 R (HD.4603) 5298 0 R (HD.4604) 5299 0 R (HD.4605) 5300 0 R (HD.4606) 5301 0 R (HD.4607) 5302 0 R ] /Limits [ (HD.458) (HD.4607) ] >>
+endobj
+11841 0 obj
+<< /Names [ (HD.4608) 5303 0 R (HD.4609) 5304 0 R (HD.461) 729 0 R (HD.4610) 5305 0 R (HD.4611) 5306 0 R (HD.4612) 5307 0 R (HD.4613) 5308 0 R (HD.4614) 5314 0 R (HD.4615) 5315 0 R (HD.4616) 5316 0 R (HD.4617) 5317 0 R (HD.4618) 5318 0 R (HD.4619) 5319 0 R (HD.462) 730 0 R (HD.4620) 5320 0 R (HD.4621) 5321 0 R (HD.4622) 5322 0 R (HD.4623) 5323 0 R (HD.4624) 5324 0 R (HD.4625) 5325 0 R (HD.4626) 5326 0 R (HD.4627) 5327 0 R (HD.4628) 5328 0 R (HD.4629) 5329 0 R (HD.463) 731 0 R (HD.4630) 5330 0 R (HD.4631) 5331 0 R (HD.4632) 5332 0 R (HD.4633) 5333 0 R (HD.4634) 5334 0 R (HD.4635) 5335 0 R (HD.4636) 5336 0 R ] /Limits [ (HD.4608) (HD.4636) ] >>
+endobj
+11842 0 obj
+<< /Names [ (HD.4637) 5337 0 R (HD.4638) 5338 0 R (HD.4639) 5339 0 R (HD.464) 732 0 R (HD.4640) 5340 0 R (HD.4641) 5341 0 R (HD.4642) 5342 0 R (HD.4643) 5343 0 R (HD.4644) 5344 0 R (HD.4645) 5345 0 R (HD.4646) 5346 0 R (HD.4647) 5347 0 R (HD.4648) 5348 0 R (HD.4649) 5349 0 R (HD.465) 733 0 R (HD.4650) 5350 0 R (HD.4651) 5351 0 R (HD.4652) 5352 0 R (HD.4653) 5353 0 R (HD.4654) 5354 0 R (HD.4655) 5359 0 R (HD.4656) 5360 0 R (HD.4657) 5361 0 R (HD.4658) 5362 0 R (HD.4659) 5363 0 R (HD.466) 734 0 R (HD.4660) 5364 0 R (HD.4661) 5365 0 R (HD.4662) 5366 0 R (HD.4663) 5367 0 R (HD.4664) 5368 0 R (HD.4665) 5369 0 R ] /Limits [ (HD.4637) (HD.4665) ] >>
+endobj
+11843 0 obj
+<< /Names [ (HD.4666) 5370 0 R (HD.4667) 5371 0 R (HD.4668) 5372 0 R (HD.4669) 5373 0 R (HD.467) 735 0 R (HD.4670) 5374 0 R (HD.4671) 5375 0 R (HD.4672) 5376 0 R (HD.4673) 5377 0 R (HD.4674) 5378 0 R (HD.4675) 5379 0 R (HD.4676) 5380 0 R (HD.4677) 5381 0 R (HD.4678) 5382 0 R (HD.4679) 5383 0 R (HD.468) 736 0 R (HD.4680) 5384 0 R (HD.4681) 5385 0 R (HD.4682) 5386 0 R (HD.4683) 5387 0 R (HD.4684) 5388 0 R (HD.4685) 5389 0 R (HD.4686) 5390 0 R (HD.4687) 5391 0 R (HD.4688) 5392 0 R (HD.4689) 5393 0 R (HD.469) 737 0 R (HD.4690) 5394 0 R (HD.4691) 5395 0 R (HD.4692) 5396 0 R (HD.4693) 5397 0 R (HD.4694) 5398 0 R ] /Limits [ (HD.4666) (HD.4694) ] >>
+endobj
+11844 0 obj
+<< /Names [ (HD.4695) 5399 0 R (HD.4696) 5400 0 R (HD.4697) 5401 0 R (HD.4698) 5406 0 R (HD.4699) 5407 0 R (HD.47) 242 0 R (HD.470) 738 0 R (HD.4700) 5408 0 R (HD.4701) 5409 0 R (HD.4702) 5410 0 R (HD.4703) 5411 0 R (HD.4704) 5412 0 R (HD.4705) 5413 0 R (HD.4706) 5414 0 R (HD.4707) 5415 0 R (HD.4708) 5416 0 R (HD.4709) 5417 0 R (HD.471) 739 0 R (HD.4710) 5418 0 R (HD.4711) 5419 0 R (HD.4712) 5420 0 R (HD.4713) 5421 0 R (HD.4714) 5422 0 R (HD.4715) 5423 0 R (HD.4716) 5424 0 R (HD.4717) 5425 0 R (HD.4718) 5426 0 R (HD.4719) 5427 0 R (HD.472) 740 0 R (HD.4720) 5428 0 R (HD.4721) 5429 0 R (HD.4722) 5430 0 R ] /Limits [ (HD.4695) (HD.4722) ] >>
+endobj
+11845 0 obj
+<< /Names [ (HD.4723) 5431 0 R (HD.4724) 5432 0 R (HD.4725) 5433 0 R (HD.4726) 5434 0 R (HD.4727) 5435 0 R (HD.4728) 5436 0 R (HD.4729) 5437 0 R (HD.473) 741 0 R (HD.4730) 5438 0 R (HD.4731) 5439 0 R (HD.4732) 5440 0 R (HD.4733) 5445 0 R (HD.4734) 5446 0 R (HD.4735) 5447 0 R (HD.4736) 5448 0 R (HD.4737) 5449 0 R (HD.4738) 5450 0 R (HD.4739) 5451 0 R (HD.474) 742 0 R (HD.4740) 5452 0 R (HD.4741) 5453 0 R (HD.4742) 5454 0 R (HD.4743) 5455 0 R (HD.4744) 5456 0 R (HD.4745) 5457 0 R (HD.4746) 5458 0 R (HD.4747) 5459 0 R (HD.4748) 5460 0 R (HD.4749) 5461 0 R (HD.475) 743 0 R (HD.4750) 5462 0 R (HD.4751) 5463 0 R ] /Limits [ (HD.4723) (HD.4751) ] >>
+endobj
+11846 0 obj
+<< /Names [ (HD.4752) 5464 0 R (HD.4753) 5465 0 R (HD.4754) 5466 0 R (HD.4755) 5467 0 R (HD.4756) 5468 0 R (HD.4757) 5469 0 R (HD.4758) 5470 0 R (HD.4759) 5471 0 R (HD.476) 744 0 R (HD.4760) 5472 0 R (HD.4761) 5473 0 R (HD.4762) 5474 0 R (HD.4763) 5475 0 R (HD.4764) 5476 0 R (HD.4765) 5477 0 R (HD.4766) 5478 0 R (HD.4767) 5479 0 R (HD.4768) 5480 0 R (HD.4769) 5481 0 R (HD.477) 745 0 R (HD.4770) 5482 0 R (HD.4771) 5483 0 R (HD.4772) 5484 0 R (HD.4773) 5485 0 R (HD.4774) 5486 0 R (HD.4775) 5487 0 R (HD.4776) 5488 0 R (HD.4777) 5489 0 R (HD.4778) 5490 0 R (HD.4779) 5491 0 R (HD.478) 746 0 R (HD.4780) 5496 0 R ] /Limits [ (HD.4752) (HD.4780) ] >>
+endobj
+11847 0 obj
+<< /Names [ (HD.4781) 5497 0 R (HD.4782) 5498 0 R (HD.4783) 5499 0 R (HD.4784) 5500 0 R (HD.4785) 5501 0 R (HD.4786) 5502 0 R (HD.4787) 5503 0 R (HD.4788) 5504 0 R (HD.4789) 5505 0 R (HD.479) 747 0 R (HD.4790) 5506 0 R (HD.4791) 5507 0 R (HD.4792) 5508 0 R (HD.4793) 5509 0 R (HD.4794) 5510 0 R (HD.4795) 5511 0 R (HD.4796) 5512 0 R (HD.4797) 5513 0 R (HD.4798) 5514 0 R (HD.4799) 5515 0 R (HD.48) 243 0 R (HD.480) 748 0 R (HD.4800) 5516 0 R (HD.4801) 5517 0 R (HD.4802) 5518 0 R (HD.4803) 5519 0 R (HD.4804) 5520 0 R (HD.4805) 5521 0 R (HD.4806) 5522 0 R (HD.4807) 5523 0 R (HD.4808) 5524 0 R (HD.4809) 5525 0 R ] /Limits [ (HD.4781) (HD.4809) ] >>
+endobj
+11848 0 obj
+<< /Names [ (HD.481) 750 0 R (HD.4810) 5526 0 R (HD.4811) 5527 0 R (HD.4812) 5528 0 R (HD.4813) 5529 0 R (HD.4814) 5530 0 R (HD.4815) 5531 0 R (HD.4816) 5532 0 R (HD.4817) 5533 0 R (HD.4818) 5534 0 R (HD.4819) 5535 0 R (HD.482) 751 0 R (HD.4820) 5536 0 R (HD.4821) 5537 0 R (HD.4822) 5538 0 R (HD.4823) 5539 0 R (HD.4824) 5540 0 R (HD.4825) 5541 0 R (HD.4826) 5542 0 R (HD.4827) 5543 0 R (HD.4828) 5544 0 R (HD.4829) 5545 0 R (HD.483) 757 0 R (HD.4830) 5546 0 R (HD.4831) 5547 0 R (HD.4832) 5552 0 R (HD.4833) 5553 0 R (HD.4834) 5554 0 R (HD.4835) 5555 0 R (HD.4836) 5556 0 R (HD.4837) 5557 0 R (HD.4838) 5558 0 R ] /Limits [ (HD.481) (HD.4838) ] >>
+endobj
+11849 0 obj
+<< /Names [ (HD.4839) 5559 0 R (HD.484) 758 0 R (HD.4840) 5560 0 R (HD.4841) 5561 0 R (HD.4842) 5562 0 R (HD.4843) 5563 0 R (HD.4844) 5564 0 R (HD.4845) 5565 0 R (HD.4846) 5566 0 R (HD.4847) 5567 0 R (HD.4848) 5568 0 R (HD.4849) 5569 0 R (HD.485) 759 0 R (HD.4850) 5570 0 R (HD.4851) 5571 0 R (HD.4852) 5572 0 R (HD.4853) 5573 0 R (HD.4854) 5574 0 R (HD.4855) 5575 0 R (HD.4856) 5576 0 R (HD.4857) 5577 0 R (HD.4858) 5578 0 R (HD.4859) 5579 0 R (HD.486) 760 0 R (HD.4860) 5580 0 R (HD.4861) 5581 0 R (HD.4862) 5582 0 R (HD.4863) 5583 0 R (HD.4864) 5584 0 R (HD.4865) 5585 0 R (HD.4866) 5586 0 R (HD.4867) 5587 0 R ] /Limits [ (HD.4839) (HD.4867) ] >>
+endobj
+11850 0 obj
+<< /Names [ (HD.4868) 5588 0 R (HD.4869) 5589 0 R (HD.487) 761 0 R (HD.4870) 5590 0 R (HD.4871) 5591 0 R (HD.4872) 5592 0 R (HD.4873) 5593 0 R (HD.4874) 5594 0 R (HD.4875) 5595 0 R (HD.4876) 5596 0 R (HD.4877) 5597 0 R (HD.4878) 5598 0 R (HD.4879) 5599 0 R (HD.488) 762 0 R (HD.4880) 5600 0 R (HD.4881) 5601 0 R (HD.4882) 5602 0 R (HD.4883) 5603 0 R (HD.4884) 5604 0 R (HD.4885) 5605 0 R (HD.4886) 5610 0 R (HD.4887) 5611 0 R (HD.4888) 5612 0 R (HD.4889) 5613 0 R (HD.489) 763 0 R (HD.4890) 5614 0 R (HD.4891) 5615 0 R (HD.4892) 5616 0 R (HD.4893) 5617 0 R (HD.4894) 5618 0 R (HD.4895) 5619 0 R (HD.4896) 5620 0 R ] /Limits [ (HD.4868) (HD.4896) ] >>
+endobj
+11851 0 obj
+<< /Names [ (HD.4897) 5621 0 R (HD.4898) 5622 0 R (HD.4899) 5623 0 R (HD.49) 244 0 R (HD.490) 764 0 R (HD.4900) 5624 0 R (HD.4901) 5625 0 R (HD.4902) 5626 0 R (HD.4903) 5627 0 R (HD.4904) 5628 0 R (HD.4905) 5629 0 R (HD.4906) 5630 0 R (HD.4907) 5631 0 R (HD.4908) 5632 0 R (HD.4909) 5633 0 R (HD.491) 765 0 R (HD.4910) 5634 0 R (HD.4911) 5635 0 R (HD.4912) 5636 0 R (HD.4913) 5637 0 R (HD.4914) 5638 0 R (HD.4915) 5639 0 R (HD.4916) 5640 0 R (HD.4917) 5641 0 R (HD.4918) 5642 0 R (HD.4919) 5643 0 R (HD.492) 766 0 R (HD.4920) 5644 0 R (HD.4921) 5645 0 R (HD.4922) 5646 0 R (HD.4923) 5647 0 R (HD.4924) 5648 0 R ] /Limits [ (HD.4897) (HD.4924) ] >>
+endobj
+11852 0 obj
+<< /Names [ (HD.4925) 5649 0 R (HD.4926) 5650 0 R (HD.4927) 5651 0 R (HD.4928) 5652 0 R (HD.4929) 5653 0 R (HD.493) 776 0 R (HD.4930) 5654 0 R (HD.4931) 5655 0 R (HD.4932) 5656 0 R (HD.4933) 5657 0 R (HD.4934) 5658 0 R (HD.4935) 5659 0 R (HD.4936) 5660 0 R (HD.4937) 5661 0 R (HD.4938) 5662 0 R (HD.4939) 5663 0 R (HD.494) 777 0 R (HD.4940) 5664 0 R (HD.4941) 5665 0 R (HD.4942) 5666 0 R (HD.4943) 5667 0 R (HD.4944) 5668 0 R (HD.4945) 5669 0 R (HD.4946) 5670 0 R (HD.4947) 5671 0 R (HD.4948) 5676 0 R (HD.4949) 5677 0 R (HD.495) 778 0 R (HD.4950) 5678 0 R (HD.4951) 5679 0 R (HD.4952) 5680 0 R (HD.4953) 5681 0 R ] /Limits [ (HD.4925) (HD.4953) ] >>
+endobj
+11853 0 obj
+<< /Names [ (HD.4954) 5682 0 R (HD.4955) 5683 0 R (HD.4956) 5684 0 R (HD.4957) 5685 0 R (HD.4958) 5686 0 R (HD.4959) 5687 0 R (HD.496) 779 0 R (HD.4960) 5688 0 R (HD.4961) 5689 0 R (HD.4962) 5690 0 R (HD.4963) 5691 0 R (HD.4964) 5692 0 R (HD.4965) 5693 0 R (HD.4966) 5694 0 R (HD.4967) 5695 0 R (HD.4968) 5696 0 R (HD.4969) 5697 0 R (HD.497) 780 0 R (HD.4970) 5698 0 R (HD.4971) 5699 0 R (HD.4972) 5700 0 R (HD.4973) 5701 0 R (HD.4974) 5702 0 R (HD.4975) 5703 0 R (HD.4976) 5704 0 R (HD.4977) 5705 0 R (HD.4978) 5706 0 R (HD.4979) 5707 0 R (HD.498) 781 0 R (HD.4980) 5708 0 R (HD.4981) 5709 0 R (HD.4982) 5710 0 R ] /Limits [ (HD.4954) (HD.4982) ] >>
+endobj
+11854 0 obj
+<< /Names [ (HD.4983) 5711 0 R (HD.4984) 5712 0 R (HD.4985) 5713 0 R (HD.4986) 5714 0 R (HD.4987) 5715 0 R (HD.4988) 5716 0 R (HD.4989) 5717 0 R (HD.499) 782 0 R (HD.4990) 5718 0 R (HD.4991) 5719 0 R (HD.4992) 5720 0 R (HD.4993) 5725 0 R (HD.4994) 5726 0 R (HD.4995) 5727 0 R (HD.4996) 5728 0 R (HD.4997) 5729 0 R (HD.4998) 5730 0 R (HD.4999) 5731 0 R (HD.5) 193 0 R (HD.50) 245 0 R (HD.500) 783 0 R (HD.5000) 5732 0 R (HD.5001) 5733 0 R (HD.5002) 5734 0 R (HD.5003) 5735 0 R (HD.5004) 5736 0 R (HD.5005) 5737 0 R (HD.5006) 5738 0 R (HD.5007) 5739 0 R (HD.5008) 5740 0 R (HD.5009) 5741 0 R (HD.501) 784 0 R ] /Limits [ (HD.4983) (HD.501) ] >>
+endobj
+11855 0 obj
+<< /Names [ (HD.5010) 5742 0 R (HD.5011) 5743 0 R (HD.5012) 5744 0 R (HD.5013) 5745 0 R (HD.5014) 5746 0 R (HD.5015) 5747 0 R (HD.5016) 5748 0 R (HD.5017) 5749 0 R (HD.5018) 5750 0 R (HD.5019) 5751 0 R (HD.502) 785 0 R (HD.5020) 5752 0 R (HD.5021) 5753 0 R (HD.5022) 5754 0 R (HD.5023) 5755 0 R (HD.5024) 5756 0 R (HD.5025) 5757 0 R (HD.5026) 5758 0 R (HD.5027) 5759 0 R (HD.5028) 5760 0 R (HD.5029) 5761 0 R (HD.503) 786 0 R (HD.5030) 5762 0 R (HD.5031) 5763 0 R (HD.5032) 5764 0 R (HD.5033) 5765 0 R (HD.5034) 5766 0 R (HD.5035) 5767 0 R (HD.5036) 5768 0 R (HD.5037) 5769 0 R (HD.5038) 5770 0 R (HD.5039) 5771 0 R ] /Limits [ (HD.5010) (HD.5039) ] >>
+endobj
+11856 0 obj
+<< /Names [ (HD.504) 787 0 R (HD.5040) 5772 0 R (HD.5041) 5773 0 R (HD.5042) 5774 0 R (HD.5043) 5775 0 R (HD.5044) 5776 0 R (HD.5045) 5777 0 R (HD.5046) 5778 0 R (HD.5047) 5779 0 R (HD.5048) 5780 0 R (HD.5049) 5781 0 R (HD.505) 788 0 R (HD.5050) 5782 0 R (HD.5051) 5783 0 R (HD.5052) 5784 0 R (HD.5053) 5789 0 R (HD.5054) 5790 0 R (HD.5055) 5791 0 R (HD.5056) 5792 0 R (HD.5057) 5793 0 R (HD.5058) 5794 0 R (HD.5059) 5795 0 R (HD.506) 789 0 R (HD.5060) 5796 0 R (HD.5061) 5797 0 R (HD.5062) 5798 0 R (HD.5063) 5799 0 R (HD.5064) 5800 0 R (HD.5065) 5801 0 R (HD.5066) 5802 0 R (HD.5067) 5803 0 R (HD.5068) 5804 0 R ] /Limits [ (HD.504) (HD.5068) ] >>
+endobj
+11857 0 obj
+<< /Names [ (HD.5069) 5805 0 R (HD.507) 790 0 R (HD.5070) 5806 0 R (HD.5071) 5807 0 R (HD.5072) 5808 0 R (HD.5073) 5809 0 R (HD.5074) 5810 0 R (HD.5075) 5811 0 R (HD.5076) 5812 0 R (HD.5077) 5813 0 R (HD.5078) 5814 0 R (HD.5079) 5815 0 R (HD.508) 791 0 R (HD.5080) 5816 0 R (HD.5081) 5817 0 R (HD.5082) 5818 0 R (HD.5083) 5819 0 R (HD.5084) 5820 0 R (HD.5085) 5821 0 R (HD.5086) 5822 0 R (HD.5087) 5823 0 R (HD.5088) 5824 0 R (HD.5089) 5825 0 R (HD.509) 792 0 R (HD.5090) 5826 0 R (HD.5091) 5827 0 R (HD.5092) 5828 0 R (HD.5093) 5829 0 R (HD.5094) 5830 0 R (HD.5095) 5831 0 R (HD.5096) 5832 0 R (HD.5097) 5833 0 R ] /Limits [ (HD.5069) (HD.5097) ] >>
+endobj
+11858 0 obj
+<< /Names [ (HD.5098) 5834 0 R (HD.5099) 5840 0 R (HD.51) 246 0 R (HD.510) 793 0 R (HD.5100) 5841 0 R (HD.5101) 5842 0 R (HD.5102) 5843 0 R (HD.5103) 5844 0 R (HD.5104) 5845 0 R (HD.5105) 5846 0 R (HD.5106) 5847 0 R (HD.5107) 5848 0 R (HD.5108) 5849 0 R (HD.5109) 5850 0 R (HD.511) 794 0 R (HD.5110) 5851 0 R (HD.5111) 5852 0 R (HD.5112) 5853 0 R (HD.5113) 5854 0 R (HD.5114) 5855 0 R (HD.5115) 5856 0 R (HD.5116) 5857 0 R (HD.5117) 5858 0 R (HD.5118) 5859 0 R (HD.5119) 5860 0 R (HD.512) 795 0 R (HD.5120) 5861 0 R (HD.5121) 5862 0 R (HD.5122) 5863 0 R (HD.5123) 5864 0 R (HD.5124) 5865 0 R (HD.5125) 5866 0 R ] /Limits [ (HD.5098) (HD.5125) ] >>
+endobj
+11859 0 obj
+<< /Names [ (HD.5126) 5867 0 R (HD.5127) 5868 0 R (HD.5128) 5869 0 R (HD.5129) 5870 0 R (HD.513) 796 0 R (HD.5130) 5871 0 R (HD.5131) 5872 0 R (HD.5132) 5873 0 R (HD.5133) 5874 0 R (HD.5134) 5875 0 R (HD.5135) 5876 0 R (HD.5136) 5877 0 R (HD.5137) 5878 0 R (HD.5138) 5879 0 R (HD.5139) 5880 0 R (HD.514) 797 0 R (HD.5140) 5881 0 R (HD.5141) 5882 0 R (HD.5142) 5883 0 R (HD.5143) 5884 0 R (HD.5144) 5885 0 R (HD.5145) 5886 0 R (HD.5146) 5887 0 R (HD.5147) 5888 0 R (HD.5148) 5889 0 R (HD.5149) 5890 0 R (HD.515) 798 0 R (HD.5150) 5891 0 R (HD.5151) 5892 0 R (HD.5152) 5897 0 R (HD.5153) 5898 0 R (HD.5154) 5899 0 R ] /Limits [ (HD.5126) (HD.5154) ] >>
+endobj
+11860 0 obj
+<< /Names [ (HD.5155) 5900 0 R (HD.5156) 5901 0 R (HD.5157) 5902 0 R (HD.5158) 5903 0 R (HD.5159) 5904 0 R (HD.516) 799 0 R (HD.5160) 5905 0 R (HD.5161) 5906 0 R (HD.5162) 5907 0 R (HD.5163) 5908 0 R (HD.5164) 5909 0 R (HD.5165) 5910 0 R (HD.5166) 5911 0 R (HD.5167) 5912 0 R (HD.5168) 5913 0 R (HD.5169) 5914 0 R (HD.517) 800 0 R (HD.5170) 5915 0 R (HD.5171) 5916 0 R (HD.5172) 5917 0 R (HD.5173) 5918 0 R (HD.5174) 5919 0 R (HD.5175) 5920 0 R (HD.5176) 5921 0 R (HD.5177) 5922 0 R (HD.5178) 5923 0 R (HD.5179) 5924 0 R (HD.518) 801 0 R (HD.5180) 5925 0 R (HD.5181) 5926 0 R (HD.5182) 5927 0 R (HD.5183) 5928 0 R ] /Limits [ (HD.5155) (HD.5183) ] >>
+endobj
+11861 0 obj
+<< /Names [ (HD.5184) 5929 0 R (HD.5185) 5930 0 R (HD.5186) 5931 0 R (HD.5187) 5932 0 R (HD.5188) 5933 0 R (HD.5189) 5934 0 R (HD.519) 802 0 R (HD.5190) 5935 0 R (HD.5191) 5936 0 R (HD.5192) 5937 0 R (HD.5193) 5938 0 R (HD.5194) 5939 0 R (HD.5195) 5940 0 R (HD.5196) 5941 0 R (HD.5197) 5942 0 R (HD.5198) 5943 0 R (HD.5199) 5944 0 R (HD.52) 247 0 R (HD.520) 803 0 R (HD.5200) 5945 0 R (HD.5201) 5946 0 R (HD.5202) 5947 0 R (HD.5203) 5948 0 R (HD.5204) 5949 0 R (HD.5205) 5950 0 R (HD.5206) 5951 0 R (HD.5207) 5952 0 R (HD.5208) 5953 0 R (HD.5209) 5958 0 R (HD.521) 804 0 R (HD.5210) 5959 0 R (HD.5211) 5960 0 R ] /Limits [ (HD.5184) (HD.5211) ] >>
+endobj
+11862 0 obj
+<< /Names [ (HD.5212) 5961 0 R (HD.5213) 5962 0 R (HD.5214) 5963 0 R (HD.5215) 5964 0 R (HD.5216) 5965 0 R (HD.5217) 5966 0 R (HD.5218) 5967 0 R (HD.5219) 5968 0 R (HD.522) 805 0 R (HD.5220) 5969 0 R (HD.5221) 5970 0 R (HD.5222) 5971 0 R (HD.5223) 5972 0 R (HD.5224) 5973 0 R (HD.5225) 5974 0 R (HD.5226) 5975 0 R (HD.5227) 5976 0 R (HD.5228) 5977 0 R (HD.5229) 5978 0 R (HD.523) 812 0 R (HD.5230) 5979 0 R (HD.5231) 5980 0 R (HD.5232) 5981 0 R (HD.5233) 5982 0 R (HD.5234) 5983 0 R (HD.5235) 5984 0 R (HD.5236) 5985 0 R (HD.5237) 5986 0 R (HD.5238) 5987 0 R (HD.5239) 5988 0 R (HD.524) 813 0 R (HD.5240) 5989 0 R ] /Limits [ (HD.5212) (HD.5240) ] >>
+endobj
+11863 0 obj
+<< /Names [ (HD.5241) 5990 0 R (HD.5242) 5991 0 R (HD.5243) 5992 0 R (HD.5244) 5993 0 R (HD.5245) 5994 0 R (HD.5246) 5995 0 R (HD.5247) 5996 0 R (HD.5248) 5997 0 R (HD.5249) 5998 0 R (HD.525) 814 0 R (HD.5250) 5999 0 R (HD.5251) 6000 0 R (HD.5252) 6001 0 R (HD.5253) 6002 0 R (HD.5254) 6003 0 R (HD.5255) 6004 0 R (HD.5256) 6005 0 R (HD.5257) 6006 0 R (HD.5258) 6007 0 R (HD.5259) 6008 0 R (HD.526) 815 0 R (HD.5260) 6009 0 R (HD.5261) 6010 0 R (HD.5262) 6011 0 R (HD.5263) 6012 0 R (HD.5264) 6013 0 R (HD.5265) 6014 0 R (HD.5266) 6015 0 R (HD.5267) 6021 0 R (HD.5268) 6022 0 R (HD.5269) 6023 0 R (HD.527) 816 0 R ] /Limits [ (HD.5241) (HD.527) ] >>
+endobj
+11864 0 obj
+<< /Names [ (HD.5270) 6024 0 R (HD.5271) 6025 0 R (HD.5272) 6026 0 R (HD.5273) 6027 0 R (HD.5274) 6028 0 R (HD.5275) 6029 0 R (HD.5276) 6030 0 R (HD.5277) 6031 0 R (HD.5278) 6032 0 R (HD.5279) 6033 0 R (HD.528) 817 0 R (HD.5280) 6034 0 R (HD.5281) 6035 0 R (HD.5282) 6036 0 R (HD.5283) 6037 0 R (HD.5284) 6038 0 R (HD.5285) 6039 0 R (HD.5286) 6040 0 R (HD.5287) 6041 0 R (HD.5288) 6042 0 R (HD.5289) 6043 0 R (HD.529) 818 0 R (HD.5290) 6044 0 R (HD.5291) 6045 0 R (HD.5292) 6046 0 R (HD.5293) 6047 0 R (HD.5294) 6048 0 R (HD.5295) 6049 0 R (HD.5296) 6050 0 R (HD.5297) 6057 0 R (HD.5298) 6058 0 R (HD.5299) 6059 0 R ] /Limits [ (HD.5270) (HD.5299) ] >>
+endobj
+11865 0 obj
+<< /Names [ (HD.53) 248 0 R (HD.530) 819 0 R (HD.5300) 6060 0 R (HD.5301) 6061 0 R (HD.5302) 6062 0 R (HD.5303) 6063 0 R (HD.5304) 6064 0 R (HD.5305) 6065 0 R (HD.5306) 6066 0 R (HD.5307) 6067 0 R (HD.5308) 6068 0 R (HD.5309) 6069 0 R (HD.531) 820 0 R (HD.5310) 6070 0 R (HD.5311) 6071 0 R (HD.5312) 6072 0 R (HD.5313) 6073 0 R (HD.5314) 6074 0 R (HD.5315) 6075 0 R (HD.5316) 6076 0 R (HD.5317) 6077 0 R (HD.5318) 6078 0 R (HD.5319) 6079 0 R (HD.532) 821 0 R (HD.5320) 6080 0 R (HD.5321) 6081 0 R (HD.5322) 6082 0 R (HD.5323) 6083 0 R (HD.5324) 6084 0 R (HD.5325) 6085 0 R (HD.5326) 6086 0 R (HD.5327) 6087 0 R ] /Limits [ (HD.53) (HD.5327) ] >>
+endobj
+11866 0 obj
+<< /Names [ (HD.5328) 6088 0 R (HD.5329) 6089 0 R (HD.533) 822 0 R (HD.5330) 6090 0 R (HD.5331) 6091 0 R (HD.5332) 6092 0 R (HD.5333) 6093 0 R (HD.5334) 6094 0 R (HD.5335) 6095 0 R (HD.5336) 6096 0 R (HD.5337) 6097 0 R (HD.5338) 6098 0 R (HD.5339) 6099 0 R (HD.534) 823 0 R (HD.5340) 6100 0 R (HD.5341) 6101 0 R (HD.5342) 6102 0 R (HD.5343) 6103 0 R (HD.5344) 6104 0 R (HD.5345) 6105 0 R (HD.5346) 6106 0 R (HD.5347) 6111 0 R (HD.5348) 6112 0 R (HD.5349) 6113 0 R (HD.535) 824 0 R (HD.5350) 6114 0 R (HD.5351) 6115 0 R (HD.5352) 6116 0 R (HD.5353) 6117 0 R (HD.5354) 6118 0 R (HD.5355) 6119 0 R (HD.5356) 6120 0 R ] /Limits [ (HD.5328) (HD.5356) ] >>
+endobj
+11867 0 obj
+<< /Names [ (HD.5357) 6121 0 R (HD.5358) 6122 0 R (HD.5359) 6123 0 R (HD.536) 825 0 R (HD.5360) 6124 0 R (HD.5361) 6125 0 R (HD.5362) 6126 0 R (HD.5363) 6127 0 R (HD.5364) 6128 0 R (HD.5365) 6129 0 R (HD.5366) 6130 0 R (HD.5367) 6131 0 R (HD.5368) 6132 0 R (HD.5369) 6133 0 R (HD.537) 832 0 R (HD.5370) 6134 0 R (HD.5371) 6135 0 R (HD.5372) 6136 0 R (HD.5373) 6137 0 R (HD.5374) 6138 0 R (HD.5375) 6139 0 R (HD.5376) 6140 0 R (HD.5377) 6141 0 R (HD.5378) 6142 0 R (HD.5379) 6143 0 R (HD.538) 833 0 R (HD.5380) 6148 0 R (HD.5381) 6149 0 R (HD.5382) 6150 0 R (HD.5383) 6151 0 R (HD.5384) 6152 0 R (HD.5385) 6153 0 R ] /Limits [ (HD.5357) (HD.5385) ] >>
+endobj
+11868 0 obj
+<< /Names [ (HD.5386) 6154 0 R (HD.5387) 6155 0 R (HD.5388) 6156 0 R (HD.5389) 6157 0 R (HD.539) 834 0 R (HD.5390) 6158 0 R (HD.5391) 6159 0 R (HD.5392) 6160 0 R (HD.5393) 6161 0 R (HD.5394) 6162 0 R (HD.5395) 6163 0 R (HD.5396) 6164 0 R (HD.5397) 6165 0 R (HD.5398) 6166 0 R (HD.5399) 6167 0 R (HD.54) 249 0 R (HD.540) 835 0 R (HD.5400) 6168 0 R (HD.5401) 6169 0 R (HD.5402) 6170 0 R (HD.5403) 6171 0 R (HD.5404) 6172 0 R (HD.5405) 6173 0 R (HD.5406) 6174 0 R (HD.5407) 6175 0 R (HD.5408) 6176 0 R (HD.5409) 6177 0 R (HD.541) 836 0 R (HD.5410) 6178 0 R (HD.5411) 6179 0 R (HD.5412) 6180 0 R (HD.5413) 6181 0 R ] /Limits [ (HD.5386) (HD.5413) ] >>
+endobj
+11869 0 obj
+<< /Names [ (HD.5414) 6182 0 R (HD.5415) 6183 0 R (HD.5416) 6184 0 R (HD.5417) 6185 0 R (HD.5418) 6186 0 R (HD.5419) 6187 0 R (HD.542) 837 0 R (HD.5420) 6188 0 R (HD.5421) 6189 0 R (HD.5422) 6190 0 R (HD.5423) 6191 0 R (HD.5424) 6192 0 R (HD.5425) 6193 0 R (HD.5426) 6194 0 R (HD.5427) 6195 0 R (HD.5428) 6200 0 R (HD.5429) 6201 0 R (HD.543) 838 0 R (HD.5430) 6202 0 R (HD.5431) 6203 0 R (HD.5432) 6204 0 R (HD.5433) 6205 0 R (HD.5434) 6206 0 R (HD.5435) 6207 0 R (HD.5436) 6208 0 R (HD.5437) 6209 0 R (HD.5438) 6210 0 R (HD.5439) 6211 0 R (HD.544) 839 0 R (HD.5440) 6212 0 R (HD.5441) 6213 0 R (HD.5442) 6214 0 R ] /Limits [ (HD.5414) (HD.5442) ] >>
+endobj
+11870 0 obj
+<< /Names [ (HD.5443) 6215 0 R (HD.5444) 6216 0 R (HD.5445) 6217 0 R (HD.5446) 6218 0 R (HD.5447) 6219 0 R (HD.5448) 6220 0 R (HD.5449) 6221 0 R (HD.545) 840 0 R (HD.5450) 6222 0 R (HD.5451) 6223 0 R (HD.5452) 6224 0 R (HD.5453) 6225 0 R (HD.5454) 6226 0 R (HD.5455) 6227 0 R (HD.5456) 6228 0 R (HD.5457) 6229 0 R (HD.5458) 6230 0 R (HD.5459) 6231 0 R (HD.546) 841 0 R (HD.5460) 6232 0 R (HD.5461) 6233 0 R (HD.5462) 6234 0 R (HD.5463) 6235 0 R (HD.5464) 6236 0 R (HD.5465) 6237 0 R (HD.5466) 6238 0 R (HD.5467) 6243 0 R (HD.5468) 6244 0 R (HD.5469) 6245 0 R (HD.547) 842 0 R (HD.5470) 6246 0 R (HD.5471) 6247 0 R ] /Limits [ (HD.5443) (HD.5471) ] >>
+endobj
+11871 0 obj
+<< /Names [ (HD.5472) 6248 0 R (HD.5473) 6249 0 R (HD.5474) 6250 0 R (HD.5475) 6251 0 R (HD.5476) 6252 0 R (HD.5477) 6253 0 R (HD.5478) 6254 0 R (HD.5479) 6255 0 R (HD.548) 843 0 R (HD.5480) 6256 0 R (HD.5481) 6257 0 R (HD.5482) 6258 0 R (HD.5483) 6259 0 R (HD.5484) 6260 0 R (HD.5485) 6261 0 R (HD.5486) 6262 0 R (HD.5487) 6263 0 R (HD.5488) 6264 0 R (HD.5489) 6265 0 R (HD.549) 844 0 R (HD.5490) 6266 0 R (HD.5491) 6267 0 R (HD.5492) 6268 0 R (HD.5493) 6269 0 R (HD.5494) 6270 0 R (HD.5495) 6271 0 R (HD.5496) 6272 0 R (HD.5497) 6273 0 R (HD.5498) 6274 0 R (HD.5499) 6279 0 R (HD.55) 250 0 R (HD.550) 845 0 R ] /Limits [ (HD.5472) (HD.550) ] >>
+endobj
+11872 0 obj
+<< /Names [ (HD.5500) 6280 0 R (HD.5501) 6281 0 R (HD.5502) 6282 0 R (HD.5503) 6283 0 R (HD.5504) 6284 0 R (HD.5505) 6285 0 R (HD.5506) 6286 0 R (HD.5507) 6287 0 R (HD.5508) 6288 0 R (HD.5509) 6289 0 R (HD.551) 846 0 R (HD.5510) 6290 0 R (HD.5511) 6291 0 R (HD.5512) 6292 0 R (HD.5513) 6293 0 R (HD.5514) 6294 0 R (HD.5515) 6295 0 R (HD.5516) 6296 0 R (HD.5517) 6297 0 R (HD.5518) 6298 0 R (HD.5519) 6299 0 R (HD.552) 847 0 R (HD.5520) 6300 0 R (HD.5521) 6301 0 R (HD.5522) 6302 0 R (HD.5523) 6303 0 R (HD.5524) 6304 0 R (HD.5525) 6305 0 R (HD.5526) 6306 0 R (HD.5527) 6307 0 R (HD.5528) 6308 0 R (HD.5529) 6309 0 R ] /Limits [ (HD.5500) (HD.5529) ] >>
+endobj
+11873 0 obj
+<< /Names [ (HD.553) 848 0 R (HD.5530) 6310 0 R (HD.5531) 6311 0 R (HD.5532) 6312 0 R (HD.5533) 6313 0 R (HD.5534) 6314 0 R (HD.5535) 6315 0 R (HD.5536) 6316 0 R (HD.5537) 6317 0 R (HD.5538) 6318 0 R (HD.5539) 6319 0 R (HD.554) 849 0 R (HD.5540) 6320 0 R (HD.5541) 6321 0 R (HD.5542) 6322 0 R (HD.5543) 6323 0 R (HD.5544) 6324 0 R (HD.5545) 6325 0 R (HD.5546) 6326 0 R (HD.5547) 6327 0 R (HD.5548) 6328 0 R (HD.5549) 6329 0 R (HD.555) 850 0 R (HD.5550) 6330 0 R (HD.5551) 6331 0 R (HD.5552) 6337 0 R (HD.5553) 6338 0 R (HD.5554) 6339 0 R (HD.5555) 6340 0 R (HD.5556) 6341 0 R (HD.5557) 6342 0 R (HD.5558) 6343 0 R ] /Limits [ (HD.553) (HD.5558) ] >>
+endobj
+11874 0 obj
+<< /Names [ (HD.5559) 6344 0 R (HD.556) 851 0 R (HD.5560) 6345 0 R (HD.5561) 6346 0 R (HD.5562) 6347 0 R (HD.5563) 6348 0 R (HD.5564) 6349 0 R (HD.5565) 6350 0 R (HD.5566) 6351 0 R (HD.5567) 6352 0 R (HD.5568) 6353 0 R (HD.5569) 6354 0 R (HD.557) 852 0 R (HD.5570) 6355 0 R (HD.5571) 6356 0 R (HD.5572) 6357 0 R (HD.5573) 6358 0 R (HD.5574) 6359 0 R (HD.5575) 6360 0 R (HD.5576) 6361 0 R (HD.5577) 6362 0 R (HD.5578) 6363 0 R (HD.5579) 6364 0 R (HD.558) 853 0 R (HD.5580) 6365 0 R (HD.5581) 6366 0 R (HD.5582) 6367 0 R (HD.5583) 6368 0 R (HD.5584) 6369 0 R (HD.5585) 6370 0 R (HD.5586) 6371 0 R (HD.5587) 6372 0 R ] /Limits [ (HD.5559) (HD.5587) ] >>
+endobj
+11875 0 obj
+<< /Names [ (HD.5588) 6373 0 R (HD.5589) 6374 0 R (HD.559) 854 0 R (HD.5590) 6375 0 R (HD.5591) 6376 0 R (HD.5592) 6377 0 R (HD.5593) 6378 0 R (HD.5594) 6379 0 R (HD.5595) 6380 0 R (HD.5596) 6385 0 R (HD.5597) 6386 0 R (HD.5598) 6387 0 R (HD.5599) 6388 0 R (HD.56) 251 0 R (HD.560) 855 0 R (HD.5600) 6389 0 R (HD.5601) 6390 0 R (HD.5602) 6391 0 R (HD.5603) 6392 0 R (HD.5604) 6393 0 R (HD.5605) 6394 0 R (HD.5606) 6395 0 R (HD.5607) 6396 0 R (HD.5608) 6397 0 R (HD.5609) 6398 0 R (HD.561) 856 0 R (HD.5610) 6399 0 R (HD.5611) 6400 0 R (HD.5612) 6401 0 R (HD.5613) 6402 0 R (HD.5614) 6403 0 R (HD.5615) 6404 0 R ] /Limits [ (HD.5588) (HD.5615) ] >>
+endobj
+11876 0 obj
+<< /Names [ (HD.5616) 6405 0 R (HD.5617) 6406 0 R (HD.5618) 6407 0 R (HD.5619) 6408 0 R (HD.562) 857 0 R (HD.5620) 6409 0 R (HD.5621) 6410 0 R (HD.5622) 6411 0 R (HD.5623) 6412 0 R (HD.5624) 6413 0 R (HD.5625) 6414 0 R (HD.5626) 6415 0 R (HD.5627) 6416 0 R (HD.5628) 6417 0 R (HD.5629) 6418 0 R (HD.563) 858 0 R (HD.5630) 6419 0 R (HD.5631) 6420 0 R (HD.5632) 6421 0 R (HD.5633) 6422 0 R (HD.5634) 6423 0 R (HD.5635) 6424 0 R (HD.5636) 6425 0 R (HD.5637) 6426 0 R (HD.5638) 6427 0 R (HD.5639) 6428 0 R (HD.564) 859 0 R (HD.5640) 6429 0 R (HD.5641) 6430 0 R (HD.5642) 6431 0 R (HD.5643) 6432 0 R (HD.5644) 6437 0 R ] /Limits [ (HD.5616) (HD.5644) ] >>
+endobj
+11877 0 obj
+<< /Names [ (HD.5645) 6438 0 R (HD.5646) 6439 0 R (HD.5647) 6440 0 R (HD.5648) 6441 0 R (HD.5649) 6442 0 R (HD.565) 860 0 R (HD.5650) 6443 0 R (HD.5651) 6444 0 R (HD.5652) 6445 0 R (HD.5653) 6446 0 R (HD.5654) 6447 0 R (HD.5655) 6448 0 R (HD.5656) 6449 0 R (HD.5657) 6450 0 R (HD.5658) 6451 0 R (HD.5659) 6452 0 R (HD.566) 861 0 R (HD.5660) 6453 0 R (HD.5661) 6454 0 R (HD.5662) 6455 0 R (HD.5663) 6456 0 R (HD.5664) 6457 0 R (HD.5665) 6458 0 R (HD.5666) 6459 0 R (HD.5667) 6460 0 R (HD.5668) 6461 0 R (HD.5669) 6462 0 R (HD.567) 862 0 R (HD.5670) 6463 0 R (HD.5671) 6464 0 R (HD.5672) 6465 0 R (HD.5673) 6466 0 R ] /Limits [ (HD.5645) (HD.5673) ] >>
+endobj
+11878 0 obj
+<< /Names [ (HD.5674) 6467 0 R (HD.5675) 6468 0 R (HD.5676) 6469 0 R (HD.5677) 6470 0 R (HD.5678) 6471 0 R (HD.5679) 6472 0 R (HD.568) 863 0 R (HD.5680) 6473 0 R (HD.5681) 6474 0 R (HD.5682) 6475 0 R (HD.5683) 6480 0 R (HD.5684) 6481 0 R (HD.5685) 6482 0 R (HD.5686) 6483 0 R (HD.5687) 6484 0 R (HD.5688) 6485 0 R (HD.5689) 6486 0 R (HD.569) 864 0 R (HD.5690) 6487 0 R (HD.5691) 6488 0 R (HD.5692) 6489 0 R (HD.5693) 6490 0 R (HD.5694) 6491 0 R (HD.5695) 6492 0 R (HD.5696) 6493 0 R (HD.5697) 6494 0 R (HD.5698) 6495 0 R (HD.5699) 6496 0 R (HD.57) 252 0 R (HD.570) 865 0 R (HD.5700) 6497 0 R (HD.5701) 6498 0 R ] /Limits [ (HD.5674) (HD.5701) ] >>
+endobj
+11879 0 obj
+<< /Names [ (HD.5702) 6499 0 R (HD.5703) 6500 0 R (HD.5704) 6501 0 R (HD.5705) 6502 0 R (HD.5706) 6503 0 R (HD.5707) 6504 0 R (HD.5708) 6505 0 R (HD.5709) 6506 0 R (HD.571) 866 0 R (HD.5710) 6507 0 R (HD.5711) 6508 0 R (HD.5712) 6509 0 R (HD.5713) 6510 0 R (HD.5714) 6511 0 R (HD.5715) 6512 0 R (HD.5716) 6513 0 R (HD.5717) 6514 0 R (HD.5718) 6515 0 R (HD.5719) 6516 0 R (HD.572) 867 0 R (HD.5720) 6517 0 R (HD.5721) 6518 0 R (HD.5722) 6519 0 R (HD.5723) 6520 0 R (HD.5724) 6521 0 R (HD.5725) 6522 0 R (HD.5726) 6523 0 R (HD.5727) 6524 0 R (HD.5728) 6525 0 R (HD.5729) 6526 0 R (HD.573) 868 0 R (HD.5730) 6527 0 R ] /Limits [ (HD.5702) (HD.5730) ] >>
+endobj
+11880 0 obj
+<< /Names [ (HD.5731) 6532 0 R (HD.5732) 6533 0 R (HD.5733) 6534 0 R (HD.5734) 6535 0 R (HD.5735) 6536 0 R (HD.5736) 6537 0 R (HD.5737) 6538 0 R (HD.5738) 6539 0 R (HD.5739) 6540 0 R (HD.574) 869 0 R (HD.5740) 6541 0 R (HD.5741) 6542 0 R (HD.5742) 6543 0 R (HD.5743) 6544 0 R (HD.5744) 6545 0 R (HD.5745) 6546 0 R (HD.5746) 6547 0 R (HD.5747) 6548 0 R (HD.5748) 6549 0 R (HD.5749) 6550 0 R (HD.575) 870 0 R (HD.5750) 6551 0 R (HD.5751) 6552 0 R (HD.5752) 6553 0 R (HD.5753) 6554 0 R (HD.5754) 6555 0 R (HD.5755) 6556 0 R (HD.5756) 6557 0 R (HD.5757) 6558 0 R (HD.5758) 6559 0 R (HD.5759) 6560 0 R (HD.576) 876 0 R ] /Limits [ (HD.5731) (HD.576) ] >>
+endobj
+11881 0 obj
+<< /Names [ (HD.5760) 6561 0 R (HD.5761) 6562 0 R (HD.5762) 6563 0 R (HD.5763) 6564 0 R (HD.5764) 6565 0 R (HD.5765) 6566 0 R (HD.5766) 6567 0 R (HD.5767) 6568 0 R (HD.5768) 6569 0 R (HD.5769) 6570 0 R (HD.577) 877 0 R (HD.5770) 6571 0 R (HD.5771) 6572 0 R (HD.5772) 6573 0 R (HD.5773) 6574 0 R (HD.5774) 6579 0 R (HD.5775) 6580 0 R (HD.5776) 6581 0 R (HD.5777) 6582 0 R (HD.5778) 6583 0 R (HD.5779) 6584 0 R (HD.578) 878 0 R (HD.5780) 6585 0 R (HD.5781) 6586 0 R (HD.5782) 6587 0 R (HD.5783) 6588 0 R (HD.5784) 6589 0 R (HD.5785) 6590 0 R (HD.5786) 6591 0 R (HD.5787) 6592 0 R (HD.5788) 6593 0 R (HD.5789) 6594 0 R ] /Limits [ (HD.5760) (HD.5789) ] >>
+endobj
+11882 0 obj
+<< /Names [ (HD.579) 879 0 R (HD.5790) 6595 0 R (HD.5791) 6596 0 R (HD.5792) 6597 0 R (HD.5793) 6598 0 R (HD.5794) 6599 0 R (HD.5795) 6600 0 R (HD.5796) 6601 0 R (HD.5797) 6602 0 R (HD.5798) 6603 0 R (HD.5799) 6604 0 R (HD.58) 253 0 R (HD.580) 880 0 R (HD.5800) 6605 0 R (HD.5801) 6606 0 R (HD.5802) 6607 0 R (HD.5803) 6608 0 R (HD.5804) 6609 0 R (HD.5805) 6610 0 R (HD.5806) 6611 0 R (HD.5807) 6612 0 R (HD.5808) 6613 0 R (HD.5809) 6614 0 R (HD.581) 881 0 R (HD.5810) 6615 0 R (HD.5811) 6616 0 R (HD.5812) 6617 0 R (HD.5813) 6618 0 R (HD.5814) 6619 0 R (HD.5815) 6620 0 R (HD.5816) 6621 0 R (HD.5817) 6622 0 R ] /Limits [ (HD.579) (HD.5817) ] >>
+endobj
+11883 0 obj
+<< /Names [ (HD.5818) 6623 0 R (HD.5819) 6624 0 R (HD.582) 882 0 R (HD.5820) 6625 0 R (HD.5821) 6626 0 R (HD.5822) 6627 0 R (HD.5823) 6628 0 R (HD.5824) 6629 0 R (HD.5825) 6630 0 R (HD.5826) 6631 0 R (HD.5827) 6632 0 R (HD.5828) 6633 0 R (HD.5829) 6634 0 R (HD.583) 883 0 R (HD.5830) 6635 0 R (HD.5831) 6636 0 R (HD.5832) 6641 0 R (HD.5833) 6642 0 R (HD.5834) 6643 0 R (HD.5835) 6644 0 R (HD.5836) 6645 0 R (HD.5837) 6646 0 R (HD.5838) 6647 0 R (HD.5839) 6648 0 R (HD.584) 884 0 R (HD.5840) 6649 0 R (HD.5841) 6650 0 R (HD.5842) 6651 0 R (HD.5843) 6652 0 R (HD.5844) 6653 0 R (HD.5845) 6654 0 R (HD.5846) 6655 0 R ] /Limits [ (HD.5818) (HD.5846) ] >>
+endobj
+11884 0 obj
+<< /Names [ (HD.5847) 6656 0 R (HD.5848) 6657 0 R (HD.5849) 6658 0 R (HD.585) 885 0 R (HD.5850) 6659 0 R (HD.5851) 6660 0 R (HD.5852) 6661 0 R (HD.5853) 6662 0 R (HD.5854) 6663 0 R (HD.5855) 6664 0 R (HD.5856) 6665 0 R (HD.5857) 6666 0 R (HD.5858) 6667 0 R (HD.5859) 6668 0 R (HD.586) 886 0 R (HD.5860) 6669 0 R (HD.5861) 6670 0 R (HD.5862) 6671 0 R (HD.5863) 6672 0 R (HD.5864) 6673 0 R (HD.5865) 6674 0 R (HD.5866) 6675 0 R (HD.5867) 6676 0 R (HD.5868) 6677 0 R (HD.5869) 6678 0 R (HD.587) 887 0 R (HD.5870) 6679 0 R (HD.5871) 6680 0 R (HD.5872) 6681 0 R (HD.5873) 6682 0 R (HD.5874) 6683 0 R (HD.5875) 6684 0 R ] /Limits [ (HD.5847) (HD.5875) ] >>
+endobj
+11885 0 obj
+<< /Names [ (HD.5876) 6685 0 R (HD.5877) 6686 0 R (HD.5878) 6691 0 R (HD.5879) 6692 0 R (HD.588) 888 0 R (HD.5880) 6693 0 R (HD.5881) 6694 0 R (HD.5882) 6695 0 R (HD.5883) 6696 0 R (HD.5884) 6697 0 R (HD.5885) 6698 0 R (HD.5886) 6699 0 R (HD.5887) 6700 0 R (HD.5888) 6701 0 R (HD.5889) 6702 0 R (HD.589) 889 0 R (HD.5890) 6703 0 R (HD.5891) 6704 0 R (HD.5892) 6705 0 R (HD.5893) 6706 0 R (HD.5894) 6707 0 R (HD.5895) 6708 0 R (HD.5896) 6709 0 R (HD.5897) 6710 0 R (HD.5898) 6711 0 R (HD.5899) 6712 0 R (HD.59) 258 0 R (HD.590) 890 0 R (HD.5900) 6713 0 R (HD.5901) 6714 0 R (HD.5902) 6715 0 R (HD.5903) 6716 0 R ] /Limits [ (HD.5876) (HD.5903) ] >>
+endobj
+11886 0 obj
+<< /Names [ (HD.5904) 6717 0 R (HD.5905) 6718 0 R (HD.5906) 6719 0 R (HD.5907) 6720 0 R (HD.5908) 6721 0 R (HD.5909) 6722 0 R (HD.591) 891 0 R (HD.5910) 6723 0 R (HD.5911) 6724 0 R (HD.5912) 6725 0 R (HD.5913) 6726 0 R (HD.5914) 6727 0 R (HD.5915) 6728 0 R (HD.5916) 6729 0 R (HD.5917) 6730 0 R (HD.5918) 6731 0 R (HD.5919) 6732 0 R (HD.592) 892 0 R (HD.5920) 6733 0 R (HD.5921) 6734 0 R (HD.5922) 6735 0 R (HD.5923) 6736 0 R (HD.5924) 6737 0 R (HD.5925) 6742 0 R (HD.5926) 6743 0 R (HD.5927) 6744 0 R (HD.5928) 6745 0 R (HD.5929) 6746 0 R (HD.593) 893 0 R (HD.5930) 6747 0 R (HD.5931) 6748 0 R (HD.5932) 6749 0 R ] /Limits [ (HD.5904) (HD.5932) ] >>
+endobj
+11887 0 obj
+<< /Names [ (HD.5933) 6750 0 R (HD.5934) 6751 0 R (HD.5935) 6752 0 R (HD.5936) 6753 0 R (HD.5937) 6754 0 R (HD.5938) 6755 0 R (HD.5939) 6756 0 R (HD.594) 894 0 R (HD.5940) 6757 0 R (HD.5941) 6758 0 R (HD.5942) 6759 0 R (HD.5943) 6760 0 R (HD.5944) 6761 0 R (HD.5945) 6762 0 R (HD.5946) 6763 0 R (HD.5947) 6764 0 R (HD.5948) 6765 0 R (HD.5949) 6766 0 R (HD.595) 895 0 R (HD.5950) 6767 0 R (HD.5951) 6768 0 R (HD.5952) 6769 0 R (HD.5953) 6770 0 R (HD.5954) 6771 0 R (HD.5955) 6772 0 R (HD.5956) 6773 0 R (HD.5957) 6774 0 R (HD.5958) 6775 0 R (HD.5959) 6776 0 R (HD.596) 896 0 R (HD.5960) 6781 0 R (HD.5961) 6782 0 R ] /Limits [ (HD.5933) (HD.5961) ] >>
+endobj
+11888 0 obj
+<< /Names [ (HD.5962) 6783 0 R (HD.5963) 6784 0 R (HD.5964) 6785 0 R (HD.5965) 6786 0 R (HD.5966) 6787 0 R (HD.5967) 6788 0 R (HD.5968) 6789 0 R (HD.5969) 6790 0 R (HD.597) 897 0 R (HD.5970) 6791 0 R (HD.5971) 6792 0 R (HD.5972) 6793 0 R (HD.5973) 6794 0 R (HD.5974) 6795 0 R (HD.5975) 6796 0 R (HD.5976) 6797 0 R (HD.5977) 6798 0 R (HD.5978) 6799 0 R (HD.5979) 6800 0 R (HD.598) 898 0 R (HD.5980) 6801 0 R (HD.5981) 6802 0 R (HD.5982) 6803 0 R (HD.5983) 6804 0 R (HD.5984) 6805 0 R (HD.5985) 6806 0 R (HD.5986) 6807 0 R (HD.5987) 6808 0 R (HD.5988) 6809 0 R (HD.5989) 6810 0 R (HD.599) 899 0 R (HD.5990) 6811 0 R ] /Limits [ (HD.5962) (HD.5990) ] >>
+endobj
+11889 0 obj
+<< /Names [ (HD.5991) 6812 0 R (HD.5992) 6813 0 R (HD.5993) 6814 0 R (HD.5994) 6815 0 R (HD.5995) 6816 0 R (HD.5996) 6817 0 R (HD.5997) 6818 0 R (HD.5998) 6819 0 R (HD.5999) 6825 0 R (HD.6) 194 0 R (HD.60) 259 0 R (HD.600) 900 0 R (HD.6000) 6826 0 R (HD.6001) 6827 0 R (HD.6002) 6828 0 R (HD.6003) 6829 0 R (HD.6004) 6830 0 R (HD.6005) 6831 0 R (HD.6006) 6832 0 R (HD.6007) 6833 0 R (HD.6008) 6834 0 R (HD.6009) 6835 0 R (HD.601) 901 0 R (HD.6010) 6836 0 R (HD.6011) 6837 0 R (HD.6012) 6838 0 R (HD.6013) 6839 0 R (HD.6014) 6840 0 R (HD.6015) 6841 0 R (HD.6016) 6842 0 R (HD.6017) 6843 0 R (HD.6018) 6844 0 R ] /Limits [ (HD.5991) (HD.6018) ] >>
+endobj
+11890 0 obj
+<< /Names [ (HD.6019) 6845 0 R (HD.602) 902 0 R (HD.6020) 6846 0 R (HD.6021) 6847 0 R (HD.6022) 6848 0 R (HD.6023) 6849 0 R (HD.6024) 6850 0 R (HD.6025) 6851 0 R (HD.6026) 6852 0 R (HD.6027) 6853 0 R (HD.6028) 6854 0 R (HD.6029) 6859 0 R (HD.603) 903 0 R (HD.6030) 6860 0 R (HD.6031) 6861 0 R (HD.6032) 6862 0 R (HD.6033) 6863 0 R (HD.6034) 6864 0 R (HD.6035) 6865 0 R (HD.6036) 6866 0 R (HD.6037) 6867 0 R (HD.6038) 6868 0 R (HD.6039) 6869 0 R (HD.604) 904 0 R (HD.6040) 6870 0 R (HD.6041) 6871 0 R (HD.6042) 6872 0 R (HD.6043) 6873 0 R (HD.6044) 6874 0 R (HD.6045) 6875 0 R (HD.6046) 6876 0 R (HD.6047) 6877 0 R ] /Limits [ (HD.6019) (HD.6047) ] >>
+endobj
+11891 0 obj
+<< /Names [ (HD.6048) 6878 0 R (HD.6049) 6879 0 R (HD.605) 905 0 R (HD.6050) 6880 0 R (HD.6051) 6881 0 R (HD.6052) 6882 0 R (HD.6053) 6883 0 R (HD.6054) 6884 0 R (HD.6055) 6885 0 R (HD.6056) 6886 0 R (HD.6057) 6887 0 R (HD.6058) 6888 0 R (HD.6059) 6889 0 R (HD.606) 906 0 R (HD.6060) 6890 0 R (HD.6061) 6891 0 R (HD.6062) 6892 0 R (HD.6063) 6893 0 R (HD.6064) 6894 0 R (HD.6065) 6895 0 R (HD.6066) 6896 0 R (HD.6067) 6897 0 R (HD.6068) 6902 0 R (HD.6069) 6903 0 R (HD.607) 907 0 R (HD.6070) 6904 0 R (HD.6071) 6905 0 R (HD.6072) 6906 0 R (HD.6073) 6907 0 R (HD.6074) 6908 0 R (HD.6075) 6909 0 R (HD.6076) 6910 0 R ] /Limits [ (HD.6048) (HD.6076) ] >>
+endobj
+11892 0 obj
+<< /Names [ (HD.6077) 6911 0 R (HD.6078) 6912 0 R (HD.6079) 6913 0 R (HD.608) 908 0 R (HD.6080) 6914 0 R (HD.6081) 6915 0 R (HD.6082) 6916 0 R (HD.6083) 6917 0 R (HD.6084) 6918 0 R (HD.6085) 6919 0 R (HD.6086) 6920 0 R (HD.6087) 6921 0 R (HD.6088) 6922 0 R (HD.6089) 6923 0 R (HD.609) 909 0 R (HD.6090) 6924 0 R (HD.6091) 6925 0 R (HD.6092) 6926 0 R (HD.6093) 6927 0 R (HD.6094) 6928 0 R (HD.6095) 6929 0 R (HD.6096) 6930 0 R (HD.6097) 6931 0 R (HD.6098) 6932 0 R (HD.6099) 6933 0 R (HD.61) 260 0 R (HD.610) 910 0 R (HD.6100) 6934 0 R (HD.6101) 6935 0 R (HD.6102) 6936 0 R (HD.6103) 6937 0 R (HD.6104) 6938 0 R ] /Limits [ (HD.6077) (HD.6104) ] >>
+endobj
+11893 0 obj
+<< /Names [ (HD.6105) 6939 0 R (HD.6106) 6940 0 R (HD.6107) 6941 0 R (HD.6108) 6942 0 R (HD.6109) 6943 0 R (HD.611) 911 0 R (HD.6110) 6944 0 R (HD.6111) 6945 0 R (HD.6112) 6946 0 R (HD.6113) 6947 0 R (HD.6114) 6948 0 R (HD.6115) 6949 0 R (HD.6116) 6950 0 R (HD.6117) 6951 0 R (HD.6118) 6952 0 R (HD.6119) 6957 0 R (HD.612) 912 0 R (HD.6120) 6958 0 R (HD.6121) 6959 0 R (HD.6122) 6960 0 R (HD.6123) 6961 0 R (HD.6124) 6962 0 R (HD.6125) 6963 0 R (HD.6126) 6964 0 R (HD.6127) 6965 0 R (HD.6128) 6966 0 R (HD.6129) 6967 0 R (HD.613) 913 0 R (HD.6130) 6968 0 R (HD.6131) 6969 0 R (HD.6132) 6970 0 R (HD.6133) 6971 0 R ] /Limits [ (HD.6105) (HD.6133) ] >>
+endobj
+11894 0 obj
+<< /Names [ (HD.6134) 6972 0 R (HD.6135) 6973 0 R (HD.6136) 6974 0 R (HD.6137) 6975 0 R (HD.6138) 6976 0 R (HD.6139) 6977 0 R (HD.614) 914 0 R (HD.6140) 6978 0 R (HD.6141) 6979 0 R (HD.6142) 6980 0 R (HD.6143) 6981 0 R (HD.6144) 6982 0 R (HD.6145) 6983 0 R (HD.6146) 6984 0 R (HD.6147) 6985 0 R (HD.6148) 6986 0 R (HD.6149) 6987 0 R (HD.615) 915 0 R (HD.6150) 6988 0 R (HD.6151) 6989 0 R (HD.6152) 6990 0 R (HD.6153) 6991 0 R (HD.6154) 6992 0 R (HD.6155) 6993 0 R (HD.6156) 6994 0 R (HD.6157) 6995 0 R (HD.6158) 6996 0 R (HD.6159) 6997 0 R (HD.616) 916 0 R (HD.6160) 6998 0 R (HD.6161) 6999 0 R (HD.6162) 7000 0 R ] /Limits [ (HD.6134) (HD.6162) ] >>
+endobj
+11895 0 obj
+<< /Names [ (HD.6163) 7001 0 R (HD.6164) 7002 0 R (HD.6165) 7003 0 R (HD.6166) 7004 0 R (HD.6167) 7005 0 R (HD.6168) 7006 0 R (HD.6169) 7007 0 R (HD.617) 917 0 R (HD.6170) 7008 0 R (HD.6171) 7009 0 R (HD.6172) 7010 0 R (HD.6173) 7011 0 R (HD.6174) 7012 0 R (HD.6175) 7013 0 R (HD.6176) 7014 0 R (HD.6177) 7015 0 R (HD.6178) 7020 0 R (HD.6179) 7021 0 R (HD.618) 918 0 R (HD.6180) 7022 0 R (HD.6181) 7023 0 R (HD.6182) 7024 0 R (HD.6183) 7025 0 R (HD.6184) 7026 0 R (HD.6185) 7027 0 R (HD.6186) 7028 0 R (HD.6187) 7029 0 R (HD.6188) 7030 0 R (HD.6189) 7031 0 R (HD.619) 919 0 R (HD.6190) 7032 0 R (HD.6191) 7033 0 R ] /Limits [ (HD.6163) (HD.6191) ] >>
+endobj
+11896 0 obj
+<< /Names [ (HD.6192) 7034 0 R (HD.6193) 7035 0 R (HD.6194) 7036 0 R (HD.6195) 7037 0 R (HD.6196) 7038 0 R (HD.6197) 7039 0 R (HD.6198) 7040 0 R (HD.6199) 7041 0 R (HD.62) 261 0 R (HD.620) 924 0 R (HD.6200) 7042 0 R (HD.6201) 7043 0 R (HD.6202) 7044 0 R (HD.6203) 7045 0 R (HD.6204) 7046 0 R (HD.6205) 7047 0 R (HD.6206) 7048 0 R (HD.6207) 7049 0 R (HD.6208) 7050 0 R (HD.6209) 7051 0 R (HD.621) 925 0 R (HD.6210) 7052 0 R (HD.6211) 7053 0 R (HD.6212) 7054 0 R (HD.6213) 7055 0 R (HD.6214) 7056 0 R (HD.6215) 7057 0 R (HD.6216) 7058 0 R (HD.6217) 7059 0 R (HD.6218) 7060 0 R (HD.6219) 7061 0 R (HD.622) 926 0 R ] /Limits [ (HD.6192) (HD.622) ] >>
+endobj
+11897 0 obj
+<< /Names [ (HD.6220) 7062 0 R (HD.6221) 7063 0 R (HD.6222) 7064 0 R (HD.6223) 7065 0 R (HD.6224) 7066 0 R (HD.6225) 7067 0 R (HD.6226) 7068 0 R (HD.6227) 7069 0 R (HD.6228) 7070 0 R (HD.6229) 7071 0 R (HD.623) 927 0 R (HD.6230) 7076 0 R (HD.6231) 7077 0 R (HD.6232) 7078 0 R (HD.6233) 7079 0 R (HD.6234) 7080 0 R (HD.6235) 7081 0 R (HD.6236) 7082 0 R (HD.6237) 7083 0 R (HD.6238) 7084 0 R (HD.6239) 7085 0 R (HD.624) 928 0 R (HD.6240) 7086 0 R (HD.6241) 7087 0 R (HD.6242) 7088 0 R (HD.6243) 7089 0 R (HD.6244) 7090 0 R (HD.6245) 7091 0 R (HD.6246) 7092 0 R (HD.6247) 7093 0 R (HD.6248) 7094 0 R (HD.6249) 7095 0 R ] /Limits [ (HD.6220) (HD.6249) ] >>
+endobj
+11898 0 obj
+<< /Names [ (HD.625) 929 0 R (HD.6250) 7096 0 R (HD.6251) 7097 0 R (HD.6252) 7098 0 R (HD.6253) 7099 0 R (HD.6254) 7100 0 R (HD.6255) 7101 0 R (HD.6256) 7102 0 R (HD.6257) 7103 0 R (HD.6258) 7104 0 R (HD.6259) 7105 0 R (HD.626) 930 0 R (HD.6260) 7106 0 R (HD.6261) 7107 0 R (HD.6262) 7108 0 R (HD.6263) 7109 0 R (HD.6264) 7110 0 R (HD.6265) 7111 0 R (HD.6266) 7112 0 R (HD.6267) 7113 0 R (HD.6268) 7114 0 R (HD.6269) 7115 0 R (HD.627) 931 0 R (HD.6270) 7116 0 R (HD.6271) 7117 0 R (HD.6272) 7118 0 R (HD.6273) 7123 0 R (HD.6274) 7124 0 R (HD.6275) 7125 0 R (HD.6276) 7126 0 R (HD.6277) 7127 0 R (HD.6278) 7128 0 R ] /Limits [ (HD.625) (HD.6278) ] >>
+endobj
+11899 0 obj
+<< /Names [ (HD.6279) 7129 0 R (HD.628) 932 0 R (HD.6280) 7130 0 R (HD.6281) 7131 0 R (HD.6282) 7132 0 R (HD.6283) 7133 0 R (HD.6284) 7134 0 R (HD.6285) 7135 0 R (HD.6286) 7136 0 R (HD.6287) 7137 0 R (HD.6288) 7138 0 R (HD.6289) 7139 0 R (HD.629) 933 0 R (HD.6290) 7140 0 R (HD.6291) 7141 0 R (HD.6292) 7142 0 R (HD.6293) 7143 0 R (HD.6294) 7144 0 R (HD.6295) 7145 0 R (HD.6296) 7146 0 R (HD.6297) 7147 0 R (HD.6298) 7148 0 R (HD.6299) 7149 0 R (HD.63) 262 0 R (HD.630) 934 0 R (HD.6300) 7150 0 R (HD.6301) 7151 0 R (HD.6302) 7152 0 R (HD.6303) 7153 0 R (HD.6304) 7154 0 R (HD.6305) 7155 0 R (HD.6306) 7156 0 R ] /Limits [ (HD.6279) (HD.6306) ] >>
+endobj
+11900 0 obj
+<< /Names [ (HD.6307) 7157 0 R (HD.6308) 7158 0 R (HD.6309) 7159 0 R (HD.631) 935 0 R (HD.6310) 7160 0 R (HD.6311) 7161 0 R (HD.6312) 7162 0 R (HD.6313) 7163 0 R (HD.6314) 7164 0 R (HD.6315) 7165 0 R (HD.6316) 7166 0 R (HD.6317) 7167 0 R (HD.6318) 7168 0 R (HD.6319) 7169 0 R (HD.632) 936 0 R (HD.6320) 7170 0 R (HD.6321) 7171 0 R (HD.6322) 7172 0 R (HD.6323) 7173 0 R (HD.6324) 7174 0 R (HD.6325) 7175 0 R (HD.6326) 7176 0 R (HD.6327) 7177 0 R (HD.6328) 7182 0 R (HD.6329) 7183 0 R (HD.633) 937 0 R (HD.6330) 7184 0 R (HD.6331) 7185 0 R (HD.6332) 7186 0 R (HD.6333) 7187 0 R (HD.6334) 7188 0 R (HD.6335) 7189 0 R ] /Limits [ (HD.6307) (HD.6335) ] >>
+endobj
+11901 0 obj
+<< /Names [ (HD.6336) 7190 0 R (HD.6337) 7191 0 R (HD.6338) 7192 0 R (HD.6339) 7193 0 R (HD.634) 938 0 R (HD.6340) 7194 0 R (HD.6341) 7195 0 R (HD.6342) 7196 0 R (HD.6343) 7197 0 R (HD.6344) 7198 0 R (HD.6345) 7199 0 R (HD.6346) 7200 0 R (HD.6347) 7201 0 R (HD.6348) 7202 0 R (HD.6349) 7203 0 R (HD.635) 939 0 R (HD.6350) 7204 0 R (HD.6351) 7205 0 R (HD.6352) 7206 0 R (HD.6353) 7207 0 R (HD.6354) 7208 0 R (HD.6355) 7209 0 R (HD.6356) 7210 0 R (HD.6357) 7211 0 R (HD.6358) 7212 0 R (HD.6359) 7213 0 R (HD.636) 940 0 R (HD.6360) 7214 0 R (HD.6361) 7215 0 R (HD.6362) 7216 0 R (HD.6363) 7217 0 R (HD.6364) 7218 0 R ] /Limits [ (HD.6336) (HD.6364) ] >>
+endobj
+11902 0 obj
+<< /Names [ (HD.6365) 7219 0 R (HD.6366) 7220 0 R (HD.6367) 7221 0 R (HD.6368) 7222 0 R (HD.6369) 7223 0 R (HD.637) 941 0 R (HD.6370) 7224 0 R (HD.6371) 7225 0 R (HD.6372) 7226 0 R (HD.6373) 7227 0 R (HD.6374) 7228 0 R (HD.6375) 7229 0 R (HD.6376) 7230 0 R (HD.6377) 7231 0 R (HD.6378) 7232 0 R (HD.6379) 7233 0 R (HD.638) 942 0 R (HD.6380) 7238 0 R (HD.6381) 7239 0 R (HD.6382) 7240 0 R (HD.6383) 7241 0 R (HD.6384) 7242 0 R (HD.6385) 7243 0 R (HD.6386) 7244 0 R (HD.6387) 7245 0 R (HD.6388) 7246 0 R (HD.6389) 7247 0 R (HD.639) 943 0 R (HD.6390) 7248 0 R (HD.6391) 7249 0 R (HD.6392) 7250 0 R (HD.6393) 7251 0 R ] /Limits [ (HD.6365) (HD.6393) ] >>
+endobj
+11903 0 obj
+<< /Names [ (HD.6394) 7252 0 R (HD.6395) 7253 0 R (HD.6396) 7254 0 R (HD.6397) 7255 0 R (HD.6398) 7256 0 R (HD.6399) 7257 0 R (HD.64) 263 0 R (HD.640) 944 0 R (HD.6400) 7258 0 R (HD.6401) 7259 0 R (HD.6402) 7260 0 R (HD.6403) 7261 0 R (HD.6404) 7262 0 R (HD.6405) 7263 0 R (HD.6406) 7264 0 R (HD.6407) 7265 0 R (HD.6408) 7266 0 R (HD.6409) 7267 0 R (HD.641) 945 0 R (HD.6410) 7268 0 R (HD.6411) 7269 0 R (HD.6412) 7270 0 R (HD.6413) 7271 0 R (HD.6414) 7272 0 R (HD.6415) 7273 0 R (HD.6416) 7274 0 R (HD.6417) 7275 0 R (HD.6418) 7276 0 R (HD.6419) 7277 0 R (HD.642) 946 0 R (HD.6420) 7278 0 R (HD.6421) 7279 0 R ] /Limits [ (HD.6394) (HD.6421) ] >>
+endobj
+11904 0 obj
+<< /Names [ (HD.6422) 7280 0 R (HD.6423) 7281 0 R (HD.6424) 7282 0 R (HD.6425) 7283 0 R (HD.6426) 7288 0 R (HD.6427) 7289 0 R (HD.6428) 7290 0 R (HD.6429) 7291 0 R (HD.643) 947 0 R (HD.6430) 7292 0 R (HD.6431) 7293 0 R (HD.6432) 7294 0 R (HD.6433) 7295 0 R (HD.6434) 7296 0 R (HD.6435) 7297 0 R (HD.6436) 7298 0 R (HD.6437) 7299 0 R (HD.6438) 7300 0 R (HD.6439) 7301 0 R (HD.644) 948 0 R (HD.6440) 7302 0 R (HD.6441) 7303 0 R (HD.6442) 7304 0 R (HD.6443) 7305 0 R (HD.6444) 7306 0 R (HD.6445) 7307 0 R (HD.6446) 7308 0 R (HD.6447) 7309 0 R (HD.6448) 7310 0 R (HD.6449) 7311 0 R (HD.645) 949 0 R (HD.6450) 7312 0 R ] /Limits [ (HD.6422) (HD.6450) ] >>
+endobj
+11905 0 obj
+<< /Names [ (HD.6451) 7313 0 R (HD.6452) 7314 0 R (HD.6453) 7315 0 R (HD.6454) 7316 0 R (HD.6455) 7317 0 R (HD.6456) 7318 0 R (HD.6457) 7319 0 R (HD.6458) 7320 0 R (HD.6459) 7321 0 R (HD.646) 950 0 R (HD.6460) 7322 0 R (HD.6461) 7323 0 R (HD.6462) 7324 0 R (HD.6463) 7325 0 R (HD.6464) 7326 0 R (HD.6465) 7327 0 R (HD.6466) 7328 0 R (HD.6467) 7329 0 R (HD.6468) 7330 0 R (HD.6469) 7331 0 R (HD.647) 951 0 R (HD.6470) 7332 0 R (HD.6471) 7333 0 R (HD.6472) 7334 0 R (HD.6473) 7335 0 R (HD.6474) 7336 0 R (HD.6475) 7337 0 R (HD.6476) 7343 0 R (HD.6477) 7344 0 R (HD.6478) 7345 0 R (HD.6479) 7346 0 R (HD.648) 952 0 R ] /Limits [ (HD.6451) (HD.648) ] >>
+endobj
+11906 0 obj
+<< /Names [ (HD.6480) 7347 0 R (HD.6481) 7348 0 R (HD.6482) 7349 0 R (HD.6483) 7350 0 R (HD.6484) 7351 0 R (HD.6485) 7352 0 R (HD.6486) 7353 0 R (HD.6487) 7354 0 R (HD.6488) 7355 0 R (HD.6489) 7356 0 R (HD.649) 953 0 R (HD.6490) 7357 0 R (HD.6491) 7358 0 R (HD.6492) 7359 0 R (HD.6493) 7360 0 R (HD.6494) 7361 0 R (HD.6495) 7362 0 R (HD.6496) 7363 0 R (HD.6497) 7364 0 R (HD.6498) 7365 0 R (HD.6499) 7366 0 R (HD.65) 265 0 R (HD.650) 954 0 R (HD.6500) 7367 0 R (HD.6501) 7368 0 R (HD.6502) 7369 0 R (HD.6503) 7370 0 R (HD.6504) 7371 0 R (HD.6505) 7372 0 R (HD.6506) 7373 0 R (HD.6507) 7374 0 R (HD.6508) 7375 0 R ] /Limits [ (HD.6480) (HD.6508) ] >>
+endobj
+11907 0 obj
+<< /Names [ (HD.6509) 7376 0 R (HD.651) 955 0 R (HD.6510) 7377 0 R (HD.6511) 7378 0 R (HD.6512) 7379 0 R (HD.6513) 7380 0 R (HD.6514) 7381 0 R (HD.6515) 7382 0 R (HD.6516) 7383 0 R (HD.6517) 7384 0 R (HD.6518) 7385 0 R (HD.6519) 7386 0 R (HD.652) 956 0 R (HD.6520) 7387 0 R (HD.6521) 7388 0 R (HD.6522) 7393 0 R (HD.6523) 7394 0 R (HD.6524) 7395 0 R (HD.6525) 7396 0 R (HD.6526) 7397 0 R (HD.6527) 7398 0 R (HD.6528) 7399 0 R (HD.6529) 7400 0 R (HD.653) 957 0 R (HD.6530) 7401 0 R (HD.6531) 7402 0 R (HD.6532) 7403 0 R (HD.6533) 7404 0 R (HD.6534) 7405 0 R (HD.6535) 7406 0 R (HD.6536) 7407 0 R (HD.6537) 7408 0 R ] /Limits [ (HD.6509) (HD.6537) ] >>
+endobj
+11908 0 obj
+<< /Names [ (HD.6538) 7409 0 R (HD.6539) 7410 0 R (HD.654) 958 0 R (HD.6540) 7411 0 R (HD.6541) 7412 0 R (HD.6542) 7413 0 R (HD.6543) 7414 0 R (HD.6544) 7415 0 R (HD.6545) 7416 0 R (HD.6546) 7417 0 R (HD.6547) 7418 0 R (HD.6548) 7419 0 R (HD.6549) 7420 0 R (HD.655) 959 0 R (HD.6550) 7421 0 R (HD.6551) 7422 0 R (HD.6552) 7423 0 R (HD.6553) 7424 0 R (HD.6554) 7425 0 R (HD.6555) 7426 0 R (HD.6556) 7427 0 R (HD.6557) 7428 0 R (HD.6558) 7429 0 R (HD.6559) 7430 0 R (HD.656) 960 0 R (HD.6560) 7431 0 R (HD.6561) 7432 0 R (HD.6562) 7433 0 R (HD.6563) 7434 0 R (HD.6564) 7435 0 R (HD.6565) 7436 0 R (HD.6566) 7437 0 R ] /Limits [ (HD.6538) (HD.6566) ] >>
+endobj
+11909 0 obj
+<< /Names [ (HD.6567) 7438 0 R (HD.6568) 7439 0 R (HD.6569) 7444 0 R (HD.657) 961 0 R (HD.6570) 7445 0 R (HD.6571) 7446 0 R (HD.6572) 7447 0 R (HD.6573) 7448 0 R (HD.6574) 7449 0 R (HD.6575) 7450 0 R (HD.6576) 7451 0 R (HD.6577) 7452 0 R (HD.6578) 7453 0 R (HD.6579) 7454 0 R (HD.658) 962 0 R (HD.6580) 7455 0 R (HD.6581) 7456 0 R (HD.6582) 7457 0 R (HD.6583) 7458 0 R (HD.6584) 7459 0 R (HD.6585) 7460 0 R (HD.6586) 7461 0 R (HD.6587) 7462 0 R (HD.6588) 7463 0 R (HD.6589) 7464 0 R (HD.659) 963 0 R (HD.6590) 7465 0 R (HD.6591) 7466 0 R (HD.6592) 7467 0 R (HD.6593) 7468 0 R (HD.6594) 7469 0 R (HD.6595) 7470 0 R ] /Limits [ (HD.6567) (HD.6595) ] >>
+endobj
+11910 0 obj
+<< /Names [ (HD.6596) 7471 0 R (HD.6597) 7472 0 R (HD.6598) 7473 0 R (HD.6599) 7474 0 R (HD.66) 266 0 R (HD.660) 968 0 R (HD.6600) 7475 0 R (HD.6601) 7476 0 R (HD.6602) 7477 0 R (HD.6603) 7478 0 R (HD.6604) 7479 0 R (HD.6605) 7480 0 R (HD.6606) 7481 0 R (HD.6607) 7482 0 R (HD.6608) 7483 0 R (HD.6609) 7484 0 R (HD.661) 969 0 R (HD.6610) 7485 0 R (HD.6611) 7486 0 R (HD.6612) 7491 0 R (HD.6613) 7492 0 R (HD.6614) 7493 0 R (HD.6615) 7494 0 R (HD.6616) 7495 0 R (HD.6617) 7496 0 R (HD.6618) 7497 0 R (HD.6619) 7498 0 R (HD.662) 970 0 R (HD.6620) 7499 0 R (HD.6621) 7500 0 R (HD.6622) 7501 0 R (HD.6623) 7502 0 R ] /Limits [ (HD.6596) (HD.6623) ] >>
+endobj
+11911 0 obj
+<< /Names [ (HD.6624) 7503 0 R (HD.6625) 7504 0 R (HD.6626) 7505 0 R (HD.6627) 7506 0 R (HD.6628) 7507 0 R (HD.6629) 7508 0 R (HD.663) 971 0 R (HD.6630) 7509 0 R (HD.6631) 7510 0 R (HD.6632) 7511 0 R (HD.6633) 7512 0 R (HD.6634) 7513 0 R (HD.6635) 7514 0 R (HD.6636) 7515 0 R (HD.6637) 7516 0 R (HD.6638) 7517 0 R (HD.6639) 7518 0 R (HD.664) 972 0 R (HD.6640) 7519 0 R (HD.6641) 7520 0 R (HD.6642) 7521 0 R (HD.6643) 7522 0 R (HD.6644) 7523 0 R (HD.6645) 7524 0 R (HD.6646) 7525 0 R (HD.6647) 7526 0 R (HD.6648) 7527 0 R (HD.6649) 7528 0 R (HD.665) 973 0 R (HD.6650) 7529 0 R (HD.6651) 7530 0 R (HD.6652) 7531 0 R ] /Limits [ (HD.6624) (HD.6652) ] >>
+endobj
+11912 0 obj
+<< /Names [ (HD.6653) 7532 0 R (HD.6654) 7533 0 R (HD.6655) 7534 0 R (HD.6656) 7535 0 R (HD.6657) 7536 0 R (HD.6658) 7537 0 R (HD.6659) 7538 0 R (HD.666) 974 0 R (HD.6660) 7539 0 R (HD.6661) 7540 0 R (HD.6662) 7541 0 R (HD.6663) 7542 0 R (HD.6664) 7543 0 R (HD.6665) 7544 0 R (HD.6666) 7549 0 R (HD.6667) 7550 0 R (HD.6668) 7551 0 R (HD.6669) 7552 0 R (HD.667) 975 0 R (HD.6670) 7553 0 R (HD.6671) 7554 0 R (HD.6672) 7555 0 R (HD.6673) 7556 0 R (HD.6674) 7557 0 R (HD.6675) 7558 0 R (HD.6676) 7559 0 R (HD.6677) 7560 0 R (HD.6678) 7561 0 R (HD.6679) 7562 0 R (HD.668) 976 0 R (HD.6680) 7563 0 R (HD.6681) 7564 0 R ] /Limits [ (HD.6653) (HD.6681) ] >>
+endobj
+11913 0 obj
+<< /Names [ (HD.6682) 7565 0 R (HD.6683) 7566 0 R (HD.6684) 7567 0 R (HD.6685) 7568 0 R (HD.6686) 7569 0 R (HD.6687) 7570 0 R (HD.6688) 7571 0 R (HD.6689) 7572 0 R (HD.669) 977 0 R (HD.6690) 7573 0 R (HD.6691) 7574 0 R (HD.6692) 7575 0 R (HD.6693) 7576 0 R (HD.6694) 7577 0 R (HD.6695) 7578 0 R (HD.6696) 7579 0 R (HD.6697) 7580 0 R (HD.6698) 7581 0 R (HD.6699) 7582 0 R (HD.67) 267 0 R (HD.670) 978 0 R (HD.6700) 7583 0 R (HD.6701) 7584 0 R (HD.6702) 7585 0 R (HD.6703) 7586 0 R (HD.6704) 7587 0 R (HD.6705) 7588 0 R (HD.6706) 7589 0 R (HD.6707) 7590 0 R (HD.6708) 7591 0 R (HD.6709) 7592 0 R (HD.671) 979 0 R ] /Limits [ (HD.6682) (HD.671) ] >>
+endobj
+11914 0 obj
+<< /Names [ (HD.6710) 7593 0 R (HD.6711) 7594 0 R (HD.6712) 7595 0 R (HD.6713) 7600 0 R (HD.6714) 7601 0 R (HD.6715) 7602 0 R (HD.6716) 7603 0 R (HD.6717) 7604 0 R (HD.6718) 7605 0 R (HD.6719) 7606 0 R (HD.672) 980 0 R (HD.6720) 7607 0 R (HD.6721) 7608 0 R (HD.6722) 7609 0 R (HD.6723) 7610 0 R (HD.6724) 7611 0 R (HD.6725) 7612 0 R (HD.6726) 7613 0 R (HD.6727) 7614 0 R (HD.6728) 7615 0 R (HD.6729) 7616 0 R (HD.673) 981 0 R (HD.6730) 7617 0 R (HD.6731) 7618 0 R (HD.6732) 7619 0 R (HD.6733) 7620 0 R (HD.6734) 7621 0 R (HD.6735) 7622 0 R (HD.6736) 7623 0 R (HD.6737) 7624 0 R (HD.6738) 7625 0 R (HD.6739) 7626 0 R ] /Limits [ (HD.6710) (HD.6739) ] >>
+endobj
+11915 0 obj
+<< /Names [ (HD.674) 982 0 R (HD.6740) 7627 0 R (HD.6741) 7628 0 R (HD.6742) 7629 0 R (HD.6743) 7630 0 R (HD.6744) 7631 0 R (HD.6745) 7632 0 R (HD.6746) 7633 0 R (HD.6747) 7634 0 R (HD.6748) 7635 0 R (HD.6749) 7636 0 R (HD.675) 983 0 R (HD.6750) 7637 0 R (HD.6751) 7638 0 R (HD.6752) 7643 0 R (HD.6753) 7644 0 R (HD.6754) 7645 0 R (HD.6755) 7646 0 R (HD.6756) 7647 0 R (HD.6757) 7648 0 R (HD.6758) 7649 0 R (HD.6759) 7650 0 R (HD.676) 984 0 R (HD.6760) 7651 0 R (HD.6761) 7652 0 R (HD.6762) 7653 0 R (HD.6763) 7654 0 R (HD.6764) 7655 0 R (HD.6765) 7656 0 R (HD.6766) 7657 0 R (HD.6767) 7658 0 R (HD.6768) 7659 0 R ] /Limits [ (HD.674) (HD.6768) ] >>
+endobj
+11916 0 obj
+<< /Names [ (HD.6769) 7660 0 R (HD.677) 985 0 R (HD.6770) 7661 0 R (HD.6771) 7662 0 R (HD.6772) 7663 0 R (HD.6773) 7664 0 R (HD.6774) 7665 0 R (HD.6775) 7666 0 R (HD.6776) 7667 0 R (HD.6777) 7668 0 R (HD.6778) 7669 0 R (HD.6779) 7670 0 R (HD.678) 986 0 R (HD.6780) 7671 0 R (HD.6781) 7672 0 R (HD.6782) 7673 0 R (HD.6783) 7674 0 R (HD.6784) 7675 0 R (HD.6785) 7676 0 R (HD.6786) 7677 0 R (HD.6787) 7678 0 R (HD.6788) 7679 0 R (HD.6789) 7680 0 R (HD.679) 987 0 R (HD.6790) 7681 0 R (HD.6791) 7682 0 R (HD.6792) 7683 0 R (HD.6793) 7684 0 R (HD.6794) 7685 0 R (HD.6795) 7686 0 R (HD.6796) 7687 0 R (HD.6797) 7688 0 R ] /Limits [ (HD.6769) (HD.6797) ] >>
+endobj
+11917 0 obj
+<< /Names [ (HD.6798) 7689 0 R (HD.6799) 7690 0 R (HD.68) 268 0 R (HD.680) 988 0 R (HD.6800) 7691 0 R (HD.6801) 7692 0 R (HD.6802) 7693 0 R (HD.6803) 7694 0 R (HD.6804) 7695 0 R (HD.6805) 7696 0 R (HD.6806) 7701 0 R (HD.6807) 7702 0 R (HD.6808) 7703 0 R (HD.6809) 7704 0 R (HD.681) 989 0 R (HD.6810) 7705 0 R (HD.6811) 7706 0 R (HD.6812) 7707 0 R (HD.6813) 7708 0 R (HD.6814) 7709 0 R (HD.6815) 7710 0 R (HD.6816) 7711 0 R (HD.6817) 7712 0 R (HD.6818) 7713 0 R (HD.6819) 7714 0 R (HD.682) 990 0 R (HD.6820) 7715 0 R (HD.6821) 7716 0 R (HD.6822) 7717 0 R (HD.6823) 7718 0 R (HD.6824) 7719 0 R (HD.6825) 7720 0 R ] /Limits [ (HD.6798) (HD.6825) ] >>
+endobj
+11918 0 obj
+<< /Names [ (HD.6826) 7721 0 R (HD.6827) 7722 0 R (HD.6828) 7723 0 R (HD.6829) 7724 0 R (HD.683) 991 0 R (HD.6830) 7725 0 R (HD.6831) 7726 0 R (HD.6832) 7727 0 R (HD.6833) 7728 0 R (HD.6834) 7729 0 R (HD.6835) 7730 0 R (HD.6836) 7731 0 R (HD.6837) 7732 0 R (HD.6838) 7733 0 R (HD.6839) 7734 0 R (HD.684) 992 0 R (HD.6840) 7735 0 R (HD.6841) 7736 0 R (HD.6842) 7737 0 R (HD.6843) 7738 0 R (HD.6844) 7739 0 R (HD.6845) 7740 0 R (HD.6846) 7741 0 R (HD.6847) 7742 0 R (HD.6848) 7743 0 R (HD.6849) 7744 0 R (HD.685) 993 0 R (HD.6850) 7745 0 R (HD.6851) 7750 0 R (HD.6852) 7751 0 R (HD.6853) 7752 0 R (HD.6854) 7753 0 R ] /Limits [ (HD.6826) (HD.6854) ] >>
+endobj
+11919 0 obj
+<< /Names [ (HD.6855) 7754 0 R (HD.6856) 7755 0 R (HD.6857) 7756 0 R (HD.6858) 7757 0 R (HD.6859) 7758 0 R (HD.686) 994 0 R (HD.6860) 7759 0 R (HD.6861) 7760 0 R (HD.6862) 7761 0 R (HD.6863) 7762 0 R (HD.6864) 7763 0 R (HD.6865) 7764 0 R (HD.6866) 7765 0 R (HD.6867) 7766 0 R (HD.6868) 7767 0 R (HD.6869) 7768 0 R (HD.687) 995 0 R (HD.6870) 7769 0 R (HD.6871) 7770 0 R (HD.6872) 7771 0 R (HD.6873) 7772 0 R (HD.6874) 7773 0 R (HD.6875) 7774 0 R (HD.6876) 7775 0 R (HD.6877) 7776 0 R (HD.6878) 7777 0 R (HD.6879) 7778 0 R (HD.688) 996 0 R (HD.6880) 7779 0 R (HD.6881) 7784 0 R (HD.6882) 7785 0 R (HD.6883) 7786 0 R ] /Limits [ (HD.6855) (HD.6883) ] >>
+endobj
+11920 0 obj
+<< /Names [ (HD.6884) 7787 0 R (HD.6885) 7788 0 R (HD.6886) 7789 0 R (HD.6887) 7790 0 R (HD.6888) 7791 0 R (HD.6889) 7792 0 R (HD.689) 997 0 R (HD.6890) 7793 0 R (HD.6891) 7794 0 R (HD.6892) 7795 0 R (HD.6893) 7796 0 R (HD.6894) 7797 0 R (HD.6895) 7798 0 R (HD.6896) 7799 0 R (HD.6897) 7800 0 R (HD.6898) 7801 0 R (HD.6899) 7802 0 R (HD.69) 269 0 R (HD.690) 998 0 R (HD.6900) 7803 0 R (HD.6901) 7804 0 R (HD.6902) 7805 0 R (HD.6903) 7806 0 R (HD.6904) 7807 0 R (HD.6905) 7808 0 R (HD.6906) 7809 0 R (HD.6907) 7810 0 R (HD.6908) 7811 0 R (HD.6909) 7812 0 R (HD.691) 999 0 R (HD.6910) 7813 0 R (HD.6911) 7814 0 R ] /Limits [ (HD.6884) (HD.6911) ] >>
+endobj
+11921 0 obj
+<< /Names [ (HD.6912) 7815 0 R (HD.6913) 7816 0 R (HD.6914) 7817 0 R (HD.6915) 7818 0 R (HD.6916) 7819 0 R (HD.6917) 7820 0 R (HD.6918) 7821 0 R (HD.6919) 7822 0 R (HD.692) 1000 0 R (HD.6920) 7823 0 R (HD.6921) 7824 0 R (HD.6922) 7825 0 R (HD.6923) 7826 0 R (HD.6924) 7827 0 R (HD.6925) 7828 0 R (HD.6926) 7829 0 R (HD.6927) 7830 0 R (HD.6928) 7837 0 R (HD.6929) 7838 0 R (HD.693) 1001 0 R (HD.6930) 7839 0 R (HD.6931) 7840 0 R (HD.6932) 7841 0 R (HD.6933) 7842 0 R (HD.6934) 7843 0 R (HD.6935) 7844 0 R (HD.6936) 7845 0 R (HD.6937) 7846 0 R (HD.6938) 7847 0 R (HD.6939) 7848 0 R (HD.694) 1002 0 R (HD.6940) 7849 0 R ] /Limits [ (HD.6912) (HD.6940) ] >>
+endobj
+11922 0 obj
+<< /Names [ (HD.6941) 7850 0 R (HD.6942) 7851 0 R (HD.6943) 7852 0 R (HD.6944) 7853 0 R (HD.6945) 7854 0 R (HD.6946) 7855 0 R (HD.6947) 7856 0 R (HD.6948) 7857 0 R (HD.6949) 7858 0 R (HD.695) 1003 0 R (HD.6950) 7859 0 R (HD.6951) 7860 0 R (HD.6952) 7861 0 R (HD.6953) 7862 0 R (HD.6954) 7863 0 R (HD.6955) 7864 0 R (HD.6956) 7865 0 R (HD.6957) 7866 0 R (HD.6958) 7867 0 R (HD.6959) 7868 0 R (HD.696) 1004 0 R (HD.6960) 7869 0 R (HD.6961) 7870 0 R (HD.6962) 7871 0 R (HD.6963) 7872 0 R (HD.6964) 7873 0 R (HD.6965) 7874 0 R (HD.6966) 7875 0 R (HD.6967) 7876 0 R (HD.6968) 7877 0 R (HD.6969) 7878 0 R (HD.697) 1005 0 R ] /Limits [ (HD.6941) (HD.697) ] >>
+endobj
+11923 0 obj
+<< /Names [ (HD.6970) 7879 0 R (HD.6971) 7880 0 R (HD.6972) 7887 0 R (HD.6973) 7888 0 R (HD.6974) 7889 0 R (HD.6975) 7890 0 R (HD.6976) 7891 0 R (HD.6977) 7892 0 R (HD.6978) 7893 0 R (HD.6979) 7894 0 R (HD.698) 1006 0 R (HD.6980) 7895 0 R (HD.6981) 7896 0 R (HD.6982) 7897 0 R (HD.6983) 7898 0 R (HD.6984) 7899 0 R (HD.6985) 7900 0 R (HD.6986) 7901 0 R (HD.6987) 7902 0 R (HD.6988) 7903 0 R (HD.6989) 7904 0 R (HD.699) 1007 0 R (HD.6990) 7905 0 R (HD.6991) 7906 0 R (HD.6992) 7907 0 R (HD.6993) 7908 0 R (HD.6994) 7909 0 R (HD.6995) 7910 0 R (HD.6996) 7911 0 R (HD.6997) 7912 0 R (HD.6998) 7913 0 R (HD.6999) 7914 0 R ] /Limits [ (HD.6970) (HD.6999) ] >>
+endobj
+11924 0 obj
+<< /Names [ (HD.7) 195 0 R (HD.70) 270 0 R (HD.700) 1008 0 R (HD.7000) 7915 0 R (HD.7001) 7916 0 R (HD.7002) 7917 0 R (HD.7003) 7918 0 R (HD.7004) 7919 0 R (HD.7005) 7920 0 R (HD.7006) 7921 0 R (HD.7007) 7922 0 R (HD.7008) 7923 0 R (HD.7009) 7924 0 R (HD.701) 1013 0 R (HD.7010) 7925 0 R (HD.7011) 7926 0 R (HD.7012) 7927 0 R (HD.7013) 7928 0 R (HD.7014) 7929 0 R (HD.7015) 7930 0 R (HD.7016) 7931 0 R (HD.7017) 7932 0 R (HD.7018) 7933 0 R (HD.7019) 7938 0 R (HD.702) 1014 0 R (HD.7020) 7939 0 R (HD.7021) 7940 0 R (HD.7022) 7941 0 R (HD.7023) 7942 0 R (HD.7024) 7943 0 R (HD.7025) 7944 0 R (HD.7026) 7945 0 R ] /Limits [ (HD.7) (HD.7026) ] >>
+endobj
+11925 0 obj
+<< /Names [ (HD.7027) 7946 0 R (HD.7028) 7947 0 R (HD.7029) 7948 0 R (HD.703) 1015 0 R (HD.7030) 7949 0 R (HD.7031) 7950 0 R (HD.7032) 7951 0 R (HD.7033) 7952 0 R (HD.7034) 7953 0 R (HD.7035) 7954 0 R (HD.7036) 7955 0 R (HD.7037) 7956 0 R (HD.7038) 7957 0 R (HD.7039) 7958 0 R (HD.704) 1016 0 R (HD.7040) 7959 0 R (HD.7041) 7960 0 R (HD.7042) 7961 0 R (HD.7043) 7962 0 R (HD.7044) 7963 0 R (HD.7045) 7964 0 R (HD.7046) 7965 0 R (HD.7047) 7966 0 R (HD.7048) 7967 0 R (HD.7049) 7968 0 R (HD.705) 1017 0 R (HD.7050) 7969 0 R (HD.7051) 7970 0 R (HD.7052) 7971 0 R (HD.7053) 7972 0 R (HD.7054) 7973 0 R (HD.7055) 7974 0 R ] /Limits [ (HD.7027) (HD.7055) ] >>
+endobj
+11926 0 obj
+<< /Names [ (HD.7056) 7975 0 R (HD.7057) 7976 0 R (HD.7058) 7977 0 R (HD.7059) 7978 0 R (HD.706) 1018 0 R (HD.7060) 7979 0 R (HD.7061) 7980 0 R (HD.7062) 7981 0 R (HD.7063) 7986 0 R (HD.7064) 7987 0 R (HD.7065) 7988 0 R (HD.7066) 7989 0 R (HD.7067) 7990 0 R (HD.7068) 7991 0 R (HD.7069) 7992 0 R (HD.707) 1019 0 R (HD.7070) 7993 0 R (HD.7071) 7994 0 R (HD.7072) 7995 0 R (HD.7073) 7996 0 R (HD.7074) 7997 0 R (HD.7075) 7998 0 R (HD.7076) 7999 0 R (HD.7077) 8000 0 R (HD.7078) 8001 0 R (HD.7079) 8002 0 R (HD.708) 1020 0 R (HD.7080) 8003 0 R (HD.7081) 8004 0 R (HD.7082) 8005 0 R (HD.7083) 8006 0 R (HD.7084) 8007 0 R ] /Limits [ (HD.7056) (HD.7084) ] >>
+endobj
+11927 0 obj
+<< /Names [ (HD.7085) 8008 0 R (HD.7086) 8009 0 R (HD.7087) 8010 0 R (HD.7088) 8011 0 R (HD.7089) 8012 0 R (HD.709) 1021 0 R (HD.7090) 8013 0 R (HD.7091) 8014 0 R (HD.7092) 8015 0 R (HD.7093) 8016 0 R (HD.7094) 8017 0 R (HD.7095) 8018 0 R (HD.7096) 8019 0 R (HD.7097) 8020 0 R (HD.7098) 8021 0 R (HD.7099) 8022 0 R (HD.71) 271 0 R (HD.710) 1022 0 R (HD.7100) 8023 0 R (HD.7101) 8024 0 R (HD.7102) 8025 0 R (HD.7103) 8026 0 R (HD.7104) 8027 0 R (HD.7105) 8028 0 R (HD.7106) 8029 0 R (HD.7107) 8030 0 R (HD.7108) 8031 0 R (HD.7109) 8032 0 R (HD.711) 1023 0 R (HD.7110) 8033 0 R (HD.7111) 8034 0 R (HD.7112) 8035 0 R ] /Limits [ (HD.7085) (HD.7112) ] >>
+endobj
+11928 0 obj
+<< /Names [ (HD.7113) 8036 0 R (HD.7114) 8041 0 R (HD.7115) 8042 0 R (HD.7116) 8043 0 R (HD.7117) 8044 0 R (HD.7118) 8045 0 R (HD.7119) 8046 0 R (HD.712) 1024 0 R (HD.7120) 8047 0 R (HD.7121) 8048 0 R (HD.7122) 8049 0 R (HD.7123) 8050 0 R (HD.7124) 8051 0 R (HD.7125) 8052 0 R (HD.7126) 8053 0 R (HD.7127) 8054 0 R (HD.7128) 8055 0 R (HD.7129) 8056 0 R (HD.713) 1025 0 R (HD.7130) 8057 0 R (HD.7131) 8058 0 R (HD.7132) 8059 0 R (HD.7133) 8060 0 R (HD.7134) 8061 0 R (HD.7135) 8062 0 R (HD.7136) 8063 0 R (HD.7137) 8064 0 R (HD.7138) 8065 0 R (HD.7139) 8066 0 R (HD.714) 1026 0 R (HD.7140) 8067 0 R (HD.7141) 8068 0 R ] /Limits [ (HD.7113) (HD.7141) ] >>
+endobj
+11929 0 obj
+<< /Names [ (HD.7142) 8069 0 R (HD.7143) 8070 0 R (HD.7144) 8071 0 R (HD.7145) 8072 0 R (HD.7146) 8073 0 R (HD.7147) 8074 0 R (HD.7148) 8075 0 R (HD.7149) 8076 0 R (HD.715) 1027 0 R (HD.7150) 8077 0 R (HD.7151) 8082 0 R (HD.7152) 8083 0 R (HD.7153) 8084 0 R (HD.7154) 8085 0 R (HD.7155) 8086 0 R (HD.7156) 8087 0 R (HD.7157) 8088 0 R (HD.7158) 8089 0 R (HD.7159) 8090 0 R (HD.716) 1028 0 R (HD.7160) 8091 0 R (HD.7161) 8092 0 R (HD.7162) 8093 0 R (HD.7163) 8094 0 R (HD.7164) 8095 0 R (HD.7165) 8096 0 R (HD.7166) 8097 0 R (HD.7167) 8098 0 R (HD.7168) 8099 0 R (HD.7169) 8100 0 R (HD.717) 1029 0 R (HD.7170) 8101 0 R ] /Limits [ (HD.7142) (HD.7170) ] >>
+endobj
+11930 0 obj
+<< /Names [ (HD.7171) 8102 0 R (HD.7172) 8103 0 R (HD.7173) 8104 0 R (HD.7174) 8105 0 R (HD.7175) 8106 0 R (HD.7176) 8107 0 R (HD.7177) 8108 0 R (HD.7178) 8109 0 R (HD.7179) 8110 0 R (HD.718) 1030 0 R (HD.7180) 8111 0 R (HD.7181) 8112 0 R (HD.7182) 8113 0 R (HD.7183) 8114 0 R (HD.7184) 8115 0 R (HD.7185) 8116 0 R (HD.7186) 8121 0 R (HD.7187) 8122 0 R (HD.7188) 8123 0 R (HD.7189) 8124 0 R (HD.719) 1031 0 R (HD.7190) 8125 0 R (HD.7191) 8126 0 R (HD.7192) 8127 0 R (HD.7193) 8128 0 R (HD.7194) 8129 0 R (HD.7195) 8130 0 R (HD.7196) 8131 0 R (HD.7197) 8132 0 R (HD.7198) 8133 0 R (HD.7199) 8134 0 R (HD.72) 272 0 R ] /Limits [ (HD.7171) (HD.72) ] >>
+endobj
+11931 0 obj
+<< /Names [ (HD.720) 1032 0 R (HD.7200) 8135 0 R (HD.7201) 8136 0 R (HD.7202) 8137 0 R (HD.7203) 8138 0 R (HD.7204) 8139 0 R (HD.7205) 8140 0 R (HD.7206) 8141 0 R (HD.7207) 8142 0 R (HD.7208) 8143 0 R (HD.7209) 8144 0 R (HD.721) 1033 0 R (HD.7210) 8145 0 R (HD.7211) 8146 0 R (HD.7212) 8147 0 R (HD.7213) 8148 0 R (HD.7214) 8149 0 R (HD.7215) 8150 0 R (HD.7216) 8151 0 R (HD.7217) 8152 0 R (HD.7218) 8153 0 R (HD.7219) 8154 0 R (HD.722) 1034 0 R (HD.7220) 8155 0 R (HD.7221) 8156 0 R (HD.7222) 8161 0 R (HD.7223) 8162 0 R (HD.7224) 8163 0 R (HD.7225) 8164 0 R (HD.7226) 8165 0 R (HD.7227) 8166 0 R (HD.7228) 8167 0 R ] /Limits [ (HD.720) (HD.7228) ] >>
+endobj
+11932 0 obj
+<< /Names [ (HD.7229) 8168 0 R (HD.723) 1035 0 R (HD.7230) 8169 0 R (HD.7231) 8170 0 R (HD.7232) 8171 0 R (HD.7233) 8172 0 R (HD.7234) 8173 0 R (HD.7235) 8174 0 R (HD.7236) 8175 0 R (HD.7237) 8176 0 R (HD.7238) 8177 0 R (HD.7239) 8178 0 R (HD.724) 1036 0 R (HD.7240) 8179 0 R (HD.7241) 8180 0 R (HD.7242) 8181 0 R (HD.7243) 8182 0 R (HD.7244) 8183 0 R (HD.7245) 8184 0 R (HD.7246) 8185 0 R (HD.7247) 8186 0 R (HD.7248) 8187 0 R (HD.7249) 8188 0 R (HD.725) 1037 0 R (HD.7250) 8189 0 R (HD.7251) 8190 0 R (HD.7252) 8191 0 R (HD.7253) 8192 0 R (HD.7254) 8193 0 R (HD.7255) 8194 0 R (HD.7256) 8195 0 R (HD.7257) 8196 0 R ] /Limits [ (HD.7229) (HD.7257) ] >>
+endobj
+11933 0 obj
+<< /Names [ (HD.7258) 8197 0 R (HD.7259) 8198 0 R (HD.726) 1038 0 R (HD.7260) 8199 0 R (HD.7261) 8200 0 R (HD.7262) 8201 0 R (HD.7263) 8202 0 R (HD.7264) 8203 0 R (HD.7265) 8204 0 R (HD.7266) 8205 0 R (HD.7267) 8210 0 R (HD.7268) 8211 0 R (HD.7269) 8212 0 R (HD.727) 1039 0 R (HD.7270) 8213 0 R (HD.7271) 8214 0 R (HD.7272) 8215 0 R (HD.7273) 8216 0 R (HD.7274) 8217 0 R (HD.7275) 8218 0 R (HD.7276) 8219 0 R (HD.7277) 8220 0 R (HD.7278) 8221 0 R (HD.7279) 8222 0 R (HD.728) 1040 0 R (HD.7280) 8223 0 R (HD.7281) 8224 0 R (HD.7282) 8225 0 R (HD.7283) 8226 0 R (HD.7284) 8227 0 R (HD.7285) 8228 0 R (HD.7286) 8229 0 R ] /Limits [ (HD.7258) (HD.7286) ] >>
+endobj
+11934 0 obj
+<< /Names [ (HD.7287) 8230 0 R (HD.7288) 8231 0 R (HD.7289) 8232 0 R (HD.729) 1041 0 R (HD.7290) 8233 0 R (HD.7291) 8234 0 R (HD.7292) 8235 0 R (HD.7293) 8236 0 R (HD.7294) 8237 0 R (HD.7295) 8238 0 R (HD.7296) 8239 0 R (HD.7297) 8240 0 R (HD.7298) 8241 0 R (HD.7299) 8242 0 R (HD.73) 273 0 R (HD.730) 1042 0 R (HD.7300) 8243 0 R (HD.7301) 8244 0 R (HD.7302) 8245 0 R (HD.7303) 8246 0 R (HD.7304) 8247 0 R (HD.7305) 8248 0 R (HD.7306) 8249 0 R (HD.7307) 8250 0 R (HD.7308) 8251 0 R (HD.7309) 8252 0 R (HD.731) 1043 0 R (HD.7310) 8253 0 R (HD.7311) 8254 0 R (HD.7312) 8255 0 R (HD.7313) 8256 0 R (HD.7314) 8257 0 R ] /Limits [ (HD.7287) (HD.7314) ] >>
+endobj
+11935 0 obj
+<< /Names [ (HD.7315) 8258 0 R (HD.7316) 8259 0 R (HD.7317) 8260 0 R (HD.7318) 8261 0 R (HD.7319) 8262 0 R (HD.732) 1044 0 R (HD.7320) 8263 0 R (HD.7321) 8264 0 R (HD.7322) 8269 0 R (HD.7323) 8270 0 R (HD.7324) 8271 0 R (HD.7325) 8272 0 R (HD.7326) 8273 0 R (HD.7327) 8274 0 R (HD.7328) 8275 0 R (HD.7329) 8276 0 R (HD.733) 1045 0 R (HD.7330) 8277 0 R (HD.7331) 8278 0 R (HD.7332) 8279 0 R (HD.7333) 8280 0 R (HD.7334) 8281 0 R (HD.7335) 8282 0 R (HD.7336) 8283 0 R (HD.7337) 8284 0 R (HD.7338) 8285 0 R (HD.7339) 8286 0 R (HD.734) 1046 0 R (HD.7340) 8287 0 R (HD.7341) 8288 0 R (HD.7342) 8289 0 R (HD.7343) 8290 0 R ] /Limits [ (HD.7315) (HD.7343) ] >>
+endobj
+11936 0 obj
+<< /Names [ (HD.7344) 8291 0 R (HD.7345) 8292 0 R (HD.7346) 8293 0 R (HD.7347) 8294 0 R (HD.7348) 8295 0 R (HD.7349) 8296 0 R (HD.735) 1047 0 R (HD.7350) 8297 0 R (HD.7351) 8298 0 R (HD.7352) 8299 0 R (HD.7353) 8300 0 R (HD.7354) 8301 0 R (HD.7355) 8302 0 R (HD.7356) 8303 0 R (HD.7357) 8304 0 R (HD.7358) 8305 0 R (HD.7359) 8306 0 R (HD.736) 1048 0 R (HD.7360) 8307 0 R (HD.7361) 8308 0 R (HD.7362) 8309 0 R (HD.7363) 8310 0 R (HD.7364) 8311 0 R (HD.7365) 8312 0 R (HD.7366) 8313 0 R (HD.7367) 8319 0 R (HD.7368) 8320 0 R (HD.7369) 8321 0 R (HD.737) 1049 0 R (HD.7370) 8322 0 R (HD.7371) 8323 0 R (HD.7372) 8324 0 R ] /Limits [ (HD.7344) (HD.7372) ] >>
+endobj
+11937 0 obj
+<< /Names [ (HD.7373) 8325 0 R (HD.7374) 8326 0 R (HD.7375) 8327 0 R (HD.7376) 8328 0 R (HD.7377) 8329 0 R (HD.7378) 8330 0 R (HD.7379) 8331 0 R (HD.738) 1050 0 R (HD.7380) 8332 0 R (HD.7381) 8333 0 R (HD.7382) 8334 0 R (HD.7383) 8335 0 R (HD.7384) 8336 0 R (HD.7385) 8337 0 R (HD.7386) 8338 0 R (HD.7387) 8339 0 R (HD.7388) 8340 0 R (HD.7389) 8341 0 R (HD.739) 1051 0 R (HD.7390) 8342 0 R (HD.7391) 8343 0 R (HD.7392) 8344 0 R (HD.7393) 8345 0 R (HD.7394) 8346 0 R (HD.7395) 8347 0 R (HD.7396) 8348 0 R (HD.7397) 8349 0 R (HD.7398) 8350 0 R (HD.7399) 8351 0 R (HD.74) 274 0 R (HD.740) 1052 0 R (HD.7400) 8352 0 R ] /Limits [ (HD.7373) (HD.7400) ] >>
+endobj
+11938 0 obj
+<< /Names [ (HD.7401) 8353 0 R (HD.7402) 8354 0 R (HD.7403) 8355 0 R (HD.7404) 8356 0 R (HD.7405) 8357 0 R (HD.7406) 8358 0 R (HD.7407) 8359 0 R (HD.7408) 8360 0 R (HD.7409) 8361 0 R (HD.741) 1053 0 R (HD.7410) 8362 0 R (HD.7411) 8363 0 R (HD.7412) 8364 0 R (HD.7413) 8365 0 R (HD.7414) 8366 0 R (HD.7415) 8367 0 R (HD.7416) 8368 0 R (HD.7417) 8369 0 R (HD.7418) 8370 0 R (HD.7419) 8371 0 R (HD.742) 1058 0 R (HD.7420) 8372 0 R (HD.7421) 8373 0 R (HD.7422) 8374 0 R (HD.7423) 8379 0 R (HD.7424) 8380 0 R (HD.7425) 8381 0 R (HD.7426) 8382 0 R (HD.7427) 8383 0 R (HD.7428) 8384 0 R (HD.7429) 8385 0 R (HD.743) 1059 0 R ] /Limits [ (HD.7401) (HD.743) ] >>
+endobj
+11939 0 obj
+<< /Names [ (HD.7430) 8386 0 R (HD.7431) 8387 0 R (HD.7432) 8388 0 R (HD.7433) 8389 0 R (HD.7434) 8390 0 R (HD.7435) 8391 0 R (HD.7436) 8392 0 R (HD.7437) 8393 0 R (HD.7438) 8394 0 R (HD.7439) 8395 0 R (HD.744) 1060 0 R (HD.7440) 8396 0 R (HD.7441) 8397 0 R (HD.7442) 8398 0 R (HD.7443) 8399 0 R (HD.7444) 8400 0 R (HD.7445) 8401 0 R (HD.7446) 8402 0 R (HD.7447) 8403 0 R (HD.7448) 8404 0 R (HD.7449) 8405 0 R (HD.745) 1061 0 R (HD.7450) 8406 0 R (HD.7451) 8407 0 R (HD.7452) 8408 0 R (HD.7453) 8409 0 R (HD.7454) 8410 0 R (HD.7455) 8411 0 R (HD.7456) 8412 0 R (HD.7457) 8413 0 R (HD.7458) 8414 0 R (HD.7459) 8415 0 R ] /Limits [ (HD.7430) (HD.7459) ] >>
+endobj
+11940 0 obj
+<< /Names [ (HD.746) 1062 0 R (HD.7460) 8416 0 R (HD.7461) 8417 0 R (HD.7462) 8418 0 R (HD.7463) 8419 0 R (HD.7464) 8420 0 R (HD.7465) 8421 0 R (HD.7466) 8422 0 R (HD.7467) 8423 0 R (HD.7468) 8424 0 R (HD.7469) 8425 0 R (HD.747) 1063 0 R (HD.7470) 8426 0 R (HD.7471) 8427 0 R (HD.7472) 8428 0 R (HD.7473) 8429 0 R (HD.7474) 8430 0 R (HD.7475) 8431 0 R (HD.7476) 8432 0 R (HD.7477) 8433 0 R (HD.7478) 8434 0 R (HD.7479) 8435 0 R (HD.748) 1064 0 R (HD.7480) 8436 0 R (HD.7481) 8441 0 R (HD.7482) 8442 0 R (HD.7483) 8443 0 R (HD.7484) 8444 0 R (HD.7485) 8445 0 R (HD.7486) 8446 0 R (HD.7487) 8447 0 R (HD.7488) 8448 0 R ] /Limits [ (HD.746) (HD.7488) ] >>
+endobj
+11941 0 obj
+<< /Names [ (HD.7489) 8449 0 R (HD.749) 1065 0 R (HD.7490) 8450 0 R (HD.7491) 8451 0 R (HD.7492) 8452 0 R (HD.7493) 8453 0 R (HD.7494) 8454 0 R (HD.7495) 8455 0 R (HD.7496) 8456 0 R (HD.7497) 8457 0 R (HD.7498) 8458 0 R (HD.7499) 8459 0 R (HD.75) 275 0 R (HD.750) 1066 0 R (HD.7500) 8460 0 R (HD.7501) 8461 0 R (HD.7502) 8462 0 R (HD.7503) 8463 0 R (HD.7504) 8464 0 R (HD.7505) 8465 0 R (HD.7506) 8466 0 R (HD.7507) 8467 0 R (HD.7508) 8468 0 R (HD.7509) 8469 0 R (HD.751) 1067 0 R (HD.7510) 8470 0 R (HD.7511) 8471 0 R (HD.7512) 8472 0 R (HD.7513) 8473 0 R (HD.7514) 8474 0 R (HD.7515) 8475 0 R (HD.7516) 8476 0 R ] /Limits [ (HD.7489) (HD.7516) ] >>
+endobj
+11942 0 obj
+<< /Names [ (HD.7517) 8477 0 R (HD.7518) 8478 0 R (HD.7519) 8479 0 R (HD.752) 1068 0 R (HD.7520) 8480 0 R (HD.7521) 8481 0 R (HD.7522) 8482 0 R (HD.7523) 8483 0 R (HD.7524) 8484 0 R (HD.7525) 8485 0 R (HD.7526) 8486 0 R (HD.7527) 8487 0 R (HD.7528) 8488 0 R (HD.7529) 8493 0 R (HD.753) 1069 0 R (HD.7530) 8494 0 R (HD.7531) 8495 0 R (HD.7532) 8496 0 R (HD.7533) 8497 0 R (HD.7534) 8498 0 R (HD.7535) 8499 0 R (HD.7536) 8500 0 R (HD.7537) 8501 0 R (HD.7538) 8502 0 R (HD.7539) 8503 0 R (HD.754) 1070 0 R (HD.7540) 8504 0 R (HD.7541) 8505 0 R (HD.7542) 8506 0 R (HD.7543) 8507 0 R (HD.7544) 8508 0 R (HD.7545) 8509 0 R ] /Limits [ (HD.7517) (HD.7545) ] >>
+endobj
+11943 0 obj
+<< /Names [ (HD.7546) 8510 0 R (HD.7547) 8511 0 R (HD.7548) 8512 0 R (HD.7549) 8513 0 R (HD.755) 1071 0 R (HD.7550) 8514 0 R (HD.7551) 8515 0 R (HD.7552) 8516 0 R (HD.7553) 8517 0 R (HD.7554) 8518 0 R (HD.7555) 8519 0 R (HD.7556) 8520 0 R (HD.7557) 8521 0 R (HD.7558) 8522 0 R (HD.7559) 8523 0 R (HD.756) 1072 0 R (HD.7560) 8524 0 R (HD.7561) 8525 0 R (HD.7562) 8526 0 R (HD.7563) 8527 0 R (HD.7564) 8528 0 R (HD.7565) 8529 0 R (HD.7566) 8530 0 R (HD.7567) 8531 0 R (HD.7568) 8532 0 R (HD.7569) 8533 0 R (HD.757) 1073 0 R (HD.7570) 8534 0 R (HD.7571) 8535 0 R (HD.7572) 8536 0 R (HD.7573) 8537 0 R (HD.7574) 8538 0 R ] /Limits [ (HD.7546) (HD.7574) ] >>
+endobj
+11944 0 obj
+<< /Names [ (HD.7575) 8539 0 R (HD.7576) 8540 0 R (HD.7577) 8541 0 R (HD.7578) 8542 0 R (HD.7579) 8547 0 R (HD.758) 1074 0 R (HD.7580) 8548 0 R (HD.7581) 8549 0 R (HD.7582) 8550 0 R (HD.7583) 8551 0 R (HD.7584) 8552 0 R (HD.7585) 8553 0 R (HD.7586) 8554 0 R (HD.7587) 8555 0 R (HD.7588) 8556 0 R (HD.7589) 8557 0 R (HD.759) 1075 0 R (HD.7590) 8558 0 R (HD.7591) 8559 0 R (HD.7592) 8560 0 R (HD.7593) 8561 0 R (HD.7594) 8562 0 R (HD.7595) 8563 0 R (HD.7596) 8564 0 R (HD.7597) 8565 0 R (HD.7598) 8566 0 R (HD.7599) 8567 0 R (HD.76) 276 0 R (HD.760) 1076 0 R (HD.7600) 8568 0 R (HD.7601) 8569 0 R (HD.7602) 8570 0 R ] /Limits [ (HD.7575) (HD.7602) ] >>
+endobj
+11945 0 obj
+<< /Names [ (HD.7603) 8571 0 R (HD.7604) 8572 0 R (HD.7605) 8573 0 R (HD.7606) 8574 0 R (HD.7607) 8575 0 R (HD.7608) 8576 0 R (HD.7609) 8577 0 R (HD.761) 1077 0 R (HD.7610) 8578 0 R (HD.7611) 8579 0 R (HD.7612) 8580 0 R (HD.7613) 8581 0 R (HD.7614) 8582 0 R (HD.7615) 8583 0 R (HD.7616) 8584 0 R (HD.7617) 8585 0 R (HD.7618) 8586 0 R (HD.7619) 8587 0 R (HD.762) 1078 0 R (HD.7620) 8588 0 R (HD.7621) 8589 0 R (HD.7622) 8590 0 R (HD.7623) 8591 0 R (HD.7624) 8592 0 R (HD.7625) 8593 0 R (HD.7626) 8594 0 R (HD.7627) 8595 0 R (HD.7628) 8596 0 R (HD.7629) 8597 0 R (HD.763) 1079 0 R (HD.7630) 8598 0 R (HD.7631) 8599 0 R ] /Limits [ (HD.7603) (HD.7631) ] >>
+endobj
+11946 0 obj
+<< /Names [ (HD.7632) 8600 0 R (HD.7633) 8601 0 R (HD.7634) 8602 0 R (HD.7635) 8603 0 R (HD.7636) 8604 0 R (HD.7637) 8605 0 R (HD.7638) 8606 0 R (HD.7639) 8607 0 R (HD.764) 1080 0 R (HD.7640) 8612 0 R (HD.7641) 8613 0 R (HD.7642) 8614 0 R (HD.7643) 8615 0 R (HD.7644) 8616 0 R (HD.7645) 8617 0 R (HD.7646) 8618 0 R (HD.7647) 8619 0 R (HD.7648) 8620 0 R (HD.7649) 8621 0 R (HD.765) 1081 0 R (HD.7650) 8622 0 R (HD.7651) 8623 0 R (HD.7652) 8624 0 R (HD.7653) 8625 0 R (HD.7654) 8626 0 R (HD.7655) 8627 0 R (HD.7656) 8628 0 R (HD.7657) 8629 0 R (HD.7658) 8630 0 R (HD.7659) 8631 0 R (HD.766) 1086 0 R (HD.7660) 8632 0 R ] /Limits [ (HD.7632) (HD.7660) ] >>
+endobj
+11947 0 obj
+<< /Names [ (HD.7661) 8633 0 R (HD.7662) 8634 0 R (HD.7663) 8635 0 R (HD.7664) 8636 0 R (HD.7665) 8637 0 R (HD.7666) 8638 0 R (HD.7667) 8639 0 R (HD.7668) 8640 0 R (HD.7669) 8641 0 R (HD.767) 1087 0 R (HD.7670) 8642 0 R (HD.7671) 8643 0 R (HD.7672) 8644 0 R (HD.7673) 8645 0 R (HD.7674) 8646 0 R (HD.7675) 8647 0 R (HD.7676) 8652 0 R (HD.7677) 8653 0 R (HD.7678) 8654 0 R (HD.7679) 8655 0 R (HD.768) 1088 0 R (HD.7680) 8656 0 R (HD.7681) 8657 0 R (HD.7682) 8658 0 R (HD.7683) 8659 0 R (HD.7684) 8660 0 R (HD.7685) 8661 0 R (HD.7686) 8662 0 R (HD.7687) 8663 0 R (HD.7688) 8664 0 R (HD.7689) 8665 0 R (HD.769) 1089 0 R ] /Limits [ (HD.7661) (HD.769) ] >>
+endobj
+11948 0 obj
+<< /Names [ (HD.7690) 8666 0 R (HD.7691) 8667 0 R (HD.7692) 8668 0 R (HD.7693) 8669 0 R (HD.7694) 8670 0 R (HD.7695) 8671 0 R (HD.7696) 8672 0 R (HD.7697) 8673 0 R (HD.7698) 8674 0 R (HD.7699) 8675 0 R (HD.77) 277 0 R (HD.770) 1090 0 R (HD.7700) 8676 0 R (HD.7701) 8677 0 R (HD.7702) 8678 0 R (HD.7703) 8679 0 R (HD.7704) 8680 0 R (HD.7705) 8681 0 R (HD.7706) 8682 0 R (HD.7707) 8683 0 R (HD.7708) 8684 0 R (HD.7709) 8685 0 R (HD.771) 1091 0 R (HD.7710) 8686 0 R (HD.7711) 8687 0 R (HD.7712) 8688 0 R (HD.7713) 8689 0 R (HD.7714) 8690 0 R (HD.7715) 8691 0 R (HD.7716) 8692 0 R (HD.7717) 8693 0 R (HD.7718) 8694 0 R ] /Limits [ (HD.7690) (HD.7718) ] >>
+endobj
+11949 0 obj
+<< /Names [ (HD.7719) 8695 0 R (HD.772) 1092 0 R (HD.7720) 8696 0 R (HD.7721) 8697 0 R (HD.7722) 8698 0 R (HD.7723) 8699 0 R (HD.7724) 8700 0 R (HD.7725) 8705 0 R (HD.7726) 8706 0 R (HD.7727) 8707 0 R (HD.7728) 8708 0 R (HD.7729) 8709 0 R (HD.773) 1093 0 R (HD.7730) 8710 0 R (HD.7731) 8711 0 R (HD.7732) 8712 0 R (HD.7733) 8713 0 R (HD.7734) 8714 0 R (HD.7735) 8715 0 R (HD.7736) 8716 0 R (HD.7737) 8717 0 R (HD.7738) 8718 0 R (HD.7739) 8719 0 R (HD.774) 1094 0 R (HD.7740) 8720 0 R (HD.7741) 8721 0 R (HD.7742) 8722 0 R (HD.7743) 8723 0 R (HD.7744) 8724 0 R (HD.7745) 8725 0 R (HD.7746) 8726 0 R (HD.7747) 8727 0 R ] /Limits [ (HD.7719) (HD.7747) ] >>
+endobj
+11950 0 obj
+<< /Names [ (HD.7748) 8728 0 R (HD.7749) 8729 0 R (HD.775) 1095 0 R (HD.7750) 8730 0 R (HD.7751) 8731 0 R (HD.7752) 8732 0 R (HD.7753) 8733 0 R (HD.7754) 8734 0 R (HD.7755) 8735 0 R (HD.7756) 8736 0 R (HD.7757) 8737 0 R (HD.7758) 8738 0 R (HD.7759) 8739 0 R (HD.776) 1096 0 R (HD.7760) 8740 0 R (HD.7761) 8741 0 R (HD.7762) 8742 0 R (HD.7763) 8743 0 R (HD.7764) 8744 0 R (HD.7765) 8745 0 R (HD.7766) 8746 0 R (HD.7767) 8747 0 R (HD.7768) 8748 0 R (HD.7769) 8749 0 R (HD.777) 1097 0 R (HD.7770) 8750 0 R (HD.7771) 8751 0 R (HD.7772) 8752 0 R (HD.7773) 8753 0 R (HD.7774) 8754 0 R (HD.7775) 8755 0 R (HD.7776) 8756 0 R ] /Limits [ (HD.7748) (HD.7776) ] >>
+endobj
+11951 0 obj
+<< /Names [ (HD.7777) 8757 0 R (HD.7778) 8758 0 R (HD.7779) 8759 0 R (HD.778) 1098 0 R (HD.7780) 8760 0 R (HD.7781) 8761 0 R (HD.7782) 8762 0 R (HD.7783) 8763 0 R (HD.7784) 8764 0 R (HD.7785) 8769 0 R (HD.7786) 8770 0 R (HD.7787) 8771 0 R (HD.7788) 8772 0 R (HD.7789) 8773 0 R (HD.779) 1099 0 R (HD.7790) 8774 0 R (HD.7791) 8775 0 R (HD.7792) 8776 0 R (HD.7793) 8777 0 R (HD.7794) 8778 0 R (HD.7795) 8779 0 R (HD.7796) 8780 0 R (HD.7797) 8781 0 R (HD.7798) 8782 0 R (HD.7799) 8783 0 R (HD.78) 278 0 R (HD.780) 1100 0 R (HD.7800) 8784 0 R (HD.7801) 8785 0 R (HD.7802) 8786 0 R (HD.7803) 8787 0 R (HD.7804) 8788 0 R ] /Limits [ (HD.7777) (HD.7804) ] >>
+endobj
+11952 0 obj
+<< /Names [ (HD.7805) 8789 0 R (HD.7806) 8790 0 R (HD.7807) 8791 0 R (HD.7808) 8792 0 R (HD.7809) 8793 0 R (HD.781) 1101 0 R (HD.7810) 8794 0 R (HD.7811) 8795 0 R (HD.7812) 8796 0 R (HD.7813) 8797 0 R (HD.7814) 8798 0 R (HD.7815) 8799 0 R (HD.7816) 8800 0 R (HD.7817) 8801 0 R (HD.7818) 8802 0 R (HD.7819) 8803 0 R (HD.782) 1102 0 R (HD.7820) 8804 0 R (HD.7821) 8805 0 R (HD.7822) 8806 0 R (HD.7823) 8807 0 R (HD.7824) 8808 0 R (HD.7825) 8809 0 R (HD.7826) 8810 0 R (HD.7827) 8811 0 R (HD.7828) 8812 0 R (HD.7829) 8813 0 R (HD.783) 1107 0 R (HD.7830) 8814 0 R (HD.7831) 8815 0 R (HD.7832) 8816 0 R (HD.7833) 8817 0 R ] /Limits [ (HD.7805) (HD.7833) ] >>
+endobj
+11953 0 obj
+<< /Names [ (HD.7834) 8818 0 R (HD.7835) 8819 0 R (HD.7836) 8820 0 R (HD.7837) 8821 0 R (HD.7838) 8822 0 R (HD.7839) 8823 0 R (HD.784) 1108 0 R (HD.7840) 8824 0 R (HD.7841) 8825 0 R (HD.7842) 8826 0 R (HD.7843) 8827 0 R (HD.7844) 8828 0 R (HD.7845) 8829 0 R (HD.7846) 8830 0 R (HD.7847) 8835 0 R (HD.7848) 8836 0 R (HD.7849) 8837 0 R (HD.785) 1109 0 R (HD.7850) 8838 0 R (HD.7851) 8839 0 R (HD.7852) 8840 0 R (HD.7853) 8841 0 R (HD.7854) 8842 0 R (HD.7855) 8843 0 R (HD.7856) 8844 0 R (HD.7857) 8845 0 R (HD.7858) 8846 0 R (HD.7859) 8847 0 R (HD.786) 1110 0 R (HD.7860) 8848 0 R (HD.7861) 8849 0 R (HD.7862) 8850 0 R ] /Limits [ (HD.7834) (HD.7862) ] >>
+endobj
+11954 0 obj
+<< /Names [ (HD.7863) 8851 0 R (HD.7864) 8852 0 R (HD.7865) 8853 0 R (HD.7866) 8854 0 R (HD.7867) 8855 0 R (HD.7868) 8856 0 R (HD.7869) 8857 0 R (HD.787) 1111 0 R (HD.7870) 8858 0 R (HD.7871) 8859 0 R (HD.7872) 8860 0 R (HD.7873) 8861 0 R (HD.7874) 8862 0 R (HD.7875) 8863 0 R (HD.7876) 8864 0 R (HD.7877) 8865 0 R (HD.7878) 8866 0 R (HD.7879) 8867 0 R (HD.788) 1112 0 R (HD.7880) 8868 0 R (HD.7881) 8869 0 R (HD.7882) 8870 0 R (HD.7883) 8871 0 R (HD.7884) 8872 0 R (HD.7885) 8873 0 R (HD.7886) 8874 0 R (HD.7887) 8875 0 R (HD.7888) 8876 0 R (HD.7889) 8877 0 R (HD.789) 1113 0 R (HD.7890) 8878 0 R (HD.7891) 8879 0 R ] /Limits [ (HD.7863) (HD.7891) ] >>
+endobj
+11955 0 obj
+<< /Names [ (HD.7892) 8880 0 R (HD.7893) 8881 0 R (HD.7894) 8882 0 R (HD.7895) 8883 0 R (HD.7896) 8884 0 R (HD.7897) 8885 0 R (HD.7898) 8891 0 R (HD.7899) 8892 0 R (HD.79) 279 0 R (HD.790) 1114 0 R (HD.7900) 8893 0 R (HD.7901) 8894 0 R (HD.7902) 8895 0 R (HD.7903) 8896 0 R (HD.7904) 8897 0 R (HD.7905) 8898 0 R (HD.7906) 8899 0 R (HD.7907) 8900 0 R (HD.7908) 8901 0 R (HD.7909) 8902 0 R (HD.791) 1115 0 R (HD.7910) 8903 0 R (HD.7911) 8904 0 R (HD.7912) 8905 0 R (HD.7913) 8906 0 R (HD.7914) 8907 0 R (HD.7915) 8908 0 R (HD.7916) 8909 0 R (HD.7917) 8910 0 R (HD.7918) 8911 0 R (HD.7919) 8912 0 R (HD.792) 1116 0 R ] /Limits [ (HD.7892) (HD.792) ] >>
+endobj
+11956 0 obj
+<< /Names [ (HD.7920) 8913 0 R (HD.7921) 8914 0 R (HD.7922) 8915 0 R (HD.7923) 8916 0 R (HD.7924) 8917 0 R (HD.7925) 8918 0 R (HD.7926) 8919 0 R (HD.7927) 8920 0 R (HD.7928) 8921 0 R (HD.7929) 8922 0 R (HD.793) 1117 0 R (HD.7930) 8923 0 R (HD.7931) 8924 0 R (HD.7932) 8925 0 R (HD.7933) 8926 0 R (HD.7934) 8927 0 R (HD.7935) 8928 0 R (HD.7936) 8929 0 R (HD.7937) 8930 0 R (HD.7938) 8931 0 R (HD.7939) 8932 0 R (HD.794) 1118 0 R (HD.7940) 8933 0 R (HD.7941) 8934 0 R (HD.7942) 8935 0 R (HD.7943) 8936 0 R (HD.7944) 8937 0 R (HD.7945) 8938 0 R (HD.7946) 8939 0 R (HD.7947) 8940 0 R (HD.7948) 8941 0 R (HD.7949) 8942 0 R ] /Limits [ (HD.7920) (HD.7949) ] >>
+endobj
+11957 0 obj
+<< /Names [ (HD.795) 1119 0 R (HD.7950) 8943 0 R (HD.7951) 8944 0 R (HD.7952) 8945 0 R (HD.7953) 8946 0 R (HD.7954) 8947 0 R (HD.7955) 8948 0 R (HD.7956) 8949 0 R (HD.7957) 8954 0 R (HD.7958) 8955 0 R (HD.7959) 8956 0 R (HD.796) 1120 0 R (HD.7960) 8957 0 R (HD.7961) 8958 0 R (HD.7962) 8959 0 R (HD.7963) 8960 0 R (HD.7964) 8961 0 R (HD.7965) 8962 0 R (HD.7966) 8963 0 R (HD.7967) 8964 0 R (HD.7968) 8965 0 R (HD.7969) 8966 0 R (HD.797) 1121 0 R (HD.7970) 8967 0 R (HD.7971) 8968 0 R (HD.7972) 8969 0 R (HD.7973) 8970 0 R (HD.7974) 8971 0 R (HD.7975) 8972 0 R (HD.7976) 8973 0 R (HD.7977) 8974 0 R (HD.7978) 8975 0 R ] /Limits [ (HD.795) (HD.7978) ] >>
+endobj
+11958 0 obj
+<< /Names [ (HD.7979) 8976 0 R (HD.798) 1122 0 R (HD.7980) 8977 0 R (HD.7981) 8978 0 R (HD.7982) 8979 0 R (HD.7983) 8980 0 R (HD.7984) 8981 0 R (HD.7985) 8982 0 R (HD.7986) 8983 0 R (HD.7987) 8984 0 R (HD.7988) 8985 0 R (HD.7989) 8986 0 R (HD.799) 1123 0 R (HD.7990) 8987 0 R (HD.7991) 8988 0 R (HD.7992) 8989 0 R (HD.7993) 8990 0 R (HD.7994) 8991 0 R (HD.7995) 8992 0 R (HD.7996) 8993 0 R (HD.7997) 8994 0 R (HD.7998) 8995 0 R (HD.7999) 8996 0 R (HD.8) 196 0 R (HD.80) 280 0 R (HD.800) 1124 0 R (HD.8000) 8997 0 R (HD.8001) 8998 0 R (HD.8002) 8999 0 R (HD.8003) 9000 0 R (HD.8004) 9001 0 R (HD.8005) 9002 0 R ] /Limits [ (HD.7979) (HD.8005) ] >>
+endobj
+11959 0 obj
+<< /Names [ (HD.8006) 9003 0 R (HD.8007) 9004 0 R (HD.8008) 9005 0 R (HD.8009) 9006 0 R (HD.801) 1125 0 R (HD.8010) 9007 0 R (HD.8011) 9012 0 R (HD.8012) 9013 0 R (HD.8013) 9014 0 R (HD.8014) 9015 0 R (HD.8015) 9016 0 R (HD.8016) 9017 0 R (HD.8017) 9018 0 R (HD.8018) 9019 0 R (HD.8019) 9020 0 R (HD.802) 1126 0 R (HD.8020) 9021 0 R (HD.8021) 9022 0 R (HD.8022) 9023 0 R (HD.8023) 9024 0 R (HD.8024) 9025 0 R (HD.8025) 9026 0 R (HD.8026) 9027 0 R (HD.8027) 9028 0 R (HD.8028) 9029 0 R (HD.8029) 9030 0 R (HD.803) 1127 0 R (HD.8030) 9031 0 R (HD.8031) 9032 0 R (HD.8032) 9033 0 R (HD.8033) 9034 0 R (HD.8034) 9035 0 R ] /Limits [ (HD.8006) (HD.8034) ] >>
+endobj
+11960 0 obj
+<< /Names [ (HD.8035) 9036 0 R (HD.8036) 9037 0 R (HD.8037) 9038 0 R (HD.8038) 9039 0 R (HD.8039) 9040 0 R (HD.804) 1128 0 R (HD.8040) 9041 0 R (HD.8041) 9042 0 R (HD.8042) 9043 0 R (HD.8043) 9044 0 R (HD.8044) 9045 0 R (HD.8045) 9046 0 R (HD.8046) 9047 0 R (HD.8047) 9048 0 R (HD.8048) 9049 0 R (HD.8049) 9050 0 R (HD.805) 1129 0 R (HD.8050) 9051 0 R (HD.8051) 9052 0 R (HD.8052) 9053 0 R (HD.8053) 9054 0 R (HD.8054) 9055 0 R (HD.8055) 9056 0 R (HD.8056) 9057 0 R (HD.8057) 9058 0 R (HD.8058) 9059 0 R (HD.8059) 9060 0 R (HD.806) 1130 0 R (HD.8060) 9061 0 R (HD.8061) 9062 0 R (HD.8062) 9063 0 R (HD.8063) 9064 0 R ] /Limits [ (HD.8035) (HD.8063) ] >>
+endobj
+11961 0 obj
+<< /Names [ (HD.8064) 9065 0 R (HD.8065) 9066 0 R (HD.8066) 9067 0 R (HD.8067) 9068 0 R (HD.8068) 9073 0 R (HD.8069) 9074 0 R (HD.807) 1131 0 R (HD.8070) 9075 0 R (HD.8071) 9076 0 R (HD.8072) 9077 0 R (HD.8073) 9078 0 R (HD.8074) 9079 0 R (HD.8075) 9080 0 R (HD.8076) 9081 0 R (HD.8077) 9082 0 R (HD.8078) 9083 0 R (HD.8079) 9084 0 R (HD.808) 1132 0 R (HD.8080) 9085 0 R (HD.8081) 9086 0 R (HD.8082) 9087 0 R (HD.8083) 9088 0 R (HD.8084) 9089 0 R (HD.8085) 9090 0 R (HD.8086) 9091 0 R (HD.8087) 9092 0 R (HD.8088) 9093 0 R (HD.8089) 9094 0 R (HD.809) 1133 0 R (HD.8090) 9095 0 R (HD.8091) 9096 0 R (HD.8092) 9097 0 R ] /Limits [ (HD.8064) (HD.8092) ] >>
+endobj
+11962 0 obj
+<< /Names [ (HD.8093) 9098 0 R (HD.8094) 9099 0 R (HD.8095) 9100 0 R (HD.8096) 9101 0 R (HD.8097) 9102 0 R (HD.8098) 9103 0 R (HD.8099) 9104 0 R (HD.81) 281 0 R (HD.810) 1134 0 R (HD.8100) 9105 0 R (HD.8101) 9106 0 R (HD.8102) 9107 0 R (HD.8103) 9108 0 R (HD.8104) 9109 0 R (HD.8105) 9110 0 R (HD.8106) 9111 0 R (HD.8107) 9112 0 R (HD.8108) 9113 0 R (HD.8109) 9114 0 R (HD.811) 1135 0 R (HD.8110) 9115 0 R (HD.8111) 9116 0 R (HD.8112) 9117 0 R (HD.8113) 9118 0 R (HD.8114) 9119 0 R (HD.8115) 9120 0 R (HD.8116) 9121 0 R (HD.8117) 9122 0 R (HD.8118) 9123 0 R (HD.8119) 9124 0 R (HD.812) 1136 0 R (HD.8120) 9125 0 R ] /Limits [ (HD.8093) (HD.8120) ] >>
+endobj
+11963 0 obj
+<< /Names [ (HD.8121) 9126 0 R (HD.8122) 9127 0 R (HD.8123) 9128 0 R (HD.8124) 9129 0 R (HD.8125) 9130 0 R (HD.8126) 9135 0 R (HD.8127) 9136 0 R (HD.8128) 9137 0 R (HD.8129) 9138 0 R (HD.813) 1137 0 R (HD.8130) 9139 0 R (HD.8131) 9140 0 R (HD.8132) 9141 0 R (HD.8133) 9142 0 R (HD.8134) 9143 0 R (HD.8135) 9144 0 R (HD.8136) 9145 0 R (HD.8137) 9146 0 R (HD.8138) 9147 0 R (HD.8139) 9148 0 R (HD.814) 1138 0 R (HD.8140) 9149 0 R (HD.8141) 9150 0 R (HD.8142) 9151 0 R (HD.8143) 9152 0 R (HD.8144) 9153 0 R (HD.8145) 9154 0 R (HD.8146) 9155 0 R (HD.8147) 9156 0 R (HD.8148) 9157 0 R (HD.8149) 9158 0 R (HD.815) 1139 0 R ] /Limits [ (HD.8121) (HD.815) ] >>
+endobj
+11964 0 obj
+<< /Names [ (HD.8150) 9159 0 R (HD.8151) 9160 0 R (HD.8152) 9161 0 R (HD.8153) 9162 0 R (HD.8154) 9163 0 R (HD.8155) 9164 0 R (HD.8156) 9165 0 R (HD.8157) 9166 0 R (HD.8158) 9167 0 R (HD.8159) 9168 0 R (HD.816) 1140 0 R (HD.8160) 9169 0 R (HD.8161) 9170 0 R (HD.8162) 9171 0 R (HD.8163) 9172 0 R (HD.8164) 9173 0 R (HD.8165) 9174 0 R (HD.8166) 9175 0 R (HD.8167) 9176 0 R (HD.8168) 9177 0 R (HD.8169) 9178 0 R (HD.817) 1141 0 R (HD.8170) 9179 0 R (HD.8171) 9180 0 R (HD.8172) 9181 0 R (HD.8173) 9182 0 R (HD.8174) 9183 0 R (HD.8175) 9184 0 R (HD.8176) 9185 0 R (HD.8177) 9186 0 R (HD.8178) 9187 0 R (HD.8179) 9188 0 R ] /Limits [ (HD.8150) (HD.8179) ] >>
+endobj
+11965 0 obj
+<< /Names [ (HD.818) 1142 0 R (HD.8180) 9193 0 R (HD.8181) 9194 0 R (HD.8182) 9195 0 R (HD.8183) 9196 0 R (HD.8184) 9197 0 R (HD.8185) 9198 0 R (HD.8186) 9199 0 R (HD.8187) 9200 0 R (HD.8188) 9201 0 R (HD.8189) 9202 0 R (HD.819) 1147 0 R (HD.8190) 9203 0 R (HD.8191) 9204 0 R (HD.8192) 9205 0 R (HD.8193) 9206 0 R (HD.8194) 9207 0 R (HD.8195) 9208 0 R (HD.8196) 9209 0 R (HD.8197) 9210 0 R (HD.8198) 9211 0 R (HD.8199) 9212 0 R (HD.82) 282 0 R (HD.820) 1148 0 R (HD.8200) 9213 0 R (HD.8201) 9214 0 R (HD.8202) 9215 0 R (HD.8203) 9216 0 R (HD.8204) 9217 0 R (HD.8205) 9218 0 R (HD.8206) 9219 0 R (HD.8207) 9220 0 R ] /Limits [ (HD.818) (HD.8207) ] >>
+endobj
+11966 0 obj
+<< /Names [ (HD.8208) 9221 0 R (HD.8209) 9222 0 R (HD.821) 1149 0 R (HD.8210) 9223 0 R (HD.8211) 9224 0 R (HD.8212) 9225 0 R (HD.8213) 9226 0 R (HD.8214) 9227 0 R (HD.8215) 9228 0 R (HD.8216) 9229 0 R (HD.8217) 9230 0 R (HD.8218) 9231 0 R (HD.8219) 9232 0 R (HD.822) 1150 0 R (HD.8220) 9233 0 R (HD.8221) 9234 0 R (HD.8222) 9235 0 R (HD.8223) 9236 0 R (HD.8224) 9237 0 R (HD.8225) 9238 0 R (HD.8226) 9239 0 R (HD.8227) 9240 0 R (HD.8228) 9241 0 R (HD.8229) 9246 0 R (HD.823) 1151 0 R (HD.8230) 9247 0 R (HD.8231) 9248 0 R (HD.8232) 9249 0 R (HD.8233) 9250 0 R (HD.8234) 9251 0 R (HD.8235) 9252 0 R (HD.8236) 9253 0 R ] /Limits [ (HD.8208) (HD.8236) ] >>
+endobj
+11967 0 obj
+<< /Names [ (HD.8237) 9254 0 R (HD.8238) 9255 0 R (HD.8239) 9256 0 R (HD.824) 1152 0 R (HD.8240) 9257 0 R (HD.8241) 9258 0 R (HD.8242) 9259 0 R (HD.8243) 9260 0 R (HD.8244) 9261 0 R (HD.8245) 9262 0 R (HD.8246) 9263 0 R (HD.8247) 9264 0 R (HD.8248) 9265 0 R (HD.8249) 9266 0 R (HD.825) 1153 0 R (HD.8250) 9267 0 R (HD.8251) 9268 0 R (HD.8252) 9269 0 R (HD.8253) 9270 0 R (HD.8254) 9271 0 R (HD.8255) 9272 0 R (HD.8256) 9273 0 R (HD.8257) 9274 0 R (HD.8258) 9275 0 R (HD.8259) 9276 0 R (HD.826) 1154 0 R (HD.8260) 9277 0 R (HD.8261) 9278 0 R (HD.8262) 9279 0 R (HD.8263) 9280 0 R (HD.8264) 9281 0 R (HD.8265) 9282 0 R ] /Limits [ (HD.8237) (HD.8265) ] >>
+endobj
+11968 0 obj
+<< /Names [ (HD.8266) 9283 0 R (HD.8267) 9284 0 R (HD.8268) 9285 0 R (HD.8269) 9286 0 R (HD.827) 1155 0 R (HD.8270) 9287 0 R (HD.8271) 9288 0 R (HD.8272) 9289 0 R (HD.8273) 9290 0 R (HD.8274) 9291 0 R (HD.8275) 9292 0 R (HD.8276) 9293 0 R (HD.8277) 9294 0 R (HD.8278) 9295 0 R (HD.8279) 9296 0 R (HD.828) 1156 0 R (HD.8280) 9301 0 R (HD.8281) 9302 0 R (HD.8282) 9303 0 R (HD.8283) 9304 0 R (HD.8284) 9305 0 R (HD.8285) 9306 0 R (HD.8286) 9307 0 R (HD.8287) 9308 0 R (HD.8288) 9309 0 R (HD.8289) 9310 0 R (HD.829) 1157 0 R (HD.8290) 9311 0 R (HD.8291) 9312 0 R (HD.8292) 9313 0 R (HD.8293) 9314 0 R (HD.8294) 9315 0 R ] /Limits [ (HD.8266) (HD.8294) ] >>
+endobj
+11969 0 obj
+<< /Names [ (HD.8295) 9316 0 R (HD.8296) 9317 0 R (HD.8297) 9318 0 R (HD.8298) 9319 0 R (HD.8299) 9320 0 R (HD.83) 283 0 R (HD.830) 1158 0 R (HD.8300) 9321 0 R (HD.8301) 9322 0 R (HD.8302) 9323 0 R (HD.8303) 9324 0 R (HD.8304) 9325 0 R (HD.8305) 9326 0 R (HD.8306) 9327 0 R (HD.8307) 9328 0 R (HD.8308) 9329 0 R (HD.8309) 9330 0 R (HD.831) 1159 0 R (HD.8310) 9331 0 R (HD.8311) 9332 0 R (HD.8312) 9333 0 R (HD.8313) 9334 0 R (HD.8314) 9335 0 R (HD.8315) 9336 0 R (HD.8316) 9337 0 R (HD.8317) 9338 0 R (HD.8318) 9339 0 R (HD.8319) 9344 0 R (HD.832) 1160 0 R (HD.8320) 9345 0 R (HD.8321) 9346 0 R (HD.8322) 9347 0 R ] /Limits [ (HD.8295) (HD.8322) ] >>
+endobj
+11970 0 obj
+<< /Names [ (HD.8323) 9348 0 R (HD.8324) 9349 0 R (HD.8325) 9350 0 R (HD.8326) 9351 0 R (HD.8327) 9352 0 R (HD.8328) 9353 0 R (HD.8329) 9354 0 R (HD.833) 1161 0 R (HD.8330) 9355 0 R (HD.8331) 9356 0 R (HD.8332) 9357 0 R (HD.8333) 9358 0 R (HD.8334) 9359 0 R (HD.8335) 9360 0 R (HD.8336) 9361 0 R (HD.8337) 9362 0 R (HD.8338) 9363 0 R (HD.8339) 9364 0 R (HD.834) 1162 0 R (HD.8340) 9365 0 R (HD.8341) 9366 0 R (HD.8342) 9367 0 R (HD.8343) 9368 0 R (HD.8344) 9369 0 R (HD.8345) 9370 0 R (HD.8346) 9371 0 R (HD.8347) 9372 0 R (HD.8348) 9373 0 R (HD.8349) 9374 0 R (HD.835) 1163 0 R (HD.8350) 9375 0 R (HD.8351) 9376 0 R ] /Limits [ (HD.8323) (HD.8351) ] >>
+endobj
+11971 0 obj
+<< /Names [ (HD.8352) 9377 0 R (HD.8353) 9378 0 R (HD.8354) 9379 0 R (HD.8355) 9380 0 R (HD.8356) 9381 0 R (HD.8357) 9382 0 R (HD.8358) 9383 0 R (HD.8359) 9384 0 R (HD.836) 1164 0 R (HD.8360) 9385 0 R (HD.8361) 9386 0 R (HD.8362) 9387 0 R (HD.8363) 9393 0 R (HD.8364) 9394 0 R (HD.8365) 9395 0 R (HD.8366) 9396 0 R (HD.8367) 9397 0 R (HD.8368) 9398 0 R (HD.8369) 9399 0 R (HD.837) 1165 0 R (HD.8370) 9400 0 R (HD.8371) 9401 0 R (HD.8372) 9402 0 R (HD.8373) 9403 0 R (HD.8374) 9404 0 R (HD.8375) 9405 0 R (HD.8376) 9406 0 R (HD.8377) 9407 0 R (HD.8378) 9408 0 R (HD.8379) 9409 0 R (HD.838) 1166 0 R (HD.8380) 9410 0 R ] /Limits [ (HD.8352) (HD.8380) ] >>
+endobj
+11972 0 obj
+<< /Names [ (HD.8381) 9411 0 R (HD.8382) 9412 0 R (HD.8383) 9413 0 R (HD.8384) 9414 0 R (HD.8385) 9415 0 R (HD.8386) 9416 0 R (HD.8387) 9417 0 R (HD.8388) 9418 0 R (HD.8389) 9419 0 R (HD.839) 1167 0 R (HD.8390) 9420 0 R (HD.8391) 9421 0 R (HD.8392) 9422 0 R (HD.8393) 9423 0 R (HD.8394) 9430 0 R (HD.8395) 9431 0 R (HD.8396) 9432 0 R (HD.8397) 9433 0 R (HD.8398) 9434 0 R (HD.8399) 9435 0 R (HD.84) 284 0 R (HD.840) 1168 0 R (HD.8400) 9436 0 R (HD.8401) 9437 0 R (HD.8402) 9438 0 R (HD.8403) 9439 0 R (HD.8404) 9440 0 R (HD.8405) 9441 0 R (HD.8406) 9442 0 R (HD.8407) 9443 0 R (HD.8408) 9444 0 R (HD.8409) 9445 0 R ] /Limits [ (HD.8381) (HD.8409) ] >>
+endobj
+11973 0 obj
+<< /Names [ (HD.841) 1169 0 R (HD.8410) 9446 0 R (HD.8411) 9447 0 R (HD.8412) 9448 0 R (HD.8413) 9449 0 R (HD.8414) 9450 0 R (HD.8415) 9451 0 R (HD.8416) 9452 0 R (HD.8417) 9453 0 R (HD.8418) 9454 0 R (HD.8419) 9455 0 R (HD.842) 1170 0 R (HD.8420) 9456 0 R (HD.8421) 9457 0 R (HD.8422) 9458 0 R (HD.8423) 9459 0 R (HD.8424) 9460 0 R (HD.8425) 9461 0 R (HD.8426) 9462 0 R (HD.8427) 9463 0 R (HD.8428) 9464 0 R (HD.8429) 9465 0 R (HD.843) 1171 0 R (HD.8430) 9466 0 R (HD.8431) 9467 0 R (HD.8432) 9468 0 R (HD.8433) 9469 0 R (HD.8434) 9474 0 R (HD.8435) 9475 0 R (HD.8436) 9476 0 R (HD.8437) 9477 0 R (HD.8438) 9478 0 R ] /Limits [ (HD.841) (HD.8438) ] >>
+endobj
+11974 0 obj
+<< /Names [ (HD.8439) 9479 0 R (HD.844) 1172 0 R (HD.8440) 9480 0 R (HD.8441) 9481 0 R (HD.8442) 9482 0 R (HD.8443) 9483 0 R (HD.8444) 9484 0 R (HD.8445) 9485 0 R (HD.8446) 9486 0 R (HD.8447) 9487 0 R (HD.8448) 9488 0 R (HD.8449) 9489 0 R (HD.845) 1173 0 R (HD.8450) 9490 0 R (HD.8451) 9491 0 R (HD.8452) 9492 0 R (HD.8453) 9493 0 R (HD.8454) 9494 0 R (HD.8455) 9495 0 R (HD.8456) 9496 0 R (HD.8457) 9497 0 R (HD.8458) 9498 0 R (HD.8459) 9499 0 R (HD.846) 1174 0 R (HD.8460) 9500 0 R (HD.8461) 9501 0 R (HD.8462) 9502 0 R (HD.8463) 9503 0 R (HD.8464) 9504 0 R (HD.8465) 9505 0 R (HD.8466) 9506 0 R (HD.8467) 9507 0 R ] /Limits [ (HD.8439) (HD.8467) ] >>
+endobj
+11975 0 obj
+<< /Names [ (HD.8468) 9508 0 R (HD.8469) 9509 0 R (HD.847) 1175 0 R (HD.8470) 9510 0 R (HD.8471) 9511 0 R (HD.8472) 9512 0 R (HD.8473) 9513 0 R (HD.8474) 9514 0 R (HD.8475) 9515 0 R (HD.8476) 9516 0 R (HD.8477) 9517 0 R (HD.8478) 9518 0 R (HD.8479) 9519 0 R (HD.848) 1176 0 R (HD.8480) 9520 0 R (HD.8481) 9521 0 R (HD.8482) 9522 0 R (HD.8483) 9523 0 R (HD.8484) 9524 0 R (HD.8485) 9525 0 R (HD.8486) 9526 0 R (HD.8487) 9527 0 R (HD.8488) 9532 0 R (HD.8489) 9533 0 R (HD.849) 1177 0 R (HD.8490) 9534 0 R (HD.8491) 9535 0 R (HD.8492) 9536 0 R (HD.8493) 9537 0 R (HD.8494) 9538 0 R (HD.8495) 9539 0 R (HD.8496) 9540 0 R ] /Limits [ (HD.8468) (HD.8496) ] >>
+endobj
+11976 0 obj
+<< /Names [ (HD.8497) 9541 0 R (HD.8498) 9542 0 R (HD.8499) 9543 0 R (HD.85) 285 0 R (HD.850) 1178 0 R (HD.8500) 9544 0 R (HD.8501) 9545 0 R (HD.8502) 9546 0 R (HD.8503) 9547 0 R (HD.8504) 9548 0 R (HD.8505) 9549 0 R (HD.8506) 9550 0 R (HD.8507) 9551 0 R (HD.8508) 9552 0 R (HD.8509) 9553 0 R (HD.851) 1179 0 R (HD.8510) 9554 0 R (HD.8511) 9555 0 R (HD.8512) 9556 0 R (HD.8513) 9557 0 R (HD.8514) 9558 0 R (HD.8515) 9559 0 R (HD.8516) 9560 0 R (HD.8517) 9561 0 R (HD.8518) 9562 0 R (HD.8519) 9563 0 R (HD.852) 1180 0 R (HD.8520) 9564 0 R (HD.8521) 9565 0 R (HD.8522) 9566 0 R (HD.8523) 9567 0 R (HD.8524) 9568 0 R ] /Limits [ (HD.8497) (HD.8524) ] >>
+endobj
+11977 0 obj
+<< /Names [ (HD.8525) 9569 0 R (HD.8526) 9570 0 R (HD.8527) 9571 0 R (HD.8528) 9572 0 R (HD.8529) 9573 0 R (HD.853) 1181 0 R (HD.8530) 9574 0 R (HD.8531) 9575 0 R (HD.8532) 9576 0 R (HD.8533) 9577 0 R (HD.8534) 9578 0 R (HD.8535) 9579 0 R (HD.8536) 9580 0 R (HD.8537) 9581 0 R (HD.8538) 9582 0 R (HD.8539) 9583 0 R (HD.854) 1182 0 R (HD.8540) 9584 0 R (HD.8541) 9585 0 R (HD.8542) 9586 0 R (HD.8543) 9591 0 R (HD.8544) 9592 0 R (HD.8545) 9593 0 R (HD.8546) 9594 0 R (HD.8547) 9595 0 R (HD.8548) 9596 0 R (HD.8549) 9597 0 R (HD.855) 1183 0 R (HD.8550) 9598 0 R (HD.8551) 9599 0 R (HD.8552) 9600 0 R (HD.8553) 9601 0 R ] /Limits [ (HD.8525) (HD.8553) ] >>
+endobj
+11978 0 obj
+<< /Names [ (HD.8554) 9602 0 R (HD.8555) 9603 0 R (HD.8556) 9604 0 R (HD.8557) 9605 0 R (HD.8558) 9606 0 R (HD.8559) 9607 0 R (HD.856) 1184 0 R (HD.8560) 9608 0 R (HD.8561) 9609 0 R (HD.8562) 9610 0 R (HD.8563) 9611 0 R (HD.8564) 9612 0 R (HD.8565) 9613 0 R (HD.8566) 9614 0 R (HD.8567) 9615 0 R (HD.8568) 9616 0 R (HD.8569) 9617 0 R (HD.857) 1185 0 R (HD.8570) 9618 0 R (HD.8571) 9619 0 R (HD.8572) 9620 0 R (HD.8573) 9621 0 R (HD.8574) 9622 0 R (HD.8575) 9623 0 R (HD.8576) 9624 0 R (HD.8577) 9625 0 R (HD.8578) 9626 0 R (HD.8579) 9627 0 R (HD.858) 1186 0 R (HD.8580) 9628 0 R (HD.8581) 9629 0 R (HD.8582) 9630 0 R ] /Limits [ (HD.8554) (HD.8582) ] >>
+endobj
+11979 0 obj
+<< /Names [ (HD.8583) 9631 0 R (HD.8584) 9632 0 R (HD.8585) 9633 0 R (HD.8586) 9634 0 R (HD.8587) 9639 0 R (HD.8588) 9640 0 R (HD.8589) 9641 0 R (HD.859) 1187 0 R (HD.8590) 9642 0 R (HD.8591) 9643 0 R (HD.8592) 9644 0 R (HD.8593) 9645 0 R (HD.8594) 9646 0 R (HD.8595) 9647 0 R (HD.8596) 9648 0 R (HD.8597) 9649 0 R (HD.8598) 9650 0 R (HD.8599) 9651 0 R (HD.86) 286 0 R (HD.860) 1188 0 R (HD.8600) 9652 0 R (HD.8601) 9653 0 R (HD.8602) 9654 0 R (HD.8603) 9655 0 R (HD.8604) 9656 0 R (HD.8605) 9657 0 R (HD.8606) 9658 0 R (HD.8607) 9659 0 R (HD.8608) 9660 0 R (HD.8609) 9661 0 R (HD.861) 1189 0 R (HD.8610) 9662 0 R ] /Limits [ (HD.8583) (HD.8610) ] >>
+endobj
+11980 0 obj
+<< /Names [ (HD.8611) 9663 0 R (HD.8612) 9664 0 R (HD.8613) 9665 0 R (HD.8614) 9666 0 R (HD.8615) 9667 0 R (HD.8616) 9668 0 R (HD.8617) 9669 0 R (HD.8618) 9670 0 R (HD.8619) 9671 0 R (HD.862) 1190 0 R (HD.8620) 9672 0 R (HD.8621) 9673 0 R (HD.8622) 9674 0 R (HD.8623) 9675 0 R (HD.8624) 9676 0 R (HD.8625) 9677 0 R (HD.8626) 9678 0 R (HD.8627) 9679 0 R (HD.8628) 9680 0 R (HD.8629) 9681 0 R (HD.863) 1191 0 R (HD.8630) 9682 0 R (HD.8631) 9683 0 R (HD.8632) 9684 0 R (HD.8633) 9685 0 R (HD.8634) 9686 0 R (HD.8635) 9687 0 R (HD.8636) 9688 0 R (HD.8637) 9689 0 R (HD.8638) 9690 0 R (HD.8639) 9691 0 R (HD.864) 1192 0 R ] /Limits [ (HD.8611) (HD.864) ] >>
+endobj
+11981 0 obj
+<< /Names [ (HD.8640) 9692 0 R (HD.8641) 9693 0 R (HD.8642) 9694 0 R (HD.8643) 9695 0 R (HD.8644) 9696 0 R (HD.8645) 9697 0 R (HD.8646) 9702 0 R (HD.8647) 9703 0 R (HD.8648) 9704 0 R (HD.8649) 9705 0 R (HD.865) 1193 0 R (HD.8650) 9706 0 R (HD.8651) 9707 0 R (HD.8652) 9708 0 R (HD.8653) 9709 0 R (HD.8654) 9710 0 R (HD.8655) 9711 0 R (HD.8656) 9712 0 R (HD.8657) 9713 0 R (HD.8658) 9714 0 R (HD.8659) 9715 0 R (HD.866) 1194 0 R (HD.8660) 9716 0 R (HD.8661) 9717 0 R (HD.8662) 9718 0 R (HD.8663) 9719 0 R (HD.8664) 9720 0 R (HD.8665) 9721 0 R (HD.8666) 9722 0 R (HD.8667) 9723 0 R (HD.8668) 9724 0 R (HD.8669) 9725 0 R ] /Limits [ (HD.8640) (HD.8669) ] >>
+endobj
+11982 0 obj
+<< /Names [ (HD.867) 1195 0 R (HD.8670) 9726 0 R (HD.8671) 9727 0 R (HD.8672) 9728 0 R (HD.8673) 9729 0 R (HD.8674) 9730 0 R (HD.8675) 9731 0 R (HD.8676) 9732 0 R (HD.8677) 9733 0 R (HD.8678) 9734 0 R (HD.8679) 9735 0 R (HD.868) 1196 0 R (HD.8680) 9736 0 R (HD.8681) 9737 0 R (HD.8682) 9738 0 R (HD.8683) 9739 0 R (HD.8684) 9740 0 R (HD.8685) 9741 0 R (HD.8686) 9742 0 R (HD.8687) 9743 0 R (HD.8688) 9744 0 R (HD.8689) 9745 0 R (HD.869) 1201 0 R (HD.8690) 9746 0 R (HD.8691) 9747 0 R (HD.8692) 9748 0 R (HD.8693) 9749 0 R (HD.8694) 9750 0 R (HD.8695) 9755 0 R (HD.8696) 9756 0 R (HD.8697) 9757 0 R (HD.8698) 9758 0 R ] /Limits [ (HD.867) (HD.8698) ] >>
+endobj
+11983 0 obj
+<< /Names [ (HD.8699) 9759 0 R (HD.87) 287 0 R (HD.870) 1202 0 R (HD.8700) 9760 0 R (HD.8701) 9761 0 R (HD.8702) 9762 0 R (HD.8703) 9763 0 R (HD.8704) 9764 0 R (HD.8705) 9765 0 R (HD.8706) 9766 0 R (HD.8707) 9767 0 R (HD.8708) 9768 0 R (HD.8709) 9769 0 R (HD.871) 1203 0 R (HD.8710) 9770 0 R (HD.8711) 9771 0 R (HD.8712) 9772 0 R (HD.8713) 9773 0 R (HD.8714) 9774 0 R (HD.8715) 9775 0 R (HD.8716) 9776 0 R (HD.8717) 9777 0 R (HD.8718) 9778 0 R (HD.8719) 9779 0 R (HD.872) 1204 0 R (HD.8720) 9780 0 R (HD.8721) 9781 0 R (HD.8722) 9782 0 R (HD.8723) 9783 0 R (HD.8724) 9784 0 R (HD.8725) 9785 0 R (HD.8726) 9786 0 R ] /Limits [ (HD.8699) (HD.8726) ] >>
+endobj
+11984 0 obj
+<< /Names [ (HD.8727) 9787 0 R (HD.8728) 9788 0 R (HD.8729) 9789 0 R (HD.873) 1205 0 R (HD.8730) 9790 0 R (HD.8731) 9791 0 R (HD.8732) 9792 0 R (HD.8733) 9793 0 R (HD.8734) 9794 0 R (HD.8735) 9795 0 R (HD.8736) 9796 0 R (HD.8737) 9797 0 R (HD.8738) 9798 0 R (HD.8739) 9799 0 R (HD.874) 1206 0 R (HD.8740) 9800 0 R (HD.8741) 9801 0 R (HD.8742) 9802 0 R (HD.8743) 9803 0 R (HD.8744) 9804 0 R (HD.8745) 9805 0 R (HD.8746) 9810 0 R (HD.8747) 9811 0 R (HD.8748) 9812 0 R (HD.8749) 9813 0 R (HD.875) 1207 0 R (HD.8750) 9814 0 R (HD.8751) 9815 0 R (HD.8752) 9816 0 R (HD.8753) 9817 0 R (HD.8754) 9818 0 R (HD.8755) 9819 0 R ] /Limits [ (HD.8727) (HD.8755) ] >>
+endobj
+11985 0 obj
+<< /Names [ (HD.8756) 9820 0 R (HD.8757) 9821 0 R (HD.8758) 9822 0 R (HD.8759) 9823 0 R (HD.876) 1208 0 R (HD.8760) 9824 0 R (HD.8761) 9825 0 R (HD.8762) 9826 0 R (HD.8763) 9827 0 R (HD.8764) 9828 0 R (HD.8765) 9829 0 R (HD.8766) 9830 0 R (HD.8767) 9831 0 R (HD.8768) 9832 0 R (HD.8769) 9833 0 R (HD.877) 1209 0 R (HD.8770) 9834 0 R (HD.8771) 9835 0 R (HD.8772) 9836 0 R (HD.8773) 9837 0 R (HD.8774) 9838 0 R (HD.8775) 9839 0 R (HD.8776) 9840 0 R (HD.8777) 9841 0 R (HD.8778) 9842 0 R (HD.8779) 9843 0 R (HD.878) 1210 0 R (HD.8780) 9844 0 R (HD.8781) 9849 0 R (HD.8782) 9850 0 R (HD.8783) 9851 0 R (HD.8784) 9852 0 R ] /Limits [ (HD.8756) (HD.8784) ] >>
+endobj
+11986 0 obj
+<< /Names [ (HD.8785) 9853 0 R (HD.8786) 9854 0 R (HD.8787) 9855 0 R (HD.8788) 9856 0 R (HD.8789) 9857 0 R (HD.879) 1211 0 R (HD.8790) 9858 0 R (HD.8791) 9859 0 R (HD.8792) 9860 0 R (HD.8793) 9861 0 R (HD.8794) 9862 0 R (HD.8795) 9863 0 R (HD.8796) 9864 0 R (HD.8797) 9865 0 R (HD.8798) 9866 0 R (HD.8799) 9867 0 R (HD.88) 288 0 R (HD.880) 1212 0 R (HD.8800) 9868 0 R (HD.8801) 9869 0 R (HD.8802) 9870 0 R (HD.8803) 9871 0 R (HD.8804) 9872 0 R (HD.8805) 9873 0 R (HD.8806) 9874 0 R (HD.8807) 9875 0 R (HD.8808) 9876 0 R (HD.8809) 9877 0 R (HD.881) 1213 0 R (HD.8810) 9878 0 R (HD.8811) 9879 0 R (HD.8812) 9880 0 R ] /Limits [ (HD.8785) (HD.8812) ] >>
+endobj
+11987 0 obj
+<< /Names [ (HD.8813) 9881 0 R (HD.8814) 9882 0 R (HD.8815) 9883 0 R (HD.8816) 9884 0 R (HD.8817) 9885 0 R (HD.8818) 9886 0 R (HD.8819) 9887 0 R (HD.882) 1214 0 R (HD.8820) 9888 0 R (HD.8821) 9889 0 R (HD.8822) 9890 0 R (HD.8823) 9891 0 R (HD.8824) 9892 0 R (HD.8825) 9893 0 R (HD.8826) 9894 0 R (HD.8827) 9899 0 R (HD.8828) 9900 0 R (HD.8829) 9901 0 R (HD.883) 1215 0 R (HD.8830) 9902 0 R (HD.8831) 9903 0 R (HD.8832) 9904 0 R (HD.8833) 9905 0 R (HD.8834) 9906 0 R (HD.8835) 9907 0 R (HD.8836) 9908 0 R (HD.8837) 9909 0 R (HD.8838) 9910 0 R (HD.8839) 9911 0 R (HD.884) 1216 0 R (HD.8840) 9912 0 R (HD.8841) 9913 0 R ] /Limits [ (HD.8813) (HD.8841) ] >>
+endobj
+11988 0 obj
+<< /Names [ (HD.8842) 9914 0 R (HD.8843) 9915 0 R (HD.8844) 9916 0 R (HD.8845) 9917 0 R (HD.8846) 9918 0 R (HD.8847) 9919 0 R (HD.8848) 9920 0 R (HD.8849) 9921 0 R (HD.885) 1217 0 R (HD.8850) 9922 0 R (HD.8851) 9923 0 R (HD.8852) 9924 0 R (HD.8853) 9925 0 R (HD.8854) 9926 0 R (HD.8855) 9927 0 R (HD.8856) 9928 0 R (HD.8857) 9929 0 R (HD.8858) 9930 0 R (HD.8859) 9931 0 R (HD.886) 1218 0 R (HD.8860) 9932 0 R (HD.8861) 9933 0 R (HD.8862) 9934 0 R (HD.8863) 9935 0 R (HD.8864) 9936 0 R (HD.8865) 9937 0 R (HD.8866) 9938 0 R (HD.8867) 9939 0 R (HD.8868) 9940 0 R (HD.8869) 9941 0 R (HD.887) 1219 0 R (HD.8870) 9942 0 R ] /Limits [ (HD.8842) (HD.8870) ] >>
+endobj
+11989 0 obj
+<< /Names [ (HD.8871) 9943 0 R (HD.8872) 9944 0 R (HD.8873) 9945 0 R (HD.8874) 9946 0 R (HD.8875) 9947 0 R (HD.8876) 9953 0 R (HD.8877) 9954 0 R (HD.8878) 9955 0 R (HD.8879) 9956 0 R (HD.888) 1220 0 R (HD.8880) 9957 0 R (HD.8881) 9958 0 R (HD.8882) 9959 0 R (HD.8883) 9960 0 R (HD.8884) 9961 0 R (HD.8885) 9962 0 R (HD.8886) 9963 0 R (HD.8887) 9964 0 R (HD.8888) 9965 0 R (HD.8889) 9966 0 R (HD.889) 1221 0 R (HD.8890) 9967 0 R (HD.8891) 9968 0 R (HD.8892) 9969 0 R (HD.8893) 9970 0 R (HD.8894) 9971 0 R (HD.8895) 9972 0 R (HD.8896) 9973 0 R (HD.8897) 9974 0 R (HD.8898) 9975 0 R (HD.8899) 9976 0 R (HD.89) 289 0 R ] /Limits [ (HD.8871) (HD.89) ] >>
+endobj
+11990 0 obj
+<< /Names [ (HD.890) 1222 0 R (HD.8900) 9977 0 R (HD.8901) 9978 0 R (HD.8902) 9979 0 R (HD.8903) 9980 0 R (HD.8904) 9981 0 R (HD.8905) 9982 0 R (HD.8906) 9983 0 R (HD.8907) 9984 0 R (HD.8908) 9985 0 R (HD.8909) 9986 0 R (HD.891) 1223 0 R (HD.8910) 9987 0 R (HD.8911) 9988 0 R (HD.8912) 9989 0 R (HD.8913) 9990 0 R (HD.8914) 9991 0 R (HD.8915) 9992 0 R (HD.8916) 9993 0 R (HD.8917) 9994 0 R (HD.8918) 9995 0 R (HD.8919) 9996 0 R (HD.892) 1224 0 R (HD.8920) 9997 0 R (HD.8921) 9998 0 R (HD.8922) 9999 0 R (HD.8923) 10000 0 R (HD.8924) 10001 0 R (HD.8925) 10002 0 R (HD.8926) 10003 0 R (HD.8927) 10004 0 R (HD.8928) 10005 0 R ] /Limits [ (HD.890) (HD.8928) ] >>
+endobj
+11991 0 obj
+<< /Names [ (HD.8929) 10006 0 R (HD.893) 1225 0 R (HD.8930) 10007 0 R (HD.8931) 10008 0 R (HD.8932) 10009 0 R (HD.8933) 10010 0 R (HD.8934) 10015 0 R (HD.8935) 10016 0 R (HD.8936) 10017 0 R (HD.8937) 10018 0 R (HD.8938) 10019 0 R (HD.8939) 10020 0 R (HD.894) 1226 0 R (HD.8940) 10021 0 R (HD.8941) 10022 0 R (HD.8942) 10023 0 R (HD.8943) 10024 0 R (HD.8944) 10025 0 R (HD.8945) 10026 0 R (HD.8946) 10027 0 R (HD.8947) 10028 0 R (HD.8948) 10029 0 R (HD.8949) 10030 0 R (HD.895) 1227 0 R (HD.8950) 10031 0 R (HD.8951) 10032 0 R (HD.8952) 10033 0 R (HD.8953) 10034 0 R (HD.8954) 10035 0 R (HD.8955) 10036 0 R (HD.8956) 10037 0 R (HD.8957) 10038 0 R ] /Limits [ (HD.8929) (HD.8957) ] >>
+endobj
+11992 0 obj
+<< /Names [ (HD.8958) 10039 0 R (HD.8959) 10040 0 R (HD.896) 1228 0 R (HD.8960) 10041 0 R (HD.8961) 10042 0 R (HD.8962) 10043 0 R (HD.8963) 10044 0 R (HD.8964) 10045 0 R (HD.8965) 10046 0 R (HD.8966) 10047 0 R (HD.8967) 10048 0 R (HD.8968) 10049 0 R (HD.8969) 10050 0 R (HD.897) 1229 0 R (HD.8970) 10051 0 R (HD.8971) 10052 0 R (HD.8972) 10053 0 R (HD.8973) 10054 0 R (HD.8974) 10055 0 R (HD.8975) 10056 0 R (HD.8976) 10057 0 R (HD.8977) 10058 0 R (HD.8978) 10059 0 R (HD.8979) 10060 0 R (HD.898) 1230 0 R (HD.8980) 10061 0 R (HD.8981) 10062 0 R (HD.8982) 10063 0 R (HD.8983) 10064 0 R (HD.8984) 10065 0 R (HD.8985) 10066 0 R (HD.8986) 10067 0 R ] /Limits [ (HD.8958) (HD.8986) ] >>
+endobj
+11993 0 obj
+<< /Names [ (HD.8987) 10068 0 R (HD.8988) 10069 0 R (HD.8989) 10070 0 R (HD.899) 1231 0 R (HD.8990) 10071 0 R (HD.8991) 10072 0 R (HD.8992) 10073 0 R (HD.8993) 10078 0 R (HD.8994) 10079 0 R (HD.8995) 10080 0 R (HD.8996) 10081 0 R (HD.8997) 10082 0 R (HD.8998) 10083 0 R (HD.8999) 10084 0 R (HD.9) 197 0 R (HD.90) 290 0 R (HD.900) 1232 0 R (HD.9000) 10085 0 R (HD.9001) 10086 0 R (HD.9002) 10087 0 R (HD.9003) 10088 0 R (HD.9004) 10089 0 R (HD.9005) 10090 0 R (HD.9006) 10091 0 R (HD.9007) 10092 0 R (HD.9008) 10093 0 R (HD.9009) 10094 0 R (HD.901) 1233 0 R (HD.9010) 10095 0 R (HD.9011) 10096 0 R (HD.9012) 10097 0 R (HD.9013) 10098 0 R ] /Limits [ (HD.8987) (HD.9013) ] >>
+endobj
+11994 0 obj
+<< /Names [ (HD.9014) 10099 0 R (HD.9015) 10100 0 R (HD.9016) 10101 0 R (HD.9017) 10102 0 R (HD.9018) 10103 0 R (HD.9019) 10104 0 R (HD.902) 1234 0 R (HD.9020) 10105 0 R (HD.9021) 10106 0 R (HD.9022) 10107 0 R (HD.9023) 10108 0 R (HD.9024) 10109 0 R (HD.9025) 10110 0 R (HD.9026) 10111 0 R (HD.9027) 10112 0 R (HD.9028) 10113 0 R (HD.9029) 10114 0 R (HD.903) 1235 0 R (HD.9030) 10115 0 R (HD.9031) 10116 0 R (HD.9032) 10117 0 R (HD.9033) 10118 0 R (HD.9034) 10119 0 R (HD.9035) 10120 0 R (HD.9036) 10121 0 R (HD.9037) 10122 0 R (HD.9038) 10123 0 R (HD.9039) 10124 0 R (HD.904) 1236 0 R (HD.9040) 10125 0 R (HD.9041) 10126 0 R (HD.9042) 10127 0 R ] /Limits [ (HD.9014) (HD.9042) ] >>
+endobj
+11995 0 obj
+<< /Names [ (HD.9043) 10128 0 R (HD.9044) 10129 0 R (HD.9045) 10130 0 R (HD.9046) 10131 0 R (HD.9047) 10132 0 R (HD.9048) 10133 0 R (HD.9049) 10138 0 R (HD.905) 1237 0 R (HD.9050) 10139 0 R (HD.9051) 10140 0 R (HD.9052) 10141 0 R (HD.9053) 10142 0 R (HD.9054) 10143 0 R (HD.9055) 10144 0 R (HD.9056) 10145 0 R (HD.9057) 10146 0 R (HD.9058) 10147 0 R (HD.9059) 10148 0 R (HD.906) 1238 0 R (HD.9060) 10149 0 R (HD.9061) 10150 0 R (HD.9062) 10151 0 R (HD.9063) 10152 0 R (HD.9064) 10153 0 R (HD.9065) 10154 0 R (HD.9066) 10155 0 R (HD.9067) 10156 0 R (HD.9068) 10157 0 R (HD.9069) 10158 0 R (HD.907) 1239 0 R (HD.9070) 10159 0 R (HD.9071) 10160 0 R ] /Limits [ (HD.9043) (HD.9071) ] >>
+endobj
+11996 0 obj
+<< /Names [ (HD.9072) 10161 0 R (HD.9073) 10162 0 R (HD.9074) 10163 0 R (HD.9075) 10164 0 R (HD.9076) 10165 0 R (HD.9077) 10166 0 R (HD.9078) 10167 0 R (HD.9079) 10168 0 R (HD.908) 1240 0 R (HD.9080) 10169 0 R (HD.9081) 10170 0 R (HD.9082) 10171 0 R (HD.9083) 10172 0 R (HD.9084) 10173 0 R (HD.9085) 10174 0 R (HD.9086) 10175 0 R (HD.9087) 10176 0 R (HD.9088) 10177 0 R (HD.9089) 10178 0 R (HD.909) 1241 0 R (HD.9090) 10179 0 R (HD.9091) 10180 0 R (HD.9092) 10181 0 R (HD.9093) 10182 0 R (HD.9094) 10183 0 R (HD.9095) 10184 0 R (HD.9096) 10185 0 R (HD.9097) 10186 0 R (HD.9098) 10187 0 R (HD.9099) 10188 0 R (HD.91) 291 0 R (HD.910) 1242 0 R ] /Limits [ (HD.9072) (HD.910) ] >>
+endobj
+11997 0 obj
+<< /Names [ (HD.9100) 10189 0 R (HD.9101) 10190 0 R (HD.9102) 10191 0 R (HD.9103) 10192 0 R (HD.9104) 10193 0 R (HD.9105) 10194 0 R (HD.9106) 10195 0 R (HD.9107) 10196 0 R (HD.9108) 10197 0 R (HD.9109) 10198 0 R (HD.911) 1243 0 R (HD.9110) 10203 0 R (HD.9111) 10204 0 R (HD.9112) 10205 0 R (HD.9113) 10206 0 R (HD.9114) 10207 0 R (HD.9115) 10208 0 R (HD.9116) 10209 0 R (HD.9117) 10210 0 R (HD.9118) 10211 0 R (HD.9119) 10212 0 R (HD.912) 1244 0 R (HD.9120) 10213 0 R (HD.9121) 10214 0 R (HD.9122) 10215 0 R (HD.9123) 10216 0 R (HD.9124) 10217 0 R (HD.9125) 10218 0 R (HD.9126) 10219 0 R (HD.9127) 10220 0 R (HD.9128) 10221 0 R (HD.9129) 10222 0 R ] /Limits [ (HD.9100) (HD.9129) ] >>
+endobj
+11998 0 obj
+<< /Names [ (HD.913) 1245 0 R (HD.9130) 10223 0 R (HD.9131) 10224 0 R (HD.9132) 10225 0 R (HD.9133) 10226 0 R (HD.9134) 10227 0 R (HD.9135) 10228 0 R (HD.9136) 10229 0 R (HD.9137) 10230 0 R (HD.9138) 10231 0 R (HD.9139) 10232 0 R (HD.914) 1246 0 R (HD.9140) 10233 0 R (HD.9141) 10234 0 R (HD.9142) 10235 0 R (HD.9143) 10236 0 R (HD.9144) 10237 0 R (HD.9145) 10238 0 R (HD.9146) 10239 0 R (HD.9147) 10240 0 R (HD.9148) 10241 0 R (HD.9149) 10242 0 R (HD.915) 1247 0 R (HD.9150) 10243 0 R (HD.9151) 10244 0 R (HD.9152) 10245 0 R (HD.9153) 10246 0 R (HD.9154) 10247 0 R (HD.9155) 10248 0 R (HD.9156) 10249 0 R (HD.9157) 10250 0 R (HD.9158) 10251 0 R ] /Limits [ (HD.913) (HD.9158) ] >>
+endobj
+11999 0 obj
+<< /Names [ (HD.9159) 10252 0 R (HD.916) 1248 0 R (HD.9160) 10253 0 R (HD.9161) 10254 0 R (HD.9162) 10255 0 R (HD.9163) 10256 0 R (HD.9164) 10257 0 R (HD.9165) 10258 0 R (HD.9166) 10259 0 R (HD.9167) 10260 0 R (HD.9168) 10261 0 R (HD.9169) 10266 0 R (HD.917) 1249 0 R (HD.9170) 10267 0 R (HD.9171) 10268 0 R (HD.9172) 10269 0 R (HD.9173) 10270 0 R (HD.9174) 10271 0 R (HD.9175) 10272 0 R (HD.9176) 10273 0 R (HD.9177) 10274 0 R (HD.9178) 10275 0 R (HD.9179) 10276 0 R (HD.918) 1250 0 R (HD.9180) 10277 0 R (HD.9181) 10278 0 R (HD.9182) 10279 0 R (HD.9183) 10280 0 R (HD.9184) 10281 0 R (HD.9185) 10282 0 R (HD.9186) 10283 0 R (HD.9187) 10284 0 R ] /Limits [ (HD.9159) (HD.9187) ] >>
+endobj
+12000 0 obj
+<< /Names [ (HD.9188) 10285 0 R (HD.9189) 10286 0 R (HD.919) 1251 0 R (HD.9190) 10287 0 R (HD.9191) 10288 0 R (HD.9192) 10289 0 R (HD.9193) 10290 0 R (HD.9194) 10291 0 R (HD.9195) 10292 0 R (HD.9196) 10293 0 R (HD.9197) 10294 0 R (HD.9198) 10295 0 R (HD.9199) 10296 0 R (HD.92) 292 0 R (HD.920) 1252 0 R (HD.9200) 10297 0 R (HD.9201) 10298 0 R (HD.9202) 10299 0 R (HD.9203) 10300 0 R (HD.9204) 10301 0 R (HD.9205) 10302 0 R (HD.9206) 10303 0 R (HD.9207) 10304 0 R (HD.9208) 10305 0 R (HD.9209) 10306 0 R (HD.921) 1253 0 R (HD.9210) 10307 0 R (HD.9211) 10308 0 R (HD.9212) 10309 0 R (HD.9213) 10310 0 R (HD.9214) 10311 0 R (HD.9215) 10312 0 R ] /Limits [ (HD.9188) (HD.9215) ] >>
+endobj
+12001 0 obj
+<< /Names [ (HD.9216) 10313 0 R (HD.9217) 10314 0 R (HD.9218) 10315 0 R (HD.9219) 10316 0 R (HD.922) 1254 0 R (HD.9220) 10317 0 R (HD.9221) 10318 0 R (HD.9222) 10319 0 R (HD.9223) 10320 0 R (HD.9224) 10321 0 R (HD.9225) 10322 0 R (HD.9226) 10323 0 R (HD.9227) 10324 0 R (HD.9228) 10325 0 R (HD.9229) 10326 0 R (HD.923) 1255 0 R (HD.9230) 10327 0 R (HD.9231) 10328 0 R (HD.9232) 10333 0 R (HD.9233) 10334 0 R (HD.9234) 10335 0 R (HD.9235) 10336 0 R (HD.9236) 10337 0 R (HD.9237) 10338 0 R (HD.9238) 10339 0 R (HD.9239) 10340 0 R (HD.924) 1256 0 R (HD.9240) 10341 0 R (HD.9241) 10342 0 R (HD.9242) 10343 0 R (HD.9243) 10344 0 R (HD.9244) 10345 0 R ] /Limits [ (HD.9216) (HD.9244) ] >>
+endobj
+12002 0 obj
+<< /Names [ (HD.9245) 10346 0 R (HD.9246) 10347 0 R (HD.9247) 10348 0 R (HD.9248) 10349 0 R (HD.9249) 10350 0 R (HD.925) 1257 0 R (HD.9250) 10351 0 R (HD.9251) 10352 0 R (HD.9252) 10353 0 R (HD.9253) 10354 0 R (HD.9254) 10355 0 R (HD.9255) 10356 0 R (HD.9256) 10357 0 R (HD.9257) 10358 0 R (HD.9258) 10359 0 R (HD.9259) 10360 0 R (HD.926) 1258 0 R (HD.9260) 10361 0 R (HD.9261) 10362 0 R (HD.9262) 10363 0 R (HD.9263) 10364 0 R (HD.9264) 10365 0 R (HD.9265) 10366 0 R (HD.9266) 10367 0 R (HD.9267) 10368 0 R (HD.9268) 10369 0 R (HD.9269) 10370 0 R (HD.927) 1263 0 R (HD.9270) 10371 0 R (HD.9271) 10372 0 R (HD.9272) 10373 0 R (HD.9273) 10374 0 R ] /Limits [ (HD.9245) (HD.9273) ] >>
+endobj
+12003 0 obj
+<< /Names [ (HD.9274) 10375 0 R (HD.9275) 10376 0 R (HD.9276) 10377 0 R (HD.9277) 10378 0 R (HD.9278) 10379 0 R (HD.9279) 10380 0 R (HD.928) 1264 0 R (HD.9280) 10381 0 R (HD.9281) 10386 0 R (HD.9282) 10387 0 R (HD.9283) 10388 0 R (HD.9284) 10389 0 R (HD.9285) 10390 0 R (HD.9286) 10391 0 R (HD.9287) 10392 0 R (HD.9288) 10393 0 R (HD.9289) 10394 0 R (HD.929) 1265 0 R (HD.9290) 10395 0 R (HD.9291) 10396 0 R (HD.9292) 10397 0 R (HD.9293) 10398 0 R (HD.9294) 10399 0 R (HD.9295) 10400 0 R (HD.9296) 10401 0 R (HD.9297) 10402 0 R (HD.9298) 10403 0 R (HD.9299) 10404 0 R (HD.93) 293 0 R (HD.930) 1266 0 R (HD.9300) 10405 0 R (HD.9301) 10406 0 R ] /Limits [ (HD.9274) (HD.9301) ] >>
+endobj
+12004 0 obj
+<< /Names [ (HD.9302) 10407 0 R (HD.9303) 10408 0 R (HD.9304) 10409 0 R (HD.9305) 10410 0 R (HD.9306) 10411 0 R (HD.9307) 10412 0 R (HD.9308) 10413 0 R (HD.9309) 10414 0 R (HD.931) 1267 0 R (HD.9310) 10415 0 R (HD.9311) 10416 0 R (HD.9312) 10417 0 R (HD.9313) 10418 0 R (HD.9314) 10419 0 R (HD.9315) 10420 0 R (HD.9316) 10421 0 R (HD.9317) 10422 0 R (HD.9318) 10423 0 R (HD.9319) 10424 0 R (HD.932) 1268 0 R (HD.9320) 10425 0 R (HD.9321) 10426 0 R (HD.9322) 10427 0 R (HD.9323) 10428 0 R (HD.9324) 10429 0 R (HD.9325) 10430 0 R (HD.9326) 10431 0 R (HD.9327) 10432 0 R (HD.9328) 10433 0 R (HD.9329) 10434 0 R (HD.933) 1269 0 R (HD.9330) 10435 0 R ] /Limits [ (HD.9302) (HD.9330) ] >>
+endobj
+12005 0 obj
+<< /Names [ (HD.9331) 10436 0 R (HD.9332) 10437 0 R (HD.9333) 10438 0 R (HD.9334) 10439 0 R (HD.9335) 10440 0 R (HD.9336) 10441 0 R (HD.9337) 10442 0 R (HD.9338) 10447 0 R (HD.9339) 10448 0 R (HD.934) 1270 0 R (HD.9340) 10449 0 R (HD.9341) 10450 0 R (HD.9342) 10451 0 R (HD.9343) 10452 0 R (HD.9344) 10453 0 R (HD.9345) 10454 0 R (HD.9346) 10455 0 R (HD.9347) 10456 0 R (HD.9348) 10457 0 R (HD.9349) 10458 0 R (HD.935) 1271 0 R (HD.9350) 10459 0 R (HD.9351) 10460 0 R (HD.9352) 10461 0 R (HD.9353) 10462 0 R (HD.9354) 10463 0 R (HD.9355) 10464 0 R (HD.9356) 10465 0 R (HD.9357) 10466 0 R (HD.9358) 10467 0 R (HD.9359) 10468 0 R (HD.936) 1272 0 R ] /Limits [ (HD.9331) (HD.936) ] >>
+endobj
+12006 0 obj
+<< /Names [ (HD.9360) 10469 0 R (HD.9361) 10470 0 R (HD.9362) 10471 0 R (HD.9363) 10472 0 R (HD.9364) 10473 0 R (HD.9365) 10474 0 R (HD.9366) 10475 0 R (HD.9367) 10476 0 R (HD.9368) 10477 0 R (HD.9369) 10478 0 R (HD.937) 1273 0 R (HD.9370) 10479 0 R (HD.9371) 10480 0 R (HD.9372) 10481 0 R (HD.9373) 10482 0 R (HD.9374) 10483 0 R (HD.9375) 10484 0 R (HD.9376) 10489 0 R (HD.9377) 10490 0 R (HD.9378) 10491 0 R (HD.9379) 10492 0 R (HD.938) 1274 0 R (HD.9380) 10493 0 R (HD.9381) 10494 0 R (HD.9382) 10495 0 R (HD.9383) 10496 0 R (HD.9384) 10497 0 R (HD.9385) 10498 0 R (HD.9386) 10499 0 R (HD.9387) 10500 0 R (HD.9388) 10501 0 R (HD.9389) 10502 0 R ] /Limits [ (HD.9360) (HD.9389) ] >>
+endobj
+12007 0 obj
+<< /Names [ (HD.939) 1275 0 R (HD.9390) 10503 0 R (HD.9391) 10504 0 R (HD.9392) 10505 0 R (HD.9393) 10506 0 R (HD.9394) 10507 0 R (HD.9395) 10508 0 R (HD.9396) 10509 0 R (HD.9397) 10510 0 R (HD.9398) 10511 0 R (HD.9399) 10512 0 R (HD.94) 294 0 R (HD.940) 1276 0 R (HD.9400) 10513 0 R (HD.9401) 10514 0 R (HD.9402) 10515 0 R (HD.9403) 10516 0 R (HD.9404) 10517 0 R (HD.9405) 10518 0 R (HD.9406) 10519 0 R (HD.9407) 10520 0 R (HD.9408) 10521 0 R (HD.9409) 10522 0 R (HD.941) 1277 0 R (HD.9410) 10523 0 R (HD.9411) 10524 0 R (HD.9412) 10525 0 R (HD.9413) 10526 0 R (HD.9414) 10527 0 R (HD.9415) 10528 0 R (HD.9416) 10529 0 R (HD.9417) 10530 0 R ] /Limits [ (HD.939) (HD.9417) ] >>
+endobj
+12008 0 obj
+<< /Names [ (HD.9418) 10531 0 R (HD.9419) 10532 0 R (HD.942) 1278 0 R (HD.9420) 10533 0 R (HD.9421) 10534 0 R (HD.9422) 10535 0 R (HD.9423) 10536 0 R (HD.9424) 10537 0 R (HD.9425) 10538 0 R (HD.9426) 10539 0 R (HD.9427) 10540 0 R (HD.9428) 10541 0 R (HD.9429) 10542 0 R (HD.943) 1279 0 R (HD.9430) 10543 0 R (HD.9431) 10544 0 R (HD.9432) 10550 0 R (HD.9433) 10551 0 R (HD.9434) 10552 0 R (HD.9435) 10553 0 R (HD.9436) 10554 0 R (HD.9437) 10555 0 R (HD.9438) 10556 0 R (HD.9439) 10557 0 R (HD.944) 1280 0 R (HD.9440) 10558 0 R (HD.9441) 10559 0 R (HD.9442) 10560 0 R (HD.9443) 10561 0 R (HD.9444) 10562 0 R (HD.9445) 10563 0 R (HD.9446) 10564 0 R ] /Limits [ (HD.9418) (HD.9446) ] >>
+endobj
+12009 0 obj
+<< /Names [ (HD.9447) 10565 0 R (HD.9448) 10566 0 R (HD.9449) 10567 0 R (HD.945) 1281 0 R (HD.9450) 10568 0 R (HD.9451) 10569 0 R (HD.9452) 10570 0 R (HD.9453) 10571 0 R (HD.9454) 10572 0 R (HD.9455) 10573 0 R (HD.9456) 10574 0 R (HD.9457) 10575 0 R (HD.9458) 10576 0 R (HD.9459) 10577 0 R (HD.946) 1282 0 R (HD.9460) 10578 0 R (HD.9461) 10579 0 R (HD.9462) 10580 0 R (HD.9463) 10581 0 R (HD.9464) 10582 0 R (HD.9465) 10583 0 R (HD.9466) 10584 0 R (HD.9467) 10585 0 R (HD.9468) 10586 0 R (HD.9469) 10587 0 R (HD.947) 1283 0 R (HD.9470) 10588 0 R (HD.9471) 10589 0 R (HD.9472) 10590 0 R (HD.9473) 10591 0 R (HD.9474) 10592 0 R (HD.9475) 10593 0 R ] /Limits [ (HD.9447) (HD.9475) ] >>
+endobj
+12010 0 obj
+<< /Names [ (HD.9476) 10594 0 R (HD.9477) 10595 0 R (HD.9478) 10596 0 R (HD.9479) 10597 0 R (HD.948) 1284 0 R (HD.9480) 10598 0 R (HD.9481) 10599 0 R (HD.9482) 10600 0 R (HD.9483) 10601 0 R (HD.9484) 10602 0 R (HD.9485) 10603 0 R (HD.9486) 10604 0 R (HD.9487) 10605 0 R (HD.9488) 10606 0 R (HD.9489) 10607 0 R (HD.949) 1285 0 R (HD.9490) 10608 0 R (HD.9491) 10613 0 R (HD.9492) 10614 0 R (HD.9493) 10615 0 R (HD.9494) 10616 0 R (HD.9495) 10617 0 R (HD.9496) 10618 0 R (HD.9497) 10619 0 R (HD.9498) 10620 0 R (HD.9499) 10621 0 R (HD.95) 295 0 R (HD.950) 1286 0 R (HD.9500) 10622 0 R (HD.9501) 10623 0 R (HD.9502) 10624 0 R (HD.9503) 10625 0 R ] /Limits [ (HD.9476) (HD.9503) ] >>
+endobj
+12011 0 obj
+<< /Names [ (HD.9504) 10626 0 R (HD.9505) 10627 0 R (HD.9506) 10628 0 R (HD.9507) 10629 0 R (HD.9508) 10630 0 R (HD.9509) 10631 0 R (HD.951) 1287 0 R (HD.9510) 10632 0 R (HD.9511) 10633 0 R (HD.9512) 10634 0 R (HD.9513) 10635 0 R (HD.9514) 10636 0 R (HD.9515) 10637 0 R (HD.9516) 10638 0 R (HD.9517) 10639 0 R (HD.9518) 10640 0 R (HD.9519) 10641 0 R (HD.952) 1288 0 R (HD.9520) 10642 0 R (HD.9521) 10643 0 R (HD.9522) 10644 0 R (HD.9523) 10645 0 R (HD.9524) 10646 0 R (HD.9525) 10647 0 R (HD.9526) 10648 0 R (HD.9527) 10649 0 R (HD.9528) 10650 0 R (HD.9529) 10651 0 R (HD.953) 1289 0 R (HD.9530) 10652 0 R (HD.9531) 10653 0 R (HD.9532) 10654 0 R ] /Limits [ (HD.9504) (HD.9532) ] >>
+endobj
+12012 0 obj
+<< /Names [ (HD.9533) 10655 0 R (HD.9534) 10656 0 R (HD.9535) 10657 0 R (HD.9536) 10658 0 R (HD.9537) 10659 0 R (HD.9538) 10660 0 R (HD.9539) 10661 0 R (HD.954) 1290 0 R (HD.9540) 10662 0 R (HD.9541) 10663 0 R (HD.9542) 10664 0 R (HD.9543) 10665 0 R (HD.9544) 10666 0 R (HD.9545) 10667 0 R (HD.9546) 10668 0 R (HD.9547) 10669 0 R (HD.9548) 10670 0 R (HD.9549) 10671 0 R (HD.955) 1291 0 R (HD.9550) 10672 0 R (HD.9551) 10677 0 R (HD.9552) 10678 0 R (HD.9553) 10679 0 R (HD.9554) 10680 0 R (HD.9555) 10681 0 R (HD.9556) 10682 0 R (HD.9557) 10683 0 R (HD.9558) 10684 0 R (HD.9559) 10685 0 R (HD.956) 1292 0 R (HD.9560) 10686 0 R (HD.9561) 10687 0 R ] /Limits [ (HD.9533) (HD.9561) ] >>
+endobj
+12013 0 obj
+<< /Names [ (HD.9562) 10688 0 R (HD.9563) 10689 0 R (HD.9564) 10690 0 R (HD.9565) 10691 0 R (HD.9566) 10692 0 R (HD.9567) 10693 0 R (HD.9568) 10694 0 R (HD.9569) 10695 0 R (HD.957) 1293 0 R (HD.9570) 10696 0 R (HD.9571) 10697 0 R (HD.9572) 10698 0 R (HD.9573) 10699 0 R (HD.9574) 10700 0 R (HD.9575) 10701 0 R (HD.9576) 10702 0 R (HD.9577) 10703 0 R (HD.9578) 10704 0 R (HD.9579) 10705 0 R (HD.958) 1294 0 R (HD.9580) 10706 0 R (HD.9581) 10707 0 R (HD.9582) 10708 0 R (HD.9583) 10709 0 R (HD.9584) 10710 0 R (HD.9585) 10711 0 R (HD.9586) 10712 0 R (HD.9587) 10713 0 R (HD.9588) 10714 0 R (HD.9589) 10715 0 R (HD.959) 1295 0 R (HD.9590) 10716 0 R ] /Limits [ (HD.9562) (HD.9590) ] >>
+endobj
+12014 0 obj
+<< /Names [ (HD.9591) 10717 0 R (HD.9592) 10718 0 R (HD.9593) 10719 0 R (HD.9594) 10720 0 R (HD.9595) 10721 0 R (HD.9596) 10722 0 R (HD.9597) 10723 0 R (HD.9598) 10724 0 R (HD.9599) 10725 0 R (HD.96) 296 0 R (HD.960) 1296 0 R (HD.9600) 10726 0 R (HD.9601) 10727 0 R (HD.9602) 10728 0 R (HD.9603) 10729 0 R (HD.9604) 10730 0 R (HD.9605) 10731 0 R (HD.9606) 10732 0 R (HD.9607) 10733 0 R (HD.9608) 10734 0 R (HD.9609) 10735 0 R (HD.961) 1297 0 R (HD.9610) 10736 0 R (HD.9611) 10737 0 R (HD.9612) 10742 0 R (HD.9613) 10743 0 R (HD.9614) 10744 0 R (HD.9615) 10745 0 R (HD.9616) 10746 0 R (HD.9617) 10747 0 R (HD.9618) 10748 0 R (HD.9619) 10749 0 R ] /Limits [ (HD.9591) (HD.9619) ] >>
+endobj
+12015 0 obj
+<< /Names [ (HD.962) 1298 0 R (HD.9620) 10750 0 R (HD.9621) 10751 0 R (HD.9622) 10752 0 R (HD.9623) 10753 0 R (HD.9624) 10754 0 R (HD.9625) 10755 0 R (HD.9626) 10756 0 R (HD.9627) 10757 0 R (HD.9628) 10758 0 R (HD.9629) 10759 0 R (HD.963) 1299 0 R (HD.9630) 10760 0 R (HD.9631) 10761 0 R (HD.9632) 10762 0 R (HD.9633) 10763 0 R (HD.9634) 10764 0 R (HD.9635) 10765 0 R (HD.9636) 10766 0 R (HD.9637) 10767 0 R (HD.9638) 10768 0 R (HD.9639) 10769 0 R (HD.964) 1300 0 R (HD.9640) 10770 0 R (HD.9641) 10771 0 R (HD.9642) 10772 0 R (HD.9643) 10773 0 R (HD.9644) 10774 0 R (HD.9645) 10775 0 R (HD.9646) 10776 0 R (HD.9647) 10777 0 R (HD.9648) 10778 0 R ] /Limits [ (HD.962) (HD.9648) ] >>
+endobj
+12016 0 obj
+<< /Names [ (HD.9649) 10779 0 R (HD.965) 1301 0 R (HD.9650) 10780 0 R (HD.9651) 10781 0 R (HD.9652) 10782 0 R (HD.9653) 10783 0 R (HD.9654) 10784 0 R (HD.9655) 10785 0 R (HD.9656) 10786 0 R (HD.9657) 10787 0 R (HD.9658) 10788 0 R (HD.9659) 10789 0 R (HD.966) 1302 0 R (HD.9660) 10790 0 R (HD.9661) 10791 0 R (HD.9662) 10792 0 R (HD.9663) 10793 0 R (HD.9664) 10794 0 R (HD.9665) 10795 0 R (HD.9666) 10796 0 R (HD.9667) 10797 0 R (HD.9668) 10798 0 R (HD.9669) 10799 0 R (HD.967) 1303 0 R (HD.9670) 10800 0 R (HD.9671) 10801 0 R (HD.9672) 10806 0 R (HD.9673) 10807 0 R (HD.9674) 10808 0 R (HD.9675) 10809 0 R (HD.9676) 10810 0 R (HD.9677) 10811 0 R ] /Limits [ (HD.9649) (HD.9677) ] >>
+endobj
+12017 0 obj
+<< /Names [ (HD.9678) 10812 0 R (HD.9679) 10813 0 R (HD.968) 1304 0 R (HD.9680) 10814 0 R (HD.9681) 10815 0 R (HD.9682) 10816 0 R (HD.9683) 10817 0 R (HD.9684) 10818 0 R (HD.9685) 10819 0 R (HD.9686) 10820 0 R (HD.9687) 10821 0 R (HD.9688) 10822 0 R (HD.9689) 10823 0 R (HD.969) 1305 0 R (HD.9690) 10824 0 R (HD.9691) 10825 0 R (HD.9692) 10826 0 R (HD.9693) 10827 0 R (HD.9694) 10828 0 R (HD.9695) 10829 0 R (HD.9696) 10830 0 R (HD.9697) 10831 0 R (HD.9698) 10832 0 R (HD.9699) 10833 0 R (HD.97) 297 0 R (HD.970) 1306 0 R (HD.9700) 10834 0 R (HD.9701) 10835 0 R (HD.9702) 10836 0 R (HD.9703) 10837 0 R (HD.9704) 10838 0 R (HD.9705) 10839 0 R ] /Limits [ (HD.9678) (HD.9705) ] >>
+endobj
+12018 0 obj
+<< /Names [ (HD.9706) 10840 0 R (HD.9707) 10841 0 R (HD.9708) 10842 0 R (HD.9709) 10843 0 R (HD.971) 1307 0 R (HD.9710) 10844 0 R (HD.9711) 10845 0 R (HD.9712) 10846 0 R (HD.9713) 10847 0 R (HD.9714) 10848 0 R (HD.9715) 10849 0 R (HD.9716) 10850 0 R (HD.9717) 10851 0 R (HD.9718) 10852 0 R (HD.9719) 10853 0 R (HD.972) 1308 0 R (HD.9720) 10854 0 R (HD.9721) 10855 0 R (HD.9722) 10856 0 R (HD.9723) 10857 0 R (HD.9724) 10858 0 R (HD.9725) 10859 0 R (HD.9726) 10860 0 R (HD.9727) 10861 0 R (HD.9728) 10862 0 R (HD.9729) 10863 0 R (HD.973) 1309 0 R (HD.9730) 10864 0 R (HD.9731) 10865 0 R (HD.9732) 10870 0 R (HD.9733) 10871 0 R (HD.9734) 10872 0 R ] /Limits [ (HD.9706) (HD.9734) ] >>
+endobj
+12019 0 obj
+<< /Names [ (HD.9735) 10873 0 R (HD.9736) 10874 0 R (HD.9737) 10875 0 R (HD.9738) 10876 0 R (HD.9739) 10877 0 R (HD.974) 1310 0 R (HD.9740) 10878 0 R (HD.9741) 10879 0 R (HD.9742) 10880 0 R (HD.9743) 10881 0 R (HD.9744) 10882 0 R (HD.9745) 10883 0 R (HD.9746) 10884 0 R (HD.9747) 10885 0 R (HD.9748) 10886 0 R (HD.9749) 10887 0 R (HD.975) 1311 0 R (HD.9750) 10888 0 R (HD.9751) 10889 0 R (HD.9752) 10890 0 R (HD.9753) 10891 0 R (HD.9754) 10892 0 R (HD.9755) 10893 0 R (HD.9756) 10894 0 R (HD.9757) 10895 0 R (HD.9758) 10896 0 R (HD.9759) 10897 0 R (HD.976) 1312 0 R (HD.9760) 10898 0 R (HD.9761) 10899 0 R (HD.9762) 10900 0 R (HD.9763) 10901 0 R ] /Limits [ (HD.9735) (HD.9763) ] >>
+endobj
+12020 0 obj
+<< /Names [ (HD.9764) 10902 0 R (HD.9765) 10903 0 R (HD.9766) 10904 0 R (HD.9767) 10905 0 R (HD.9768) 10906 0 R (HD.9769) 10907 0 R (HD.977) 1313 0 R (HD.9770) 10908 0 R (HD.9771) 10909 0 R (HD.9772) 10910 0 R (HD.9773) 10911 0 R (HD.9774) 10912 0 R (HD.9775) 10913 0 R (HD.9776) 10914 0 R (HD.9777) 10915 0 R (HD.9778) 10916 0 R (HD.9779) 10917 0 R (HD.978) 1314 0 R (HD.9780) 10918 0 R (HD.9781) 10919 0 R (HD.9782) 10920 0 R (HD.9783) 10921 0 R (HD.9784) 10922 0 R (HD.9785) 10923 0 R (HD.9786) 10924 0 R (HD.9787) 10925 0 R (HD.9788) 10926 0 R (HD.9789) 10927 0 R (HD.979) 1315 0 R (HD.9790) 10928 0 R (HD.9791) 10929 0 R (HD.9792) 10930 0 R ] /Limits [ (HD.9764) (HD.9792) ] >>
+endobj
+12021 0 obj
+<< /Names [ (HD.9793) 10935 0 R (HD.9794) 10936 0 R (HD.9795) 10937 0 R (HD.9796) 10938 0 R (HD.9797) 10939 0 R (HD.9798) 10940 0 R (HD.9799) 10941 0 R (HD.98) 298 0 R (HD.980) 1321 0 R (HD.9800) 10942 0 R (HD.9801) 10943 0 R (HD.9802) 10944 0 R (HD.9803) 10945 0 R (HD.9804) 10946 0 R (HD.9805) 10947 0 R (HD.9806) 10948 0 R (HD.9807) 10949 0 R (HD.9808) 10950 0 R (HD.9809) 10951 0 R (HD.981) 1322 0 R (HD.9810) 10952 0 R (HD.9811) 10953 0 R (HD.9812) 10954 0 R (HD.9813) 10955 0 R (HD.9814) 10956 0 R (HD.9815) 10957 0 R (HD.9816) 10958 0 R (HD.9817) 10959 0 R (HD.9818) 10960 0 R (HD.9819) 10961 0 R (HD.982) 1323 0 R (HD.9820) 10962 0 R ] /Limits [ (HD.9793) (HD.9820) ] >>
+endobj
+12022 0 obj
+<< /Names [ (HD.9821) 10963 0 R (HD.9822) 10964 0 R (HD.9823) 10965 0 R (HD.9824) 10966 0 R (HD.9825) 10967 0 R (HD.9826) 10968 0 R (HD.9827) 10969 0 R (HD.9828) 10970 0 R (HD.9829) 10971 0 R (HD.983) 1324 0 R (HD.9830) 10972 0 R (HD.9831) 10973 0 R (HD.9832) 10974 0 R (HD.9833) 10975 0 R (HD.9834) 10976 0 R (HD.9835) 10977 0 R (HD.9836) 10978 0 R (HD.9837) 10979 0 R (HD.9838) 10980 0 R (HD.9839) 10981 0 R (HD.984) 1325 0 R (HD.9840) 10982 0 R (HD.9841) 10983 0 R (HD.9842) 10984 0 R (HD.9843) 10985 0 R (HD.9844) 10986 0 R (HD.9845) 10987 0 R (HD.9846) 10988 0 R (HD.9847) 10989 0 R (HD.9848) 10990 0 R (HD.9849) 10991 0 R (HD.985) 1326 0 R ] /Limits [ (HD.9821) (HD.985) ] >>
+endobj
+12023 0 obj
+<< /Names [ (HD.9850) 10992 0 R (HD.9851) 10993 0 R (HD.9852) 10994 0 R (HD.9853) 10999 0 R (HD.9854) 11000 0 R (HD.9855) 11001 0 R (HD.9856) 11002 0 R (HD.9857) 11003 0 R (HD.9858) 11004 0 R (HD.9859) 11005 0 R (HD.986) 1327 0 R (HD.9860) 11006 0 R (HD.9861) 11007 0 R (HD.9862) 11008 0 R (HD.9863) 11009 0 R (HD.9864) 11010 0 R (HD.9865) 11011 0 R (HD.9866) 11012 0 R (HD.9867) 11013 0 R (HD.9868) 11014 0 R (HD.9869) 11015 0 R (HD.987) 1328 0 R (HD.9870) 11016 0 R (HD.9871) 11017 0 R (HD.9872) 11018 0 R (HD.9873) 11019 0 R (HD.9874) 11020 0 R (HD.9875) 11021 0 R (HD.9876) 11022 0 R (HD.9877) 11023 0 R (HD.9878) 11024 0 R (HD.9879) 11025 0 R ] /Limits [ (HD.9850) (HD.9879) ] >>
+endobj
+12024 0 obj
+<< /Names [ (HD.988) 1329 0 R (HD.9880) 11026 0 R (HD.9881) 11027 0 R (HD.9882) 11028 0 R (HD.9883) 11029 0 R (HD.9884) 11030 0 R (HD.9885) 11031 0 R (HD.9886) 11032 0 R (HD.9887) 11033 0 R (HD.9888) 11034 0 R (HD.9889) 11035 0 R (HD.989) 1330 0 R (HD.9890) 11036 0 R (HD.9891) 11037 0 R (HD.9892) 11038 0 R (HD.9893) 11039 0 R (HD.9894) 11040 0 R (HD.9895) 11041 0 R (HD.9896) 11042 0 R (HD.9897) 11043 0 R (HD.9898) 11044 0 R (HD.9899) 11045 0 R (HD.99) 299 0 R (HD.990) 1331 0 R (HD.9900) 11046 0 R (HD.9901) 11047 0 R (HD.9902) 11048 0 R (HD.9903) 11049 0 R (HD.9904) 11050 0 R (HD.9905) 11051 0 R (HD.9906) 11052 0 R (HD.9907) 11053 0 R ] /Limits [ (HD.988) (HD.9907) ] >>
+endobj
+12025 0 obj
+<< /Names [ (HD.9908) 11054 0 R (HD.9909) 11055 0 R (HD.991) 1332 0 R (HD.9910) 11056 0 R (HD.9911) 11057 0 R (HD.9912) 11058 0 R (HD.9913) 11063 0 R (HD.9914) 11064 0 R (HD.9915) 11065 0 R (HD.9916) 11066 0 R (HD.9917) 11067 0 R (HD.9918) 11068 0 R (HD.9919) 11069 0 R (HD.992) 1333 0 R (HD.9920) 11070 0 R (HD.9921) 11071 0 R (HD.9922) 11072 0 R (HD.9923) 11073 0 R (HD.9924) 11074 0 R (HD.9925) 11075 0 R (HD.9926) 11076 0 R (HD.9927) 11077 0 R (HD.9928) 11078 0 R (HD.9929) 11079 0 R (HD.993) 1334 0 R (HD.9930) 11080 0 R (HD.9931) 11081 0 R (HD.9932) 11082 0 R (HD.9933) 11083 0 R (HD.9934) 11084 0 R (HD.9935) 11085 0 R (HD.9936) 11086 0 R ] /Limits [ (HD.9908) (HD.9936) ] >>
+endobj
+12026 0 obj
+<< /Names [ (HD.9937) 11087 0 R (HD.9938) 11088 0 R (HD.9939) 11089 0 R (HD.994) 1335 0 R (HD.9940) 11090 0 R (HD.9941) 11091 0 R (HD.9942) 11092 0 R (HD.9943) 11093 0 R (HD.9944) 11094 0 R (HD.9945) 11095 0 R (HD.9946) 11096 0 R (HD.9947) 11097 0 R (HD.9948) 11098 0 R (HD.9949) 11099 0 R (HD.995) 1336 0 R (HD.9950) 11100 0 R (HD.9951) 11101 0 R (HD.9952) 11102 0 R (HD.9953) 11103 0 R (HD.9954) 11104 0 R (HD.9955) 11105 0 R (HD.9956) 11106 0 R (HD.9957) 11107 0 R (HD.9958) 11108 0 R (HD.9959) 11109 0 R (HD.996) 1337 0 R (HD.9960) 11110 0 R (HD.9961) 11111 0 R (HD.9962) 11112 0 R (HD.9963) 11113 0 R (HD.9964) 11114 0 R (HD.9965) 11115 0 R ] /Limits [ (HD.9937) (HD.9965) ] >>
+endobj
+12027 0 obj
+<< /Names [ (HD.9966) 11116 0 R (HD.9967) 11117 0 R (HD.9968) 11118 0 R (HD.9969) 11119 0 R (HD.997) 1338 0 R (HD.9970) 11120 0 R (HD.9971) 11121 0 R (HD.9972) 11122 0 R (HD.9973) 11127 0 R (HD.9974) 11128 0 R (HD.9975) 11129 0 R (HD.9976) 11130 0 R (HD.9977) 11131 0 R (HD.9978) 11132 0 R (HD.9979) 11133 0 R (HD.998) 1339 0 R (HD.9980) 11134 0 R (HD.9981) 11135 0 R (HD.9982) 11136 0 R (HD.9983) 11137 0 R (HD.9984) 11138 0 R (HD.9985) 11139 0 R (HD.9986) 11140 0 R (HD.9987) 11141 0 R (HD.9988) 11142 0 R (HD.9989) 11143 0 R (HD.999) 1340 0 R (HD.9990) 11144 0 R (HD.9991) 11145 0 R (HD.9992) 11146 0 R (HD.9993) 11147 0 R (HD.9994) 11148 0 R ] /Limits [ (HD.9966) (HD.9994) ] >>
+endobj
+12028 0 obj
+<< /Names [ (HD.9995) 11149 0 R (HD.9996) 11150 0 R (HD.9997) 11151 0 R (HD.9998) 11152 0 R (HD.9999) 11153 0 R (Hfootnote.1) 481 0 R (Hfootnote.10) 2758 0 R (Hfootnote.11) 4557 0 R (Hfootnote.12) 4649 0 R (Hfootnote.13) 6051 0 R (Hfootnote.14) 7881 0 R (Hfootnote.2) 767 0 R (Hfootnote.3) 826 0 R (Hfootnote.4) 1960 0 R (Hfootnote.5) 1961 0 R (Hfootnote.6) 2364 0 R (Hfootnote.7) 2406 0 R (Hfootnote.8) 2508 0 R (Hfootnote.9) 2561 0 R (page.1) 172 0 R (page.10) 566 0 R (page.100) 4706 0 R (page.101) 4746 0 R (page.102) 4789 0 R (page.103) 4842 0 R (page.104) 4905 0 R (page.105) 4951 0 R (page.106) 5015 0 R (page.107) 5058 0 R (page.108) 5108 0 R (page.109) 5162 0 R (page.11) 586 0 R ] /Limits [ (HD.9995) (page.11) ] >>
+endobj
+12029 0 obj
+<< /Names [ (page.110) 5219 0 R (page.111) 5266 0 R (page.112) 5313 0 R (page.113) 5358 0 R (page.114) 5405 0 R (page.115) 5444 0 R (page.116) 5495 0 R (page.117) 5551 0 R (page.118) 5609 0 R (page.119) 5675 0 R (page.12) 607 0 R (page.120) 5724 0 R (page.121) 5788 0 R (page.122) 5839 0 R (page.123) 5896 0 R (page.124) 5957 0 R (page.125) 6020 0 R (page.126) 6056 0 R (page.127) 6110 0 R (page.128) 6147 0 R (page.129) 6199 0 R (page.13) 634 0 R (page.130) 6242 0 R (page.131) 6278 0 R (page.132) 6336 0 R (page.133) 6384 0 R (page.134) 6436 0 R (page.135) 6479 0 R (page.136) 6531 0 R (page.137) 6578 0 R (page.138) 6640 0 R (page.139) 6690 0 R ] /Limits [ (page.110) (page.139) ] >>
+endobj
+12030 0 obj
+<< /Names [ (page.14) 658 0 R (page.140) 6741 0 R (page.141) 6780 0 R (page.142) 6824 0 R (page.143) 6858 0 R (page.144) 6901 0 R (page.145) 6956 0 R (page.146) 7019 0 R (page.147) 7075 0 R (page.148) 7122 0 R (page.149) 7181 0 R (page.15) 681 0 R (page.150) 7237 0 R (page.151) 7287 0 R (page.152) 7342 0 R (page.153) 7392 0 R (page.154) 7443 0 R (page.155) 7490 0 R (page.156) 7548 0 R (page.157) 7599 0 R (page.158) 7642 0 R (page.159) 7700 0 R (page.16) 701 0 R (page.160) 7749 0 R (page.161) 7783 0 R (page.162) 7836 0 R (page.163) 7886 0 R (page.164) 7937 0 R (page.165) 7985 0 R (page.166) 8040 0 R (page.167) 8081 0 R (page.168) 8120 0 R ] /Limits [ (page.14) (page.168) ] >>
+endobj
+12031 0 obj
+<< /Names [ (page.169) 8160 0 R (page.17) 728 0 R (page.170) 8209 0 R (page.171) 8268 0 R (page.172) 8318 0 R (page.173) 8378 0 R (page.174) 8440 0 R (page.175) 8492 0 R (page.176) 8546 0 R (page.177) 8611 0 R (page.178) 8651 0 R (page.179) 8704 0 R (page.18) 756 0 R (page.180) 8768 0 R (page.181) 8834 0 R (page.182) 8890 0 R (page.183) 8953 0 R (page.184) 9011 0 R (page.185) 9072 0 R (page.186) 9134 0 R (page.187) 9192 0 R (page.188) 9245 0 R (page.189) 9300 0 R (page.19) 775 0 R (page.190) 9343 0 R (page.191) 9392 0 R (page.192) 9429 0 R (page.193) 9473 0 R (page.194) 9531 0 R (page.195) 9590 0 R (page.196) 9638 0 R (page.197) 9701 0 R ] /Limits [ (page.169) (page.197) ] >>
+endobj
+12032 0 obj
+<< /Names [ (page.198) 9754 0 R (page.199) 9809 0 R (page.2) 210 0 R (page.20) 810 0 R (page.200) 9848 0 R (page.201) 9898 0 R (page.202) 9952 0 R (page.203) 10014 0 R (page.204) 10077 0 R (page.205) 10137 0 R (page.206) 10202 0 R (page.207) 10265 0 R (page.208) 10332 0 R (page.209) 10385 0 R (page.21) 831 0 R (page.210) 10446 0 R (page.211) 10488 0 R (page.212) 10549 0 R (page.213) 10612 0 R (page.214) 10676 0 R (page.215) 10741 0 R (page.216) 10805 0 R (page.217) 10869 0 R (page.218) 10934 0 R (page.219) 10998 0 R (page.22) 875 0 R (page.220) 11062 0 R (page.221) 11126 0 R (page.222) 11193 0 R (page.223) 11260 0 R (page.224) 11325 0 R (page.225) 11390 0 R ] /Limits [ (page.198) (page.225) ] >>
+endobj
+12033 0 obj
+<< /Names [ (page.226) 11457 0 R (page.227) 11524 0 R (page.228) 11586 0 R (page.229) 11600 0 R (page.23) 923 0 R (page.24) 967 0 R (page.25) 1012 0 R (page.26) 1057 0 R (page.27) 1085 0 R (page.28) 1106 0 R (page.29) 1146 0 R (page.3) 257 0 R (page.30) 1200 0 R (page.31) 1262 0 R (page.32) 1320 0 R (page.33) 1383 0 R (page.34) 1442 0 R (page.35) 1488 0 R (page.36) 1543 0 R (page.37) 1571 0 R (page.38) 1620 0 R (page.39) 1683 0 R (page.4) 304 0 R (page.40) 1717 0 R (page.41) 1770 0 R (page.42) 1814 0 R (page.43) 1859 0 R (page.44) 1916 0 R (page.45) 1966 0 R (page.46) 2009 0 R (page.47) 2064 0 R (page.48) 2101 0 R ] /Limits [ (page.226) (page.48) ] >>
+endobj
+12034 0 obj
+<< /Names [ (page.49) 2134 0 R (page.5) 343 0 R (page.50) 2172 0 R (page.51) 2215 0 R (page.52) 2258 0 R (page.53) 2315 0 R (page.54) 2370 0 R (page.55) 2411 0 R (page.56) 2459 0 R (page.57) 2515 0 R (page.58) 2567 0 R (page.59) 2609 0 R (page.6) 387 0 R (page.60) 2658 0 R (page.61) 2707 0 R (page.62) 2764 0 R (page.63) 2819 0 R (page.64) 2879 0 R (page.65) 2931 0 R (page.66) 2969 0 R (page.67) 3019 0 R (page.68) 3070 0 R (page.69) 3125 0 R (page.7) 433 0 R (page.70) 3182 0 R (page.71) 3242 0 R (page.72) 3302 0 R (page.73) 3337 0 R (page.74) 3384 0 R (page.75) 3429 0 R (page.76) 3485 0 R (page.77) 3541 0 R ] /Limits [ (page.49) (page.77) ] >>
+endobj
+12035 0 obj
+<< /Names [ (page.78) 3594 0 R (page.79) 3639 0 R (page.8) 486 0 R (page.80) 3680 0 R (page.81) 3736 0 R (page.82) 3787 0 R (page.83) 3847 0 R (page.84) 3884 0 R (page.85) 3924 0 R (page.86) 3975 0 R (page.87) 4035 0 R (page.88) 4092 0 R (page.89) 4154 0 R (page.9) 534 0 R (page.90) 4203 0 R (page.91) 4255 0 R (page.92) 4305 0 R (page.93) 4360 0 R (page.94) 4424 0 R (page.95) 4463 0 R (page.96) 4523 0 R (page.97) 4562 0 R (page.98) 4608 0 R (page.99) 4654 0 R (section.0.1) 5 0 R (section.0.10) 41 0 R (section.0.11) 45 0 R (section.0.12) 49 0 R (section.0.13) 53 0 R (section.0.14) 57 0 R (section.0.15) 61 0 R (section.0.16) 65 0 R ] /Limits [ (page.78) (section.0.16) ] >>
+endobj
+12036 0 obj
+<< /Names [ (section.0.17) 69 0 R (section.0.18) 73 0 R (section.0.19) 77 0 R (section.0.2) 9 0 R (section.0.20) 81 0 R (section.0.21) 85 0 R (section.0.22) 89 0 R (section.0.23) 93 0 R (section.0.24) 97 0 R (section.0.25) 101 0 R (section.0.26) 105 0 R (section.0.27) 109 0 R (section.0.28) 113 0 R (section.0.29) 117 0 R (section.0.3) 13 0 R (section.0.30) 121 0 R (section.0.31) 125 0 R (section.0.32) 129 0 R (section.0.33) 133 0 R (section.0.34) 137 0 R (section.0.35) 141 0 R (section.0.36) 145 0 R (section.0.37) 149 0 R (section.0.38) 153 0 R (section.0.39) 157 0 R (section.0.4) 17 0 R (section.0.40) 161 0 R (section.0.5) 21 0 R (section.0.6) 25 0 R (section.0.7) 29 0 R (section.0.8) 33 0 R (section.0.9) 37 0 R ] /Limits [ (section.0.17) (section.0.9) ] >>
+endobj
+12037 0 obj
+<< /Names [ (toc1.1) 165 0 R ] /Limits [ (toc1.1) (toc1.1) ] >>
+endobj
+12038 0 obj
+<< /Kids [ 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11720 0 R 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11729 0 R 11730 0 R 11731 0 R 11732 0 R 11733 0 R 11734 0 R 11735 0 R ] /Limits [ (Doc-Start) (HD.1583) ] >>
+endobj
+12039 0 obj
+<< /Kids [ 11736 0 R 11737 0 R 11738 0 R 11739 0 R 11740 0 R 11741 0 R 11742 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R ] /Limits [ (HD.1584) (HD.2504) ] >>
+endobj
+12040 0 obj
+<< /Kids [ 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11794 0 R 11795 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R ] /Limits [ (HD.2505) (HD.3426) ] >>
+endobj
+12041 0 obj
+<< /Kids [ 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R ] /Limits [ (HD.3427) (HD.4348) ] >>
+endobj
+12042 0 obj
+<< /Kids [ 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11861 0 R 11862 0 R 11863 0 R ] /Limits [ (HD.4349) (HD.527) ] >>
+endobj
+12043 0 obj
+<< /Kids [ 11864 0 R 11865 0 R 11866 0 R 11867 0 R 11868 0 R 11869 0 R 11870 0 R 11871 0 R 11872 0 R 11873 0 R 11874 0 R 11875 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R ] /Limits [ (HD.5270) (HD.6191) ] >>
+endobj
+12044 0 obj
+<< /Kids [ 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R ] /Limits [ (HD.6192) (HD.7112) ] >>
+endobj
+12045 0 obj
+<< /Kids [ 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11932 0 R 11933 0 R 11934 0 R 11935 0 R 11936 0 R 11937 0 R 11938 0 R 11939 0 R 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R ] /Limits [ (HD.7113) (HD.8034) ] >>
+endobj
+12046 0 obj
+<< /Kids [ 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R ] /Limits [ (HD.8035) (HD.8957) ] >>
+endobj
+12047 0 obj
+<< /Kids [ 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 12014 0 R 12015 0 R 12016 0 R 12017 0 R 12018 0 R 12019 0 R 12020 0 R 12021 0 R 12022 0 R 12023 0 R ] /Limits [ (HD.8958) (HD.9879) ] >>
+endobj
+12048 0 obj
+<< /Kids [ 12024 0 R 12025 0 R 12026 0 R 12027 0 R 12028 0 R 12029 0 R 12030 0 R 12031 0 R 12032 0 R 12033 0 R 12034 0 R 12035 0 R 12036 0 R 12037 0 R ] /Limits [ (HD.988) (toc1.1) ] >>
+endobj
+12049 0 obj
+<< /Kids [ 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+endobj
+12050 0 obj
+<< /Dests 12049 0 R >>
+endobj
+12051 0 obj
+<< /Type /Catalog /Pages 11702 0 R /Outlines 11703 0 R /Names 12050 0 R /PageMode/UseOutlines /OpenAction 168 0 R >>
+endobj
+12052 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000c\000o\000d\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629143946+02'00') /ModDate (D:20240629143946+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+endobj
+xref
+0 12053
+0000000000 65535 f
+0001305862 00000 n
+0001305916 00000 n
+0001305936 00000 n
+0000000020 00000 n
+0000012824 00000 n
+0001895173 00000 n
+0000000067 00000 n
+0000000355 00000 n
+0000019117 00000 n
+0001895085 00000 n
+0000000402 00000 n
+0000000511 00000 n
+0000027612 00000 n
+0001894995 00000 n
+0000000559 00000 n
+0000000693 00000 n
+0000028805 00000 n
+0001894905 00000 n
+0000000741 00000 n
+0000000890 00000 n
+0000055792 00000 n
+0001894815 00000 n
+0000000938 00000 n
+0000001029 00000 n
+0000101646 00000 n
+0001894725 00000 n
+0000001077 00000 n
+0000001247 00000 n
+0000128392 00000 n
+0001894635 00000 n
+0000001295 00000 n
+0000001546 00000 n
+0000133986 00000 n
+0001894545 00000 n
+0000001594 00000 n
+0000001693 00000 n
+0000193350 00000 n
+0001894455 00000 n
+0000001741 00000 n
+0000002028 00000 n
+0000268848 00000 n
+0001894365 00000 n
+0000002077 00000 n
+0000002204 00000 n
+0000291658 00000 n
+0001894275 00000 n
+0000002253 00000 n
+0000002496 00000 n
+0000321712 00000 n
+0001894185 00000 n
+0000002545 00000 n
+0000002799 00000 n
+0000410858 00000 n
+0001894095 00000 n
+0000002848 00000 n
+0000003066 00000 n
+0000508736 00000 n
+0001894005 00000 n
+0000003115 00000 n
+0000003407 00000 n
+0000514851 00000 n
+0001893915 00000 n
+0000003456 00000 n
+0000003769 00000 n
+0000524392 00000 n
+0001893825 00000 n
+0000003818 00000 n
+0000004054 00000 n
+0000562493 00000 n
+0001893735 00000 n
+0000004103 00000 n
+0000004281 00000 n
+0000633002 00000 n
+0001893645 00000 n
+0000004330 00000 n
+0000004713 00000 n
+0000665269 00000 n
+0001893555 00000 n
+0000004762 00000 n
+0000005061 00000 n
+0000700508 00000 n
+0001893465 00000 n
+0000005110 00000 n
+0000005384 00000 n
+0000709934 00000 n
+0001893375 00000 n
+0000005433 00000 n
+0000005593 00000 n
+0000722555 00000 n
+0001893285 00000 n
+0000005642 00000 n
+0000005868 00000 n
+0000789037 00000 n
+0001893195 00000 n
+0000005917 00000 n
+0000006140 00000 n
+0000876767 00000 n
+0001893104 00000 n
+0000006189 00000 n
+0000006326 00000 n
+0000891534 00000 n
+0001893010 00000 n
+0000006376 00000 n
+0000006600 00000 n
+0000897782 00000 n
+0001892915 00000 n
+0000006650 00000 n
+0000006778 00000 n
+0000921180 00000 n
+0001892820 00000 n
+0000006828 00000 n
+0000006928 00000 n
+0001055792 00000 n
+0001892725 00000 n
+0000006978 00000 n
+0000007253 00000 n
+0001059536 00000 n
+0001892630 00000 n
+0000007303 00000 n
+0000007433 00000 n
+0001066716 00000 n
+0001892535 00000 n
+0000007483 00000 n
+0000007756 00000 n
+0001067297 00000 n
+0001892440 00000 n
+0000007806 00000 n
+0000007962 00000 n
+0001077264 00000 n
+0001892345 00000 n
+0000008012 00000 n
+0000008178 00000 n
+0001078365 00000 n
+0001892250 00000 n
+0000008228 00000 n
+0000008437 00000 n
+0001087204 00000 n
+0001892155 00000 n
+0000008487 00000 n
+0000008653 00000 n
+0001134326 00000 n
+0001892060 00000 n
+0000008703 00000 n
+0000008963 00000 n
+0001152306 00000 n
+0001891965 00000 n
+0000009013 00000 n
+0000009191 00000 n
+0001162718 00000 n
+0001891870 00000 n
+0000009241 00000 n
+0000009427 00000 n
+0001177896 00000 n
+0001891775 00000 n
+0000009477 00000 n
+0000009747 00000 n
+0001187226 00000 n
+0001891680 00000 n
+0000009797 00000 n
+0000009993 00000 n
+0001188160 00000 n
+0001891585 00000 n
+0000010043 00000 n
+0000010247 00000 n
+0001303010 00000 n
+0001891504 00000 n
+0000010291 00000 n
+0000010360 00000 n
+0000012579 00000 n
+0000013827 00000 n
+0000010424 00000 n
+0000012700 00000 n
+0000012762 00000 n
+0001882271 00000 n
+0001883878 00000 n
+0001885859 00000 n
+0001882092 00000 n
+0001884588 00000 n
+0001881555 00000 n
+0001882982 00000 n
+0001884233 00000 n
+0001883338 00000 n
+0001884943 00000 n
+0001881913 00000 n
+0001883700 00000 n
+0001884410 00000 n
+0001881379 00000 n
+0000012884 00000 n
+0001884056 00000 n
+0000012947 00000 n
+0000013009 00000 n
+0000013072 00000 n
+0000013135 00000 n
+0000013198 00000 n
+0000013261 00000 n
+0000013324 00000 n
+0000013387 00000 n
+0000013450 00000 n
+0000013513 00000 n
+0000013576 00000 n
+0000013639 00000 n
+0000013702 00000 n
+0000013765 00000 n
+0001886041 00000 n
+0001882804 00000 n
+0001887113 00000 n
+0000019177 00000 n
+0000016231 00000 n
+0000014159 00000 n
+0000016352 00000 n
+0000016414 00000 n
+0000016477 00000 n
+0000016540 00000 n
+0000016603 00000 n
+0000016666 00000 n
+0000016729 00000 n
+0000016792 00000 n
+0000016855 00000 n
+0000016918 00000 n
+0000016980 00000 n
+0000017043 00000 n
+0000017106 00000 n
+0000017169 00000 n
+0000017232 00000 n
+0000017295 00000 n
+0000017358 00000 n
+0000017421 00000 n
+0000017484 00000 n
+0000017547 00000 n
+0000017609 00000 n
+0000017672 00000 n
+0000017735 00000 n
+0000017798 00000 n
+0000017861 00000 n
+0000017923 00000 n
+0000017986 00000 n
+0000018049 00000 n
+0000018112 00000 n
+0000018175 00000 n
+0000018238 00000 n
+0000018301 00000 n
+0000018364 00000 n
+0000018427 00000 n
+0000018488 00000 n
+0000018551 00000 n
+0000018614 00000 n
+0000018677 00000 n
+0000018740 00000 n
+0000018803 00000 n
+0000018866 00000 n
+0000018929 00000 n
+0000018992 00000 n
+0000019055 00000 n
+0000024628 00000 n
+0000021807 00000 n
+0000019340 00000 n
+0000021928 00000 n
+0000021990 00000 n
+0000022053 00000 n
+0000022116 00000 n
+0000022179 00000 n
+0000022242 00000 n
+0000022305 00000 n
+0001886937 00000 n
+0000022368 00000 n
+0000022431 00000 n
+0000022493 00000 n
+0000022556 00000 n
+0000022618 00000 n
+0000022681 00000 n
+0000022744 00000 n
+0000022807 00000 n
+0000022870 00000 n
+0000022933 00000 n
+0000022996 00000 n
+0000023059 00000 n
+0000023122 00000 n
+0000023185 00000 n
+0000023247 00000 n
+0000023310 00000 n
+0000023372 00000 n
+0000023435 00000 n
+0000023498 00000 n
+0000023561 00000 n
+0000023624 00000 n
+0000023687 00000 n
+0000023750 00000 n
+0000023813 00000 n
+0000023876 00000 n
+0000023937 00000 n
+0000024000 00000 n
+0000024063 00000 n
+0000024126 00000 n
+0000024189 00000 n
+0000024252 00000 n
+0000024315 00000 n
+0000024378 00000 n
+0000024441 00000 n
+0000024504 00000 n
+0000024566 00000 n
+0000029053 00000 n
+0000026674 00000 n
+0000024830 00000 n
+0000026795 00000 n
+0000026857 00000 n
+0000026920 00000 n
+0000026983 00000 n
+0000027046 00000 n
+0000027109 00000 n
+0000027172 00000 n
+0000027235 00000 n
+0000027298 00000 n
+0000027361 00000 n
+0000027423 00000 n
+0000027486 00000 n
+0000027549 00000 n
+0001883516 00000 n
+0001883160 00000 n
+0000027673 00000 n
+0000027736 00000 n
+0000027798 00000 n
+0000027861 00000 n
+0000027924 00000 n
+0000027987 00000 n
+0000028050 00000 n
+0000028113 00000 n
+0000028176 00000 n
+0000028239 00000 n
+0000028302 00000 n
+0000028364 00000 n
+0000028427 00000 n
+0000028490 00000 n
+0000028553 00000 n
+0000028616 00000 n
+0000028679 00000 n
+0000028742 00000 n
+0000028866 00000 n
+0000028929 00000 n
+0000028991 00000 n
+0000034564 00000 n
+0000031863 00000 n
+0000029255 00000 n
+0000031984 00000 n
+0000032046 00000 n
+0000032109 00000 n
+0000032172 00000 n
+0000032235 00000 n
+0000032298 00000 n
+0000032361 00000 n
+0000032424 00000 n
+0000032487 00000 n
+0000032550 00000 n
+0000032612 00000 n
+0000032675 00000 n
+0000032738 00000 n
+0000032801 00000 n
+0000032864 00000 n
+0000032927 00000 n
+0000032990 00000 n
+0000033053 00000 n
+0000033116 00000 n
+0000033179 00000 n
+0000033242 00000 n
+0000033305 00000 n
+0000033368 00000 n
+0000033431 00000 n
+0000033493 00000 n
+0000033556 00000 n
+0000033619 00000 n
+0000033682 00000 n
+0000033745 00000 n
+0000033808 00000 n
+0000033871 00000 n
+0000033934 00000 n
+0000033997 00000 n
+0000034060 00000 n
+0000034123 00000 n
+0000034186 00000 n
+0000034249 00000 n
+0000034312 00000 n
+0000034375 00000 n
+0000034438 00000 n
+0000034501 00000 n
+0000040313 00000 n
+0000037551 00000 n
+0000034753 00000 n
+0000037672 00000 n
+0000037734 00000 n
+0000037797 00000 n
+0000037859 00000 n
+0000037922 00000 n
+0000037985 00000 n
+0000038048 00000 n
+0000038111 00000 n
+0000038174 00000 n
+0000038237 00000 n
+0000038300 00000 n
+0000038363 00000 n
+0000038426 00000 n
+0000038489 00000 n
+0000038552 00000 n
+0000038615 00000 n
+0000038678 00000 n
+0000038741 00000 n
+0000038804 00000 n
+0000038867 00000 n
+0000038929 00000 n
+0000038992 00000 n
+0000039055 00000 n
+0000039118 00000 n
+0000039181 00000 n
+0000039244 00000 n
+0000039307 00000 n
+0000039370 00000 n
+0000039433 00000 n
+0000039496 00000 n
+0000039558 00000 n
+0000039621 00000 n
+0000039684 00000 n
+0000039747 00000 n
+0000039810 00000 n
+0000039873 00000 n
+0000039936 00000 n
+0000039999 00000 n
+0000040062 00000 n
+0000040125 00000 n
+0000040188 00000 n
+0000040251 00000 n
+0000043176 00000 n
+0000046286 00000 n
+0000043010 00000 n
+0000040489 00000 n
+0000043332 00000 n
+0000043394 00000 n
+0000043457 00000 n
+0000043520 00000 n
+0000043583 00000 n
+0000043646 00000 n
+0000043709 00000 n
+0000043772 00000 n
+0000043834 00000 n
+0000043897 00000 n
+0000043960 00000 n
+0000044023 00000 n
+0000044086 00000 n
+0000044149 00000 n
+0000044212 00000 n
+0000044275 00000 n
+0000044338 00000 n
+0000044401 00000 n
+0000044464 00000 n
+0000044526 00000 n
+0000044589 00000 n
+0000044652 00000 n
+0000044715 00000 n
+0000044778 00000 n
+0000044841 00000 n
+0000044904 00000 n
+0000044967 00000 n
+0000045030 00000 n
+0000045092 00000 n
+0000045155 00000 n
+0000045218 00000 n
+0000045280 00000 n
+0000045343 00000 n
+0000045406 00000 n
+0000045469 00000 n
+0000045532 00000 n
+0000045595 00000 n
+0000045658 00000 n
+0000045721 00000 n
+0000045784 00000 n
+0001882627 00000 n
+0000045846 00000 n
+0000045909 00000 n
+0000045972 00000 n
+0000046035 00000 n
+0000046098 00000 n
+0000046161 00000 n
+0001882450 00000 n
+0000046224 00000 n
+0000043147 00000 n
+0000051950 00000 n
+0000049003 00000 n
+0000046527 00000 n
+0000049124 00000 n
+0000049186 00000 n
+0000049249 00000 n
+0000049310 00000 n
+0000049373 00000 n
+0000049436 00000 n
+0000049499 00000 n
+0000049560 00000 n
+0000049623 00000 n
+0000049686 00000 n
+0000049749 00000 n
+0000049812 00000 n
+0000049875 00000 n
+0000049938 00000 n
+0000050001 00000 n
+0000050064 00000 n
+0000050126 00000 n
+0000050189 00000 n
+0000050252 00000 n
+0000050315 00000 n
+0000050378 00000 n
+0000050441 00000 n
+0000050504 00000 n
+0000050567 00000 n
+0000050630 00000 n
+0000050693 00000 n
+0000050756 00000 n
+0000050819 00000 n
+0000050882 00000 n
+0000050945 00000 n
+0000051008 00000 n
+0000051071 00000 n
+0000051134 00000 n
+0000051197 00000 n
+0000051260 00000 n
+0000051323 00000 n
+0000051386 00000 n
+0000051449 00000 n
+0000051512 00000 n
+0000051574 00000 n
+0000051637 00000 n
+0000051700 00000 n
+0000051763 00000 n
+0000051826 00000 n
+0000051888 00000 n
+0000056293 00000 n
+0000054350 00000 n
+0000052139 00000 n
+0000054471 00000 n
+0000054533 00000 n
+0000054596 00000 n
+0000054658 00000 n
+0000054721 00000 n
+0000054784 00000 n
+0000054847 00000 n
+0000054910 00000 n
+0000054973 00000 n
+0000055036 00000 n
+0000055099 00000 n
+0000055162 00000 n
+0000055225 00000 n
+0000055288 00000 n
+0000055351 00000 n
+0000055414 00000 n
+0000055477 00000 n
+0000055540 00000 n
+0000055603 00000 n
+0000055666 00000 n
+0000055729 00000 n
+0000055853 00000 n
+0001881730 00000 n
+0000055916 00000 n
+0000055979 00000 n
+0000056042 00000 n
+0000056105 00000 n
+0000056168 00000 n
+0000056230 00000 n
+0000060748 00000 n
+0000059559 00000 n
+0000056508 00000 n
+0000059680 00000 n
+0000059742 00000 n
+0000059805 00000 n
+0000059867 00000 n
+0000059930 00000 n
+0000059993 00000 n
+0000060056 00000 n
+0000060119 00000 n
+0000060182 00000 n
+0000060245 00000 n
+0000060308 00000 n
+0000060371 00000 n
+0000060434 00000 n
+0000060497 00000 n
+0000060560 00000 n
+0000060622 00000 n
+0000060685 00000 n
+0000064767 00000 n
+0000063579 00000 n
+0000060924 00000 n
+0000063700 00000 n
+0000063762 00000 n
+0000063825 00000 n
+0000063888 00000 n
+0000063951 00000 n
+0000064014 00000 n
+0000064077 00000 n
+0000064140 00000 n
+0000064202 00000 n
+0000064265 00000 n
+0000064328 00000 n
+0000064391 00000 n
+0000064453 00000 n
+0000064516 00000 n
+0000064579 00000 n
+0000064642 00000 n
+0000064705 00000 n
+0001887267 00000 n
+0000069178 00000 n
+0000067549 00000 n
+0000064956 00000 n
+0000067670 00000 n
+0000067732 00000 n
+0000067795 00000 n
+0000067858 00000 n
+0000067921 00000 n
+0000067984 00000 n
+0000068047 00000 n
+0000068110 00000 n
+0000068173 00000 n
+0000068236 00000 n
+0000068299 00000 n
+0000068362 00000 n
+0000068425 00000 n
+0000068488 00000 n
+0000068551 00000 n
+0000068614 00000 n
+0000068677 00000 n
+0000068740 00000 n
+0000068803 00000 n
+0000068866 00000 n
+0000068927 00000 n
+0000068990 00000 n
+0000069053 00000 n
+0000069116 00000 n
+0000073738 00000 n
+0000072299 00000 n
+0000069367 00000 n
+0000072420 00000 n
+0000072482 00000 n
+0000072545 00000 n
+0000072608 00000 n
+0000072671 00000 n
+0000072734 00000 n
+0000072797 00000 n
+0000072859 00000 n
+0000072922 00000 n
+0000072985 00000 n
+0000073048 00000 n
+0000073110 00000 n
+0000073173 00000 n
+0000073236 00000 n
+0000073299 00000 n
+0000073362 00000 n
+0000073425 00000 n
+0000073487 00000 n
+0000073550 00000 n
+0000073613 00000 n
+0000073676 00000 n
+0000078236 00000 n
+0000077047 00000 n
+0000073940 00000 n
+0000077168 00000 n
+0000077230 00000 n
+0001886403 00000 n
+0000077293 00000 n
+0001885490 00000 n
+0000077356 00000 n
+0000077419 00000 n
+0000077482 00000 n
+0000077545 00000 n
+0000077608 00000 n
+0001886757 00000 n
+0000077671 00000 n
+0000077733 00000 n
+0000077796 00000 n
+0000077859 00000 n
+0000077921 00000 n
+0000077984 00000 n
+0000078047 00000 n
+0000078110 00000 n
+0000078173 00000 n
+0000082943 00000 n
+0000081755 00000 n
+0000078464 00000 n
+0000081876 00000 n
+0000081938 00000 n
+0000082001 00000 n
+0000082064 00000 n
+0000082127 00000 n
+0000082190 00000 n
+0000082253 00000 n
+0000082316 00000 n
+0000082379 00000 n
+0000082442 00000 n
+0000082505 00000 n
+0000082568 00000 n
+0000082631 00000 n
+0000082692 00000 n
+0000082755 00000 n
+0000082817 00000 n
+0000082880 00000 n
+0000088116 00000 n
+0000086485 00000 n
+0000083132 00000 n
+0000086606 00000 n
+0000086668 00000 n
+0000086731 00000 n
+0000086794 00000 n
+0000086857 00000 n
+0000086920 00000 n
+0000086983 00000 n
+0000087046 00000 n
+0000087109 00000 n
+0000087172 00000 n
+0000087235 00000 n
+0000087298 00000 n
+0000087361 00000 n
+0000087424 00000 n
+0000087487 00000 n
+0000087550 00000 n
+0000087613 00000 n
+0000087676 00000 n
+0000087739 00000 n
+0000087802 00000 n
+0000087865 00000 n
+0000087928 00000 n
+0000087991 00000 n
+0000088054 00000 n
+0000092765 00000 n
+0000091200 00000 n
+0000088318 00000 n
+0000091321 00000 n
+0000091383 00000 n
+0000091445 00000 n
+0000091508 00000 n
+0000091571 00000 n
+0000091634 00000 n
+0000091697 00000 n
+0000091760 00000 n
+0000091823 00000 n
+0000091886 00000 n
+0000091949 00000 n
+0000092012 00000 n
+0000092075 00000 n
+0000092138 00000 n
+0000092201 00000 n
+0000092264 00000 n
+0000092327 00000 n
+0000092389 00000 n
+0000092452 00000 n
+0000092515 00000 n
+0000092578 00000 n
+0001881203 00000 n
+0000092641 00000 n
+0000092703 00000 n
+0000096090 00000 n
+0000096997 00000 n
+0000095924 00000 n
+0000092967 00000 n
+0000096245 00000 n
+0000096307 00000 n
+0000096369 00000 n
+0000096432 00000 n
+0000096495 00000 n
+0000096558 00000 n
+0000096621 00000 n
+0000096684 00000 n
+0000096746 00000 n
+0000096809 00000 n
+0000096872 00000 n
+0000096935 00000 n
+0001884766 00000 n
+0001886222 00000 n
+0001886580 00000 n
+0000096061 00000 n
+0000101707 00000 n
+0000099577 00000 n
+0000097290 00000 n
+0000099698 00000 n
+0000099760 00000 n
+0000099823 00000 n
+0000099886 00000 n
+0000099949 00000 n
+0000100012 00000 n
+0000100075 00000 n
+0000100138 00000 n
+0000100201 00000 n
+0000100264 00000 n
+0000100327 00000 n
+0000100390 00000 n
+0000100453 00000 n
+0000100515 00000 n
+0000100578 00000 n
+0000100641 00000 n
+0000100704 00000 n
+0000100767 00000 n
+0000100830 00000 n
+0000100893 00000 n
+0000100956 00000 n
+0000101019 00000 n
+0000101080 00000 n
+0000101143 00000 n
+0000101206 00000 n
+0000101269 00000 n
+0000101332 00000 n
+0000101395 00000 n
+0000101458 00000 n
+0000101521 00000 n
+0000101584 00000 n
+0000105517 00000 n
+0000106678 00000 n
+0000105351 00000 n
+0000101922 00000 n
+0000105673 00000 n
+0001885120 00000 n
+0000105735 00000 n
+0000105798 00000 n
+0000105860 00000 n
+0000105923 00000 n
+0000105986 00000 n
+0000106049 00000 n
+0000106112 00000 n
+0000106175 00000 n
+0000106238 00000 n
+0000106301 00000 n
+0000106364 00000 n
+0000106426 00000 n
+0000106489 00000 n
+0000106552 00000 n
+0000106615 00000 n
+0000105488 00000 n
+0000112386 00000 n
+0000109754 00000 n
+0000106971 00000 n
+0000109875 00000 n
+0000109937 00000 n
+0000110000 00000 n
+0000110063 00000 n
+0000110125 00000 n
+0000110188 00000 n
+0000110251 00000 n
+0000110314 00000 n
+0000110377 00000 n
+0000110440 00000 n
+0000110502 00000 n
+0000110565 00000 n
+0000110628 00000 n
+0000110691 00000 n
+0000110754 00000 n
+0000110817 00000 n
+0000110880 00000 n
+0000110943 00000 n
+0000111006 00000 n
+0000111067 00000 n
+0000111130 00000 n
+0000111193 00000 n
+0000111256 00000 n
+0000111319 00000 n
+0000111382 00000 n
+0000111445 00000 n
+0000111508 00000 n
+0000111571 00000 n
+0000111634 00000 n
+0000111697 00000 n
+0000111760 00000 n
+0000111822 00000 n
+0000111885 00000 n
+0000111948 00000 n
+0000112011 00000 n
+0000112074 00000 n
+0000112137 00000 n
+0000112200 00000 n
+0000112263 00000 n
+0000112325 00000 n
+0001887421 00000 n
+0000118031 00000 n
+0000115081 00000 n
+0000112562 00000 n
+0000115202 00000 n
+0000115264 00000 n
+0000115327 00000 n
+0000115390 00000 n
+0000115453 00000 n
+0000115516 00000 n
+0000115579 00000 n
+0000115642 00000 n
+0000115705 00000 n
+0000115768 00000 n
+0000115830 00000 n
+0000115893 00000 n
+0000115956 00000 n
+0000116019 00000 n
+0000116082 00000 n
+0000116145 00000 n
+0000116208 00000 n
+0000116271 00000 n
+0000116334 00000 n
+0000116397 00000 n
+0000116459 00000 n
+0000116522 00000 n
+0000116585 00000 n
+0000116648 00000 n
+0000116711 00000 n
+0000116774 00000 n
+0000116837 00000 n
+0000116900 00000 n
+0000116963 00000 n
+0000117026 00000 n
+0000117089 00000 n
+0000117152 00000 n
+0000117215 00000 n
+0000117278 00000 n
+0000117341 00000 n
+0000117404 00000 n
+0000117467 00000 n
+0000117530 00000 n
+0000117593 00000 n
+0000117655 00000 n
+0000117718 00000 n
+0000117781 00000 n
+0000117844 00000 n
+0000117907 00000 n
+0000117969 00000 n
+0000123692 00000 n
+0000120993 00000 n
+0000118207 00000 n
+0000121114 00000 n
+0000121176 00000 n
+0000121239 00000 n
+0000121302 00000 n
+0000121365 00000 n
+0000121428 00000 n
+0000121491 00000 n
+0000121554 00000 n
+0000121617 00000 n
+0000121680 00000 n
+0000121742 00000 n
+0000121805 00000 n
+0000121868 00000 n
+0000121931 00000 n
+0000121994 00000 n
+0000122057 00000 n
+0000122120 00000 n
+0000122183 00000 n
+0000122246 00000 n
+0000122309 00000 n
+0000122372 00000 n
+0000122435 00000 n
+0000122498 00000 n
+0000122561 00000 n
+0000122624 00000 n
+0000122687 00000 n
+0000122750 00000 n
+0000122812 00000 n
+0000122875 00000 n
+0000122938 00000 n
+0000123001 00000 n
+0000123064 00000 n
+0000123127 00000 n
+0000123190 00000 n
+0000123253 00000 n
+0000123316 00000 n
+0000123379 00000 n
+0000123442 00000 n
+0000123505 00000 n
+0000123568 00000 n
+0000123630 00000 n
+0000129151 00000 n
+0000126322 00000 n
+0000123881 00000 n
+0000126443 00000 n
+0000126505 00000 n
+0000126568 00000 n
+0000126631 00000 n
+0000126694 00000 n
+0000126757 00000 n
+0000126819 00000 n
+0000126882 00000 n
+0000126945 00000 n
+0000127008 00000 n
+0000127071 00000 n
+0000127134 00000 n
+0000127197 00000 n
+0000127260 00000 n
+0000127323 00000 n
+0000127386 00000 n
+0000127449 00000 n
+0000127512 00000 n
+0000127575 00000 n
+0000127637 00000 n
+0000127700 00000 n
+0000127763 00000 n
+0000127826 00000 n
+0000127889 00000 n
+0000127952 00000 n
+0000128015 00000 n
+0000128078 00000 n
+0000128141 00000 n
+0000128203 00000 n
+0000128266 00000 n
+0000128329 00000 n
+0000128452 00000 n
+0000128515 00000 n
+0000128578 00000 n
+0000128642 00000 n
+0000128706 00000 n
+0000128769 00000 n
+0000128833 00000 n
+0000128897 00000 n
+0000128961 00000 n
+0000129025 00000 n
+0000129088 00000 n
+0000134371 00000 n
+0000131463 00000 n
+0000129340 00000 n
+0000131587 00000 n
+0000131651 00000 n
+0000131716 00000 n
+0000131781 00000 n
+0000131846 00000 n
+0000131911 00000 n
+0000131976 00000 n
+0000132041 00000 n
+0000132106 00000 n
+0000132171 00000 n
+0000132235 00000 n
+0000132300 00000 n
+0000132365 00000 n
+0000132430 00000 n
+0000132495 00000 n
+0000132558 00000 n
+0000132623 00000 n
+0000132688 00000 n
+0000132753 00000 n
+0000132818 00000 n
+0000132883 00000 n
+0000132948 00000 n
+0000133013 00000 n
+0000133078 00000 n
+0000133142 00000 n
+0000133207 00000 n
+0000133272 00000 n
+0000133337 00000 n
+0000133402 00000 n
+0000133467 00000 n
+0000133532 00000 n
+0000133597 00000 n
+0000133662 00000 n
+0000133726 00000 n
+0000133791 00000 n
+0000133856 00000 n
+0000133921 00000 n
+0000134048 00000 n
+0000134112 00000 n
+0000134177 00000 n
+0000134242 00000 n
+0000134307 00000 n
+0000139157 00000 n
+0000137412 00000 n
+0000134561 00000 n
+0000137536 00000 n
+0000137600 00000 n
+0000137665 00000 n
+0000137730 00000 n
+0000137795 00000 n
+0000137860 00000 n
+0000137925 00000 n
+0000137990 00000 n
+0000138055 00000 n
+0000138120 00000 n
+0000138185 00000 n
+0000138250 00000 n
+0000138315 00000 n
+0000138380 00000 n
+0000138445 00000 n
+0000138510 00000 n
+0000138575 00000 n
+0000138640 00000 n
+0000138705 00000 n
+0000138770 00000 n
+0000138835 00000 n
+0000138900 00000 n
+0000138964 00000 n
+0000139029 00000 n
+0000139093 00000 n
+0000143283 00000 n
+0000141992 00000 n
+0000139334 00000 n
+0000142116 00000 n
+0000142180 00000 n
+0000142245 00000 n
+0000142310 00000 n
+0000142375 00000 n
+0000142440 00000 n
+0000142505 00000 n
+0000142569 00000 n
+0000142634 00000 n
+0000142699 00000 n
+0000142764 00000 n
+0000142829 00000 n
+0000142894 00000 n
+0000142959 00000 n
+0000143023 00000 n
+0000143088 00000 n
+0000143153 00000 n
+0000143218 00000 n
+0000148766 00000 n
+0000146244 00000 n
+0000143460 00000 n
+0000146368 00000 n
+0000146432 00000 n
+0000146497 00000 n
+0000146562 00000 n
+0000146627 00000 n
+0000146692 00000 n
+0000146757 00000 n
+0000146822 00000 n
+0000146887 00000 n
+0000146952 00000 n
+0000147017 00000 n
+0000147082 00000 n
+0000147147 00000 n
+0000147211 00000 n
+0000147276 00000 n
+0000147341 00000 n
+0000147406 00000 n
+0000147471 00000 n
+0000147536 00000 n
+0000147601 00000 n
+0000147666 00000 n
+0000147731 00000 n
+0000147796 00000 n
+0000147860 00000 n
+0000147925 00000 n
+0000147990 00000 n
+0000148055 00000 n
+0000148120 00000 n
+0000148185 00000 n
+0000148250 00000 n
+0000148315 00000 n
+0000148380 00000 n
+0000148443 00000 n
+0000148508 00000 n
+0000148573 00000 n
+0000148638 00000 n
+0000148702 00000 n
+0000154749 00000 n
+0000151319 00000 n
+0000148943 00000 n
+0000151443 00000 n
+0000151507 00000 n
+0000151572 00000 n
+0000151637 00000 n
+0000151702 00000 n
+0000151767 00000 n
+0000151832 00000 n
+0000151897 00000 n
+0000151962 00000 n
+0000152027 00000 n
+0000152091 00000 n
+0000152156 00000 n
+0000152221 00000 n
+0000152286 00000 n
+0000152351 00000 n
+0000152415 00000 n
+0000152480 00000 n
+0000152545 00000 n
+0000152610 00000 n
+0000152675 00000 n
+0000152740 00000 n
+0000152805 00000 n
+0000152869 00000 n
+0000152934 00000 n
+0000152999 00000 n
+0000153064 00000 n
+0000153129 00000 n
+0000153194 00000 n
+0000153259 00000 n
+0000153324 00000 n
+0000153388 00000 n
+0000153453 00000 n
+0000153518 00000 n
+0000153583 00000 n
+0000153648 00000 n
+0000153713 00000 n
+0000153778 00000 n
+0000153843 00000 n
+0000153908 00000 n
+0000153972 00000 n
+0000154037 00000 n
+0000154102 00000 n
+0000154167 00000 n
+0000154232 00000 n
+0000154297 00000 n
+0000154362 00000 n
+0000154427 00000 n
+0000154492 00000 n
+0000154556 00000 n
+0000154621 00000 n
+0000154685 00000 n
+0000160904 00000 n
+0000156954 00000 n
+0000154913 00000 n
+0000157078 00000 n
+0000157142 00000 n
+0000157207 00000 n
+0000157272 00000 n
+0000157337 00000 n
+0000157402 00000 n
+0000157467 00000 n
+0000157532 00000 n
+0000157597 00000 n
+0000157662 00000 n
+0000157726 00000 n
+0000157791 00000 n
+0000157856 00000 n
+0000157921 00000 n
+0000157986 00000 n
+0000158051 00000 n
+0000158116 00000 n
+0000158181 00000 n
+0000158246 00000 n
+0000158310 00000 n
+0000158375 00000 n
+0000158440 00000 n
+0000158505 00000 n
+0000158570 00000 n
+0000158635 00000 n
+0000158700 00000 n
+0000158765 00000 n
+0000158830 00000 n
+0000158893 00000 n
+0000158958 00000 n
+0000159023 00000 n
+0000159088 00000 n
+0000159153 00000 n
+0000159218 00000 n
+0000159283 00000 n
+0000159348 00000 n
+0000159413 00000 n
+0000159478 00000 n
+0000159543 00000 n
+0000159608 00000 n
+0000159673 00000 n
+0000159738 00000 n
+0000159802 00000 n
+0000159867 00000 n
+0000159932 00000 n
+0000159997 00000 n
+0000160062 00000 n
+0000160127 00000 n
+0000160192 00000 n
+0000160257 00000 n
+0000160322 00000 n
+0000160386 00000 n
+0000160451 00000 n
+0000160516 00000 n
+0000160581 00000 n
+0000160646 00000 n
+0000160711 00000 n
+0000160776 00000 n
+0000160840 00000 n
+0000166892 00000 n
+0000163265 00000 n
+0000161068 00000 n
+0000163390 00000 n
+0000163454 00000 n
+0000163519 00000 n
+0000163584 00000 n
+0000163649 00000 n
+0000163714 00000 n
+0000163779 00000 n
+0000163844 00000 n
+0000163909 00000 n
+0000163974 00000 n
+0000164038 00000 n
+0000164103 00000 n
+0000164168 00000 n
+0000164233 00000 n
+0000164298 00000 n
+0000164363 00000 n
+0000164428 00000 n
+0000164493 00000 n
+0000164558 00000 n
+0000164622 00000 n
+0000164687 00000 n
+0000164752 00000 n
+0000164817 00000 n
+0000164882 00000 n
+0000164947 00000 n
+0000165012 00000 n
+0000165077 00000 n
+0000165142 00000 n
+0000165207 00000 n
+0000165272 00000 n
+0000165337 00000 n
+0000165401 00000 n
+0000165466 00000 n
+0000165531 00000 n
+0000165596 00000 n
+0000165661 00000 n
+0000165726 00000 n
+0000165791 00000 n
+0000165856 00000 n
+0000165921 00000 n
+0000165986 00000 n
+0000166051 00000 n
+0000166116 00000 n
+0000166180 00000 n
+0000166245 00000 n
+0000166310 00000 n
+0000166375 00000 n
+0000166440 00000 n
+0000166505 00000 n
+0000166570 00000 n
+0000166634 00000 n
+0000166699 00000 n
+0000166764 00000 n
+0000166828 00000 n
+0001887581 00000 n
+0000172825 00000 n
+0000168809 00000 n
+0000167069 00000 n
+0000168934 00000 n
+0000168998 00000 n
+0000169063 00000 n
+0000169128 00000 n
+0000169193 00000 n
+0000169258 00000 n
+0000169323 00000 n
+0000169388 00000 n
+0000169453 00000 n
+0000169518 00000 n
+0000169583 00000 n
+0000169647 00000 n
+0000169712 00000 n
+0000169777 00000 n
+0000169842 00000 n
+0000169907 00000 n
+0000169972 00000 n
+0000170037 00000 n
+0000170102 00000 n
+0000170167 00000 n
+0000170231 00000 n
+0000170296 00000 n
+0000170361 00000 n
+0000170426 00000 n
+0000170491 00000 n
+0000170556 00000 n
+0000170621 00000 n
+0000170686 00000 n
+0000170751 00000 n
+0000170815 00000 n
+0000170880 00000 n
+0000170945 00000 n
+0000171010 00000 n
+0000171075 00000 n
+0000171140 00000 n
+0000171205 00000 n
+0000171270 00000 n
+0000171335 00000 n
+0000171399 00000 n
+0000171464 00000 n
+0000171529 00000 n
+0000171594 00000 n
+0000171659 00000 n
+0000171724 00000 n
+0000171789 00000 n
+0000171854 00000 n
+0000171919 00000 n
+0000171982 00000 n
+0000172047 00000 n
+0000172112 00000 n
+0000172177 00000 n
+0000172242 00000 n
+0000172307 00000 n
+0000172372 00000 n
+0000172437 00000 n
+0000172502 00000 n
+0000172567 00000 n
+0000172632 00000 n
+0000172697 00000 n
+0000172761 00000 n
+0000178530 00000 n
+0000174774 00000 n
+0000172976 00000 n
+0000174899 00000 n
+0000174963 00000 n
+0000175028 00000 n
+0000175093 00000 n
+0000175158 00000 n
+0000175223 00000 n
+0000175288 00000 n
+0000175353 00000 n
+0000175418 00000 n
+0000175483 00000 n
+0000175547 00000 n
+0000175612 00000 n
+0000175677 00000 n
+0000175742 00000 n
+0000175807 00000 n
+0000175872 00000 n
+0000175937 00000 n
+0000176002 00000 n
+0000176067 00000 n
+0000176131 00000 n
+0000176196 00000 n
+0000176261 00000 n
+0000176326 00000 n
+0000176391 00000 n
+0000176456 00000 n
+0000176521 00000 n
+0000176586 00000 n
+0000176651 00000 n
+0000176714 00000 n
+0000176779 00000 n
+0000176844 00000 n
+0000176909 00000 n
+0000176974 00000 n
+0000177039 00000 n
+0000177104 00000 n
+0000177169 00000 n
+0000177234 00000 n
+0000177298 00000 n
+0000177363 00000 n
+0000177428 00000 n
+0000177492 00000 n
+0000177557 00000 n
+0000177622 00000 n
+0000177687 00000 n
+0000177752 00000 n
+0000177817 00000 n
+0000177882 00000 n
+0000177947 00000 n
+0000178012 00000 n
+0000178076 00000 n
+0000178141 00000 n
+0000178206 00000 n
+0000178271 00000 n
+0000178336 00000 n
+0000178401 00000 n
+0000178466 00000 n
+0000183991 00000 n
+0000181075 00000 n
+0000178707 00000 n
+0000181200 00000 n
+0000181264 00000 n
+0000181329 00000 n
+0000181394 00000 n
+0000181459 00000 n
+0000181524 00000 n
+0000181588 00000 n
+0000181653 00000 n
+0000181718 00000 n
+0000181783 00000 n
+0000181848 00000 n
+0000181913 00000 n
+0000181978 00000 n
+0000182042 00000 n
+0000182107 00000 n
+0000182172 00000 n
+0000182237 00000 n
+0000182302 00000 n
+0000182367 00000 n
+0000182432 00000 n
+0000182497 00000 n
+0000182562 00000 n
+0000182627 00000 n
+0000182692 00000 n
+0000182757 00000 n
+0000182822 00000 n
+0000182887 00000 n
+0000182952 00000 n
+0000183017 00000 n
+0000183082 00000 n
+0000183147 00000 n
+0000183212 00000 n
+0000183277 00000 n
+0000183342 00000 n
+0000183407 00000 n
+0000183472 00000 n
+0000183537 00000 n
+0000183602 00000 n
+0000183667 00000 n
+0000183732 00000 n
+0000183796 00000 n
+0000183861 00000 n
+0000183926 00000 n
+0000189716 00000 n
+0000186218 00000 n
+0000184168 00000 n
+0000186343 00000 n
+0000186407 00000 n
+0000186471 00000 n
+0000186536 00000 n
+0000186601 00000 n
+0000186666 00000 n
+0000186730 00000 n
+0000186795 00000 n
+0000186860 00000 n
+0000186925 00000 n
+0000186990 00000 n
+0000187055 00000 n
+0000187120 00000 n
+0000187185 00000 n
+0000187250 00000 n
+0000187315 00000 n
+0000187380 00000 n
+0000187445 00000 n
+0000187510 00000 n
+0000187575 00000 n
+0000187640 00000 n
+0000187705 00000 n
+0000187770 00000 n
+0000187835 00000 n
+0000187900 00000 n
+0000187965 00000 n
+0000188030 00000 n
+0000188095 00000 n
+0000188160 00000 n
+0000188225 00000 n
+0000188290 00000 n
+0000188354 00000 n
+0000188419 00000 n
+0000188484 00000 n
+0000188549 00000 n
+0000188614 00000 n
+0000188679 00000 n
+0000188744 00000 n
+0000188809 00000 n
+0000188874 00000 n
+0000188939 00000 n
+0000189004 00000 n
+0000189069 00000 n
+0000189134 00000 n
+0000189199 00000 n
+0000189264 00000 n
+0000189328 00000 n
+0000189393 00000 n
+0000189458 00000 n
+0000189523 00000 n
+0000189588 00000 n
+0000189652 00000 n
+0000194257 00000 n
+0000192446 00000 n
+0000189880 00000 n
+0000192571 00000 n
+0000192635 00000 n
+0000192700 00000 n
+0000192765 00000 n
+0000192830 00000 n
+0000192895 00000 n
+0000192960 00000 n
+0000193025 00000 n
+0000193090 00000 n
+0000193155 00000 n
+0000193220 00000 n
+0000193285 00000 n
+0000193412 00000 n
+0000193477 00000 n
+0000193542 00000 n
+0000193607 00000 n
+0000193672 00000 n
+0000193737 00000 n
+0000193802 00000 n
+0000193867 00000 n
+0000193932 00000 n
+0000193997 00000 n
+0000194062 00000 n
+0000194127 00000 n
+0000194192 00000 n
+0000199735 00000 n
+0000196625 00000 n
+0000194473 00000 n
+0000196750 00000 n
+0000196814 00000 n
+0000196879 00000 n
+0000196944 00000 n
+0000197009 00000 n
+0000197074 00000 n
+0000197139 00000 n
+0000197204 00000 n
+0000197269 00000 n
+0000197334 00000 n
+0000197399 00000 n
+0000197464 00000 n
+0000197529 00000 n
+0000197594 00000 n
+0000197659 00000 n
+0000197723 00000 n
+0000197788 00000 n
+0000197853 00000 n
+0000197918 00000 n
+0000197983 00000 n
+0000198048 00000 n
+0000198113 00000 n
+0000198178 00000 n
+0000198243 00000 n
+0000198308 00000 n
+0000198373 00000 n
+0000198438 00000 n
+0000198503 00000 n
+0000198568 00000 n
+0000198633 00000 n
+0000198698 00000 n
+0000198763 00000 n
+0000198826 00000 n
+0000198891 00000 n
+0000198956 00000 n
+0000199021 00000 n
+0000199086 00000 n
+0000199151 00000 n
+0000199216 00000 n
+0000199281 00000 n
+0000199346 00000 n
+0000199410 00000 n
+0000199475 00000 n
+0000199540 00000 n
+0000199605 00000 n
+0000199670 00000 n
+0000205767 00000 n
+0000201751 00000 n
+0000199925 00000 n
+0000201876 00000 n
+0000201940 00000 n
+0000202005 00000 n
+0000202070 00000 n
+0000202135 00000 n
+0000202200 00000 n
+0000202265 00000 n
+0000202330 00000 n
+0000202394 00000 n
+0000202459 00000 n
+0000202524 00000 n
+0000202589 00000 n
+0000202654 00000 n
+0000202719 00000 n
+0000202784 00000 n
+0000202849 00000 n
+0000202914 00000 n
+0000202978 00000 n
+0000203043 00000 n
+0000203108 00000 n
+0000203173 00000 n
+0000203238 00000 n
+0000203303 00000 n
+0000203368 00000 n
+0000203433 00000 n
+0000203498 00000 n
+0000203563 00000 n
+0000203627 00000 n
+0000203692 00000 n
+0000203757 00000 n
+0000203822 00000 n
+0000203887 00000 n
+0000203952 00000 n
+0000204017 00000 n
+0000204082 00000 n
+0000204147 00000 n
+0000204211 00000 n
+0000204276 00000 n
+0000204341 00000 n
+0000204406 00000 n
+0000204471 00000 n
+0000204536 00000 n
+0000204601 00000 n
+0000204666 00000 n
+0000204731 00000 n
+0000204796 00000 n
+0000204861 00000 n
+0000204925 00000 n
+0000204990 00000 n
+0000205055 00000 n
+0000205120 00000 n
+0000205185 00000 n
+0000205250 00000 n
+0000205315 00000 n
+0000205380 00000 n
+0000205445 00000 n
+0000205509 00000 n
+0000205574 00000 n
+0000205639 00000 n
+0000205703 00000 n
+0000211070 00000 n
+0000208936 00000 n
+0000205931 00000 n
+0000209061 00000 n
+0000209125 00000 n
+0000209190 00000 n
+0000209255 00000 n
+0000209320 00000 n
+0000209385 00000 n
+0000209450 00000 n
+0000209515 00000 n
+0000209580 00000 n
+0000209645 00000 n
+0000209709 00000 n
+0000209774 00000 n
+0000209839 00000 n
+0000209904 00000 n
+0000209969 00000 n
+0000210034 00000 n
+0000210098 00000 n
+0000210163 00000 n
+0000210228 00000 n
+0000210293 00000 n
+0000210358 00000 n
+0000210423 00000 n
+0000210488 00000 n
+0000210553 00000 n
+0000210618 00000 n
+0000210682 00000 n
+0000210747 00000 n
+0000210812 00000 n
+0000210877 00000 n
+0000210942 00000 n
+0000211006 00000 n
+0000216683 00000 n
+0000213314 00000 n
+0000211286 00000 n
+0000213439 00000 n
+0000213503 00000 n
+0000213568 00000 n
+0000213633 00000 n
+0000213698 00000 n
+0000213763 00000 n
+0000213828 00000 n
+0000213893 00000 n
+0000213958 00000 n
+0000214023 00000 n
+0000214088 00000 n
+0000214153 00000 n
+0000214218 00000 n
+0000214283 00000 n
+0000214348 00000 n
+0000214413 00000 n
+0000214477 00000 n
+0000214542 00000 n
+0000214607 00000 n
+0000214672 00000 n
+0000214737 00000 n
+0000214802 00000 n
+0000214867 00000 n
+0000214932 00000 n
+0000214997 00000 n
+0000215061 00000 n
+0000215126 00000 n
+0000215191 00000 n
+0000215256 00000 n
+0000215321 00000 n
+0000215386 00000 n
+0000215451 00000 n
+0000215516 00000 n
+0000215581 00000 n
+0000215646 00000 n
+0000215711 00000 n
+0000215776 00000 n
+0000215840 00000 n
+0000215905 00000 n
+0000215970 00000 n
+0000216035 00000 n
+0000216100 00000 n
+0000216165 00000 n
+0000216230 00000 n
+0000216295 00000 n
+0000216360 00000 n
+0000216425 00000 n
+0000216490 00000 n
+0000216555 00000 n
+0000216619 00000 n
+0000223820 00000 n
+0000221166 00000 n
+0000216860 00000 n
+0000221291 00000 n
+0000221355 00000 n
+0000221420 00000 n
+0000221485 00000 n
+0000221550 00000 n
+0000221615 00000 n
+0000221680 00000 n
+0000221745 00000 n
+0000221810 00000 n
+0000221875 00000 n
+0000221940 00000 n
+0000222005 00000 n
+0000222069 00000 n
+0000222134 00000 n
+0000222199 00000 n
+0000222264 00000 n
+0000222329 00000 n
+0000222394 00000 n
+0000222459 00000 n
+0000222524 00000 n
+0000222589 00000 n
+0000222654 00000 n
+0000222719 00000 n
+0000222784 00000 n
+0000222848 00000 n
+0000222913 00000 n
+0000222978 00000 n
+0000223043 00000 n
+0000223108 00000 n
+0000223173 00000 n
+0000223238 00000 n
+0000223303 00000 n
+0000223368 00000 n
+0000223432 00000 n
+0000223497 00000 n
+0000223562 00000 n
+0000223627 00000 n
+0000223692 00000 n
+0000223755 00000 n
+0001885303 00000 n
+0001887746 00000 n
+0000229485 00000 n
+0000226637 00000 n
+0000224024 00000 n
+0000226762 00000 n
+0000226826 00000 n
+0000226891 00000 n
+0000226956 00000 n
+0000227021 00000 n
+0000227086 00000 n
+0000227151 00000 n
+0000227216 00000 n
+0000227280 00000 n
+0000227345 00000 n
+0000227410 00000 n
+0000227475 00000 n
+0000227540 00000 n
+0000227604 00000 n
+0000227669 00000 n
+0000227734 00000 n
+0000227799 00000 n
+0000227864 00000 n
+0000227929 00000 n
+0000227994 00000 n
+0000228059 00000 n
+0000228124 00000 n
+0000228189 00000 n
+0000228254 00000 n
+0000228319 00000 n
+0000228384 00000 n
+0000228448 00000 n
+0000228513 00000 n
+0000228577 00000 n
+0000228642 00000 n
+0000228707 00000 n
+0000228772 00000 n
+0000228837 00000 n
+0000228902 00000 n
+0000228967 00000 n
+0000229032 00000 n
+0000229097 00000 n
+0000229162 00000 n
+0000229227 00000 n
+0000229292 00000 n
+0000229357 00000 n
+0000229421 00000 n
+0000235217 00000 n
+0000231721 00000 n
+0000229662 00000 n
+0000231846 00000 n
+0000231910 00000 n
+0000231975 00000 n
+0000232040 00000 n
+0000232105 00000 n
+0000232170 00000 n
+0000232235 00000 n
+0000232300 00000 n
+0000232365 00000 n
+0000232430 00000 n
+0000232494 00000 n
+0000232559 00000 n
+0000232624 00000 n
+0000232689 00000 n
+0000232754 00000 n
+0000232819 00000 n
+0000232884 00000 n
+0000232949 00000 n
+0000233014 00000 n
+0000233078 00000 n
+0000233143 00000 n
+0000233208 00000 n
+0000233272 00000 n
+0000233337 00000 n
+0000233402 00000 n
+0000233467 00000 n
+0000233532 00000 n
+0000233597 00000 n
+0000233662 00000 n
+0000233727 00000 n
+0000233792 00000 n
+0000233856 00000 n
+0000233921 00000 n
+0000233986 00000 n
+0000234051 00000 n
+0000234116 00000 n
+0000234181 00000 n
+0000234246 00000 n
+0000234311 00000 n
+0000234376 00000 n
+0000234439 00000 n
+0000234504 00000 n
+0000234569 00000 n
+0000234634 00000 n
+0000234699 00000 n
+0000234764 00000 n
+0000234829 00000 n
+0000234894 00000 n
+0000234959 00000 n
+0000235022 00000 n
+0000235087 00000 n
+0000235152 00000 n
+0000238420 00000 n
+0000238577 00000 n
+0000241720 00000 n
+0000238238 00000 n
+0000235433 00000 n
+0000238734 00000 n
+0000238798 00000 n
+0000238863 00000 n
+0000238928 00000 n
+0000238993 00000 n
+0000239058 00000 n
+0000239123 00000 n
+0000239188 00000 n
+0000239253 00000 n
+0000239318 00000 n
+0000239383 00000 n
+0000239448 00000 n
+0000239513 00000 n
+0000239578 00000 n
+0000239643 00000 n
+0000239708 00000 n
+0000239773 00000 n
+0000239838 00000 n
+0000239903 00000 n
+0000239968 00000 n
+0000240033 00000 n
+0000240098 00000 n
+0000240163 00000 n
+0000240228 00000 n
+0000240293 00000 n
+0000240358 00000 n
+0000240423 00000 n
+0000240487 00000 n
+0000240552 00000 n
+0000240617 00000 n
+0000240682 00000 n
+0000240747 00000 n
+0000240812 00000 n
+0000240877 00000 n
+0000240942 00000 n
+0000241007 00000 n
+0000241072 00000 n
+0000241137 00000 n
+0000241202 00000 n
+0000241267 00000 n
+0000241332 00000 n
+0000241397 00000 n
+0000241461 00000 n
+0000241526 00000 n
+0000241591 00000 n
+0000241656 00000 n
+0000238380 00000 n
+0000247234 00000 n
+0000244516 00000 n
+0000241962 00000 n
+0000244641 00000 n
+0000244705 00000 n
+0000244770 00000 n
+0000244834 00000 n
+0000244899 00000 n
+0000244964 00000 n
+0000245029 00000 n
+0000245094 00000 n
+0000245159 00000 n
+0000245224 00000 n
+0000245289 00000 n
+0000245354 00000 n
+0000245419 00000 n
+0000245483 00000 n
+0000245548 00000 n
+0000245613 00000 n
+0000245678 00000 n
+0000245743 00000 n
+0000245808 00000 n
+0000245873 00000 n
+0000245937 00000 n
+0000246001 00000 n
+0000246066 00000 n
+0000246131 00000 n
+0000246196 00000 n
+0000246261 00000 n
+0000246326 00000 n
+0000246391 00000 n
+0000246456 00000 n
+0000246521 00000 n
+0000246586 00000 n
+0000246651 00000 n
+0000246716 00000 n
+0000246781 00000 n
+0000246846 00000 n
+0000246911 00000 n
+0000246976 00000 n
+0000247041 00000 n
+0000247106 00000 n
+0000247171 00000 n
+0000253488 00000 n
+0000249991 00000 n
+0000247424 00000 n
+0000250116 00000 n
+0000250180 00000 n
+0000250245 00000 n
+0000250309 00000 n
+0000250374 00000 n
+0000250439 00000 n
+0000250504 00000 n
+0000250569 00000 n
+0000250634 00000 n
+0000250699 00000 n
+0000250763 00000 n
+0000250828 00000 n
+0000250893 00000 n
+0000250958 00000 n
+0000251023 00000 n
+0000251088 00000 n
+0000251153 00000 n
+0000251218 00000 n
+0000251283 00000 n
+0000251348 00000 n
+0000251413 00000 n
+0000251478 00000 n
+0000251542 00000 n
+0000251607 00000 n
+0000251672 00000 n
+0000251737 00000 n
+0000251802 00000 n
+0000251867 00000 n
+0000251932 00000 n
+0000251997 00000 n
+0000252062 00000 n
+0000252126 00000 n
+0000252191 00000 n
+0000252256 00000 n
+0000252321 00000 n
+0000252386 00000 n
+0000252451 00000 n
+0000252516 00000 n
+0000252581 00000 n
+0000252646 00000 n
+0000252711 00000 n
+0000252776 00000 n
+0000252841 00000 n
+0000252906 00000 n
+0000252971 00000 n
+0000253036 00000 n
+0000253101 00000 n
+0000253166 00000 n
+0000253231 00000 n
+0000253296 00000 n
+0000253360 00000 n
+0000253425 00000 n
+0000258944 00000 n
+0000256613 00000 n
+0000253665 00000 n
+0000256738 00000 n
+0000256802 00000 n
+0000256867 00000 n
+0000256932 00000 n
+0000256997 00000 n
+0000257062 00000 n
+0000257127 00000 n
+0000257192 00000 n
+0000257257 00000 n
+0000257322 00000 n
+0000257387 00000 n
+0000257452 00000 n
+0000257517 00000 n
+0000257582 00000 n
+0000257647 00000 n
+0000257712 00000 n
+0000257777 00000 n
+0000257842 00000 n
+0000257907 00000 n
+0000257972 00000 n
+0000258037 00000 n
+0000258102 00000 n
+0000258167 00000 n
+0000258232 00000 n
+0000258297 00000 n
+0000258361 00000 n
+0000258426 00000 n
+0000258491 00000 n
+0000258556 00000 n
+0000258621 00000 n
+0000258686 00000 n
+0000258751 00000 n
+0000258816 00000 n
+0000258880 00000 n
+0000263896 00000 n
+0000261826 00000 n
+0000259147 00000 n
+0000261951 00000 n
+0000262015 00000 n
+0000262080 00000 n
+0000262145 00000 n
+0000262209 00000 n
+0000262274 00000 n
+0000262339 00000 n
+0000262404 00000 n
+0000262469 00000 n
+0000262534 00000 n
+0000262599 00000 n
+0000262664 00000 n
+0000262729 00000 n
+0000262794 00000 n
+0000262859 00000 n
+0000262924 00000 n
+0000262988 00000 n
+0000263053 00000 n
+0000263118 00000 n
+0000263183 00000 n
+0000263248 00000 n
+0000263313 00000 n
+0000263378 00000 n
+0000263443 00000 n
+0000263508 00000 n
+0000263573 00000 n
+0000263638 00000 n
+0000263703 00000 n
+0000263768 00000 n
+0000263833 00000 n
+0000268910 00000 n
+0000266452 00000 n
+0000264112 00000 n
+0000266577 00000 n
+0000266641 00000 n
+0000266706 00000 n
+0000266771 00000 n
+0000266836 00000 n
+0000266901 00000 n
+0000266966 00000 n
+0000267031 00000 n
+0000267096 00000 n
+0000267161 00000 n
+0000267226 00000 n
+0000267289 00000 n
+0000267354 00000 n
+0000267419 00000 n
+0000267484 00000 n
+0000267549 00000 n
+0000267614 00000 n
+0000267679 00000 n
+0000267743 00000 n
+0000267808 00000 n
+0000267873 00000 n
+0000267938 00000 n
+0000268003 00000 n
+0000268068 00000 n
+0000268133 00000 n
+0000268198 00000 n
+0000268263 00000 n
+0000268328 00000 n
+0000268393 00000 n
+0000268458 00000 n
+0000268523 00000 n
+0000268588 00000 n
+0000268653 00000 n
+0000268718 00000 n
+0000268783 00000 n
+0000274391 00000 n
+0000271671 00000 n
+0000269087 00000 n
+0000271796 00000 n
+0000271860 00000 n
+0000271925 00000 n
+0000271990 00000 n
+0000272054 00000 n
+0000272119 00000 n
+0000272184 00000 n
+0000272249 00000 n
+0000272314 00000 n
+0000272379 00000 n
+0000272444 00000 n
+0000272509 00000 n
+0000272574 00000 n
+0000272639 00000 n
+0000272704 00000 n
+0000272769 00000 n
+0000272834 00000 n
+0000272899 00000 n
+0000272964 00000 n
+0000273029 00000 n
+0000273094 00000 n
+0000273159 00000 n
+0000273224 00000 n
+0000273289 00000 n
+0000273354 00000 n
+0000273419 00000 n
+0000273484 00000 n
+0000273549 00000 n
+0000273614 00000 n
+0000273679 00000 n
+0000273744 00000 n
+0000273809 00000 n
+0000273874 00000 n
+0000273939 00000 n
+0000274003 00000 n
+0000274068 00000 n
+0000274133 00000 n
+0000274198 00000 n
+0000274263 00000 n
+0000274327 00000 n
+0000280155 00000 n
+0000277504 00000 n
+0000274581 00000 n
+0000277629 00000 n
+0000277693 00000 n
+0000277758 00000 n
+0000277823 00000 n
+0000277888 00000 n
+0000277953 00000 n
+0000278018 00000 n
+0000278083 00000 n
+0000278148 00000 n
+0000278213 00000 n
+0000278277 00000 n
+0000278342 00000 n
+0000278407 00000 n
+0000278472 00000 n
+0000278537 00000 n
+0000278602 00000 n
+0000278667 00000 n
+0000278732 00000 n
+0000278796 00000 n
+0000278861 00000 n
+0000278926 00000 n
+0000278990 00000 n
+0000279055 00000 n
+0000279120 00000 n
+0000279183 00000 n
+0000279248 00000 n
+0000279313 00000 n
+0000279378 00000 n
+0000279443 00000 n
+0000279508 00000 n
+0000279573 00000 n
+0000279638 00000 n
+0000279703 00000 n
+0000279768 00000 n
+0000279833 00000 n
+0000279898 00000 n
+0000279963 00000 n
+0000280028 00000 n
+0000280091 00000 n
+0001887911 00000 n
+0000286080 00000 n
+0000282516 00000 n
+0000280358 00000 n
+0000282641 00000 n
+0000282705 00000 n
+0000282770 00000 n
+0000282835 00000 n
+0000282900 00000 n
+0000282965 00000 n
+0000283030 00000 n
+0000283095 00000 n
+0000283160 00000 n
+0000283225 00000 n
+0000283290 00000 n
+0000283355 00000 n
+0000283420 00000 n
+0000283485 00000 n
+0000283550 00000 n
+0000283615 00000 n
+0000283680 00000 n
+0000283745 00000 n
+0000283808 00000 n
+0000283873 00000 n
+0000283938 00000 n
+0000284003 00000 n
+0000284068 00000 n
+0000284133 00000 n
+0000284198 00000 n
+0000284263 00000 n
+0000284328 00000 n
+0000284392 00000 n
+0000284457 00000 n
+0000284522 00000 n
+0000284587 00000 n
+0000284652 00000 n
+0000284717 00000 n
+0000284782 00000 n
+0000284847 00000 n
+0000284912 00000 n
+0000284976 00000 n
+0000285041 00000 n
+0000285106 00000 n
+0000285171 00000 n
+0000285236 00000 n
+0000285301 00000 n
+0000285366 00000 n
+0000285431 00000 n
+0000285496 00000 n
+0000285560 00000 n
+0000285625 00000 n
+0000285690 00000 n
+0000285755 00000 n
+0000285820 00000 n
+0000285885 00000 n
+0000285950 00000 n
+0000286015 00000 n
+0000288515 00000 n
+0000291979 00000 n
+0000288342 00000 n
+0000286244 00000 n
+0000288672 00000 n
+0000288736 00000 n
+0000288801 00000 n
+0000288866 00000 n
+0000288931 00000 n
+0000288996 00000 n
+0000289061 00000 n
+0000289126 00000 n
+0000289191 00000 n
+0000289256 00000 n
+0000289320 00000 n
+0000289385 00000 n
+0000289450 00000 n
+0000289515 00000 n
+0000289580 00000 n
+0000289645 00000 n
+0000289710 00000 n
+0000289775 00000 n
+0000289840 00000 n
+0000289905 00000 n
+0000289970 00000 n
+0000290035 00000 n
+0000290099 00000 n
+0000290164 00000 n
+0000290229 00000 n
+0000290294 00000 n
+0000290359 00000 n
+0000290424 00000 n
+0000290489 00000 n
+0000290554 00000 n
+0000290619 00000 n
+0000290684 00000 n
+0000290749 00000 n
+0000290814 00000 n
+0000290879 00000 n
+0000290943 00000 n
+0000291008 00000 n
+0000291073 00000 n
+0000291138 00000 n
+0000291203 00000 n
+0000291268 00000 n
+0000291333 00000 n
+0000291398 00000 n
+0000291463 00000 n
+0000291528 00000 n
+0000291593 00000 n
+0000291720 00000 n
+0000291785 00000 n
+0000291850 00000 n
+0000291915 00000 n
+0000288484 00000 n
+0000295450 00000 n
+0000298006 00000 n
+0000295277 00000 n
+0000292208 00000 n
+0000295606 00000 n
+0000295670 00000 n
+0000295735 00000 n
+0000295800 00000 n
+0000295865 00000 n
+0000295930 00000 n
+0000295995 00000 n
+0000296060 00000 n
+0000296125 00000 n
+0000296190 00000 n
+0000296255 00000 n
+0000296320 00000 n
+0000296384 00000 n
+0000296449 00000 n
+0000296514 00000 n
+0000296579 00000 n
+0000296644 00000 n
+0000296709 00000 n
+0000296774 00000 n
+0000296839 00000 n
+0000296904 00000 n
+0000296969 00000 n
+0000297034 00000 n
+0000297099 00000 n
+0000297164 00000 n
+0000297228 00000 n
+0000297293 00000 n
+0000297358 00000 n
+0000297423 00000 n
+0000297488 00000 n
+0000297553 00000 n
+0000297618 00000 n
+0000297683 00000 n
+0000297747 00000 n
+0000297812 00000 n
+0000297877 00000 n
+0000297942 00000 n
+0000295419 00000 n
+0000303805 00000 n
+0000300825 00000 n
+0000298261 00000 n
+0000300950 00000 n
+0000301014 00000 n
+0000301079 00000 n
+0000301144 00000 n
+0000301209 00000 n
+0000301274 00000 n
+0000301339 00000 n
+0000301404 00000 n
+0000301469 00000 n
+0000301534 00000 n
+0000301599 00000 n
+0000301664 00000 n
+0000301729 00000 n
+0000301794 00000 n
+0000301859 00000 n
+0000301924 00000 n
+0000301989 00000 n
+0000302054 00000 n
+0000302119 00000 n
+0000302184 00000 n
+0000302249 00000 n
+0000302314 00000 n
+0000302379 00000 n
+0000302444 00000 n
+0000302509 00000 n
+0000302574 00000 n
+0000302639 00000 n
+0000302704 00000 n
+0000302768 00000 n
+0000302833 00000 n
+0000302898 00000 n
+0000302963 00000 n
+0000303028 00000 n
+0000303093 00000 n
+0000303158 00000 n
+0000303223 00000 n
+0000303288 00000 n
+0000303352 00000 n
+0000303417 00000 n
+0000303482 00000 n
+0000303547 00000 n
+0000303612 00000 n
+0000303677 00000 n
+0000303741 00000 n
+0000306606 00000 n
+0000310005 00000 n
+0000306433 00000 n
+0000303969 00000 n
+0000306763 00000 n
+0000306827 00000 n
+0000306892 00000 n
+0000306957 00000 n
+0000307022 00000 n
+0000307087 00000 n
+0000307152 00000 n
+0000307217 00000 n
+0000307282 00000 n
+0000307346 00000 n
+0000307411 00000 n
+0000307476 00000 n
+0000307541 00000 n
+0000307606 00000 n
+0000307671 00000 n
+0000307736 00000 n
+0000307801 00000 n
+0000307866 00000 n
+0000307930 00000 n
+0000307995 00000 n
+0000308060 00000 n
+0000308125 00000 n
+0000308190 00000 n
+0000308255 00000 n
+0000308320 00000 n
+0000308385 00000 n
+0000308450 00000 n
+0000308514 00000 n
+0000308579 00000 n
+0000308644 00000 n
+0000308709 00000 n
+0000308773 00000 n
+0000308838 00000 n
+0000308903 00000 n
+0000308968 00000 n
+0000309033 00000 n
+0000309098 00000 n
+0000309163 00000 n
+0000309228 00000 n
+0000309293 00000 n
+0000309358 00000 n
+0000309422 00000 n
+0000309487 00000 n
+0000309551 00000 n
+0000309616 00000 n
+0000309681 00000 n
+0000309746 00000 n
+0000309811 00000 n
+0000309876 00000 n
+0000309941 00000 n
+0000306575 00000 n
+0000313157 00000 n
+0000313315 00000 n
+0000316521 00000 n
+0000312975 00000 n
+0000310247 00000 n
+0000313472 00000 n
+0000313536 00000 n
+0000313601 00000 n
+0000313666 00000 n
+0000313731 00000 n
+0000313796 00000 n
+0000313861 00000 n
+0000313926 00000 n
+0000313991 00000 n
+0000314056 00000 n
+0000314120 00000 n
+0000314185 00000 n
+0000314250 00000 n
+0000314315 00000 n
+0000314380 00000 n
+0000314445 00000 n
+0000314510 00000 n
+0000314575 00000 n
+0000314639 00000 n
+0000314704 00000 n
+0000314769 00000 n
+0000314834 00000 n
+0000314899 00000 n
+0000314964 00000 n
+0000315029 00000 n
+0000315094 00000 n
+0000315158 00000 n
+0000315223 00000 n
+0000315288 00000 n
+0000315353 00000 n
+0000315418 00000 n
+0000315483 00000 n
+0000315548 00000 n
+0000315613 00000 n
+0000315678 00000 n
+0000315743 00000 n
+0000315808 00000 n
+0000315873 00000 n
+0000315938 00000 n
+0000316003 00000 n
+0000316068 00000 n
+0000316133 00000 n
+0000316198 00000 n
+0000316262 00000 n
+0000316327 00000 n
+0000316392 00000 n
+0000316457 00000 n
+0000313117 00000 n
+0000319416 00000 n
+0000322097 00000 n
+0000319243 00000 n
+0000316802 00000 n
+0000319573 00000 n
+0000319637 00000 n
+0000319702 00000 n
+0000319767 00000 n
+0000319832 00000 n
+0000319897 00000 n
+0000319962 00000 n
+0000320027 00000 n
+0000320092 00000 n
+0000320157 00000 n
+0000320222 00000 n
+0000320287 00000 n
+0000320350 00000 n
+0000320415 00000 n
+0000320480 00000 n
+0000320545 00000 n
+0000320610 00000 n
+0000320675 00000 n
+0000320740 00000 n
+0000320805 00000 n
+0000320870 00000 n
+0000320934 00000 n
+0000320999 00000 n
+0000321064 00000 n
+0000321129 00000 n
+0000321194 00000 n
+0000321259 00000 n
+0000321324 00000 n
+0000321388 00000 n
+0000321453 00000 n
+0000321518 00000 n
+0000321583 00000 n
+0000321647 00000 n
+0000321774 00000 n
+0000321839 00000 n
+0000321904 00000 n
+0000321969 00000 n
+0000322033 00000 n
+0000319385 00000 n
+0000327607 00000 n
+0000324564 00000 n
+0000322287 00000 n
+0000324689 00000 n
+0000324753 00000 n
+0000324818 00000 n
+0000324883 00000 n
+0000324948 00000 n
+0000325013 00000 n
+0000325077 00000 n
+0000325142 00000 n
+0000325207 00000 n
+0000325271 00000 n
+0000325336 00000 n
+0000325401 00000 n
+0000325466 00000 n
+0000325531 00000 n
+0000325596 00000 n
+0000325661 00000 n
+0000325726 00000 n
+0000325791 00000 n
+0000325856 00000 n
+0000325921 00000 n
+0000325986 00000 n
+0000326051 00000 n
+0000326116 00000 n
+0000326181 00000 n
+0000326246 00000 n
+0000326311 00000 n
+0000326376 00000 n
+0000326441 00000 n
+0000326506 00000 n
+0000326571 00000 n
+0000326636 00000 n
+0000326701 00000 n
+0000326765 00000 n
+0000326830 00000 n
+0000326895 00000 n
+0000326960 00000 n
+0000327025 00000 n
+0000327090 00000 n
+0000327155 00000 n
+0000327220 00000 n
+0000327285 00000 n
+0000327349 00000 n
+0000327414 00000 n
+0000327479 00000 n
+0000327543 00000 n
+0000335477 00000 n
+0000333020 00000 n
+0000329913 00000 n
+0000327784 00000 n
+0000330038 00000 n
+0000330102 00000 n
+0000330167 00000 n
+0000330231 00000 n
+0000330296 00000 n
+0000330361 00000 n
+0000330426 00000 n
+0000330491 00000 n
+0000330556 00000 n
+0000330621 00000 n
+0000330686 00000 n
+0000330749 00000 n
+0000330814 00000 n
+0000330879 00000 n
+0000330944 00000 n
+0000331009 00000 n
+0000331074 00000 n
+0000331139 00000 n
+0000331204 00000 n
+0000331269 00000 n
+0000331333 00000 n
+0000331398 00000 n
+0000331463 00000 n
+0000331528 00000 n
+0000331593 00000 n
+0000331658 00000 n
+0000331723 00000 n
+0000331788 00000 n
+0000331853 00000 n
+0000331917 00000 n
+0000331982 00000 n
+0000332047 00000 n
+0000332112 00000 n
+0000332177 00000 n
+0000332242 00000 n
+0000332307 00000 n
+0000332372 00000 n
+0000332437 00000 n
+0000332501 00000 n
+0000332566 00000 n
+0000332631 00000 n
+0000332695 00000 n
+0000332760 00000 n
+0000332825 00000 n
+0000332890 00000 n
+0000332955 00000 n
+0000339005 00000 n
+0000335304 00000 n
+0000333184 00000 n
+0000335634 00000 n
+0000335698 00000 n
+0000335763 00000 n
+0000335828 00000 n
+0000335892 00000 n
+0000335957 00000 n
+0000336022 00000 n
+0000336087 00000 n
+0000336151 00000 n
+0000336216 00000 n
+0000336281 00000 n
+0000336346 00000 n
+0000336411 00000 n
+0000336476 00000 n
+0000336541 00000 n
+0000336606 00000 n
+0000336671 00000 n
+0000336736 00000 n
+0000336801 00000 n
+0000336866 00000 n
+0000336930 00000 n
+0000336995 00000 n
+0000337060 00000 n
+0000337125 00000 n
+0000337189 00000 n
+0000337254 00000 n
+0000337318 00000 n
+0000337383 00000 n
+0000337448 00000 n
+0000337513 00000 n
+0000337578 00000 n
+0000337643 00000 n
+0000337708 00000 n
+0000337773 00000 n
+0000337838 00000 n
+0000337902 00000 n
+0000337967 00000 n
+0000338032 00000 n
+0000338097 00000 n
+0000338162 00000 n
+0000338227 00000 n
+0000338292 00000 n
+0000338357 00000 n
+0000338422 00000 n
+0000338487 00000 n
+0000338552 00000 n
+0000338617 00000 n
+0000338681 00000 n
+0000338746 00000 n
+0000338811 00000 n
+0000338876 00000 n
+0000338941 00000 n
+0001888076 00000 n
+0000335446 00000 n
+0000344570 00000 n
+0000341076 00000 n
+0000339234 00000 n
+0000341201 00000 n
+0000341265 00000 n
+0000341330 00000 n
+0000341395 00000 n
+0000341460 00000 n
+0000341525 00000 n
+0000341589 00000 n
+0000341654 00000 n
+0000341719 00000 n
+0000341783 00000 n
+0000341848 00000 n
+0000341913 00000 n
+0000341978 00000 n
+0000342043 00000 n
+0000342108 00000 n
+0000342172 00000 n
+0000342237 00000 n
+0000342302 00000 n
+0000342367 00000 n
+0000342432 00000 n
+0000342497 00000 n
+0000342562 00000 n
+0000342625 00000 n
+0000342690 00000 n
+0000342755 00000 n
+0000342820 00000 n
+0000342885 00000 n
+0000342950 00000 n
+0000343015 00000 n
+0000343079 00000 n
+0000343144 00000 n
+0000343209 00000 n
+0000343274 00000 n
+0000343339 00000 n
+0000343404 00000 n
+0000343469 00000 n
+0000343534 00000 n
+0000343599 00000 n
+0000343663 00000 n
+0000343728 00000 n
+0000343793 00000 n
+0000343858 00000 n
+0000343923 00000 n
+0000343987 00000 n
+0000344052 00000 n
+0000344117 00000 n
+0000344182 00000 n
+0000344247 00000 n
+0000344312 00000 n
+0000344377 00000 n
+0000344442 00000 n
+0000344506 00000 n
+0000350470 00000 n
+0000346646 00000 n
+0000344734 00000 n
+0000346771 00000 n
+0000346835 00000 n
+0000346900 00000 n
+0000346965 00000 n
+0000347030 00000 n
+0000347095 00000 n
+0000347160 00000 n
+0000347225 00000 n
+0000347290 00000 n
+0000347355 00000 n
+0000347420 00000 n
+0000347485 00000 n
+0000347550 00000 n
+0000347615 00000 n
+0000347680 00000 n
+0000347745 00000 n
+0000347810 00000 n
+0000347875 00000 n
+0000347940 00000 n
+0000348004 00000 n
+0000348069 00000 n
+0000348134 00000 n
+0000348199 00000 n
+0000348264 00000 n
+0000348329 00000 n
+0000348394 00000 n
+0000348459 00000 n
+0000348524 00000 n
+0000348588 00000 n
+0000348653 00000 n
+0000348718 00000 n
+0000348783 00000 n
+0000348848 00000 n
+0000348913 00000 n
+0000348978 00000 n
+0000349043 00000 n
+0000349108 00000 n
+0000349172 00000 n
+0000349237 00000 n
+0000349302 00000 n
+0000349367 00000 n
+0000349432 00000 n
+0000349497 00000 n
+0000349562 00000 n
+0000349627 00000 n
+0000349692 00000 n
+0000349757 00000 n
+0000349822 00000 n
+0000349887 00000 n
+0000349952 00000 n
+0000350017 00000 n
+0000350082 00000 n
+0000350147 00000 n
+0000350212 00000 n
+0000350277 00000 n
+0000350342 00000 n
+0000350406 00000 n
+0000356367 00000 n
+0000353065 00000 n
+0000350647 00000 n
+0000353190 00000 n
+0000353254 00000 n
+0000353319 00000 n
+0000353384 00000 n
+0000353449 00000 n
+0000353514 00000 n
+0000353579 00000 n
+0000353644 00000 n
+0000353709 00000 n
+0000353773 00000 n
+0000353838 00000 n
+0000353903 00000 n
+0000353967 00000 n
+0000354032 00000 n
+0000354097 00000 n
+0000354162 00000 n
+0000354227 00000 n
+0000354292 00000 n
+0000354357 00000 n
+0000354422 00000 n
+0000354487 00000 n
+0000354551 00000 n
+0000354616 00000 n
+0000354681 00000 n
+0000354746 00000 n
+0000354811 00000 n
+0000354876 00000 n
+0000354941 00000 n
+0000355006 00000 n
+0000355071 00000 n
+0000355135 00000 n
+0000355200 00000 n
+0000355265 00000 n
+0000355330 00000 n
+0000355395 00000 n
+0000355460 00000 n
+0000355525 00000 n
+0000355590 00000 n
+0000355655 00000 n
+0000355719 00000 n
+0000355784 00000 n
+0000355849 00000 n
+0000355914 00000 n
+0000355979 00000 n
+0000356044 00000 n
+0000356109 00000 n
+0000356174 00000 n
+0000356239 00000 n
+0000356303 00000 n
+0000362150 00000 n
+0000359756 00000 n
+0000356544 00000 n
+0000359881 00000 n
+0000359945 00000 n
+0000360010 00000 n
+0000360075 00000 n
+0000360140 00000 n
+0000360205 00000 n
+0000360270 00000 n
+0000360335 00000 n
+0000360400 00000 n
+0000360465 00000 n
+0000360529 00000 n
+0000360594 00000 n
+0000360659 00000 n
+0000360724 00000 n
+0000360789 00000 n
+0000360854 00000 n
+0000360919 00000 n
+0000360983 00000 n
+0000361048 00000 n
+0000361113 00000 n
+0000361178 00000 n
+0000361243 00000 n
+0000361308 00000 n
+0000361373 00000 n
+0000361438 00000 n
+0000361503 00000 n
+0000361568 00000 n
+0000361632 00000 n
+0000361697 00000 n
+0000361762 00000 n
+0000361827 00000 n
+0000361892 00000 n
+0000361957 00000 n
+0000362022 00000 n
+0000362086 00000 n
+0000367857 00000 n
+0000364683 00000 n
+0000362340 00000 n
+0000364808 00000 n
+0000364872 00000 n
+0000364937 00000 n
+0000365002 00000 n
+0000365067 00000 n
+0000365132 00000 n
+0000365197 00000 n
+0000365262 00000 n
+0000365327 00000 n
+0000365392 00000 n
+0000365457 00000 n
+0000365522 00000 n
+0000365587 00000 n
+0000365652 00000 n
+0000365717 00000 n
+0000365781 00000 n
+0000365846 00000 n
+0000365911 00000 n
+0000365976 00000 n
+0000366041 00000 n
+0000366106 00000 n
+0000366171 00000 n
+0000366236 00000 n
+0000366301 00000 n
+0000366365 00000 n
+0000366430 00000 n
+0000366495 00000 n
+0000366560 00000 n
+0000366625 00000 n
+0000366690 00000 n
+0000366755 00000 n
+0000366820 00000 n
+0000366885 00000 n
+0000366950 00000 n
+0000367015 00000 n
+0000367080 00000 n
+0000367145 00000 n
+0000367210 00000 n
+0000367275 00000 n
+0000367340 00000 n
+0000367404 00000 n
+0000367469 00000 n
+0000367534 00000 n
+0000367599 00000 n
+0000367664 00000 n
+0000367729 00000 n
+0000367793 00000 n
+0000373543 00000 n
+0000370306 00000 n
+0000368034 00000 n
+0000370431 00000 n
+0000370495 00000 n
+0000370560 00000 n
+0000370624 00000 n
+0000370689 00000 n
+0000370754 00000 n
+0000370819 00000 n
+0000370884 00000 n
+0000370949 00000 n
+0000371014 00000 n
+0000371079 00000 n
+0000371144 00000 n
+0000371209 00000 n
+0000371274 00000 n
+0000371339 00000 n
+0000371403 00000 n
+0000371468 00000 n
+0000371533 00000 n
+0000371598 00000 n
+0000371663 00000 n
+0000371728 00000 n
+0000371793 00000 n
+0000371858 00000 n
+0000371923 00000 n
+0000371987 00000 n
+0000372052 00000 n
+0000372117 00000 n
+0000372182 00000 n
+0000372247 00000 n
+0000372312 00000 n
+0000372377 00000 n
+0000372442 00000 n
+0000372507 00000 n
+0000372572 00000 n
+0000372636 00000 n
+0000372701 00000 n
+0000372766 00000 n
+0000372831 00000 n
+0000372896 00000 n
+0000372961 00000 n
+0000373026 00000 n
+0000373091 00000 n
+0000373156 00000 n
+0000373221 00000 n
+0000373284 00000 n
+0000373349 00000 n
+0000373414 00000 n
+0000373479 00000 n
+0000379260 00000 n
+0000375763 00000 n
+0000373733 00000 n
+0000375888 00000 n
+0000375952 00000 n
+0000376017 00000 n
+0000376082 00000 n
+0000376147 00000 n
+0000376212 00000 n
+0000376277 00000 n
+0000376342 00000 n
+0000376406 00000 n
+0000376471 00000 n
+0000376536 00000 n
+0000376601 00000 n
+0000376666 00000 n
+0000376731 00000 n
+0000376796 00000 n
+0000376861 00000 n
+0000376926 00000 n
+0000376990 00000 n
+0000377055 00000 n
+0000377120 00000 n
+0000377185 00000 n
+0000377250 00000 n
+0000377315 00000 n
+0000377380 00000 n
+0000377444 00000 n
+0000377509 00000 n
+0000377574 00000 n
+0000377639 00000 n
+0000377704 00000 n
+0000377769 00000 n
+0000377834 00000 n
+0000377898 00000 n
+0000377963 00000 n
+0000378028 00000 n
+0000378093 00000 n
+0000378158 00000 n
+0000378223 00000 n
+0000378288 00000 n
+0000378353 00000 n
+0000378418 00000 n
+0000378483 00000 n
+0000378548 00000 n
+0000378613 00000 n
+0000378678 00000 n
+0000378743 00000 n
+0000378808 00000 n
+0000378873 00000 n
+0000378938 00000 n
+0000379002 00000 n
+0000379067 00000 n
+0000379132 00000 n
+0000379196 00000 n
+0000385055 00000 n
+0000381430 00000 n
+0000379437 00000 n
+0000381555 00000 n
+0000381619 00000 n
+0000381684 00000 n
+0000381749 00000 n
+0000381814 00000 n
+0000381879 00000 n
+0000381943 00000 n
+0000382008 00000 n
+0000382073 00000 n
+0000382138 00000 n
+0000382202 00000 n
+0000382267 00000 n
+0000382332 00000 n
+0000382397 00000 n
+0000382462 00000 n
+0000382527 00000 n
+0000382592 00000 n
+0000382657 00000 n
+0000382722 00000 n
+0000382786 00000 n
+0000382851 00000 n
+0000382916 00000 n
+0000382981 00000 n
+0000383046 00000 n
+0000383111 00000 n
+0000383176 00000 n
+0000383241 00000 n
+0000383305 00000 n
+0000383370 00000 n
+0000383435 00000 n
+0000383500 00000 n
+0000383565 00000 n
+0000383630 00000 n
+0000383695 00000 n
+0000383760 00000 n
+0000383825 00000 n
+0000383890 00000 n
+0000383954 00000 n
+0000384019 00000 n
+0000384084 00000 n
+0000384149 00000 n
+0000384213 00000 n
+0000384278 00000 n
+0000384343 00000 n
+0000384408 00000 n
+0000384473 00000 n
+0000384538 00000 n
+0000384603 00000 n
+0000384668 00000 n
+0000384733 00000 n
+0000384797 00000 n
+0000384862 00000 n
+0000384927 00000 n
+0000384991 00000 n
+0000391068 00000 n
+0000387245 00000 n
+0000385232 00000 n
+0000387370 00000 n
+0000387434 00000 n
+0000387499 00000 n
+0000387564 00000 n
+0000387629 00000 n
+0000387694 00000 n
+0000387759 00000 n
+0000387824 00000 n
+0000387889 00000 n
+0000387954 00000 n
+0000388019 00000 n
+0000388084 00000 n
+0000388149 00000 n
+0000388214 00000 n
+0000388279 00000 n
+0000388343 00000 n
+0000388408 00000 n
+0000388473 00000 n
+0000388538 00000 n
+0000388603 00000 n
+0000388668 00000 n
+0000388733 00000 n
+0000388798 00000 n
+0000388863 00000 n
+0000388928 00000 n
+0000388992 00000 n
+0000389057 00000 n
+0000389122 00000 n
+0000389187 00000 n
+0000389252 00000 n
+0000389317 00000 n
+0000389382 00000 n
+0000389447 00000 n
+0000389512 00000 n
+0000389576 00000 n
+0000389641 00000 n
+0000389706 00000 n
+0000389771 00000 n
+0000389836 00000 n
+0000389901 00000 n
+0000389966 00000 n
+0000390031 00000 n
+0000390096 00000 n
+0000390161 00000 n
+0000390226 00000 n
+0000390291 00000 n
+0000390356 00000 n
+0000390421 00000 n
+0000390486 00000 n
+0000390551 00000 n
+0000390616 00000 n
+0000390680 00000 n
+0000390745 00000 n
+0000390810 00000 n
+0000390875 00000 n
+0000390940 00000 n
+0000391004 00000 n
+0000396992 00000 n
+0000393235 00000 n
+0000391232 00000 n
+0000393360 00000 n
+0000393424 00000 n
+0000393489 00000 n
+0000393554 00000 n
+0000393619 00000 n
+0000393684 00000 n
+0000393749 00000 n
+0000393813 00000 n
+0000393878 00000 n
+0000393942 00000 n
+0000394007 00000 n
+0000394072 00000 n
+0000394137 00000 n
+0000394202 00000 n
+0000394267 00000 n
+0000394332 00000 n
+0000394397 00000 n
+0000394462 00000 n
+0000394526 00000 n
+0000394591 00000 n
+0000394656 00000 n
+0000394721 00000 n
+0000394786 00000 n
+0000394851 00000 n
+0000394916 00000 n
+0000394981 00000 n
+0000395046 00000 n
+0000395111 00000 n
+0000395176 00000 n
+0000395241 00000 n
+0000395306 00000 n
+0000395371 00000 n
+0000395436 00000 n
+0000395501 00000 n
+0000395566 00000 n
+0000395631 00000 n
+0000395696 00000 n
+0000395760 00000 n
+0000395825 00000 n
+0000395890 00000 n
+0000395955 00000 n
+0000396020 00000 n
+0000396085 00000 n
+0000396150 00000 n
+0000396215 00000 n
+0000396280 00000 n
+0000396345 00000 n
+0000396410 00000 n
+0000396475 00000 n
+0000396540 00000 n
+0000396604 00000 n
+0000396669 00000 n
+0000396734 00000 n
+0000396799 00000 n
+0000396864 00000 n
+0000396928 00000 n
+0001888241 00000 n
+0000402325 00000 n
+0000400122 00000 n
+0000397156 00000 n
+0000400247 00000 n
+0000400311 00000 n
+0000400376 00000 n
+0000400441 00000 n
+0000400506 00000 n
+0000400571 00000 n
+0000400636 00000 n
+0000400701 00000 n
+0000400766 00000 n
+0000400831 00000 n
+0000400896 00000 n
+0000400961 00000 n
+0000401026 00000 n
+0000401091 00000 n
+0000401156 00000 n
+0000401221 00000 n
+0000401286 00000 n
+0000401350 00000 n
+0000401415 00000 n
+0000401480 00000 n
+0000401545 00000 n
+0000401610 00000 n
+0000401675 00000 n
+0000401740 00000 n
+0000401805 00000 n
+0000401870 00000 n
+0000401935 00000 n
+0000402000 00000 n
+0000402065 00000 n
+0000402130 00000 n
+0000402195 00000 n
+0000402260 00000 n
+0000407896 00000 n
+0000404918 00000 n
+0000402528 00000 n
+0000405043 00000 n
+0000405107 00000 n
+0000405172 00000 n
+0000405236 00000 n
+0000405301 00000 n
+0000405366 00000 n
+0000405431 00000 n
+0000405496 00000 n
+0000405561 00000 n
+0000405626 00000 n
+0000405691 00000 n
+0000405756 00000 n
+0000405820 00000 n
+0000405885 00000 n
+0000405950 00000 n
+0000406015 00000 n
+0000406080 00000 n
+0000406145 00000 n
+0000406210 00000 n
+0000406275 00000 n
+0000406339 00000 n
+0000406404 00000 n
+0000406469 00000 n
+0000406534 00000 n
+0000406599 00000 n
+0000406664 00000 n
+0000406729 00000 n
+0000406794 00000 n
+0000406859 00000 n
+0000406923 00000 n
+0000406988 00000 n
+0000407053 00000 n
+0000407118 00000 n
+0000407183 00000 n
+0000407248 00000 n
+0000407313 00000 n
+0000407378 00000 n
+0000407443 00000 n
+0000407508 00000 n
+0000407572 00000 n
+0000407637 00000 n
+0000407702 00000 n
+0000407767 00000 n
+0000407832 00000 n
+0000413256 00000 n
+0000410345 00000 n
+0000408060 00000 n
+0000410470 00000 n
+0000410534 00000 n
+0000410599 00000 n
+0000410664 00000 n
+0000410729 00000 n
+0000410793 00000 n
+0000410920 00000 n
+0000410985 00000 n
+0000411050 00000 n
+0000411115 00000 n
+0000411180 00000 n
+0000411245 00000 n
+0000411309 00000 n
+0000411374 00000 n
+0000411439 00000 n
+0000411504 00000 n
+0000411569 00000 n
+0000411634 00000 n
+0000411699 00000 n
+0000411764 00000 n
+0000411829 00000 n
+0000411894 00000 n
+0000411959 00000 n
+0000412024 00000 n
+0000412089 00000 n
+0000412154 00000 n
+0000412219 00000 n
+0000412284 00000 n
+0000412349 00000 n
+0000412414 00000 n
+0000412479 00000 n
+0000412544 00000 n
+0000412609 00000 n
+0000412674 00000 n
+0000412739 00000 n
+0000412804 00000 n
+0000412868 00000 n
+0000412933 00000 n
+0000412998 00000 n
+0000413063 00000 n
+0000413128 00000 n
+0000413192 00000 n
+0000418870 00000 n
+0000415309 00000 n
+0000413459 00000 n
+0000415434 00000 n
+0000415498 00000 n
+0000415563 00000 n
+0000415628 00000 n
+0000415693 00000 n
+0000415758 00000 n
+0000415823 00000 n
+0000415887 00000 n
+0000415952 00000 n
+0000416017 00000 n
+0000416082 00000 n
+0000416147 00000 n
+0000416212 00000 n
+0000416277 00000 n
+0000416342 00000 n
+0000416407 00000 n
+0000416472 00000 n
+0000416537 00000 n
+0000416602 00000 n
+0000416667 00000 n
+0000416732 00000 n
+0000416795 00000 n
+0000416860 00000 n
+0000416925 00000 n
+0000416990 00000 n
+0000417055 00000 n
+0000417120 00000 n
+0000417185 00000 n
+0000417250 00000 n
+0000417315 00000 n
+0000417379 00000 n
+0000417444 00000 n
+0000417509 00000 n
+0000417574 00000 n
+0000417639 00000 n
+0000417704 00000 n
+0000417769 00000 n
+0000417834 00000 n
+0000417899 00000 n
+0000417963 00000 n
+0000418028 00000 n
+0000418093 00000 n
+0000418158 00000 n
+0000418223 00000 n
+0000418288 00000 n
+0000418353 00000 n
+0000418417 00000 n
+0000418482 00000 n
+0000418547 00000 n
+0000418612 00000 n
+0000418677 00000 n
+0000418742 00000 n
+0000418806 00000 n
+0000424179 00000 n
+0000420618 00000 n
+0000419034 00000 n
+0000420743 00000 n
+0000420807 00000 n
+0000420872 00000 n
+0000420937 00000 n
+0000421002 00000 n
+0000421067 00000 n
+0000421132 00000 n
+0000421197 00000 n
+0000421261 00000 n
+0000421326 00000 n
+0000421391 00000 n
+0000421456 00000 n
+0000421521 00000 n
+0000421586 00000 n
+0000421651 00000 n
+0000421716 00000 n
+0000421781 00000 n
+0000421845 00000 n
+0000421910 00000 n
+0000421975 00000 n
+0000422040 00000 n
+0000422105 00000 n
+0000422170 00000 n
+0000422235 00000 n
+0000422300 00000 n
+0000422365 00000 n
+0000422429 00000 n
+0000422494 00000 n
+0000422559 00000 n
+0000422624 00000 n
+0000422689 00000 n
+0000422754 00000 n
+0000422819 00000 n
+0000422884 00000 n
+0000422949 00000 n
+0000423014 00000 n
+0000423079 00000 n
+0000423144 00000 n
+0000423207 00000 n
+0000423272 00000 n
+0000423337 00000 n
+0000423402 00000 n
+0000423467 00000 n
+0000423532 00000 n
+0000423597 00000 n
+0000423662 00000 n
+0000423727 00000 n
+0000423791 00000 n
+0000423856 00000 n
+0000423921 00000 n
+0000423986 00000 n
+0000424051 00000 n
+0000424115 00000 n
+0000429961 00000 n
+0000426593 00000 n
+0000424343 00000 n
+0000426718 00000 n
+0000426782 00000 n
+0000426847 00000 n
+0000426912 00000 n
+0000426977 00000 n
+0000427042 00000 n
+0000427107 00000 n
+0000427170 00000 n
+0000427235 00000 n
+0000427300 00000 n
+0000427365 00000 n
+0000427430 00000 n
+0000427495 00000 n
+0000427560 00000 n
+0000427625 00000 n
+0000427690 00000 n
+0000427754 00000 n
+0000427819 00000 n
+0000427884 00000 n
+0000427949 00000 n
+0000428014 00000 n
+0000428079 00000 n
+0000428144 00000 n
+0000428209 00000 n
+0000428274 00000 n
+0000428339 00000 n
+0000428404 00000 n
+0000428469 00000 n
+0000428534 00000 n
+0000428599 00000 n
+0000428664 00000 n
+0000428729 00000 n
+0000428794 00000 n
+0000428859 00000 n
+0000428924 00000 n
+0000428989 00000 n
+0000429054 00000 n
+0000429119 00000 n
+0000429184 00000 n
+0000429249 00000 n
+0000429314 00000 n
+0000429379 00000 n
+0000429444 00000 n
+0000429509 00000 n
+0000429573 00000 n
+0000429638 00000 n
+0000429703 00000 n
+0000429768 00000 n
+0000429833 00000 n
+0000429897 00000 n
+0000435506 00000 n
+0000432654 00000 n
+0000430138 00000 n
+0000432779 00000 n
+0000432843 00000 n
+0000432908 00000 n
+0000432973 00000 n
+0000433038 00000 n
+0000433103 00000 n
+0000433168 00000 n
+0000433233 00000 n
+0000433298 00000 n
+0000433363 00000 n
+0000433428 00000 n
+0000433493 00000 n
+0000433558 00000 n
+0000433623 00000 n
+0000433688 00000 n
+0000433753 00000 n
+0000433816 00000 n
+0000433881 00000 n
+0000433946 00000 n
+0000434011 00000 n
+0000434076 00000 n
+0000434141 00000 n
+0000434206 00000 n
+0000434271 00000 n
+0000434336 00000 n
+0000434401 00000 n
+0000434466 00000 n
+0000434531 00000 n
+0000434596 00000 n
+0000434661 00000 n
+0000434726 00000 n
+0000434791 00000 n
+0000434856 00000 n
+0000434921 00000 n
+0000434986 00000 n
+0000435051 00000 n
+0000435116 00000 n
+0000435181 00000 n
+0000435246 00000 n
+0000435311 00000 n
+0000435376 00000 n
+0000435441 00000 n
+0000440917 00000 n
+0000438328 00000 n
+0000435696 00000 n
+0000438453 00000 n
+0000438517 00000 n
+0000438582 00000 n
+0000438646 00000 n
+0000438711 00000 n
+0000438776 00000 n
+0000438841 00000 n
+0000438906 00000 n
+0000438971 00000 n
+0000439036 00000 n
+0000439101 00000 n
+0000439166 00000 n
+0000439231 00000 n
+0000439295 00000 n
+0000439360 00000 n
+0000439425 00000 n
+0000439490 00000 n
+0000439555 00000 n
+0000439620 00000 n
+0000439685 00000 n
+0000439750 00000 n
+0000439815 00000 n
+0000439880 00000 n
+0000439945 00000 n
+0000440010 00000 n
+0000440075 00000 n
+0000440140 00000 n
+0000440204 00000 n
+0000440269 00000 n
+0000440334 00000 n
+0000440399 00000 n
+0000440464 00000 n
+0000440529 00000 n
+0000440594 00000 n
+0000440659 00000 n
+0000440724 00000 n
+0000440789 00000 n
+0000440854 00000 n
+0000446933 00000 n
+0000443371 00000 n
+0000441094 00000 n
+0000443496 00000 n
+0000443560 00000 n
+0000443625 00000 n
+0000443690 00000 n
+0000443755 00000 n
+0000443819 00000 n
+0000443884 00000 n
+0000443949 00000 n
+0000444014 00000 n
+0000444079 00000 n
+0000444144 00000 n
+0000444209 00000 n
+0000444274 00000 n
+0000444339 00000 n
+0000444404 00000 n
+0000444469 00000 n
+0000444533 00000 n
+0000444598 00000 n
+0000444663 00000 n
+0000444728 00000 n
+0000444793 00000 n
+0000444858 00000 n
+0000444923 00000 n
+0000444988 00000 n
+0000445053 00000 n
+0000445118 00000 n
+0000445183 00000 n
+0000445247 00000 n
+0000445312 00000 n
+0000445376 00000 n
+0000445441 00000 n
+0000445506 00000 n
+0000445571 00000 n
+0000445636 00000 n
+0000445701 00000 n
+0000445766 00000 n
+0000445831 00000 n
+0000445896 00000 n
+0000445961 00000 n
+0000446026 00000 n
+0000446090 00000 n
+0000446155 00000 n
+0000446220 00000 n
+0000446285 00000 n
+0000446350 00000 n
+0000446415 00000 n
+0000446480 00000 n
+0000446545 00000 n
+0000446610 00000 n
+0000446674 00000 n
+0000446739 00000 n
+0000446804 00000 n
+0000446869 00000 n
+0000452767 00000 n
+0000449594 00000 n
+0000447110 00000 n
+0000449719 00000 n
+0000449783 00000 n
+0000449848 00000 n
+0000449913 00000 n
+0000449978 00000 n
+0000450043 00000 n
+0000450108 00000 n
+0000450173 00000 n
+0000450238 00000 n
+0000450303 00000 n
+0000450368 00000 n
+0000450433 00000 n
+0000450498 00000 n
+0000450562 00000 n
+0000450627 00000 n
+0000450692 00000 n
+0000450757 00000 n
+0000450822 00000 n
+0000450887 00000 n
+0000450952 00000 n
+0000451017 00000 n
+0000451082 00000 n
+0000451147 00000 n
+0000451212 00000 n
+0000451277 00000 n
+0000451342 00000 n
+0000451407 00000 n
+0000451472 00000 n
+0000451537 00000 n
+0000451602 00000 n
+0000451667 00000 n
+0000451732 00000 n
+0000451796 00000 n
+0000451861 00000 n
+0000451926 00000 n
+0000451991 00000 n
+0000452056 00000 n
+0000452121 00000 n
+0000452186 00000 n
+0000452251 00000 n
+0000452316 00000 n
+0000452381 00000 n
+0000452444 00000 n
+0000452509 00000 n
+0000452574 00000 n
+0000452639 00000 n
+0000452703 00000 n
+0001888406 00000 n
+0000458703 00000 n
+0000454879 00000 n
+0000452944 00000 n
+0000455004 00000 n
+0000455068 00000 n
+0000455133 00000 n
+0000455198 00000 n
+0000455263 00000 n
+0000455328 00000 n
+0000455393 00000 n
+0000455458 00000 n
+0000455523 00000 n
+0000455588 00000 n
+0000455652 00000 n
+0000455717 00000 n
+0000455782 00000 n
+0000455847 00000 n
+0000455912 00000 n
+0000455977 00000 n
+0000456042 00000 n
+0000456107 00000 n
+0000456172 00000 n
+0000456236 00000 n
+0000456301 00000 n
+0000456366 00000 n
+0000456431 00000 n
+0000456496 00000 n
+0000456561 00000 n
+0000456626 00000 n
+0000456691 00000 n
+0000456756 00000 n
+0000456821 00000 n
+0000456886 00000 n
+0000456951 00000 n
+0000457016 00000 n
+0000457081 00000 n
+0000457146 00000 n
+0000457211 00000 n
+0000457276 00000 n
+0000457341 00000 n
+0000457406 00000 n
+0000457471 00000 n
+0000457536 00000 n
+0000457601 00000 n
+0000457665 00000 n
+0000457730 00000 n
+0000457795 00000 n
+0000457860 00000 n
+0000457925 00000 n
+0000457990 00000 n
+0000458055 00000 n
+0000458120 00000 n
+0000458185 00000 n
+0000458249 00000 n
+0000458314 00000 n
+0000458379 00000 n
+0000458444 00000 n
+0000458509 00000 n
+0000458574 00000 n
+0000458639 00000 n
+0000464147 00000 n
+0000461817 00000 n
+0000458867 00000 n
+0000461942 00000 n
+0000462006 00000 n
+0000462071 00000 n
+0000462136 00000 n
+0000462201 00000 n
+0000462266 00000 n
+0000462331 00000 n
+0000462396 00000 n
+0000462461 00000 n
+0000462525 00000 n
+0000462590 00000 n
+0000462655 00000 n
+0000462720 00000 n
+0000462785 00000 n
+0000462850 00000 n
+0000462915 00000 n
+0000462979 00000 n
+0000463044 00000 n
+0000463109 00000 n
+0000463174 00000 n
+0000463239 00000 n
+0000463304 00000 n
+0000463369 00000 n
+0000463434 00000 n
+0000463499 00000 n
+0000463564 00000 n
+0000463629 00000 n
+0000463694 00000 n
+0000463759 00000 n
+0000463824 00000 n
+0000463889 00000 n
+0000463953 00000 n
+0000464018 00000 n
+0000464083 00000 n
+0000469811 00000 n
+0000467288 00000 n
+0000464337 00000 n
+0000467413 00000 n
+0000467477 00000 n
+0000467542 00000 n
+0000467607 00000 n
+0000467672 00000 n
+0000467737 00000 n
+0000467802 00000 n
+0000467867 00000 n
+0000467931 00000 n
+0000467996 00000 n
+0000468061 00000 n
+0000468125 00000 n
+0000468190 00000 n
+0000468255 00000 n
+0000468320 00000 n
+0000468385 00000 n
+0000468450 00000 n
+0000468515 00000 n
+0000468580 00000 n
+0000468644 00000 n
+0000468709 00000 n
+0000468774 00000 n
+0000468839 00000 n
+0000468904 00000 n
+0000468969 00000 n
+0000469034 00000 n
+0000469099 00000 n
+0000469164 00000 n
+0000469229 00000 n
+0000469294 00000 n
+0000469358 00000 n
+0000469423 00000 n
+0000469488 00000 n
+0000469553 00000 n
+0000469618 00000 n
+0000469683 00000 n
+0000469747 00000 n
+0000475632 00000 n
+0000472394 00000 n
+0000470001 00000 n
+0000472519 00000 n
+0000472583 00000 n
+0000472648 00000 n
+0000472713 00000 n
+0000472778 00000 n
+0000472843 00000 n
+0000472908 00000 n
+0000472973 00000 n
+0000473038 00000 n
+0000473103 00000 n
+0000473167 00000 n
+0000473232 00000 n
+0000473297 00000 n
+0000473362 00000 n
+0000473427 00000 n
+0000473492 00000 n
+0000473557 00000 n
+0000473622 00000 n
+0000473687 00000 n
+0000473752 00000 n
+0000473817 00000 n
+0000473882 00000 n
+0000473947 00000 n
+0000474011 00000 n
+0000474076 00000 n
+0000474141 00000 n
+0000474206 00000 n
+0000474271 00000 n
+0000474335 00000 n
+0000474400 00000 n
+0000474465 00000 n
+0000474530 00000 n
+0000474595 00000 n
+0000474660 00000 n
+0000474725 00000 n
+0000474790 00000 n
+0000474855 00000 n
+0000474919 00000 n
+0000474984 00000 n
+0000475049 00000 n
+0000475114 00000 n
+0000475179 00000 n
+0000475244 00000 n
+0000475309 00000 n
+0000475374 00000 n
+0000475439 00000 n
+0000475504 00000 n
+0000475568 00000 n
+0000481571 00000 n
+0000477750 00000 n
+0000475809 00000 n
+0000477875 00000 n
+0000477939 00000 n
+0000478004 00000 n
+0000478069 00000 n
+0000478134 00000 n
+0000478199 00000 n
+0000478264 00000 n
+0000478329 00000 n
+0000478394 00000 n
+0000478459 00000 n
+0000478523 00000 n
+0000478588 00000 n
+0000478653 00000 n
+0000478718 00000 n
+0000478783 00000 n
+0000478848 00000 n
+0000478913 00000 n
+0000478978 00000 n
+0000479043 00000 n
+0000479107 00000 n
+0000479172 00000 n
+0000479237 00000 n
+0000479302 00000 n
+0000479367 00000 n
+0000479432 00000 n
+0000479497 00000 n
+0000479562 00000 n
+0000479627 00000 n
+0000479690 00000 n
+0000479755 00000 n
+0000479820 00000 n
+0000479885 00000 n
+0000479950 00000 n
+0000480015 00000 n
+0000480080 00000 n
+0000480145 00000 n
+0000480210 00000 n
+0000480275 00000 n
+0000480340 00000 n
+0000480405 00000 n
+0000480470 00000 n
+0000480535 00000 n
+0000480600 00000 n
+0000480665 00000 n
+0000480729 00000 n
+0000480794 00000 n
+0000480859 00000 n
+0000480924 00000 n
+0000480989 00000 n
+0000481054 00000 n
+0000481119 00000 n
+0000481184 00000 n
+0000481249 00000 n
+0000481313 00000 n
+0000481378 00000 n
+0000481443 00000 n
+0000481507 00000 n
+0000487343 00000 n
+0000483718 00000 n
+0000481735 00000 n
+0000483843 00000 n
+0000483907 00000 n
+0000483972 00000 n
+0000484037 00000 n
+0000484102 00000 n
+0000484167 00000 n
+0000484232 00000 n
+0000484297 00000 n
+0000484362 00000 n
+0000484427 00000 n
+0000484491 00000 n
+0000484556 00000 n
+0000484621 00000 n
+0000484686 00000 n
+0000484751 00000 n
+0000484816 00000 n
+0000484881 00000 n
+0000484945 00000 n
+0000485010 00000 n
+0000485075 00000 n
+0000485140 00000 n
+0000485205 00000 n
+0000485270 00000 n
+0000485335 00000 n
+0000485400 00000 n
+0000485465 00000 n
+0000485530 00000 n
+0000485595 00000 n
+0000485659 00000 n
+0000485724 00000 n
+0000485789 00000 n
+0000485853 00000 n
+0000485918 00000 n
+0000485983 00000 n
+0000486048 00000 n
+0000486113 00000 n
+0000486178 00000 n
+0000486243 00000 n
+0000486308 00000 n
+0000486373 00000 n
+0000486437 00000 n
+0000486502 00000 n
+0000486567 00000 n
+0000486632 00000 n
+0000486697 00000 n
+0000486761 00000 n
+0000486826 00000 n
+0000486891 00000 n
+0000486956 00000 n
+0000487021 00000 n
+0000487086 00000 n
+0000487151 00000 n
+0000487216 00000 n
+0000487280 00000 n
+0000493254 00000 n
+0000489303 00000 n
+0000487507 00000 n
+0000489428 00000 n
+0000489492 00000 n
+0000489557 00000 n
+0000489622 00000 n
+0000489687 00000 n
+0000489752 00000 n
+0000489817 00000 n
+0000489882 00000 n
+0000489947 00000 n
+0000490012 00000 n
+0000490077 00000 n
+0000490142 00000 n
+0000490205 00000 n
+0000490270 00000 n
+0000490335 00000 n
+0000490400 00000 n
+0000490465 00000 n
+0000490530 00000 n
+0000490595 00000 n
+0000490660 00000 n
+0000490725 00000 n
+0000490790 00000 n
+0000490855 00000 n
+0000490920 00000 n
+0000490985 00000 n
+0000491050 00000 n
+0000491115 00000 n
+0000491180 00000 n
+0000491245 00000 n
+0000491310 00000 n
+0000491375 00000 n
+0000491439 00000 n
+0000491504 00000 n
+0000491569 00000 n
+0000491634 00000 n
+0000491699 00000 n
+0000491764 00000 n
+0000491829 00000 n
+0000491894 00000 n
+0000491959 00000 n
+0000492024 00000 n
+0000492089 00000 n
+0000492154 00000 n
+0000492219 00000 n
+0000492284 00000 n
+0000492348 00000 n
+0000492413 00000 n
+0000492478 00000 n
+0000492543 00000 n
+0000492608 00000 n
+0000492673 00000 n
+0000492738 00000 n
+0000492803 00000 n
+0000492868 00000 n
+0000492931 00000 n
+0000492996 00000 n
+0000493061 00000 n
+0000493126 00000 n
+0000493190 00000 n
+0000498837 00000 n
+0000495731 00000 n
+0000493418 00000 n
+0000495856 00000 n
+0000495920 00000 n
+0000495985 00000 n
+0000496050 00000 n
+0000496115 00000 n
+0000496180 00000 n
+0000496245 00000 n
+0000496310 00000 n
+0000496375 00000 n
+0000496440 00000 n
+0000496505 00000 n
+0000496570 00000 n
+0000496635 00000 n
+0000496700 00000 n
+0000496765 00000 n
+0000496829 00000 n
+0000496894 00000 n
+0000496959 00000 n
+0000497024 00000 n
+0000497089 00000 n
+0000497153 00000 n
+0000497218 00000 n
+0000497283 00000 n
+0000497348 00000 n
+0000497413 00000 n
+0000497478 00000 n
+0000497543 00000 n
+0000497608 00000 n
+0000497673 00000 n
+0000497737 00000 n
+0000497802 00000 n
+0000497867 00000 n
+0000497932 00000 n
+0000497997 00000 n
+0000498062 00000 n
+0000498127 00000 n
+0000498191 00000 n
+0000498256 00000 n
+0000498321 00000 n
+0000498386 00000 n
+0000498451 00000 n
+0000498516 00000 n
+0000498581 00000 n
+0000498646 00000 n
+0000498711 00000 n
+0000498775 00000 n
+0000504540 00000 n
+0000501239 00000 n
+0000499001 00000 n
+0000501364 00000 n
+0000501428 00000 n
+0000501493 00000 n
+0000501558 00000 n
+0000501623 00000 n
+0000501688 00000 n
+0000501753 00000 n
+0000501818 00000 n
+0000501883 00000 n
+0000501948 00000 n
+0000502013 00000 n
+0000502078 00000 n
+0000502142 00000 n
+0000502207 00000 n
+0000502272 00000 n
+0000502337 00000 n
+0000502402 00000 n
+0000502467 00000 n
+0000502532 00000 n
+0000502597 00000 n
+0000502661 00000 n
+0000502726 00000 n
+0000502791 00000 n
+0000502856 00000 n
+0000502921 00000 n
+0000502986 00000 n
+0000503051 00000 n
+0000503115 00000 n
+0000503180 00000 n
+0000503245 00000 n
+0000503310 00000 n
+0000503375 00000 n
+0000503440 00000 n
+0000503505 00000 n
+0000503570 00000 n
+0000503635 00000 n
+0000503698 00000 n
+0000503763 00000 n
+0000503828 00000 n
+0000503893 00000 n
+0000503958 00000 n
+0000504023 00000 n
+0000504088 00000 n
+0000504153 00000 n
+0000504218 00000 n
+0000504283 00000 n
+0000504347 00000 n
+0000504412 00000 n
+0000504476 00000 n
+0000509705 00000 n
+0000506533 00000 n
+0000504704 00000 n
+0000506658 00000 n
+0000506722 00000 n
+0000506787 00000 n
+0000506852 00000 n
+0000506917 00000 n
+0000506982 00000 n
+0000507047 00000 n
+0000507112 00000 n
+0000507177 00000 n
+0000507242 00000 n
+0000507307 00000 n
+0000507372 00000 n
+0000507437 00000 n
+0000507502 00000 n
+0000507567 00000 n
+0000507632 00000 n
+0000507696 00000 n
+0000507761 00000 n
+0000507826 00000 n
+0000507891 00000 n
+0000507956 00000 n
+0000508021 00000 n
+0000508086 00000 n
+0000508151 00000 n
+0000508216 00000 n
+0000508281 00000 n
+0000508346 00000 n
+0000508411 00000 n
+0000508476 00000 n
+0000508541 00000 n
+0000508606 00000 n
+0000508671 00000 n
+0000508798 00000 n
+0000508861 00000 n
+0000508926 00000 n
+0000508991 00000 n
+0000509056 00000 n
+0000509121 00000 n
+0000509186 00000 n
+0000509251 00000 n
+0000509316 00000 n
+0000509381 00000 n
+0000509446 00000 n
+0000509511 00000 n
+0000509576 00000 n
+0000509641 00000 n
+0001888571 00000 n
+0000515430 00000 n
+0000511872 00000 n
+0000509895 00000 n
+0000511997 00000 n
+0000512061 00000 n
+0000512126 00000 n
+0000512191 00000 n
+0000512256 00000 n
+0000512321 00000 n
+0000512386 00000 n
+0000512451 00000 n
+0000512516 00000 n
+0000512581 00000 n
+0000512646 00000 n
+0000512711 00000 n
+0000512776 00000 n
+0000512841 00000 n
+0000512906 00000 n
+0000512971 00000 n
+0000513036 00000 n
+0000513101 00000 n
+0000513162 00000 n
+0000513227 00000 n
+0000513292 00000 n
+0000513357 00000 n
+0000513422 00000 n
+0000513487 00000 n
+0000513552 00000 n
+0000513617 00000 n
+0000513682 00000 n
+0000513747 00000 n
+0000513812 00000 n
+0000513877 00000 n
+0000513942 00000 n
+0000514007 00000 n
+0000514072 00000 n
+0000514137 00000 n
+0000514202 00000 n
+0000514266 00000 n
+0000514331 00000 n
+0000514396 00000 n
+0000514461 00000 n
+0000514526 00000 n
+0000514591 00000 n
+0000514656 00000 n
+0000514721 00000 n
+0000514786 00000 n
+0000514913 00000 n
+0000514977 00000 n
+0000515042 00000 n
+0000515107 00000 n
+0000515172 00000 n
+0000515237 00000 n
+0000515302 00000 n
+0000515366 00000 n
+0000521350 00000 n
+0000517271 00000 n
+0000515633 00000 n
+0000517396 00000 n
+0000517460 00000 n
+0000517525 00000 n
+0000517590 00000 n
+0000517655 00000 n
+0000517720 00000 n
+0000517785 00000 n
+0000517850 00000 n
+0000517915 00000 n
+0000517980 00000 n
+0000518044 00000 n
+0000518109 00000 n
+0000518174 00000 n
+0000518239 00000 n
+0000518304 00000 n
+0000518369 00000 n
+0000518434 00000 n
+0000518499 00000 n
+0000518564 00000 n
+0000518628 00000 n
+0000518693 00000 n
+0000518758 00000 n
+0000518823 00000 n
+0000518888 00000 n
+0000518953 00000 n
+0000519018 00000 n
+0000519083 00000 n
+0000519148 00000 n
+0000519211 00000 n
+0000519276 00000 n
+0000519341 00000 n
+0000519406 00000 n
+0000519471 00000 n
+0000519536 00000 n
+0000519601 00000 n
+0000519666 00000 n
+0000519730 00000 n
+0000519795 00000 n
+0000519860 00000 n
+0000519925 00000 n
+0000519990 00000 n
+0000520055 00000 n
+0000520119 00000 n
+0000520184 00000 n
+0000520249 00000 n
+0000520314 00000 n
+0000520379 00000 n
+0000520444 00000 n
+0000520509 00000 n
+0000520574 00000 n
+0000520639 00000 n
+0000520703 00000 n
+0000520768 00000 n
+0000520833 00000 n
+0000520898 00000 n
+0000520963 00000 n
+0000521028 00000 n
+0000521092 00000 n
+0000521157 00000 n
+0000521222 00000 n
+0000521286 00000 n
+0000526724 00000 n
+0000524203 00000 n
+0000521501 00000 n
+0000524328 00000 n
+0000524454 00000 n
+0000524519 00000 n
+0000524584 00000 n
+0000524649 00000 n
+0000524714 00000 n
+0000524777 00000 n
+0000524842 00000 n
+0000524907 00000 n
+0000524972 00000 n
+0000525037 00000 n
+0000525102 00000 n
+0000525167 00000 n
+0000525232 00000 n
+0000525297 00000 n
+0000525361 00000 n
+0000525426 00000 n
+0000525491 00000 n
+0000525556 00000 n
+0000525621 00000 n
+0000525686 00000 n
+0000525751 00000 n
+0000525816 00000 n
+0000525881 00000 n
+0000525945 00000 n
+0000526010 00000 n
+0000526075 00000 n
+0000526140 00000 n
+0000526205 00000 n
+0000526270 00000 n
+0000526335 00000 n
+0000526399 00000 n
+0000526464 00000 n
+0000526529 00000 n
+0000526594 00000 n
+0000526659 00000 n
+0000532500 00000 n
+0000528745 00000 n
+0000526927 00000 n
+0000528870 00000 n
+0000528934 00000 n
+0000528999 00000 n
+0000529064 00000 n
+0000529129 00000 n
+0000529194 00000 n
+0000529259 00000 n
+0000529324 00000 n
+0000529389 00000 n
+0000529454 00000 n
+0000529518 00000 n
+0000529583 00000 n
+0000529648 00000 n
+0000529713 00000 n
+0000529778 00000 n
+0000529842 00000 n
+0000529907 00000 n
+0000529972 00000 n
+0000530037 00000 n
+0000530102 00000 n
+0000530167 00000 n
+0000530232 00000 n
+0000530297 00000 n
+0000530362 00000 n
+0000530425 00000 n
+0000530490 00000 n
+0000530555 00000 n
+0000530620 00000 n
+0000530685 00000 n
+0000530750 00000 n
+0000530815 00000 n
+0000530880 00000 n
+0000530945 00000 n
+0000531010 00000 n
+0000531074 00000 n
+0000531139 00000 n
+0000531204 00000 n
+0000531269 00000 n
+0000531334 00000 n
+0000531399 00000 n
+0000531464 00000 n
+0000531529 00000 n
+0000531594 00000 n
+0000531658 00000 n
+0000531723 00000 n
+0000531788 00000 n
+0000531853 00000 n
+0000531918 00000 n
+0000531983 00000 n
+0000532048 00000 n
+0000532113 00000 n
+0000532178 00000 n
+0000532242 00000 n
+0000532307 00000 n
+0000532372 00000 n
+0000532436 00000 n
+0000535768 00000 n
+0000538131 00000 n
+0000535595 00000 n
+0000532664 00000 n
+0000535926 00000 n
+0000535990 00000 n
+0000536055 00000 n
+0000536120 00000 n
+0000536185 00000 n
+0000536250 00000 n
+0000536315 00000 n
+0000536380 00000 n
+0000536445 00000 n
+0000536510 00000 n
+0001885674 00000 n
+0000536575 00000 n
+0000536639 00000 n
+0000536704 00000 n
+0000536769 00000 n
+0000536834 00000 n
+0000536899 00000 n
+0000536964 00000 n
+0000537029 00000 n
+0000537094 00000 n
+0000537159 00000 n
+0000537224 00000 n
+0000537288 00000 n
+0000537353 00000 n
+0000537418 00000 n
+0000537483 00000 n
+0000537548 00000 n
+0000537613 00000 n
+0000537678 00000 n
+0000537743 00000 n
+0000537808 00000 n
+0000537873 00000 n
+0000537938 00000 n
+0000538003 00000 n
+0000538067 00000 n
+0000535737 00000 n
+0000543978 00000 n
+0000541131 00000 n
+0000538374 00000 n
+0000541256 00000 n
+0000541320 00000 n
+0000541385 00000 n
+0000541450 00000 n
+0000541515 00000 n
+0000541580 00000 n
+0000541645 00000 n
+0000541710 00000 n
+0000541775 00000 n
+0000541840 00000 n
+0000541904 00000 n
+0000541969 00000 n
+0000542034 00000 n
+0000542099 00000 n
+0000542164 00000 n
+0000542229 00000 n
+0000542294 00000 n
+0000542359 00000 n
+0000542424 00000 n
+0000542488 00000 n
+0000542553 00000 n
+0000542618 00000 n
+0000542683 00000 n
+0000542748 00000 n
+0000542813 00000 n
+0000542878 00000 n
+0000542943 00000 n
+0000543008 00000 n
+0000543073 00000 n
+0000543137 00000 n
+0000543201 00000 n
+0000543266 00000 n
+0000543331 00000 n
+0000543396 00000 n
+0000543461 00000 n
+0000543526 00000 n
+0000543591 00000 n
+0000543656 00000 n
+0000543721 00000 n
+0000543786 00000 n
+0000543850 00000 n
+0000543914 00000 n
+0000547177 00000 n
+0000550055 00000 n
+0000547004 00000 n
+0000544168 00000 n
+0000547334 00000 n
+0000547398 00000 n
+0000547463 00000 n
+0000547528 00000 n
+0000547593 00000 n
+0000547658 00000 n
+0000547723 00000 n
+0000547788 00000 n
+0000547853 00000 n
+0000547918 00000 n
+0000547982 00000 n
+0000548047 00000 n
+0000548112 00000 n
+0000548177 00000 n
+0000548242 00000 n
+0000548307 00000 n
+0000548371 00000 n
+0000548436 00000 n
+0000548501 00000 n
+0000548566 00000 n
+0000548629 00000 n
+0000548694 00000 n
+0000548759 00000 n
+0000548823 00000 n
+0000548888 00000 n
+0000548953 00000 n
+0000549018 00000 n
+0000549083 00000 n
+0000549148 00000 n
+0000549213 00000 n
+0000549278 00000 n
+0000549343 00000 n
+0000549407 00000 n
+0000549472 00000 n
+0000549537 00000 n
+0000549602 00000 n
+0000549667 00000 n
+0000549732 00000 n
+0000549797 00000 n
+0000549862 00000 n
+0000549927 00000 n
+0000549991 00000 n
+0000547146 00000 n
+0000555792 00000 n
+0000552490 00000 n
+0000550310 00000 n
+0000552615 00000 n
+0000552679 00000 n
+0000552744 00000 n
+0000552809 00000 n
+0000552874 00000 n
+0000552939 00000 n
+0000553004 00000 n
+0000553069 00000 n
+0000553133 00000 n
+0000553198 00000 n
+0000553263 00000 n
+0000553328 00000 n
+0000553393 00000 n
+0000553458 00000 n
+0000553523 00000 n
+0000553587 00000 n
+0000553652 00000 n
+0000553717 00000 n
+0000553782 00000 n
+0000553847 00000 n
+0000553912 00000 n
+0000553977 00000 n
+0000554042 00000 n
+0000554107 00000 n
+0000554172 00000 n
+0000554237 00000 n
+0000554302 00000 n
+0000554367 00000 n
+0000554432 00000 n
+0000554497 00000 n
+0000554562 00000 n
+0000554627 00000 n
+0000554692 00000 n
+0000554757 00000 n
+0000554821 00000 n
+0000554886 00000 n
+0000554951 00000 n
+0000555016 00000 n
+0000555081 00000 n
+0000555146 00000 n
+0000555211 00000 n
+0000555276 00000 n
+0000555341 00000 n
+0000555405 00000 n
+0000555470 00000 n
+0000555535 00000 n
+0000555599 00000 n
+0000555664 00000 n
+0000555728 00000 n
+0000562555 00000 n
+0000559968 00000 n
+0000555982 00000 n
+0000560093 00000 n
+0000560157 00000 n
+0000560222 00000 n
+0000560287 00000 n
+0000560352 00000 n
+0000560417 00000 n
+0000560482 00000 n
+0000560547 00000 n
+0000560612 00000 n
+0000560677 00000 n
+0000560741 00000 n
+0000560806 00000 n
+0000560871 00000 n
+0000560936 00000 n
+0000561001 00000 n
+0000561066 00000 n
+0000561131 00000 n
+0000561195 00000 n
+0000561260 00000 n
+0000561325 00000 n
+0000561390 00000 n
+0000561455 00000 n
+0000561520 00000 n
+0000561585 00000 n
+0000561649 00000 n
+0000561714 00000 n
+0000561779 00000 n
+0000561844 00000 n
+0000561909 00000 n
+0000561974 00000 n
+0000562039 00000 n
+0000562104 00000 n
+0000562169 00000 n
+0000562233 00000 n
+0000562298 00000 n
+0000562363 00000 n
+0000562428 00000 n
+0000567490 00000 n
+0000564837 00000 n
+0000562798 00000 n
+0000564962 00000 n
+0000565026 00000 n
+0000565091 00000 n
+0000565154 00000 n
+0000565219 00000 n
+0000565284 00000 n
+0000565349 00000 n
+0000565414 00000 n
+0000565479 00000 n
+0000565544 00000 n
+0000565609 00000 n
+0000565674 00000 n
+0000565739 00000 n
+0000565804 00000 n
+0000565869 00000 n
+0000565934 00000 n
+0000565997 00000 n
+0000566062 00000 n
+0000566127 00000 n
+0000566192 00000 n
+0000566257 00000 n
+0000566322 00000 n
+0000566387 00000 n
+0000566452 00000 n
+0000566517 00000 n
+0000566581 00000 n
+0000566646 00000 n
+0000566711 00000 n
+0000566776 00000 n
+0000566841 00000 n
+0000566906 00000 n
+0000566971 00000 n
+0000567036 00000 n
+0000567101 00000 n
+0000567165 00000 n
+0000567230 00000 n
+0000567295 00000 n
+0000567360 00000 n
+0000567425 00000 n
+0001888736 00000 n
+0000573127 00000 n
+0000569762 00000 n
+0000567693 00000 n
+0000569887 00000 n
+0000569951 00000 n
+0000570016 00000 n
+0000570081 00000 n
+0000570146 00000 n
+0000570211 00000 n
+0000570275 00000 n
+0000570340 00000 n
+0000570405 00000 n
+0000570470 00000 n
+0000570535 00000 n
+0000570600 00000 n
+0000570665 00000 n
+0000570730 00000 n
+0000570795 00000 n
+0000570859 00000 n
+0000570924 00000 n
+0000570989 00000 n
+0000571054 00000 n
+0000571119 00000 n
+0000571184 00000 n
+0000571249 00000 n
+0000571314 00000 n
+0000571379 00000 n
+0000571442 00000 n
+0000571507 00000 n
+0000571572 00000 n
+0000571636 00000 n
+0000571701 00000 n
+0000571766 00000 n
+0000571831 00000 n
+0000571896 00000 n
+0000571961 00000 n
+0000572026 00000 n
+0000572091 00000 n
+0000572156 00000 n
+0000572220 00000 n
+0000572285 00000 n
+0000572350 00000 n
+0000572415 00000 n
+0000572480 00000 n
+0000572545 00000 n
+0000572610 00000 n
+0000572675 00000 n
+0000572740 00000 n
+0000572805 00000 n
+0000572869 00000 n
+0000572934 00000 n
+0000572999 00000 n
+0000573063 00000 n
+0000578980 00000 n
+0000574963 00000 n
+0000573291 00000 n
+0000575088 00000 n
+0000575152 00000 n
+0000575217 00000 n
+0000575282 00000 n
+0000575347 00000 n
+0000575412 00000 n
+0000575477 00000 n
+0000575542 00000 n
+0000575607 00000 n
+0000575672 00000 n
+0000575736 00000 n
+0000575801 00000 n
+0000575866 00000 n
+0000575931 00000 n
+0000575996 00000 n
+0000576061 00000 n
+0000576126 00000 n
+0000576191 00000 n
+0000576256 00000 n
+0000576320 00000 n
+0000576385 00000 n
+0000576450 00000 n
+0000576515 00000 n
+0000576580 00000 n
+0000576645 00000 n
+0000576710 00000 n
+0000576775 00000 n
+0000576840 00000 n
+0000576903 00000 n
+0000576968 00000 n
+0000577033 00000 n
+0000577098 00000 n
+0000577163 00000 n
+0000577228 00000 n
+0000577293 00000 n
+0000577358 00000 n
+0000577423 00000 n
+0000577487 00000 n
+0000577552 00000 n
+0000577617 00000 n
+0000577682 00000 n
+0000577747 00000 n
+0000577812 00000 n
+0000577877 00000 n
+0000577942 00000 n
+0000578007 00000 n
+0000578071 00000 n
+0000578136 00000 n
+0000578201 00000 n
+0000578266 00000 n
+0000578331 00000 n
+0000578396 00000 n
+0000578461 00000 n
+0000578526 00000 n
+0000578591 00000 n
+0000578655 00000 n
+0000578720 00000 n
+0000578785 00000 n
+0000578850 00000 n
+0000578915 00000 n
+0000584869 00000 n
+0000581957 00000 n
+0000579144 00000 n
+0000582082 00000 n
+0000582146 00000 n
+0000582211 00000 n
+0000582276 00000 n
+0000582341 00000 n
+0000582406 00000 n
+0000582471 00000 n
+0000582536 00000 n
+0000582601 00000 n
+0000582666 00000 n
+0000582731 00000 n
+0000582796 00000 n
+0000582861 00000 n
+0000582925 00000 n
+0000582990 00000 n
+0000583055 00000 n
+0000583120 00000 n
+0000583185 00000 n
+0000583249 00000 n
+0000583314 00000 n
+0000583379 00000 n
+0000583444 00000 n
+0000583509 00000 n
+0000583574 00000 n
+0000583639 00000 n
+0000583704 00000 n
+0000583767 00000 n
+0000583832 00000 n
+0000583897 00000 n
+0000583962 00000 n
+0000584027 00000 n
+0000584092 00000 n
+0000584157 00000 n
+0000584222 00000 n
+0000584287 00000 n
+0000584351 00000 n
+0000584416 00000 n
+0000584481 00000 n
+0000584546 00000 n
+0000584611 00000 n
+0000584676 00000 n
+0000584741 00000 n
+0000584805 00000 n
+0000590645 00000 n
+0000586563 00000 n
+0000585059 00000 n
+0000586688 00000 n
+0000586752 00000 n
+0000586817 00000 n
+0000586882 00000 n
+0000586947 00000 n
+0000587012 00000 n
+0000587077 00000 n
+0000587141 00000 n
+0000587206 00000 n
+0000587271 00000 n
+0000587336 00000 n
+0000587401 00000 n
+0000587466 00000 n
+0000587531 00000 n
+0000587596 00000 n
+0000587661 00000 n
+0000587726 00000 n
+0000587791 00000 n
+0000587856 00000 n
+0000587921 00000 n
+0000587986 00000 n
+0000588051 00000 n
+0000588116 00000 n
+0000588181 00000 n
+0000588246 00000 n
+0000588311 00000 n
+0000588375 00000 n
+0000588440 00000 n
+0000588505 00000 n
+0000588570 00000 n
+0000588635 00000 n
+0000588700 00000 n
+0000588765 00000 n
+0000588830 00000 n
+0000588895 00000 n
+0000588959 00000 n
+0000589024 00000 n
+0000589089 00000 n
+0000589154 00000 n
+0000589219 00000 n
+0000589283 00000 n
+0000589348 00000 n
+0000589413 00000 n
+0000589478 00000 n
+0000589543 00000 n
+0000589608 00000 n
+0000589673 00000 n
+0000589738 00000 n
+0000589803 00000 n
+0000589867 00000 n
+0000589932 00000 n
+0000589997 00000 n
+0000590062 00000 n
+0000590127 00000 n
+0000590192 00000 n
+0000590257 00000 n
+0000590322 00000 n
+0000590387 00000 n
+0000590452 00000 n
+0000590517 00000 n
+0000590581 00000 n
+0000595667 00000 n
+0000592949 00000 n
+0000590796 00000 n
+0000593074 00000 n
+0000593138 00000 n
+0000593203 00000 n
+0000593268 00000 n
+0000593333 00000 n
+0000593398 00000 n
+0000593463 00000 n
+0000593528 00000 n
+0000593593 00000 n
+0000593658 00000 n
+0000593722 00000 n
+0000593787 00000 n
+0000593852 00000 n
+0000593917 00000 n
+0000593980 00000 n
+0000594045 00000 n
+0000594110 00000 n
+0000594175 00000 n
+0000594240 00000 n
+0000594305 00000 n
+0000594370 00000 n
+0000594435 00000 n
+0000594500 00000 n
+0000594565 00000 n
+0000594629 00000 n
+0000594694 00000 n
+0000594759 00000 n
+0000594824 00000 n
+0000594889 00000 n
+0000594954 00000 n
+0000595019 00000 n
+0000595083 00000 n
+0000595148 00000 n
+0000595213 00000 n
+0000595278 00000 n
+0000595343 00000 n
+0000595408 00000 n
+0000595473 00000 n
+0000595537 00000 n
+0000595602 00000 n
+0000601518 00000 n
+0000598346 00000 n
+0000595844 00000 n
+0000598471 00000 n
+0000598535 00000 n
+0000598600 00000 n
+0000598665 00000 n
+0000598730 00000 n
+0000598795 00000 n
+0000598860 00000 n
+0000598925 00000 n
+0000598990 00000 n
+0000599055 00000 n
+0000599120 00000 n
+0000599185 00000 n
+0000599250 00000 n
+0000599315 00000 n
+0000599380 00000 n
+0000599445 00000 n
+0000599510 00000 n
+0000599573 00000 n
+0000599638 00000 n
+0000599702 00000 n
+0000599767 00000 n
+0000599832 00000 n
+0000599897 00000 n
+0000599962 00000 n
+0000600027 00000 n
+0000600092 00000 n
+0000600157 00000 n
+0000600222 00000 n
+0000600287 00000 n
+0000600352 00000 n
+0000600417 00000 n
+0000600482 00000 n
+0000600547 00000 n
+0000600612 00000 n
+0000600677 00000 n
+0000600742 00000 n
+0000600806 00000 n
+0000600871 00000 n
+0000600936 00000 n
+0000601001 00000 n
+0000601066 00000 n
+0000601131 00000 n
+0000601196 00000 n
+0000601260 00000 n
+0000601325 00000 n
+0000601390 00000 n
+0000601454 00000 n
+0000606785 00000 n
+0000603352 00000 n
+0000601682 00000 n
+0000603477 00000 n
+0000603541 00000 n
+0000603606 00000 n
+0000603671 00000 n
+0000603736 00000 n
+0000603801 00000 n
+0000603866 00000 n
+0000603931 00000 n
+0000603996 00000 n
+0000604061 00000 n
+0000604126 00000 n
+0000604191 00000 n
+0000604256 00000 n
+0000604321 00000 n
+0000604386 00000 n
+0000604450 00000 n
+0000604515 00000 n
+0000604580 00000 n
+0000604645 00000 n
+0000604710 00000 n
+0000604775 00000 n
+0000604840 00000 n
+0000604905 00000 n
+0000604970 00000 n
+0000605034 00000 n
+0000605099 00000 n
+0000605164 00000 n
+0000605229 00000 n
+0000605294 00000 n
+0000605359 00000 n
+0000605424 00000 n
+0000605489 00000 n
+0000605554 00000 n
+0000605618 00000 n
+0000605683 00000 n
+0000605748 00000 n
+0000605813 00000 n
+0000605878 00000 n
+0000605943 00000 n
+0000606008 00000 n
+0000606073 00000 n
+0000606138 00000 n
+0000606203 00000 n
+0000606268 00000 n
+0000606333 00000 n
+0000606397 00000 n
+0000606462 00000 n
+0000606527 00000 n
+0000606592 00000 n
+0000606657 00000 n
+0000606721 00000 n
+0000612602 00000 n
+0000608973 00000 n
+0000606962 00000 n
+0000609098 00000 n
+0000609162 00000 n
+0000609227 00000 n
+0000609292 00000 n
+0000609357 00000 n
+0000609422 00000 n
+0000609487 00000 n
+0000609552 00000 n
+0000609617 00000 n
+0000609682 00000 n
+0000609746 00000 n
+0000609811 00000 n
+0000609876 00000 n
+0000609941 00000 n
+0000610006 00000 n
+0000610071 00000 n
+0000610136 00000 n
+0000610201 00000 n
+0000610266 00000 n
+0000610331 00000 n
+0000610395 00000 n
+0000610460 00000 n
+0000610525 00000 n
+0000610590 00000 n
+0000610655 00000 n
+0000610720 00000 n
+0000610785 00000 n
+0000610850 00000 n
+0000610915 00000 n
+0000610979 00000 n
+0000611044 00000 n
+0000611109 00000 n
+0000611174 00000 n
+0000611239 00000 n
+0000611304 00000 n
+0000611369 00000 n
+0000611434 00000 n
+0000611499 00000 n
+0000611564 00000 n
+0000611628 00000 n
+0000611693 00000 n
+0000611758 00000 n
+0000611823 00000 n
+0000611888 00000 n
+0000611953 00000 n
+0000612018 00000 n
+0000612082 00000 n
+0000612147 00000 n
+0000612212 00000 n
+0000612277 00000 n
+0000612342 00000 n
+0000612407 00000 n
+0000612472 00000 n
+0000612537 00000 n
+0000617711 00000 n
+0000614737 00000 n
+0000612779 00000 n
+0000614862 00000 n
+0000614926 00000 n
+0000614991 00000 n
+0000615056 00000 n
+0000615120 00000 n
+0000615185 00000 n
+0000615250 00000 n
+0000615315 00000 n
+0000615380 00000 n
+0000615445 00000 n
+0000615510 00000 n
+0000615575 00000 n
+0000615640 00000 n
+0000615705 00000 n
+0000615770 00000 n
+0000615835 00000 n
+0000615899 00000 n
+0000615964 00000 n
+0000616029 00000 n
+0000616094 00000 n
+0000616159 00000 n
+0000616220 00000 n
+0000616285 00000 n
+0000616350 00000 n
+0000616415 00000 n
+0000616480 00000 n
+0000616545 00000 n
+0000616609 00000 n
+0000616674 00000 n
+0000616739 00000 n
+0000616804 00000 n
+0000616869 00000 n
+0000616934 00000 n
+0000616999 00000 n
+0000617064 00000 n
+0000617129 00000 n
+0000617194 00000 n
+0000617259 00000 n
+0000617323 00000 n
+0000617388 00000 n
+0000617453 00000 n
+0000617518 00000 n
+0000617583 00000 n
+0000617647 00000 n
+0000622946 00000 n
+0000620032 00000 n
+0000617914 00000 n
+0000620157 00000 n
+0000620221 00000 n
+0000620286 00000 n
+0000620351 00000 n
+0000620416 00000 n
+0000620481 00000 n
+0000620546 00000 n
+0000620611 00000 n
+0000620676 00000 n
+0000620741 00000 n
+0000620806 00000 n
+0000620871 00000 n
+0000620935 00000 n
+0000621000 00000 n
+0000621065 00000 n
+0000621130 00000 n
+0000621195 00000 n
+0000621260 00000 n
+0000621325 00000 n
+0000621389 00000 n
+0000621454 00000 n
+0000621519 00000 n
+0000621584 00000 n
+0000621649 00000 n
+0000621714 00000 n
+0000621779 00000 n
+0000621844 00000 n
+0000621909 00000 n
+0000621973 00000 n
+0000622038 00000 n
+0000622103 00000 n
+0000622168 00000 n
+0000622233 00000 n
+0000622298 00000 n
+0000622362 00000 n
+0000622427 00000 n
+0000622492 00000 n
+0000622557 00000 n
+0000622622 00000 n
+0000622687 00000 n
+0000622752 00000 n
+0000622816 00000 n
+0000622881 00000 n
+0001888901 00000 n
+0000628193 00000 n
+0000625345 00000 n
+0000623123 00000 n
+0000625470 00000 n
+0000625534 00000 n
+0000625598 00000 n
+0000625663 00000 n
+0000625728 00000 n
+0000625793 00000 n
+0000625858 00000 n
+0000625923 00000 n
+0000625988 00000 n
+0000626053 00000 n
+0000626118 00000 n
+0000626182 00000 n
+0000626247 00000 n
+0000626312 00000 n
+0000626377 00000 n
+0000626442 00000 n
+0000626506 00000 n
+0000626571 00000 n
+0000626636 00000 n
+0000626701 00000 n
+0000626766 00000 n
+0000626831 00000 n
+0000626896 00000 n
+0000626961 00000 n
+0000627026 00000 n
+0000627091 00000 n
+0000627156 00000 n
+0000627221 00000 n
+0000627285 00000 n
+0000627350 00000 n
+0000627415 00000 n
+0000627480 00000 n
+0000627545 00000 n
+0000627610 00000 n
+0000627675 00000 n
+0000627740 00000 n
+0000627805 00000 n
+0000627870 00000 n
+0000627935 00000 n
+0000628000 00000 n
+0000628065 00000 n
+0000628129 00000 n
+0000633064 00000 n
+0000630024 00000 n
+0000628397 00000 n
+0000630149 00000 n
+0000630213 00000 n
+0000630278 00000 n
+0000630342 00000 n
+0000630407 00000 n
+0000630472 00000 n
+0000630537 00000 n
+0000630602 00000 n
+0000630667 00000 n
+0000630732 00000 n
+0000630797 00000 n
+0000630862 00000 n
+0000630927 00000 n
+0000630991 00000 n
+0000631056 00000 n
+0000631121 00000 n
+0000631186 00000 n
+0000631251 00000 n
+0000631316 00000 n
+0000631381 00000 n
+0000631446 00000 n
+0000631511 00000 n
+0000631575 00000 n
+0000631640 00000 n
+0000631705 00000 n
+0000631770 00000 n
+0000631835 00000 n
+0000631900 00000 n
+0000631965 00000 n
+0000632030 00000 n
+0000632095 00000 n
+0000632158 00000 n
+0000632223 00000 n
+0000632288 00000 n
+0000632353 00000 n
+0000632418 00000 n
+0000632483 00000 n
+0000632548 00000 n
+0000632613 00000 n
+0000632678 00000 n
+0000632742 00000 n
+0000632807 00000 n
+0000632872 00000 n
+0000632937 00000 n
+0000637728 00000 n
+0000635269 00000 n
+0000633241 00000 n
+0000635394 00000 n
+0000635458 00000 n
+0000635523 00000 n
+0000635588 00000 n
+0000635653 00000 n
+0000635718 00000 n
+0000635782 00000 n
+0000635847 00000 n
+0000635912 00000 n
+0000635977 00000 n
+0000636042 00000 n
+0000636107 00000 n
+0000636172 00000 n
+0000636237 00000 n
+0000636302 00000 n
+0000636367 00000 n
+0000636432 00000 n
+0000636497 00000 n
+0000636562 00000 n
+0000636627 00000 n
+0000636692 00000 n
+0000636757 00000 n
+0000636821 00000 n
+0000636886 00000 n
+0000636951 00000 n
+0000637016 00000 n
+0000637081 00000 n
+0000637146 00000 n
+0000637211 00000 n
+0000637276 00000 n
+0000637340 00000 n
+0000637405 00000 n
+0000637470 00000 n
+0000637535 00000 n
+0000637600 00000 n
+0000637664 00000 n
+0000643746 00000 n
+0000640506 00000 n
+0000637931 00000 n
+0000640631 00000 n
+0000640695 00000 n
+0000640760 00000 n
+0000640825 00000 n
+0000640890 00000 n
+0000640955 00000 n
+0000641020 00000 n
+0000641085 00000 n
+0000641150 00000 n
+0000641215 00000 n
+0000641280 00000 n
+0000641345 00000 n
+0000641410 00000 n
+0000641475 00000 n
+0000641540 00000 n
+0000641605 00000 n
+0000641669 00000 n
+0000641734 00000 n
+0000641799 00000 n
+0000641864 00000 n
+0000641929 00000 n
+0000641994 00000 n
+0000642059 00000 n
+0000642124 00000 n
+0000642189 00000 n
+0000642254 00000 n
+0000642319 00000 n
+0000642384 00000 n
+0000642449 00000 n
+0000642514 00000 n
+0000642579 00000 n
+0000642644 00000 n
+0000642709 00000 n
+0000642774 00000 n
+0000642839 00000 n
+0000642903 00000 n
+0000642968 00000 n
+0000643033 00000 n
+0000643098 00000 n
+0000643163 00000 n
+0000643228 00000 n
+0000643293 00000 n
+0000643358 00000 n
+0000643423 00000 n
+0000643488 00000 n
+0000643553 00000 n
+0000643618 00000 n
+0000643682 00000 n
+0000649519 00000 n
+0000645958 00000 n
+0000643949 00000 n
+0000646083 00000 n
+0000646147 00000 n
+0000646212 00000 n
+0000646277 00000 n
+0000646342 00000 n
+0000646407 00000 n
+0000646472 00000 n
+0000646537 00000 n
+0000646602 00000 n
+0000646667 00000 n
+0000646731 00000 n
+0000646796 00000 n
+0000646861 00000 n
+0000646926 00000 n
+0000646991 00000 n
+0000647056 00000 n
+0000647121 00000 n
+0000647186 00000 n
+0000647251 00000 n
+0000647315 00000 n
+0000647380 00000 n
+0000647445 00000 n
+0000647510 00000 n
+0000647575 00000 n
+0000647640 00000 n
+0000647705 00000 n
+0000647770 00000 n
+0000647835 00000 n
+0000647898 00000 n
+0000647963 00000 n
+0000648028 00000 n
+0000648093 00000 n
+0000648158 00000 n
+0000648223 00000 n
+0000648288 00000 n
+0000648352 00000 n
+0000648417 00000 n
+0000648482 00000 n
+0000648547 00000 n
+0000648612 00000 n
+0000648677 00000 n
+0000648742 00000 n
+0000648807 00000 n
+0000648872 00000 n
+0000648937 00000 n
+0000649001 00000 n
+0000649066 00000 n
+0000649131 00000 n
+0000649196 00000 n
+0000649261 00000 n
+0000649326 00000 n
+0000649391 00000 n
+0000649455 00000 n
+0000655100 00000 n
+0000651410 00000 n
+0000649696 00000 n
+0000651535 00000 n
+0000651599 00000 n
+0000651664 00000 n
+0000651729 00000 n
+0000651794 00000 n
+0000651859 00000 n
+0000651924 00000 n
+0000651989 00000 n
+0000652054 00000 n
+0000652119 00000 n
+0000652184 00000 n
+0000652248 00000 n
+0000652312 00000 n
+0000652376 00000 n
+0000652441 00000 n
+0000652506 00000 n
+0000652571 00000 n
+0000652636 00000 n
+0000652700 00000 n
+0000652765 00000 n
+0000652830 00000 n
+0000652895 00000 n
+0000652960 00000 n
+0000653025 00000 n
+0000653090 00000 n
+0000653155 00000 n
+0000653220 00000 n
+0000653285 00000 n
+0000653350 00000 n
+0000653415 00000 n
+0000653480 00000 n
+0000653545 00000 n
+0000653609 00000 n
+0000653674 00000 n
+0000653739 00000 n
+0000653804 00000 n
+0000653869 00000 n
+0000653934 00000 n
+0000653999 00000 n
+0000654064 00000 n
+0000654129 00000 n
+0000654194 00000 n
+0000654258 00000 n
+0000654323 00000 n
+0000654388 00000 n
+0000654453 00000 n
+0000654518 00000 n
+0000654583 00000 n
+0000654648 00000 n
+0000654713 00000 n
+0000654778 00000 n
+0000654842 00000 n
+0000654907 00000 n
+0000654972 00000 n
+0000655036 00000 n
+0000661018 00000 n
+0000656806 00000 n
+0000655264 00000 n
+0000656931 00000 n
+0000656995 00000 n
+0000657060 00000 n
+0000657125 00000 n
+0000657190 00000 n
+0000657255 00000 n
+0000657320 00000 n
+0000657385 00000 n
+0000657450 00000 n
+0000657515 00000 n
+0000657579 00000 n
+0000657644 00000 n
+0000657709 00000 n
+0000657774 00000 n
+0000657839 00000 n
+0000657904 00000 n
+0000657969 00000 n
+0000658034 00000 n
+0000658099 00000 n
+0000658164 00000 n
+0000658228 00000 n
+0000658293 00000 n
+0000658358 00000 n
+0000658423 00000 n
+0000658488 00000 n
+0000658553 00000 n
+0000658618 00000 n
+0000658683 00000 n
+0000658748 00000 n
+0000658812 00000 n
+0000658877 00000 n
+0000658942 00000 n
+0000659007 00000 n
+0000659072 00000 n
+0000659137 00000 n
+0000659202 00000 n
+0000659267 00000 n
+0000659332 00000 n
+0000659396 00000 n
+0000659461 00000 n
+0000659526 00000 n
+0000659591 00000 n
+0000659656 00000 n
+0000659721 00000 n
+0000659786 00000 n
+0000659851 00000 n
+0000659916 00000 n
+0000659981 00000 n
+0000660046 00000 n
+0000660111 00000 n
+0000660176 00000 n
+0000660241 00000 n
+0000660306 00000 n
+0000660371 00000 n
+0000660436 00000 n
+0000660501 00000 n
+0000660566 00000 n
+0000660630 00000 n
+0000660695 00000 n
+0000660760 00000 n
+0000660825 00000 n
+0000660890 00000 n
+0000660954 00000 n
+0000666757 00000 n
+0000663587 00000 n
+0000661169 00000 n
+0000663712 00000 n
+0000663776 00000 n
+0000663841 00000 n
+0000663906 00000 n
+0000663971 00000 n
+0000664036 00000 n
+0000664101 00000 n
+0000664166 00000 n
+0000664231 00000 n
+0000664296 00000 n
+0000664360 00000 n
+0000664425 00000 n
+0000664490 00000 n
+0000664555 00000 n
+0000664620 00000 n
+0000664685 00000 n
+0000664750 00000 n
+0000664815 00000 n
+0000664880 00000 n
+0000664944 00000 n
+0000665009 00000 n
+0000665074 00000 n
+0000665139 00000 n
+0000665204 00000 n
+0000665331 00000 n
+0000665396 00000 n
+0000665461 00000 n
+0000665526 00000 n
+0000665591 00000 n
+0000665656 00000 n
+0000665721 00000 n
+0000665786 00000 n
+0000665850 00000 n
+0000665915 00000 n
+0000665980 00000 n
+0000666045 00000 n
+0000666110 00000 n
+0000666175 00000 n
+0000666240 00000 n
+0000666305 00000 n
+0000666370 00000 n
+0000666433 00000 n
+0000666498 00000 n
+0000666563 00000 n
+0000666628 00000 n
+0000666693 00000 n
+0000672613 00000 n
+0000668531 00000 n
+0000666973 00000 n
+0000668656 00000 n
+0000668720 00000 n
+0000668785 00000 n
+0000668850 00000 n
+0000668915 00000 n
+0000668980 00000 n
+0000669045 00000 n
+0000669110 00000 n
+0000669175 00000 n
+0000669240 00000 n
+0000669304 00000 n
+0000669369 00000 n
+0000669434 00000 n
+0000669499 00000 n
+0000669564 00000 n
+0000669629 00000 n
+0000669694 00000 n
+0000669759 00000 n
+0000669824 00000 n
+0000669888 00000 n
+0000669953 00000 n
+0000670018 00000 n
+0000670083 00000 n
+0000670148 00000 n
+0000670213 00000 n
+0000670278 00000 n
+0000670343 00000 n
+0000670408 00000 n
+0000670472 00000 n
+0000670537 00000 n
+0000670602 00000 n
+0000670667 00000 n
+0000670732 00000 n
+0000670797 00000 n
+0000670862 00000 n
+0000670927 00000 n
+0000670992 00000 n
+0000671056 00000 n
+0000671121 00000 n
+0000671186 00000 n
+0000671251 00000 n
+0000671316 00000 n
+0000671381 00000 n
+0000671446 00000 n
+0000671511 00000 n
+0000671576 00000 n
+0000671641 00000 n
+0000671706 00000 n
+0000671771 00000 n
+0000671836 00000 n
+0000671901 00000 n
+0000671966 00000 n
+0000672031 00000 n
+0000672096 00000 n
+0000672161 00000 n
+0000672225 00000 n
+0000672290 00000 n
+0000672355 00000 n
+0000672420 00000 n
+0000672485 00000 n
+0000672549 00000 n
+0000678162 00000 n
+0000674990 00000 n
+0000672764 00000 n
+0000675115 00000 n
+0000675179 00000 n
+0000675244 00000 n
+0000675309 00000 n
+0000675374 00000 n
+0000675439 00000 n
+0000675504 00000 n
+0000675569 00000 n
+0000675633 00000 n
+0000675698 00000 n
+0000675763 00000 n
+0000675828 00000 n
+0000675893 00000 n
+0000675958 00000 n
+0000676023 00000 n
+0000676088 00000 n
+0000676153 00000 n
+0000676217 00000 n
+0000676282 00000 n
+0000676347 00000 n
+0000676412 00000 n
+0000676477 00000 n
+0000676542 00000 n
+0000676607 00000 n
+0000676672 00000 n
+0000676737 00000 n
+0000676801 00000 n
+0000676866 00000 n
+0000676931 00000 n
+0000676996 00000 n
+0000677061 00000 n
+0000677126 00000 n
+0000677191 00000 n
+0000677256 00000 n
+0000677321 00000 n
+0000677386 00000 n
+0000677451 00000 n
+0000677516 00000 n
+0000677579 00000 n
+0000677644 00000 n
+0000677709 00000 n
+0000677774 00000 n
+0000677839 00000 n
+0000677904 00000 n
+0000677969 00000 n
+0000678034 00000 n
+0000678098 00000 n
+0001889066 00000 n
+0000684004 00000 n
+0000680377 00000 n
+0000678339 00000 n
+0000680502 00000 n
+0000680566 00000 n
+0000680631 00000 n
+0000680696 00000 n
+0000680761 00000 n
+0000680826 00000 n
+0000680891 00000 n
+0000680956 00000 n
+0000681021 00000 n
+0000681086 00000 n
+0000681150 00000 n
+0000681215 00000 n
+0000681280 00000 n
+0000681345 00000 n
+0000681409 00000 n
+0000681474 00000 n
+0000681539 00000 n
+0000681604 00000 n
+0000681669 00000 n
+0000681734 00000 n
+0000681799 00000 n
+0000681864 00000 n
+0000681929 00000 n
+0000681994 00000 n
+0000682059 00000 n
+0000682124 00000 n
+0000682189 00000 n
+0000682254 00000 n
+0000682319 00000 n
+0000682384 00000 n
+0000682449 00000 n
+0000682514 00000 n
+0000682579 00000 n
+0000682643 00000 n
+0000682708 00000 n
+0000682773 00000 n
+0000682838 00000 n
+0000682903 00000 n
+0000682968 00000 n
+0000683033 00000 n
+0000683098 00000 n
+0000683163 00000 n
+0000683227 00000 n
+0000683292 00000 n
+0000683357 00000 n
+0000683421 00000 n
+0000683486 00000 n
+0000683551 00000 n
+0000683616 00000 n
+0000683681 00000 n
+0000683746 00000 n
+0000683811 00000 n
+0000683876 00000 n
+0000683940 00000 n
+0000690009 00000 n
+0000686123 00000 n
+0000684168 00000 n
+0000686248 00000 n
+0000686312 00000 n
+0000686377 00000 n
+0000686442 00000 n
+0000686507 00000 n
+0000686572 00000 n
+0000686637 00000 n
+0000686702 00000 n
+0000686767 00000 n
+0000686832 00000 n
+0000686896 00000 n
+0000686961 00000 n
+0000687026 00000 n
+0000687091 00000 n
+0000687156 00000 n
+0000687221 00000 n
+0000687286 00000 n
+0000687351 00000 n
+0000687416 00000 n
+0000687480 00000 n
+0000687545 00000 n
+0000687610 00000 n
+0000687675 00000 n
+0000687740 00000 n
+0000687805 00000 n
+0000687870 00000 n
+0000687935 00000 n
+0000688000 00000 n
+0000688063 00000 n
+0000688128 00000 n
+0000688193 00000 n
+0000688258 00000 n
+0000688323 00000 n
+0000688388 00000 n
+0000688453 00000 n
+0000688518 00000 n
+0000688583 00000 n
+0000688648 00000 n
+0000688712 00000 n
+0000688777 00000 n
+0000688842 00000 n
+0000688907 00000 n
+0000688972 00000 n
+0000689037 00000 n
+0000689102 00000 n
+0000689167 00000 n
+0000689232 00000 n
+0000689297 00000 n
+0000689362 00000 n
+0000689427 00000 n
+0000689492 00000 n
+0000689557 00000 n
+0000689622 00000 n
+0000689687 00000 n
+0000689752 00000 n
+0000689816 00000 n
+0000689881 00000 n
+0000689945 00000 n
+0000695629 00000 n
+0000691679 00000 n
+0000690173 00000 n
+0000691804 00000 n
+0000691868 00000 n
+0000691933 00000 n
+0000691998 00000 n
+0000692063 00000 n
+0000692128 00000 n
+0000692193 00000 n
+0000692258 00000 n
+0000692323 00000 n
+0000692388 00000 n
+0000692452 00000 n
+0000692517 00000 n
+0000692582 00000 n
+0000692647 00000 n
+0000692712 00000 n
+0000692777 00000 n
+0000692842 00000 n
+0000692906 00000 n
+0000692971 00000 n
+0000693036 00000 n
+0000693101 00000 n
+0000693166 00000 n
+0000693231 00000 n
+0000693296 00000 n
+0000693360 00000 n
+0000693425 00000 n
+0000693490 00000 n
+0000693555 00000 n
+0000693620 00000 n
+0000693685 00000 n
+0000693750 00000 n
+0000693815 00000 n
+0000693880 00000 n
+0000693944 00000 n
+0000694009 00000 n
+0000694074 00000 n
+0000694139 00000 n
+0000694204 00000 n
+0000694269 00000 n
+0000694334 00000 n
+0000694399 00000 n
+0000694464 00000 n
+0000694527 00000 n
+0000694592 00000 n
+0000694657 00000 n
+0000694722 00000 n
+0000694787 00000 n
+0000694852 00000 n
+0000694917 00000 n
+0000694982 00000 n
+0000695047 00000 n
+0000695111 00000 n
+0000695176 00000 n
+0000695241 00000 n
+0000695306 00000 n
+0000695371 00000 n
+0000695436 00000 n
+0000695501 00000 n
+0000695565 00000 n
+0000698602 00000 n
+0000700893 00000 n
+0000698429 00000 n
+0000695780 00000 n
+0000698758 00000 n
+0000698822 00000 n
+0000698887 00000 n
+0000698952 00000 n
+0000699017 00000 n
+0000699082 00000 n
+0000699147 00000 n
+0000699212 00000 n
+0000699277 00000 n
+0000699342 00000 n
+0000699406 00000 n
+0000699471 00000 n
+0000699536 00000 n
+0000699601 00000 n
+0000699666 00000 n
+0000699731 00000 n
+0000699796 00000 n
+0000699861 00000 n
+0000699926 00000 n
+0000699991 00000 n
+0000700056 00000 n
+0000700120 00000 n
+0000700185 00000 n
+0000700250 00000 n
+0000700315 00000 n
+0000700380 00000 n
+0000700443 00000 n
+0000700570 00000 n
+0000700634 00000 n
+0000700699 00000 n
+0000700764 00000 n
+0000700829 00000 n
+0000698571 00000 n
+0000706940 00000 n
+0000703510 00000 n
+0000701161 00000 n
+0000703635 00000 n
+0000703699 00000 n
+0000703764 00000 n
+0000703829 00000 n
+0000703894 00000 n
+0000703959 00000 n
+0000704024 00000 n
+0000704089 00000 n
+0000704154 00000 n
+0000704219 00000 n
+0000704283 00000 n
+0000704348 00000 n
+0000704413 00000 n
+0000704478 00000 n
+0000704543 00000 n
+0000704608 00000 n
+0000704673 00000 n
+0000704738 00000 n
+0000704803 00000 n
+0000704867 00000 n
+0000704932 00000 n
+0000704997 00000 n
+0000705062 00000 n
+0000705127 00000 n
+0000705192 00000 n
+0000705257 00000 n
+0000705322 00000 n
+0000705387 00000 n
+0000705452 00000 n
+0000705517 00000 n
+0000705581 00000 n
+0000705646 00000 n
+0000705711 00000 n
+0000705776 00000 n
+0000705840 00000 n
+0000705905 00000 n
+0000705969 00000 n
+0000706034 00000 n
+0000706099 00000 n
+0000706164 00000 n
+0000706229 00000 n
+0000706293 00000 n
+0000706358 00000 n
+0000706423 00000 n
+0000706488 00000 n
+0000706553 00000 n
+0000706618 00000 n
+0000706683 00000 n
+0000706747 00000 n
+0000706812 00000 n
+0000706876 00000 n
+0000711941 00000 n
+0000709550 00000 n
+0000707117 00000 n
+0000709675 00000 n
+0000709739 00000 n
+0000709804 00000 n
+0000709869 00000 n
+0000709996 00000 n
+0000710061 00000 n
+0000710126 00000 n
+0000710191 00000 n
+0000710256 00000 n
+0000710320 00000 n
+0000710385 00000 n
+0000710450 00000 n
+0000710515 00000 n
+0000710580 00000 n
+0000710644 00000 n
+0000710709 00000 n
+0000710774 00000 n
+0000710839 00000 n
+0000710904 00000 n
+0000710969 00000 n
+0000711034 00000 n
+0000711098 00000 n
+0000711163 00000 n
+0000711228 00000 n
+0000711293 00000 n
+0000711358 00000 n
+0000711423 00000 n
+0000711488 00000 n
+0000711553 00000 n
+0000711618 00000 n
+0000711683 00000 n
+0000711748 00000 n
+0000711813 00000 n
+0000711877 00000 n
+0000717426 00000 n
+0000714122 00000 n
+0000712131 00000 n
+0000714247 00000 n
+0000714311 00000 n
+0000714376 00000 n
+0000714441 00000 n
+0000714506 00000 n
+0000714571 00000 n
+0000714636 00000 n
+0000714701 00000 n
+0000714766 00000 n
+0000714831 00000 n
+0000714896 00000 n
+0000714961 00000 n
+0000715026 00000 n
+0000715091 00000 n
+0000715156 00000 n
+0000715221 00000 n
+0000715286 00000 n
+0000715350 00000 n
+0000715415 00000 n
+0000715480 00000 n
+0000715545 00000 n
+0000715610 00000 n
+0000715675 00000 n
+0000715740 00000 n
+0000715805 00000 n
+0000715870 00000 n
+0000715935 00000 n
+0000716000 00000 n
+0000716065 00000 n
+0000716128 00000 n
+0000716193 00000 n
+0000716258 00000 n
+0000716323 00000 n
+0000716388 00000 n
+0000716453 00000 n
+0000716518 00000 n
+0000716583 00000 n
+0000716648 00000 n
+0000716712 00000 n
+0000716777 00000 n
+0000716842 00000 n
+0000716906 00000 n
+0000716971 00000 n
+0000717036 00000 n
+0000717101 00000 n
+0000717166 00000 n
+0000717231 00000 n
+0000717296 00000 n
+0000717361 00000 n
+0000722617 00000 n
+0000719835 00000 n
+0000717603 00000 n
+0000719960 00000 n
+0000720024 00000 n
+0000720089 00000 n
+0000720154 00000 n
+0000720219 00000 n
+0000720284 00000 n
+0000720349 00000 n
+0000720414 00000 n
+0000720479 00000 n
+0000720544 00000 n
+0000720609 00000 n
+0000720674 00000 n
+0000720739 00000 n
+0000720804 00000 n
+0000720869 00000 n
+0000720934 00000 n
+0000720999 00000 n
+0000721064 00000 n
+0000721129 00000 n
+0000721193 00000 n
+0000721258 00000 n
+0000721323 00000 n
+0000721387 00000 n
+0000721452 00000 n
+0000721517 00000 n
+0000721582 00000 n
+0000721647 00000 n
+0000721712 00000 n
+0000721777 00000 n
+0000721842 00000 n
+0000721907 00000 n
+0000721971 00000 n
+0000722036 00000 n
+0000722101 00000 n
+0000722166 00000 n
+0000722231 00000 n
+0000722296 00000 n
+0000722361 00000 n
+0000722426 00000 n
+0000722491 00000 n
+0000728312 00000 n
+0000726049 00000 n
+0000722833 00000 n
+0000726174 00000 n
+0000726238 00000 n
+0000726303 00000 n
+0000726368 00000 n
+0000726433 00000 n
+0000726497 00000 n
+0000726562 00000 n
+0000726627 00000 n
+0000726692 00000 n
+0000726757 00000 n
+0000726822 00000 n
+0000726887 00000 n
+0000726952 00000 n
+0000727017 00000 n
+0000727082 00000 n
+0000727146 00000 n
+0000727211 00000 n
+0000727276 00000 n
+0000727341 00000 n
+0000727406 00000 n
+0000727471 00000 n
+0000727536 00000 n
+0000727601 00000 n
+0000727666 00000 n
+0000727731 00000 n
+0000727796 00000 n
+0000727861 00000 n
+0000727926 00000 n
+0000727990 00000 n
+0000728055 00000 n
+0000728120 00000 n
+0000728184 00000 n
+0000728248 00000 n
+0000734270 00000 n
+0000730641 00000 n
+0000728554 00000 n
+0000730766 00000 n
+0000730830 00000 n
+0000730895 00000 n
+0000730960 00000 n
+0000731025 00000 n
+0000731090 00000 n
+0000731155 00000 n
+0000731220 00000 n
+0000731285 00000 n
+0000731350 00000 n
+0000731414 00000 n
+0000731479 00000 n
+0000731544 00000 n
+0000731609 00000 n
+0000731674 00000 n
+0000731739 00000 n
+0000731804 00000 n
+0000731869 00000 n
+0000731934 00000 n
+0000731998 00000 n
+0000732063 00000 n
+0000732128 00000 n
+0000732193 00000 n
+0000732258 00000 n
+0000732323 00000 n
+0000732388 00000 n
+0000732453 00000 n
+0000732518 00000 n
+0000732581 00000 n
+0000732646 00000 n
+0000732711 00000 n
+0000732776 00000 n
+0000732841 00000 n
+0000732906 00000 n
+0000732971 00000 n
+0000733036 00000 n
+0000733101 00000 n
+0000733166 00000 n
+0000733231 00000 n
+0000733295 00000 n
+0000733360 00000 n
+0000733425 00000 n
+0000733490 00000 n
+0000733555 00000 n
+0000733620 00000 n
+0000733685 00000 n
+0000733750 00000 n
+0000733815 00000 n
+0000733880 00000 n
+0000733945 00000 n
+0000734010 00000 n
+0000734075 00000 n
+0000734140 00000 n
+0000734205 00000 n
+0001889231 00000 n
+0000739248 00000 n
+0000736202 00000 n
+0000734447 00000 n
+0000736327 00000 n
+0000736391 00000 n
+0000736456 00000 n
+0000736521 00000 n
+0000736586 00000 n
+0000736651 00000 n
+0000736716 00000 n
+0000736781 00000 n
+0000736846 00000 n
+0000736911 00000 n
+0000736976 00000 n
+0000737041 00000 n
+0000737106 00000 n
+0000737171 00000 n
+0000737236 00000 n
+0000737301 00000 n
+0000737366 00000 n
+0000737431 00000 n
+0000737495 00000 n
+0000737560 00000 n
+0000737625 00000 n
+0000737690 00000 n
+0000737755 00000 n
+0000737820 00000 n
+0000737885 00000 n
+0000737950 00000 n
+0000738015 00000 n
+0000738080 00000 n
+0000738145 00000 n
+0000738210 00000 n
+0000738275 00000 n
+0000738340 00000 n
+0000738404 00000 n
+0000738469 00000 n
+0000738534 00000 n
+0000738599 00000 n
+0000738664 00000 n
+0000738729 00000 n
+0000738794 00000 n
+0000738858 00000 n
+0000738923 00000 n
+0000738988 00000 n
+0000739053 00000 n
+0000739118 00000 n
+0000739183 00000 n
+0000744346 00000 n
+0000741041 00000 n
+0000739412 00000 n
+0000741166 00000 n
+0000741230 00000 n
+0000741295 00000 n
+0000741360 00000 n
+0000741425 00000 n
+0000741490 00000 n
+0000741555 00000 n
+0000741620 00000 n
+0000741685 00000 n
+0000741750 00000 n
+0000741815 00000 n
+0000741880 00000 n
+0000741945 00000 n
+0000742010 00000 n
+0000742075 00000 n
+0000742139 00000 n
+0000742204 00000 n
+0000742269 00000 n
+0000742334 00000 n
+0000742399 00000 n
+0000742464 00000 n
+0000742529 00000 n
+0000742593 00000 n
+0000742658 00000 n
+0000742723 00000 n
+0000742788 00000 n
+0000742853 00000 n
+0000742918 00000 n
+0000742983 00000 n
+0000743048 00000 n
+0000743113 00000 n
+0000743178 00000 n
+0000743243 00000 n
+0000743308 00000 n
+0000743373 00000 n
+0000743438 00000 n
+0000743502 00000 n
+0000743567 00000 n
+0000743632 00000 n
+0000743697 00000 n
+0000743762 00000 n
+0000743826 00000 n
+0000743891 00000 n
+0000743956 00000 n
+0000744021 00000 n
+0000744086 00000 n
+0000744151 00000 n
+0000744216 00000 n
+0000744281 00000 n
+0000749985 00000 n
+0000747267 00000 n
+0000744510 00000 n
+0000747392 00000 n
+0000747456 00000 n
+0000747521 00000 n
+0000747586 00000 n
+0000747651 00000 n
+0000747716 00000 n
+0000747781 00000 n
+0000747846 00000 n
+0000747911 00000 n
+0000747976 00000 n
+0000748041 00000 n
+0000748106 00000 n
+0000748171 00000 n
+0000748234 00000 n
+0000748299 00000 n
+0000748364 00000 n
+0000748429 00000 n
+0000748494 00000 n
+0000748559 00000 n
+0000748623 00000 n
+0000748688 00000 n
+0000748753 00000 n
+0000748818 00000 n
+0000748883 00000 n
+0000748948 00000 n
+0000749013 00000 n
+0000749077 00000 n
+0000749142 00000 n
+0000749207 00000 n
+0000749272 00000 n
+0000749337 00000 n
+0000749402 00000 n
+0000749467 00000 n
+0000749531 00000 n
+0000749596 00000 n
+0000749661 00000 n
+0000749725 00000 n
+0000749790 00000 n
+0000749855 00000 n
+0000749920 00000 n
+0000755968 00000 n
+0000752664 00000 n
+0000750201 00000 n
+0000752789 00000 n
+0000752853 00000 n
+0000752918 00000 n
+0000752983 00000 n
+0000753048 00000 n
+0000753113 00000 n
+0000753178 00000 n
+0000753243 00000 n
+0000753308 00000 n
+0000753373 00000 n
+0000753438 00000 n
+0000753503 00000 n
+0000753568 00000 n
+0000753633 00000 n
+0000753698 00000 n
+0000753763 00000 n
+0000753827 00000 n
+0000753892 00000 n
+0000753957 00000 n
+0000754022 00000 n
+0000754087 00000 n
+0000754152 00000 n
+0000754217 00000 n
+0000754282 00000 n
+0000754347 00000 n
+0000754412 00000 n
+0000754476 00000 n
+0000754541 00000 n
+0000754606 00000 n
+0000754671 00000 n
+0000754736 00000 n
+0000754801 00000 n
+0000754866 00000 n
+0000754931 00000 n
+0000754996 00000 n
+0000755061 00000 n
+0000755125 00000 n
+0000755190 00000 n
+0000755255 00000 n
+0000755320 00000 n
+0000755385 00000 n
+0000755450 00000 n
+0000755515 00000 n
+0000755580 00000 n
+0000755645 00000 n
+0000755710 00000 n
+0000755775 00000 n
+0000755840 00000 n
+0000755904 00000 n
+0000761250 00000 n
+0000758270 00000 n
+0000756132 00000 n
+0000758395 00000 n
+0000758459 00000 n
+0000758524 00000 n
+0000758589 00000 n
+0000758654 00000 n
+0000758718 00000 n
+0000758783 00000 n
+0000758848 00000 n
+0000758913 00000 n
+0000758978 00000 n
+0000759043 00000 n
+0000759108 00000 n
+0000759173 00000 n
+0000759238 00000 n
+0000759303 00000 n
+0000759368 00000 n
+0000759433 00000 n
+0000759498 00000 n
+0000759563 00000 n
+0000759628 00000 n
+0000759693 00000 n
+0000759758 00000 n
+0000759822 00000 n
+0000759887 00000 n
+0000759952 00000 n
+0000760017 00000 n
+0000760082 00000 n
+0000760147 00000 n
+0000760212 00000 n
+0000760277 00000 n
+0000760342 00000 n
+0000760407 00000 n
+0000760472 00000 n
+0000760537 00000 n
+0000760602 00000 n
+0000760666 00000 n
+0000760731 00000 n
+0000760796 00000 n
+0000760861 00000 n
+0000760926 00000 n
+0000760991 00000 n
+0000761056 00000 n
+0000761121 00000 n
+0000761186 00000 n
+0000767179 00000 n
+0000763229 00000 n
+0000761453 00000 n
+0000763354 00000 n
+0000763418 00000 n
+0000763481 00000 n
+0000763546 00000 n
+0000763611 00000 n
+0000763676 00000 n
+0000763741 00000 n
+0000763806 00000 n
+0000763871 00000 n
+0000763936 00000 n
+0000764001 00000 n
+0000764066 00000 n
+0000764131 00000 n
+0000764196 00000 n
+0000764261 00000 n
+0000764326 00000 n
+0000764391 00000 n
+0000764456 00000 n
+0000764521 00000 n
+0000764586 00000 n
+0000764651 00000 n
+0000764715 00000 n
+0000764779 00000 n
+0000764844 00000 n
+0000764909 00000 n
+0000764974 00000 n
+0000765039 00000 n
+0000765104 00000 n
+0000765169 00000 n
+0000765234 00000 n
+0000765299 00000 n
+0000765364 00000 n
+0000765429 00000 n
+0000765493 00000 n
+0000765558 00000 n
+0000765623 00000 n
+0000765688 00000 n
+0000765753 00000 n
+0000765818 00000 n
+0000765883 00000 n
+0000765948 00000 n
+0000766013 00000 n
+0000766077 00000 n
+0000766142 00000 n
+0000766207 00000 n
+0000766272 00000 n
+0000766337 00000 n
+0000766402 00000 n
+0000766467 00000 n
+0000766532 00000 n
+0000766597 00000 n
+0000766662 00000 n
+0000766727 00000 n
+0000766791 00000 n
+0000766856 00000 n
+0000766921 00000 n
+0000766986 00000 n
+0000767051 00000 n
+0000767115 00000 n
+0000772608 00000 n
+0000769437 00000 n
+0000767343 00000 n
+0000769562 00000 n
+0000769626 00000 n
+0000769691 00000 n
+0000769756 00000 n
+0000769821 00000 n
+0000769886 00000 n
+0000769951 00000 n
+0000770016 00000 n
+0000770080 00000 n
+0000770145 00000 n
+0000770209 00000 n
+0000770274 00000 n
+0000770339 00000 n
+0000770404 00000 n
+0000770469 00000 n
+0000770534 00000 n
+0000770599 00000 n
+0000770664 00000 n
+0000770729 00000 n
+0000770794 00000 n
+0000770859 00000 n
+0000770924 00000 n
+0000770987 00000 n
+0000771052 00000 n
+0000771117 00000 n
+0000771182 00000 n
+0000771247 00000 n
+0000771312 00000 n
+0000771377 00000 n
+0000771442 00000 n
+0000771507 00000 n
+0000771571 00000 n
+0000771636 00000 n
+0000771701 00000 n
+0000771766 00000 n
+0000771831 00000 n
+0000771896 00000 n
+0000771961 00000 n
+0000772026 00000 n
+0000772091 00000 n
+0000772156 00000 n
+0000772220 00000 n
+0000772285 00000 n
+0000772350 00000 n
+0000772414 00000 n
+0000772479 00000 n
+0000772544 00000 n
+0000778506 00000 n
+0000775269 00000 n
+0000772798 00000 n
+0000775394 00000 n
+0000775458 00000 n
+0000775523 00000 n
+0000775588 00000 n
+0000775653 00000 n
+0000775718 00000 n
+0000775782 00000 n
+0000775847 00000 n
+0000775912 00000 n
+0000775977 00000 n
+0000776042 00000 n
+0000776107 00000 n
+0000776172 00000 n
+0000776237 00000 n
+0000776302 00000 n
+0000776366 00000 n
+0000776431 00000 n
+0000776496 00000 n
+0000776561 00000 n
+0000776626 00000 n
+0000776691 00000 n
+0000776756 00000 n
+0000776821 00000 n
+0000776886 00000 n
+0000776950 00000 n
+0000777015 00000 n
+0000777080 00000 n
+0000777145 00000 n
+0000777210 00000 n
+0000777275 00000 n
+0000777340 00000 n
+0000777405 00000 n
+0000777470 00000 n
+0000777535 00000 n
+0000777600 00000 n
+0000777664 00000 n
+0000777729 00000 n
+0000777794 00000 n
+0000777859 00000 n
+0000777924 00000 n
+0000777989 00000 n
+0000778054 00000 n
+0000778119 00000 n
+0000778183 00000 n
+0000778248 00000 n
+0000778313 00000 n
+0000778378 00000 n
+0000778442 00000 n
+0000783899 00000 n
+0000781442 00000 n
+0000778683 00000 n
+0000781567 00000 n
+0000781631 00000 n
+0000781696 00000 n
+0000781760 00000 n
+0000781825 00000 n
+0000781890 00000 n
+0000781955 00000 n
+0000782020 00000 n
+0000782084 00000 n
+0000782149 00000 n
+0000782214 00000 n
+0000782279 00000 n
+0000782344 00000 n
+0000782409 00000 n
+0000782474 00000 n
+0000782539 00000 n
+0000782604 00000 n
+0000782669 00000 n
+0000782734 00000 n
+0000782799 00000 n
+0000782864 00000 n
+0000782928 00000 n
+0000782993 00000 n
+0000783058 00000 n
+0000783123 00000 n
+0000783188 00000 n
+0000783253 00000 n
+0000783317 00000 n
+0000783382 00000 n
+0000783447 00000 n
+0000783512 00000 n
+0000783577 00000 n
+0000783642 00000 n
+0000783707 00000 n
+0000783772 00000 n
+0000783836 00000 n
+0000789099 00000 n
+0000786317 00000 n
+0000784089 00000 n
+0000786442 00000 n
+0000786506 00000 n
+0000786571 00000 n
+0000786636 00000 n
+0000786701 00000 n
+0000786766 00000 n
+0000786831 00000 n
+0000786896 00000 n
+0000786961 00000 n
+0000787026 00000 n
+0000787091 00000 n
+0000787156 00000 n
+0000787221 00000 n
+0000787286 00000 n
+0000787351 00000 n
+0000787416 00000 n
+0000787481 00000 n
+0000787545 00000 n
+0000787610 00000 n
+0000787675 00000 n
+0000787740 00000 n
+0000787805 00000 n
+0000787870 00000 n
+0000787935 00000 n
+0000788000 00000 n
+0000788065 00000 n
+0000788130 00000 n
+0000788195 00000 n
+0000788260 00000 n
+0000788325 00000 n
+0000788390 00000 n
+0000788454 00000 n
+0000788519 00000 n
+0000788584 00000 n
+0000788649 00000 n
+0000788714 00000 n
+0000788779 00000 n
+0000788844 00000 n
+0000788909 00000 n
+0000788974 00000 n
+0001889396 00000 n
+0000794313 00000 n
+0000792180 00000 n
+0000789276 00000 n
+0000792305 00000 n
+0000792369 00000 n
+0000792434 00000 n
+0000792498 00000 n
+0000792563 00000 n
+0000792628 00000 n
+0000792693 00000 n
+0000792758 00000 n
+0000792823 00000 n
+0000792888 00000 n
+0000792953 00000 n
+0000793018 00000 n
+0000793081 00000 n
+0000793146 00000 n
+0000793211 00000 n
+0000793276 00000 n
+0000793341 00000 n
+0000793406 00000 n
+0000793471 00000 n
+0000793536 00000 n
+0000793601 00000 n
+0000793666 00000 n
+0000793731 00000 n
+0000793795 00000 n
+0000793860 00000 n
+0000793925 00000 n
+0000793990 00000 n
+0000794055 00000 n
+0000794120 00000 n
+0000794185 00000 n
+0000794249 00000 n
+0000800179 00000 n
+0000797461 00000 n
+0000794568 00000 n
+0000797586 00000 n
+0000797650 00000 n
+0000797715 00000 n
+0000797780 00000 n
+0000797845 00000 n
+0000797910 00000 n
+0000797975 00000 n
+0000798040 00000 n
+0000798105 00000 n
+0000798170 00000 n
+0000798234 00000 n
+0000798299 00000 n
+0000798364 00000 n
+0000798429 00000 n
+0000798494 00000 n
+0000798559 00000 n
+0000798624 00000 n
+0000798689 00000 n
+0000798753 00000 n
+0000798818 00000 n
+0000798883 00000 n
+0000798948 00000 n
+0000799013 00000 n
+0000799078 00000 n
+0000799143 00000 n
+0000799208 00000 n
+0000799273 00000 n
+0000799337 00000 n
+0000799402 00000 n
+0000799467 00000 n
+0000799532 00000 n
+0000799597 00000 n
+0000799662 00000 n
+0000799727 00000 n
+0000799791 00000 n
+0000799856 00000 n
+0000799921 00000 n
+0000799986 00000 n
+0000800051 00000 n
+0000800115 00000 n
+0000806061 00000 n
+0000802565 00000 n
+0000800369 00000 n
+0000802690 00000 n
+0000802754 00000 n
+0000802819 00000 n
+0000802884 00000 n
+0000802949 00000 n
+0000803014 00000 n
+0000803079 00000 n
+0000803144 00000 n
+0000803207 00000 n
+0000803272 00000 n
+0000803337 00000 n
+0000803402 00000 n
+0000803467 00000 n
+0000803532 00000 n
+0000803597 00000 n
+0000803662 00000 n
+0000803727 00000 n
+0000803792 00000 n
+0000803857 00000 n
+0000803922 00000 n
+0000803987 00000 n
+0000804052 00000 n
+0000804117 00000 n
+0000804182 00000 n
+0000804247 00000 n
+0000804311 00000 n
+0000804376 00000 n
+0000804441 00000 n
+0000804506 00000 n
+0000804571 00000 n
+0000804636 00000 n
+0000804701 00000 n
+0000804766 00000 n
+0000804831 00000 n
+0000804895 00000 n
+0000804960 00000 n
+0000805025 00000 n
+0000805090 00000 n
+0000805155 00000 n
+0000805219 00000 n
+0000805284 00000 n
+0000805349 00000 n
+0000805414 00000 n
+0000805479 00000 n
+0000805544 00000 n
+0000805609 00000 n
+0000805674 00000 n
+0000805739 00000 n
+0000805803 00000 n
+0000805868 00000 n
+0000805933 00000 n
+0000805997 00000 n
+0000812080 00000 n
+0000808062 00000 n
+0000806225 00000 n
+0000808187 00000 n
+0000808251 00000 n
+0000808316 00000 n
+0000808381 00000 n
+0000808446 00000 n
+0000808511 00000 n
+0000808576 00000 n
+0000808641 00000 n
+0000808706 00000 n
+0000808771 00000 n
+0000808836 00000 n
+0000808901 00000 n
+0000808966 00000 n
+0000809031 00000 n
+0000809096 00000 n
+0000809161 00000 n
+0000809226 00000 n
+0000809290 00000 n
+0000809355 00000 n
+0000809420 00000 n
+0000809485 00000 n
+0000809550 00000 n
+0000809615 00000 n
+0000809680 00000 n
+0000809745 00000 n
+0000809810 00000 n
+0000809874 00000 n
+0000809939 00000 n
+0000810004 00000 n
+0000810069 00000 n
+0000810134 00000 n
+0000810199 00000 n
+0000810264 00000 n
+0000810329 00000 n
+0000810394 00000 n
+0000810458 00000 n
+0000810523 00000 n
+0000810588 00000 n
+0000810653 00000 n
+0000810718 00000 n
+0000810783 00000 n
+0000810848 00000 n
+0000810913 00000 n
+0000810978 00000 n
+0000811043 00000 n
+0000811108 00000 n
+0000811173 00000 n
+0000811238 00000 n
+0000811303 00000 n
+0000811368 00000 n
+0000811433 00000 n
+0000811498 00000 n
+0000811563 00000 n
+0000811628 00000 n
+0000811692 00000 n
+0000811757 00000 n
+0000811822 00000 n
+0000811887 00000 n
+0000811952 00000 n
+0000812016 00000 n
+0000817812 00000 n
+0000814246 00000 n
+0000812244 00000 n
+0000814371 00000 n
+0000814435 00000 n
+0000814500 00000 n
+0000814565 00000 n
+0000814630 00000 n
+0000814695 00000 n
+0000814760 00000 n
+0000814825 00000 n
+0000814890 00000 n
+0000814955 00000 n
+0000815019 00000 n
+0000815084 00000 n
+0000815149 00000 n
+0000815214 00000 n
+0000815279 00000 n
+0000815344 00000 n
+0000815409 00000 n
+0000815474 00000 n
+0000815539 00000 n
+0000815604 00000 n
+0000815669 00000 n
+0000815734 00000 n
+0000815799 00000 n
+0000815864 00000 n
+0000815929 00000 n
+0000815994 00000 n
+0000816058 00000 n
+0000816123 00000 n
+0000816188 00000 n
+0000816253 00000 n
+0000816318 00000 n
+0000816383 00000 n
+0000816448 00000 n
+0000816513 00000 n
+0000816578 00000 n
+0000816643 00000 n
+0000816708 00000 n
+0000816773 00000 n
+0000816838 00000 n
+0000816903 00000 n
+0000816968 00000 n
+0000817033 00000 n
+0000817098 00000 n
+0000817163 00000 n
+0000817228 00000 n
+0000817292 00000 n
+0000817357 00000 n
+0000817422 00000 n
+0000817487 00000 n
+0000817552 00000 n
+0000817617 00000 n
+0000817682 00000 n
+0000817747 00000 n
+0000823474 00000 n
+0000820494 00000 n
+0000817989 00000 n
+0000820619 00000 n
+0000820683 00000 n
+0000820748 00000 n
+0000820812 00000 n
+0000820877 00000 n
+0000820942 00000 n
+0000821007 00000 n
+0000821072 00000 n
+0000821137 00000 n
+0000821202 00000 n
+0000821267 00000 n
+0000821332 00000 n
+0000821396 00000 n
+0000821461 00000 n
+0000821526 00000 n
+0000821591 00000 n
+0000821656 00000 n
+0000821721 00000 n
+0000821786 00000 n
+0000821851 00000 n
+0000821916 00000 n
+0000821981 00000 n
+0000822046 00000 n
+0000822111 00000 n
+0000822176 00000 n
+0000822241 00000 n
+0000822306 00000 n
+0000822371 00000 n
+0000822436 00000 n
+0000822500 00000 n
+0000822565 00000 n
+0000822630 00000 n
+0000822695 00000 n
+0000822760 00000 n
+0000822825 00000 n
+0000822890 00000 n
+0000822955 00000 n
+0000823019 00000 n
+0000823084 00000 n
+0000823149 00000 n
+0000823214 00000 n
+0000823279 00000 n
+0000823344 00000 n
+0000823409 00000 n
+0000829106 00000 n
+0000825348 00000 n
+0000823664 00000 n
+0000825473 00000 n
+0000825537 00000 n
+0000825602 00000 n
+0000825667 00000 n
+0000825732 00000 n
+0000825797 00000 n
+0000825862 00000 n
+0000825927 00000 n
+0000825992 00000 n
+0000826057 00000 n
+0000826121 00000 n
+0000826186 00000 n
+0000826251 00000 n
+0000826316 00000 n
+0000826381 00000 n
+0000826446 00000 n
+0000826511 00000 n
+0000826576 00000 n
+0000826641 00000 n
+0000826706 00000 n
+0000826771 00000 n
+0000826836 00000 n
+0000826901 00000 n
+0000826966 00000 n
+0000827031 00000 n
+0000827095 00000 n
+0000827160 00000 n
+0000827225 00000 n
+0000827290 00000 n
+0000827355 00000 n
+0000827420 00000 n
+0000827485 00000 n
+0000827550 00000 n
+0000827615 00000 n
+0000827679 00000 n
+0000827744 00000 n
+0000827809 00000 n
+0000827874 00000 n
+0000827939 00000 n
+0000828004 00000 n
+0000828069 00000 n
+0000828134 00000 n
+0000828199 00000 n
+0000828263 00000 n
+0000828328 00000 n
+0000828393 00000 n
+0000828458 00000 n
+0000828523 00000 n
+0000828587 00000 n
+0000828652 00000 n
+0000828717 00000 n
+0000828782 00000 n
+0000828847 00000 n
+0000828912 00000 n
+0000828977 00000 n
+0000829042 00000 n
+0000836123 00000 n
+0000832560 00000 n
+0000829270 00000 n
+0000832685 00000 n
+0000832749 00000 n
+0000832814 00000 n
+0000832879 00000 n
+0000832944 00000 n
+0000833009 00000 n
+0000833074 00000 n
+0000833139 00000 n
+0000833204 00000 n
+0000833269 00000 n
+0000833333 00000 n
+0000833398 00000 n
+0000833463 00000 n
+0000833528 00000 n
+0000833593 00000 n
+0000833658 00000 n
+0000833723 00000 n
+0000833788 00000 n
+0000833853 00000 n
+0000833917 00000 n
+0000833982 00000 n
+0000834047 00000 n
+0000834112 00000 n
+0000834177 00000 n
+0000834242 00000 n
+0000834307 00000 n
+0000834372 00000 n
+0000834437 00000 n
+0000834500 00000 n
+0000834565 00000 n
+0000834630 00000 n
+0000834695 00000 n
+0000834760 00000 n
+0000834825 00000 n
+0000834890 00000 n
+0000834955 00000 n
+0000835020 00000 n
+0000835084 00000 n
+0000835149 00000 n
+0000835214 00000 n
+0000835279 00000 n
+0000835344 00000 n
+0000835409 00000 n
+0000835474 00000 n
+0000835539 00000 n
+0000835604 00000 n
+0000835668 00000 n
+0000835733 00000 n
+0000835798 00000 n
+0000835863 00000 n
+0000835928 00000 n
+0000835993 00000 n
+0000836058 00000 n
+0000843199 00000 n
+0000840029 00000 n
+0000836314 00000 n
+0000840154 00000 n
+0000840218 00000 n
+0000840283 00000 n
+0000840348 00000 n
+0000840412 00000 n
+0000840477 00000 n
+0000840542 00000 n
+0000840607 00000 n
+0000840672 00000 n
+0000840737 00000 n
+0000840802 00000 n
+0000840867 00000 n
+0000840932 00000 n
+0000840995 00000 n
+0000841060 00000 n
+0000841125 00000 n
+0000841190 00000 n
+0000841254 00000 n
+0000841319 00000 n
+0000841384 00000 n
+0000841449 00000 n
+0000841514 00000 n
+0000841579 00000 n
+0000841644 00000 n
+0000841709 00000 n
+0000841774 00000 n
+0000841838 00000 n
+0000841903 00000 n
+0000841968 00000 n
+0000842033 00000 n
+0000842098 00000 n
+0000842163 00000 n
+0000842228 00000 n
+0000842293 00000 n
+0000842358 00000 n
+0000842423 00000 n
+0000842487 00000 n
+0000842552 00000 n
+0000842617 00000 n
+0000842682 00000 n
+0000842747 00000 n
+0000842811 00000 n
+0000842876 00000 n
+0000842941 00000 n
+0000843006 00000 n
+0000843071 00000 n
+0000843135 00000 n
+0000848851 00000 n
+0000845418 00000 n
+0000843416 00000 n
+0000845543 00000 n
+0000845607 00000 n
+0000845672 00000 n
+0000845737 00000 n
+0000845802 00000 n
+0000845867 00000 n
+0000845932 00000 n
+0000845997 00000 n
+0000846061 00000 n
+0000846126 00000 n
+0000846191 00000 n
+0000846256 00000 n
+0000846321 00000 n
+0000846386 00000 n
+0000846451 00000 n
+0000846516 00000 n
+0000846581 00000 n
+0000846645 00000 n
+0000846710 00000 n
+0000846775 00000 n
+0000846840 00000 n
+0000846905 00000 n
+0000846970 00000 n
+0000847035 00000 n
+0000847100 00000 n
+0000847165 00000 n
+0000847230 00000 n
+0000847294 00000 n
+0000847359 00000 n
+0000847424 00000 n
+0000847489 00000 n
+0000847554 00000 n
+0000847619 00000 n
+0000847684 00000 n
+0000847749 00000 n
+0000847814 00000 n
+0000847879 00000 n
+0000847944 00000 n
+0000848009 00000 n
+0000848074 00000 n
+0000848138 00000 n
+0000848203 00000 n
+0000848268 00000 n
+0000848333 00000 n
+0000848398 00000 n
+0000848463 00000 n
+0000848528 00000 n
+0000848593 00000 n
+0000848658 00000 n
+0000848721 00000 n
+0000848786 00000 n
+0001889561 00000 n
+0000854501 00000 n
+0000851327 00000 n
+0000849028 00000 n
+0000851452 00000 n
+0000851516 00000 n
+0000851581 00000 n
+0000851646 00000 n
+0000851711 00000 n
+0000851776 00000 n
+0000851841 00000 n
+0000851906 00000 n
+0000851971 00000 n
+0000852036 00000 n
+0000852100 00000 n
+0000852165 00000 n
+0000852230 00000 n
+0000852295 00000 n
+0000852360 00000 n
+0000852425 00000 n
+0000852490 00000 n
+0000852555 00000 n
+0000852620 00000 n
+0000852685 00000 n
+0000852750 00000 n
+0000852814 00000 n
+0000852879 00000 n
+0000852944 00000 n
+0000853009 00000 n
+0000853074 00000 n
+0000853139 00000 n
+0000853204 00000 n
+0000853268 00000 n
+0000853333 00000 n
+0000853398 00000 n
+0000853463 00000 n
+0000853528 00000 n
+0000853593 00000 n
+0000853658 00000 n
+0000853723 00000 n
+0000853788 00000 n
+0000853853 00000 n
+0000853918 00000 n
+0000853983 00000 n
+0000854048 00000 n
+0000854113 00000 n
+0000854178 00000 n
+0000854243 00000 n
+0000854308 00000 n
+0000854373 00000 n
+0000854437 00000 n
+0000860341 00000 n
+0000857103 00000 n
+0000854691 00000 n
+0000857228 00000 n
+0000857292 00000 n
+0000857357 00000 n
+0000857422 00000 n
+0000857487 00000 n
+0000857552 00000 n
+0000857617 00000 n
+0000857682 00000 n
+0000857747 00000 n
+0000857812 00000 n
+0000857877 00000 n
+0000857942 00000 n
+0000858007 00000 n
+0000858072 00000 n
+0000858137 00000 n
+0000858201 00000 n
+0000858266 00000 n
+0000858331 00000 n
+0000858396 00000 n
+0000858461 00000 n
+0000858526 00000 n
+0000858591 00000 n
+0000858656 00000 n
+0000858721 00000 n
+0000858786 00000 n
+0000858851 00000 n
+0000858916 00000 n
+0000858981 00000 n
+0000859046 00000 n
+0000859111 00000 n
+0000859176 00000 n
+0000859241 00000 n
+0000859306 00000 n
+0000859370 00000 n
+0000859435 00000 n
+0000859500 00000 n
+0000859565 00000 n
+0000859630 00000 n
+0000859695 00000 n
+0000859760 00000 n
+0000859824 00000 n
+0000859889 00000 n
+0000859954 00000 n
+0000860019 00000 n
+0000860084 00000 n
+0000860148 00000 n
+0000860213 00000 n
+0000860277 00000 n
+0000865897 00000 n
+0000862918 00000 n
+0000860505 00000 n
+0000863043 00000 n
+0000863107 00000 n
+0000863172 00000 n
+0000863237 00000 n
+0000863302 00000 n
+0000863367 00000 n
+0000863432 00000 n
+0000863497 00000 n
+0000863560 00000 n
+0000863625 00000 n
+0000863690 00000 n
+0000863755 00000 n
+0000863820 00000 n
+0000863885 00000 n
+0000863950 00000 n
+0000864015 00000 n
+0000864080 00000 n
+0000864145 00000 n
+0000864210 00000 n
+0000864274 00000 n
+0000864339 00000 n
+0000864404 00000 n
+0000864469 00000 n
+0000864534 00000 n
+0000864599 00000 n
+0000864664 00000 n
+0000864729 00000 n
+0000864794 00000 n
+0000864859 00000 n
+0000864924 00000 n
+0000864989 00000 n
+0000865054 00000 n
+0000865119 00000 n
+0000865184 00000 n
+0000865249 00000 n
+0000865313 00000 n
+0000865378 00000 n
+0000865443 00000 n
+0000865508 00000 n
+0000865573 00000 n
+0000865638 00000 n
+0000865703 00000 n
+0000865768 00000 n
+0000865833 00000 n
+0000871920 00000 n
+0000868228 00000 n
+0000866087 00000 n
+0000868353 00000 n
+0000868417 00000 n
+0000868482 00000 n
+0000868547 00000 n
+0000868612 00000 n
+0000868677 00000 n
+0000868742 00000 n
+0000868807 00000 n
+0000868872 00000 n
+0000868937 00000 n
+0000869001 00000 n
+0000869066 00000 n
+0000869131 00000 n
+0000869196 00000 n
+0000869261 00000 n
+0000869326 00000 n
+0000869391 00000 n
+0000869456 00000 n
+0000869521 00000 n
+0000869585 00000 n
+0000869650 00000 n
+0000869715 00000 n
+0000869780 00000 n
+0000869845 00000 n
+0000869910 00000 n
+0000869974 00000 n
+0000870039 00000 n
+0000870104 00000 n
+0000870169 00000 n
+0000870234 00000 n
+0000870299 00000 n
+0000870364 00000 n
+0000870428 00000 n
+0000870493 00000 n
+0000870558 00000 n
+0000870623 00000 n
+0000870688 00000 n
+0000870753 00000 n
+0000870818 00000 n
+0000870883 00000 n
+0000870948 00000 n
+0000871013 00000 n
+0000871078 00000 n
+0000871143 00000 n
+0000871208 00000 n
+0000871273 00000 n
+0000871338 00000 n
+0000871403 00000 n
+0000871468 00000 n
+0000871532 00000 n
+0000871597 00000 n
+0000871662 00000 n
+0000871727 00000 n
+0000871792 00000 n
+0000871856 00000 n
+0000877023 00000 n
+0000873721 00000 n
+0000872097 00000 n
+0000873846 00000 n
+0000873910 00000 n
+0000873975 00000 n
+0000874040 00000 n
+0000874105 00000 n
+0000874170 00000 n
+0000874235 00000 n
+0000874300 00000 n
+0000874365 00000 n
+0000874430 00000 n
+0000874495 00000 n
+0000874560 00000 n
+0000874625 00000 n
+0000874690 00000 n
+0000874755 00000 n
+0000874820 00000 n
+0000874885 00000 n
+0000874950 00000 n
+0000875014 00000 n
+0000875079 00000 n
+0000875144 00000 n
+0000875209 00000 n
+0000875274 00000 n
+0000875339 00000 n
+0000875404 00000 n
+0000875469 00000 n
+0000875534 00000 n
+0000875598 00000 n
+0000875663 00000 n
+0000875728 00000 n
+0000875793 00000 n
+0000875858 00000 n
+0000875923 00000 n
+0000875988 00000 n
+0000876053 00000 n
+0000876118 00000 n
+0000876183 00000 n
+0000876247 00000 n
+0000876312 00000 n
+0000876377 00000 n
+0000876442 00000 n
+0000876507 00000 n
+0000876572 00000 n
+0000876637 00000 n
+0000876702 00000 n
+0000876829 00000 n
+0000876894 00000 n
+0000876959 00000 n
+0000882471 00000 n
+0000879753 00000 n
+0000877200 00000 n
+0000879878 00000 n
+0000879942 00000 n
+0000880007 00000 n
+0000880072 00000 n
+0000880137 00000 n
+0000880202 00000 n
+0000880267 00000 n
+0000880332 00000 n
+0000880397 00000 n
+0000880462 00000 n
+0000880526 00000 n
+0000880591 00000 n
+0000880656 00000 n
+0000880721 00000 n
+0000880786 00000 n
+0000880851 00000 n
+0000880916 00000 n
+0000880981 00000 n
+0000881046 00000 n
+0000881111 00000 n
+0000881176 00000 n
+0000881241 00000 n
+0000881306 00000 n
+0000881371 00000 n
+0000881435 00000 n
+0000881500 00000 n
+0000881565 00000 n
+0000881630 00000 n
+0000881694 00000 n
+0000881759 00000 n
+0000881824 00000 n
+0000881889 00000 n
+0000881954 00000 n
+0000882019 00000 n
+0000882084 00000 n
+0000882149 00000 n
+0000882214 00000 n
+0000882278 00000 n
+0000882343 00000 n
+0000882407 00000 n
+0000888247 00000 n
+0000884554 00000 n
+0000882661 00000 n
+0000884679 00000 n
+0000884743 00000 n
+0000884808 00000 n
+0000884873 00000 n
+0000884938 00000 n
+0000885003 00000 n
+0000885068 00000 n
+0000885133 00000 n
+0000885198 00000 n
+0000885263 00000 n
+0000885328 00000 n
+0000885393 00000 n
+0000885457 00000 n
+0000885522 00000 n
+0000885587 00000 n
+0000885652 00000 n
+0000885717 00000 n
+0000885782 00000 n
+0000885847 00000 n
+0000885912 00000 n
+0000885977 00000 n
+0000886041 00000 n
+0000886106 00000 n
+0000886171 00000 n
+0000886236 00000 n
+0000886301 00000 n
+0000886366 00000 n
+0000886431 00000 n
+0000886496 00000 n
+0000886561 00000 n
+0000886626 00000 n
+0000886691 00000 n
+0000886756 00000 n
+0000886821 00000 n
+0000886886 00000 n
+0000886950 00000 n
+0000887015 00000 n
+0000887080 00000 n
+0000887145 00000 n
+0000887210 00000 n
+0000887275 00000 n
+0000887340 00000 n
+0000887405 00000 n
+0000887470 00000 n
+0000887535 00000 n
+0000887600 00000 n
+0000887665 00000 n
+0000887730 00000 n
+0000887795 00000 n
+0000887860 00000 n
+0000887925 00000 n
+0000887990 00000 n
+0000888054 00000 n
+0000888119 00000 n
+0000888183 00000 n
+0000893478 00000 n
+0000890306 00000 n
+0000888424 00000 n
+0000890431 00000 n
+0000890495 00000 n
+0000890560 00000 n
+0000890625 00000 n
+0000890690 00000 n
+0000890755 00000 n
+0000890820 00000 n
+0000890885 00000 n
+0000890950 00000 n
+0000891015 00000 n
+0000891080 00000 n
+0000891145 00000 n
+0000891209 00000 n
+0000891274 00000 n
+0000891339 00000 n
+0000891404 00000 n
+0000891469 00000 n
+0000891597 00000 n
+0000891662 00000 n
+0000891727 00000 n
+0000891792 00000 n
+0000891857 00000 n
+0000891921 00000 n
+0000891986 00000 n
+0000892051 00000 n
+0000892116 00000 n
+0000892181 00000 n
+0000892246 00000 n
+0000892310 00000 n
+0000892375 00000 n
+0000892440 00000 n
+0000892505 00000 n
+0000892570 00000 n
+0000892635 00000 n
+0000892700 00000 n
+0000892765 00000 n
+0000892830 00000 n
+0000892894 00000 n
+0000892959 00000 n
+0000893024 00000 n
+0000893089 00000 n
+0000893154 00000 n
+0000893219 00000 n
+0000893284 00000 n
+0000893349 00000 n
+0000893414 00000 n
+0000898623 00000 n
+0000896425 00000 n
+0000893655 00000 n
+0000896550 00000 n
+0000896614 00000 n
+0000896679 00000 n
+0000896744 00000 n
+0000896809 00000 n
+0000896874 00000 n
+0000896939 00000 n
+0000897004 00000 n
+0000897068 00000 n
+0000897133 00000 n
+0000897198 00000 n
+0000897263 00000 n
+0000897328 00000 n
+0000897393 00000 n
+0000897458 00000 n
+0000897523 00000 n
+0000897588 00000 n
+0000897653 00000 n
+0000897718 00000 n
+0000897845 00000 n
+0000897910 00000 n
+0000897974 00000 n
+0000898039 00000 n
+0000898104 00000 n
+0000898169 00000 n
+0000898234 00000 n
+0000898299 00000 n
+0000898364 00000 n
+0000898429 00000 n
+0000898493 00000 n
+0000898558 00000 n
+0000904441 00000 n
+0000901204 00000 n
+0000898839 00000 n
+0000901329 00000 n
+0000901393 00000 n
+0000901458 00000 n
+0000901522 00000 n
+0000901587 00000 n
+0000901652 00000 n
+0000901717 00000 n
+0000901782 00000 n
+0000901847 00000 n
+0000901912 00000 n
+0000901977 00000 n
+0000902042 00000 n
+0000902106 00000 n
+0000902171 00000 n
+0000902236 00000 n
+0000902301 00000 n
+0000902366 00000 n
+0000902431 00000 n
+0000902496 00000 n
+0000902561 00000 n
+0000902626 00000 n
+0000902691 00000 n
+0000902756 00000 n
+0000902821 00000 n
+0000902886 00000 n
+0000902951 00000 n
+0000903016 00000 n
+0000903081 00000 n
+0000903145 00000 n
+0000903210 00000 n
+0000903275 00000 n
+0000903340 00000 n
+0000903405 00000 n
+0000903470 00000 n
+0000903535 00000 n
+0000903599 00000 n
+0000903664 00000 n
+0000903729 00000 n
+0000903794 00000 n
+0000903859 00000 n
+0000903924 00000 n
+0000903989 00000 n
+0000904054 00000 n
+0000904119 00000 n
+0000904183 00000 n
+0000904248 00000 n
+0000904313 00000 n
+0000904377 00000 n
+0001889726 00000 n
+0000906823 00000 n
+0000909962 00000 n
+0000906650 00000 n
+0000904631 00000 n
+0000906980 00000 n
+0000907044 00000 n
+0000907109 00000 n
+0000907174 00000 n
+0000907239 00000 n
+0000907304 00000 n
+0000907369 00000 n
+0000907434 00000 n
+0000907499 00000 n
+0000907564 00000 n
+0000907628 00000 n
+0000907693 00000 n
+0000907758 00000 n
+0000907823 00000 n
+0000907888 00000 n
+0000907953 00000 n
+0000908018 00000 n
+0000908083 00000 n
+0000908148 00000 n
+0000908213 00000 n
+0000908278 00000 n
+0000908343 00000 n
+0000908408 00000 n
+0000908473 00000 n
+0000908536 00000 n
+0000908601 00000 n
+0000908666 00000 n
+0000908731 00000 n
+0000908796 00000 n
+0000908861 00000 n
+0000908926 00000 n
+0000908991 00000 n
+0000909056 00000 n
+0000909121 00000 n
+0000909184 00000 n
+0000909249 00000 n
+0000909314 00000 n
+0000909379 00000 n
+0000909444 00000 n
+0000909509 00000 n
+0000909574 00000 n
+0000909639 00000 n
+0000909704 00000 n
+0000909769 00000 n
+0000909834 00000 n
+0000909898 00000 n
+0000906792 00000 n
+0000915756 00000 n
+0000912520 00000 n
+0000910178 00000 n
+0000912645 00000 n
+0000912709 00000 n
+0000912774 00000 n
+0000912839 00000 n
+0000912904 00000 n
+0000912969 00000 n
+0000913034 00000 n
+0000913099 00000 n
+0000913164 00000 n
+0000913229 00000 n
+0000913294 00000 n
+0000913359 00000 n
+0000913422 00000 n
+0000913487 00000 n
+0000913552 00000 n
+0000913617 00000 n
+0000913682 00000 n
+0000913747 00000 n
+0000913812 00000 n
+0000913877 00000 n
+0000913941 00000 n
+0000914006 00000 n
+0000914071 00000 n
+0000914136 00000 n
+0000914201 00000 n
+0000914266 00000 n
+0000914331 00000 n
+0000914396 00000 n
+0000914461 00000 n
+0000914525 00000 n
+0000914590 00000 n
+0000914655 00000 n
+0000914720 00000 n
+0000914785 00000 n
+0000914850 00000 n
+0000914915 00000 n
+0000914980 00000 n
+0000915045 00000 n
+0000915109 00000 n
+0000915174 00000 n
+0000915238 00000 n
+0000915303 00000 n
+0000915368 00000 n
+0000915433 00000 n
+0000915498 00000 n
+0000915563 00000 n
+0000915628 00000 n
+0000915692 00000 n
+0000921243 00000 n
+0000918135 00000 n
+0000915933 00000 n
+0000918260 00000 n
+0000918324 00000 n
+0000918389 00000 n
+0000918454 00000 n
+0000918519 00000 n
+0000918584 00000 n
+0000918649 00000 n
+0000918714 00000 n
+0000918779 00000 n
+0000918844 00000 n
+0000918909 00000 n
+0000918974 00000 n
+0000919039 00000 n
+0000919103 00000 n
+0000919168 00000 n
+0000919233 00000 n
+0000919298 00000 n
+0000919363 00000 n
+0000919428 00000 n
+0000919493 00000 n
+0000919558 00000 n
+0000919623 00000 n
+0000919688 00000 n
+0000919753 00000 n
+0000919818 00000 n
+0000919883 00000 n
+0000919948 00000 n
+0000920013 00000 n
+0000920078 00000 n
+0000920142 00000 n
+0000920207 00000 n
+0000920271 00000 n
+0000920336 00000 n
+0000920401 00000 n
+0000920466 00000 n
+0000920531 00000 n
+0000920596 00000 n
+0000920661 00000 n
+0000920726 00000 n
+0000920791 00000 n
+0000920855 00000 n
+0000920920 00000 n
+0000920985 00000 n
+0000921050 00000 n
+0000921115 00000 n
+0000927209 00000 n
+0000923712 00000 n
+0000921433 00000 n
+0000923837 00000 n
+0000923901 00000 n
+0000923966 00000 n
+0000924031 00000 n
+0000924096 00000 n
+0000924161 00000 n
+0000924226 00000 n
+0000924291 00000 n
+0000924355 00000 n
+0000924420 00000 n
+0000924485 00000 n
+0000924550 00000 n
+0000924615 00000 n
+0000924680 00000 n
+0000924745 00000 n
+0000924810 00000 n
+0000924875 00000 n
+0000924939 00000 n
+0000925004 00000 n
+0000925069 00000 n
+0000925134 00000 n
+0000925199 00000 n
+0000925264 00000 n
+0000925329 00000 n
+0000925394 00000 n
+0000925459 00000 n
+0000925523 00000 n
+0000925588 00000 n
+0000925653 00000 n
+0000925718 00000 n
+0000925783 00000 n
+0000925848 00000 n
+0000925913 00000 n
+0000925978 00000 n
+0000926043 00000 n
+0000926107 00000 n
+0000926172 00000 n
+0000926237 00000 n
+0000926302 00000 n
+0000926367 00000 n
+0000926432 00000 n
+0000926497 00000 n
+0000926562 00000 n
+0000926627 00000 n
+0000926692 00000 n
+0000926757 00000 n
+0000926822 00000 n
+0000926887 00000 n
+0000926951 00000 n
+0000927016 00000 n
+0000927081 00000 n
+0000927145 00000 n
+0000932797 00000 n
+0000930207 00000 n
+0000927399 00000 n
+0000930332 00000 n
+0000930396 00000 n
+0000930461 00000 n
+0000930526 00000 n
+0000930591 00000 n
+0000930656 00000 n
+0000930721 00000 n
+0000930786 00000 n
+0000930850 00000 n
+0000930915 00000 n
+0000930980 00000 n
+0000931045 00000 n
+0000931110 00000 n
+0000931175 00000 n
+0000931240 00000 n
+0000931305 00000 n
+0000931370 00000 n
+0000931435 00000 n
+0000931500 00000 n
+0000931564 00000 n
+0000931629 00000 n
+0000931694 00000 n
+0000931759 00000 n
+0000931824 00000 n
+0000931889 00000 n
+0000931954 00000 n
+0000932019 00000 n
+0000932084 00000 n
+0000932148 00000 n
+0000932213 00000 n
+0000932278 00000 n
+0000932343 00000 n
+0000932408 00000 n
+0000932473 00000 n
+0000932538 00000 n
+0000932603 00000 n
+0000932668 00000 n
+0000932732 00000 n
+0000938887 00000 n
+0000936426 00000 n
+0000933013 00000 n
+0000936551 00000 n
+0000936615 00000 n
+0000936680 00000 n
+0000936745 00000 n
+0000936810 00000 n
+0000936875 00000 n
+0000936940 00000 n
+0000937005 00000 n
+0000937070 00000 n
+0000937135 00000 n
+0000937200 00000 n
+0000937265 00000 n
+0000937330 00000 n
+0000937395 00000 n
+0000937459 00000 n
+0000937524 00000 n
+0000937589 00000 n
+0000937654 00000 n
+0000937719 00000 n
+0000937784 00000 n
+0000937849 00000 n
+0000937914 00000 n
+0000937978 00000 n
+0000938043 00000 n
+0000938108 00000 n
+0000938173 00000 n
+0000938238 00000 n
+0000938303 00000 n
+0000938368 00000 n
+0000938433 00000 n
+0000938498 00000 n
+0000938562 00000 n
+0000938627 00000 n
+0000938692 00000 n
+0000938757 00000 n
+0000938822 00000 n
+0000944753 00000 n
+0000942232 00000 n
+0000939103 00000 n
+0000942357 00000 n
+0000942421 00000 n
+0000942485 00000 n
+0000942550 00000 n
+0000942615 00000 n
+0000942680 00000 n
+0000942745 00000 n
+0000942809 00000 n
+0000942874 00000 n
+0000942939 00000 n
+0000943004 00000 n
+0000943069 00000 n
+0000943134 00000 n
+0000943199 00000 n
+0000943264 00000 n
+0000943329 00000 n
+0000943393 00000 n
+0000943458 00000 n
+0000943523 00000 n
+0000943588 00000 n
+0000943653 00000 n
+0000943717 00000 n
+0000943782 00000 n
+0000943847 00000 n
+0000943912 00000 n
+0000943977 00000 n
+0000944041 00000 n
+0000944106 00000 n
+0000944171 00000 n
+0000944236 00000 n
+0000944301 00000 n
+0000944365 00000 n
+0000944430 00000 n
+0000944495 00000 n
+0000944560 00000 n
+0000944625 00000 n
+0000944689 00000 n
+0000950238 00000 n
+0000947130 00000 n
+0000944969 00000 n
+0000947255 00000 n
+0000947319 00000 n
+0000947384 00000 n
+0000947449 00000 n
+0000947514 00000 n
+0000947579 00000 n
+0000947644 00000 n
+0000947709 00000 n
+0000947774 00000 n
+0000947839 00000 n
+0000947904 00000 n
+0000947969 00000 n
+0000948033 00000 n
+0000948098 00000 n
+0000948163 00000 n
+0000948228 00000 n
+0000948293 00000 n
+0000948358 00000 n
+0000948423 00000 n
+0000948487 00000 n
+0000948552 00000 n
+0000948617 00000 n
+0000948682 00000 n
+0000948747 00000 n
+0000948812 00000 n
+0000948877 00000 n
+0000948942 00000 n
+0000949007 00000 n
+0000949071 00000 n
+0000949136 00000 n
+0000949201 00000 n
+0000949266 00000 n
+0000949331 00000 n
+0000949396 00000 n
+0000949460 00000 n
+0000949525 00000 n
+0000949590 00000 n
+0000949655 00000 n
+0000949720 00000 n
+0000949785 00000 n
+0000949850 00000 n
+0000949915 00000 n
+0000949980 00000 n
+0000950045 00000 n
+0000950110 00000 n
+0000950174 00000 n
+0000956056 00000 n
+0000952301 00000 n
+0000950402 00000 n
+0000952426 00000 n
+0000952490 00000 n
+0000952555 00000 n
+0000952620 00000 n
+0000952685 00000 n
+0000952750 00000 n
+0000952815 00000 n
+0000952880 00000 n
+0000952945 00000 n
+0000953010 00000 n
+0000953074 00000 n
+0000953139 00000 n
+0000953204 00000 n
+0000953269 00000 n
+0000953334 00000 n
+0000953399 00000 n
+0000953464 00000 n
+0000953529 00000 n
+0000953594 00000 n
+0000953658 00000 n
+0000953723 00000 n
+0000953788 00000 n
+0000953853 00000 n
+0000953918 00000 n
+0000953983 00000 n
+0000954048 00000 n
+0000954112 00000 n
+0000954177 00000 n
+0000954242 00000 n
+0000954306 00000 n
+0000954371 00000 n
+0000954436 00000 n
+0000954501 00000 n
+0000954566 00000 n
+0000954631 00000 n
+0000954696 00000 n
+0000954761 00000 n
+0000954826 00000 n
+0000954890 00000 n
+0000954955 00000 n
+0000955020 00000 n
+0000955085 00000 n
+0000955150 00000 n
+0000955214 00000 n
+0000955279 00000 n
+0000955344 00000 n
+0000955409 00000 n
+0000955474 00000 n
+0000955539 00000 n
+0000955604 00000 n
+0000955669 00000 n
+0000955734 00000 n
+0000955798 00000 n
+0000955863 00000 n
+0000955928 00000 n
+0000955992 00000 n
+0000961989 00000 n
+0000958878 00000 n
+0000956220 00000 n
+0000959003 00000 n
+0000959067 00000 n
+0000959132 00000 n
+0000959197 00000 n
+0000959262 00000 n
+0000959326 00000 n
+0000959391 00000 n
+0000959456 00000 n
+0000959521 00000 n
+0000959586 00000 n
+0000959651 00000 n
+0000959716 00000 n
+0000959781 00000 n
+0000959846 00000 n
+0000959910 00000 n
+0000959975 00000 n
+0000960040 00000 n
+0000960105 00000 n
+0000960170 00000 n
+0000960235 00000 n
+0000960300 00000 n
+0000960365 00000 n
+0000960430 00000 n
+0000960494 00000 n
+0000960559 00000 n
+0000960624 00000 n
+0000960689 00000 n
+0000960754 00000 n
+0000960819 00000 n
+0000960884 00000 n
+0000960949 00000 n
+0000961014 00000 n
+0000961079 00000 n
+0000961144 00000 n
+0000961209 00000 n
+0000961274 00000 n
+0000961339 00000 n
+0000961404 00000 n
+0000961469 00000 n
+0000961534 00000 n
+0000961599 00000 n
+0000961664 00000 n
+0000961729 00000 n
+0000961794 00000 n
+0000961859 00000 n
+0000961924 00000 n
+0001889891 00000 n
+0000967690 00000 n
+0000963868 00000 n
+0000962192 00000 n
+0000963993 00000 n
+0000964057 00000 n
+0000964122 00000 n
+0000964187 00000 n
+0000964252 00000 n
+0000964317 00000 n
+0000964382 00000 n
+0000964447 00000 n
+0000964512 00000 n
+0000964577 00000 n
+0000964641 00000 n
+0000964706 00000 n
+0000964771 00000 n
+0000964836 00000 n
+0000964901 00000 n
+0000964966 00000 n
+0000965031 00000 n
+0000965096 00000 n
+0000965160 00000 n
+0000965225 00000 n
+0000965290 00000 n
+0000965355 00000 n
+0000965420 00000 n
+0000965485 00000 n
+0000965550 00000 n
+0000965615 00000 n
+0000965680 00000 n
+0000965744 00000 n
+0000965809 00000 n
+0000965874 00000 n
+0000965939 00000 n
+0000966004 00000 n
+0000966069 00000 n
+0000966134 00000 n
+0000966199 00000 n
+0000966264 00000 n
+0000966329 00000 n
+0000966394 00000 n
+0000966459 00000 n
+0000966524 00000 n
+0000966589 00000 n
+0000966654 00000 n
+0000966719 00000 n
+0000966783 00000 n
+0000966848 00000 n
+0000966913 00000 n
+0000966978 00000 n
+0000967043 00000 n
+0000967108 00000 n
+0000967173 00000 n
+0000967238 00000 n
+0000967302 00000 n
+0000967367 00000 n
+0000967432 00000 n
+0000967497 00000 n
+0000967562 00000 n
+0000967626 00000 n
+0000973816 00000 n
+0000969865 00000 n
+0000967867 00000 n
+0000969990 00000 n
+0000970054 00000 n
+0000970119 00000 n
+0000970184 00000 n
+0000970249 00000 n
+0000970313 00000 n
+0000970378 00000 n
+0000970443 00000 n
+0000970508 00000 n
+0000970573 00000 n
+0000970638 00000 n
+0000970703 00000 n
+0000970768 00000 n
+0000970833 00000 n
+0000970897 00000 n
+0000970962 00000 n
+0000971027 00000 n
+0000971092 00000 n
+0000971157 00000 n
+0000971222 00000 n
+0000971287 00000 n
+0000971352 00000 n
+0000971417 00000 n
+0000971481 00000 n
+0000971546 00000 n
+0000971611 00000 n
+0000971676 00000 n
+0000971741 00000 n
+0000971806 00000 n
+0000971871 00000 n
+0000971936 00000 n
+0000972001 00000 n
+0000972065 00000 n
+0000972130 00000 n
+0000972195 00000 n
+0000972260 00000 n
+0000972325 00000 n
+0000972390 00000 n
+0000972455 00000 n
+0000972520 00000 n
+0000972585 00000 n
+0000972649 00000 n
+0000972714 00000 n
+0000972779 00000 n
+0000972844 00000 n
+0000972909 00000 n
+0000972974 00000 n
+0000973039 00000 n
+0000973104 00000 n
+0000973169 00000 n
+0000973234 00000 n
+0000973299 00000 n
+0000973364 00000 n
+0000973428 00000 n
+0000973493 00000 n
+0000973558 00000 n
+0000973623 00000 n
+0000973688 00000 n
+0000973752 00000 n
+0000979861 00000 n
+0000976559 00000 n
+0000974006 00000 n
+0000976684 00000 n
+0000976748 00000 n
+0000976813 00000 n
+0000976878 00000 n
+0000976943 00000 n
+0000977008 00000 n
+0000977073 00000 n
+0000977138 00000 n
+0000977203 00000 n
+0000977268 00000 n
+0000977332 00000 n
+0000977397 00000 n
+0000977462 00000 n
+0000977527 00000 n
+0000977592 00000 n
+0000977657 00000 n
+0000977722 00000 n
+0000977786 00000 n
+0000977851 00000 n
+0000977916 00000 n
+0000977981 00000 n
+0000978046 00000 n
+0000978111 00000 n
+0000978176 00000 n
+0000978241 00000 n
+0000978306 00000 n
+0000978371 00000 n
+0000978435 00000 n
+0000978500 00000 n
+0000978565 00000 n
+0000978630 00000 n
+0000978695 00000 n
+0000978760 00000 n
+0000978825 00000 n
+0000978890 00000 n
+0000978955 00000 n
+0000979019 00000 n
+0000979084 00000 n
+0000979149 00000 n
+0000979214 00000 n
+0000979279 00000 n
+0000979344 00000 n
+0000979409 00000 n
+0000979474 00000 n
+0000979539 00000 n
+0000979603 00000 n
+0000979668 00000 n
+0000979733 00000 n
+0000979797 00000 n
+0000985694 00000 n
+0000982260 00000 n
+0000980038 00000 n
+0000982385 00000 n
+0000982449 00000 n
+0000982514 00000 n
+0000982579 00000 n
+0000982644 00000 n
+0000982709 00000 n
+0000982774 00000 n
+0000982839 00000 n
+0000982904 00000 n
+0000982969 00000 n
+0000983033 00000 n
+0000983098 00000 n
+0000983163 00000 n
+0000983228 00000 n
+0000983293 00000 n
+0000983358 00000 n
+0000983423 00000 n
+0000983488 00000 n
+0000983553 00000 n
+0000983618 00000 n
+0000983683 00000 n
+0000983748 00000 n
+0000983813 00000 n
+0000983878 00000 n
+0000983943 00000 n
+0000984007 00000 n
+0000984072 00000 n
+0000984137 00000 n
+0000984202 00000 n
+0000984267 00000 n
+0000984332 00000 n
+0000984397 00000 n
+0000984462 00000 n
+0000984527 00000 n
+0000984591 00000 n
+0000984656 00000 n
+0000984721 00000 n
+0000984786 00000 n
+0000984851 00000 n
+0000984916 00000 n
+0000984981 00000 n
+0000985046 00000 n
+0000985111 00000 n
+0000985175 00000 n
+0000985240 00000 n
+0000985305 00000 n
+0000985370 00000 n
+0000985435 00000 n
+0000985500 00000 n
+0000985565 00000 n
+0000985630 00000 n
+0000991580 00000 n
+0000987435 00000 n
+0000985871 00000 n
+0000987560 00000 n
+0000987624 00000 n
+0000987689 00000 n
+0000987754 00000 n
+0000987819 00000 n
+0000987884 00000 n
+0000987949 00000 n
+0000988014 00000 n
+0000988079 00000 n
+0000988143 00000 n
+0000988208 00000 n
+0000988273 00000 n
+0000988338 00000 n
+0000988403 00000 n
+0000988468 00000 n
+0000988533 00000 n
+0000988598 00000 n
+0000988663 00000 n
+0000988727 00000 n
+0000988792 00000 n
+0000988857 00000 n
+0000988922 00000 n
+0000988987 00000 n
+0000989052 00000 n
+0000989117 00000 n
+0000989182 00000 n
+0000989247 00000 n
+0000989312 00000 n
+0000989376 00000 n
+0000989441 00000 n
+0000989506 00000 n
+0000989571 00000 n
+0000989636 00000 n
+0000989701 00000 n
+0000989766 00000 n
+0000989831 00000 n
+0000989896 00000 n
+0000989959 00000 n
+0000990024 00000 n
+0000990089 00000 n
+0000990154 00000 n
+0000990219 00000 n
+0000990284 00000 n
+0000990349 00000 n
+0000990414 00000 n
+0000990479 00000 n
+0000990543 00000 n
+0000990608 00000 n
+0000990673 00000 n
+0000990738 00000 n
+0000990803 00000 n
+0000990868 00000 n
+0000990933 00000 n
+0000990998 00000 n
+0000991063 00000 n
+0000991128 00000 n
+0000991192 00000 n
+0000991257 00000 n
+0000991322 00000 n
+0000991387 00000 n
+0000991452 00000 n
+0000991516 00000 n
+0000997249 00000 n
+0000994726 00000 n
+0000991744 00000 n
+0000994851 00000 n
+0000994915 00000 n
+0000994980 00000 n
+0000995045 00000 n
+0000995110 00000 n
+0000995175 00000 n
+0000995240 00000 n
+0000995305 00000 n
+0000995370 00000 n
+0000995435 00000 n
+0000995499 00000 n
+0000995564 00000 n
+0000995629 00000 n
+0000995694 00000 n
+0000995759 00000 n
+0000995824 00000 n
+0000995889 00000 n
+0000995953 00000 n
+0000996018 00000 n
+0000996083 00000 n
+0000996148 00000 n
+0000996213 00000 n
+0000996278 00000 n
+0000996343 00000 n
+0000996408 00000 n
+0000996473 00000 n
+0000996537 00000 n
+0000996602 00000 n
+0000996667 00000 n
+0000996731 00000 n
+0000996796 00000 n
+0000996861 00000 n
+0000996926 00000 n
+0000996991 00000 n
+0000997056 00000 n
+0000997121 00000 n
+0000997185 00000 n
+0001003151 00000 n
+0000999784 00000 n
+0000997426 00000 n
+0000999909 00000 n
+0000999973 00000 n
+0001000038 00000 n
+0001000103 00000 n
+0001000168 00000 n
+0001000233 00000 n
+0001000298 00000 n
+0001000363 00000 n
+0001000427 00000 n
+0001000492 00000 n
+0001000557 00000 n
+0001000622 00000 n
+0001000687 00000 n
+0001000752 00000 n
+0001000817 00000 n
+0001000882 00000 n
+0001000946 00000 n
+0001001011 00000 n
+0001001076 00000 n
+0001001141 00000 n
+0001001206 00000 n
+0001001271 00000 n
+0001001336 00000 n
+0001001400 00000 n
+0001001465 00000 n
+0001001530 00000 n
+0001001595 00000 n
+0001001660 00000 n
+0001001725 00000 n
+0001001790 00000 n
+0001001855 00000 n
+0001001920 00000 n
+0001001984 00000 n
+0001002049 00000 n
+0001002114 00000 n
+0001002179 00000 n
+0001002244 00000 n
+0001002309 00000 n
+0001002374 00000 n
+0001002439 00000 n
+0001002504 00000 n
+0001002568 00000 n
+0001002633 00000 n
+0001002698 00000 n
+0001002763 00000 n
+0001002828 00000 n
+0001002893 00000 n
+0001002958 00000 n
+0001003023 00000 n
+0001003088 00000 n
+0001009291 00000 n
+0001005210 00000 n
+0001003328 00000 n
+0001005335 00000 n
+0001005399 00000 n
+0001005464 00000 n
+0001005529 00000 n
+0001005594 00000 n
+0001005659 00000 n
+0001005724 00000 n
+0001005788 00000 n
+0001005853 00000 n
+0001005918 00000 n
+0001005983 00000 n
+0001006048 00000 n
+0001006113 00000 n
+0001006178 00000 n
+0001006243 00000 n
+0001006308 00000 n
+0001006372 00000 n
+0001006437 00000 n
+0001006501 00000 n
+0001006566 00000 n
+0001006631 00000 n
+0001006696 00000 n
+0001006761 00000 n
+0001006826 00000 n
+0001006891 00000 n
+0001006956 00000 n
+0001007021 00000 n
+0001007085 00000 n
+0001007150 00000 n
+0001007215 00000 n
+0001007280 00000 n
+0001007345 00000 n
+0001007410 00000 n
+0001007475 00000 n
+0001007540 00000 n
+0001007605 00000 n
+0001007669 00000 n
+0001007734 00000 n
+0001007799 00000 n
+0001007864 00000 n
+0001007929 00000 n
+0001007994 00000 n
+0001008059 00000 n
+0001008124 00000 n
+0001008189 00000 n
+0001008254 00000 n
+0001008319 00000 n
+0001008384 00000 n
+0001008449 00000 n
+0001008514 00000 n
+0001008579 00000 n
+0001008644 00000 n
+0001008709 00000 n
+0001008774 00000 n
+0001008839 00000 n
+0001008903 00000 n
+0001008968 00000 n
+0001009033 00000 n
+0001009098 00000 n
+0001009163 00000 n
+0001009227 00000 n
+0001015460 00000 n
+0001011251 00000 n
+0001009468 00000 n
+0001011376 00000 n
+0001011440 00000 n
+0001011505 00000 n
+0001011570 00000 n
+0001011635 00000 n
+0001011700 00000 n
+0001011765 00000 n
+0001011830 00000 n
+0001011895 00000 n
+0001011960 00000 n
+0001012024 00000 n
+0001012089 00000 n
+0001012154 00000 n
+0001012219 00000 n
+0001012284 00000 n
+0001012349 00000 n
+0001012414 00000 n
+0001012479 00000 n
+0001012544 00000 n
+0001012608 00000 n
+0001012673 00000 n
+0001012738 00000 n
+0001012803 00000 n
+0001012868 00000 n
+0001012933 00000 n
+0001012998 00000 n
+0001013063 00000 n
+0001013128 00000 n
+0001013191 00000 n
+0001013256 00000 n
+0001013321 00000 n
+0001013386 00000 n
+0001013451 00000 n
+0001013516 00000 n
+0001013581 00000 n
+0001013646 00000 n
+0001013711 00000 n
+0001013775 00000 n
+0001013840 00000 n
+0001013905 00000 n
+0001013970 00000 n
+0001014035 00000 n
+0001014099 00000 n
+0001014164 00000 n
+0001014229 00000 n
+0001014294 00000 n
+0001014359 00000 n
+0001014424 00000 n
+0001014489 00000 n
+0001014554 00000 n
+0001014619 00000 n
+0001014683 00000 n
+0001014748 00000 n
+0001014813 00000 n
+0001014878 00000 n
+0001014943 00000 n
+0001015008 00000 n
+0001015073 00000 n
+0001015138 00000 n
+0001015203 00000 n
+0001015267 00000 n
+0001015332 00000 n
+0001015396 00000 n
+0001021053 00000 n
+0001017554 00000 n
+0001015624 00000 n
+0001017679 00000 n
+0001017743 00000 n
+0001017808 00000 n
+0001017873 00000 n
+0001017938 00000 n
+0001018003 00000 n
+0001018068 00000 n
+0001018133 00000 n
+0001018198 00000 n
+0001018263 00000 n
+0001018328 00000 n
+0001018393 00000 n
+0001018456 00000 n
+0001018521 00000 n
+0001018586 00000 n
+0001018651 00000 n
+0001018716 00000 n
+0001018781 00000 n
+0001018846 00000 n
+0001018911 00000 n
+0001018976 00000 n
+0001019041 00000 n
+0001019106 00000 n
+0001019171 00000 n
+0001019236 00000 n
+0001019301 00000 n
+0001019366 00000 n
+0001019431 00000 n
+0001019496 00000 n
+0001019561 00000 n
+0001019626 00000 n
+0001019691 00000 n
+0001019756 00000 n
+0001019821 00000 n
+0001019886 00000 n
+0001019951 00000 n
+0001020016 00000 n
+0001020081 00000 n
+0001020146 00000 n
+0001020211 00000 n
+0001020276 00000 n
+0001020341 00000 n
+0001020406 00000 n
+0001020471 00000 n
+0001020536 00000 n
+0001020601 00000 n
+0001020665 00000 n
+0001020730 00000 n
+0001020795 00000 n
+0001020860 00000 n
+0001020925 00000 n
+0001020989 00000 n
+0001890056 00000 n
+0001026899 00000 n
+0001022883 00000 n
+0001021230 00000 n
+0001023008 00000 n
+0001023072 00000 n
+0001023137 00000 n
+0001023202 00000 n
+0001023267 00000 n
+0001023332 00000 n
+0001023397 00000 n
+0001023462 00000 n
+0001023527 00000 n
+0001023592 00000 n
+0001023656 00000 n
+0001023721 00000 n
+0001023786 00000 n
+0001023851 00000 n
+0001023916 00000 n
+0001023981 00000 n
+0001024046 00000 n
+0001024111 00000 n
+0001024176 00000 n
+0001024241 00000 n
+0001024305 00000 n
+0001024370 00000 n
+0001024435 00000 n
+0001024500 00000 n
+0001024565 00000 n
+0001024630 00000 n
+0001024695 00000 n
+0001024760 00000 n
+0001024825 00000 n
+0001024889 00000 n
+0001024954 00000 n
+0001025019 00000 n
+0001025084 00000 n
+0001025149 00000 n
+0001025214 00000 n
+0001025279 00000 n
+0001025344 00000 n
+0001025409 00000 n
+0001025474 00000 n
+0001025539 00000 n
+0001025604 00000 n
+0001025669 00000 n
+0001025734 00000 n
+0001025799 00000 n
+0001025863 00000 n
+0001025928 00000 n
+0001025993 00000 n
+0001026058 00000 n
+0001026123 00000 n
+0001026187 00000 n
+0001026252 00000 n
+0001026317 00000 n
+0001026382 00000 n
+0001026447 00000 n
+0001026512 00000 n
+0001026577 00000 n
+0001026642 00000 n
+0001026707 00000 n
+0001026771 00000 n
+0001026835 00000 n
+0001032942 00000 n
+0001029250 00000 n
+0001027076 00000 n
+0001029375 00000 n
+0001029439 00000 n
+0001029504 00000 n
+0001029569 00000 n
+0001029634 00000 n
+0001029699 00000 n
+0001029764 00000 n
+0001029829 00000 n
+0001029894 00000 n
+0001029959 00000 n
+0001030024 00000 n
+0001030089 00000 n
+0001030154 00000 n
+0001030219 00000 n
+0001030284 00000 n
+0001030349 00000 n
+0001030414 00000 n
+0001030479 00000 n
+0001030543 00000 n
+0001030608 00000 n
+0001030673 00000 n
+0001030738 00000 n
+0001030803 00000 n
+0001030868 00000 n
+0001030933 00000 n
+0001030998 00000 n
+0001031063 00000 n
+0001031128 00000 n
+0001031192 00000 n
+0001031257 00000 n
+0001031322 00000 n
+0001031387 00000 n
+0001031452 00000 n
+0001031517 00000 n
+0001031582 00000 n
+0001031646 00000 n
+0001031711 00000 n
+0001031776 00000 n
+0001031841 00000 n
+0001031906 00000 n
+0001031971 00000 n
+0001032036 00000 n
+0001032101 00000 n
+0001032166 00000 n
+0001032230 00000 n
+0001032295 00000 n
+0001032360 00000 n
+0001032425 00000 n
+0001032490 00000 n
+0001032555 00000 n
+0001032620 00000 n
+0001032685 00000 n
+0001032750 00000 n
+0001032814 00000 n
+0001032878 00000 n
+0001039043 00000 n
+0001035157 00000 n
+0001033119 00000 n
+0001035282 00000 n
+0001035346 00000 n
+0001035411 00000 n
+0001035476 00000 n
+0001035541 00000 n
+0001035606 00000 n
+0001035671 00000 n
+0001035736 00000 n
+0001035801 00000 n
+0001035866 00000 n
+0001035930 00000 n
+0001035995 00000 n
+0001036060 00000 n
+0001036125 00000 n
+0001036190 00000 n
+0001036255 00000 n
+0001036320 00000 n
+0001036385 00000 n
+0001036450 00000 n
+0001036515 00000 n
+0001036580 00000 n
+0001036644 00000 n
+0001036709 00000 n
+0001036774 00000 n
+0001036839 00000 n
+0001036904 00000 n
+0001036969 00000 n
+0001037034 00000 n
+0001037099 00000 n
+0001037163 00000 n
+0001037228 00000 n
+0001037293 00000 n
+0001037358 00000 n
+0001037423 00000 n
+0001037488 00000 n
+0001037553 00000 n
+0001037618 00000 n
+0001037683 00000 n
+0001037747 00000 n
+0001037812 00000 n
+0001037877 00000 n
+0001037942 00000 n
+0001038007 00000 n
+0001038072 00000 n
+0001038137 00000 n
+0001038202 00000 n
+0001038267 00000 n
+0001038331 00000 n
+0001038396 00000 n
+0001038461 00000 n
+0001038526 00000 n
+0001038591 00000 n
+0001038656 00000 n
+0001038721 00000 n
+0001038786 00000 n
+0001038851 00000 n
+0001038915 00000 n
+0001038979 00000 n
+0001045178 00000 n
+0001041226 00000 n
+0001039220 00000 n
+0001041351 00000 n
+0001041415 00000 n
+0001041480 00000 n
+0001041545 00000 n
+0001041610 00000 n
+0001041675 00000 n
+0001041740 00000 n
+0001041805 00000 n
+0001041870 00000 n
+0001041935 00000 n
+0001041999 00000 n
+0001042064 00000 n
+0001042129 00000 n
+0001042194 00000 n
+0001042259 00000 n
+0001042324 00000 n
+0001042389 00000 n
+0001042454 00000 n
+0001042519 00000 n
+0001042584 00000 n
+0001042649 00000 n
+0001042714 00000 n
+0001042779 00000 n
+0001042844 00000 n
+0001042909 00000 n
+0001042974 00000 n
+0001043038 00000 n
+0001043103 00000 n
+0001043168 00000 n
+0001043233 00000 n
+0001043298 00000 n
+0001043363 00000 n
+0001043428 00000 n
+0001043493 00000 n
+0001043558 00000 n
+0001043622 00000 n
+0001043687 00000 n
+0001043752 00000 n
+0001043817 00000 n
+0001043882 00000 n
+0001043947 00000 n
+0001044012 00000 n
+0001044077 00000 n
+0001044142 00000 n
+0001044207 00000 n
+0001044272 00000 n
+0001044336 00000 n
+0001044401 00000 n
+0001044466 00000 n
+0001044531 00000 n
+0001044596 00000 n
+0001044661 00000 n
+0001044726 00000 n
+0001044791 00000 n
+0001044856 00000 n
+0001044921 00000 n
+0001044985 00000 n
+0001045050 00000 n
+0001045114 00000 n
+0001050984 00000 n
+0001047289 00000 n
+0001045355 00000 n
+0001047414 00000 n
+0001047478 00000 n
+0001047543 00000 n
+0001047608 00000 n
+0001047673 00000 n
+0001047737 00000 n
+0001047802 00000 n
+0001047867 00000 n
+0001047932 00000 n
+0001047997 00000 n
+0001048062 00000 n
+0001048127 00000 n
+0001048192 00000 n
+0001048257 00000 n
+0001048321 00000 n
+0001048386 00000 n
+0001048451 00000 n
+0001048516 00000 n
+0001048581 00000 n
+0001048646 00000 n
+0001048711 00000 n
+0001048775 00000 n
+0001048840 00000 n
+0001048905 00000 n
+0001048970 00000 n
+0001049035 00000 n
+0001049100 00000 n
+0001049165 00000 n
+0001049230 00000 n
+0001049295 00000 n
+0001049360 00000 n
+0001049425 00000 n
+0001049490 00000 n
+0001049555 00000 n
+0001049620 00000 n
+0001049685 00000 n
+0001049750 00000 n
+0001049815 00000 n
+0001049880 00000 n
+0001049945 00000 n
+0001050010 00000 n
+0001050075 00000 n
+0001050140 00000 n
+0001050205 00000 n
+0001050270 00000 n
+0001050335 00000 n
+0001050400 00000 n
+0001050465 00000 n
+0001050530 00000 n
+0001050595 00000 n
+0001050660 00000 n
+0001050725 00000 n
+0001050789 00000 n
+0001050854 00000 n
+0001050919 00000 n
+0001056697 00000 n
+0001053264 00000 n
+0001051148 00000 n
+0001053389 00000 n
+0001053453 00000 n
+0001053518 00000 n
+0001053583 00000 n
+0001053648 00000 n
+0001053713 00000 n
+0001053778 00000 n
+0001053843 00000 n
+0001053908 00000 n
+0001053973 00000 n
+0001054038 00000 n
+0001054103 00000 n
+0001054168 00000 n
+0001054233 00000 n
+0001054298 00000 n
+0001054363 00000 n
+0001054428 00000 n
+0001054492 00000 n
+0001054557 00000 n
+0001054622 00000 n
+0001054687 00000 n
+0001054752 00000 n
+0001054817 00000 n
+0001054882 00000 n
+0001054947 00000 n
+0001055012 00000 n
+0001055077 00000 n
+0001055142 00000 n
+0001055207 00000 n
+0001055272 00000 n
+0001055337 00000 n
+0001055402 00000 n
+0001055467 00000 n
+0001055532 00000 n
+0001055597 00000 n
+0001055662 00000 n
+0001055727 00000 n
+0001055855 00000 n
+0001055920 00000 n
+0001055985 00000 n
+0001056050 00000 n
+0001056115 00000 n
+0001056180 00000 n
+0001056245 00000 n
+0001056310 00000 n
+0001056374 00000 n
+0001056439 00000 n
+0001056504 00000 n
+0001056569 00000 n
+0001056633 00000 n
+0001062584 00000 n
+0001059022 00000 n
+0001056887 00000 n
+0001059147 00000 n
+0001059211 00000 n
+0001059276 00000 n
+0001059341 00000 n
+0001059406 00000 n
+0001059471 00000 n
+0001059599 00000 n
+0001059663 00000 n
+0001059728 00000 n
+0001059793 00000 n
+0001059858 00000 n
+0001059923 00000 n
+0001059988 00000 n
+0001060053 00000 n
+0001060118 00000 n
+0001060183 00000 n
+0001060247 00000 n
+0001060312 00000 n
+0001060377 00000 n
+0001060442 00000 n
+0001060507 00000 n
+0001060572 00000 n
+0001060637 00000 n
+0001060702 00000 n
+0001060767 00000 n
+0001060832 00000 n
+0001060897 00000 n
+0001060962 00000 n
+0001061027 00000 n
+0001061092 00000 n
+0001061157 00000 n
+0001061222 00000 n
+0001061287 00000 n
+0001061352 00000 n
+0001061417 00000 n
+0001061482 00000 n
+0001061547 00000 n
+0001061612 00000 n
+0001061677 00000 n
+0001061742 00000 n
+0001061807 00000 n
+0001061872 00000 n
+0001061936 00000 n
+0001062001 00000 n
+0001062066 00000 n
+0001062131 00000 n
+0001062196 00000 n
+0001062261 00000 n
+0001062326 00000 n
+0001062391 00000 n
+0001062456 00000 n
+0001062520 00000 n
+0001067746 00000 n
+0001064903 00000 n
+0001062761 00000 n
+0001065028 00000 n
+0001065092 00000 n
+0001065157 00000 n
+0001065222 00000 n
+0001065287 00000 n
+0001065352 00000 n
+0001065417 00000 n
+0001065482 00000 n
+0001065547 00000 n
+0001065612 00000 n
+0001065677 00000 n
+0001065741 00000 n
+0001065806 00000 n
+0001065871 00000 n
+0001065936 00000 n
+0001066001 00000 n
+0001066066 00000 n
+0001066131 00000 n
+0001066196 00000 n
+0001066261 00000 n
+0001066326 00000 n
+0001066391 00000 n
+0001066456 00000 n
+0001066521 00000 n
+0001066586 00000 n
+0001066651 00000 n
+0001066779 00000 n
+0001066843 00000 n
+0001066908 00000 n
+0001066973 00000 n
+0001067038 00000 n
+0001067103 00000 n
+0001067168 00000 n
+0001067232 00000 n
+0001067360 00000 n
+0001067423 00000 n
+0001067488 00000 n
+0001067553 00000 n
+0001067618 00000 n
+0001067682 00000 n
+0001073450 00000 n
+0001070410 00000 n
+0001067936 00000 n
+0001070535 00000 n
+0001070599 00000 n
+0001070664 00000 n
+0001070729 00000 n
+0001070794 00000 n
+0001070859 00000 n
+0001070923 00000 n
+0001070988 00000 n
+0001071053 00000 n
+0001071118 00000 n
+0001071183 00000 n
+0001071248 00000 n
+0001071313 00000 n
+0001071377 00000 n
+0001071442 00000 n
+0001071507 00000 n
+0001071571 00000 n
+0001071636 00000 n
+0001071701 00000 n
+0001071765 00000 n
+0001071830 00000 n
+0001071895 00000 n
+0001071960 00000 n
+0001072025 00000 n
+0001072090 00000 n
+0001072155 00000 n
+0001072220 00000 n
+0001072285 00000 n
+0001072349 00000 n
+0001072414 00000 n
+0001072479 00000 n
+0001072544 00000 n
+0001072609 00000 n
+0001072674 00000 n
+0001072739 00000 n
+0001072803 00000 n
+0001072868 00000 n
+0001072933 00000 n
+0001072998 00000 n
+0001073063 00000 n
+0001073128 00000 n
+0001073193 00000 n
+0001073258 00000 n
+0001073323 00000 n
+0001073386 00000 n
+0001076069 00000 n
+0001078428 00000 n
+0001075896 00000 n
+0001073627 00000 n
+0001076226 00000 n
+0001076290 00000 n
+0001076355 00000 n
+0001076420 00000 n
+0001076485 00000 n
+0001076550 00000 n
+0001076615 00000 n
+0001076680 00000 n
+0001076745 00000 n
+0001076810 00000 n
+0001076874 00000 n
+0001076939 00000 n
+0001077004 00000 n
+0001077069 00000 n
+0001077134 00000 n
+0001077199 00000 n
+0001077327 00000 n
+0001077392 00000 n
+0001077456 00000 n
+0001077521 00000 n
+0001077586 00000 n
+0001077651 00000 n
+0001077716 00000 n
+0001077781 00000 n
+0001077846 00000 n
+0001077911 00000 n
+0001077976 00000 n
+0001078041 00000 n
+0001078106 00000 n
+0001078171 00000 n
+0001078235 00000 n
+0001078300 00000 n
+0001890221 00000 n
+0001076038 00000 n
+0001084174 00000 n
+0001081391 00000 n
+0001078631 00000 n
+0001081516 00000 n
+0001081580 00000 n
+0001081645 00000 n
+0001081710 00000 n
+0001081775 00000 n
+0001081840 00000 n
+0001081905 00000 n
+0001081970 00000 n
+0001082034 00000 n
+0001082099 00000 n
+0001082164 00000 n
+0001082229 00000 n
+0001082294 00000 n
+0001082358 00000 n
+0001082423 00000 n
+0001082488 00000 n
+0001082553 00000 n
+0001082618 00000 n
+0001082683 00000 n
+0001082748 00000 n
+0001082813 00000 n
+0001082878 00000 n
+0001082942 00000 n
+0001083007 00000 n
+0001083072 00000 n
+0001083137 00000 n
+0001083202 00000 n
+0001083267 00000 n
+0001083332 00000 n
+0001083397 00000 n
+0001083462 00000 n
+0001083527 00000 n
+0001083592 00000 n
+0001083656 00000 n
+0001083721 00000 n
+0001083786 00000 n
+0001083851 00000 n
+0001083916 00000 n
+0001083981 00000 n
+0001084046 00000 n
+0001084110 00000 n
+0001089794 00000 n
+0001086041 00000 n
+0001084390 00000 n
+0001086166 00000 n
+0001086230 00000 n
+0001086295 00000 n
+0001086360 00000 n
+0001086425 00000 n
+0001086490 00000 n
+0001086555 00000 n
+0001086620 00000 n
+0001086685 00000 n
+0001086750 00000 n
+0001086814 00000 n
+0001086879 00000 n
+0001086944 00000 n
+0001087009 00000 n
+0001087074 00000 n
+0001087139 00000 n
+0001087265 00000 n
+0001087330 00000 n
+0001087395 00000 n
+0001087460 00000 n
+0001087525 00000 n
+0001087589 00000 n
+0001087654 00000 n
+0001087719 00000 n
+0001087784 00000 n
+0001087849 00000 n
+0001087914 00000 n
+0001087979 00000 n
+0001088044 00000 n
+0001088109 00000 n
+0001088173 00000 n
+0001088238 00000 n
+0001088303 00000 n
+0001088368 00000 n
+0001088433 00000 n
+0001088498 00000 n
+0001088563 00000 n
+0001088628 00000 n
+0001088693 00000 n
+0001088757 00000 n
+0001088822 00000 n
+0001088887 00000 n
+0001088952 00000 n
+0001089017 00000 n
+0001089082 00000 n
+0001089147 00000 n
+0001089212 00000 n
+0001089276 00000 n
+0001089341 00000 n
+0001089406 00000 n
+0001089471 00000 n
+0001089536 00000 n
+0001089601 00000 n
+0001089666 00000 n
+0001089730 00000 n
+0001095697 00000 n
+0001091937 00000 n
+0001089971 00000 n
+0001092062 00000 n
+0001092126 00000 n
+0001092191 00000 n
+0001092256 00000 n
+0001092321 00000 n
+0001092386 00000 n
+0001092451 00000 n
+0001092516 00000 n
+0001092581 00000 n
+0001092646 00000 n
+0001092710 00000 n
+0001092775 00000 n
+0001092840 00000 n
+0001092905 00000 n
+0001092970 00000 n
+0001093035 00000 n
+0001093100 00000 n
+0001093165 00000 n
+0001093230 00000 n
+0001093294 00000 n
+0001093359 00000 n
+0001093424 00000 n
+0001093489 00000 n
+0001093554 00000 n
+0001093619 00000 n
+0001093684 00000 n
+0001093749 00000 n
+0001093814 00000 n
+0001093879 00000 n
+0001093944 00000 n
+0001094009 00000 n
+0001094073 00000 n
+0001094138 00000 n
+0001094203 00000 n
+0001094268 00000 n
+0001094333 00000 n
+0001094398 00000 n
+0001094463 00000 n
+0001094528 00000 n
+0001094593 00000 n
+0001094658 00000 n
+0001094722 00000 n
+0001094787 00000 n
+0001094852 00000 n
+0001094917 00000 n
+0001094982 00000 n
+0001095047 00000 n
+0001095112 00000 n
+0001095177 00000 n
+0001095242 00000 n
+0001095307 00000 n
+0001095372 00000 n
+0001095437 00000 n
+0001095502 00000 n
+0001095567 00000 n
+0001095632 00000 n
+0001101161 00000 n
+0001098118 00000 n
+0001095874 00000 n
+0001098243 00000 n
+0001098307 00000 n
+0001098372 00000 n
+0001098437 00000 n
+0001098502 00000 n
+0001098567 00000 n
+0001098632 00000 n
+0001098697 00000 n
+0001098762 00000 n
+0001098827 00000 n
+0001098891 00000 n
+0001098956 00000 n
+0001099021 00000 n
+0001099086 00000 n
+0001099151 00000 n
+0001099216 00000 n
+0001099281 00000 n
+0001099346 00000 n
+0001099411 00000 n
+0001099476 00000 n
+0001099541 00000 n
+0001099606 00000 n
+0001099670 00000 n
+0001099735 00000 n
+0001099800 00000 n
+0001099865 00000 n
+0001099930 00000 n
+0001099995 00000 n
+0001100060 00000 n
+0001100125 00000 n
+0001100190 00000 n
+0001100254 00000 n
+0001100319 00000 n
+0001100384 00000 n
+0001100449 00000 n
+0001100514 00000 n
+0001100579 00000 n
+0001100644 00000 n
+0001100709 00000 n
+0001100773 00000 n
+0001100838 00000 n
+0001100903 00000 n
+0001100968 00000 n
+0001101033 00000 n
+0001101097 00000 n
+0001107307 00000 n
+0001103291 00000 n
+0001101351 00000 n
+0001103416 00000 n
+0001103480 00000 n
+0001103545 00000 n
+0001103610 00000 n
+0001103675 00000 n
+0001103740 00000 n
+0001103805 00000 n
+0001103870 00000 n
+0001103935 00000 n
+0001104000 00000 n
+0001104065 00000 n
+0001104130 00000 n
+0001104194 00000 n
+0001104259 00000 n
+0001104324 00000 n
+0001104389 00000 n
+0001104454 00000 n
+0001104519 00000 n
+0001104584 00000 n
+0001104649 00000 n
+0001104714 00000 n
+0001104778 00000 n
+0001104843 00000 n
+0001104908 00000 n
+0001104973 00000 n
+0001105038 00000 n
+0001105103 00000 n
+0001105168 00000 n
+0001105233 00000 n
+0001105298 00000 n
+0001105362 00000 n
+0001105427 00000 n
+0001105492 00000 n
+0001105557 00000 n
+0001105622 00000 n
+0001105687 00000 n
+0001105752 00000 n
+0001105817 00000 n
+0001105881 00000 n
+0001105946 00000 n
+0001106011 00000 n
+0001106076 00000 n
+0001106141 00000 n
+0001106206 00000 n
+0001106271 00000 n
+0001106336 00000 n
+0001106401 00000 n
+0001106465 00000 n
+0001106530 00000 n
+0001106595 00000 n
+0001106660 00000 n
+0001106725 00000 n
+0001106790 00000 n
+0001106855 00000 n
+0001106920 00000 n
+0001106985 00000 n
+0001107049 00000 n
+0001107114 00000 n
+0001107179 00000 n
+0001107243 00000 n
+0001113058 00000 n
+0001109691 00000 n
+0001107471 00000 n
+0001109816 00000 n
+0001109880 00000 n
+0001109945 00000 n
+0001110010 00000 n
+0001110075 00000 n
+0001110140 00000 n
+0001110205 00000 n
+0001110270 00000 n
+0001110335 00000 n
+0001110400 00000 n
+0001110464 00000 n
+0001110529 00000 n
+0001110594 00000 n
+0001110659 00000 n
+0001110724 00000 n
+0001110789 00000 n
+0001110854 00000 n
+0001110918 00000 n
+0001110983 00000 n
+0001111048 00000 n
+0001111112 00000 n
+0001111177 00000 n
+0001111242 00000 n
+0001111307 00000 n
+0001111372 00000 n
+0001111437 00000 n
+0001111502 00000 n
+0001111567 00000 n
+0001111632 00000 n
+0001111697 00000 n
+0001111762 00000 n
+0001111826 00000 n
+0001111891 00000 n
+0001111956 00000 n
+0001112021 00000 n
+0001112086 00000 n
+0001112149 00000 n
+0001112214 00000 n
+0001112279 00000 n
+0001112344 00000 n
+0001112409 00000 n
+0001112474 00000 n
+0001112539 00000 n
+0001112604 00000 n
+0001112669 00000 n
+0001112733 00000 n
+0001112798 00000 n
+0001112863 00000 n
+0001112928 00000 n
+0001112993 00000 n
+0001118875 00000 n
+0001115380 00000 n
+0001113222 00000 n
+0001115505 00000 n
+0001115569 00000 n
+0001115634 00000 n
+0001115699 00000 n
+0001115764 00000 n
+0001115829 00000 n
+0001115894 00000 n
+0001115959 00000 n
+0001116024 00000 n
+0001116089 00000 n
+0001116153 00000 n
+0001116218 00000 n
+0001116283 00000 n
+0001116348 00000 n
+0001116413 00000 n
+0001116476 00000 n
+0001116541 00000 n
+0001116606 00000 n
+0001116671 00000 n
+0001116736 00000 n
+0001116801 00000 n
+0001116866 00000 n
+0001116931 00000 n
+0001116996 00000 n
+0001117061 00000 n
+0001117126 00000 n
+0001117190 00000 n
+0001117255 00000 n
+0001117320 00000 n
+0001117385 00000 n
+0001117450 00000 n
+0001117515 00000 n
+0001117580 00000 n
+0001117645 00000 n
+0001117710 00000 n
+0001117774 00000 n
+0001117839 00000 n
+0001117904 00000 n
+0001117969 00000 n
+0001118034 00000 n
+0001118098 00000 n
+0001118163 00000 n
+0001118228 00000 n
+0001118293 00000 n
+0001118358 00000 n
+0001118423 00000 n
+0001118488 00000 n
+0001118553 00000 n
+0001118618 00000 n
+0001118683 00000 n
+0001118747 00000 n
+0001118811 00000 n
+0001124250 00000 n
+0001121788 00000 n
+0001119052 00000 n
+0001121913 00000 n
+0001121977 00000 n
+0001122042 00000 n
+0001122107 00000 n
+0001122172 00000 n
+0001122237 00000 n
+0001122302 00000 n
+0001122367 00000 n
+0001122432 00000 n
+0001122497 00000 n
+0001122561 00000 n
+0001122626 00000 n
+0001122691 00000 n
+0001122756 00000 n
+0001122821 00000 n
+0001122886 00000 n
+0001122951 00000 n
+0001123016 00000 n
+0001123081 00000 n
+0001123146 00000 n
+0001123211 00000 n
+0001123276 00000 n
+0001123341 00000 n
+0001123406 00000 n
+0001123470 00000 n
+0001123535 00000 n
+0001123600 00000 n
+0001123665 00000 n
+0001123730 00000 n
+0001123795 00000 n
+0001123860 00000 n
+0001123925 00000 n
+0001123990 00000 n
+0001124055 00000 n
+0001124120 00000 n
+0001124185 00000 n
+0001130188 00000 n
+0001127014 00000 n
+0001124440 00000 n
+0001127139 00000 n
+0001127203 00000 n
+0001127268 00000 n
+0001127333 00000 n
+0001127398 00000 n
+0001127463 00000 n
+0001127527 00000 n
+0001127592 00000 n
+0001127657 00000 n
+0001127722 00000 n
+0001127787 00000 n
+0001127852 00000 n
+0001127917 00000 n
+0001127982 00000 n
+0001128046 00000 n
+0001128111 00000 n
+0001128176 00000 n
+0001128241 00000 n
+0001128306 00000 n
+0001128371 00000 n
+0001128436 00000 n
+0001128501 00000 n
+0001128566 00000 n
+0001128631 00000 n
+0001128696 00000 n
+0001128761 00000 n
+0001128826 00000 n
+0001128891 00000 n
+0001128956 00000 n
+0001129021 00000 n
+0001129086 00000 n
+0001129151 00000 n
+0001129216 00000 n
+0001129281 00000 n
+0001129346 00000 n
+0001129411 00000 n
+0001129476 00000 n
+0001129541 00000 n
+0001129606 00000 n
+0001129671 00000 n
+0001129736 00000 n
+0001129800 00000 n
+0001129865 00000 n
+0001129930 00000 n
+0001129995 00000 n
+0001130060 00000 n
+0001130124 00000 n
+0001135749 00000 n
+0001132323 00000 n
+0001130365 00000 n
+0001132448 00000 n
+0001132512 00000 n
+0001132577 00000 n
+0001132642 00000 n
+0001132707 00000 n
+0001132772 00000 n
+0001132837 00000 n
+0001132901 00000 n
+0001132966 00000 n
+0001133031 00000 n
+0001133096 00000 n
+0001133161 00000 n
+0001133226 00000 n
+0001133291 00000 n
+0001133356 00000 n
+0001133421 00000 n
+0001133482 00000 n
+0001133547 00000 n
+0001133612 00000 n
+0001133677 00000 n
+0001133742 00000 n
+0001133807 00000 n
+0001133872 00000 n
+0001133937 00000 n
+0001134002 00000 n
+0001134066 00000 n
+0001134131 00000 n
+0001134196 00000 n
+0001134261 00000 n
+0001134389 00000 n
+0001134453 00000 n
+0001134518 00000 n
+0001134583 00000 n
+0001134648 00000 n
+0001134713 00000 n
+0001134777 00000 n
+0001134842 00000 n
+0001134907 00000 n
+0001134972 00000 n
+0001135037 00000 n
+0001135102 00000 n
+0001135167 00000 n
+0001135232 00000 n
+0001135297 00000 n
+0001135361 00000 n
+0001135426 00000 n
+0001135491 00000 n
+0001135556 00000 n
+0001135621 00000 n
+0001135685 00000 n
+0001890386 00000 n
+0001142147 00000 n
+0001138184 00000 n
+0001135926 00000 n
+0001138309 00000 n
+0001138373 00000 n
+0001138438 00000 n
+0001138503 00000 n
+0001138568 00000 n
+0001138633 00000 n
+0001138698 00000 n
+0001138763 00000 n
+0001138828 00000 n
+0001138893 00000 n
+0001138957 00000 n
+0001139022 00000 n
+0001139087 00000 n
+0001139152 00000 n
+0001139217 00000 n
+0001139282 00000 n
+0001139346 00000 n
+0001139411 00000 n
+0001139476 00000 n
+0001139541 00000 n
+0001139606 00000 n
+0001139671 00000 n
+0001139736 00000 n
+0001139801 00000 n
+0001139866 00000 n
+0001139930 00000 n
+0001139995 00000 n
+0001140060 00000 n
+0001140125 00000 n
+0001140190 00000 n
+0001140255 00000 n
+0001140320 00000 n
+0001140385 00000 n
+0001140450 00000 n
+0001140514 00000 n
+0001140579 00000 n
+0001140644 00000 n
+0001140709 00000 n
+0001140774 00000 n
+0001140839 00000 n
+0001140904 00000 n
+0001140969 00000 n
+0001141034 00000 n
+0001141099 00000 n
+0001141164 00000 n
+0001141229 00000 n
+0001141294 00000 n
+0001141359 00000 n
+0001141424 00000 n
+0001141490 00000 n
+0001141556 00000 n
+0001141622 00000 n
+0001141688 00000 n
+0001141753 00000 n
+0001141819 00000 n
+0001141885 00000 n
+0001141951 00000 n
+0001142017 00000 n
+0001142082 00000 n
+0001148152 00000 n
+0001144012 00000 n
+0001142337 00000 n
+0001144140 00000 n
+0001144206 00000 n
+0001144273 00000 n
+0001144340 00000 n
+0001144407 00000 n
+0001144474 00000 n
+0001144541 00000 n
+0001144608 00000 n
+0001144675 00000 n
+0001144742 00000 n
+0001144808 00000 n
+0001144875 00000 n
+0001144942 00000 n
+0001145009 00000 n
+0001145076 00000 n
+0001145143 00000 n
+0001145210 00000 n
+0001145277 00000 n
+0001145344 00000 n
+0001145410 00000 n
+0001145477 00000 n
+0001145544 00000 n
+0001145611 00000 n
+0001145678 00000 n
+0001145745 00000 n
+0001145812 00000 n
+0001145879 00000 n
+0001145946 00000 n
+0001146012 00000 n
+0001146079 00000 n
+0001146146 00000 n
+0001146213 00000 n
+0001146280 00000 n
+0001146347 00000 n
+0001146414 00000 n
+0001146481 00000 n
+0001146548 00000 n
+0001146614 00000 n
+0001146681 00000 n
+0001146748 00000 n
+0001146815 00000 n
+0001146882 00000 n
+0001146949 00000 n
+0001147016 00000 n
+0001147083 00000 n
+0001147150 00000 n
+0001147216 00000 n
+0001147283 00000 n
+0001147350 00000 n
+0001147417 00000 n
+0001147484 00000 n
+0001147551 00000 n
+0001147618 00000 n
+0001147685 00000 n
+0001147752 00000 n
+0001147819 00000 n
+0001147886 00000 n
+0001147953 00000 n
+0001148020 00000 n
+0001148086 00000 n
+0001153840 00000 n
+0001149838 00000 n
+0001148304 00000 n
+0001149966 00000 n
+0001150032 00000 n
+0001150099 00000 n
+0001150166 00000 n
+0001150233 00000 n
+0001150300 00000 n
+0001150367 00000 n
+0001150434 00000 n
+0001150501 00000 n
+0001150568 00000 n
+0001150634 00000 n
+0001150701 00000 n
+0001150768 00000 n
+0001150835 00000 n
+0001150902 00000 n
+0001150969 00000 n
+0001151036 00000 n
+0001151103 00000 n
+0001151170 00000 n
+0001151236 00000 n
+0001151303 00000 n
+0001151370 00000 n
+0001151437 00000 n
+0001151504 00000 n
+0001151571 00000 n
+0001151638 00000 n
+0001151705 00000 n
+0001151772 00000 n
+0001151837 00000 n
+0001151904 00000 n
+0001151971 00000 n
+0001152038 00000 n
+0001152105 00000 n
+0001152172 00000 n
+0001152239 00000 n
+0001152370 00000 n
+0001152437 00000 n
+0001152504 00000 n
+0001152571 00000 n
+0001152638 00000 n
+0001152705 00000 n
+0001152772 00000 n
+0001152839 00000 n
+0001152905 00000 n
+0001152972 00000 n
+0001153039 00000 n
+0001153106 00000 n
+0001153173 00000 n
+0001153240 00000 n
+0001153307 00000 n
+0001153374 00000 n
+0001153441 00000 n
+0001153507 00000 n
+0001153574 00000 n
+0001153641 00000 n
+0001153708 00000 n
+0001153774 00000 n
+0001160077 00000 n
+0001155805 00000 n
+0001154005 00000 n
+0001155933 00000 n
+0001155999 00000 n
+0001156066 00000 n
+0001156133 00000 n
+0001156200 00000 n
+0001156267 00000 n
+0001156334 00000 n
+0001156401 00000 n
+0001156468 00000 n
+0001156535 00000 n
+0001156602 00000 n
+0001156668 00000 n
+0001156735 00000 n
+0001156802 00000 n
+0001156869 00000 n
+0001156936 00000 n
+0001157003 00000 n
+0001157070 00000 n
+0001157137 00000 n
+0001157204 00000 n
+0001157270 00000 n
+0001157337 00000 n
+0001157404 00000 n
+0001157471 00000 n
+0001157538 00000 n
+0001157605 00000 n
+0001157672 00000 n
+0001157739 00000 n
+0001157806 00000 n
+0001157872 00000 n
+0001157939 00000 n
+0001158006 00000 n
+0001158073 00000 n
+0001158140 00000 n
+0001158207 00000 n
+0001158274 00000 n
+0001158341 00000 n
+0001158408 00000 n
+0001158474 00000 n
+0001158541 00000 n
+0001158608 00000 n
+0001158675 00000 n
+0001158742 00000 n
+0001158809 00000 n
+0001158876 00000 n
+0001158943 00000 n
+0001159010 00000 n
+0001159077 00000 n
+0001159143 00000 n
+0001159210 00000 n
+0001159277 00000 n
+0001159344 00000 n
+0001159411 00000 n
+0001159478 00000 n
+0001159545 00000 n
+0001159612 00000 n
+0001159679 00000 n
+0001159744 00000 n
+0001159811 00000 n
+0001159878 00000 n
+0001159945 00000 n
+0001160011 00000 n
+0001166123 00000 n
+0001161922 00000 n
+0001160255 00000 n
+0001162050 00000 n
+0001162116 00000 n
+0001162183 00000 n
+0001162250 00000 n
+0001162317 00000 n
+0001162384 00000 n
+0001162451 00000 n
+0001162518 00000 n
+0001162585 00000 n
+0001162652 00000 n
+0001162782 00000 n
+0001162849 00000 n
+0001162916 00000 n
+0001162983 00000 n
+0001163049 00000 n
+0001163116 00000 n
+0001163183 00000 n
+0001163250 00000 n
+0001163317 00000 n
+0001163384 00000 n
+0001163451 00000 n
+0001163518 00000 n
+0001163585 00000 n
+0001163651 00000 n
+0001163718 00000 n
+0001163785 00000 n
+0001163852 00000 n
+0001163919 00000 n
+0001163986 00000 n
+0001164053 00000 n
+0001164120 00000 n
+0001164187 00000 n
+0001164252 00000 n
+0001164319 00000 n
+0001164386 00000 n
+0001164453 00000 n
+0001164520 00000 n
+0001164587 00000 n
+0001164654 00000 n
+0001164721 00000 n
+0001164788 00000 n
+0001164855 00000 n
+0001164921 00000 n
+0001164988 00000 n
+0001165055 00000 n
+0001165122 00000 n
+0001165189 00000 n
+0001165256 00000 n
+0001165323 00000 n
+0001165390 00000 n
+0001165457 00000 n
+0001165523 00000 n
+0001165590 00000 n
+0001165657 00000 n
+0001165724 00000 n
+0001165791 00000 n
+0001165858 00000 n
+0001165925 00000 n
+0001165992 00000 n
+0001166058 00000 n
+0001172326 00000 n
+0001167920 00000 n
+0001166288 00000 n
+0001168048 00000 n
+0001168114 00000 n
+0001168181 00000 n
+0001168248 00000 n
+0001168315 00000 n
+0001168382 00000 n
+0001168449 00000 n
+0001168516 00000 n
+0001168583 00000 n
+0001168650 00000 n
+0001168716 00000 n
+0001168783 00000 n
+0001168850 00000 n
+0001168917 00000 n
+0001168984 00000 n
+0001169051 00000 n
+0001169118 00000 n
+0001169185 00000 n
+0001169252 00000 n
+0001169319 00000 n
+0001169385 00000 n
+0001169452 00000 n
+0001169519 00000 n
+0001169586 00000 n
+0001169653 00000 n
+0001169720 00000 n
+0001169787 00000 n
+0001169854 00000 n
+0001169921 00000 n
+0001169987 00000 n
+0001170054 00000 n
+0001170121 00000 n
+0001170188 00000 n
+0001170255 00000 n
+0001170322 00000 n
+0001170389 00000 n
+0001170456 00000 n
+0001170523 00000 n
+0001170589 00000 n
+0001170656 00000 n
+0001170723 00000 n
+0001170790 00000 n
+0001170857 00000 n
+0001170924 00000 n
+0001170991 00000 n
+0001171058 00000 n
+0001171125 00000 n
+0001171190 00000 n
+0001171257 00000 n
+0001171324 00000 n
+0001171391 00000 n
+0001171458 00000 n
+0001171525 00000 n
+0001171592 00000 n
+0001171659 00000 n
+0001171726 00000 n
+0001171792 00000 n
+0001171859 00000 n
+0001171926 00000 n
+0001171993 00000 n
+0001172060 00000 n
+0001172127 00000 n
+0001172194 00000 n
+0001172260 00000 n
+0001178093 00000 n
+0001174559 00000 n
+0001172478 00000 n
+0001174687 00000 n
+0001174753 00000 n
+0001174820 00000 n
+0001174887 00000 n
+0001174954 00000 n
+0001175021 00000 n
+0001175088 00000 n
+0001175155 00000 n
+0001175222 00000 n
+0001175289 00000 n
+0001175355 00000 n
+0001175422 00000 n
+0001175489 00000 n
+0001175556 00000 n
+0001175623 00000 n
+0001175690 00000 n
+0001175757 00000 n
+0001175824 00000 n
+0001175891 00000 n
+0001175957 00000 n
+0001176024 00000 n
+0001176091 00000 n
+0001176158 00000 n
+0001176225 00000 n
+0001176292 00000 n
+0001176359 00000 n
+0001176426 00000 n
+0001176493 00000 n
+0001176558 00000 n
+0001176625 00000 n
+0001176692 00000 n
+0001176759 00000 n
+0001176826 00000 n
+0001176893 00000 n
+0001176960 00000 n
+0001177027 00000 n
+0001177094 00000 n
+0001177160 00000 n
+0001177227 00000 n
+0001177294 00000 n
+0001177361 00000 n
+0001177428 00000 n
+0001177495 00000 n
+0001177562 00000 n
+0001177629 00000 n
+0001177696 00000 n
+0001177762 00000 n
+0001177829 00000 n
+0001177960 00000 n
+0001178027 00000 n
+0001184313 00000 n
+0001180307 00000 n
+0001178271 00000 n
+0001180435 00000 n
+0001180501 00000 n
+0001180568 00000 n
+0001180635 00000 n
+0001180702 00000 n
+0001180769 00000 n
+0001180836 00000 n
+0001180903 00000 n
+0001180970 00000 n
+0001181037 00000 n
+0001181103 00000 n
+0001181170 00000 n
+0001181237 00000 n
+0001181304 00000 n
+0001181371 00000 n
+0001181438 00000 n
+0001181505 00000 n
+0001181572 00000 n
+0001181639 00000 n
+0001181706 00000 n
+0001181773 00000 n
+0001181840 00000 n
+0001181907 00000 n
+0001181974 00000 n
+0001182040 00000 n
+0001182107 00000 n
+0001182174 00000 n
+0001182241 00000 n
+0001182308 00000 n
+0001182375 00000 n
+0001182442 00000 n
+0001182509 00000 n
+0001182576 00000 n
+0001182643 00000 n
+0001182710 00000 n
+0001182777 00000 n
+0001182844 00000 n
+0001182911 00000 n
+0001182978 00000 n
+0001183045 00000 n
+0001183112 00000 n
+0001183179 00000 n
+0001183246 00000 n
+0001183313 00000 n
+0001183380 00000 n
+0001183446 00000 n
+0001183513 00000 n
+0001183580 00000 n
+0001183647 00000 n
+0001183713 00000 n
+0001183780 00000 n
+0001183847 00000 n
+0001183913 00000 n
+0001183980 00000 n
+0001184047 00000 n
+0001184114 00000 n
+0001184181 00000 n
+0001184247 00000 n
+0001189161 00000 n
+0001186296 00000 n
+0001184491 00000 n
+0001186424 00000 n
+0001186490 00000 n
+0001186557 00000 n
+0001186624 00000 n
+0001186691 00000 n
+0001186758 00000 n
+0001186825 00000 n
+0001186892 00000 n
+0001186959 00000 n
+0001187026 00000 n
+0001187092 00000 n
+0001187159 00000 n
+0001187290 00000 n
+0001187357 00000 n
+0001187424 00000 n
+0001187491 00000 n
+0001187558 00000 n
+0001187625 00000 n
+0001187692 00000 n
+0001187759 00000 n
+0001187826 00000 n
+0001187893 00000 n
+0001187960 00000 n
+0001188027 00000 n
+0001188093 00000 n
+0001188224 00000 n
+0001188291 00000 n
+0001188358 00000 n
+0001188425 00000 n
+0001188492 00000 n
+0001188559 00000 n
+0001188626 00000 n
+0001188693 00000 n
+0001188759 00000 n
+0001188826 00000 n
+0001188893 00000 n
+0001188960 00000 n
+0001189027 00000 n
+0001189094 00000 n
+0001195718 00000 n
+0001191780 00000 n
+0001189365 00000 n
+0001191909 00000 n
+0001191975 00000 n
+0001192042 00000 n
+0001192109 00000 n
+0001192176 00000 n
+0001192243 00000 n
+0001192310 00000 n
+0001192377 00000 n
+0001192444 00000 n
+0001192511 00000 n
+0001192578 00000 n
+0001192645 00000 n
+0001192712 00000 n
+0001192779 00000 n
+0001192844 00000 n
+0001192911 00000 n
+0001192978 00000 n
+0001193045 00000 n
+0001193112 00000 n
+0001193179 00000 n
+0001193246 00000 n
+0001193313 00000 n
+0001193380 00000 n
+0001193447 00000 n
+0001193514 00000 n
+0001193580 00000 n
+0001193647 00000 n
+0001193714 00000 n
+0001193781 00000 n
+0001193848 00000 n
+0001193915 00000 n
+0001193982 00000 n
+0001194049 00000 n
+0001194116 00000 n
+0001194183 00000 n
+0001194250 00000 n
+0001194316 00000 n
+0001194382 00000 n
+0001194449 00000 n
+0001194516 00000 n
+0001194583 00000 n
+0001194650 00000 n
+0001194717 00000 n
+0001194784 00000 n
+0001194851 00000 n
+0001194918 00000 n
+0001194985 00000 n
+0001195051 00000 n
+0001195118 00000 n
+0001195185 00000 n
+0001195252 00000 n
+0001195319 00000 n
+0001195386 00000 n
+0001195453 00000 n
+0001195520 00000 n
+0001195587 00000 n
+0001195653 00000 n
+0001890559 00000 n
+0001201907 00000 n
+0001197766 00000 n
+0001195909 00000 n
+0001197895 00000 n
+0001197961 00000 n
+0001198028 00000 n
+0001198095 00000 n
+0001198162 00000 n
+0001198229 00000 n
+0001198296 00000 n
+0001198363 00000 n
+0001198430 00000 n
+0001198496 00000 n
+0001198563 00000 n
+0001198630 00000 n
+0001198697 00000 n
+0001198764 00000 n
+0001198831 00000 n
+0001198898 00000 n
+0001198965 00000 n
+0001199032 00000 n
+0001199099 00000 n
+0001199165 00000 n
+0001199232 00000 n
+0001199299 00000 n
+0001199366 00000 n
+0001199433 00000 n
+0001199500 00000 n
+0001199567 00000 n
+0001199634 00000 n
+0001199701 00000 n
+0001199768 00000 n
+0001199834 00000 n
+0001199901 00000 n
+0001199968 00000 n
+0001200035 00000 n
+0001200102 00000 n
+0001200169 00000 n
+0001200236 00000 n
+0001200303 00000 n
+0001200370 00000 n
+0001200437 00000 n
+0001200504 00000 n
+0001200571 00000 n
+0001200637 00000 n
+0001200704 00000 n
+0001200771 00000 n
+0001200838 00000 n
+0001200905 00000 n
+0001200972 00000 n
+0001201039 00000 n
+0001201106 00000 n
+0001201173 00000 n
+0001201240 00000 n
+0001201307 00000 n
+0001201373 00000 n
+0001201440 00000 n
+0001201507 00000 n
+0001201574 00000 n
+0001201641 00000 n
+0001201708 00000 n
+0001201775 00000 n
+0001201841 00000 n
+0001208429 00000 n
+0001204220 00000 n
+0001202072 00000 n
+0001204349 00000 n
+0001204415 00000 n
+0001204482 00000 n
+0001204549 00000 n
+0001204616 00000 n
+0001204683 00000 n
+0001204750 00000 n
+0001204817 00000 n
+0001204884 00000 n
+0001204951 00000 n
+0001205018 00000 n
+0001205085 00000 n
+0001205152 00000 n
+0001205219 00000 n
+0001205286 00000 n
+0001205353 00000 n
+0001205420 00000 n
+0001205487 00000 n
+0001205554 00000 n
+0001205621 00000 n
+0001205688 00000 n
+0001205755 00000 n
+0001205822 00000 n
+0001205889 00000 n
+0001205956 00000 n
+0001206023 00000 n
+0001206090 00000 n
+0001206157 00000 n
+0001206224 00000 n
+0001206291 00000 n
+0001206358 00000 n
+0001206425 00000 n
+0001206492 00000 n
+0001206559 00000 n
+0001206626 00000 n
+0001206693 00000 n
+0001206760 00000 n
+0001206827 00000 n
+0001206894 00000 n
+0001206961 00000 n
+0001207027 00000 n
+0001207094 00000 n
+0001207161 00000 n
+0001207228 00000 n
+0001207295 00000 n
+0001207362 00000 n
+0001207428 00000 n
+0001207495 00000 n
+0001207562 00000 n
+0001207629 00000 n
+0001207696 00000 n
+0001207763 00000 n
+0001207829 00000 n
+0001207896 00000 n
+0001207963 00000 n
+0001208030 00000 n
+0001208097 00000 n
+0001208164 00000 n
+0001208230 00000 n
+0001208297 00000 n
+0001208363 00000 n
+0001215147 00000 n
+0001210874 00000 n
+0001208594 00000 n
+0001211003 00000 n
+0001211069 00000 n
+0001211136 00000 n
+0001211203 00000 n
+0001211270 00000 n
+0001211337 00000 n
+0001211404 00000 n
+0001211471 00000 n
+0001211538 00000 n
+0001211605 00000 n
+0001211671 00000 n
+0001211738 00000 n
+0001211805 00000 n
+0001211872 00000 n
+0001211939 00000 n
+0001212006 00000 n
+0001212073 00000 n
+0001212140 00000 n
+0001212207 00000 n
+0001212274 00000 n
+0001212340 00000 n
+0001212407 00000 n
+0001212474 00000 n
+0001212541 00000 n
+0001212608 00000 n
+0001212675 00000 n
+0001212742 00000 n
+0001212809 00000 n
+0001212876 00000 n
+0001212942 00000 n
+0001213009 00000 n
+0001213076 00000 n
+0001213143 00000 n
+0001213210 00000 n
+0001213277 00000 n
+0001213344 00000 n
+0001213411 00000 n
+0001213478 00000 n
+0001213545 00000 n
+0001213611 00000 n
+0001213678 00000 n
+0001213745 00000 n
+0001213812 00000 n
+0001213879 00000 n
+0001213946 00000 n
+0001214013 00000 n
+0001214080 00000 n
+0001214147 00000 n
+0001214214 00000 n
+0001214281 00000 n
+0001214348 00000 n
+0001214414 00000 n
+0001214480 00000 n
+0001214547 00000 n
+0001214614 00000 n
+0001214681 00000 n
+0001214748 00000 n
+0001214815 00000 n
+0001214882 00000 n
+0001214949 00000 n
+0001215016 00000 n
+0001215082 00000 n
+0001222235 00000 n
+0001218029 00000 n
+0001215312 00000 n
+0001218158 00000 n
+0001218224 00000 n
+0001218291 00000 n
+0001218358 00000 n
+0001218425 00000 n
+0001218492 00000 n
+0001218559 00000 n
+0001218626 00000 n
+0001218693 00000 n
+0001218760 00000 n
+0001218827 00000 n
+0001218894 00000 n
+0001218960 00000 n
+0001219027 00000 n
+0001219094 00000 n
+0001219161 00000 n
+0001219228 00000 n
+0001219295 00000 n
+0001219362 00000 n
+0001219429 00000 n
+0001219496 00000 n
+0001219563 00000 n
+0001219629 00000 n
+0001219696 00000 n
+0001219763 00000 n
+0001219830 00000 n
+0001219897 00000 n
+0001219964 00000 n
+0001220031 00000 n
+0001220098 00000 n
+0001220165 00000 n
+0001220232 00000 n
+0001220299 00000 n
+0001220365 00000 n
+0001220432 00000 n
+0001220499 00000 n
+0001220566 00000 n
+0001220633 00000 n
+0001220700 00000 n
+0001220767 00000 n
+0001220834 00000 n
+0001220901 00000 n
+0001220968 00000 n
+0001221034 00000 n
+0001221100 00000 n
+0001221167 00000 n
+0001221234 00000 n
+0001221301 00000 n
+0001221368 00000 n
+0001221435 00000 n
+0001221502 00000 n
+0001221569 00000 n
+0001221636 00000 n
+0001221703 00000 n
+0001221770 00000 n
+0001221837 00000 n
+0001221902 00000 n
+0001221969 00000 n
+0001222036 00000 n
+0001222103 00000 n
+0001222169 00000 n
+0001228859 00000 n
+0001224651 00000 n
+0001222400 00000 n
+0001224780 00000 n
+0001224846 00000 n
+0001224913 00000 n
+0001224980 00000 n
+0001225047 00000 n
+0001225114 00000 n
+0001225181 00000 n
+0001225248 00000 n
+0001225315 00000 n
+0001225382 00000 n
+0001225449 00000 n
+0001225516 00000 n
+0001225582 00000 n
+0001225649 00000 n
+0001225716 00000 n
+0001225783 00000 n
+0001225850 00000 n
+0001225917 00000 n
+0001225984 00000 n
+0001226051 00000 n
+0001226118 00000 n
+0001226185 00000 n
+0001226251 00000 n
+0001226318 00000 n
+0001226385 00000 n
+0001226452 00000 n
+0001226519 00000 n
+0001226586 00000 n
+0001226653 00000 n
+0001226720 00000 n
+0001226787 00000 n
+0001226853 00000 n
+0001226920 00000 n
+0001226986 00000 n
+0001227053 00000 n
+0001227120 00000 n
+0001227187 00000 n
+0001227254 00000 n
+0001227321 00000 n
+0001227388 00000 n
+0001227455 00000 n
+0001227522 00000 n
+0001227589 00000 n
+0001227655 00000 n
+0001227722 00000 n
+0001227789 00000 n
+0001227856 00000 n
+0001227923 00000 n
+0001227990 00000 n
+0001228057 00000 n
+0001228124 00000 n
+0001228191 00000 n
+0001228258 00000 n
+0001228325 00000 n
+0001228392 00000 n
+0001228459 00000 n
+0001228526 00000 n
+0001228593 00000 n
+0001228660 00000 n
+0001228727 00000 n
+0001228793 00000 n
+0001235502 00000 n
+0001231229 00000 n
+0001229024 00000 n
+0001231358 00000 n
+0001231424 00000 n
+0001231491 00000 n
+0001231558 00000 n
+0001231625 00000 n
+0001231692 00000 n
+0001231758 00000 n
+0001231825 00000 n
+0001231892 00000 n
+0001231959 00000 n
+0001232026 00000 n
+0001232093 00000 n
+0001232160 00000 n
+0001232227 00000 n
+0001232294 00000 n
+0001232361 00000 n
+0001232428 00000 n
+0001232495 00000 n
+0001232562 00000 n
+0001232629 00000 n
+0001232695 00000 n
+0001232762 00000 n
+0001232829 00000 n
+0001232896 00000 n
+0001232963 00000 n
+0001233029 00000 n
+0001233096 00000 n
+0001233163 00000 n
+0001233230 00000 n
+0001233297 00000 n
+0001233364 00000 n
+0001233431 00000 n
+0001233498 00000 n
+0001233565 00000 n
+0001233632 00000 n
+0001233699 00000 n
+0001233766 00000 n
+0001233833 00000 n
+0001233900 00000 n
+0001233967 00000 n
+0001234033 00000 n
+0001234100 00000 n
+0001234167 00000 n
+0001234234 00000 n
+0001234301 00000 n
+0001234367 00000 n
+0001234434 00000 n
+0001234501 00000 n
+0001234568 00000 n
+0001234635 00000 n
+0001234701 00000 n
+0001234768 00000 n
+0001234835 00000 n
+0001234902 00000 n
+0001234969 00000 n
+0001235036 00000 n
+0001235102 00000 n
+0001235169 00000 n
+0001235236 00000 n
+0001235303 00000 n
+0001235370 00000 n
+0001235436 00000 n
+0001241876 00000 n
+0001237667 00000 n
+0001235667 00000 n
+0001237796 00000 n
+0001237862 00000 n
+0001237929 00000 n
+0001237996 00000 n
+0001238063 00000 n
+0001238130 00000 n
+0001238197 00000 n
+0001238264 00000 n
+0001238331 00000 n
+0001238398 00000 n
+0001238465 00000 n
+0001238531 00000 n
+0001238598 00000 n
+0001238665 00000 n
+0001238732 00000 n
+0001238799 00000 n
+0001238866 00000 n
+0001238933 00000 n
+0001239000 00000 n
+0001239067 00000 n
+0001239134 00000 n
+0001239201 00000 n
+0001239267 00000 n
+0001239334 00000 n
+0001239401 00000 n
+0001239468 00000 n
+0001239535 00000 n
+0001239602 00000 n
+0001239669 00000 n
+0001239736 00000 n
+0001239803 00000 n
+0001239870 00000 n
+0001239937 00000 n
+0001240003 00000 n
+0001240070 00000 n
+0001240137 00000 n
+0001240204 00000 n
+0001240271 00000 n
+0001240338 00000 n
+0001240405 00000 n
+0001240472 00000 n
+0001240539 00000 n
+0001240606 00000 n
+0001240673 00000 n
+0001240739 00000 n
+0001240806 00000 n
+0001240873 00000 n
+0001240940 00000 n
+0001241007 00000 n
+0001241074 00000 n
+0001241141 00000 n
+0001241208 00000 n
+0001241275 00000 n
+0001241342 00000 n
+0001241409 00000 n
+0001241476 00000 n
+0001241543 00000 n
+0001241610 00000 n
+0001241677 00000 n
+0001241744 00000 n
+0001241810 00000 n
+0001248351 00000 n
+0001244144 00000 n
+0001242041 00000 n
+0001244273 00000 n
+0001244339 00000 n
+0001244406 00000 n
+0001244473 00000 n
+0001244540 00000 n
+0001244607 00000 n
+0001244674 00000 n
+0001244741 00000 n
+0001244808 00000 n
+0001244875 00000 n
+0001244942 00000 n
+0001245008 00000 n
+0001245075 00000 n
+0001245142 00000 n
+0001245209 00000 n
+0001245276 00000 n
+0001245343 00000 n
+0001245410 00000 n
+0001245477 00000 n
+0001245544 00000 n
+0001245611 00000 n
+0001245677 00000 n
+0001245744 00000 n
+0001245811 00000 n
+0001245878 00000 n
+0001245945 00000 n
+0001246012 00000 n
+0001246079 00000 n
+0001246146 00000 n
+0001246213 00000 n
+0001246280 00000 n
+0001246346 00000 n
+0001246413 00000 n
+0001246479 00000 n
+0001246546 00000 n
+0001246613 00000 n
+0001246680 00000 n
+0001246747 00000 n
+0001246814 00000 n
+0001246881 00000 n
+0001246948 00000 n
+0001247015 00000 n
+0001247082 00000 n
+0001247148 00000 n
+0001247215 00000 n
+0001247282 00000 n
+0001247349 00000 n
+0001247416 00000 n
+0001247483 00000 n
+0001247550 00000 n
+0001247617 00000 n
+0001247684 00000 n
+0001247751 00000 n
+0001247817 00000 n
+0001247884 00000 n
+0001247951 00000 n
+0001248018 00000 n
+0001248085 00000 n
+0001248152 00000 n
+0001248219 00000 n
+0001248285 00000 n
+0001254985 00000 n
+0001250777 00000 n
+0001248516 00000 n
+0001250906 00000 n
+0001250972 00000 n
+0001251039 00000 n
+0001251106 00000 n
+0001251173 00000 n
+0001251240 00000 n
+0001251307 00000 n
+0001251374 00000 n
+0001251441 00000 n
+0001251508 00000 n
+0001251575 00000 n
+0001251641 00000 n
+0001251708 00000 n
+0001251775 00000 n
+0001251842 00000 n
+0001251909 00000 n
+0001251976 00000 n
+0001252043 00000 n
+0001252110 00000 n
+0001252177 00000 n
+0001252244 00000 n
+0001252310 00000 n
+0001252377 00000 n
+0001252444 00000 n
+0001252511 00000 n
+0001252578 00000 n
+0001252645 00000 n
+0001252712 00000 n
+0001252779 00000 n
+0001252846 00000 n
+0001252913 00000 n
+0001252979 00000 n
+0001253046 00000 n
+0001253112 00000 n
+0001253179 00000 n
+0001253246 00000 n
+0001253313 00000 n
+0001253380 00000 n
+0001253447 00000 n
+0001253514 00000 n
+0001253581 00000 n
+0001253648 00000 n
+0001253715 00000 n
+0001253781 00000 n
+0001253848 00000 n
+0001253915 00000 n
+0001253982 00000 n
+0001254049 00000 n
+0001254116 00000 n
+0001254183 00000 n
+0001254250 00000 n
+0001254317 00000 n
+0001254384 00000 n
+0001254451 00000 n
+0001254518 00000 n
+0001254585 00000 n
+0001254652 00000 n
+0001254719 00000 n
+0001254786 00000 n
+0001254853 00000 n
+0001254919 00000 n
+0001261270 00000 n
+0001256930 00000 n
+0001255150 00000 n
+0001257059 00000 n
+0001257125 00000 n
+0001257192 00000 n
+0001257259 00000 n
+0001257326 00000 n
+0001257393 00000 n
+0001257460 00000 n
+0001257527 00000 n
+0001257594 00000 n
+0001257661 00000 n
+0001257727 00000 n
+0001257794 00000 n
+0001257861 00000 n
+0001257928 00000 n
+0001257995 00000 n
+0001258062 00000 n
+0001258129 00000 n
+0001258196 00000 n
+0001258263 00000 n
+0001258330 00000 n
+0001258396 00000 n
+0001258463 00000 n
+0001258530 00000 n
+0001258597 00000 n
+0001258664 00000 n
+0001258731 00000 n
+0001258798 00000 n
+0001258865 00000 n
+0001258932 00000 n
+0001258999 00000 n
+0001259065 00000 n
+0001259132 00000 n
+0001259199 00000 n
+0001259266 00000 n
+0001259333 00000 n
+0001259400 00000 n
+0001259467 00000 n
+0001259534 00000 n
+0001259601 00000 n
+0001259667 00000 n
+0001259734 00000 n
+0001259800 00000 n
+0001259867 00000 n
+0001259934 00000 n
+0001260001 00000 n
+0001260068 00000 n
+0001260135 00000 n
+0001260202 00000 n
+0001260269 00000 n
+0001260336 00000 n
+0001260402 00000 n
+0001260469 00000 n
+0001260536 00000 n
+0001260603 00000 n
+0001260670 00000 n
+0001260737 00000 n
+0001260804 00000 n
+0001260871 00000 n
+0001260938 00000 n
+0001261005 00000 n
+0001261071 00000 n
+0001261138 00000 n
+0001261204 00000 n
+0001890735 00000 n
+0001267836 00000 n
+0001263425 00000 n
+0001261435 00000 n
+0001263554 00000 n
+0001263620 00000 n
+0001263687 00000 n
+0001263754 00000 n
+0001263821 00000 n
+0001263888 00000 n
+0001263955 00000 n
+0001264022 00000 n
+0001264089 00000 n
+0001264156 00000 n
+0001264222 00000 n
+0001264289 00000 n
+0001264356 00000 n
+0001264423 00000 n
+0001264490 00000 n
+0001264557 00000 n
+0001264624 00000 n
+0001264691 00000 n
+0001264758 00000 n
+0001264825 00000 n
+0001264892 00000 n
+0001264959 00000 n
+0001265026 00000 n
+0001265093 00000 n
+0001265160 00000 n
+0001265227 00000 n
+0001265294 00000 n
+0001265361 00000 n
+0001265428 00000 n
+0001265495 00000 n
+0001265562 00000 n
+0001265629 00000 n
+0001265696 00000 n
+0001265763 00000 n
+0001265830 00000 n
+0001265897 00000 n
+0001265964 00000 n
+0001266031 00000 n
+0001266098 00000 n
+0001266164 00000 n
+0001266231 00000 n
+0001266298 00000 n
+0001266365 00000 n
+0001266432 00000 n
+0001266499 00000 n
+0001266566 00000 n
+0001266633 00000 n
+0001266700 00000 n
+0001266767 00000 n
+0001266834 00000 n
+0001266901 00000 n
+0001266968 00000 n
+0001267035 00000 n
+0001267102 00000 n
+0001267169 00000 n
+0001267236 00000 n
+0001267303 00000 n
+0001267370 00000 n
+0001267436 00000 n
+0001267503 00000 n
+0001267570 00000 n
+0001267637 00000 n
+0001267704 00000 n
+0001267770 00000 n
+0001274122 00000 n
+0001269851 00000 n
+0001268001 00000 n
+0001269980 00000 n
+0001270046 00000 n
+0001270113 00000 n
+0001270180 00000 n
+0001270247 00000 n
+0001270314 00000 n
+0001270381 00000 n
+0001270448 00000 n
+0001270515 00000 n
+0001270582 00000 n
+0001270648 00000 n
+0001270715 00000 n
+0001270782 00000 n
+0001270849 00000 n
+0001270916 00000 n
+0001270983 00000 n
+0001271050 00000 n
+0001271117 00000 n
+0001271184 00000 n
+0001271250 00000 n
+0001271317 00000 n
+0001271384 00000 n
+0001271451 00000 n
+0001271518 00000 n
+0001271585 00000 n
+0001271652 00000 n
+0001271719 00000 n
+0001271786 00000 n
+0001271851 00000 n
+0001271918 00000 n
+0001271985 00000 n
+0001272052 00000 n
+0001272119 00000 n
+0001272186 00000 n
+0001272253 00000 n
+0001272320 00000 n
+0001272387 00000 n
+0001272453 00000 n
+0001272520 00000 n
+0001272587 00000 n
+0001272654 00000 n
+0001272721 00000 n
+0001272788 00000 n
+0001272855 00000 n
+0001272922 00000 n
+0001272989 00000 n
+0001273055 00000 n
+0001273122 00000 n
+0001273189 00000 n
+0001273256 00000 n
+0001273323 00000 n
+0001273390 00000 n
+0001273457 00000 n
+0001273524 00000 n
+0001273591 00000 n
+0001273657 00000 n
+0001273724 00000 n
+0001273789 00000 n
+0001273856 00000 n
+0001273923 00000 n
+0001273990 00000 n
+0001274056 00000 n
+0001280401 00000 n
+0001276128 00000 n
+0001274300 00000 n
+0001276257 00000 n
+0001276323 00000 n
+0001276390 00000 n
+0001276457 00000 n
+0001276524 00000 n
+0001276591 00000 n
+0001276658 00000 n
+0001276725 00000 n
+0001276792 00000 n
+0001276859 00000 n
+0001276925 00000 n
+0001276992 00000 n
+0001277059 00000 n
+0001277126 00000 n
+0001277193 00000 n
+0001277260 00000 n
+0001277327 00000 n
+0001277394 00000 n
+0001277461 00000 n
+0001277527 00000 n
+0001277594 00000 n
+0001277661 00000 n
+0001277728 00000 n
+0001277795 00000 n
+0001277862 00000 n
+0001277929 00000 n
+0001277996 00000 n
+0001278063 00000 n
+0001278128 00000 n
+0001278195 00000 n
+0001278262 00000 n
+0001278329 00000 n
+0001278396 00000 n
+0001278463 00000 n
+0001278530 00000 n
+0001278597 00000 n
+0001278664 00000 n
+0001278730 00000 n
+0001278797 00000 n
+0001278864 00000 n
+0001278931 00000 n
+0001278998 00000 n
+0001279065 00000 n
+0001279132 00000 n
+0001279199 00000 n
+0001279266 00000 n
+0001279332 00000 n
+0001279399 00000 n
+0001279466 00000 n
+0001279533 00000 n
+0001279600 00000 n
+0001279667 00000 n
+0001279734 00000 n
+0001279801 00000 n
+0001279868 00000 n
+0001279935 00000 n
+0001280001 00000 n
+0001280068 00000 n
+0001280135 00000 n
+0001280202 00000 n
+0001280269 00000 n
+0001280335 00000 n
+0001286594 00000 n
+0001282188 00000 n
+0001280579 00000 n
+0001282317 00000 n
+0001282383 00000 n
+0001282450 00000 n
+0001282517 00000 n
+0001282584 00000 n
+0001282651 00000 n
+0001282718 00000 n
+0001282785 00000 n
+0001282852 00000 n
+0001282919 00000 n
+0001282985 00000 n
+0001283052 00000 n
+0001283119 00000 n
+0001283186 00000 n
+0001283253 00000 n
+0001283320 00000 n
+0001283387 00000 n
+0001283454 00000 n
+0001283521 00000 n
+0001283587 00000 n
+0001283654 00000 n
+0001283721 00000 n
+0001283788 00000 n
+0001283855 00000 n
+0001283922 00000 n
+0001283989 00000 n
+0001284056 00000 n
+0001284123 00000 n
+0001284188 00000 n
+0001284255 00000 n
+0001284322 00000 n
+0001284389 00000 n
+0001284456 00000 n
+0001284523 00000 n
+0001284590 00000 n
+0001284657 00000 n
+0001284724 00000 n
+0001284790 00000 n
+0001284857 00000 n
+0001284924 00000 n
+0001284991 00000 n
+0001285058 00000 n
+0001285125 00000 n
+0001285192 00000 n
+0001285259 00000 n
+0001285326 00000 n
+0001285392 00000 n
+0001285459 00000 n
+0001285526 00000 n
+0001285593 00000 n
+0001285660 00000 n
+0001285727 00000 n
+0001285794 00000 n
+0001285861 00000 n
+0001285928 00000 n
+0001285994 00000 n
+0001286061 00000 n
+0001286128 00000 n
+0001286195 00000 n
+0001286262 00000 n
+0001286329 00000 n
+0001286396 00000 n
+0001286463 00000 n
+0001286528 00000 n
+0001292982 00000 n
+0001288575 00000 n
+0001286759 00000 n
+0001288704 00000 n
+0001288770 00000 n
+0001288837 00000 n
+0001288904 00000 n
+0001288971 00000 n
+0001289038 00000 n
+0001289105 00000 n
+0001289172 00000 n
+0001289239 00000 n
+0001289306 00000 n
+0001289372 00000 n
+0001289439 00000 n
+0001289506 00000 n
+0001289573 00000 n
+0001289640 00000 n
+0001289707 00000 n
+0001289774 00000 n
+0001289841 00000 n
+0001289908 00000 n
+0001289974 00000 n
+0001290041 00000 n
+0001290108 00000 n
+0001290175 00000 n
+0001290242 00000 n
+0001290309 00000 n
+0001290376 00000 n
+0001290443 00000 n
+0001290510 00000 n
+0001290575 00000 n
+0001290642 00000 n
+0001290709 00000 n
+0001290776 00000 n
+0001290843 00000 n
+0001290910 00000 n
+0001290977 00000 n
+0001291044 00000 n
+0001291111 00000 n
+0001291177 00000 n
+0001291244 00000 n
+0001291311 00000 n
+0001291378 00000 n
+0001291445 00000 n
+0001291512 00000 n
+0001291579 00000 n
+0001291646 00000 n
+0001291713 00000 n
+0001291779 00000 n
+0001291846 00000 n
+0001291913 00000 n
+0001291980 00000 n
+0001292047 00000 n
+0001292114 00000 n
+0001292181 00000 n
+0001292248 00000 n
+0001292315 00000 n
+0001292381 00000 n
+0001292448 00000 n
+0001292515 00000 n
+0001292582 00000 n
+0001292649 00000 n
+0001292716 00000 n
+0001292783 00000 n
+0001292850 00000 n
+0001292916 00000 n
+0001296281 00000 n
+0001294280 00000 n
+0001293147 00000 n
+0001294409 00000 n
+0001294475 00000 n
+0001294542 00000 n
+0001294609 00000 n
+0001294676 00000 n
+0001294743 00000 n
+0001294810 00000 n
+0001294877 00000 n
+0001294944 00000 n
+0001295011 00000 n
+0001295078 00000 n
+0001295144 00000 n
+0001295211 00000 n
+0001295278 00000 n
+0001295345 00000 n
+0001295412 00000 n
+0001295479 00000 n
+0001295546 00000 n
+0001295613 00000 n
+0001295680 00000 n
+0001295747 00000 n
+0001295813 00000 n
+0001295879 00000 n
+0001295946 00000 n
+0001296013 00000 n
+0001296080 00000 n
+0001296147 00000 n
+0001296214 00000 n
+0001298225 00000 n
+0001298381 00000 n
+0001298538 00000 n
+0001298695 00000 n
+0001298851 00000 n
+0001299008 00000 n
+0001299165 00000 n
+0001299322 00000 n
+0001299479 00000 n
+0001299636 00000 n
+0001299794 00000 n
+0001299952 00000 n
+0001300110 00000 n
+0001300266 00000 n
+0001300423 00000 n
+0001300581 00000 n
+0001300739 00000 n
+0001300897 00000 n
+0001301055 00000 n
+0001301213 00000 n
+0001301371 00000 n
+0001301528 00000 n
+0001301685 00000 n
+0001301842 00000 n
+0001301999 00000 n
+0001302157 00000 n
+0001302315 00000 n
+0001302473 00000 n
+0001302631 00000 n
+0001302789 00000 n
+0001304079 00000 n
+0001303074 00000 n
+0001297755 00000 n
+0001296446 00000 n
+0001302944 00000 n
+0001297902 00000 n
+0001304237 00000 n
+0001304395 00000 n
+0001304553 00000 n
+0001304711 00000 n
+0001304869 00000 n
+0001305027 00000 n
+0001305183 00000 n
+0001305341 00000 n
+0001305499 00000 n
+0001305723 00000 n
+0001303809 00000 n
+0001303226 00000 n
+0001305657 00000 n
+0001303956 00000 n
+0001880766 00000 n
+0001305989 00000 n
+0001880586 00000 n
+0001306023 00000 n
+0001879931 00000 n
+0001306105 00000 n
+0001880973 00000 n
+0001306203 00000 n
+0001880890 00000 n
+0001306237 00000 n
+0001306265 00000 n
+0001306611 00000 n
+0001881099 00000 n
+0001307049 00000 n
+0001307077 00000 n
+0001307267 00000 n
+0001307423 00000 n
+0001307515 00000 n
+0001307597 00000 n
+0001307679 00000 n
+0001308003 00000 n
+0001308273 00000 n
+0001308415 00000 n
+0001308855 00000 n
+0001308883 00000 n
+0001309127 00000 n
+0001309551 00000 n
+0001309923 00000 n
+0001310243 00000 n
+0001310775 00000 n
+0001311165 00000 n
+0001311213 00000 n
+0001311319 00000 n
+0001311603 00000 n
+0001311757 00000 n
+0001311987 00000 n
+0001312219 00000 n
+0001312255 00000 n
+0001312361 00000 n
+0001344395 00000 n
+0001312497 00000 n
+0001374881 00000 n
+0001344899 00000 n
+0001398042 00000 n
+0001375364 00000 n
+0001419076 00000 n
+0001398296 00000 n
+0001422562 00000 n
+0001419337 00000 n
+0001428359 00000 n
+0001422918 00000 n
+0001431737 00000 n
+0001428648 00000 n
+0001468474 00000 n
+0001431982 00000 n
+0001491401 00000 n
+0001469158 00000 n
+0001514797 00000 n
+0001491708 00000 n
+0001537672 00000 n
+0001515069 00000 n
+0001560260 00000 n
+0001537967 00000 n
+0001590874 00000 n
+0001560555 00000 n
+0001617055 00000 n
+0001591349 00000 n
+0001635645 00000 n
+0001617412 00000 n
+0001643834 00000 n
+0001635993 00000 n
+0001672275 00000 n
+0001644079 00000 n
+0001691713 00000 n
+0001672609 00000 n
+0001706334 00000 n
+0001692056 00000 n
+0001720978 00000 n
+0001706596 00000 n
+0001734806 00000 n
+0001721299 00000 n
+0001738008 00000 n
+0001735067 00000 n
+0001740772 00000 n
+0001738271 00000 n
+0001743778 00000 n
+0001741026 00000 n
+0001776596 00000 n
+0001744026 00000 n
+0001796980 00000 n
+0001777263 00000 n
+0001822195 00000 n
+0001797262 00000 n
+0001854935 00000 n
+0001822628 00000 n
+0001879649 00000 n
+0001855683 00000 n
+0001890900 00000 n
+0001891064 00000 n
+0001891231 00000 n
+0001891336 00000 n
+0001891426 00000 n
+0001895247 00000 n
+0001895968 00000 n
+0001896704 00000 n
+0001897440 00000 n
+0001898172 00000 n
+0001898907 00000 n
+0001899645 00000 n
+0001900380 00000 n
+0001901112 00000 n
+0001901848 00000 n
+0001902584 00000 n
+0001903316 00000 n
+0001904052 00000 n
+0001904788 00000 n
+0001905463 00000 n
+0001906133 00000 n
+0001906800 00000 n
+0001907470 00000 n
+0001908139 00000 n
+0001908808 00000 n
+0001909478 00000 n
+0001910148 00000 n
+0001910818 00000 n
+0001911485 00000 n
+0001912155 00000 n
+0001912825 00000 n
+0001913491 00000 n
+0001914163 00000 n
+0001914832 00000 n
+0001915502 00000 n
+0001916169 00000 n
+0001916839 00000 n
+0001917509 00000 n
+0001918176 00000 n
+0001918846 00000 n
+0001919515 00000 n
+0001920187 00000 n
+0001920852 00000 n
+0001921522 00000 n
+0001922192 00000 n
+0001922859 00000 n
+0001923529 00000 n
+0001924199 00000 n
+0001924865 00000 n
+0001925537 00000 n
+0001926206 00000 n
+0001926876 00000 n
+0001927539 00000 n
+0001928209 00000 n
+0001928879 00000 n
+0001929546 00000 n
+0001930215 00000 n
+0001930887 00000 n
+0001931556 00000 n
+0001932223 00000 n
+0001932893 00000 n
+0001933563 00000 n
+0001934230 00000 n
+0001934900 00000 n
+0001935570 00000 n
+0001936239 00000 n
+0001936908 00000 n
+0001937578 00000 n
+0001938248 00000 n
+0001938915 00000 n
+0001939585 00000 n
+0001940255 00000 n
+0001940925 00000 n
+0001941591 00000 n
+0001942263 00000 n
+0001942932 00000 n
+0001943599 00000 n
+0001944269 00000 n
+0001944939 00000 n
+0001945609 00000 n
+0001946276 00000 n
+0001946946 00000 n
+0001947615 00000 n
+0001948284 00000 n
+0001948954 00000 n
+0001949624 00000 n
+0001950294 00000 n
+0001950957 00000 n
+0001951627 00000 n
+0001952297 00000 n
+0001952966 00000 n
+0001953635 00000 n
+0001954305 00000 n
+0001954975 00000 n
+0001955642 00000 n
+0001956312 00000 n
+0001956982 00000 n
+0001957649 00000 n
+0001958318 00000 n
+0001958990 00000 n
+0001959659 00000 n
+0001960326 00000 n
+0001960996 00000 n
+0001961666 00000 n
+0001962333 00000 n
+0001963003 00000 n
+0001963673 00000 n
+0001964340 00000 n
+0001965009 00000 n
+0001965679 00000 n
+0001966349 00000 n
+0001967016 00000 n
+0001967686 00000 n
+0001968356 00000 n
+0001969023 00000 n
+0001969692 00000 n
+0001970364 00000 n
+0001971033 00000 n
+0001971700 00000 n
+0001972370 00000 n
+0001973040 00000 n
+0001973703 00000 n
+0001974373 00000 n
+0001975042 00000 n
+0001975714 00000 n
+0001976380 00000 n
+0001977050 00000 n
+0001977720 00000 n
+0001978387 00000 n
+0001979057 00000 n
+0001979727 00000 n
+0001980397 00000 n
+0001981066 00000 n
+0001981735 00000 n
+0001982405 00000 n
+0001983072 00000 n
+0001983742 00000 n
+0001984412 00000 n
+0001985082 00000 n
+0001985749 00000 n
+0001986418 00000 n
+0001987090 00000 n
+0001987756 00000 n
+0001988426 00000 n
+0001989096 00000 n
+0001989766 00000 n
+0001990433 00000 n
+0001991103 00000 n
+0001991773 00000 n
+0001992442 00000 n
+0001993111 00000 n
+0001993781 00000 n
+0001994451 00000 n
+0001995118 00000 n
+0001995788 00000 n
+0001996458 00000 n
+0001997120 00000 n
+0001997792 00000 n
+0001998461 00000 n
+0001999131 00000 n
+0001999798 00000 n
+0002000468 00000 n
+0002001138 00000 n
+0002001805 00000 n
+0002002475 00000 n
+0002003144 00000 n
+0002003816 00000 n
+0002004481 00000 n
+0002005151 00000 n
+0002005821 00000 n
+0002006488 00000 n
+0002007158 00000 n
+0002007828 00000 n
+0002008494 00000 n
+0002009166 00000 n
+0002009835 00000 n
+0002010505 00000 n
+0002011172 00000 n
+0002011842 00000 n
+0002012512 00000 n
+0002013179 00000 n
+0002013849 00000 n
+0002014518 00000 n
+0002015190 00000 n
+0002015856 00000 n
+0002016526 00000 n
+0002017196 00000 n
+0002017863 00000 n
+0002018533 00000 n
+0002019203 00000 n
+0002019873 00000 n
+0002020538 00000 n
+0002021208 00000 n
+0002021878 00000 n
+0002022545 00000 n
+0002023215 00000 n
+0002023885 00000 n
+0002024555 00000 n
+0002025221 00000 n
+0002025893 00000 n
+0002026562 00000 n
+0002027229 00000 n
+0002027899 00000 n
+0002028569 00000 n
+0002029239 00000 n
+0002029906 00000 n
+0002030576 00000 n
+0002031245 00000 n
+0002031914 00000 n
+0002032584 00000 n
+0002033254 00000 n
+0002033924 00000 n
+0002034591 00000 n
+0002035261 00000 n
+0002035931 00000 n
+0002036597 00000 n
+0002037269 00000 n
+0002037938 00000 n
+0002038608 00000 n
+0002039275 00000 n
+0002039945 00000 n
+0002040615 00000 n
+0002041282 00000 n
+0002041955 00000 n
+0002042627 00000 n
+0002043301 00000 n
+0002043964 00000 n
+0002044637 00000 n
+0002045310 00000 n
+0002045980 00000 n
+0002046653 00000 n
+0002047326 00000 n
+0002047995 00000 n
+0002048667 00000 n
+0002049340 00000 n
+0002050013 00000 n
+0002050683 00000 n
+0002051356 00000 n
+0002052029 00000 n
+0002052699 00000 n
+0002053371 00000 n
+0002054045 00000 n
+0002054717 00000 n
+0002055387 00000 n
+0002056060 00000 n
+0002056733 00000 n
+0002057403 00000 n
+0002058076 00000 n
+0002058749 00000 n
+0002059421 00000 n
+0002060092 00000 n
+0002060765 00000 n
+0002061438 00000 n
+0002062108 00000 n
+0002062781 00000 n
+0002063454 00000 n
+0002064127 00000 n
+0002064796 00000 n
+0002065470 00000 n
+0002066142 00000 n
+0002066808 00000 n
+0002067481 00000 n
+0002068154 00000 n
+0002068827 00000 n
+0002069497 00000 n
+0002070169 00000 n
+0002070843 00000 n
+0002071512 00000 n
+0002072185 00000 n
+0002072858 00000 n
+0002073531 00000 n
+0002074201 00000 n
+0002074874 00000 n
+0002075547 00000 n
+0002076218 00000 n
+0002076890 00000 n
+0002077563 00000 n
+0002078236 00000 n
+0002078906 00000 n
+0002079579 00000 n
+0002080252 00000 n
+0002080922 00000 n
+0002081594 00000 n
+0002082268 00000 n
+0002082940 00000 n
+0002083610 00000 n
+0002084283 00000 n
+0002084956 00000 n
+0002085626 00000 n
+0002086299 00000 n
+0002086972 00000 n
+0002087641 00000 n
+0002088319 00000 n
+0002089021 00000 n
+0002089723 00000 n
+0002090416 00000 n
+0002091118 00000 n
+0002091820 00000 n
+0002092517 00000 n
+0002093221 00000 n
+0002093922 00000 n
+0002094624 00000 n
+0002095322 00000 n
+0002096024 00000 n
+0002096726 00000 n
+0002097424 00000 n
+0002098126 00000 n
+0002098827 00000 n
+0002099531 00000 n
+0002100228 00000 n
+0002100930 00000 n
+0002101632 00000 n
+0002102330 00000 n
+0002103032 00000 n
+0002103734 00000 n
+0002104436 00000 n
+0002105136 00000 n
+0002105837 00000 n
+0002106539 00000 n
+0002107237 00000 n
+0002107939 00000 n
+0002108641 00000 n
+0002109343 00000 n
+0002110041 00000 n
+0002110742 00000 n
+0002111446 00000 n
+0002112143 00000 n
+0002112845 00000 n
+0002113547 00000 n
+0002114249 00000 n
+0002114994 00000 n
+0002115700 00000 n
+0002116403 00000 n
+0002117107 00000 n
+0002117831 00000 n
+0002118510 00000 n
+0002119180 00000 n
+0002119879 00000 n
+0002120667 00000 n
+0002120750 00000 n
+0002121139 00000 n
+0002121526 00000 n
+0002121913 00000 n
+0002122300 00000 n
+0002122686 00000 n
+0002123073 00000 n
+0002123460 00000 n
+0002123847 00000 n
+0002124234 00000 n
+0002124621 00000 n
+0002124826 00000 n
+0002125004 00000 n
+0002125046 00000 n
+0002125182 00000 n
+trailer
+<< /Size 12053 /Root 12051 0 R /Info 12052 0 R /ID [ <CA251DB2BC22EE21E6499B02093467F6> <CA251DB2BC22EE21E6499B02093467F6> ] >>
+startxref
+2125816
+%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index f5ec63ad3a..1365e805e3 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
@@ -71,617 +71,635 @@ endobj
endobj
44 0 obj
-<< /S /GoTo /D (section.5) >>
+<< /S /GoTo /D (subsection.4.7) >>
endobj
47 0 obj
-(\376\377\000L\000e\000s\000\040\000f\000i\000l\000e\000t\000s\000\040\000h\000o\000r\000i\000z\000o\000n\000t\000a\000u\000x\000\040\000e\000t\000\040\000v\000e\000r\000t\000i\000c\000a\000u\000x)
+(\376\377\000\134\000\134\000\040\000e\000t\000\040\000\046\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000b\000l\000o\000c\000s)
endobj
48 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
+<< /S /GoTo /D (section.5) >>
endobj
51 0 obj
-(\376\377\000Q\000u\000e\000l\000q\000u\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000c\000e\000s\000\040\000a\000v\000e\000c\000\040\000l\000e\000s\000\040\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000c\000l\000a\000s\000s\000i\000q\000u\000e\000s)
+(\376\377\000L\000e\000s\000\040\000f\000i\000l\000e\000t\000s\000\040\000h\000o\000r\000i\000z\000o\000n\000t\000a\000u\000x\000\040\000e\000t\000\040\000v\000e\000r\000t\000i\000c\000a\000u\000x)
endobj
52 0 obj
-<< /S /GoTo /D (subsubsection.5.1.1) >>
+<< /S /GoTo /D (subsection.5.1) >>
endobj
55 0 obj
-(\376\377\000L\000e\000s\000\040\000f\000i\000l\000e\000t\000s\000\040\000v\000e\000r\000t\000i\000c\000a\000u\000x)
+(\376\377\000Q\000u\000e\000l\000q\000u\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000c\000e\000s\000\040\000a\000v\000e\000c\000\040\000l\000e\000s\000\040\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000s\000\040\000c\000l\000a\000s\000s\000i\000q\000u\000e\000s)
endobj
56 0 obj
-<< /S /GoTo /D (subsubsection.5.1.2) >>
+<< /S /GoTo /D (subsubsection.5.1.1) >>
endobj
59 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000c\000l\000i\000n\000e)
+(\376\377\000L\000e\000s\000\040\000f\000i\000l\000e\000t\000s\000\040\000v\000e\000r\000t\000i\000c\000a\000u\000x)
endobj
60 0 obj
-<< /S /GoTo /D (subsection.5.2) >>
+<< /S /GoTo /D (subsubsection.5.1.2) >>
endobj
63 0 obj
-(\376\377\000L\000'\000\351\000p\000a\000i\000s\000s\000e\000u\000r\000\040\000e\000t\000\040\000l\000a\000\040\000c\000o\000u\000l\000e\000u\000r\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000c\000l\000i\000n\000e)
endobj
64 0 obj
-<< /S /GoTo /D (subsection.5.3) >>
+<< /S /GoTo /D (subsection.5.2) >>
endobj
67 0 obj
-(\376\377\000L\000e\000s\000\040\000o\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000p\000o\000u\000r\000\040\000t\000r\000a\000c\000e\000r\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
+(\376\377\000L\000'\000\351\000p\000a\000i\000s\000s\000e\000u\000r\000\040\000e\000t\000\040\000l\000a\000\040\000c\000o\000u\000l\000e\000u\000r\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
endobj
68 0 obj
-<< /S /GoTo /D (subsubsection.5.3.1) >>
+<< /S /GoTo /D (subsection.5.3) >>
endobj
71 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000l\000\351\000s\000\040\000h\000l\000i\000n\000e\000s\000\040\000e\000t\000\040\000v\000l\000i\000n\000e\000s)
+(\376\377\000L\000e\000s\000\040\000o\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000p\000o\000u\000r\000\040\000t\000r\000a\000c\000e\000r\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
endobj
72 0 obj
-<< /S /GoTo /D (subsubsection.5.3.2) >>
+<< /S /GoTo /D (subsubsection.5.3.1) >>
endobj
75 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000l\000\351\000s\000\040\000h\000v\000l\000i\000n\000e\000s\000\040\000e\000t\000\040\000h\000v\000l\000i\000n\000e\000s\000-\000e\000x\000c\000e\000p\000t\000-\000b\000o\000r\000d\000e\000r\000s)
+(\376\377\000L\000e\000s\000\040\000c\000l\000\351\000s\000\040\000h\000l\000i\000n\000e\000s\000\040\000e\000t\000\040\000v\000l\000i\000n\000e\000s)
endobj
76 0 obj
-<< /S /GoTo /D (subsubsection.5.3.3) >>
+<< /S /GoTo /D (subsubsection.5.3.2) >>
endobj
79 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000i\000n\000s\000\040\000\050\000v\000i\000d\000e\000s\000\051)
+(\376\377\000L\000e\000s\000\040\000c\000l\000\351\000s\000\040\000h\000v\000l\000i\000n\000e\000s\000\040\000e\000t\000\040\000h\000v\000l\000i\000n\000e\000s\000-\000e\000x\000c\000e\000p\000t\000-\000b\000o\000r\000d\000e\000r\000s)
endobj
80 0 obj
-<< /S /GoTo /D (subsubsection.5.3.4) >>
+<< /S /GoTo /D (subsubsection.5.3.3) >>
endobj
83 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
+(\376\377\000L\000e\000s\000\040\000c\000o\000i\000n\000s\000\040\000\050\000v\000i\000d\000e\000s\000\051)
endobj
84 0 obj
-<< /S /GoTo /D (subsubsection.5.3.5) >>
+<< /S /GoTo /D (subsubsection.5.3.4) >>
endobj
87 0 obj
-(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000p\000o\000u\000r\000\040\000f\000i\000l\000e\000t\000s\000\040\000p\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000\351\000s)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
endobj
88 0 obj
-<< /S /GoTo /D (section.6) >>
+<< /S /GoTo /D (subsubsection.5.3.5) >>
endobj
91 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000u\000l\000e\000u\000r\000s\000\040\000d\000e\000\040\000f\000o\000n\000d\000\040\000d\000e\000s\000\040\000r\000a\000n\000g\000\351\000e\000s\000\040\000e\000t\000\040\000d\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s)
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000p\000o\000u\000r\000\040\000f\000i\000l\000e\000t\000s\000\040\000p\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000\351\000s)
endobj
92 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
+<< /S /GoTo /D (section.6) >>
endobj
95 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000c\000o\000l\000o\000r\000t\000b\000l)
+(\376\377\000L\000e\000s\000\040\000c\000o\000u\000l\000e\000u\000r\000s\000\040\000d\000e\000\040\000f\000o\000n\000d\000\040\000d\000e\000s\000\040\000r\000a\000n\000g\000\351\000e\000s\000\040\000e\000t\000\040\000d\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s)
endobj
96 0 obj
-<< /S /GoTo /D (subsection.6.2) >>
+<< /S /GoTo /D (subsection.6.1) >>
endobj
99 0 obj
-(\376\377\000L\000e\000s\000\040\000o\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000c\000o\000l\000o\000r\000t\000b\000l)
endobj
100 0 obj
-<< /S /GoTo /D (subsection.6.3) >>
+<< /S /GoTo /D (subsection.6.2) >>
endobj
103 0 obj
-(\376\377\000O\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000c\000o\000l\000o\000r\000i\000a\000g\000e\000\040\000e\000n\000\040\000t\000a\000b\000l\000e\000a\000u)
+(\376\377\000L\000e\000s\000\040\000o\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
endobj
104 0 obj
-<< /S /GoTo /D (subsection.6.4) >>
+<< /S /GoTo /D (subsection.6.3) >>
endobj
107 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000u\000l\000e\000u\000r\000\040\000s\000p\000\351\000c\000i\000a\000l\000\040\000\253\000n\000o\000c\000o\000l\000o\000r\000\273)
+(\376\377\000O\000u\000t\000i\000l\000s\000\040\000d\000e\000\040\000c\000o\000l\000o\000r\000i\000a\000g\000e\000\040\000e\000n\000\040\000t\000a\000b\000l\000e\000a\000u)
endobj
108 0 obj
-<< /S /GoTo /D (section.7) >>
+<< /S /GoTo /D (subsection.6.4) >>
endobj
111 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
+(\376\377\000L\000a\000\040\000c\000o\000u\000l\000e\000u\000r\000\040\000s\000p\000\351\000c\000i\000a\000l\000\040\000\253\000n\000o\000c\000o\000l\000o\000r\000\273)
endobj
112 0 obj
-<< /S /GoTo /D (section.8) >>
+<< /S /GoTo /D (section.7) >>
endobj
115 0 obj
-(\376\377\000L\000a\000\040\000l\000a\000r\000g\000e\000u\000r\000\040\000d\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
endobj
116 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
+<< /S /GoTo /D (section.8) >>
endobj
119 0 obj
-(\376\377\000T\000e\000c\000h\000n\000i\000q\000u\000e\000s\000\040\000d\000e\000\040\000b\000a\000s\000e)
+(\376\377\000L\000a\000\040\000l\000a\000r\000g\000e\000u\000r\000\040\000d\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s)
endobj
120 0 obj
-<< /S /GoTo /D (subsection.8.2) >>
+<< /S /GoTo /D (subsection.8.1) >>
endobj
123 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000X)
+(\376\377\000T\000e\000c\000h\000n\000i\000q\000u\000e\000s\000\040\000d\000e\000\040\000b\000a\000s\000e)
endobj
124 0 obj
-<< /S /GoTo /D (subsection.8.3) >>
+<< /S /GoTo /D (subsection.8.2) >>
endobj
127 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000V\000\040\000d\000e\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
+(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000X)
endobj
128 0 obj
-<< /S /GoTo /D (section.9) >>
+<< /S /GoTo /D (subsection.8.3) >>
endobj
131 0 obj
-(\376\377\000L\000e\000s\000\040\000r\000a\000n\000g\000\351\000e\000s\000\040\000e\000t\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000e\000x\000t\000\351\000r\000i\000e\000u\000r\000e\000s)
+(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000V\000\040\000d\000e\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
endobj
132 0 obj
-<< /S /GoTo /D (section.10) >>
+<< /S /GoTo /D (section.9) >>
endobj
135 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s\000\040\000c\000o\000n\000t\000i\000n\000u\000e\000s)
+(\376\377\000L\000e\000s\000\040\000r\000a\000n\000g\000\351\000e\000s\000\040\000e\000t\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000e\000x\000t\000\351\000r\000i\000e\000u\000r\000e\000s)
endobj
136 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
+<< /S /GoTo /D (section.10) >>
endobj
139 0 obj
-(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000n\000u\000l\000l\000i\000f\000y\000-\000d\000o\000t\000s)
+(\376\377\000L\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s\000\040\000c\000o\000n\000t\000i\000n\000u\000e\000s)
endobj
140 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
+<< /S /GoTo /D (subsection.10.1) >>
endobj
143 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000H\000d\000o\000t\000s\000f\000o\000r\000\040\000e\000t\000\040\000\134\000V\000d\000o\000t\000s\000f\000o\000r)
+(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000n\000u\000l\000l\000i\000f\000y\000-\000d\000o\000t\000s)
endobj
144 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
+<< /S /GoTo /D (subsection.10.2) >>
endobj
147 0 obj
-(\376\377\000C\000o\000m\000m\000e\000n\000t\000\040\000c\000r\000\351\000e\000r\000\040\000l\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s\000\040\000d\000e\000\040\000m\000a\000n\000i\000\350\000r\000e\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000e)
+(\376\377\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000H\000d\000o\000t\000s\000f\000o\000r\000\040\000e\000t\000\040\000\134\000V\000d\000o\000t\000s\000f\000o\000r)
endobj
148 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
+<< /S /GoTo /D (subsection.10.3) >>
endobj
151 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000a\000b\000e\000l\000s\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
+(\376\377\000C\000o\000m\000m\000e\000n\000t\000\040\000c\000r\000\351\000e\000r\000\040\000l\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s\000\040\000d\000e\000\040\000m\000a\000n\000i\000\350\000r\000e\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000e)
endobj
152 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
+<< /S /GoTo /D (subsection.10.4) >>
endobj
155 0 obj
-(\376\377\000P\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
+(\376\377\000L\000e\000s\000\040\000l\000a\000b\000e\000l\000s\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
endobj
156 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
+<< /S /GoTo /D (subsection.10.5) >>
endobj
159 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s\000\040\000e\000t\000\040\000l\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
+(\376\377\000P\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
endobj
160 0 obj
-<< /S /GoTo /D (section.11) >>
+<< /S /GoTo /D (subsection.10.6) >>
endobj
163 0 obj
-(\376\377\000D\000\351\000l\000i\000m\000i\000t\000e\000u\000r\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000p\000r\000\351\000a\000m\000b\000u\000l\000e\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t)
+(\376\377\000L\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s\000\040\000e\000t\000\040\000l\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
endobj
164 0 obj
-<< /S /GoTo /D (section.12) >>
+<< /S /GoTo /D (section.11) >>
endobj
167 0 obj
-(\376\377\000L\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000D\000\351\000l\000i\000m\000i\000t\000e\000u\000r\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000p\000r\000\351\000a\000m\000b\000u\000l\000e\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t)
endobj
168 0 obj
-<< /S /GoTo /D (subsection.12.1) >>
+<< /S /GoTo /D (section.12) >>
endobj
171 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000l\000i\000n\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000L\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.12.2) >>
+<< /S /GoTo /D (subsection.12.1) >>
endobj
175 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r\000\040\000\050\000e\000t\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e\000\051)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000l\000i\000n\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.12.3) >>
+<< /S /GoTo /D (subsection.12.2) >>
endobj
179 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e\000\040\000e\000t\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r\000\040\000\050\000e\000t\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e\000\051)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.12.4) >>
+<< /S /GoTo /D (subsection.12.3) >>
endobj
183 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000L\000e\000s\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e\000\040\000e\000t\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
184 0 obj
-<< /S /GoTo /D (section.13) >>
+<< /S /GoTo /D (subsection.12.4) >>
endobj
187 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000\351\000g\000e\000n\000d\000e\000s\000\040\000e\000t\000\040\000l\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.13.1) >>
+<< /S /GoTo /D (section.13) >>
endobj
191 0 obj
-(\376\377\000L\000a\000\040\000l\000\351\000g\000e\000n\000d\000e\000s\000\040\000d\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
+(\376\377\000L\000e\000s\000\040\000l\000\351\000g\000e\000n\000d\000e\000s\000\040\000e\000t\000\040\000l\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
endobj
192 0 obj
-<< /S /GoTo /D (subsection.13.2) >>
+<< /S /GoTo /D (subsection.13.1) >>
endobj
195 0 obj
-(\376\377\000L\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000p\000i\000e\000d\000\040\000d\000e\000\040\000p\000a\000g\000e)
+(\376\377\000L\000a\000\040\000l\000\351\000g\000e\000n\000d\000e\000s\000\040\000d\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.13.3) >>
+<< /S /GoTo /D (subsection.13.2) >>
endobj
199 0 obj
-(\376\377\000L\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
+(\376\377\000L\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000p\000i\000e\000d\000\040\000d\000e\000\040\000p\000a\000g\000e)
endobj
200 0 obj
-<< /S /GoTo /D (subsection.13.4) >>
+<< /S /GoTo /D (subsection.13.3) >>
endobj
203 0 obj
-(\376\377\000P\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000t\000a\000b\000l\000e\000a\000u)
+(\376\377\000L\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.13.5) >>
+<< /S /GoTo /D (subsection.13.4) >>
endobj
207 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000\040\000a\000v\000e\000c\000\040\000t\000h\000r\000e\000e\000p\000a\000r\000t\000t\000a\000b\000l\000e)
+(\376\377\000P\000e\000r\000s\000o\000n\000n\000a\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000n\000o\000t\000e\000s\000\040\000d\000e\000\040\000t\000a\000b\000l\000e\000a\000u)
endobj
208 0 obj
-<< /S /GoTo /D (section.14) >>
+<< /S /GoTo /D (subsection.13.5) >>
endobj
211 0 obj
-(\376\377\000A\000u\000t\000r\000e\000s\000\040\000f\000o\000n\000c\000t\000i\000o\000n\000n\000a\000l\000i\000t\000\351\000s)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000\040\000a\000v\000e\000c\000\040\000t\000h\000r\000e\000e\000p\000a\000r\000t\000t\000a\000b\000l\000e)
endobj
212 0 obj
-<< /S /GoTo /D (subsection.14.1) >>
+<< /S /GoTo /D (section.14) >>
endobj
215 0 obj
-(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000r\000o\000u\000n\000d\000e\000d\000-\000c\000o\000r\000n\000e\000r\000s)
+(\376\377\000A\000u\000t\000r\000e\000s\000\040\000f\000o\000n\000c\000t\000i\000o\000n\000n\000a\000l\000i\000t\000\351\000s)
endobj
216 0 obj
-<< /S /GoTo /D (subsection.14.2) >>
+<< /S /GoTo /D (subsection.14.1) >>
endobj
219 0 obj
-(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
+(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000r\000o\000u\000n\000d\000e\000d\000-\000c\000o\000r\000n\000e\000r\000s)
endobj
220 0 obj
-<< /S /GoTo /D (subsection.14.3) >>
+<< /S /GoTo /D (subsection.14.2) >>
endobj
223 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000u\000\040\000t\000y\000p\000e\000\040\000d\000e\000\040\000c\000o\000l\000o\000n\000n\000e\000\040\000S\000\040\000d\000e\000\040\000s\000i\000u\000n\000i\000t\000x)
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
endobj
224 0 obj
-<< /S /GoTo /D (subsection.14.4) >>
+<< /S /GoTo /D (subsection.14.3) >>
endobj
227 0 obj
-(\376\377\000T\000y\000p\000e\000\040\000d\000e\000\040\000c\000o\000l\000o\000n\000n\000e\000\040\000p\000a\000r\000\040\000d\000\351\000f\000a\000u\000t\000\040\000d\000a\000n\000s\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000u\000\040\000t\000y\000p\000e\000\040\000d\000e\000\040\000c\000o\000l\000o\000n\000n\000e\000\040\000S\000\040\000d\000e\000\040\000s\000i\000u\000n\000i\000t\000x)
endobj
228 0 obj
-<< /S /GoTo /D (subsection.14.5) >>
+<< /S /GoTo /D (subsection.14.4) >>
endobj
231 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000r\000o\000t\000a\000t\000e)
+(\376\377\000T\000y\000p\000e\000\040\000d\000e\000\040\000c\000o\000l\000o\000n\000n\000e\000\040\000p\000a\000r\000\040\000d\000\351\000f\000a\000u\000t\000\040\000d\000a\000n\000s\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175)
endobj
232 0 obj
-<< /S /GoTo /D (subsection.14.6) >>
+<< /S /GoTo /D (subsection.14.5) >>
endobj
235 0 obj
-(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000s\000m\000a\000l\000l)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000r\000o\000t\000a\000t\000e)
endobj
236 0 obj
-<< /S /GoTo /D (subsection.14.7) >>
+<< /S /GoTo /D (subsection.14.6) >>
endobj
239 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000m\000p\000t\000e\000u\000r\000s\000\040\000i\000R\000o\000w\000\040\000e\000t\000\040\000j\000C\000o\000l)
+(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000s\000m\000a\000l\000l)
endobj
240 0 obj
-<< /S /GoTo /D (subsection.14.8) >>
+<< /S /GoTo /D (subsection.14.7) >>
endobj
243 0 obj
-(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000l\000i\000g\000h\000t\000-\000s\000y\000n\000t\000a\000x)
+(\376\377\000L\000e\000s\000\040\000c\000o\000m\000p\000t\000e\000u\000r\000s\000\040\000i\000R\000o\000w\000\040\000e\000t\000\040\000j\000C\000o\000l)
endobj
244 0 obj
-<< /S /GoTo /D (subsection.14.9) >>
+<< /S /GoTo /D (subsection.14.8) >>
endobj
247 0 obj
-(\376\377\000C\000o\000u\000l\000e\000u\000r\000\040\000d\000e\000s\000\040\000d\000\351\000l\000i\000m\000i\000t\000e\000u\000r\000s)
+(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000l\000i\000g\000h\000t\000-\000s\000y\000n\000t\000a\000x)
endobj
248 0 obj
-<< /S /GoTo /D (subsection.14.10) >>
+<< /S /GoTo /D (subsection.14.9) >>
endobj
251 0 obj
-(\376\377\000L\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
+(\376\377\000C\000o\000u\000l\000e\000u\000r\000\040\000d\000e\000s\000\040\000d\000\351\000l\000i\000m\000i\000t\000e\000u\000r\000s)
endobj
252 0 obj
-<< /S /GoTo /D (subsection.14.11) >>
+<< /S /GoTo /D (subsection.14.10) >>
endobj
255 0 obj
-(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000O\000n\000l\000y\000M\000a\000i\000n\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x)
+(\376\377\000L\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
endobj
256 0 obj
-<< /S /GoTo /D (section.15) >>
+<< /S /GoTo /D (subsection.14.11) >>
endobj
259 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000T\000i\000k\000Z\000\040\000a\000v\000e\000c\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)
+(\376\377\000L\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000O\000n\000l\000y\000M\000a\000i\000n\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x)
endobj
260 0 obj
-<< /S /GoTo /D (subsection.15.1) >>
+<< /S /GoTo /D (section.15) >>
endobj
263 0 obj
-(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000a\000n\000t\000\040\000a\000u\000x\000\040\000c\000o\000n\000t\000e\000n\000u\000s\000\040\000d\000e\000s\000\040\000c\000a\000s\000e\000s)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000T\000i\000k\000Z\000\040\000a\000v\000e\000c\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)
endobj
264 0 obj
-<< /S /GoTo /D (subsubsection.15.1.1) >>
+<< /S /GoTo /D (subsection.15.1) >>
endobj
267 0 obj
-(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000p\000g\000f\000-\000n\000o\000d\000e\000-\000c\000o\000d\000e)
+(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000a\000n\000t\000\040\000a\000u\000x\000\040\000c\000o\000n\000t\000e\000n\000u\000s\000\040\000d\000e\000s\000\040\000c\000a\000s\000e\000s)
endobj
268 0 obj
-<< /S /GoTo /D (subsubsection.15.1.2) >>
+<< /S /GoTo /D (subsubsection.15.1.1) >>
endobj
271 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000V\000\040\000d\000e\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
+(\376\377\000L\000a\000\040\000c\000l\000\351\000\040\000p\000g\000f\000-\000n\000o\000d\000e\000-\000c\000o\000d\000e)
endobj
272 0 obj
-<< /S /GoTo /D (subsection.15.2) >>
+<< /S /GoTo /D (subsubsection.15.1.2) >>
endobj
275 0 obj
-(\376\377\000L\000e\000s\000\040\000\253\000n\001\123\000u\000d\000s\000\040\000m\000o\000y\000e\000n\000s\000\273\000\040\000e\000t\000\040\000l\000e\000s\000\040\000\253\000n\001\123\000u\000d\000s\000\040\000l\000a\000r\000g\000e\000s\000\273)
+(\376\377\000L\000e\000s\000\040\000c\000o\000l\000o\000n\000n\000e\000s\000\040\000V\000\040\000d\000e\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
endobj
276 0 obj
-<< /S /GoTo /D (subsection.15.3) >>
+<< /S /GoTo /D (subsection.15.2) >>
endobj
279 0 obj
-(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000i\000n\000d\000i\000q\000u\000a\000n\000t\000\040\000l\000a\000\040\000p\000o\000s\000i\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
+(\376\377\000L\000e\000s\000\040\000\253\000n\001\123\000u\000d\000s\000\040\000m\000o\000y\000e\000n\000s\000\273\000\040\000e\000t\000\040\000l\000e\000s\000\040\000\253\000n\001\123\000u\000d\000s\000\040\000l\000a\000r\000g\000e\000s\000\273)
endobj
280 0 obj
-<< /S /GoTo /D (subsection.15.4) >>
+<< /S /GoTo /D (subsection.15.3) >>
endobj
283 0 obj
-(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000a\000n\000t\000\040\000a\000u\000x\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
+(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000i\000n\000d\000i\000q\000u\000a\000n\000t\000\040\000l\000a\000\040\000p\000o\000s\000i\000t\000i\000o\000n\000\040\000d\000e\000s\000\040\000f\000i\000l\000e\000t\000s)
endobj
284 0 obj
-<< /S /GoTo /D (section.16) >>
+<< /S /GoTo /D (subsection.15.4) >>
endobj
287 0 obj
-(\376\377\000A\000P\000I\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000\351\000v\000e\000l\000o\000p\000p\000e\000u\000r\000s)
+(\376\377\000L\000e\000s\000\040\000n\001\123\000u\000d\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000a\000n\000t\000\040\000a\000u\000x\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000s\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
endobj
288 0 obj
-<< /S /GoTo /D (section.17) >>
+<< /S /GoTo /D (section.16) >>
endobj
291 0 obj
-(\376\377\000R\000e\000m\000a\000r\000q\000u\000e\000s\000\040\000t\000e\000c\000h\000n\000i\000q\000u\000e\000s)
+(\376\377\000A\000P\000I\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000\351\000v\000e\000l\000o\000p\000p\000e\000u\000r\000s)
endobj
292 0 obj
-<< /S /GoTo /D (subsection.17.1) >>
+<< /S /GoTo /D (section.17) >>
endobj
295 0 obj
-(\376\377\000L\000i\000g\000n\000e\000s\000\040\000d\000i\000a\000g\000o\000n\000a\000l\000e\000s)
+(\376\377\000R\000e\000m\000a\000r\000q\000u\000e\000s\000\040\000t\000e\000c\000h\000n\000i\000q\000u\000e\000s)
endobj
296 0 obj
-<< /S /GoTo /D (subsection.17.2) >>
+<< /S /GoTo /D (subsection.17.1) >>
endobj
299 0 obj
-(\376\377\000L\000e\000s\000\040\000c\000a\000s\000e\000s\000\040\000\253\000v\000i\000d\000e\000s\000\273)
+(\376\377\000L\000i\000g\000n\000e\000s\000\040\000d\000i\000a\000g\000o\000n\000a\000l\000e\000s)
endobj
300 0 obj
-<< /S /GoTo /D (subsection.17.3) >>
+<< /S /GoTo /D (subsection.17.2) >>
endobj
303 0 obj
-(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000-\000a\000r\000r\000a\000y\000c\000o\000l\000s\000e\000p)
+(\376\377\000L\000e\000s\000\040\000c\000a\000s\000e\000s\000\040\000\253\000v\000i\000d\000e\000s\000\273)
endobj
304 0 obj
-<< /S /GoTo /D (subsection.17.4) >>
+<< /S /GoTo /D (subsection.17.3) >>
endobj
307 0 obj
-(\376\377\000I\000n\000c\000o\000m\000p\000a\000t\000i\000b\000i\000l\000i\000t\000\351\000s)
+(\376\377\000L\000'\000o\000p\000t\000i\000o\000n\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000-\000a\000r\000r\000a\000y\000c\000o\000l\000s\000e\000p)
endobj
308 0 obj
-<< /S /GoTo /D (section.18) >>
+<< /S /GoTo /D (subsection.17.4) >>
endobj
311 0 obj
-(\376\377\000E\000x\000e\000m\000p\000l\000e\000s)
+(\376\377\000I\000n\000c\000o\000m\000p\000a\000t\000i\000b\000i\000l\000i\000t\000\351\000s)
endobj
312 0 obj
-<< /S /GoTo /D (subsection.18.1) >>
+<< /S /GoTo /D (section.18) >>
endobj
315 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000a\000\040\000c\000l\000\351\000\040\000\253\000t\000i\000k\000z\000\273\000\040\000d\000e\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000B\000l\000o\000c\000k)
+(\376\377\000E\000x\000e\000m\000p\000l\000e\000s)
endobj
316 0 obj
-<< /S /GoTo /D (subsection.18.2) >>
+<< /S /GoTo /D (subsection.18.1) >>
endobj
319 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000t\000c\000o\000l\000o\000r\000b\000o\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000a\000\040\000c\000l\000\351\000\040\000\253\000t\000i\000k\000z\000\273\000\040\000d\000e\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000B\000l\000o\000c\000k)
endobj
320 0 obj
-<< /S /GoTo /D (subsection.18.3) >>
+<< /S /GoTo /D (subsection.18.2) >>
endobj
323 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000t\000c\000o\000l\000o\000r\000b\000o\000x)
endobj
324 0 obj
-<< /S /GoTo /D (subsection.18.4) >>
+<< /S /GoTo /D (subsection.18.3) >>
endobj
327 0 obj
-(\376\377\000L\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
+(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000t\000a\000b\000l\000e\000a\000u\000x)
endobj
328 0 obj
-<< /S /GoTo /D (subsection.18.5) >>
+<< /S /GoTo /D (subsection.18.4) >>
endobj
331 0 obj
-(\376\377\000D\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s\000\040\000q\000u\000i\000\040\000n\000e\000\040\000s\000o\000n\000t\000\040\000p\000l\000u\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s)
+(\376\377\000L\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000s)
endobj
332 0 obj
-<< /S /GoTo /D (subsection.18.6) >>
+<< /S /GoTo /D (subsection.18.5) >>
endobj
335 0 obj
-(\376\377\000L\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000t\000i\000r\000e\000t\000\351\000s)
+(\376\377\000D\000e\000s\000\040\000l\000i\000g\000n\000e\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s\000\040\000q\000u\000i\000\040\000n\000e\000\040\000s\000o\000n\000t\000\040\000p\000l\000u\000s\000\040\000p\000o\000i\000n\000t\000i\000l\000l\000\351\000e\000s)
endobj
336 0 obj
-<< /S /GoTo /D (subsection.18.7) >>
+<< /S /GoTo /D (subsection.18.6) >>
endobj
339 0 obj
-(\376\377\000E\000m\000p\000i\000l\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
+(\376\377\000L\000i\000g\000n\000e\000s\000\040\000e\000n\000\040\000t\000i\000r\000e\000t\000\351\000s)
endobj
340 0 obj
-<< /S /GoTo /D (subsection.18.8) >>
+<< /S /GoTo /D (subsection.18.7) >>
endobj
343 0 obj
-(\376\377\000C\000o\000m\000m\000e\000n\000t\000\040\000s\000u\000r\000l\000i\000g\000n\000e\000r\000\040\000l\000e\000s\000\040\000c\000a\000s\000e\000s\000\040\000d\000'\000u\000n\000e\000\040\000m\000a\000t\000r\000i\000c\000e)
+(\376\377\000E\000m\000p\000i\000l\000e\000m\000e\000n\000t\000s\000\040\000d\000e\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
endobj
344 0 obj
-<< /S /GoTo /D (subsection.18.9) >>
+<< /S /GoTo /D (subsection.18.8) >>
endobj
347 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
+(\376\377\000C\000o\000m\000m\000e\000n\000t\000\040\000s\000u\000r\000l\000i\000g\000n\000e\000r\000\040\000l\000e\000s\000\040\000c\000a\000s\000e\000s\000\040\000d\000'\000u\000n\000e\000\040\000m\000a\000t\000r\000i\000c\000e)
endobj
348 0 obj
-<< /S /GoTo /D (subsection.18.10) >>
+<< /S /GoTo /D (subsection.18.9) >>
endobj
351 0 obj
-(\376\377\000U\000n\000\040\000t\000a\000b\000l\000e\000a\000u\000\040\000t\000r\000i\000a\000n\000g\000u\000l\000a\000i\000r\000e)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000d\000a\000n\000s\000\040\000l\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
endobj
352 0 obj
-<< /S /GoTo /D (section*.2) >>
+<< /S /GoTo /D (subsection.18.10) >>
endobj
355 0 obj
-(\376\377\000I\000n\000d\000e\000x)
+(\376\377\000U\000n\000\040\000t\000a\000b\000l\000e\000a\000u\000\040\000t\000r\000i\000a\000n\000g\000u\000l\000a\000i\000r\000e)
endobj
356 0 obj
-<< /S /GoTo /D [ 357 0 R /Fit ] >>
+<< /S /GoTo /D (section*.2) >>
endobj
-360 0 obj
-<< /Filter /FlateDecode /Length 10176 >>
-stream
-x}I%~;J  Td(4RukF1#i ̒009if\nn2On?d/fotg׿1!ΘIg?+χM*pC,~j@k[CAv1-:ǭz.n!Eښ)7qy ovS7<j?)hZNdR=4A[iTF{+]N2Qq)lPImճ T_ech o6ukPne)
-=CoLެ%x'z&8 й2<1en-zO+K4Zi+t!ow^r'۱jT oaXB|veլykV
-OAOIS_@Ply0Ҧ Gn'CKnvtR朻c.,wW7Y:o_nxky'HOˍۅ{{)js c;݀6響%QƆ(¬v_"Ķ
-r{4'g
-Uc!ƹ:)%aސ; ^.)r2Ryј8Ku?4Ҿ ffy
-fmJXC=T'`K[d𤄶- =- Z3`+f‚KtMY讥z7@3<yFb(aSI*< _ %@E&6`FڢO LAŖye%(q4$b
-P:PF|vÄM<"Q%wVb8Yw Խd1B&,Ok$D&4NVW8=is1n3hPA l[R9T} 
-lHVٹC#TX/;\UD{qJU+viFvI-^P)9Dy#EP$*,cAWlӌH[\!st#H*B.)N[ d: xlԬH\[:
-<L0iajWo;*Wj-s01Ol5FrqDJє5ˆ xDViZ |G{dPY
-b^*1D#V olbI
-ǡS*LL1U,TW<Ql[-jPt/EGUQï'/suz4uDLaU$+h$:*zu QAv9b!SKdS &$h: O5HJPa~Ƚ;@!yB(k421m.8nx\JkVDAK".i6H7䴨N!!OQӝj5e4 xDV*Jjb!B>'!y6SR407A6 %5ִW-(UW24v4/f qA|2 ćgݜKcTRp)!) 9y`[WBGC"N@0q
+359 0 obj
+(\376\377\000I\000n\000d\000e\000x)
-ux2
-A#óD{KSÌuf-965g)EкZȥ> !&Ճ4ڒ̨}!q{JG
-Ykz9c7Ab3DHa0DEڛWoRXaZ)H\!`P"f\'DP*~wK fTtx B, P~[P( hL=^QFyeRFԾ3c&-IwejmB.ηZky(9
-!%TTwLoz«1ː\~r4#jҘ4a Y ٧1J(Tb,'TvHPi\&6  P^cFS;"}1Ps$n/}%TgP)3eU&=qHP(&taq4a4FvJH2(rTk-Ȉ:`+ 8P{Tgbq2!#DrDR#1kHۻ*" UD|9؄3  :
-I>^ 5:KPUgTa\(>lX1&E M(*ye;aC r%pLANc9(rkc)PNec;)Z8bœIE4L%qDL&DEl8(-Sl),R`L(O≅L]<|\`Px(Fx1iBFQNZ l3sV
-Y9%kh0nflBrdݷZ46:q䴨U؈y=#Y;g)+
-U(xa3V -HKV=64! cYFc6D.J@]RV]L z|1H˜qገ#Ymc&I9J\*
-ٔS$j秬H@Ψ LѠ(С~ٛ7QH BQTűӬVc)6Ld-6J$']mG<TS R
-0I3o*JQHgp2mR/8_F"Mn a;GׂfFr U\AKe U %I4:ai3aQ6]+ N'TK .A#*J48i쳨}}vޮ% HDj134T(FT8&M(pǬvFl[]]k N'Tq .B&^(aLhjEU ky53O
-U a*fd
-QT(qLQ KY ۧ7xV5 O 38TL|\QˆQ
-KbwEELFst-kf(ӟPT ̸PZQ4A&> O3o,mvk4 T|/c*[_<W6f2,NEAQ4U؉-vi]p:vDx{N4UU"{Zɳ^N ^$^ԉ2aH
-*E%D/'JaސȽsQ {ר-vT qAj+ebUMDj`5gJ$#kU"{Bh?<pY6܄@"
-V`8iXO4&g"RXbjH8ZPk S u[5M\XD&Kdv 2TX?$q\,gjzQBӘh
-(M&Dx'J(ΈrZG((=pk(SeG]5[X0D&pLd
-Y/bMCc3T(
-QH]&=D'1vk~gO+ʕ>O30q3 !0nr1&!?\3t@~<{y}4##krvķK/ĝol
->’4(iH/#ͥ,t,j~djkl5[toķ0xN
-/J¡ЏJ+\v}Zjeby~U3è<D]xʨMsu%e}<*Y"~kf|kL%bV:r.:ùO*wLg5ZZgUs${#/&NI.`e}Jko*@[$zY:-|Sז8[RNnena 5o:g
-ގKƫ#>0I`v*UdܕoX> xIyuBm'oV%(0Q3OF0ZZu}Uc ohɉ,4xZTGVa91;6.$
-I^l%fޥ"M*٩ueZSJ 6Ho24ܗ궲.ȤΏ܆4
-z1;fFߣ8xsk=#%T:ޖm@AVA=ywb9oͱev?i!^X0+U]#9I# x蔏YI >麳;ťAɮu n #.?܋uM~r4(~zXbV3)2:]%IMُma
-|;:^ܧ05ޚ;//[<+ ]Hn®F̂R=*I._~=:{M܆/
-kjb.ױOwy.Wku>g ])ςUN-M.u )M1;EJ)q5ǰ;:9 [+gX
-i3ۥ1nު!?n^77Se_oʝTt]/d
+endobj
+360 0 obj
+<< /S /GoTo /D [ 361 0 R /Fit ] >>
+endobj
+364 0 obj
+<< /Filter /FlateDecode /Length 10172 >>
+stream
+x}I%9=;VZ2^@c.9]Fѝ5.Dg#2+tgI-&3O?ywfl _~s7ger_oɘ}OxgLƤo3 E?+~'pC,kt5-!ڃv1ڬDeЖ]B$5cR|7y˃X>
+$ o)ggPH*
+}ksfs&XBZ?ĸU iawV@h Xq<ZMJ ]lץ2:}bh]<egE#-߷K頋⮍~-_Me$?E]8,(Q״6IAO)ڢS_utF
+&1Ќi} A4!Zc(Tjf!^9n{A8rcb?#u jUFuחS7x/~:~8s ȺOD#; <8 V<SG2BHc,6H(ZC{t0ﮢ eR|nL\;l=N]a]>P'sa`SQkР O5< h1l1ˠ g@u+hEuО 8fp3b3gP_p|!b) "~8r0q?@*eQ+vZF\#=ǠE38A{0#'0qX#v)&1ƿZq3&\e3.]~}ew*D& 'v6pڏ>09uvVxvgm~9{qnYv QjJ~ 3+o0B,0\VTnr7I.G'37` yô -}x N7MA~:/l9((c3
+ 
+ǡ/m>MSa]1ALʢAQHRP> KRkJa/su(᧰:k%4XL"ip$zWS ,%<JwoK$ dn;xO+d \B!Ru!rHF WL:BǩJ;4PUI"ﰒ@@~IXtb 9z[')%W
+ Wڬ7U'mDN6I6rfJ @e$<Y-W%b0y<E¿
+lb$0܊ġ*L*̩P_vSd+YԩOFidde*vS#IaWGdQKJtm=Wwc sg$BUe'-2IF\Iq *x+l)qu{o
+_] &oYՌ)Sd)YGS(.6٦G$jS2b*A]LK!3
+∕,hT֧"/%$mpsz&L1uZ("DuoAWRG8N2N&\]9@Isj:%;k)I3KS֩Widn;xP1X9dN3N*Op]$ Ê<UhX:Y$r5GBM+L Fc<RB.S|5+@L$|GQ81A)
+bsXͳFݰ6="Q!Pnq51Qpkh!f;>H̳IMa dso Q5h5͋!mՆF 0FOQGd0}2 ć5[&1*o)\hSмPO QD!!AO[' Q8&4k7&#8
+!!T
+H_B
+*(wJeoւ(# i9WJUU!Bf5ei3JZd/
+pFȀGx $BLEe Hb$TMY KE*RΨo,^Cyc:<xbD7H
+A%X*x(#q; !t
+ŕuz0.\p 6J`f,y)m6Jް2Uؐ}OFv8B& 'E\R15T('K󲱝 IyC1BaΤVy"`v8ˆBJGC"&pˢpb5
+Gv;Ev~A)
+
+x0:= k 0 ȏaH0gLPzJqLR*gV+a{6e-19QW
+) _MJEH$U(Fvk94'
+U _*4.TFS8&)huҦϬVMFېvh O g8\F*T8&Ip$3Sg'ٷ!mZhF?&N_fS)D0R"1IA#6=f
+o2NφյQp?/T7LPpz"1I#ݗ)e6n KQ<BP R@#CU`ZEcBFP7,mj4lddXZ(8۟P\(pQ|\ˆ"
+KbwF4m2
+kYLBP b@Bu`jEcFP;,mj8lddXZHD]z_T[_<W6fr "h-V]T8\j;i"DzBj's:"{uSVTzY/'B y(UB&($TrkʛO
+idސȽYϨ=kA?* 5ꕢX{USHIX)Ldv 0TNHw]g<ՆS*"`
+FQah,I&ϦȉԮNV !ߡFbШ+ըiŠԊ6R *adĝXZ( =2
+zQx !5M
+'R2NgoU9oy5
+FQFV,ԀV"DŽH@hP C'tD}{Fɳ^3ʐ5"HRRł$ bqX4mӗ)qu[VK嶿)ͻ>xU{whfkl|cx^'Ƣ*J-9ď֢"f)_'/&EU~[q_iZƫ|ٸ?'O[Ѧ~Pl̽=]4_Kj`WŏK%kVCůC&f.!FH@(^
+,}i 5[]1/,G!؞ݿ_߿d{~dk7gۿ𳸄2\~kMx]kN9l\E=<> ?= nb9
+[Wt|Nb|rI_7(ާ7byAm8zBNDs|ĿD |Itva1'z$h#-|a;XҳۇzIT|U\`S {70[z?pxVc@}^*;@`
+#NhL:K+\}'YU0w,HEp59RH:rbu
+0? ?#_Cf,w_fMr g
+sh)tŦ0_39?^Ma,ׇًxRiZ&.#>L]%Z<L\G~Ǽ-f0MW{kMCLKk%xcNC}0g=)) ~<zϠO%x^ nZCaR_&ڗȊ4" GdD6yIAݥk(S
+ oM,29[{ZH.OJ
+UGy&,l<`YkB.
+;j m&ؔ!3ې
+ $s7;oR6Ü&]{qŌ,v#~z|aLĔ69)N'h;|^x:ї;udl>s7!2ާS};OE[S>
+nٳ,%8pk[h@*>{o?u\uB(yFxFc1_9Fikh+ \[PhOb;u{ErGԤ%7cL6?ۜX6]H=qk[?Y4fzRpB Lt(cp8ҟd>QO_ByUCz󍙎e0ߐY/Ym-qմ- e!j&W:ijfvOkj!Ƌ]
+'0Ek~.v@kKŭm)i'27օ7{Now㕑Yu0;ϼdUx."48x"I,mĝY'vFg}f7jisk{}؂{*XypYh0) 40ITʌ1;Ix/fnYvw/
+VJNj[3~hR6rh2tu1_l |K$9K;*Yd7Ϯ
+B9ɯ-qܴ>i<Ml<B(9Lm"R.'w.ЇD, w;q-A΃†
+"gΘڅKK l]ݵ s丳jja NrU9-흢:[\SU!q_xx0`Г\6GRp
+f[.j`B-p? #hN;6g33YՎ9 U4reߙǢL?2߃zٰKhޥ$)gvj]njT_ ۜ] 䱺 sRdVnCK1׸}aKY3*#B0F6#*<!;>UF@ףŜm?n.bqltɷMmo/\:u_fR/@*y &VMqb|hM("aGR4Ճ*\Atַ JX@g)/h3px*h b!'ҚU]8Jct-)ho3־3Uٛh~ܶH?%p!kp\n O+N ѧ Ƒ'kM[Ϥ})c/KpqBlƫ$D D$8Y.MVu¨&|Á
+<%T-|
+adG.|thKjE>Z>ڵ7<P~c7~ J9bNruՊ:QѪz1;2QVGI~3"A>]oht%-2]KۣHxr^[G\=#$B,n^HpV Sԉ}|
+B~ Z+%Pn0X 2W7_cޜlHV+GbS|N.BZtШ9h8j$w3t#]~QT?l, ;Z&Ar^iH??~8YlFYC4FVh#`dd#l[(a1?\ė$S1EH)Q͙cLM̛ahu4%Wr^ZaҘcw o@7|\|Wk›T輋1wyȾԤ[gKyw2Gxtf|iЄ2 #cl'x'CV_;ʡ5:
endstream
endobj
-357 0 obj
-<< /Type /Page /Contents 360 0 R /Resources 359 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 391 0 R >>
+361 0 obj
+<< /Type /Page /Contents 364 0 R /Resources 363 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 395 0 R >>
endobj
-391 0 obj
-[ 358 0 R ]
+395 0 obj
+[ 362 0 R ]
endobj
-358 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.495 499.819 87.952 ]
+362 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.495 499.819 87.953 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty)>>
>>
endobj
-361 0 obj
-<< /D [ 357 0 R /XYZ 78.37 808.885 null ] >>
+365 0 obj
+<< /D [ 361 0 R /XYZ 78.37 808.885 null ] >>
endobj
-362 0 obj
-<< /D [ 357 0 R /XYZ 79.37 771.024 null ] >>
+366 0 obj
+<< /D [ 361 0 R /XYZ 79.37 771.024 null ] >>
endobj
-359 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 363 0 R /F17 364 0 R /F30 365 0 R /F39 366 0 R /F48 367 0 R /F47 368 0 R /F49 369 0 R /F50 370 0 R /F29 371 0 R /F52 372 0 R /F41 373 0 R /F42 374 0 R /F23 375 0 R /F51 376 0 R /F15 377 0 R /F20 378 0 R /F55 379 0 R /F56 380 0 R /F57 381 0 R /F58 382 0 R /F65 383 0 R /F66 384 0 R /F67 385 0 R /F45 386 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+363 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 367 0 R /F29 368 0 R /F38 369 0 R /F47 370 0 R /F52 371 0 R /F51 372 0 R /F53 373 0 R /F54 374 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F21 378 0 R /F19 379 0 R /F17 380 0 R /F15 381 0 R /F16 382 0 R /F55 383 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F65 387 0 R /F66 388 0 R /F67 389 0 R /F49 390 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-396 0 obj
+400 0 obj
<< /Filter /FlateDecode /Length 4030 >>
stream
x5hgR0u`h
@@ -691,1517 +709,1547 @@ XG7a ( /PvJtBO|}$R? [#,FY" [~_~yT
dp6ɞV p,~5sɡuPK
o^CЊ,M$HSl  +ؙRGpS/Xx[i@qa8m
`>{ 1ڶz9T/Qr,&`[y-bZżHVo9o]kYSa!&Ƹ~+ljS1}(فpG%
-Rn}!6jV0dCDo$Xڵ@$?M " T} uw] c\tM%,ʳZ.G|6pI`"!n۱A#p"ayGL%Ԁ>XzˆA/鍡DC*Яm#AEBh В(pr}öU@ح˶ٕk 끔#iyy3Y;2OJ[yp9p=[?Q&'Z[!,^((8⌰j by_YڬW\D(^ MPFFQ* 1#5<=a(^gLjgu^IF_Ev=} XźGMc3„{]kQ3.p+l.LF)1tާpϨ~S.l.!D@zХ' i:Z} \|LȜNd]
-%:,G̚cojQ* ,,U'[1B,*RaKS^n$Pֆ-KZgK%nUf4akD!0BGDa"+W0zlr@n/u]@^A)MKu!8"edo<3~Υ8vc%Z+ պ.۞.`z?y$5f27m# ҦM Yv3EY]~ P&٧]]fnUD,>5Y8?:2 dl_!'|5J6[E}n3@1H0KB:ʍۭ3kʥkϢlc܄r̗s,hD!6^ZwcT)^r Pm'  e2
-QDiҖ81W6ny0%eZM}Ka5]j`7aM#lJ&r=: ou*9sbD^L߅yQ1lj9@k%ˎc542
-zJ=nMzZJ, % >`aE~wRl j~^5ZikC.ĥ
-:RDbV^
-ǯˤ%]㷤< &ɉ2Lo#LG wA 8Ea t
-=ʰG,#niԠ t.&e3 E3h/oìsX ?n3
-m'dH:LyM=#疘7KT XcYH[`Ub- .o5uR`t~XwG@|q 2847p#)3XPnw^WH(+
-_23p)azdpv ⴭˍ!Z!nҙ!ƴI,]kCu2ޭ7pm۵e5 *{P|%$Z
-
-ס 6-zaXz;ˆPBN:]ׅZ4}R`HG mp&WaDztIX ȿQCH[DBdή3!T^C=Kr&veQ_
-1/[4%Aݔi} LCc4_41T@'7ƻN P"t#19UJ9Pk(=Yk2AOUxV.#vZ))Ytm4gGA͢i\|\{Z IH{;:jsIj}0)*p'dKX|}e2a–Ziwg꛵[@#܁xzHLSCL􇚝;U2a܏9A: aJr~kR)}ECf\I4?@CW
+Rn}!6jV0dCDo$Xڵ@$?M " T} uw] c\tM%,ʳZ.G|6pI`"!n۱A#p"ayGL%Ԁ>XzˆA/鍡DC*Яm#AEBh В(pr}öU@ح˶ٕk 끔#iyy3Y;2OJ[yp9p=[?Q&'Z[!,^((8⌰j c&[zE MŀЄ
+mC}
+?"aJ 'K ]*pFU۪qͥDŽD["^ϲqĬ96 &f5Ȫ
+emز˨qVTy]eNfkѾFR-z #zD4-!R+,q%&w T RU t)..*M.aHܤH49^P#R1*M0\Zc'>Ve(iYa Z!
+AXm&Cq6 "m:Dze7S9
+Dv. eSp">ձ]nxV<r
+eV6v[-ͱYoQEjh}-$^懞]'zjλ3;y#;gBt!*p'dKX|}e2a–Ziwg꛵[@#܁xzHLSCL􇚝;U2a܏9A: aJr~kR)}ECf\I4?@CW
3sP*[Zp
Ju01 ryL,
-)z:-̮kN/=9$&!-`"F5F<hcx.ʰG,ze~-AdEoeT5jZEX:VTMc(a͊>p7@M$v_=yQL}JyTC4h'"qqb³&ܫyiƪG<j"? W||@x,MKl:K?
-ms@o<E
-⭈cy킻sy>G:pa'tec:eHZ;Ҙn]5~1p-X1+_ސM<LfƂGBӸdgJoM9HЀ1wFqF\~$&&B>p0jd\n3)}ln[*d56U4m7q31IvKm tWLˡZјIDaF .g(V`u JhxZ]5ؚ<_m!Ĕr8%2vTB,IFv
-6i^R
+)z:-̮kN/=9$&!-`"F5F<hcx.ʰG,ze~-AdEoeT5jZEX:VTMc(a͊>p7@M$v_=yQL}JyTC4h'"qqb³&ܫyiƪG<j"? W||@x,MKl:K?
+ms7"x
+6A^
endstream
endobj
-395 0 obj
-<< /Type /Page /Contents 396 0 R /Resources 394 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 401 0 R >>
+399 0 obj
+<< /Type /Page /Contents 400 0 R /Resources 398 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 405 0 R >>
endobj
-401 0 obj
-[ 393 0 R 392 0 R ]
+405 0 obj
+[ 397 0 R 396 0 R ]
endobj
-393 0 obj
+397 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.926 133.102 201.881 145.058 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-392 0 obj
+396 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 317.374 85.96 327.831 97.417 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-397 0 obj
-<< /D [ 395 0 R /XYZ 78.37 808.885 null ] >>
+401 0 obj
+<< /D [ 399 0 R /XYZ 78.37 808.885 null ] >>
endobj
5 0 obj
-<< /D [ 395 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 399 0 R /XYZ 79.37 771.024 null ] >>
endobj
9 0 obj
-<< /D [ 395 0 R /XYZ 79.37 443.151 null ] >>
+<< /D [ 399 0 R /XYZ 79.37 443.151 null ] >>
endobj
-394 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F58 382 0 R /F67 385 0 R /F70 399 0 R /F65 383 0 R /F29 371 0 R /F51 376 0 R /F26 400 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
+398 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F67 389 0 R /F70 403 0 R /F65 387 0 R /F25 375 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-404 0 obj
-<< /Filter /FlateDecode /Length 5116 >>
-stream
-x]K$ׯ
-)qx{_22Id,m# U%liTmo
-o(^66
-,é
-KRExL_xk`~Gܚ_^|;sshN@za0v&|s@c34F.~rSd4 F/ b>bBI;Ήp4g<"y3Q7K͚ڟ練
--'K+R\,aIPhsp#c1Ț9L9:KO!2Btsfc{9kGļߘ7Oe7QÍxVt$mona'*۰YYCqa㛨
-wTΝ@t-(`Xpݶe%\1˱>Idr65NαL4dnWZޅd]%ʱ0ڠ#~_QV?Eb)UBɂ~+ aLՒS/RmXMެoG f+v$ѯ5u"qy[vz-m\DHXl!iP[axN8NIN[F^ [ih#'5 C40뒽7:Cz^ɁlLHSG,hs~8
-&p0$
-;m L^a6\9dGf0UsYBRԱB#KcK4Vu?z]]bǙRwgH䖆uǥT7TJF//j=wBmuhΠ`1%bk?d
-)5=Β☑tRԏ㻷c
-S^JJA3$7DQ4za|[JGުD ~= Ci
-S?hms"8vPrω銀EKNLXuBwrvc$L5qwW˛S@X
-4X P0Y
-WD}QKK!_JgOb4:G3^Tp<ieJ
-a1O.%cW`I.$UZ#=銕Δ;LB91d8#   ֥u_dOoGb0V52 %Y(1!s LlJ[T1>?u9AXҥb($VEgu v`gM [عLp&tL~])S;b5ۦty. N@|%QV8A2Ӈ@N:7@Y$!д?A0/F6tazǁʇs>[ӁUȝE>\7{ƙ6Uwbӿn-Jon7 I
-C)vv9d#ZNs#R~!{bBPyܜ)AnN M
-<l(C(!:IdWN^ND eu\fNpITe\CO|ڸ4vEߴ)l#3j
- Zx ^îo9dO??\\V#3q'|"( (2~팿&sb4ݽ/+}eSӥ3G*9`:qq6u!
-y0ؿlY|!9n"dhQv7
-k[iw1ox3%X}6Fʥ6y=B5ĭ(Xpw6@uko!W`Yt`ޡƟ('K /YF)ˑxGIC0KW#',
+408 0 obj
+<< /Filter /FlateDecode /Length 5117 >>
+stream
+x]K$ׯ ~
+r%i)tp\ ϣ ߣQ<W ±U}Qa9B.?h ߃daעӁFc`Q.
+~C <phxD.-FNnm`?]vV|K`8Ɖ)TaIԑk`~Gܚ_^|;sshN@za0v&|<9VX|l2Du]fV*h0_5^ b1OspD|8ZX_2Ff,dݹ:)}oћ5?S/goӡ4
+K8t^zdm: `/Jjg&%nvƚ5Z&hM*F$uE-&б儗VvFkeKvGkf$ M(9Ț9L9:KO!72Btsfc{9k٣^bo?CM<m7bQoފΟo| navq6+;<nB6l|Unv۹w.b,4 $R+d94v>>9A&^aSDCVp]x&"-1<T&*8M⌲ٱؤxJ5u JjxSK[Աmɛ lŎ$WV?.o\N%p۶E-Dqv%NKp HEoy;Vz>)u C40뒽47:$ē)&-XШpL`*I_=70y\vp;7TeɟKjNJRi:^:DnU/InNޕ%z)500{{wDnO\w\JͰ!R)m|D v3ɿA:cKӍrJDSj:p#U%1#[[VG0N~޽K(URR
+7%>0F)n%B*%xIJ җj&ym_O`&(55zTFRb%%ҌK!
+OI 4|S!%JY5& l6mT9]3iCk2SPPt#Pa
+R:{rst;E(H ǓVt `u5x0mL9ǨCZeG7+y_RHe#\;Qjuqy-:dŦRFkl]~}
+v'WlZ,80 NZV Qy3j'Sغ<W/]os,R;MRXBYBEY]D~5n
+ҦqBH+\TɇI%@+bK}%[@ ,_ >/:۽{oWY_f )W,WJˑh"rEP:EsGl4whL?o4!T ya!DS60<tz>!Y6. 7RM
+0rS+pɧ8Z
+/ .'Ԭxb*(enb:)O؝!ʈ\`ay ;L#U.Znr>9%p\ۘ+5&2ؖBqD3$bm
+ ZqEv/a[NK@j?s&:c```B:뙀"0C}qkѢL<9]:~|2k ﰚ
+M`oA-3G5Ik}{j f`FfOz>4DZ.
+^hVeg"NafC
+-pχaF$,
,YY
-l\j5i:O.MoTL9P,0L4؝ 8K 0%&]!ST[
-E;}W(m!E;71⌾HM>X8ۗ8qp9{p9x^ o'[ṪΣ!5qvr}t쇬
-VH(,]9,l˷ӫ??&`^WPjr~rT|
+l\j5iz$2].& Ys3Xah;qK 0%&]!)OCzwS+ն^dn;=v8/RNEkK8
+(N5y?y
endstream
endobj
-403 0 obj
-<< /Type /Page /Contents 404 0 R /Resources 402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R >>
+407 0 obj
+<< /Type /Page /Contents 408 0 R /Resources 406 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
endobj
-405 0 obj
-<< /D [ 403 0 R /XYZ 78.37 808.885 null ] >>
+409 0 obj
+<< /D [ 407 0 R /XYZ 78.37 808.885 null ] >>
endobj
13 0 obj
-<< /D [ 403 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 407 0 R /XYZ 79.37 771.024 null ] >>
endobj
-407 0 obj
-<< /D [ 403 0 R /XYZ 337.806 486.345 null ] >>
+411 0 obj
+<< /D [ 407 0 R /XYZ 337.806 486.345 null ] >>
endobj
-408 0 obj
-<< /D [ 403 0 R /XYZ 337.806 474.894 null ] >>
+412 0 obj
+<< /D [ 407 0 R /XYZ 337.806 474.894 null ] >>
endobj
-409 0 obj
-<< /D [ 403 0 R /XYZ 337.806 317.011 null ] >>
+413 0 obj
+<< /D [ 407 0 R /XYZ 337.806 317.011 null ] >>
endobj
-410 0 obj
-<< /D [ 403 0 R /XYZ 337.806 305.56 null ] >>
+414 0 obj
+<< /D [ 407 0 R /XYZ 337.806 305.56 null ] >>
endobj
-402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F51 376 0 R /F54 406 0 R /F52 372 0 R /F41 373 0 R /F26 400 0 R /F65 383 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
+406 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F17 380 0 R /F26 410 0 R /F20 376 0 R /F18 377 0 R /F22 404 0 R /F65 387 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-417 0 obj
-<< /Filter /FlateDecode /Length 5479 >>
-stream
-x=ˎ$78ڇt9 xO`N}^ԋBY=ve2(/Q
-_$OHj' "Woj\>E?ϭyŕB>xhpó J4a%@$.1'kV GJy!EYXc+QL#Wg^_'2 .qN93IU+ӨXھDxr7mgP0*ken΅p¥rZ7\T6A%$f.7+cWF[k͇$@R*'G[T
-XDP!㩃 1B
-q3u`-ꢹU`]H& 'NLtO"W䑡X=E Oa#i,H$eUWǸHЌSk$EKj֞'ljתNuyB#ڬpf:c*V%^!YC0G#kaM C
-$= boln{ !ТmOWʵ(jk#@ѝѥjUo2N[Ll ?l57 dz-,lSf2R@ٱY<Y&ANY5Aj&R<=4x}쎵`Muk006e^kO”d=Qk5 `TU8i*oq8rɴFA2gѽ e,)*q-TUi8 I\_diG>8^aUݶjU{0 y%#IגꦠJJRw CŔ SEصNٵte^S> H
-5d0(ê&\m F EIt}c͟+ CSg< -^kMP/o߸Y5{ smڜJŝn^_i/xv&Z!h5vP}Vok7:N%=H
-nBRaL+ ͖mvu_J]uaM]- X_r;Q3=}a+IeU$ny(_Wm
-ÿ&(򬰨kL}AJ 9ҙ31oV^ZmCت}uRAR=:]i۵ƪc^һ[oh!Pk}vpQ/>CU˞7ח~Tq/aybN}Ϲλ߹)ՖzCJI?~fHq ݪ^"$9?-ORjZC%l#HHqZM[
-zNsk3@ ɸ4*ٻz#T̿$m\a_- kBd|<k؂}ҰD-ZC<C3yI
-٘JeoWcC e!Z}&栓Ws[wćsסwN 3cJH4P}G;0;YV0Qc@3N 뱴ƻu|cFWib\Av>_|K)#%' ,xcC.IMWaT2\uS69
-]wPx²W;f0I괘4dT H-+.>S@h"8Nw-M@[{v}Kr$ F#]RO羝%fQJF@F!$(cf@_Y9ݖ j ȗoᮡX('g7Q܎0$5WYCtVs*W
-G,9J:18BJ yԫIJmu
-`,8w%W UPX%rT{A-jVWU* 5*AQ#3!%
-C62}uz@R
-& {L̰b79Ԁ$QFSEZE!<M>kdp?3 &aAG
-n$k(O£a%PM'~BRݪY!+>URcؕ۔$Ҍ [S
-StW2mO5BӱrVBv\VڍX7p[1W5S*5d|nC8
-1%n85R*FO*XD Ð\,x!QyXMN̨y:ymzX:2c޴X \_[gֻhcAe.NF~'
-:Z'!3{(>f[R_;( 2ܤ{]VaNPl-
-ϳAUό0 ;dLpln;eEQ.BDM_y﴾QntNQᥳwjpSA0WQ 3fĽ@ ^FtWϨZ]YPysw9r2~r\ǔjܗ*ur\<Ʉ5A`N# XeZW5h8Y V1ߦ?\0x:k؂}ҰDY[DUb+eŸŸ'+GŸǢ׷x_qœ0Sr|S٪$ ][ո; ύj\L
-'qu^e~;(<wAn5.'k㚷G1Q(}>qŸbG1Q(}>qŸbG1?n*-!_r D+*}T`2t5Qܺ az!oqj'+Υ26jj5uIWK_ٔhMq;+\f#W)v56??4/@}Ib%avR\{7=uun N7iP_r[t(zk[s^g<Nʏ\2ڑ\7FGVx@~{lRrSUī?aF
-uo)pdv֧&E;G7]lf1,񜦧Zfj/iuYϦ90-GvYA
-Rj-\Y`Et3Gpi.e]~s<Q|Oeps~^9ոR=oXNH 럚,: 6t歡AA%X$654@0 G1J8}o^Pv;{mrcF:s<+S0;} b[veѝ"ϾYHO[#:7C
-Ա֔iXWz:)[nrg#F/tQA>%<3(_Z~gV=F%-gCů2X+{_sg)vp[=s- `=HʵxnRQ)nUIh\CXxEw7~1{( ˗͝xc 9]B'[P \n:
-;aFŹN).X7LjlU?z0ZFm{ ~C%b([YK:?1vi{mi4)= ~b8vwE*_ɰ%A^vH?paTp!g;CwsդMlo4]Vڳt'5V6;}KxR M5W-rRГn VGwM4l`ykSۓ*a[&] GWG!_^uwzv?d o*ZH LK1_~
+421 0 obj
+<< /Filter /FlateDecode /Length 5798 >>
+stream
+x=ˎ$9n8*VPhkr}[k7)"2;3SAQ|$]ӓ>/_xuqfƩ/OE.>/ކx|u:~˗[
++\}#PC ԇg-( A+Db%=H3ArJ?H58O6Ĩv( Uq>
+!?q4r??&$J5:̄&WLcZZ%ݤ!Ke^?(AT¨ܮ.% "&9^uŧJ;R nL-JIT3oWƮ Iךω$N(
+*BHQT!ᩁ Lq3u-T5܂q"0ҮakUDM&2B'+XP>/Ÿ{KtSHDlZ0Ms;IX*1*Ri)5Z5URTTV5k FuyB3Y#>*>Lua*V%^`Y҃3G#k!MizU1WZR&lK?n^=Qw+"%[d5ÈJ+C*4*7n)]o:Usq~5uCMRy6툍!S
+iGwwv>mg7۾]EMqOd}f`v~| ؏ }7gC Unl56QtaW۬>Z/uHTQ+[Խ_39ݿ3}Wq[Ҝt"iNeji<|]?Bƴ2@Jb"pR|g6hF!* =0jW(&w8H?ʠ]ip4E :2> .NSWϼVeiL`|ܿBt ROK)Wi3ecR+/Qs6'gj! Zq8}x?%f 326Jo~U}FoWDTFk.>pU_<᫐.=kZzO|kZ oMhn*
+}N [oVQ,0 ?~3
+
+}^{FC5a0係>mmG=z>է$DcW]E L|hwl>0pdR 3a-Tsx.7-jm*mX}xSPڝ/MjWH,. n2ύmGAN+t0:<5Q}Xtqal@Xhk$ IOԒG>S=n*^R50<FFpYI?6uAK]gӳDm#
+1EAx
+al6 4.@H~jȁbUast6[R\Թ<o|U0|Bm6|AXC Ŭ!;CWzp+cE^&fs\(о&fkQ/$&*Ս\&"9n:@/.J.RkEX8`aբj'Q;ϤvgRK:Xcb%2܉Pe.[MF)d2 :9X@)cr
+
+#L+x";5މ䠅8]YjiwăڄueҪAJPlP;0&%Vxbq.%" ¸ỈV)ߜzFc
+l$~oxi<Q(O`͎j2iI{XD7]ߖR1ݼϵbd 7$( f48!vڣ{rRvj6~l}{ADMNR6S1֎JFj ?(c pWqo1ۨh]K\(qjTfG+рD C,x!P[MUy=Ym?ԘW+ǜck޴M;>M9&O˸M2tټyD̙#IX9V$q{NGߝlat0臖]1Wֻg
+K|El.vq lw@xd@ٺٺᑭ}d>uٺlG#[}d>uٺlG#[nf*Hn @}HK)[[~NdBu|}~<Oc?֪/8R(w˚*]6_G|-)D|Aw
+zfzMOm*lܝqΨw]&\&t`jKnrnbMN2uvV#/Shm!Ye~S>B}::zY^'ufuR"^ľm#|>Pj2/),<};N?"f<6l)mD{29b팶=;cDyߜqOg9f}|Iؿd/>G2LLH}h
+ȳAK,AW0iYw[gOsX7xwz 5_%kz}kZ';,Xo<&>l FLn8! +9{֐;h0d4`M<;ϐ#=ix nOr#֩uYφp7-CvYARbj-\Y]RytCpiM<Deq wK&O|= qX:uGb:")`fëּ']CM$ykPfzu5t
+
+澐bh (#{Ȓi8s=(7Fa$=ã2ױv ew&mۜ=`Ǣ!Q38.mۄxZg/'J s;F^ȼZKU:ΑsSHvǜ#dʶs{
+m _ٌĥ<Ϻu҆S+DGA)FgV27n#g]`@\ V򥕺`9Nh{I+hV %6LSl%{RnHvBn=
+QMN7?QwLĠYSK 1):.=HqRBn@Vv+2]/S0tG_ѵhr×?68ܝǀؖ~T62NW:':[Oj$<2Q*@iUt§쐫ͅ[7 Q`.E8«C)&N~i Gӱo᧔\wzԮ1;&YPg)(j c<ƥɳ;EG޿oj
+cU+44䱮)6d} qS);Rэ[3Ne2,xslP{V׽hnb=Ӻ;=G<XQs^<{܎|+_ü'#oaԃӋ
+\T51T6to&dMQ 7
endstream
endobj
-416 0 obj
-<< /Type /Page /Contents 417 0 R /Resources 415 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 420 0 R >>
-endobj
420 0 obj
-[ 411 0 R 412 0 R ]
+<< /Type /Page /Contents 421 0 R /Resources 419 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 424 0 R >>
endobj
-411 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.018 77.446 250.058 88.903 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+424 0 obj
+[ 415 0 R 416 0 R 417 0 R 418 0 R ]
endobj
-412 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 263.113 77.446 273.57 88.903 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+415 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.018 85.96 250.058 97.417 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+endobj
+416 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 263.113 85.96 273.57 97.417 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+endobj
+417 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.999 67.03 417.223 78.488 ]/A << /S /GoTo /D (section.5) >> >>
endobj
418 0 obj
-<< /D [ 416 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.927 67.03 438.384 78.488 ]/A << /S /GoTo /D (section.5) >> >>
+endobj
+422 0 obj
+<< /D [ 420 0 R /XYZ 78.37 808.885 null ] >>
endobj
17 0 obj
-<< /D [ 416 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 420 0 R /XYZ 79.37 771.024 null ] >>
endobj
21 0 obj
-<< /D [ 416 0 R /XYZ 79.37 734.627 null ] >>
+<< /D [ 420 0 R /XYZ 79.37 734.627 null ] >>
endobj
-415 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F58 382 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F57 381 0 R /F21 419 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
+419 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F57 385 0 R /F32 423 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-432 0 obj
-<< /Filter /FlateDecode /Length 5033 >>
-stream
-xڵ\9$;Wk<
- tVv>5ce>cٿA:"2ꪈPPEH"/~/+{":_>u Qc.)!7_~ާJO%)鯿 1fZ"&j|ށz} 寿I[^~Ǘ?DMT ͽppkXF\;8b s^HyS^Z|~Z[a,ON_kBwKxn။=%LmueU~{xɦi"^ dS~tژrǪJZ\'7r
-,vZ9wzaꀢZ
-0Nia7f.Ku2%Pdp̵*U]$I-UccObzjNNrgcj'6MݰrlTeZׇ2i?lܼ\uf^ HX(NX=oGh 21+=Q4
-|[@yƫOzaI3
-7~!WިhhϲY8?*k_ ?'7KWj"UcCo4z-tA4NjvO$#t'1%(P]
-Uu)
-0[+
-IG*?02=4L=ʪb:!¬fC,^bA2;y,;(׫ Hޗ1״?!״$`pyl0mEȾGO0u 'dsY5Q_eGޞ q)#όQ A&T^
-
-#Z
-9fNkڀeaZk>bn/(bhjޙo 0@ۀKveXA'4&%װRYNa#ggn~h-O":bdF}z Ӽ۳V^mv&Sw|_*ph>4T.Dv:.Cwؐ[sOXZ'.Rr-R ~Z*1nƭ'7k\'P=LʷsqTqU:^ɨaGnyytVۙz[#Y(d~ ۱FtK\Y0XCwX)f6ܑ\l=32P-V35V\lX ~߯ASbWy"̝ v1n0_vL
-kQ0:8ܳ~C}Z 2HecWnxɷ:SnDPW NZFα-HjRn[u?i='$ 8tL9k!K&0{gi?(!5M:J##~zG
--sg.\qnxʠUmLpG^1T:=.S_CT9t>A"`81-ډr9P;T&LRRI-wۥ<zm
-P_cIO(Qe<q[ xr ܻۻG4>jU^JNbVZs廇6P}3Pyh iíy!.!"J(v6$;XHʬ)ox}InuAgtцV?M@gYs?4ΨkxrVl3kզav#<ȶqZFZZaZ/[`c."#R)=*T{ᥨs`I;˝~b8,篸\h><wBiN=4(j.-
-,Ӝnvh(=(S䔱bN( EmxJe4s ө#^$h-ԑg|jV/͉7rz'_z69L󭂥]N`_Clyܜ2G̕%d;uzgq!NJayS˦R4fAnFg&Du>sİS|I-P@;C.&xvyNrՕoבI¹Wւv_I7! 7{w}ٶTi@MԴ/g<(2.쁗{Q .aS 0S`o*ZtaDIM=t;%q \ 4\qQzmmlSmvϦ?V}Gf΅;a.4|3,wytߋSytZXLx`Y9nXwP9+'6=IVhEww&,|)g7[.f|=Ǿo#' >ΕϿ3APuY8 H+2r: +:2;uB&9_onr/Oy"z* %/CO'WM H`st(&6.;=ۑms?]@(ծq)h8エɿ!:F7n?
-/u$<NF&6zR%P"(-%4%4i)OOۡdPGxvHLq HMjs],lFnL1/G@ڨL}AMs)"wOpfQ(MPeÇ1{#U svsjYumж ~bvV&Xgd-_; HFJg#ڢIkY@ArVE>ӳnRgAܯa#<^vxeq43;:5zf0w|`毧o;~kht
-SА|c7!^]ι1cķ5HUwv>͆3q1~&[[iR *a,9ntz3 6+/a4r!j mftyӁx(& ى OO\Y 9L\ݐ.,KZlb^PM=si$>JTN8IG7
-TV+! 1
+436 0 obj
+<< /Filter /FlateDecode /Length 4708 >>
+stream
+xڵ$-߯D
+_?ehnJΠMJJ).]J}]A*aY<Jf]ᬈ-]ӈ|+w jeCq
+H9V@7?@+$S: jbX)lU7%oWWoym`%Lp3ooF#yyCHLITݖt]ZE~.dc+:O++TP ˮNeWR޻MHR0Z 'ݴUqQh|!FL<P:W(:ڙ6/,#Zkhle<'QH9\oވOWY+ ~¨mpPigiLp'fzYfr懮$>7#"rջW
+Fv(lWWf@j}}66^On\
+D WC+ad1z$=Neќ</ QY#4|w$[anEx~^y]yh
+oV6g ?+,oݭ̢Dk+e-=2"<*LEnWRtg0eշFzrŦh9HPGV*ՙF*7x8@O-sx0Ruu:h e[EAIsI?( 1NЬ2Akw+*tlWJ KE4d< w $nǗWo_0ciBi$_ml,DmLĠ|[=ٽn#BFܖU UU<y{Ms!#} Q יA&^
+RG
+ -}4i J[QV1I[u
+
+mvxg 20ԗzH;B{~cR{ -G<M9&6my"=3ۣ1yLćlVoێqYQ4gXHa%-^ָ.9,O0B?㝓VdRU(>f7O]Yd\M+>L.LTv ݶQx,j2- Q"ތOmg%5@/U5EY 8zL9h]`h6ux: zف]^_l"m)89I
+~`otܙL,zȚ}Nc֡()wrBN
+9q~X 2Y K49BYmqx q\UӹXU;X3f,do#WRDѡC[7$r{ʺmeiK]E'OuI..m/[Jף+C5]7Ԝma/3E ;zgS,3$ZYmrz5IrՕs|}p*+Z^+JJ^q&iw}-U?g~z2AӾbʈSrپJ v~2=zw
+C@O@+Fw[ٕ@]V<O/Nu^{1lae; o?ucX"Kߎ}?dm;Jk2 _ h)7@lޖAL@x4<yddut@YLI͟¨:k l`ݵ _۷|e7.d|=GΒtwH_{W*ab\*Y4 H+2ޅu$n $mh~n3W^mrni}-i}:COx_͙=R?O{W#E(#߅<GT򐂦C6NBFۧ~?.#ˇJO)y</G,Dc/*)pfģN<b 0x f$s7u,RlȃP83}pE;)6rm#03-aK_8sJo/9])Yǃq2Ċg[X?0< 3 DWhTF5_7OT 8xj&G%1xpN3WeuTFo6}5&չ[S4cpf?g494ĭ`J%34a:w-vu=|l/2ѽϜY&0=1, ۥJ9ne?^ 'Ӻ*9W
endstream
endobj
-431 0 obj
-<< /Type /Page /Contents 432 0 R /Resources 430 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 435 0 R >>
-endobj
435 0 obj
-[ 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 413 0 R 414 0 R ]
-endobj
-421 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.934 580.721 340.889 592.676 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+<< /Type /Page /Contents 436 0 R /Resources 434 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 439 0 R >>
endobj
-422 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 214.424 530.024 226.379 540.903 ]/A << /S /GoTo /D (subsection.18.1) >> >>
-endobj
-423 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 302.553 419.259 314.508 431.214 ]/A << /S /GoTo /D (section.12) >> >>
-endobj
-424 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 363.781 143.51 377.297 ]/A << /S /GoTo /D (section.5) >> >>
+439 0 obj
+[ 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R ]
endobj
425 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.461 363.781 163.435 377.297 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.934 600.532 340.889 612.487 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
426 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.43 351.334 267.136 362.293 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 214.424 550.783 226.379 561.662 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
427 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 294.474 351.334 306.429 362.293 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 302.553 443.49 314.508 455.446 ]/A << /S /GoTo /D (section.12) >> >>
endobj
428 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 95.809 309.877 110.533 321.832 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 389.91 143.51 403.426 ]/A << /S /GoTo /D (section.5) >> >>
endobj
429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 123.485 309.877 130.459 321.832 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.461 389.91 168.416 403.426 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-413 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.999 115.689 417.223 127.146 ]/A << /S /GoTo /D (section.5) >> >>
+430 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.43 377.937 267.136 388.896 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-414 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.927 115.689 434.152 127.146 ]/A << /S /GoTo /D (section.5) >> >>
+431 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 294.474 377.937 306.429 388.896 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+endobj
+432 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 95.809 337.903 110.533 349.858 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
433 0 obj
-<< /D [ 431 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 123.485 337.903 130.459 349.858 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-430 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F66 384 0 R /F65 383 0 R /F67 385 0 R /F20 378 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
+437 0 obj
+<< /D [ 435 0 R /XYZ 78.37 808.885 null ] >>
endobj
-445 0 obj
-<< /Filter /FlateDecode /Length 4590 >>
-stream
-xɎ%>_Q?Jځ
-_] Ӛ[$FdPE~
-7ԱKiS
-4=nBv itKz&uϛYBK"y+В9fpCA~ gkP{[
-e-GZN_!\V4A.7lV& Kmi<BD?E>*'lL0z=٘AsD(\~b~o 7=H'ed"SP*yqRxW+y F lKܫ^t6^/JQn_<'
-'nZPՠD'{*7V`}!V`D;=:H[ZHЕ]=&Ƕ;~Lg1fqj6a"bτt( uC"jڂGГGZn^o׾6W
-2&x*I)=Ph8Pw꒺3斲/K=q͸ymME9(v~T_T:i%M_lZXA.f
-&tSm%F`r'ة[ƞmKhc*J-Bd[l"ܮjvfztA(Z.3KeY{qmNl[u<lQ2Gu.n턏*t(}a}4Ts(lF2PM6WKV}C6n[\#`3] OJ%TrKE>-j9W\oCո4")TTǁM>R_`op
-4BVgwK>r*rc(хT] S [YNEZŃ>"iy+$e`j
-_"lÙu T/As\`sQ]'fuo`_p0^78mkVǓZqdS]hM\gybrYQ®.`292!P$ DG1WT!٬;
+434 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F16 382 0 R /F67 389 0 R /F48 391 0 R /F72 438 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+449 0 obj
+<< /Filter /FlateDecode /Length 5236 >>
+stream
+x=ێ\Jhp]߂<"
+@M0|?_n + A6 ᑾD9I?c7}%*`R9k4hsğ2vO~_͇Y诸۲@8ϔQFސM홐aJl4KumDq\EܼF!"5T)}$Vڀ##B1`([⢴ piZ=B)W[@ѵ)s󏮕V(H)O;<b[YeI S\l,8AIc9mPԳQ
+[@S;,G뢎kd/J+f9, > INQI|^@dП:\P7is;f ;e8+ifN9иAY@mV`ւeVm( sPDzi˅EpQ9-`R AJJ٢Cx3[wV#Am=-yD(\\pn$YM?*NJV՞`JaZ]Ӽ\\"#Ada[TwM#b/f
+|XxT7{}A)&:æ`[gzW3tC!h۩o$N1cJ_ Vg<o` q ^R3'þR3 pa颇zsCϘzH-ē@n4'BG[!/^A^8[^>n VY Ygd6y)Bd ɰ->Uos-2״"Aa"l9>1 vgV_O[W|CcZ8PB~Uf69 1ފM3c!40o<BI֞Z}k*m#(2L
+ku]Mm""Ej-Z8K'UKyhn;J%j$.OY2Y#X0¶z&xEFcz/xk#E:4l"kTY4g//Odz)Ӛai<r`(!$C+GR:&*C1顄)6W337)bAa4BM+jjo(>#'gNI8׭(Qhy!""}nB҈6%*Wf9]刐x#VQ% ,Z絗;':Bawrl*@Bq3-Yڃ
+eZP˙_IIh biYg;IYց,B!m $b즥457A/۽;=<ݻTq!g{Y}wPn@04G*ĞHH3r$ކ#aO2Yqte
+t'*y=`' 1%)b豴C]յekݚOҨӣΠ\u;1闭OٻO ]j⻭{GG11iD57~[|yntÖakKBqnI<ޫo=KN *3rK5IT TC#!k[>
+ׇ ;ܷM hkǘcf_9t *lÓרSn?W~џ)
+yi5{hgrGg XD=b]#rdDkDĺMм3'*VSMѩr;A,dyyR\FÂN3pSgnOn[3X򽳁CG,DuZL\gGd>nJ6 wlK$itɫ0ގлzkwnG@Jo5t/_'KXlީb ]I%@vY/zϻkTQpaoga|| '&>9#]FZ5z.(J_wN i<1U~o
+.3GkrƱJ)pOnY/,N^3!؞ء6.1 Ha ӲdSin$egU# oZla
+"zAo#xO/|MڛX_i뻱B!ZU{R: Mlʣ>%  jƗfDt|}j:+xZjno->Rhk[i9Fu05A&&ry _%qﮗҽfU(URַ9\es_β5 9gtCnU[*Euw_K{3aY5qdY>콫7_и+<>^ͅ'΄W-" |
+Ƙ)~[ HUBch~
+{w 'qGg"C3iw&j?g&ָaN3r 5^'0AI8Aݤn,f
+Z J@N<y! .NsvOw1aB$LdvS3Q?1R(p3Q'Bu [(ԟc*|(WÏ P
+jToh 31
+[wQЫqú]]R-=c!5텓r=ĿDħ)F|BqhA .m̄H ̄;5':f4_]]<m*֐RkTD$}LX>tQ*4i7!SjuTL
+};aѦp>KGD?ed61q؏ȉH ^i{_FTIXIR! ݍ”p+k^Y2PuCjkQ1ըLIk9siAEfI_er()Aƹw:Q
+ꋠS9-"
+8K-[.epYE%b
+T@q/_VCouhǢ %4#NP耩Ř`'W_Pl_3ހ uaw/ 3CoitAHqeA/k}V>>VMFU鶬B'e!t(GqxS3:֛}CN#gÛzj uYin?2pQ!)hNg39C<QQk5+ՕP3)RB[`ʹ/։)#E6Q!VYҘ˜?;
+vjZj>:C.*{' ]/Y!)Uv+c_ȠɰYv%:1 y"EzyjSޞc/[#ı2i~X:j]]OnP֑ˮ~1: Ξ,Pv숹UZiR9Z­`
+8(MC̀~eTtCYUDtșW*֭25
+;T,ϜME>;KD>N5y<wZm^ }UZ Ngj/FyQB..0!V N"_K0^`Ef-N$sqOe8uC]<2`XOwy{O*mWᵜwxHz4m w=(
endstream
endobj
-444 0 obj
-<< /Type /Page /Contents 445 0 R /Resources 443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 447 0 R >>
+448 0 obj
+<< /Type /Page /Contents 449 0 R /Resources 447 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 451 0 R >>
endobj
-447 0 obj
-[ 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R ]
+451 0 obj
+[ 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R ]
endobj
-436 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.84 509.22 131.564 521.176 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+440 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.731 565.42 184.456 576.369 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-437 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.516 509.22 151.49 521.176 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+441 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.408 565.42 204.381 576.369 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-438 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 284.581 224.577 299.305 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+442 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 284.581 280.218 299.305 292.173 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-439 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 315.026 224.577 322 236.532 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+443 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 315.026 280.218 322 292.173 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-440 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 320.625 96.423 335.35 108.378 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+444 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 320.625 152.064 335.35 164.019 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.302 96.423 355.276 108.378 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+445 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.302 152.064 355.276 164.019 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
446 0 obj
-<< /D [ 444 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 323.989 67.047 334.446 78.504 ]/A << /S /GoTo /D (subsection.6.3) >> >>
+endobj
+450 0 obj
+<< /D [ 448 0 R /XYZ 78.37 808.885 null ] >>
endobj
25 0 obj
-<< /D [ 444 0 R /XYZ 79.37 636.284 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 703.88 null ] >>
endobj
29 0 obj
-<< /D [ 444 0 R /XYZ 79.37 295.232 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 350.873 null ] >>
endobj
33 0 obj
-<< /D [ 444 0 R /XYZ 79.37 206.251 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 261.892 null ] >>
endobj
-443 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F16 363 0 R /F69 398 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
+447 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F69 402 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-450 0 obj
-<< /Filter /FlateDecode /Length 5953 >>
-stream
-x]Id7ׯc!P@is*o>y`4HI(=jqzE~D-M~ /-䵷_~[Ls ^ o(z|/?D:Z:)}t7]Ga>  >@~R?*lO_ 3[c4=
-Sw;<#U|[ (0Vpۛk`MiƇT@֫8%k
-
-[A"ҝ]IO/Ω
--* 6ʩ{cک5m$J)0=cIP1Ͱ^Ϲ~_~6$\#\yܘˉ "ny?C/v+gwv׻h ,O_ ƊZPe\*<Ԭ6wҁ:fhNsl#3]gTs ΚBbJR8UӦ<QFH;aDXZ+ѡA CoW P69< joY{0ks,sCZ
-|*|z)m?xFl] |ǒSBD ?oBXc+4АJ~3բZ?뵰`+Ĺ\HJ\;[ ~%9#.Bo | Sq$U.!r;G,}F9uC3 Lݱ\o\C/^(o>!f7 閩(@ wۇ}|;x&¿ Y
-vJIԜP [r'ɡSʇ&hUbg6Qh *A(|!rR(NCz}B9D`ah P&aR"xlEjH "60f.7Ibxs&;ӗc,Dny@ŗZ Jn;}"
-.X##n@hfZc!']m#*6*O kfZ* *핟'HxV@[
-Ol8 Od%a۴yݏ,A=j~KiM 8ilB3Pz7֥4"'d/eQKE((:(xf@bSWa0uMZwy;XXPG}ϯxˈZn.h
-CW2_0u{>.6S1u`u6請`r.[ &R7`
-QAOZasn$Vٵ$*mPx5"ou*YOߥo
-S%O0ԮSu0u99iUs&J UM;U'HK)%:t€%Hv HJ yZC6Ǧ:+]qwiЩRTR
-f%AZq6&J 0\6Y@ƑuzjWsʷzLL 'NjᢇCCr8r2M0AW>4:IJ5XjSqlʳ9NLN,W:$PydoJZspRmK0ØGXih<F[W;`E䤤JP044,690u3d'Ls${5N(IJ5Xjӊqlڳ9PLN,W:$Py6XJZYF0 8J (a a0XTOZu]^
-8i|`~6ۣcrgA`-zF6H&
-[JTt*:nr$M/ꅎ_v|fDdPRQ-Tʼ!ֵe06^(ۉyq*Ae#Lm
-N`D(j[(y
-9am= *:$%΁vb7O< q!S~!(8sׂ=D
-^4#`u#qu#wmupĥW};DjH/niȵKw8ul/<eP$BR+%]\Ҁlr~/Z+D땴1 )bڜ7Ɍ]+:l'`<)מae#61{| _*ΟhyK=6Zu)/[i!2swK\ݩ%Aߝ:76zG_[޹ܑ5f\Θ٣ۖwZ&ԯ**wiHot΁iK ?8wWֵH.]]]%ܣ ?DNԫÑ[$^6 /^#Aŧ;܎wBkZkbB*A;:7NDNML#L0W`!9
-
-Zo011PW@OxB&cq/ 3k ~K 'Q 2.޼gʴlnERa+0l796qI< Ma 56Ŝi*6} mƹG)X\pg_j R.`TrncpA
-C;R# <;^L;y'󁭓NRqܡ߯?9z_9sT'H_A?rO"9H0ip!yWN&GoRvJuT 'm:ܟt'
-棷1N:y Wjr/NNGGN~!R:"}?wv NzS~!yWN&Gop䯣g8s
-=;%8&I>:8 YWsSYޭ*l/,Z5~CO>|_Hh=i~|Wc4蝍Ն*G ot\;a$}o}/pv8`HwȌG/#sf {vjQ/Rchn-T>uWOnqO
+454 0 obj
+<< /Filter /FlateDecode /Length 5835 >>
+stream
+x]Kd'ׯȥ{y?RI7}}-yV+ϸGH
+>Y.%r=-
+D
+[4$+O͢HVrj1ڌ5NR@z!ҙXFrq\ҁ2y@=
+Ɇ* 2ǻ%]TcD9<h`#ŗj \?Ѩw, D>
+<O72c Oʺ(=W`Q<} ɹ-ՃZdBeK֤_*<j7/4%0hy ]<c6t_>Z k ]M4j
+3a*5Egÿye/ڛ$}-ͩ&Jj^ʑ^k6_nҨC"N{ (^72=2QmSuI2I\a7nֹxƨ?"w Bm
+EKc#=JLT KFŴDc[Eh -oTmO ^$'fW;vDfymSȥuN]S{"."f$v+~
+*^e_wt7}哋NCjDxμ99Q'_fupzc5{\YԽdòj [O6,~aUg꬛@vδĖ|6B|݆,>hhjȉzF \IE53OOć!DM;I I6͌\ؚ0x!Éf*DDhԵE󒗳nu|w,&wo@#yn9LUl%S[;dz$7
+QNo
+Lr VK5
+SZj8V[z2),W:h<5T`P]_sG``$OKVq(Drc#bKJ0ǕЄQ+OEwE$E8/d A4
+9=ó[@ܖeVQjRY(Ȳs-JM=[RY$/@uB$OSm
+ yLM+xoky,Zpdʹb=>d
+
+#;wY31Lc,U?aױLmH.HqCgf1H9_)ʫCD][V,V}i\^K9! s ,IkS)BMKyY7AR)X]%fUjPбY[OwpY*ŁoBD$
+)$B+ }];!QeX&0x ܣ 0/%%9_jFkDSU& 5 قW~Mn~)G±ZrSd+8`ȅ*?r\S{eܻ̾揊^xp]droEl(oC@6Kd%)\Jf{w
+YqێݺFe?TGXe%*1qFW>P.9[xXB|Z鶮 < &ztwCȥYƿeZۥ;^,Xl/jkj-hN V[Ƕ㧽EnFKˌy1m̛^l|:9lNf!xY<oSޗI~S~#oИyt^J/>ꮍ;ŝY}D7;7mv?sy\;Cm07}&jG^j[ީ쁼*z\׾zokɞ>y}/A=y_
+]Qx*z9.abMߜ(
+պu'T0Kk<{-
+vW-GwTt+2Ϻgz
+Iw1Tr];`q#ޞ-JpWJ-2/}䉜rG
+t̸+0g=\|=B
+'Q Oc2;;%0 ]btO\O`07ȷ`v1ӺWLm[FutGW򱑯z0Fb(1SQȉ{ScplE'
+2=똡## {3)Fz:2O"9H@RÎweOaRmFsC
+qxs;O
+<UFɻ*JI<]|>C-U"FZGwUgf*a\JBYu/^>f%Zu<WBR\+X: 2;<dE[ڨEkj~@fzZG.y:o!x)]h+^+yyn&0\^֬7{b֚"gx;)̷6ulϰBMjKY3wxX}
++)-T:W?h9_y9`lN3rK߻RjL秕g3o0gʣَ` W źf)_CL*g߮ _C8]}33QZTt^uQ#^3'
+n噴/Tײ=쳇zgA ,2p*@ x#tcRi+1Vdw32ҝ*ڍ]@{i6Lg{a\ۯm
endstream
endobj
-449 0 obj
-<< /Type /Page /Contents 450 0 R /Resources 448 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 452 0 R >>
-endobj
-452 0 obj
-[ 442 0 R ]
-endobj
-442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 323.989 76.495 334.446 87.952 ]/A << /S /GoTo /D (subsection.6.3) >> >>
+453 0 obj
+<< /Type /Page /Contents 454 0 R /Resources 452 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
endobj
-451 0 obj
-<< /D [ 449 0 R /XYZ 78.37 808.885 null ] >>
+455 0 obj
+<< /D [ 453 0 R /XYZ 78.37 808.885 null ] >>
endobj
37 0 obj
-<< /D [ 449 0 R /XYZ 79.37 568.541 null ] >>
+<< /D [ 453 0 R /XYZ 79.37 616.605 null ] >>
endobj
-448 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F69 398 0 R /F29 371 0 R /F20 378 0 R /F21 419 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+452 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F25 375 0 R /F16 382 0 R /F32 423 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-455 0 obj
-<< /Filter /FlateDecode /Length 4717 >>
-stream
-x]Ɏ$9rW$4
-ȨhuJMs)≠N!@(0l;iAD_L-8͵\ 8"b4#To?QnQ_~y 7ih@zW _KS<_ßn5t]jTc 4p% mwJSOD9&i[-Εs: D(ć LvѼ## ISk`~e.aT'K+@
-^
-iBtTe,c:$" H#B 4jMiRef<(RilURE%[Ɔw,ܕYz9I,$Nt_Ҝ
-YKƱ{/=}[⽞{3,iHi׮BxPaP_c⅟r9Len;D91x}QM}m7Ɠtq<^|LZސO _7MUxmK!qT|_W{LQǻe/&W** ϕ%o|2i/D"A[roԄ2 xj5Y۲en.Klo_1:Hb0?> W.zw4%D  皜{lF2lcIL7RFX#ᔮ&~Is|
-<?"y~ost x˸ޙ
-AX/Q_%ayw!B#' ?;jHbCgJL!i|PH&QLh8 @Ǚ0
-aEI3MOʦt <? qIΓ\*b?A_RD _5AC`<y'ȏy @=A<A WA $z$N߀䑂1L(M^ʟgƓ_'9%oo| &u
-/A4A)H_! !x/_Dc =) sH*$A<*F?JPޚo!Pr7|@w5n/G|N[2n/?n?A
--C{A~ȣc =F A$1HO 
-01zmEWc=l OJ?Js wyP ng7cb <:@i{Ϫ轧4 nTnPP=Uٱzt0-Ha5FpZ~th"W
- F#N>|\yB*c]5_.iTgrEqOoճRrL5:*m11 xt 긽ۭ[J}(~X:hHmH
-֙XK# 'Ne`L4uGʹ0S%kl Kk!؇)U(&m٪4bW
-u^iGso:jh]~e;Q;rd[%c@
-x4q?.0AGJC!@ igG[WX7V5f䪞_RѢTvd1.D;wٵt'{+QopHq| ƔLGJA*HLs15 cITmd]0\ 6xwoeV|=&.[RpkḀ̊rMJI$w}ϋn8노5Uআ41 .RVIѡLq UcKH!1 nV<;L[yCOeg7ه9ٵ!Ohh^@❵ wX=]B5?.؁B@  b]PWòn!̖g/DhxQ͆oԕ>qD޾I`Z^+jCQn;o* Em{!
-sJx
-3~5(ۤˣTX%33|,=(]6cIbfWN9.<CcOTt_a/_{(CִC"X9PdcX!@CbUޠLkD+~X.sjRr9tK}z8"f`'sK~ʼƎYAG}[AD
-30->'a:?82w$Vs0{((} D~ yȘ~Asll>u<%̞9u@P-K<t8F Xj|sD;<f?.y t 1$ojHx.NO,$3EYzXaAviJ8pM̅+saDqN2(>u0.#Hyr 93k2Eu!`bZ5w
- ˯SE*KZ5.O-΂p ןЗnRWz
-2*⊊gsgS:BYSK7>ZNq+@۟i֘f}xA1! lҟU}f$ь3sL&5
-$ub~Yb=Pl=(J0/}qӨ~ i;Nlkz_FCDi ҿ,If#ehp<g$j󟯜"LB6@ tG:
+458 0 obj
+<< /Filter /FlateDecode /Length 5026 >>
+stream
+x]IoWtPOOOs'}ϫ}aY9EZz[˗/?<]??.bToBeSaI_<bL9\ cFbߏ^{1&=Sy( *p,K?BuW/O6T*$M} ydbp^!t-v>]nDW( 1g
+w_r"u$Kn
+_~ e
+BG;0Ue:T$ zL{0 eZk'QaeS
+Ǡy]'@>z<irhɿg{(Gmv&myNC8u::]'N~
+kS{N {ss'G$O9|c'?Ip}H<C&G4'-uQN~>C;wS$=
+\&޹%>(yஓ$;)P_䏃rɇ5
+D5m Sf[@RA +B̄* dQaÐ2X HnItÅ1ۤ'\fWg-j%}<]δ\`]5\d<y
+XEo]>zM]}+`26iKbϑx3k۞iVBÓy3ܶ '~ݮv>|5 h#¨P7^ƹ#>fw`Dd^&*UϘh06K{~h!裷-n luc#vQK9i~  i`;!3NӸ^qBlho/1*$CB!4 :׼yG}躲{x{:'f}!f)Ș4+&x@~tt\yV.i\>PS6/'S^ݱ>KP<IHrkNt H=[wseoFjw[bVKHB"_,O:–J2hLi=Q
+TF[R@IzrBk
+!~bB7TQlsbDȺvy%0/Ͽk6%dS@J=x]V{ÑlɅv!)С*z~~"RIG$R:->2 Xx٪X:v˜%=^0aqfwV\γ/i36=Y̦U7o)]VرM#Qi"k*Oi*􁚖Ku;C758^>ܓt;ǽ)w9 )69Jf“"
+sĴ7[j]\mOL}A3F@&1l-ua+0Qx?n41>ȖЦ 쌀d͍oaPמ[N [=DOѼ|Z.h^w<+iBnWG\Cje:a
+6/@ոSI\B#B^ݱ%ҖFJDƈ|=n{ū,ZjW~x^1WFCfGZ>~[u$VS
+qZK .*`^UM),㘚j$5Ytaʩ
+ޓӆfr,~oSd1!oe|]3^ QIrpT2œ1ze/eWGd
+<Us ;и?)Lb81Ho0 #{ &+ mސ! UlHw2.u=
+shB$"F*Q*=lNxV!(~@c˝
+ȬS]7s !uBSGަ;QY7:1bb5wZaZqѨt~SCJ'a >K'Wzk6Z5P] +Sǡ89! if}[򩞯Sݫ*`|.,g6)p#es L(WS{8DmNj9|PDUʷ;SaQ.{+M8t+AW% *JgkŒDǤnUn}3 Sńi蜾)i?Q}iH&s9JskUIw.<Yۋ͂v!vIª`bpbmjK *LAXӬǐ@Eb3^^BTM<
+-:8oS.(t~^pQSK7 ESxM\|~'{QV^U<lŗ#N<X3̐ڀ4Hë;sCTi1_!T`ºs_0*d?qx[fU^CVc}XGH9S՗Sk#orN=<H\s]35O_Tg3!pֺ md%]_܅>2;R~"&Ғ1GW&MN~.nʒu^FU
+'׌l6`7f$OA5hG[/sݴE)fQb$L #'ƠMI4eT0mwtDч & <vpZm)aR #rqŗ Dل` 8~.-%!}f\'X`n7Q؉n 0}K?3/ڮAy/K@xN^%^.֠ ~۶[=lH!FI7s}ܦc ]
+)&(.u],->GK1uz;faQNc@b_Spn9~ k$F䑺p_/ACX~H 'ԅÆq -PTdN?-Zg`gQDm]#yӓCa;4PVg "3f[>~db?9<Rw5s8Wb=8{XY<")<Z578wp4掆>rDC
+"/v0 I&mSfGcȜyg8mU$~Y" m
+tUknċ=8QZW'q,s
endstream
endobj
-454 0 obj
-<< /Type /Page /Contents 455 0 R /Resources 453 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R >>
+457 0 obj
+<< /Type /Page /Contents 458 0 R /Resources 456 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
endobj
-456 0 obj
-<< /D [ 454 0 R /XYZ 78.37 808.885 null ] >>
+459 0 obj
+<< /D [ 457 0 R /XYZ 78.37 808.885 null ] >>
endobj
41 0 obj
-<< /D [ 454 0 R /XYZ 79.37 443.755 null ] >>
+<< /D [ 457 0 R /XYZ 79.37 429.973 null ] >>
endobj
-453 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F69 398 0 R /F58 382 0 R /F16 363 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+456 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F67 389 0 R /F69 402 0 R /F58 386 0 R /F28 367 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
462 0 obj
-<< /Filter /FlateDecode /Length 4048 >>
-stream
-x]Ks7WGJU&Uޓ7rJ6>lU%~Lwk$3 $
-xqp}mQb(&;4=a#}QFf氂8cG8zF/:IhD=dEM{9m Cs= 2٩Fy)XD$K}-ۜQR.>Gypmdkd2A]/uqRF{TW<b:M |^n<ټ\cᢞ"ͺ6OϹ95aQi~r
-MX
-&EE؍9pb.Rٴq_w*&">z}MavƱ%AQ{oŚdj[Ǖ)
-O6@oB yd"7aVIi Rm#!)!nTL4g
-_oC7RX!>wK7b2}cc̰4Y]0<c|
-myO&5._%ZJe U֌X~ `CK7^'{qFq-GZ~F4M6z *)0yʙ\5C _]]_vZx5lH$ӯvhYfWE;4hr``'QN]PZ-\֊+aaَuTsX(aWa֡KXG<Ehزpka|يeu|= [u$MXG.C*wu@!XGޅuTM:u`BU:njnaa]c Z#܅u PFvP:.jbwgމu"!bX[uX:"!ܰ\@$Z3͑\c9HHGB/0z;ґNt(Z؍t k"n?fPHۅtqC:nH yP.WC:Ok_D:z~CY@Hx\鐎ՑiPGW:RD)vXt\ rQ1!]>bC:*騘Et'Q1h󭑊t|=`]t$MHGt(ꈺ\SzQ5u{# .qԑx7Qai aH/96ot !5lk[ s$]0G9#GVt2iҪ"+$Jn,FvU8FGV퍎qmF 7{91\T;OBj>F8$콹qQ&a8SK'd
-p~"aK{!&b XO~) @*/`.ՂTwjg)[nb1Wp$Tui*c2M
-FS@)>r Lemsu%R{H.8"<FrscM8] Z@]]׺cӾᬖĔr"ս.PzD=;J*YgBh5Orzܾlőp!``$U}i\F1S/$ˣ>S)yBG1NʄjPMTB бE7uODZ}s[J>!V KgBs9^U=FRxL}4m lT@ ;%sL6R%@PdQr#)ЬTrJUW)W_ʟwYό )Dc+qxzRԭfz7{Wrpu
-?WX74?TyX8-Xxx8.E0
-Fz1\K9v|'2*Z?t^V h v!#a*ŹD;n#] =h};b>㏪SHkS\ m`y\
-W*98'T"'THJuJ*l=m"r&d99Ue|n>kNJڨ32ޙ]钰T̖ SU]Ȟp̸>
-kǜ:L5cN }ߠKUek,anQv8w0].f8f \C@$_  ?}zZ J?RƋ9z-^/NKqF`9hjp&;cccNN"3agVCpDIupr,7v5QϷ0mxNex!3\(<Q沊OV@(dl}._6+'n8Wo7!?(y ltcڿio(*j%wZ8X:aQ-pmB旊%D1-6Q0*6H)/=P' F9ᛏLDCa5@aKdGCfBǣ6BLal r*m⽾`'Jw_$Wz$uR`YC.!19"}% }P꾔QijAlT2& ʚaBgS%-OהmDcx1.+U$o;sj 3I%b7 Nö;k띈+֛oKz9X8vm[83Qe/9;| Oc7^Rk{2PT++`c3جG:9m*[jOs5y>q^c[e2ꊇų+A$,k`Ҷ8@~%SYpzSsl={WV% ؍-$\Ý#FRyg}Qb99p[_ ^,km%\jTR;M)uvT*QŘ|<%?Y0X/) QnE.1$W&| ON cu|&(0[l(ݛ{J3ыT¥eC/ [D/T*#ry#$%Źwc(l[ t;r٩+
-O(
-KN;gsn
-ƜV) ^m<
-Bӿ8&|!ttzܿR'&\[oE<YmY
-@gmQx1Ywe,O\&? 
+<< /Filter /FlateDecode /Length 4964 >>
+stream
+x˒_?0 ߏ*<R>%Re_Ivn$@
+@B^m_
+bl L+T$#in'(kaz5Z1)m7ĶE`
+Zb(f#qwe\ CI
+b5 Kb6ਉf_[=R̤j3_NJܜf<Umwxm Aww$GhTԍ1\eܱw~&ˍr_μ;$~Gn 3P=G-ųf
++$%d0Lb<2>{zkYa,N|qþ
+ vO)Rq}銂:;t:3/]-x`^qZ~BYbB+9zx͂>4K3y:w#!Z(j-,bD(~ O SB!CC!DRQPr0FBr5B4A0jB*@l7a!Z D9
+y-Pa­ TTȫ N@Qn B^ O3h OB>!z$~Ӂ4D3s0C@B>A@HH ČB7QPG!@HP D!(ʃ
+T]}c@!~ȃ@;a6IpFu
+y}Έ&[A4XkAT$AuD%p
+T]Ճ0B :AJgo )"#̎@U1Ϸb P ۍGR 9G. z1_l]'kAVHQ5^ Rq$31 ՂAނ oA?R79
+$8ܯBX'i yMZA/vVLDoy`kG9
+v˹LJ"\IO
+\yяx<[ƯTA@ׅІ0R Fjp GAW7a,HD(] Rm:),y3 d2@ Wϥ:D-+>Qb> 1 E I14UfRyՌϧy:LL/' ':3][)\
+uӰR Lp0 
+*.;
+8N),,p+|Mncj]ͬu芵e6*DtϤṕUȟχR*3Ϸ1qѹj8BcEl\
+K(B[B$d{+BrC%Ӷ3KNT+B FwA  GW'ХS
+c
+ک9&nXΊPuQ kn8G"EaV/]ZF\O$ ڵ_
+'<LA]E፡qwH]; q\\ٱfX Zv_!f$pm+e 3Ag̨Ykq/_M @Uř(WO?߮QZ6-Zv㖵l"h$U.暡J dL6nNp<tIR襣2>v#Lp[~5е:^8Y9WD~PuI_v-jyΞ8f\Pڱ,C٥ИƔcMSS. CL=~WVK ~{r"bJN/XRՏRJcXT)Jp҂nSnU{{@tBw:Ŋ|a v[{uLKB}P=w<Zx'E ?|=Y<FI;jy"BphdKB\'ڽx;A'*_s^yuŒS3u`]gb;6]fB"\)CÓ_OO=W
+ pw#tָZnqy L#ֈN٘첺4J틳ZDw :]Vw0C )z*Cj3ΜF;Cڟ{^ǒP/w9Y:!=k1Ƃ/IT,%k:+L/Asm s4G҄2U0xG/[) QrFPSMwiȗ<. ^i$D3w$HZ^kr[D"|2[(C>LXj2*lcZ n*nI%?s65%`ˎ=f/;o,\pQ=S:] BηC8Bo΍cC8W>BuaxGӶ‘85ڴ%`WH|6qO־iZHɣE(8J[ۨldHBMᐚ'.AG+n+ʡ>8*EߺغSku~yϋ=`'ЪE/o;0E"(锶b5x{;ڶmtsn(8B8l1xGՎ:W7k>B.܀x8l_vWǿJD1m28} ;iXk
+{V5/}qfs`[@ +={ qD.Ѽ6[5V뚭ah ovflsfk1e 5֌y|~dZ)I6 ,ܚ o?ϏS3(I4jp 0_5-0g(tbocs9cΡ!'Yκ'Lo28u",Gp}<]0ch<Gon^.Qĵ猗e.q&=,VvN (LY
+\䊤,^OVV2$wX({AcBs*PiWl YV2qVZLlIjy dUB
+<
+VݩiXjPf4fĄ.r⛜AT.L᭒^yeJ> ]rd,nӄZ5mƷЀY'&hWP?[LĒt#auhne{9PѰucSmxkF(1uvۭI"复v
+@&f>W8qML^tCm!ߔE]ok?e|zNN&m:<Z%*\û?<[}e*G;jJ}aL1e1
endstream
endobj
461 0 obj
-<< /Type /Page /Contents 462 0 R /Resources 460 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R /Annots 464 0 R >>
-endobj
-464 0 obj
-[ 457 0 R 458 0 R 459 0 R ]
-endobj
-457 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 506.052 160.136 513.026 172.092 ]/A << /S /GoTo /D (section.4) >> >>
-endobj
-458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.205 148.181 412.16 160.136 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
-endobj
-459 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.259 136.226 398.215 148.181 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Page /Contents 462 0 R /Resources 460 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
endobj
463 0 obj
<< /D [ 461 0 R /XYZ 78.37 808.885 null ] >>
endobj
45 0 obj
-<< /D [ 461 0 R /XYZ 79.37 422.814 null ] >>
-endobj
-49 0 obj
-<< /D [ 461 0 R /XYZ 79.37 326.258 null ] >>
-endobj
-53 0 obj
-<< /D [ 461 0 R /XYZ 79.37 301.471 null ] >>
+<< /D [ 461 0 R /XYZ 79.37 431.402 null ] >>
endobj
460 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F16 363 0 R /F15 377 0 R /F69 398 0 R /F55 379 0 R /F67 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F28 367 0 R /F15 381 0 R /F69 402 0 R /F67 389 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-467 0 obj
-<< /Filter /FlateDecode /Length 4726 >>
-stream
-x]Id cr(Y rOpN!c \CJUs詪(J(>i83.7l>=}s7X˧_񋸸8+O/?\qΥ?$8_ooyK|'/!>}-qbt?V"gNM&U̶
-HLL4ź$ :7Dň<EC>%S^u:3?lrL@m0u
-mKÌoÿQߤs}W(f|y)29S<I>LI vN T.O// [~ˀ~ ~ߣHɭ5Аp
-q *άRmJ|mЮ~s6U0 -)G*Ry"'jͿSu? øw' L &Iyl)`PZTfF 4e|2y70P/@^
-P۾>q r2y
-NԬnv \o!ByQhQdHg7m3>c.<ӹ.gMܭi0=*g|㧽u<k(Kk PhNJgે*=L]\ua0t:- P*'Yҗēc䖞Ym)KOB-S"$XҼ2 FNvHpSb(W3tJ"Bݼ5@8c+\U2X<^O:F:Oޚil¿p!n-4S7z
-mCaG`4c@l.EmIv5-]J 2L;F[f!
-g?(;Z/ A5RDHnFyqzqՈAgW`%}Sctt)m&
-ݽnBW
- ō)!8Fk |2|qvA 5j.4B2K_KY:T=-i&-:D 8^6ͻwB
-ny+` RB]"Oԛk"ְZ%)2V?H;KeiA'E:`e=T-KIZر&Ch4EugaF?$*:
-JD
-B6O x&7guH5pwJa. l.fu@oL ;P0~fbaquG|P`AiibqmgQm'w:kJ~J@c쬻՜:pW:Քtp쮶tU9tp6t<^`΁Ȓ/g
-p~8/
-{ |E9W.zeO)BTJGL[`NxCTxKXX\6)T}5Pb
-+v0>i2:\1 fIj e+JE6dnFJP:rzWcB 9L7/B>dTfhossPQ3X޴l@m bԀ]j2:sˡe*+\y_l _ L{PHylR™gr-+˻A** 1S0t-A`X$73jOMsXZGR5Cl{i'RLX JR
-GA?.%Y^BQ W>B  ㉛*p85sWd3{D,WwvKfeŀ-{\٫nEn M?Iwz[w ]!̢0{Oͩ]1% ݏo#P|Kcx6w}FLڀ`]`۽dIk`$M爨|?c rMV:YVB$n,d'a<bQNo Gуb ~O$-
-z.ADb5cTg\5F^71 tˬ8AiN@{eęܗr*Q+yQzm3TB K
-jūՃZ-:u<-;j ypj 2J'xm$^uИY7^HmWaݷILG$OoZL*ţ Fl*Nv(B,8 r+w'xi"M4;W<^Czbk"~lXm>*Iו)<3_o5-+{S$L=wSqPDTr
-W8~9
-kgz)9ۡ>2oh&79WX{.e~ aNqD
-O
-ʩwSC^
-qX8 -TryK"@_&j^ʘ"X㥓As=djlW5QU)y!W 67$цoaқE>=Ud6bÖNȿ|p[F: Q96ۖ2m̗%h(}j9){nTMa>jLu3jUsNiʮhn"
-bݑʲ?z`a`hsIr"
+469 0 obj
+<< /Filter /FlateDecode /Length 5084 >>
+stream
+x=ˎ$<ڇ~
+m|yfvs0BӖgM*,LHpTs'G<)h)M2\fgGjKS;z&ԝXY)oEoEJsg cwLۦSEUwв fQ>q.ƭԑl]g6fXSٰ#+ >]18 xÍF^r6 kqˌ1#yD%=TɃJ^=OTk9ohfvMWT(ڽ5u| ­ϚtD;zc/MާhƳ_we W?ų̆²
+Uv2.q,̩ _uώʀ_[\.yއ%_T*ʰn|{p?"0x__/fI{{y׌|SDS
+24la@@_3 Pm"9: >(X72
+R,4jH`Nk
+\1B
+hhbK)#^)DN,0gL[b!JQ9> >(e=T@d"R3֌RbtӊM ȽB)LX4g2~{WaA8J@P a 8
+gZ K&e5nV7QbJ$6/`цbF]ҡw2< mFL):pFO-:ĶA7692Ը!]4]$uV}NtƚŁ˹fpw.mhaW@+ M &o[spi^X٣ק=v?C|2-ƭ|Zl<eJi
+k3hRN,6/GL\"] 2jZ25qsa=ia1%&<PGs5kHGVv~FC\lᬂi>JFQ!Ȓ)02EW)4SdcZWuS VۻD>z@>~'vJ5oE>:#zHG_`|o{wy[ƄEgF<􌷭ʱnLѪTiE6ؾVpo˂x+[F9Pz/zZ^ʼnv@EvL*veQVV˹%"8R% u5u뚎eqtcOX(,K2o 3m85BkG٨ V\ErՔUJ[}*JJyua=RBɡ`Tˉ\8WaR
+^RZSH];~4/*6HVK%##ťZT[jVmZ{<S~;hv$0O H9P''t.WiFd*m*ƍZFBu?#.kuN60L_ ly ]&[cIfMNt^XJz m@`*S+uZw
+-#OEt >ɲXHtKSVd/"ȡbw+qe$ToEqXA` *a ɍI#0bOG]nNIJNu)ͤDxR`햴5 ゙dޙښЛTk[!v wWݿt߁
+"(Fbsy2d~ʎ-~ bc+Uc^ĦёYfG[{YOԠ Pk s)-_ $֏ҢN X`B.LK>7K&C<  9N =cdͳ#9 Y}#[ʹ
+#_FAf\&:G:XS볪Gztdh; v{;"m F.Wǵ"/-"
+Ucj U';<`qNv0uy;dGKD([0J+uCuW=q>eI/u
+yk[~R<b Vv6餍C ahzLsAv<&]P5i3/%JD֫8͢uۅBpBQýfv⛽mfw74\<շ\ۏŶA);Pz$=ޫDj͘K𠓥mL`?XR]$op
+#GٻBs9s\/VAfJyQh<aHSr=g-d e7n != /Sr,}Yxd "u> ҍRʟ9>JIFIRB xUARwZ_>;lkq Z6xҶ]$Ϛݴsq%`R,V-
+ob,Rm5r*Eо0]wXq22ܒ˦ahLS7ʲv- +R0!¢Ϧ7
+E K?fp6Ϥ gN/x)Qg6ӂ%DH.`BwE+>ܩZ^7^G;L$VT
+Z]k79VXܼN
+ k1zk~h){jeWPrj@<P̪ }:I4}a3efw}bv0{wBB]6J0ݬ
+xQ=Rx'>py;z͜7Z'`ߑ
+zTټ +]H.\$t\/ݛ&)MfPuެx%a:n6_Şk#7%vl: 1'/Tx:⣼uAv}ҫmK.=!>CSC#_g@lo׿u0z4ڿ]3%uTc')o)xc?s^fNyP
+αS94ЯV2#&ޙrM]˗ |Wɨ w&@S%).o>^/AԊQ9J 37
+E܆݋b(tO`a>RE<jTc^~-+ۈm{~)kf@[8OΑvg"b)p䕵G.6JJIϘԈM՟ʿ|OWY3f#l (p v >_9`GoV[vkn\fN¸n4nm/+N'N)*[seH*QEE@)nuGnjVݑ<l!"s.?E;ޥL>敯U3\<g7^ao{=#x\ЏV2Zz[VZ3y(/F9竹@Ngp$iǼ)$\HOyt*S4f=( 0/4v2 FJvY\v䷫ jo\羗G5,ao%/мNJ4Uĺ+*k~uN)MR'ER9XܔJ'=}]zOSzHeTtxZl[NXh$ _DCa[i'?29X"-f5{GIPɠ?:#LB'Hk*cI
+-~7R
endstream
endobj
-466 0 obj
-<< /Type /Page /Contents 467 0 R /Resources 465 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 390 0 R >>
-endobj
468 0 obj
-<< /D [ 466 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 469 0 R /Resources 467 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 471 0 R >>
endobj
-57 0 obj
-<< /D [ 466 0 R /XYZ 79.37 638.682 null ] >>
+471 0 obj
+[ 464 0 R 465 0 R 466 0 R ]
endobj
-61 0 obj
-<< /D [ 466 0 R /XYZ 79.37 355.305 null ] >>
+464 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 506.052 333.048 513.026 345.003 ]/A << /S /GoTo /D (section.4) >> >>
endobj
465 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F55 379 0 R /F67 385 0 R /F74 469 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.205 321.093 412.16 333.048 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-477 0 obj
-<< /Filter /FlateDecode /Length 4704 >>
-stream
-xˎ$>_QG0D"3nނ$c8~7Rz (K|ćO.$ _b=vF0nKǹ?OxJVbKVYZO_7(G=_`5aQ)>wVUᛠ]4 6uJaoi`oѿ x 5aL 7%]=[)J<KO%dHj`縺G0@؍aCޜd2$1e|yS;Xɵ6Z[
- V) (
-dh i<f:2ma) C[ſ7o8Tw5b~V37LA
-V:zؙDM[$9@^voP+Ul_$aZv۞X` LP{鋱HN@ <ʰ!i(3ť
-Հi)mҕu}ԭcJU) q֨ul<'PޔWi8VF"OʫjՖ`S.SfW
-)a
-Dn-O٢}OK
-87q!}V@)"߉l(lGHf
-vQqq)%̙h+\4_sV3
-{Dd/$+;_knEw'vf7m]r.
-) )2\-Y8Oܭ0ݮs6ѮDR%@wmD7Vq& xfӛ-3b38"8cJ>̘*1nPcxwz۴5a!~9'PK1ȄO6 D>1qUVڀNSXH
-@3e!]1"#G
-tI6+Lũ:|?£N5J Tl8>-t> Ҍ>Ƭ^-wn f!Um*~AYmGdk#ufm3AZh7͒|FUM=y߹>VU{bc$\QJ%c֑AI)lirʜC52I&LޝNw3dK+51&8J"LʞzbPILO7$HגIu8)mP#qIb^ƔC֐4`HҤ׽J~߬zl&Sk#FH܊r$eX#znp/za|"~kPJljkR5Odq|GbWobW;
-Tz6丧8I:SuNԳQ*׾mI@V6.%l_ӷqL;8jbE?|hGk䁋!u2jߒ 2a@K?v>@0_rvr=*i-ɄAK @iI˽o~!d:g3D
-.ôtqX8I2*V~pǨ`?Cw
-Cvpꩇp_ըEcZ{
-=U7N8)mӌ#÷N3\>|4t9"<KSޜpn?='qv핽p⠆CED7=qV;m\m[OSlJ߮6hkDI #>TR +W2Q걺r\U&ܰ #e(XuF0r$D!]Fܝ5W~WR"Z=,j1
-"M%Y6XP
-=ś2:fKNjҺYihѮe&<u}~ 9'F&=P5kL u=dU8h@5S/ឩ_~L~NC|C:_PcA~HoK=1FAU6^ޔ9u ?܏# [ uDWʾ9uB&|P/)s ݅={s}'sO\g\ܼp-% a%)̣-~B{ɩEO֛ź[$8lYI4C3?zZMyes&}߿I 8fJ蝜on˴ӯ-O/@@*#r<%(z9!x瀠T{:0dNn耒Ю0*dzuh\TK0Dg@PQ>=E!2%Ǜa5I-okMiir[ 3j?vu
-=#K.tԒ0VRQ"zQȡZSy$q-*8_ Ոqe<C5X\%`gA=RgsSڢ)n Z;xh1HN<
-mw#~%[ْI/FqX#G]+"Wr[Ϸ-oʯtLrQqnռXKlv9?G􇢨U"'.i`?DVj4!
-WMVXr:Z|#=u-uX8@l Yn͒}A߿ݵH /9P|6h7vװʐmo{fQ;.^FN
-endstream
+466 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.259 309.138 398.215 321.093 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-476 0 obj
-<< /Type /Page /Contents 477 0 R /Resources 475 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 481 0 R >>
+470 0 obj
+<< /D [ 468 0 R /XYZ 78.37 808.885 null ] >>
endobj
-481 0 obj
-[ 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R ]
+49 0 obj
+<< /D [ 468 0 R /XYZ 79.37 598.057 null ] >>
endobj
-470 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.79 627.315 417.764 639.556 ]/A << /S /GoTo /D (section.4) >> >>
+53 0 obj
+<< /D [ 468 0 R /XYZ 79.37 499.17 null ] >>
endobj
-471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.75 601.687 224.705 612.636 ]/A << /S /GoTo /D (section.10) >> >>
+57 0 obj
+<< /D [ 468 0 R /XYZ 79.37 474.383 null ] >>
endobj
-472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.112 586.296 432.068 597.245 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+61 0 obj
+<< /D [ 468 0 R /XYZ 79.37 129.534 null ] >>
endobj
-473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.126 570.787 319.081 581.855 ]/A << /S /GoTo /D (section.9) >> >>
+467 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R /F19 379 0 R /F16 382 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-474 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 492.082 519.65 504.037 531.822 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+476 0 obj
+<< /Filter /FlateDecode /Length 4371 >>
+stream
+x<ˎ]H u}] dVF LtPy]=rΑ(K$u7~內/zӠ/^Ǥ-_?qg\?~
+ s.@~9 9#$v *= {xd- wa# <NaĦ1.P\p~q zy EhW
+90B  XVLd>>23 AR1u^*)a=NL o[_`{ܿvn:RSf{$L9S^_6!Q!9sL1Hqϼc*Fu2D:QꟃYqY8ƅDF,(8y_^ DCϵpv7M+j‹_kxjҾEuGYIHqT>"L2Ӡj%< dBug93iHfߪ0
+朼mKcъL2.]eWAzkZoꌐ\#ɘYc%V$Iϱ(F0KE6޷OU˗mbYzYX"?d wbxbpru/z#Әa.F'<T>e R5N+ULޮT V0qx߿C%+gvC P<[<aP$doϘGvqQ+KS|G6'2
+(RE? bU㟼+.ٳarqZ1y\H4a%C a&_9h;%OX2u#f#*fn8rmd@ o7-&6Hgo/|5>^c=g*-'hQpc0;_ş!E6ԩ)y%4 85dr?6b2'y,gy<
+ɉR
+U˵7PCóڡl&3_[r\nT$G\N.,\bǽC,aڝ n.|Ž7AWir~ٲ_'ř}5&EA$b![$?XE{k$@`z(e&;rw\dhE)I;= Jxs/0H"]+S,8G;Y
+ 5(F<ߖiTU"뼻8B
+p*
+VQ=q}eArg:Kmw.>;7Eg
+1]5hV*\D$TrY:PMX{eز6޲i
+ȸs
+'z#-նvsAlHQ%L[&<ɍ<FղsGRh&{|8͍4~Hɝ + IO&z`_SB$ svOA]:cMvoV\-~9˝<|:aάxV9/]l`JCOyTL ͪ2u?
+M$q}KgW,iQY)ĻfkũN\Wr/6/͔wOﵕUν?:Bw_پ,pQW4)63V&R1U[6<ezؾ\RZY'H
+jVAri?H]?Tu-a&)yh[fӖJ¥g@-)=88r\dmmQ5!Cc2B޶|`_t(\ I[weeo[=ڣ hO!m퀔StvWOf=͗h[gal!Zjh} aaα¡
+mIq7rQg̵gWcbE38(`8S0A <G9b_zLxFZX &Z pt
+!Arp+K YJoZܼv5#Ys~.E-@Y~~e!;6ֈs ֶ 'k j/BVKd{1s=ã8u#t=
+w; 4N {uG<CɈ!Of>9Dʗ$6]K{ޟ _z?0
+@O3?$f}|6}k݆>m$A56ER0ȴhCI2*FADT4O׆ 7zrU'
+
+-a'q݀Xy!Vs\JnĴx&A4.+iw#Cn㜸`荛{<$)Ղ:򙃔,s56reFj/N7>3|f5͹*
+endstream
endobj
-478 0 obj
-<< /D [ 476 0 R /XYZ 78.37 808.885 null ] >>
+475 0 obj
+<< /Type /Page /Contents 476 0 R /Resources 474 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 480 0 R >>
+endobj
+480 0 obj
+[ 472 0 R ]
+endobj
+472 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.788 109.87 417.762 122.041 ]/A << /S /GoTo /D (section.4) >> >>
+endobj
+477 0 obj
+<< /D [ 475 0 R /XYZ 78.37 808.885 null ] >>
endobj
65 0 obj
-<< /D [ 476 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 475 0 R /XYZ 79.37 546.329 null ] >>
endobj
69 0 obj
-<< /D [ 476 0 R /XYZ 79.37 385.476 null ] >>
+<< /D [ 475 0 R /XYZ 79.37 254.904 null ] >>
endobj
-475 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F67 385 0 R /F58 382 0 R /F65 383 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R /F33 479 0 R >> /ProcSet [ /PDF /Text ] >>
+474 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F74 478 0 R /F69 402 0 R /F67 389 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-490 0 obj
-<< /Filter /FlateDecode /Length 6159 >>
-stream
-x=˒不<zIΩ=7_ MRRʬv՝
-4%\Kx<3
-"TFrHzdo[xB4dtbH%Sڄ?viQ~k}&;d%L]D2%2 Csm{u`$~7T>D¿SFh6Mӷ}SU0x57%`N2 o/
-
-'h/+5b,8MRsӵ0Le/ڽ\S{9ט㿃~j'3rswg錏ܼ 02}
-7nhG܂n-Kgv-mV*ou ~>NF-d hS z]
-*
-puŠu&Q kd&oEQkG㼧Lu/h?H<߽xt>aCw"(8L8}42.diyn{Y
-F$9ރ`k5oL1,,j0 sdd'8F2<O1 3.]I׵T Wn~sR|&qb!yl<2"}cjCTSkf *ZF#qXѓtYluI\KN)i;1+,=sT?o6+]I
-|A(s*5M597>W:KɇH7Gƶ^2`Rkc2qidWwtQw^d+b[u{MHq^\`/ה ɃlQI.(G/rhqq\ swҴ<#O:1oɅ!1e"SK>n7IUru/ۺ%ku*^:Wh.@,F@I6NMX_s1VֹҒ(7b*u:Cڑs rla {pCűIxhֲ;v`O( Xya0J<* M}<)Ican?}MKMR60#-CYrX(2Mne3fVv+bRhUHT?Q º9)%VJcǺ蔧pgVL݀VhuCPTꈶ8\PBUuQq|!$-qr~23J,;8wQDr֕%Љ䆚'i=|bćZʡ
-*A*" w+Q&) @G/nA}Ou!ȃ6* uԈZI_l V`:C ^ 4W9Nߚ[@nq-/@ׅbo*LD=~爊 nO*basڧ wL"nuVb%&e䗶aqMuxta텱 o.06%oaTC
-Zc26@~Dc0hb1<֭Ġh<d` QzSQ7lu=)p-6 n3rC-Vfvi?~Vw?g1Kє&+` *+%g20HʑD![ZTTQtyY.1?&<Iy,ܸΩߕߣ] g.]JN'- woɉRl!.,Ҏcꪦ0؛N{sZ://6Sf`r0`;5q)X0\o骚`4uG* j-+o'RJ󓼁WW %4Jް&JW#LLPvFVmxBM. Lq 2J3%Ifw /Xw%dOk}xg2%/!&EO*;81QI^-`_4F)KM8II<rBռlff]khz:1cBPTw zűL( xYs$M 72c,Lsmqu4~nJ9{PJ|Zvru,n垭{|}3VeݻWegQ2]{i`G,'Kh g2Hz NyvqK!MIΛ6*nm&M0IW5fZʒvI9aܬ&Lllj o(Ueᾞ1ZFQ.$MK䧣^I:B[8Bb&Z3 ?T67 ab&1B[mQÍH j|-{F{g*0S.` Pė\J'-y^ށHT>ÛxcGͺ͸pxPUH* G 2Ih
-oJizC[6̣0xMoIJ|Dpӏ˽jA!&fr%*J[Rȇ
-9F7o%Qjβ(YG͝֌?_a ]99fakH8L(۲xїٶNa^z*I.Gh@^]›כ:'`Q`ps&RMb ^t!Gf4:DGa=h%f/ԥ| ^3\XۥMű]Y
-,zVo07i
-2 tlCaU|䊬L6h'~jx$ҤB^i@/*?ײrw1pۯP}ටSf ۥ%h-dȜfY'\/Iv,N.yUk)}
-BVgYb1Jڐ
- i9}iga(u#"'oڼڪsl c]f+T$YxOз! <L"0ViDytO)<dѴ :xltOANYJW
-\cڝ>gX:lEyKW?Aҡitmd ״ :2EN¢j~.Dyt;×?BO1 woUz<a kI 6~DeO7#<ciR |Z=S ;9$2-ṝМ OANhNɧLˠCxn'4'Se!uB_ pV~ Ey'T?A)2 itd|ʴ :vBs2H>eZs;9$2-WBag-p[9$:-- AA]7@383 ]u9+Gn`e`g /˧8mZ===)fV,δ[Pո#V-A  H©Ԕw2RY,B#p8_UÛސΗ)bLL;3 CQb!8g;w0'pݛQ)hGssİ{<9%`f$uD͘-;&_ZtG^FZ/W>N;aLb]?xڦ2zWe[D7C[eVCLzY\ÏFCV\S(]?0!
-VÍǶ')Yfƃ'U[-{Lњpm- #)\ ]Hm5V2Lls۶=V:4M%y$SRi*|Z1Eȶ6%$Wb=W%n5cXٖfȄf/5[HX\kfӔgBlΟ lmW(⯔e};8ǭ% ӗt-[>nQP?zU}2Y/y߹JAI_MT vq:.~2lj5R־OWv}rP)FXo9*#}evCFd)qEiX':#3|$B~K W)X߿3' B]u|3ҡ>Ty`awe8CFԇLj2,3,983뾵^E]C+\,=E%/fU[[Nʁ&~>JވИPN0,_hD,fGV}pTW+i*R38NםrXT@t_`>7z3غaüc]
-5j4mN8]4PꡮGU rfN*9 Ry2Q\I.s Y"}+4]^f
-
-*Z9ZԮ j]M0jt#͸_|j #&e1}&GY ^axRֈ6eUrO75kR3QI ^I`#hM@j/p*GL@(ofy+Ơc%o E_5<]Vr]
+486 0 obj
+<< /Filter /FlateDecode /Length 5326 >>
+stream
+x=ɮ$7<ڇ KӀTuk=\f!K)"]ω9%"(J(R(]za?\]4hy? p'Pb4_.8OA=q:h703*wEZjkH髒*ho/`>{*MQ)=au;=UַkR
+jro͕S)}ZQd%ax-†=ؗLo߉^;L?poAi
+R%
+
+n3dr=hA6/Ԗ2պ×5%.9#xCvC=|EU*qiL'6kXLjL][OXϤh\HФĭH( r};6/$?OZM(
+MIϱFao?.THMBϚi$/iIXRָv8 hQa ήo>%
+O.0. " \QT&8ıQN :*Ӻ~O= 8
+yƜdu8;, @+г {Ɓ+"K-5qEeyUVN#˖zn? Oǂ`L˕>i#9=+`8P
+݂ˇ#_p~{R埗)ϿFym\aۮ$(<!*8257&ě\c5,gfL2
+őDdeguI<g4i/U;x͖3Iz;7_?x 9]jX=oۦ<
+^4鰓 Sy =ۮ pcϨQ^ZWF(;E2e3Q|}W{WJ;]kKA]_JYī$
+&{ZԂ;jqm$-fڪ*@~ePk~e%/}P6=_3z4er([G!p$y8밶=
+ޒ8bgb}5'樏EH[rNٝ@ȝWoA ҉Ω+ԷKk/2P}/uITN8k&ttseTff2Mrݱ[KXˆK^*_lu+ݚK%HkhU-zy4ݞG"_6)du3i%pz{[uXj]xIXoy&6J'0p(7H7<WMScr$SRڛ=9o[.xkn$[ QՖ5ojrZ_'\䥹`c|Wlߦ i\yy bD?@9{;.oe%z;.2_<Ⱥ(j~mvj-.NLRE|RnyϏJ`;qIjyo7ۺ yX};8฀I>!¥y,Znyh .9V>egv?A#פxPa)px/V*N/Q?7U;99
+(z{
+Y"`t Lvk?)ovR#ɣsݠ;ԅv@_Elgܤ\B8Xvu؇!?:%;̒ QQeKYܱ*nnQD9ܱl+G"w sZoЇ(bP _;t8q痏=Ɲ_>; 1ܡǙnp˸Ziђ7T[]RNڛ]{g}"!P S.SRi)Iisl.jl O:mÊj]9>hb$@ =p#+g#M8 9.3Wt MD$X3<#UY*%èfQcLǞ ǧ6kJ L(hTC
+9¤
+PHVjɇh.C6;2$B~5:ZǕ-ER?
+"|L:%T?aiq=Xh"k:3cnbz:۷K1<q--pt[Nsu,Yrz4Ƕ@Ks 1x†NP@6߸_y5L ]?:]f4pP`™#S܉)
+rd>H}}|N;h(|Ў<-x7.|K.f
+8r$K y 5 6yJ XKyo)OO_6l<vp9LJBgAz)06cd)T=|șQQtۙlc+gmʶ>gl+͌{3gZXYOגWrh
+q,o-# ?y rLykP}:dtt8i/UoWY <~Jʝ8Nqʨړ7nԗȕl%t'TsJr RܪY峋w2I1AܨK? ՚sR<Z(ܫHX&H[%2pfאՇXYUx|J-+rb+^O[/N|!jL^'Zڻo%$r-A#WHrlW)Y??]ue[U0É?|
+-i/ 3EZ
+g
+sMQ: ]ϗ7
+fݛ/}>j-*J4;E0QO{meF&̶$ŖoO
+:~MlF"7Aۂ+$,0ie:L)tǕicUԷ -*E{KBmg%륪%nur3$Ac{ǝCw4rH2if7aT55%|} ڍKeV;Q%͂VGtV߾E'pɶ!)H]߿ԨBIeG(?NY gU
endstream
endobj
+485 0 obj
+<< /Type /Page /Contents 486 0 R /Resources 484 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 489 0 R >>
+endobj
489 0 obj
-<< /Type /Page /Contents 490 0 R /Resources 488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 492 0 R >>
+[ 473 0 R 481 0 R 482 0 R 483 0 R ]
endobj
-492 0 obj
-[ 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R ]
+473 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.75 746.177 224.705 757.126 ]/A << /S /GoTo /D (section.10) >> >>
+endobj
+481 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.112 730.786 432.068 741.735 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.217 472.929 387.923 483.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.126 715.277 319.081 726.345 ]/A << /S /GoTo /D (section.9) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.644 472.929 415.599 483.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
-endobj
-484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.008 431.086 277.963 441.925 ]/A << /S /GoTo /D (subsection.18.2) >> >>
-endobj
-485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.956 89.437 284.413 100.894 ]/A << /S /GoTo /D (subsection.17.2) >> >>
-endobj
-486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 81.266 514.551 91.43 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 492.084 664.14 504.039 676.395 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 70.508 98.706 81.965 ]/A << /S /GoTo /D (subsection.14.1) >> >>
-endobj
-491 0 obj
-<< /D [ 489 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 485 0 R /XYZ 78.37 808.885 null ] >>
endobj
73 0 obj
-<< /D [ 489 0 R /XYZ 79.37 682.847 null ] >>
+<< /D [ 485 0 R /XYZ 79.37 529.966 null ] >>
endobj
77 0 obj
-<< /D [ 489 0 R /XYZ 79.37 412.149 null ] >>
+<< /D [ 485 0 R /XYZ 79.37 241.685 null ] >>
endobj
-488 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F67 385 0 R /F15 377 0 R /F16 363 0 R /F55 379 0 R /F57 381 0 R /F58 382 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+484 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F58 386 0 R /F67 389 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-497 0 obj
-<< /Filter /FlateDecode /Length 5297 >>
-stream
-x]K丑ׯq4@k
-`jgU=7 $NYsa-ػ
-3G,;Dq :xcq4AOAYPwu:ΉsrkW|-QKlhEq+0H>4AL7A"a :G' c+ F^[^Vyc<QH|.'}rqJ0^xC2o}z c)<3AǠSxg $>AprΡ }S?3@N߈?34 #)<3AL1{ M&t
-= a'Q z7}N>՚(Ƹ7ʎro1;Dt
-ͽc$*ƠS8xY+NGqċG|G
-Kx*I3)#Is|7ҢnQ/%px [ "N -WlRfwWQ-z|uhU
-|XR<0q IV?/zbju1nEm4(!&z+m!Wz¿;d;ފng[DC-kvv( 8f9f2,Ш@_֚c,Z302UG 17)
-_)&<z'5=QܵKq^`3VII\V5~q뚏/crg {2VƁgTL7^w9ӯpg_;ө/z^/gҥl(hs8*QD%)>"xbK|4n?MY%
-Ї`'!PX;@l5?O7L<.H| $a?(  C7D7
-'dh0Fݢ_Q˖ Eݣü71+
-@ Ν
-yIv'O. )0g>{v$B'kFW!,
-,0WKaOa+l©F6L@Z ]IQT~CQU$rs@/J
-0MR 47pW=M|^{3UL劇Rvέ>k뎔%x%ME0 :. 'ͬfK+xN`n`]TG2D|sUt,8{sf8WϩY(zmq?vB-)2fVsPkkj%
-z,Ű.m9u(s,B5k"#P#kjnP9ݗRGJב?v̋xo+w$Q| /|~_.<\X^D UHכT֤HHt5V3
-WL`'xE47^v_|OI<I'~X_Z^
-
-wkè@x>{x3^3F~_|f纡,p gf OkCO"nLF\J _IRf=J]?`5QFh0;_ݻ5@JgaߜsKV+,+{+]؞G6>!y1FV/gF,,U:܁E .o{+{9r"5S$" UYoF #Q|rDn7[ݿ")WĮQnyuJ)#p?}
-OJYCJKQ\I
-YneJۦ|.&r"fk̴2m#Tt9ͦk
-@fTa1t p38_0]>i;,/'d8
-e4UB鿿M>}n
-
- |~a: •*RY !vQ@*Q9(4%f/-msŻ_Ӝ$$Il깗k[eV3ڦtc U݃:KCK?[ND݇ 2$98^\
-._JRSWA~i6?عߥ[F@J)!ØjRg 7:gPi2i'dwn9QNc' [ZA,2Lc~*61h(…>ͻx# kҏw *r0ͺ*+S/}!tͼ/2oa~y^c^fF7Զf^7c\2sy'^x̻d]kwyך޵+piwy/n>ʻVhFֶٰ+v^"'8ܰj̗n*ߥ
+498 0 obj
+<< /Filter /FlateDecode /Length 6100 >>
+stream
+x]KWq}(@RO =wZƗgYɬj*+"H~ F ~⧯ƿO$c2sqOP}=ENyDX0tLY3>mވτ*w~SԷ,4Y (/œVZ}J_ ?r΍%J~jI~d֛mC;&<B2nr${\{PtUtI=:IKx\L#3FO0 O&ŗ7꒠R2}G+H B{hHl`f*P5^./[BjYr1#
+unP6/cYύ۪ ô7Ϲ񎲹a1pTq2adyޤSʫS{=ǯX
+~JoY7T%Rҁ
+sdn]Mw1?s{Tk`>ZZ!&-K_jT#_řB63ћBaz#
+vB,Z
+:q]kL9D,LVcS1ZNyR*@^m69)WXlKLFs 8(ƭF}FlVv
+wur$D%CKliA RyEy١ Rw:зԇѻijCe/,b:_(;elm>=|:*EX6 8JjB%+[pZX猯uU
+I1hKel,]Yx :%Wnp uk7OkZays)3E nQFO$f#4^0 >PLp@We,4!E#/E
+'ZwrC!H 忠.Z^r8bZ8;y1>mȢJ5پP)
+j+&s,iW @kyVw<0|^ὺ5no'US0;m07aOrIP'A0!tΟ}rgn<WܟaJ37a 3 Z6n<ȗA1ǘ记MG(Xylۄ7-^3x~7,/m'_5Y*1L*p~>%?hvJ܃@
+&[Kw }K 'E$ o@D(P3
+`ƺݎ^ u578F~C-r9Hq4.7GMx!>Q0a\x&/ .!*Lc1:0(hƁg<oMU, ݬeykgN҉tUf-]tM[9 Mc00<ài w hX W>i5y,=X`{iP>2<0Ui FĠ:9 O``xn'4A) 0(>eṝŧLc000)Y'PNh
+Sf1 aP|4s;9 O``xn'4A) 0(>eV'腯aY -pxbP1aP 4Ó.g@;PONĿOį,;$f
+Kf1|u>z4O|Hds;_2gK1aP|4s;) /`dxqmo[L;k{'s/tmŔNc00ܸ:?cqY*fS
+z&߈g5P#?˧Bf<^Ï {<V`"|)  =A<6l>ucu?ˇ'l3!^uS<f`<'OHmH# \Vc|Tq\ph&_=7oJPsΜSt Ϭ;f{݊9%YύwQ+>ȇQTsrŒ=ؑrYwCu[Y|ι[-Üy|y|i4qgcDaÔpLr Ҡ27N'%5dc-KoLvy)R׷ MKr7C..=Ep4Ӣ2d%lo cPӷ;yv)TcTw*|A]]M^5yw˅қz3AWc:OFZ˜6SIg@A)K?l^_kKh) kظ-9MF..IpgIblnΫQT/Վ&(G-lX$֦v{E7V[Ⱥz7.[\|[hǂn]&HmԩK ՙ\Zn2p,ekviT4,Opf};7=KaCKK%R+m+Sxz$w(p
+!^k@ea1E]f\82}0U_oh#Vͬ@[p9<Dž` ΰEcMYZdS+ٗ41^*ύ="f/W.қE3Uƶ`y.WnҺE*rnQ% CkL"/b˷gW*{.۵z]
endstream
endobj
-496 0 obj
-<< /Type /Page /Contents 497 0 R /Resources 495 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 499 0 R >>
+497 0 obj
+<< /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 500 0 R >>
endobj
-499 0 obj
-[ 493 0 R 494 0 R ]
+500 0 obj
+[ 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R ]
+endobj
+490 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.217 679.377 387.923 690.326 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+endobj
+491 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.644 679.377 415.599 690.326 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+endobj
+492 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.008 637.534 277.963 648.373 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.415 421.78 324.37 433.736 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.956 86.169 284.413 97.626 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 279.848 409.825 291.804 421.78 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 77.998 514.551 88.162 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-498 0 obj
-<< /D [ 496 0 R /XYZ 78.37 808.885 null ] >>
+495 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 67.24 98.706 78.697 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-81 0 obj
-<< /D [ 496 0 R /XYZ 79.37 396.866 null ] >>
+499 0 obj
+<< /D [ 497 0 R /XYZ 78.37 808.885 null ] >>
endobj
-85 0 obj
-<< /D [ 496 0 R /XYZ 79.37 231.614 null ] >>
+81 0 obj
+<< /D [ 497 0 R /XYZ 79.37 618.598 null ] >>
endobj
-495 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F23 375 0 R /F67 385 0 R /F55 379 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
+496 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F57 385 0 R /F58 386 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-502 0 obj
-<< /Filter /FlateDecode /Length 4332 >>
-stream
-x\K$ ϯsE`mi>9/ޔJU]co;zP$T/ _}ӟoB/yF-~~_"b`b`܈Յs^\͹Kx}V\b 2u-߹?}h3
-6ȇVN2}Ih]
-Mծ,Sm~)T^{)-J-%Hd:^Y+OC8-0`{kUa{yeMO|hoQ_S ǟvuF)Vji@ XXɒcs"+բ,-y+{if40 mE{4ܚy2\ q:4k]AE1v6&%g,?}~
-q\ P o_~~؏G~hqa܌ v=a<s~I栂`fNm\5ɸl~vKAjƵ:Z |jJUYSCpLZv(*l˘Yl 8f앆bXíXK7$
-G=S4;)=6j{M}w@
-z %MVJyAIh~ؖGл)G/)昤a5p'1P$ؗgDo'a5čcXu5"gcMRw'ލeU|XwmS BbhI{V+ JP-^ӼchF1[6YѴŮBO@NHz iұt] ETSC"Of>6AXRVUF:;-$cGڽC72j/Gp<'/L*CP󳨇}xYso/ō*Y7x:pI={*IԅP0F4+]ѨŹkp{1%=Fftfv}Vw_2uk4rHfRْVퟰaP
-R]҉Gm67_/_g 5F[+(1Q"޼-£*t䳱9t[:8ŗL>!NqڢyfÇ7׼ʑiſ ra7l_sHa0CA쿿o~p۞µG3U=I%՚]v%H|Teʋno`8-
- v82vYiZF0m`s~]?˜v>iSb)GmJz8̦
-_wMt0 `jN9w
-.]8wf୽:h/i7SG)
-(P
-]iRw=9݃)|-1
-<W RXP0gwA4 8HS~Tm8HiDŽ=G'A]jTlcRJ}Y:Ī
-9=Qs|euru_@ΰc.Ff)T?qc:+~/>NtLb
- Wj_ݨiʹ%W+u}n}?&3(ϴ͐fh Lb<
-' ]LCkOl؆6h&9.#o"qI5Z_>XLsuG9g?2BiOtO~_ LJ:} !g]`:md1>ݟvMpp!*su H<<Z]3ʒGU
-M"M\]=ٿ^eχܻ5+ܦԺZ<<h%/ITh?<|{ˬ_@\Zt,G#h鸺ͫv&z17
-Eo8HS tWcFo`D h#rֲwc*_TJnm%1ۣLtHh3nMmWl4Kl tpaJi rCwǁPL:3YrO -؋|"
-߹i(”"jgn>7~ۑ{Uҷѣ)x3)MuCa(
-_+rY3Vƹ4%P$U$Qwu5k#55i,ث٪./a0܎ !6\wp* :CFnBǏc01Jk;!ƴ {w
-RXI7 7 B~MP{+XkI/!\W0sg&_N<Fb͂Üf!<(X >y R 7#ٖL é{mEr2#]sݿ]ڙ^-Rjpr=K+}zpKLneI7Ĵ'ɑDE|,J۴Z^ߧx3UK~J]`RvԷ!_Ciկe2;G @mDįi˩6(tv^_Pnz8mX˙#'nڑ%;IQic^)3LSȁuԶ
-Kn63haG"S.OBd;A.
+505 0 obj
+<< /Filter /FlateDecode /Length 5319 >>
+stream
+x]K\WԲ€շYt{`
+z_yGHQ7i}n[jCc]Y&>!Ϯoc8s: Ħ}bm&]D]r۲T%r=+W2f9@QM02kTJÌ֔V܎Ōc{)jQZa}`-W!0}^1'Ue]qi/kZ*r&k/:t`gV\>Dj00/o>^j9 'rm/(Oߟ~$FIZ<'A*GAapj [J
+pt2< N@YK̺ocq1GNԅX= m'8~y ezWѧ
+yy/SV]۶iFS^~I(-MLc/uyFKR rF>}w$mMl
+V -zk[.xl*Z
+7'kz)C%s p
+
+@Z%s)~.gS{$=D"GNvEfin`Z?sR7cTLc-462J~8G?39>lqXz<cYUE{>-VRikuɅ;5ߌ3!a
+I݉& ģ_Azc'̈i35Ӧ=BSdsMYg1W-aL&/ 3PDos
+(9)T
+8 |_H;TX lP
+-N* O*`78{?
+(>-~E{a@׳
+>-~ŕ DŴ2y_RϻwVucH:0qfnťx~Pqf?O?PT7n#1B)]%ԯ8ޏ5ZidN-~u ࡊƜ2y{`Kg;|.О8ӃkNHL-Q|L]Q|2#}je lRTx1
+myYO!N`֟d֒c Ɣ~R׹h-3?bg[hK\S?.P?5vqmihV1_1+1]y߲;ʃRXd Aǘ1 1OcFק1Oly}nc!b,j C08NL,1LLy2R2Xk]MR*O:Ŧ>~,f<řOZf9!/*õf|0c~Q•0slnSk5<Z,:?Ë 0 T7ش
+5!('e#5t=fh̺CA $+!L%Bw87Pב
+WP[iISӊ\(j" 67-eF?R?[^<IsIJ}{D|ְ~@.wzrzVZqvi
+Yyr821#E ћ!ǂ+AݑPVG'WBC-47*ZMGm{<iLv9ar{Ե~T<t
+`Xx5()~T:5] Xbߺ[-Y
+G{[gFI?'gY)H r[&T>.WM$)mɮwgRrgghHCnΗB`){/ ~G5KgXկ+>Unw y`tD)hS?Kc&OY;ӝ9&TOܺkY q:9ɐ7 OzzޭXMg׮ߕ_pER|w1Ӄn03f7<=[Ru?“r|''hIs{Ol9rjPcY-hiڬ% 2$ X/fu3݀u":[ɄQ 7 r~z[}zRL?i:|(0LZ0)W
+
+\FD4nWltNX̆"߷6‚94-O?V
endstream
endobj
-501 0 obj
-<< /Type /Page /Contents 502 0 R /Resources 500 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R >>
+504 0 obj
+<< /Type /Page /Contents 505 0 R /Resources 503 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 507 0 R >>
endobj
-503 0 obj
-<< /D [ 501 0 R /XYZ 78.37 808.885 null ] >>
+507 0 obj
+[ 501 0 R 502 0 R ]
endobj
-500 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F23 375 0 R /F58 382 0 R /F57 381 0 R /F55 379 0 R /F20 378 0 R /F66 384 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+501 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.415 625.868 324.37 637.823 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-507 0 obj
-<< /Filter /FlateDecode /Length 5896 >>
-stream
-x]K$ϯ}h0vZ6= MI k-H2dfVeԪ`0d0dIY_>Y~*돟򭙖}ɁRn%;chm~<
-Vkn]m`Z0Ǭ ݾ#;.d|*&zKϿ| r۴o釛
-&w{&vT2)?((m`
-hXuҾ;+LdBjW!y;skGicMe>‡L\,
-%%2jmGku~g>BЏ#ן{u[޸srVA_3*xXuzJ٣q<A ~&[x>ĄCd3 ''U{#RMV9 lVeJOt&hJ-Yd.bD{F3 qЊ7O-_!Cbuaҕf'jiVnQjImHk̕W<{d7:l*!R\Wɭml+
-gN2oyAubC"7pB}at.y:Zc
-ԓww/{NyIkKmNͳ7-`ݶ7gc՛}m@= "дƵ|h.4F֑Ҵ'đKPn2ǡiA^ꊞV4$Tj=@w=2LZz_?iGoX1Iq/ V(b {jmDA]5.HFE$ĩ}7('%Q+O:ⲬCЫ"Y
-@oz{~~EĴd{|5Z8Ϳ~`l9Mq䰏Z(z|Cyɚ#4cj?4$w*v3*%mp8@7p<ĥ5dȻ{3Uîw-B=_x
-~-
-_g
-j[&Fi}X@n"i˺kۮb_ pҞ}M}4;Q򅋮/
-Ki&܊Z-k;"X8gCS$tXc8LLr[a&:׉< ɩyS9($2:M9beGL:A;ĢҚE8I@B51&bWAFI$$d1+ W - d! ͵6
-t/τDTWXx'O]Q <"ږ#!a C LSD~1!+o*▙R7e9HB,D@B@dorT7mMv4opθx[Wyl'2Z`jz/lea>JM
-UŐѢb5ŨH3Do)\
-kҁDn 4H`0q–Gj+"F F1dUs#iŁA[,<Gr;-xAWCE71+FD T;H)CkLWc״_[ҢOpȬs
-࡝\\:!Ԅt+8^b'ۤV ѳ 3"e0b!KNہ"CQ,
-|g⥞K Ik ܢXU|(j1
-%R$B [b\Rjs6H0>S19wb~CN.r)au
-%ʵ,]0)xzAxpbvZ˃{W|s6q>% >?i׷@Gt' o|@5@_7Wa\GtvE=a6A=$|w^'7tWkBj*ܘ@NGHW= T :n ]/ټr$CB4bK Suc_b3,oxͻ
-endstream
+502 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 279.848 613.913 291.804 625.868 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
506 0 obj
-<< /Type /Page /Contents 507 0 R /Resources 505 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 509 0 R >>
+<< /D [ 504 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+85 0 obj
+<< /D [ 504 0 R /XYZ 79.37 601.029 null ] >>
+endobj
+89 0 obj
+<< /D [ 504 0 R /XYZ 79.37 436.2 null ] >>
+endobj
+503 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F19 379 0 R /F67 389 0 R /F55 383 0 R /F65 387 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+510 0 obj
+<< /Filter /FlateDecode /Length 4149 >>
+stream
+x\I7̡ h <-)3!q2HTk;C("OD/,|/ z|I#gV,?-?<q!^mRKD05מsKzsutV6_qy?X"8SڟY~~WH{hjdjSWrntz^ٹ'-Jw~jjЪ3Ja >KU@)Ԟ[.nUְod~'r*|,3W+ c Zc%4oXuSt5:0mm5R o6UF U%\\?1D??su
+YFL%1"Bq݊2xr+꩝y% Ң:j!Qk"e/QV(
+*$u*0=Oo.?)pÔZHBZK1
+6@P RNOè-3Ɗ+72L괅/Fih+[.I-?5HP6Yq/YJYmN>B}lhï`_7,S0x;KjTk><)&uaV{hڶ12":[B!L+?5:r`͡,Y[Ҳȩ|<>rs+ <2ʔlJ-$!ܩ V֐6h1B|vn*ÙdmZ?{*C)&r;m(,TծE4 ްRj_ZaV0T|ŻIM j R8V_${N'Uy&kRu}>p@*CraLtaLt]6 p+AtkꅬtuϺdHRI<*E+]ԙk!S.wF 31YCU|@-N:I1|ʹth
+ҳF_Ys,R4801"c ~ő= :ܣ>vC1*x{ֺ(yblVJoX%RBB"c<~ .SEߖ!@ f,@%;lz̥3|ڔ|υ:R OTSl+/i&ݓBhDݫ'I  ǂ{/}WF:Lo#{OX{م+`F2wz|T}ey:keކH#WU˄* @YPOR $Y+z{NUU܁2T!$emcZ_`Ac";-L>l} 2moQіϊ eE#ǏW
+ܳ+U( ,Dek%!D5.6QNɪb +yRB9eC5HA^*e\uQK~T%ؽ:Ge X)Z:%
+9?Ĩu0
+ 2u]=FAb!F])T4&ZžvP 0-ӈ6Í8crT$N;*T׷
+Ƭﳴ ۥc)]u||;,m6Rĩ.e|NLJs[5%Y1S{4咠|w֊;qhQL-*iשWn3Ezz+Z)#S)${u]&LsƩO
+ (%ҤpH}`thVƹ9ᜆ0~D?hü 痜4^%9&΢
+^;z5F12 ݒPxȏ"%"DsaaAH&4n
+e
+ȼѲuB0aίh J~y48N ᰃuLwIc+oTU{ -OJPR靍m3 =xq0Jk焑{a4jS}+ys
+@,ԥ"loY
+'!n]>ƒ3fu4DŅ\<fO2Ų^t(`iCb\ڛG ʧJ>ac>i&cZEOlϖ (~P28JExl=33fY_:4PN{*x6,[ e5Tr [~ނl\|o.[O[ziy ątOp\/!!|x9@Pq~Lb5d6ϓv\yKvrʗJ
+\>͍k9J{UHU}: gf-驺~MCԉK.mZ5vTv,p{ ={J;AҜ2*Cy5t7qL=8_05\" W+"#FU!$4[ PsՆ̙
+endstream
endobj
509 0 obj
-[ 504 0 R ]
+<< /Type /Page /Contents 510 0 R /Resources 508 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R >>
endobj
-504 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 432.776 150.693 444.732 ]/A << /S /GoTo /D (section.10) >> >>
+511 0 obj
+<< /D [ 509 0 R /XYZ 78.37 808.885 null ] >>
endobj
508 0 obj
-<< /D [ 506 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-505 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F57 381 0 R /F55 379 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F55 383 0 R /F57 385 0 R /F66 388 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-513 0 obj
-<< /Filter /FlateDecode /Length 4840 >>
-stream
-x=ˎ$9n<z`}o=6`9zP"Ȫ3SAQ$E%fE^~~*\~tKko/
-xC0߿h HKI
-L׆b7&$2!ʤiu!pjV_u?4}Hnh)M+ 79SU2>g^:6]+t{T7ӖBE$]Y__(q']A|>^k@_<v@M^~ylЗ(O'i 6`0_\**>(dљ-7eJnܛ23`ib_+D  =
-}أ6O0{+<
-qIBUn)& 2$Q$y0cA`Pt4s8cq( `[[rDEpIBU6): 2i
-|PD`pCD#I C
-{׮7xӷve<n ~2ΩW+ [n|JLXU(~DrN մ[ezG|1o2k&pue+ۂ)BN?[nmb `
-wd dur_#y)gD'Ƽ#_NuE*OU?=zqO/ Z(sqK C
-~%fLHʻR;vZ&SAa
-9="ӭ#cY%@yxn5FI+DL">˝)mJwJqH:W)y5uT@%!9VUq<z;b/]%T.3b&h_wTu1XevC{i.wt#c穮QiO%S#WL5ĺ67|ލe:#̉za&읁6䤿皂!hRtҵ*LÉSIp9UU:rkv[plWVE8wuDqRޮ3$+Cg+W&i'GҀSl,DSrܧb5H66E픤[Y5[Uc8[r>0XNUxJ4XSgPz*8=Pu:dmV;׆sN0jrhd 7\*k%=)a?Wly
-׹^ua!YDz<l)`:~xqն UWqD]0E"[wš1VD 6}j$ eХ>đ w"fHt`n627|VqUw (]^y2>n7J\^~ST^EHE<ՒhH\fz*"(e6aZSI5@*zѩ#L[NNmXjsvs6Wb C x`uL`-vM@4 ']:܂8Sp73Zt^>"ByǑ%=~b<dg{73!aV 9[v̀<k[+}hЀ11f ij1}uȺ7 l'S]vٙ=]P`*T80H&+˴@n64A?Lͽ 6.]Ȗ&F]_y}I!YGrC~X~-bo
-ǹIf `qwFigOY/ٞO*Zb ];ZxH,.\w4¤Eי-2Ғ⯇-)ӬgW )'Ut`ahMrm(֣j5w "{}1JDi?3*Ἒ1=3-eߠ=uG߮sQn%M|#}á1;IR~bTN5o|E7<)-rwһnF k/!wWHe%^(37R/=z1
-{7FQͪ.syo)ȊZ{o!{:[ᎉvZ
-
-Rk8U2w˹4.i =Pm8ǥ
- ӑĄ1לNQ9,y׶}Eh}U^(>Mae!_y_^;M&_g$sS',+|'ޤK5rbI5]wZ$C/=%YTܓM UU&`}TZVL\7ZwvZH j_S֏px8ƻyo?v@Vs凞Í[pHwL"5O<`¸`(x9*8ϿJ?oC<K |6`F1ުggi44,%Kn*^WB}=k #Ѳ[eeD_хCߎ .@꣍ϸqɽ T7]tb&6o(F::psz8N,V%O|2o3i _7@(_p_Ζ/+V^ cpqa5g&1[#i6ԟߴ¬P>I)sYVy奙~h)/s[' egqO㮲•KUG;}OYRuArYX75G;A.Gp~]9/jrE CQ%#h<45
-c;H.ڃk?};NMZiS1R&&~ nj"^([*lK:ɣ"=ÍUS9mޭbyסNZxE,*lW*~
+515 0 obj
+<< /Filter /FlateDecode /Length 5989 >>
+stream
+x]M$7!5
+r 0{joO, x/DRDdFVu{ ]UL{(JPj.h_?h 
+⥨m`@I_hlJ\~zIkៅߟvڀ,g |,ۏ?mM(#Sg㾶KjR[uk _n/?;_ ʔpT-S*HwMnu+{ٯLes_[-U
+J5ߗg^voL.<{i_ ʄc(J?_B[uدӶlo mNIt&1(o7@tԺ4!6no̍$mjeP{y-*/}ȃ%½„BH4vFT({_$I՗X`jAEXmBZKǴ|6g5uԦoiqiFX~pɗY}oPjCwb]>×;sfb9]*pW S OKԀ6Y}(:7:iO{RR*~YipQN`@ۈpکY"H}!bGgB$-#›;HQ7i;G^&R2(6\a2TU%1^?<,#lް}s8W
+4LŷӠ\(g!y;s⽣ƷQsSsS!K5
+hwO`!l10iRo8ГsKl~W/3uZfj]mdC5JG<s'BTSG!RjܜW!Cd6Fj􀨕s;
+H2_yNt9'bC"/qwB} nw&y8؜wc
+ww+zLG:˜ ݚg=nqio0
+Z;K*AZz]?{/N%Xo$y LC[ɮגnE] nĠ]&+]g|T`yc!BpIޯk^dk@z:qY\j3OS9Sbgƫl"m&Vzf Wp!2^ l0xS }#'pqO0 cXߏX(!Iq ,4O\MϷS(Ua)e2;.o %e0>4%N#|rH4.*QXӃ`]g~9y/|i^1B)Żg\u(}.n=yIDwGS3 O-o-u:R0gk5;ZJ|Ļ7=lUwԴ b;8_zv/
+VƇ׹>9'on~l@EFt~ӞCˣp}WCӗ1>~٢8AƳqkW8˶q9%t7#sPq q:%r/~ޏgl[lPNo>783ohѤy4жBwsPQ; ;bXwCmS'FvVߒmMl>
+^#>ke}s<ZxȧP_̴D*rӺ䳃uW1ZO=唉b)?T+{;N<N{v/yEJ)t%OEl=e˃|\tmzVt]/M|#є
+‹1XL) ,y҂ K,at;!U&i R: sYuGB^CJ"`tIt Q.Ojt.#
+`s|G>H6Z }b8i # pV'1_ 0!T`a8$tdcY`^V2˲Kw|<\+,FoJl  ]F,GC&++2bgĦb-[w$-1 b R<[XHO7er '%24:EN 7hh#}%푐ȢQ
+ Jr+?'S$r$$ dh$P"
+`hh gll*▙A-Dy^cWe9H\n,D@B@xoW7mM6Nuzlpθƶp\*ʁ\b)b\LC rY1bUeFƚW$VݙDvo)\
+1Z YgpBX"!!!KvT82}ILv2ѻciP~
+D2g=[VZQˀ%E"R5G
+)|Ӧo6^3nfǭ
+ʕ~S_+‡0?z/xkZTz1$З^Kx>_ MPO Rvā6H^e'Y6Y#;-mWPN/WʻZKv$9ƕ=\}M7 J\mޞvzږ}<~*+&_bz =~^x<pSqk`T׎>doC؅^0o 7wp;}@ػ̗!6]#ܐ_@|)Mm9jaZ:W ݛEܜ7qmS൉xu |MXXPo
endstream
endobj
+514 0 obj
+<< /Type /Page /Contents 515 0 R /Resources 513 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 517 0 R >>
+endobj
+517 0 obj
+[ 512 0 R ]
+endobj
512 0 obj
-<< /Type /Page /Contents 513 0 R /Resources 511 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 432.711 150.693 444.666 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-514 0 obj
-<< /D [ 512 0 R /XYZ 78.37 808.885 null ] >>
+516 0 obj
+<< /D [ 514 0 R /XYZ 78.37 808.885 null ] >>
endobj
-89 0 obj
-<< /D [ 512 0 R /XYZ 79.37 675.694 null ] >>
+513 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F55 383 0 R /F58 386 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+521 0 obj
+<< /Filter /FlateDecode /Length 4839 >>
+stream
+x=ˎ$9n<z`}o=洿oA""#jsLEŗ򏋼$U7/I$| yQ%!\WªH-)^y)<_똾V)x>Ì/-8 ->G'Mk+\3i_ޘD˄n(mYt[}+l9"= ¦+z7`'LqHWN8y-cw++#\LT Q}7/b%p i
+`MNm1fB3.k|Q.#Nsn ?'
+U٤p.Ȥ!r>("g0!y}Ƀ $M!BGh 9">&We.
+˨
+& DႡp_e`*jLcY^WGha-βٖ^)լJJiL:<fTll38Q40yd ]$1.|R";4kU#pol4 NjZ(Ƶ7!d0AP/lkWN<[2P?PԫgCgs˭ Q>} H] W,*RS"9†tj-2R#75z8b}2m!b?ڛXBz0/:6Ryi*uo AJ8uuNl*Ȍ*qn8  y/X=(9៙UMAP</2/:d&#
+'TOY1g8(X$_qyl]#ikcϾ=B"r'MAʎͭ:Kh<móDe `X$8#S_ tU'FR.GH`/;17hN2{yG/<$ >>qTx~{P^P
+o1B 'pF)RNMՕK)HU "t;\Wi ,am@l5!:DnюkC^nw:VEzs=Bλ\AkfwkwMv* dПw暿hDok9 /Csr/hFRM݃·`n!Lm<9-UOғq#%:1'FCW/,Lli[ħIvMK͘8w,v줵
+BG5Mr{D[GƤJOxkNV*CE}1);/>SJfw(tZS90Rk긩JBr6 ~]xv%^BK\tg05ĜMRﲩicV1by4\GXS]҈\K5#Ff ju}mn
+uF2L;}mI5w Bl-єBkUl{g+d +ڧ8} rJu H^G
+֥q⎥b]gIWvhV(L(N7nذY>\DOS8kll^)I3jT%9*+vp4|`
+#;JzTc1F/X}xpXn(g<C"2^sط=y>ֶW03c^cbdhuoNs#솳37zUbRq`LWhi$mhF~{l\ۻ-#Mu/4>jC*zSD豪)["5N_j1&_5DšlӍΘǟ[^=U~9v6Y\5h uI3y[;-)e©%_[RYkGϮ7RNؓ
+cњ8QG]ѝk&&Dn3c,?~fTy5c{fZ.B˾Ag{긏]8^'K LFӇC'+bvHŨj nxSZޥw#VUsFk_BnKfPұgNo_F{tcnU]RBu5
+L:@ ?+h&̂3”$$nhF؋6']J8'8qYI~0| }3hdMTgg,/uh$W'x<0j+-6UXrkiDm1ZhKa,]DoLsqeKr^,fzB t-}E4>춆whRhX& l*asv@AKgK*"pi+
+B3A:#gPۛp=aga^; g&]zuԀE K 6G}ﺻU"(Pziبblf('L.b|6r{ֲdj9ӺBNxT@d~\/c!:4ͫlМv[Gn$_CcѨy+Byu<c=Qu,|QOd4t|A]۷s5!V&:{N+0af
+9ۡH[j4FnhʱY~5_q⋾R
+Q`&b)4J)) |= cqu-IvN%@LcƢ)ۋA6J1μssx뤅PHv
+endstream
+endobj
+520 0 obj
+<< /Type /Page /Contents 521 0 R /Resources 519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R >>
+endobj
+522 0 obj
+<< /D [ 520 0 R /XYZ 78.37 808.885 null ] >>
endobj
93 0 obj
-<< /D [ 512 0 R /XYZ 79.37 638.301 null ] >>
+<< /D [ 520 0 R /XYZ 79.37 675.694 null ] >>
endobj
97 0 obj
-<< /D [ 512 0 R /XYZ 79.37 340.527 null ] >>
+<< /D [ 520 0 R /XYZ 79.37 638.301 null ] >>
endobj
-511 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F69 398 0 R /F15 377 0 R /F55 379 0 R /F66 384 0 R /F58 382 0 R /F74 469 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+101 0 obj
+<< /D [ 520 0 R /XYZ 79.37 340.527 null ] >>
endobj
-522 0 obj
-<< /Filter /FlateDecode /Length 4988 >>
-stream
-x]K$ ϯ}hE0Xdz۽s7'$6
- R(y_ [{je/Z^‡DGk]G
-s" ?pW-cT]xb3-ADpK950Q(>Ж0~MFnMI͑eu9 a Ю1:DaBlbTeo!jqM -a-uhPL;.Nap%4h{#RxE
-4- 7>]:K%ke;IdϭCتVo3Dds NnA󒕙XCg]1:ڐE+ .|_DRkկDZ>ؒzŃoZ=2$)l.s
-4!{[ezJ rC(ۤ
-.-kSc-zJCWT`^XзUzIkDF,P1BCFn4
-KkLN٠~ QNQEI_c9WRx$K^xZ7 ,.%x_Ķ/}DQ]SZ9N< _pK&qb:v@UdL*_Ev$n4E]l5 W9,0(NUkq╵r1jfF'%ͱ /?1YDi+iu' ܂8im.] rc:XY /݂$kAM!OG䥶CfKozT@0c7%0K.v`E,uGԌXR J뵜eyJD:F:) &Wp͵vK]`7*5NenOFe;1j9bӔ$,OLP{S9wX*HWLX }(/r"YmR&!#_#זX,]e1^wG:D4} 'p:,e1Yʡ\k}.ptkveˊr
-L??&btl^bt9i])[nBZ>lLKr?4RDÈ(#aOOd|,cY{O?=}2u]5}?,ʏ*\u\\_[ Gj,S-Lj"1N> U AzW%\ž.GKnkE`̽/9l*nit +:SM2).|,p \kCJZ5K\b ͲJ~JB_Xr1KP(}7B+NE<l+vET_i\b1zq!4ĥ}<еcJH^qF+Mܑ `(S 2.AS>+}"KJMGAv8_ &%snoҴ;esjA.F3-BvY9Nģ@cTc`nv9TF2zAN4j澮A"̶qf\L8FAJ^uR{9v2ƾ91eɐ e
-3=ݍAK>zn 6j?Qr1:5_T@Ig.2h A^I^\k!q,4a! My)dCAm 1=./.!HsV4YAG H9sdW%%4*=Ѥ_evP0GiAƤ~8yjP 18: GէԠ\3>~wZ We : X*W ԝKWʿ+ѷA ̪=fZN t,yq(O(1}ʏ-Xc NhH%h'AEP7\I ?tʪ{@C Ej5-1Pl!ay`+'@ $twx4uWͯ-fͅ]"pn"HXA_AjH
-@4}
-O~MI~t YwsEg eۙ?ׁdf<ķꨶ{uԬe><(4-!Zmy*cC4ewKN|o Ok )8R%oAV>
-[|cl@}ňd _ʺis4LC-gnҷ!QCޱɋY(ERipjN]xE~7M#_˶nYoXn(uGVtKq})V_oA>Վl=p;jf8t$#WQ#G-Z(T}?T<P`+:0i0%uAAHH{EHќ|EH%^0l+;DL87 wFU5HHP0}^TʮEB%dwEUׁ@&A%/SMY ClIOB<s"H!5gR
-<")h:=̣;ЎD}#H'H1-sI'/ !T>› wF'E_Jgꪟ&AZ1\ & (љ+M<V?<c^I+ΒzX[&݁ptP]"v`ӓt5OkZB1*-/*5ArpK}ͷ<,S.; t!@KJ6խ( 9O6s)}?fX_A|.5讓oUXs&9y= LtяWAro&/)^vFC=4K:XCDQ ~t{Vr[0Y]6𑉲Bm3h3J>cwCٜ!qJP6s$Ʋ;>vioho޻`6xrba|oL*S8sմYBEwI)}]]_ ^; ?xƄ2M*]j^U,q(KW{/^\,?
-1ec, z턗#N)N8*jN^<*U\nL=3Ejޥl]D?7uK;=* !,2:֣ -(\ ܍Vlx(+u]2 Dgxe''D3X^xmgKAҡ q2b_Άvfc&|^u/ewUEy$ގ1^kX[C+ qM6ŖXԖD=x~3YS{A\0˂M#`Vn_V=zN;օֵ⳪m)mOe gf&SlsRך0inQMNዚ@;7fow=V}jmV9Ms?1"Y
-teӋDޤI/2I^酔pVrca^Vw 0}Xv ?d|zlψEs~)9 yt!!-E_mG2_<|$Qר+?~|=szO0jhgߧA0},g1x)vKp8/^-;
-ܞF $/`Wz S~MOJ.SP&gPGߔ8$`r,,oY[%x۝?vwcj9E7%#صU8TX/3wexQZ
-uX J_X"_J!OL ZA})Q]Tx%,VhurK򝢱__o"b:8
-x]FmqJv
-]>PܤP5xr-6y3}{J9K8*^ B/mt-vF
+519 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F69 402 0 R /F15 381 0 R /F55 383 0 R /F66 388 0 R /F58 386 0 R /F74 478 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+530 0 obj
+<< /Filter /FlateDecode /Length 4986 >>
+stream
+x]K$ׯ!e@S O3'c^`|_Ro)Aۇ쮌(")R|z߽284r0ьP͖_?>ST)$|7JT~6|ojy 1p5%<RO2<RnijSAJ &$|^BͩB5m2p;lҵMMm(+Wo =lN@hveĵ&*&d*KG} Vs%k"\qo H.GmGfr;.@vq=+AgۣJ+ztawOhsV^BX06
+Nm |* F_R-zciC^lW%-)|PC}x Q-^(,9=A;+>yl?/'s
+bSRH/ÌTRJ.i@8ȂԝS3bK^0*ٯrb׭9*ule<h3d_irq4tP%w-s?
+sXe_.t=2]r^+LN뜀e}d~eS)H4pK{NPיjIiwSeys[䪕^ RZ/_6VKhUoV B''T3JsЫ"pV}"g Szs4L1
+8 VZ>WV1Y y|}YCq8SDݕ&HsT`ө\D zT5%G㦣 q\v^orciZ2HV W| q!,l'Qu1*YCn mӮ=ZFZ/<‰fܷ+H$w83Z웋g(Q>xQ>hxk
+4&E.@i0AbequԠ\3>T-񅫲?u d]]pɆIw},]+VAO򏥫. РfR]
+-'y:0 s.q\ 
+ggc yCdR` sPQ$BA|V'O,Yrh(H-&°%-1ÿw5lE}0hun6;{&y. s2qK_mR[" "HI@3N-B6+
+n!y!θs
+AtbYǢ䣉Qy
+~B'_~\)x 7ɗ/O.O+ <㷇8)1$3!TG<f-1A!i1ojWkT){ME
+HoA8s 2mL^OzG/nLSt.J?ijyVuxxzDw<L;nyo,](FS 586c3w`GX;q3FБx aes[嘪
+l@Q&MF.:  to 9o ܷ$FBmo m
+ËJ-H(,.*6p<_ =_8x
+)94Ghx4SϜy'cgK'
+<")h:=̣;ΝD}#H'H1-sI'/ !T>› wF'E_Jgꪟ&AZ1\ & (х+M<V?<c^I+%1Lڝ/C 1u؁MO<[8.sm3FfpƨԴɕE/5dL/@a=(5ڈW4<%dNZu.?0;sGD|CozƂ3; A'o`~Ŝ? }CF?7~IuH3*8vG_&)z.7$`ܝݔ{݂q|rfxB9LumA;(/)/UD;젨ӎ7%90yܶ#8ME~#@{>œ$V\} },f
+7Pry˨=,zcNBLv
+Jf1m% &iRpP#<b3gaX*x 'dqtUA(,_da ͖mԋh'qJpQADTGtQ$pcT)$X|T!e "]-=QiaѹMhAhb>SVlx(;}]2 Dg 8'D3X^xmg+AM8z\gC; 1plx[Z
+ut;޺*1)VbU?W"(m~-1;h5-zf,$ag\~42( 1PGv& mkgWWU;3ZJh9:4@*M"?4N15a<ݢjj4Mvn|Tv`>?N }O3ڒrWjlS~bcD%f JI/X^d:x )-\M6¼`G%~؜ݟR=r>A4BB([ޏd*y&HܣQ|W'/q 퉿I.xðQ! Qc
+Sxg .VYSp^6Z
+w=I$_R$(ߔX]07MΠmN(q,,nAI:Y0+$Y!?ijr/Jmw0R:ߍ oߐ>k<b׾Z\VጏһRRWbʒM!GA[5+dꎮ_a-(}cՊ8|(ٿ?15t_"F/hz`Du]jSpT[u_-W~}Uh|x_!@[
+M
+Q'w۲i:Sm޷d#S>q; )@X?H|
endstream
endobj
-521 0 obj
-<< /Type /Page /Contents 522 0 R /Resources 520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 524 0 R >>
+529 0 obj
+<< /Type /Page /Contents 530 0 R /Resources 528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 532 0 R >>
endobj
-524 0 obj
-[ 515 0 R 516 0 R 517 0 R 518 0 R 510 0 R ]
+532 0 obj
+[ 523 0 R 524 0 R 525 0 R 526 0 R 518 0 R ]
endobj
-515 0 obj
+523 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 291.425 694.371 303.38 705.32 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-516 0 obj
+524 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.426 677.873 514.132 689.828 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-517 0 obj
+525 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 665.918 101.955 677.873 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-518 0 obj
+526 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.42 272.601 366.375 284.556 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-510 0 obj
+518 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.993 84.779 318.45 96.236 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-523 0 obj
-<< /D [ 521 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-520 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F74 469 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R /F66 384 0 R >> /ProcSet [ /PDF /Text ] >>
+531 0 obj
+<< /D [ 529 0 R /XYZ 78.37 808.885 null ] >>
endobj
528 0 obj
-<< /Filter /FlateDecode /Length 4758 >>
-stream
-x]ˎWh9^ x 8ߝEF
-}b`b NHtWn+Jd[ 9o SVٛLd RثCJ^i>i,e=OYG$= dOJ4}{{-LpHLB > l)#+9ŭ(J W @2HoUP::4\+Mܖl}H5Lt@%quʾ ڶ
-K
-V]^;k&^{t
-6?C/ܯAFlkߵOFl{H3@*}
-g3V,h$aַ-t,q]ߚ%t9Y=KOX¨r2$ȩPcէR{UYA9uTOa1pJ?xT궲b'ȥ8{Z8BsjJ+qL&ϊ˕V%t)V%%t)VXegZ+ZNCXjQ},afGl_ﮖL$5Ijp0(5I*ˋBǛdzř"
-͟o>')Ilp{*cP.&7PYnp,Wp\|у2n[VkljQ WofJMy= ֏l+<+j'S۴sjnmHPFKb.nl H}7_<^wrĺ.M
-ͯHITм5dL*-l?{|B
-Z͟x؝n-L4R2.9Nƽ8e\֗3M7PեUMڶV0]; +V> Ê$<"2+f򫈬hZ4j)dbD=#bkr"3{zI3<3L#}>GΖ*"FP{4V-bn>Q]kL=r֚* ͝1/UnWRJX~La%W>7m>|Rw.*_|L=OgsB/t^OIIpT*sЕmԙ];
-s?5[)xL9FHޙ$'LCBTܶ1q*^b'l8flC5CɻX)͞U:ܿMMЕ+ @\T sjKj4z焄Wȁ- JxҚ
-:>e.1xۂ*l55V6OʋVMhx_jmF,i>
-%MTۙ=nrU냂_ݬH41,c_e^5HVzUO!𑥕jm8<8dJ]h`8|x[2yѷ48KPN9<:0\SQ9v3wZ
-#f eJ>xGDTwM
-7`mիAs*V3U RyDpqYT4/a7D7}Xh\Wx)W9>(t(W)nwvރ&=I-M4:rOW͉F\sB;%D@tߣԩ=p/go' LSY[-+{Y}r4͸eUfTuC{ϡ2)6O
-"ugY {mnyJTۏklm΀OH2wB]Aֈ -[4T{4b4cI8&ֵo7v]a sQ'pP,F::n]x7d|@Gog湰p*0{d)xÊr,P?T'&Mb}ӘlNQ4aGw]ڣK4B_i*|TCݽ]\2XH]K}]0jOE[.Q/$41%68]SgRBOzR IG?a!JLdZ)~?ϷK~a_6=EJTe(2z
-]kbc'~W71Btp?*ٜjɣT}V۬${(ӔM;?\{r*Ҽu7W6'6i36BkL&
-t|佹nd /a2j#?
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F74 478 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+536 0 obj
+<< /Filter /FlateDecode /Length 4763 >>
+stream
+x]ˎWh9^ 1ߝEF
+}c`)V
+GgO>BC(K,W1d0vM.`lUi?: n^G)U/US}ekǞbMq|Z-bHzPvXCDv2\ζʷk^KhjaB #}ԃT9D֒ꙤЗ+v&lOwzhrq4OEѐ2Em8QK6
+-av+v$
+~Y\NP̨
+J(ƞjWG5 qUCU_*R~</A䯓_*+f_*kI\w){3F
+~e? w"r3cA}X %,=8_3 (@\Nm.ki٨K淹N%d;V@],1Lе]>恮Jp
+l:9؈y ^)O%D}@A
+L
+U!u
+5b0X%'
+5`?X/s_:bXKO*:sEt9ZwSe)>
+\ A+h۳D%I{/W+&q@NBUJ!npsuTg_8%<:>lXgXVhΞK4a\i%["K()gKӥZ T`XjjE: auAY
+!͎*iI_ﮖL$5Ijp0(5I*ˋBǛdzř"
+͟o>')Ilp{*cP.&7PYnp,Wp\|у2n[VkljQ WofJMy= 6l~+<+j'S۴sjnmHPFKb.nl H}7_<^wrĺ.M
+ͯHITм5dL*-lŸ=dko!3bCSYQYQTh*5hl$[Ny]~+B`z\
+쥅d=g IrWYRžb1ma?U<V&U0ؕE0 @DʻTdB#L˰4y.YhYA^/y(C'> c9ٽDIy暌mn$7Gӝ<E<jXt֪Nk3~
+vE]2޵Z#Ug x֤Q˗TEUTưrXȮw XJWHU4rDZ-E;p4R[a2\=6$N׎fCrU[("Md!Cq0ϒnt\%qO<NHu]&c)nfX'K{2.Kϛ|(*&m[+pѮxq+aEMVDfUDVXar 2v1R5J=ˤ?LU&Oߑ>KfQngKV#rB\Bkm+Ntg f
+*|y9ʊ6qJ̮
+{w= +>0m GʥI{)|~*y*4fP.VJg/ozSS+t
+~".UEb{8`œڒZ>M9!'r`K^f鲎OKD̟7޶ yF.
+[Mu0U#M1Gbd'^Z&KZ'f /)mӲEvqE$vf+`Ofuկvwv7#R+Ә1ԯz Mb+i}gxdi%ZHqC2X%ӮVPZ>}-K[<KPN9|u`tr^-fi`AY's?@maygK-Ɛ_%I"em~9ү #nn9be9)b=<a0{}M;<h1U3립&6bf1=*]ooɷ'P\VyJavn@Qw4@NuLQ9Fmz5h@%zjASJ/O..=7G'͋ip M1W^UKcUN:\v ĔZ;J׊ ѤזPl=rOW͉F\sB;%D@tߣS{^ݵۓ LSZVj{a?ߌ[&APeIE[7J,"`+d@ ]waZ3Uz}\cksxB'$Mo _+z-B4nߓS,?9$4k@pj0
+t<9WŶq7EQoXQQbgi~;!$ۧzS‚I=&8CҷK),MPWamVTCݽ]\2XH]K}]0jOE[.Q/$LJA|͘u Vo{W)Y`޹Ժ:!wU:,Di _Y+of ×0ЦH
+̟映+ TnzRѝDW橖<:-gJRɽGlPsɩH\(^?I)Ժf}f2)W[z%溑Iv cBN4X)ʔC0
endstream
endobj
-527 0 obj
-<< /Type /Page /Contents 528 0 R /Resources 526 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 530 0 R >>
+535 0 obj
+<< /Type /Page /Contents 536 0 R /Resources 534 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 538 0 R >>
endobj
-530 0 obj
-[ 519 0 R 525 0 R ]
+538 0 obj
+[ 527 0 R 533 0 R ]
endobj
-519 0 obj
+527 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 477.218 757.574 489.173 769.529 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
-525 0 obj
+533 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.08 212.267 305.054 224.222 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-529 0 obj
-<< /D [ 527 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-526 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F65 383 0 R /F58 382 0 R /F40 387 0 R >> /ProcSet [ /PDF /Text ] >>
+537 0 obj
+<< /D [ 535 0 R /XYZ 78.37 808.885 null ] >>
endobj
534 0 obj
-<< /Filter /FlateDecode /Length 5016 >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F65 387 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+542 0 obj
+<< /Filter /FlateDecode /Length 5028 >>
stream
x]KW8a`r]Urg7@fIzIU/hTHO:巅¿? =WGZ.~Ā.laTnb4#-߾/}K
ϔJ_; 1<𽶔?z 42>)& -x>I}e]ITJ_7&ߖ& %i(P 4*r$F^
KM~v6ڠ[|F}ԓ Ew)>k(S+ IkWlk_Yi+ds^tnn ʺ+mQ<ԗW@u>L-kAB"iMR ^BIJOڤfkdL[G|o/*EAgY͌! 4 Ck*z={{eZjEo?|LZY͔ )Dƞ,5P+ɈUo/J<;oӚvFF#Yj'ƕ&D8-(4'E;d,_ xj~Y{9xd=P>D /_=ץ
rW_;m ȷ8s#wz7;Gswˇ~)AufR~䮘wsI(>JH*//̻򥅜^_[ʿ;|K|M ,*N D6 RCeйSā.9DK]rkn]82}K(a- s==zM9$ =d%W3"Ձ8Μ$UZc05I:5i *RfauÚ5H IIb|UDU01pp9̅8;8q|{00w
-©uHd)V[բK*ٸKr^vI0TN"#ľ; o%Iw>OjDwbuj:T@f2l~FSw;AD%M_Gղ?>6l(GVGa|70{meLz&gFd\/zc)VY՚uȖZ8Yb:ɩ;n*"%LJPu;PB$uH:ѩ+juU-Y!iT(OIvV'am7䳔(31D+>kG=1R'O]<RlE[4<RNV9ՂKn*j<+7q[ Cff&肫F@h-_RTS^,!nkGh50 !GjC-y=,/^OBrӾ/Qnf:5sZ_ g(ㆲ0 )P~?-ncͭpSrђлQLYXmyQBOhIZ5yH9 ciل#Lɡ=9_7  쒁S1O܂|ovGJ~%M8%3q_M+\+̬µp
-,\_olS"?SW .x#-\>TtN$Lb@OIJopeŽz*렼'7xPYn~qOnpFIn~qOX-/nɭv[ʨܷ->f*-M=8!5L| cjd fKe8e &Rp~bX&
-#VְIIX$Uz=T* ,$R MW{E~
-ˈ JMpwż+"(0ʷ*5]_w;K(>I@@W̻a&a(00./̻%̲(0-?]!rÉs DXz쯟8D@hԸœHpfH4Ⲯ+ah->P <)Du[/nZw$J~$OcՎi}O5pwx 6u.qҎ<R:rRwx&Að ?#ʩ3GD} z_PU:J3H
-x#Fi<w/`> ǔ|U cA"}[k
-~!&v}<d1 /\+B5-/38>m:sڌ"Ϸ0ȡkQ2JDn~TƤ[RAUw)+-iW FzqKr!>ߪl uw(E;w7PAO+0OcBN?Xw, T U2+Këڬ
-SH҂q<S#Fraշg OR߸}|i)RфL9%qK
- #lم[2aziĻGt4 #OWQcH5knQ^o&S58w4@K񗠣 37OCP߅"?9Ëyx
-TT?jgXXbk:`١Fuªd[`q :9F|`\,{w&/a1o<]ɧ䇸~+>r8:>-m2c8m=+QHy~>C&\ AGHՄG `Ǧ>/Aޫc'<[rÑDpN;!ە
-o o|Ch!'0=+]
-WEyWk |cayyWÙ=&0&b9 W[xDGJ"s 4)%x>}V}G<öI9b⩡+%@G(L,k~r0:^H= (yr` ÏQl$DE>C|-s<Q B+UZcROӷ{J¬ ?ЉH`|z)OLxU3`QfpQ+TF`?qz"'l0i+iZݍn!oQaT@n ?=5x'd)ޘav<&Gn`ɉ;=!#Cr3r\٤ az]_s>E >7'fYVڙ5ja9V9qZU)!T#?(#hmb ֣7G^-}iZ!…FdLLB`"v3D 儙IY|M7.I.-Z3\p={jbbܖ C¹-^a4O|3TuI=V[Ɯ/:a5)4n)Q }J>%2[+q{n'I5^ҍ-]JNWͻ㲀YKj|8|wVef^ WyQ[K̄ˤ
-_,п=w_=@s˧!TJh+,ˁiaf.h0qFֻ
-8+ݝ|4 >#ۊMD,0~Prx0Ibr],Qӏmm#-ܚ_[k5(a۪>e%`_]5dT%&vWNc
-ѣ9^ &BZzR'WU91
-r6Z!^ҩfEѹeINO-FX G65ۚi
-|X)J(2QQRz㷲tY5yk02!?2IA!<$ & J=UX#@n*kTcHM]aNUFI>IO*o9Ulrw2-\g9Y׮U<M&mDL`Z))KEem-{^.m2aY^5kQJd®A
+©uHd)V[բK*ٸKr^vI0TN"#ľ; o%Iw>OjDwbuj:T@f2l~FSw;AD%M_Gղ?>6l(GVGa|70{meLz&gFd\/zc)VY՚uȖZ8Yb:ɩ;n*"%LJPu;PB$uH:ѩ+juU-Y!iT(OIvV'am7䳔(31D+>kG=1R'O]<RlE[4<RNV9ՂKn*j<+7q[ Cff&肫F@h-_RTS^,!%岵#4LTt0 $
+DjC-yo=m,/^Brex.Gyh+k'4,V0v8P~?"5 [rƺ2.6墙!..ٹR /aԔ8D m!|܀O1D}>bSuc:[0?P.YQxc8Qzrg=2c/ۂگɸY3g+N6E̴q6-pJ\0 J@6+p}avOVHȗ_O_5Du0T<sR9+2ыZ<>Qh~USjOBe=!R&=jܹQ7%ۭn)rJCdjd痷d7P[0Jy/ 7DMj5N0rSw7u Tb=bFcyrt%Y5֮RSIg&JhD FRqI4gw1k36_/5ɹ;oWA&x1 Yښ#hMn.!6EԒpkMGKzJpa\%L
+{*ɤ̎`1!te0)|dH|XҌޢ0Na,aMwcoqtilo஘W^FQj+]FEyWUi ¼+YEwO:"&bޕ3 EyWPYvQ~aޕ/a%ECgl<g?)Ӹy?$C\IW$BD3C4Q9E&u%_ ; AnNs~qWB&Q
+TGO<Q_;,ەi'PֹI;H]˩KWt߹UPwK&n(Δeq/}W(Ͱn"yeǰ|LV==R
+6ƌMJ8fH"n_ ̂9VB`]0 ~0`_qxS@|h8Erf\M\%3&at5$6NŸad#_X;ׄ6ƇYdv:y6J56!7@^rz J} xP #̍౷/_i*.[ӳ{
+6h]ƟZ}epݸtk^ Cp4QV5WVLW0qp3m"sdz8µ($Q2&Oۣp}8?e6-hsZ.Cu0e~#4t1۟o?3TmsU~ل|Kwڕ -c>^Rk켺Ϸ*R EzqGl]7ʺFvMD9T:/r}
+z /ke푈-52ķbedLJF<|R6”&ҮF\#p(yr:9O@<7ؔ=EHKM<&f)[3Cdhڼ/x`)X_?}mF?܁^)ᑒSwp
+*M*%"hP_ x=-&VXaFj ӃMO&=iyRN{\u
+H~4R1q
+Ξ o*Dh!'0=+]
+WEyW^k |cayyWÙ=&0&bS? @~m)Rp}_ \P[[ d&iIuc
+W31 !$ f&dQX7%_$nJkUΜrm5Qq[. Z+ dpx5c<
+Lt̆դ^ҸMD'\jk](ll _$l^xI7t59]5vEf/QگKMkZyPyi{6\Fn-2,nlC
+ݼ-M&uzj6=8#8`OS#JQ*E
+ڌ'pHZɫ_ qO
+%yo~7ؤlPꩂ
+a5u=wS^Cfsʬ2
+
endstream
endobj
-533 0 obj
-<< /Type /Page /Contents 534 0 R /Resources 532 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 536 0 R >>
+541 0 obj
+<< /Type /Page /Contents 542 0 R /Resources 540 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 544 0 R >>
endobj
-536 0 obj
-[ 531 0 R ]
+544 0 obj
+[ 539 0 R ]
endobj
-531 0 obj
+539 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.916 111.883 155.373 123.34 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-535 0 obj
-<< /D [ 533 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-532 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+543 0 obj
+<< /D [ 541 0 R /XYZ 78.37 808.885 null ] >>
endobj
540 0 obj
-<< /Filter /FlateDecode /Length 5241 >>
-stream
-x]K#9ϯz?":&bLDian'
-F2τ>Zj79śqe}`ֵ/Ԟ9ǜT՚QsvXig%=m "f9{hQڠA6Mf $d>5#<6{cA6YĞ++ܰd3V{BR~Pkp #\\ç_@$ 7^6W[huZ%ƺhM0C24%jwߍUPLY N)ٯڝ} ojԽퟔW{ǤR^`"w폗 e:K#k_!0HFCłA8OP, JiӗZLŴ
-R<8^K1=*=Wl8ckWŴϯ8>X 4 :ހ,:>XKKwNGHNY_̍. -{ȭ٭1J.
-01+p*9\d Cכat@ctCN sT\ìūtҿ uL
-}8 à?"iNaPī4^z60zn9^,@qďg8u@(Uzw>!4]q(Cؑ2=IǼq  ūYi^S5wPH^`@9z`d*W֮Whpgmz`28pr&9VE:颅1O\gk\ >)]'Eː;sU?li.yqpS\ jqIs2 w5yk 4\ٍݝ8Xf[ 3vq!<#&?_SWO٤N)R`_}]/ӫU[n@tQ_ݶ:"]۱%K
-rg.zWJkp|ީZ\ӀV m*a;$t:)
-YVv6~Po F}VFhGon\ҮM^^*Zݶ6?RM7unLTVek*4X6*Zk+u^Y*lc 1XlDHjɉT)ӷhUnp*hnq'|xֶŗmF&=}@5m(810jW?_ؖμ:%mQ
- *!^߇`
-#c00概A;.z3fD`,,"cb@vJZv'1DUfi'{'*_ 4AP'#U)9ϼu8k
-D+p#S{ @d¹4 TR8u27v05D):h(! *g
-;5nNAPWd7@
-HTȸt S+Xij)һ[pCBYLA#d7@
-N<4j!CN}AtEp`g=SZKMIv(~K|͡} )wgJIAԩ7ί_COd o6(YFFk>Eݯ
-04j! TUTghAvUo긷@+">͝45x何G3=*~4ApeX4 457b#[
-oBLEEzދN]i:B@ǫ0HA-6%HC+nz;!=,*&PVQi8K Xܷ0wQkV#SxMFA
-
-TΩAJM6҂i\q\E:} -{u !ʚIYP
-ChLȚP剉H*awoUx]UH6,5:GU&nV]*Ԩs3}p.P[u
-ޤYj3A?x}Jz߹Co[`&6YtcQTz)pzv+zn<_+9\Tuh&h^pѢraf-E-ud6V!boHDR+(Ct2,Dל\\q!5\0Ϗ3J8:0Gć^K-Gdw VLz$*R*e$ZJn]g8"}Znt]K)oWo%MxRG׶q`>+M6MXGmř0Kl=6-_.ZUj%itR^Ke
-
-;r[n JzKTqM5_T5OĠ# ß&BPTiUCKz ~g׈q>띑1(]*3gv<"ca8:?N,d"iޣN*?Ox3T*M&a̟hT!C=aP'd “])\îJIX; ;"EAv(q 3/6q ' kI<ex }y GnYLA#d7@
-N<4j!C|A'GVxk+ULڙ?oAPs!BpKàR S'_5S8KR`So11(lDzeJZ;?4j9! ԟUThrBvpjb8"E|eNF Gá+C-,Ԙ
-&bPɹ+<Z[=VSq&v[i:B@ǫ0HA-(D8phuq(+C-܀N}"NXI$j}>ZDO'Q듨I$jFZ;N]V/TNy&ҢZ c̴dQZ#=td-K.1V6a 3-hcOު<3pBpo IlJfցM*HiLSxb+*W%)4 5f+9μ}
-X&좷AHPv2O-!"„kHY{6igz oDȚz;\I=EіR xHrv[KFٝV:J>xn=K€yGJv/ʩ?O6I6k.
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+548 0 obj
+<< /Filter /FlateDecode /Length 5243 >>
+stream
+x]I#9ڗ@Nf"'JRmY75~.gfIrR̙|?W|mݾ~͛V_
+eB[Z,x,kl(6 v/^u'LߡXKÌs3Vy80fY8;mmѲbۍ<e?4k5̪>o.ƕYW S{b;1>9ǜThͨfy9;VaⴱTrОQ̋{hQڠA6Mf $d޷5#<6{cA6YĞ++ܰd3
++=U!{iTZo58nY..ӿ/ KV/53F]VA.Z >,ڿC5%j7UPLY N)GFyվ?jԽퟔW{ǤR^`"7鏗t9?ߗF)4 Ca=6pny/qXl3# .Ji|-NjŴ
+R<8^K1_*=Wl8ck<^,io#u;_"iHtQ >Y^"Z ?vN{HnY_̍. 5[ŎMV`%fi(M(XK !R}sSGV3i8]K1 }8Ӡ w
+7E7g00X:1aCB#}| *aA(]/d}}
+p;r(uzZ<a~jwK|NC6wd Y=`
+"CPmAa
+)Gx6?B
+t/C0,!cP j6F``M">bෞhΘd  fAkv
+>S3#CE=O';~N XlTAy死灎_<)=H=(h!=aSY2I.ٰ3YaW'ڃ©ÎFQ!V!8S0("p%' \A`P GBƥfgZLSO]ގ
+N<40*gJ<4 0`P8uAy p.u YLi.5&=^iy̡m )wgJc$}'~TK<Ͷ{,5cF?Qx.@^@q cok(һ©+ ,=*
+ ,d7~jCJĠ`$ePqhh<DSʣ֞aT OTh8`YĨplx:M͍‘H7-AQqޟ
+4*g4 `P8w=auyɠtzL¡nz;!}Y4>ULġQ?GM%Fs?bF
+ј%ݑ5 {՗T.~PIު<]UH6,5pwMGD]*7νbg]ɷ6Io߳fSk{78':)ѵs; ނ$Ml,1)z)pi-7/c+9\V84 | /Q~vE-ud6VCjސ&:VPdP,EZHR1'8=F0A\7p
+ʾN|X@pCByTIFxm%OI-Z&I2m&u(a#ҦJhZJ)mZ+i“Z>J1L;ɦ 눠8`qR#oyM׼ ZՠZ A(]k`6Kku-[̾VYT5q?Iz;/Fww;/slwVN)OwkxL?T ěCbކGD3 X.tvj횏ܡ2H };TTN*z
+_\wVSdܡG@qBc«;THϤ2/;4CD#;
+ .}졍{o#t׸C0Uq6kܡEcwwh*`&C5Pɡ)Z(qG'w;C:,xo^t|.[Dlwbg
+;r[n JzKTqM=5d*y'bP ÿ3MSCpoN @]*^3|wA0اb3>9y"E|`>'OĠKzoUba2d_ޣ']O 3T&6n4
+0I,AIZ.h.adiÎA uNvD 8 3/6q
+O֒x+1$&G3ij
+ #d7Nxh`!C0(y#aTxb@&6ϛ|i`.! $UΔ|i`.%pK
+<i2QkcB=^LW
+4 ~@!j]lC-/Zq8Q+"~FSqK ©@#bP5bTx>ZDO'Q듨I$j}>ZQֆ`44ϤZZ 9\KbLKK ^i̦+{nYrq4QY _(+\"<3pBpo遖 QܕJӳ14UҘ jlO။@Z/$)4+jVdsyk6LEo)Fm<І|"
+&v="=Lgٖ̊55>o!k&kzȮH)|b
endstream
endobj
-539 0 obj
-<< /Type /Page /Contents 540 0 R /Resources 538 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 542 0 R >>
+547 0 obj
+<< /Type /Page /Contents 548 0 R /Resources 546 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 551 0 R >>
endobj
-542 0 obj
-[ 537 0 R ]
+551 0 obj
+[ 545 0 R ]
endobj
-537 0 obj
+545 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.027 345.178 272.982 357.133 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-541 0 obj
-<< /D [ 539 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-538 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F57 381 0 R /F20 378 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
+549 0 obj
+<< /D [ 547 0 R /XYZ 78.37 808.885 null ] >>
endobj
546 0 obj
-<< /Filter /FlateDecode /Length 5078 >>
-stream
-x]K$ϯ|hb0ԴZ>y-ޕ
-{BG]gA54q4_q<A:ǜT+֙"[ZΚȖؿ1δrgrZÜC 1庆t-/k5yѣG-ڑЉ
-U4H 捧vV~gJHF! He=.\<Fz9=}^nAh,r͜%v߫}{Jxw6A3!ƹOVsPQ}uo%⭲Fپ~_Gr_[k_nǙoB&ϿvA}pr̛-Q1jo`eR8ʷXzyX/g) !QޠDT.B`2 I_o$Hh_{)&*eu}&#!4_fU9FuR"LMTGHjB<ךijB[z#ڿ;
-$<t +0~3)-M
-äFFɳu (Hd Vn"/epNc\)>D~;|o :=69 j^+1d!uDUk@YcT4?QM>T;n@*0)%Jþ"ЯP"$LHx##
-!B\z+:I3*1.3[|)KE MO}L83~ PʄU JHc@`
-Jɦ2C[(+
-1n"ƽDo
-
-*a48T)T1r7bgu3mFpE4^QE)#w Yor)jWa.;_+qeУP׀." OeUC%Xt}^]Wo .I
-8*SsO}[~ ;uMђ2}Ae %:6kEKU 743´.!6Еw;򋛗},w GhSo c5;!#L2!f 2 f )|-PCI#o.¬\9E-U5C]!BxhW$Ɔ Eˎ7eÇ
-E=-@Ti_T:#s% mz]qn(U|%WZZ'儡?% ;ICezcKz%e8gZJܷHN\/Fphhnvr(C8]-i
-΁}zRJ}O}:(SWUy?_v;#)O u>A2呁K
->M
-Ui|u5xh[i,@.qf;Bf-8Ő;XLfaɁk>G=8H8%$dA!2o=0֦l!MjS WZ+Z8Tc >J{>LGd-g *I<VCO.J!ݱf57S D<؝<Ӟyp.[]0r5Je<i<S߿7;w$CPe6LIab s'o n(e9f[ǜov %S%[N1@,% kEM8}
-'ŹM0xUf']Qs\{JôHO8i#{艂zQwғ^ʅĮ%cGYՄdG$')9+^ʶ
-k6>R?39y(j l}MUKLe'eu_eUJ%z: hkQWtԘFڪ9 1cۼ@Q6)9iڗԆd}:T芵=NT*uq1%4rW!@:yO ט>|nwLQ>̒8秛!rj),ia"Ny\̮nB]LS[΄q<:< )SU6H\Ojԁnr]~2f K #қ(:V߀v8..ѕBX c/w:zDl"U,&߶ϳ+*/1 ./6<8&h\
-ycGʎ.K'c*6(;z)/}q1F:HƂ?M{2Y7K\x%`B.YzT
-s[GIJZ9IBS'^RP]}҆2el';z/piMm*K9m=,@Ǥ1 ],rcPN޻J?E(cwWs)*-LQX* ZBmːtɜjm߃m)^U_/kj0,|1Kȏ$4ݲ/,Ǜ,}3\'vWM8^)ʍמOJ2I9W͐i26j~2˘qg;TeZ7Q6UwR}a-'iO^oz]Wn<}vmb# IWʉ〨/߷[{36x^o}{7/+!jCY/V߽"X9 nL
-Bd0uW_Rvq"ZL^>K{ 98 &5ywJ۰&X=ۈ{{Y_;s]z9jgwBw76ʙ I-Dg{_wmzK|l[^mۧ*Noo6֎TuQO1TC& ݺ*0Zf@SFM,|*˦VMJiFdAKba6@)(6 qY%5obkKbFHr%'g20^mԧ\_MyN#]#XNvQC
-G'5(0X!?la܏\V)c[3nnq Iy?Am)[ו V]9iJ/`)ҿm~b SF "/=?WhOFHGq$-W^z=笘t;|$ 져w^fanXН~Chf^nr[R2FiY&SnO_]}XВnKڪ՜tGM{A :)8'KG
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F16 382 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+555 0 obj
+<< /Filter /FlateDecode /Length 5069 >>
+stream
+x]KWG x $+%Y%k[gfZFgU,~'ᷟn;^~3xw/ VZ};M\`ݜLۗoϹ8W~ko~J==s)FДKioV?}Ǘ?bѝ97%'e˥c?Jx)tuy" Һ<?X̉o3ӷ1g`}o,0#[eC|#yrŌalPI}ȑ fU7K6$&hB=/n#]A6qO,&&+<2#.'X瘓j:t6^Ud+@Y7&ÙTLNkQ|!&2C\Cn~eͰF1/zTu^;:Q!#Qi
+z@:^^7Z w(cAQEèP/gG`|=>3rE憅 :{3g]5> =Iqrwe'r ((Cq_Vn~ln#//LȊ7Ff!zOWvA}pr̛-Q1jo`eR8ʷXzyX/g) !QwޠDT\x=!3 y8d&<?9~u qsN1%pW) 5!+0Ԅx!6r gjB<:B_P⑿L;f^_P]PՃ1<Q&!HWH4!PV0ݏjB O1Tb.a) ZYb'ςw5,H#-ZGpһtt8p _gtA{lsԠ7}Đ8#ԹgUewˏ^SQD5PtU\( @KC 3! ㍌+s(f2`޺<K<{Hτߝfpn}Q\h
+*0qF=D$!Ψ8Ƹ"l4/K4=i|3itG0RC)V1(G #A|k֮dmA
+ Vw!Ά};} O_Z4kQ.:Զ[]g.v3$
+8*SsO}[~ ;uMђ2}Ae %:6kEKU 743´.!6Еw;򋛗},w GU^y'성ؚk}A@ kͿAa(b$f7ap.Μ"˖X!P!<+c"eJ֛߲Cc"튞qR }T:#M]J2{<B>6mJ"ͱm]D$v250 v,陗e4eʧB:W)qS##}] ƒpohoFt(C8]-8iN}xRJϐ}8(SWU?_ {#)O\*}dʇ]T`C@(g` ރ<\VgJslm{[ qV""w!`nS<0 %o(gSP|Jv{qdܝi1ΔO.
+&EQm*xʯ}~前mkg:0|@KZTu]<YON<#u"+C-i89C?e{00+2|rUH%)cm +f)v`]Vm&
+)+ A)!JyK;K!ܦ_ x:!*[
+Ee" E MעIވ;>*>8r8]ZY"G*φi,#2ɇMZvp U`Npģӡ nƨ)Z7d/WȡtmW40棯 "Z%[
+m .huT?¨12E6{\m4~`pWl-SAQ o]|j[դ MÂ%3+u\PN&YF N1Ď1
+/YDgrQ!N
+՘"CRO =lmK,i.}RE~e_#Eg$}J7RȁiwYM'
+0τtP硨%QKg7U-1'Oo{9*4*$3}QG^Qcf:i6ČmBGU^T}j_c,RP+ֲ828Unjs?D$VE\as
+Tݪ{>ϊGԲ0|_4APOQ;Tut ^:)UQ_q EKxUd7A4QmړɲYzDǛ
+&{R ܎{r~/Ǎg Q_oWn+wq_glF^,KЮ~p\oeZ{( oeBR_]y?S}_k#Ao=XIZrE2K 0 S^2yFҳ)T;1Q\jw&FybT{V:Ыc{
+M(ߧ>rzxۮ(v,<O҈z4"߀"-x
+ aG5F6v#lI5=CP޿;9T~2ȩ?
endstream
endobj
-545 0 obj
-<< /Type /Page /Contents 546 0 R /Resources 544 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 549 0 R >>
+554 0 obj
+<< /Type /Page /Contents 555 0 R /Resources 553 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 557 0 R >>
endobj
-549 0 obj
-[ 543 0 R ]
+557 0 obj
+[ 552 0 R ]
endobj
-543 0 obj
+552 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.975 87.384 150.432 98.841 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-547 0 obj
-<< /D [ 545 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-101 0 obj
-<< /D [ 545 0 R /XYZ 79.37 505.126 null ] >>
+556 0 obj
+<< /D [ 554 0 R /XYZ 78.37 808.885 null ] >>
endobj
-544 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F20 378 0 R /F23 375 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R /F72 434 0 R /F46 388 0 R /F33 479 0 R >> /ProcSet [ /PDF /Text ] >>
+105 0 obj
+<< /D [ 554 0 R /XYZ 79.37 505.126 null ] >>
endobj
553 0 obj
-<< /Filter /FlateDecode /Length 4587 >>
-stream
-xڵˮ$n?_Q?pBhi VXq lk*]83ն8c;Nqf~'<}ջK`JϿ}
-,.wZ/HLX)ͥ?/c }YV'gl<)h&;G=ԞdBx m-,I$dMyPGwvÅZڿe#>f1#~_W b3އ+b -ULP0.E;@ z_
-+9"4B%3|/}:X#З'|sDA ȼ`]*z8TEjM5 !
--nn.eΡ6%ޚj5 UQ@,2 7[v3$Cf3HyX2Z2i5(>8)dDR]^CWΤ9KJ`%qaS
- 39zyZ2k0x/1:˧Fgʞ0oϴ?y+fFߖgw;Bis L}cuپ!0氌2( Y=l6Pm\1Q AB*SeFO'|;p&C(ĩ8X]yT`F t-n} z.S0&.12(Rֻzs3 JKf+ ŽBA?*>J)3Q/92ܪiSFHD7Z1
-~]If!7}/Ыp^TN lR[~ۻcz8yX@|PW/r){JlO6m2QA>0TRϷawLޞ%Ljq xƟ@`h=0}g3KC3`%xəvgO32KCO3l&e8y0_*jO2'9|H+r`Y/kXVT|$'|ci>'Ϥ 3mi& &u(u ,j>xNƬEgݖrn,xQbMcSgs{Y|н`||[QMy3IXgznV!=7cҗHϣx-M8dLL a 2}I-LܣF.oUT
-&X.Y!ۊotE !(slz6o,{lH4=)oa|~I G`ҵ׀T=c7Aae\9G1myU!S{haU5h xGIPa%w:-m|T'=^4?NJ •c"${*ٔRըƁg6d<OZ' 6GU]!20{H|v‡Tko84XD#/a|+>uZѼ9 vN'Ux7
-a&D.}=TBBi7rs
-ثU>rA^]fDj-[,=͎8\c)_jNԊTTQh:$zE1Ka>_V΄4negȯotˎ,&v,ѹʰ<0t;oǮpa9'D,G
-jV:#wu9q[gcCt`V1*,픜
--;BJ~&S{NE yJH浽H!O[l 7)}1"<a"fЇ
-3휰K
-C]wzqDrNH# BpG^=SD6?U{`.8&@BqM$C|z"<kg}~  fr2~ LiHf?V+-6h7[/ЫކK N:U:<[2 L:z3%y:gɞ;Ǡ1^Lbhw:4!!Lbr'Si{iT!R\7B4lo&(<ъESXym<ц> gZy\[>d5Yy_A d<sUI (ׇPNeG>|2j9ΏXևQj [hO>}vN߫F{mڹtyNW]2]W{rCr -X:lhG ehm骇4XxD|3 X@n%܆zOa]l`"PRXQ, qn2_RoDRYvɚ4"|t)Dh%LtreY2[PCB;΁70W3䔦7]\ow~kFy^X~ڐCyGȠw-ȌML>-]8XpRf[wa$CJNt=i,p?T+c85U+Ye{ >iXڞf<uevSAŠc|P^_u7fKپdoz&rbx vwpI25\ojoU6k#CX5lJ
-{1
-')v-vfg)sHj±{ǕɳXQs%;e2uHU@?['ͤӯ3ȥ'w7死r'O=\I ^1c:\Ѹf@|Hڮ&ĺf^>7qހ;IKw3A.oʑeKp y 6ReKF (t\tr.E(5V7k|Oq)͇#`|XVULVUQ7*eL;WғE0L` hT1֟tw4Æ܉{MA r;0HnۍۦNa
-Mm%TlmKMnBoAQkm4\: ( =Q߿"-PN/+oA4JKTwXO*a5mhUݦ:h1˒n3[Ǜek8:&A|h)YM j()J݉{nId5 A;p8~\:V0}}WL
-aP (B&;fҹ Zum!m X`Ǘa}#VԪ%H+E4^3(֊1n ͠}pZT-R}k/v/НiwAAk#fk.ZmVl!!6,LS9u jNUEeLhL v/Jòni9xzPJPZ
-endstream
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R /F50 392 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-552 0 obj
-<< /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 555 0 R >>
+561 0 obj
+<< /Filter /FlateDecode /Length 4476 >>
+stream
+xڵˎ#7_Q?`E@q=%"lfl.%sLRER$Egz}7N7wm&ϼ/ ⓘgNƍ|ιK?H#7<~7E~?{w>5WO%Mx! }_&k-f'U7%x5ϲG?o/-"OD1>)Uiϛ2ׅ̈́geL\h][M-!El
+={b"y?+` MELP8nE[Vy@NXZC~$zGn-.k?1C(b^0&G f Z\TYjU5K4S>-l ny6Ρ5l
+4jjDDa鳢ЈnY$A:mk63$f&- 4S) >HF$=){7X/q_]8p/V3i^iɢMm3l8ǜOvFp߈F SF&ꘖbˈx.##6Wi 6S3'Y7c% )K4}e!]MOhjʌu5'] vt2 3Q)z~3)[u'^b,_N4= IsS6[2#)6L[i:knAi=mߔgoL2->
+a}b{bY=m&P'm\2^ eAB*SeFu6e6nљaPPCq<sJ17<gRp u a-8&Lk[B |P.]zfٳf.FT'
+ٯWJ|R(f.4GۏUUFN#<bkKf06}гpZXl62w[@ |PWrɅG 2m^2Nۼa|a@·M~}LɛwBppRQbx?Ǵ\25=VPJu<#^*xy3ef$KEO3LheDKA)f#ʧ4# q(i"%AHGo4
+NXk!Y{F9_GiwKMvx-gB'*1DX#p|Kg}qcd3u
+Ls?r*PV/oB$|XfjqHiV%ɕؔ~M'Ee
+-糳6 {6l*Bk#iUϪj>W@ݒТLP>hnL
+L5 ym5+"HjVFT-Kݯ-l8 ׇ/H(sOdM%ERΖiV8ֳe&cJ]LkYLgD!ړSZU7_ՔrdȬt2dNYf%cj6\H:@B7t %\gtV 3ک_RpWF.vPq1
+ . κ]mիYKڷC桌P8F1vajNC
+K~6c7ȫ0wѰЯȫ>޳WWU2O/QG=W'WUjI-O1@O..Hҡ]Dy
+[I{;dd j}|0bA?|
+v?:/&p{73xQ8zlfKG{ ͖3,zᶈ[&BWWx3
+o0ȸ(fC <C/&TEuLUo7Sл0xH+j&1=zܚP/wH8j `&Gx@(pT+UɌ;A-D1'ZЖh
+øljV%PCqe+ )餢0}?%I}ALo?LG<|rPER.Lh{ӣgFM)ʤUO<}vN׫F}mڞt~ NgÝ<3Mg9Sפ
+EۜI?; A=J%t7la|G,!Abz>8[8;F0!|-1!̋ L(,Xa%W0CKsNxifQEqnKWm3[7G]jjWH#sN
+
+kV\$(`Z_ʺZ7jG˨RP_Q" #Ƽex䍥d4HE2z7%[ǎoQk=UF9LŌJijgryQVV
+b}SPW[w,d\Ψvo/ TWekOfےtڽյiѾO4szm./ bc2o emg
+'c7KZ8l͐Se~
+mڼ,VZ}ԇz`+_40q]k3(M#"Ћ+4W+X?c 鷷zR!˷)2 ,{
+S xg-, Fˇk79VvXGr^QjxV2Dxy"i-"QeALYh?MBrGɖ_q
+Ba}ɥ^S.?
+endstream
endobj
-555 0 obj
-[ 550 0 R ]
+560 0 obj
+<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 563 0 R >>
endobj
-550 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.097 105.828 415.071 117.783 ]/A << /S /GoTo /D (section.2) >> >>
+563 0 obj
+[ 558 0 R ]
endobj
-554 0 obj
-<< /D [ 552 0 R /XYZ 78.37 808.885 null ] >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.097 123.183 415.071 135.138 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-105 0 obj
-<< /D [ 552 0 R /XYZ 79.37 377.683 null ] >>
+562 0 obj
+<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
endobj
109 0 obj
-<< /D [ 552 0 R /XYZ 79.37 241.638 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 380.034 null ] >>
endobj
-551 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F67 385 0 R /F58 382 0 R /F69 398 0 R /F55 379 0 R /F65 383 0 R /F40 387 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
+113 0 obj
+<< /D [ 560 0 R /XYZ 79.37 258.993 null ] >>
endobj
-560 0 obj
+559 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F55 383 0 R /F65 387 0 R /F48 391 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+568 0 obj
<< /Filter /FlateDecode /Length 5527 >>
stream
-x]Idm!iQ.DOcMI "}ܗfVCugA#
-T=qo^BnR]Z{Y-ȵ
- ؞9`,)Xð>epH=Z-,B+V7',R" (|kutFg$dF,P:s<`G?\H2l_ϭƩ.Z2D,b#y.n-
-7y &3aLb2< cJDU@
-wD>"PpF}L{IBAH$CB-{9pv.D5}qKiڷ"̮݊䙺V_vgTy?I"1 F,=zҀ $6U&o`sմ
-zDؼ6QM۫ՠ5?_$nk MN mkzAvQ\4C1RkWx>s̭pq܄bF3Ez Vo ~o|2-ht[.t1nڸ9q@R}* }B/oshDoCӻbZN^YEUPcɞ(OZѰ<yh cvm;p h㯩+I!L
-g Ųm#_jJaWϪ@Y|ͪF"Z6ۦ$.qkqm"2$&Զ&gWEޒ^wNen1f4Mɔё܁%TV!풄-]Emvd!mH.*BUZa̮Ja @lǹTq@wS=!Tخ y.a0jGpl]w\M`.0Bd(6S SaZVFQ|oqH;pcJQ0'J ɿ{iMM6f=n~ ܞZ?&D-( 9NJ&5( nW\+8/YfB>#9(ڤItoVDeׄ 0Bsj_]=]>mޥjvKVUUF%$O&θ[:[e~z4`Q(Њd΃\f`xgC~2v#˫ҖI;۾LD*fڦ<qKJ*L .|څM:) ,gӷ %:{\~PA?_wH=hWqy teqedV^Vb:\OLz4Ip"?4dڙ4XzTSR%,Ϣ:3`izJf}Kن&kUD"M/O]qYuL W1ݹIy;FL=gپ`|Ӂ'UBx1AYLɣPd
-_d=g4[ܣgՔNZ(8|y};JjND%CTxJkZ()թZtJ<:ylJq.
-+QoyaҀ鹗1bI)lm"݄^-۸X5IcJ=HJ&
-23۔KHR#
-1NsoU|N|5 JK6ANٴ
-Ҟn6j+~(S݊Ťɪ[܂kDPxtww8ü,Ώcd,oAB|pgUorT3ئȥ*9sx.q.ǚB tq3/cu'r
-Z0Ѭ$_3gꀕDϜN<E((
-*8
-Wsfe AK|- Ixb8V^)l̜&C6TGz`t/ EK?OڌŮSWz+&Ym"/m3=c6P˩&5cb#tzx)sܶ3~Hz<:'Efᦟ <eZsog]k椚8G%n%_>g8BYfnMw,<Bijl^cp~<
-KKZ4Vᑕ*qpK7Y满%
-蜢UT}R|i1Mjd.W]beکV:Ew-Ɯ7NF&&&3_D\>NENn,^6)[ { _xyhӋ}̙Ɔi6Mnki[ M^b5%R(ɷF^ @=+ogTgISNk\7^O íG5? 3\/q&
+x]Idm!iQ.DOcMI "}ܗfVCugA#
+:iMjGLѨ/W^$"{%FAw~!t|SíRƧ%} ebz"mXVf +"(PIez} 5Iwmkf9 מx"7l֎0jhxKyD})ߖP~
+HSm~Fr` PbjQ PeRL/gk.ӈR%m,Cݟ Lmm/ן - ۥoWvFɮg^I#"TS)]]x)Uu%Λ&*DGS5=/#+ 2 )S VUWsaTdEԁtB-mh?C}٢ϒAeT#h4B FY!9|[DO6ȊeC#@dnՖQAӺJ8k42%uQ,}ss_Czf>ۛ#6[Al_,8;Q | 3x\equ%fKpzB¿9R_8㻓SJ+ϥ##ǓO?.ߕ3tQ"\qg6EW>gF\F"9 kD]~ c뢗iӟ/P
+~司Re5a':0 d7գiqMoFe|
+/W:HNCxC?nl3yޝ&hdoji2rQðz<=jV%P:=5\K[sPXSa}X-n0zuumgZXV@+oNX#EQph Hn/NXty\Z)dʋ#Pɿb[S%\dR2XzlGL]ֳZniM7o:A~L4gØ$sd(x
+Ɣ8=0"|Du0$߅d(x\H:e NnÅhP?np)MPdٵ[<S} 7yny*Ϝ1I3&ѵy
+=b'pɫϡ<IES2H [w,ZK6A兲ֆJh)ީl-lzV8-J>[xXO&Ji{4UGm-ɉMuM/!&bv<F[jJ6J
+([cd(e/)66Ni94+UP5!^ ˓0o׆<zx˴p Q,?"FTL[*|; g Ѭzn$`-rmmJ&R*CN2hBmmrvM\ -i)-Ny]aFLXba@iB.I(eY4VlG2,L݆䲫B.Z5욫Ɋ Ħ{Kn đq7InMuJg c)vT /%qT
+ .DR)o>嘀>uۮOZyoe)$]As 7 s䚐Ԥil홝NcRzN$q"C{hRRIA궙 qzxk|L *eF!3P{0!MjD'fuMQf}M+y+C)4WIiϹ]ν[oPd^UeQODa⌻ESU\mI#
+vw6'CnW1*m䰳䙺H4ib90Momyw$nQ\]D8xijr~6}P"E8ua#Jq <MWfP&8O,ki%;Õ
+kϤ1HĎ
+'CSʪ
+LQyNaG51%QX2
+E&0NqQ%yJ3{F=zVMD<:x G9WЋZi:D4J?O]2>DǫfZ RETϣg8͆@Ke7ގIb*Σ|"&Z!(E˧9eQDPO|-fMf=2-KK'٢)U1n]A( {y 81/Ob&M"1^ю1ƭTJ/OCĭhbn[PM0+C;s,M9tt1*5b
+0!Vzb)jH:ȿ.QEY^%iWsbl2r#u=ɇdz7x,Գam<2'*
+Cmgqg(|>r@isD?HXVŷk[Cdo=1m,'e-ڊ_3db1i-nZ50om(˰c-C /Kba2E՛d8Lr7<rJ޿K +]8axX)5<݉
+=X 6#? 90Kg$.|=ڊ\Wlh)5O6%c;ܲr\.PK[{ptwsu&5omz_ኡM0m]wE:ɓ?TkѳQv}Kq<yq<~@9@3KBo$qsr''qI`<s"!?p5)1.<<Sz;Ɍ@ ?DwcSP͹(ޣbJ/Rwߏ ^_Bo] ϓ:O ᑫtnwQHwCx=I)yeaQMG
+KlEz#鷏 ,ּ),-z
+uӓ7rO.!V%Ǜ ܀U_vn9?o0]h#^'*/›@X@N5/hfatVU:]+4(w 8yp硕Cb<59b"~t֎W9B 3⟯ry_b*xxbu/L0L})i 5yauA'NE[=3sq
+w,gKqY`ƋXǔ2٪o͢lRI ,lXﻔKVN1*+JKNQty*oMWdi!+{Zl78 [4D CUhLLaD垔[QG2]^Sx˸V \=ьRm#%uI,}G馼.JS%9 QCFdLWRNpٜBZu;UfxG pGǩ7KtЪMg>G4˘ [&N52.njTTU7uc'T#Oɰ|ݥbs9Qi8Yihzdlf̯6|ݵ]L/k1g4Iܧ)mvp 5bVkWx_4w\;$AJs{7?&uʯ-S'N9Ssn^h{=g&wW4p s'
endstream
endobj
-559 0 obj
-<< /Type /Page /Contents 560 0 R /Resources 558 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 562 0 R >>
+567 0 obj
+<< /Type /Page /Contents 568 0 R /Resources 566 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 570 0 R >>
endobj
-562 0 obj
-[ 556 0 R 557 0 R ]
+570 0 obj
+[ 564 0 R 565 0 R ]
endobj
-556 0 obj
+564 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.318 608.534 265.273 619.413 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-557 0 obj
+565 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.188 387.244 399.143 399.199 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-561 0 obj
-<< /D [ 559 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-113 0 obj
-<< /D [ 559 0 R /XYZ 79.37 581.869 null ] >>
+569 0 obj
+<< /D [ 567 0 R /XYZ 78.37 808.885 null ] >>
endobj
117 0 obj
-<< /D [ 559 0 R /XYZ 79.37 542.025 null ] >>
+<< /D [ 567 0 R /XYZ 79.37 581.869 null ] >>
endobj
-558 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+121 0 obj
+<< /D [ 567 0 R /XYZ 79.37 542.025 null ] >>
endobj
566 0 obj
-<< /Filter /FlateDecode /Length 4580 >>
-stream
-x<ɎdI8!w3_ 9pFaF?jCfDgnΙׅ߾pϘQ ~K?___~uWӠ^Dx%.14o\}r)?s.v;Cp+gJ~:,=ZS3n s} }<<,A:&k@8K=40&v>oӏ>e ߯}/(l5wL2w+.n :M{=s.՘0qx4i4V,hKD "GK7_@`N2÷/o/atV]~y˗Ki&4S
-=&S:" q u|Nt=y_K?pw Cl"`>s?S-8jigIe᱖V\"3ZZ<SKgdMZZ@VDl H[=X ߢWI?O1g Wo1$U_ІQa44x [gk+,㖗axƞBx0[
-ȹ
-x'0o9AնmH/UP$Kx`Vq#L^y-Cݯmmm!
-Ӱ BH6xvoK/Ó?\SOݮ]gkhsYj)%3c_OvA*Vf~AO]]\[)B^+lhcN򇇕> *ҍބ9?1>b3wW)yxuB/ ~ȜARȊbCZYfW5÷ZH#Ps^S) Pz4#"Cҍ~giZoqQ$O@>OHJGPe!d&o=ƷYФ2I]ʱw}• GT/Q>i{
-ģB%h-npՏMWZ+". 4
-D*V\wT~Oe'O.t>]TN0ԙTxGI0Rʒm}:~f5̘Җq{
-u}ON)2+̙"'̛GJJ]َʼ=E5|_@|ZOg6?d9t*L*fv[fJ{J/j.s$ C"B.p
-
-,W㨫Np'R2͸q !mq>x HF410ǃ=Cr*_^kq>%\ߧ[]|ݯ+AIUWQ[]ĆMFCa[A8MR7fK eOr l8&9)&կ[\Ѧ^KQNsL2|yN2DADʥBDf).Rh>Mm:J-H@MzZtZ?~NP =lfx#aG4I{V2ۛK$tH.NW((hʷ,,Mz81DaXIf6ĞjEBO[)Ī6F̘Z^خ)ۧPdö8HǨ6ћ%f D݆ ЍA#]}pBk$N3#+R~1TomZJ";
-b;YJҙ̼ j:.r1lQӘz깐F+`Vƾ RmT_2+>k5 2UOQߡn͚/7V'̣SUPr18\Dϋ; 8t|+sV6uDM qա~w 2E\R-_ZYNm #6U6xhl覈e+r@
-ivغqֶ"ö-$ ga g(6t3}2eRsz'TW)}ucglrfqw… v
-@z--*"BC)m%qG շ ȸVidSMd v -M[»jݎ_c-,4iPP}"vYLm1@ yyP!d3@o'`6鈿=+="mg\̆n,Cr[ovl
-\J"wLKBټgem)j1r$rz5
->s[/ OO=KlY>h.ki}Q"}i|1[nޭ(y{A{V}caWf}I61`/΂I
-m|\{`!S`6MR9K3J+qz+k*19ѿU:{o+Kfx^a)Q3<p@<etkL-^Gm.r[>]tKyŒyѝrqc1)W
-cSc\Lc9ቐ'#MNR(Hl䳈""y'jU>
-U
-ÝHsΊ̭0.̸>E G-wgsK57d_6恳sXA<p[9[$#P%+xY۬zMdOdޖ|ԩMҫM4*f%`:h6qujt0q֫J*~i&5T-
-t.p}
-$q8-GƾM; osm
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+574 0 obj
+<< /Filter /FlateDecode /Length 4584 >>
+stream
+xd1
+"xjrf{;׀"Yٲt{ūXwəO3f}u_~~ǜ-/$+q1-/߿ps~S\3w}W2>ϔmulYzF嵾f@@D߯%xǏuk J5
+6^r@QK!Ydhs,eEH:@JRC߷ 2ݹSá=\_t2lEֈ܆M}؁}ɬ*Za
+Jxeʯ~Li$x~jCLG)o񬎦HBw}ߴt SQGw3kΒ w(U y7'C>Q-,,ҊkByDKǵmj錬V(h+\:do{ޑ懗{DGbL!Vw`_bH 2`ihn ZXWX-/Su= a s](r+(yd$U۶!Vy+#LB-|D,ᝂYi
+ʯ+\U0qx uƷӶmޮoؚ+dL:L!L.dz[{_zzvd:[C.ϒ TK)ӼzB0 Vy2TGz*:"嚴JuZa#^E 'u\>V\H+1J{lx0 ?2 Jɽ^#A<$5ь+6ܯԒWB&Y0sS) Pz4#"Cҍ~ai˵Z=_IEYd)"}t$J6CLzR5RoI=eVcۄ+dp}("D=GOKIL9Z?y5!gD iRFUp9Rԁ O(]xq;`Ω#
+ٷ`%p1+j&O9eI1- ,RdW.3$'7B=d7q&Ļcy;I5|@_|Zg6od9f:Fq|OƓN3T5^Ma3fCF{']wHƊ!`L 'Y~ >|8 ̉OlO.JS\IJ2xrx,K*޾|tN+x~aV0hhì;Nfb;;& w]$d0jgrAkJk)n~wu<_Þ| Qgni>gnIDx<$NL|K˽00L[ jTP 2G]rESӍ(w#QK+6fdՌ$mS͠YC;9ou/$GKa [}VRmd&=ڙnVLeZb!O
+
+J}-ALSSZh~J2AB!XZqYBf8Yp듈{i_f8JOѐfVMfd?7
+$#bΞ!rZ_^kq>=\ߧ[M|ݯ3AIaYWT[]ĆMFCak8׶A8MX7fK iOr l8&)^B&K\Ѧ^K"RZs.M2|yN2DADʥBDf).Rh>Mm:J]H@Mz4~*zؤ,Jhz y>}5H.\rįP QbeѺ/,,M~c{ۊ
+9XNYİlh -Ԥ:'SdUm*4X1r!T]S,M4)mqd6ћ%fl@ ЍA#]=9O5S3+#+R1T/muY˕v>xw(+j35Yz;WVu/]D/#b@٢'3B*+LZe+:ۂKjոT2ݥ)\iQxLwvVE<`Dq~VX@2N)V9BmpjgE;>/B`H>Z< r6UURɖN|aMG:}/sMJ{~koe5::f\VmڸZ㙣"we5RHcը؈֍wmQY= i`PI 6|GivaOU ,R{z)T[%)q3zV 9hf\ g)nَ(`س[ޣ"S,)42ު
+xBK&=t 1l|<`d~TN6MNk()T] 
+i+;ޯt +XoƂ:P=^EdH@J9OzA+KW
+Ui@|zBo9-^|nL'UFS årdkDj-qαMwtoE(ÔC[ "$6\eIX|Iѳz!.~LU0Qؽ?Q0Zani3լ+p3_VT
endstream
endobj
-565 0 obj
-<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 568 0 R >>
+573 0 obj
+<< /Type /Page /Contents 574 0 R /Resources 572 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 576 0 R >>
endobj
-568 0 obj
-[ 563 0 R ]
+576 0 obj
+[ 571 0 R ]
endobj
-563 0 obj
+571 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.992 607.586 261.965 619.542 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-567 0 obj
-<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
+575 0 obj
+<< /D [ 573 0 R /XYZ 78.37 808.885 null ] >>
endobj
-121 0 obj
-<< /D [ 565 0 R /XYZ 79.37 460.244 null ] >>
+125 0 obj
+<< /D [ 573 0 R /XYZ 79.37 460.244 null ] >>
endobj
-564 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F58 382 0 R /F26 400 0 R /F69 398 0 R /F55 379 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
+572 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F22 404 0 R /F69 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-574 0 obj
+582 0 obj
<< /Filter /FlateDecode /Length 3554 >>
stream
-x72_ѡ MV=o$XXkG[gF64Mb],O _W|0q&c >9Ѩ03tVM^3|<b$6a}ŸuNM<iyz.&K<`qM1A1y/o89o//<~s>~~$ MvMw~ 淊W~SHh\Je ", tPQ]K]zMBl+KçUaW! CZSa I*Htİrԝ%t^FPܨUC!Yd\Kjհ
-5KNZFZe6|
-1>.=!Zm
-cf%(&!Èd]n9hZh9Ik˸,17Wdu&n7Β&d7j`H"ҷ2nxJ{".2&E+~TϷ@ݚOIä%Exޢ+R÷HS
-L̖. 7C+,۵Y)Dg3T)i5yMM,94RP P(0𻶉G$&`Bsdd~"wv2dU,yJZ.
-G(Q ? X0ѲR!'1@Pt s9hSvMƶ%d-{jpz}^y7-`5ffi??~Y*wzh̒4{
-1n4:k_-H|rKKm~j P5E}K
-b,R#$(_O(edIYדf*N$[ǿUݣTYaokMfRtqײ') &Zղ3@K2=&D&צ ~E-*ZB꩎I۱ǼOL\lf-
-οJ_~??M!5t܏<9EyL?|8
-Rqڇ?׆0 ~ dÝzÈM̾ 07zC0
-70Ff6NA !4n[4
-z,;T菭zD 7)kbYyrb}GH&Y ʁ#*"*"g\`RN\5&ulsfxGޮK+0^z!9/e{t_Ͽ W~6]y?胀KJ+x~}zd_#NG7݉ ?oϝ
-KcHJ+Mѝ촓/uwy|}|$ྎZ "|S1+o-ұ8vJuӇxWJ+Jxޏ+]qp{K AOKmcO误Y12vF7<٪Q*fAȣ:V2^7S r]0ĉ|"Ls{baS86L8/1~,sK<t Ly?μԩd/j_$ij޸ 8\'wuB'qCit/Ϗ FkK
-A
-/?x~q隷AZC[tlp$7,_
-Sp۲@y(KMdm39 Zą$Ypvfם?<D%4Sz. ?7ugeHK,u }:\;2_?arLPd>"Ƨ lU`WslqA%)R2RDm7L0fX.VˮX9]5.]6g(eWØ%8Ek
-InŹPY>m0j<eė=m6Hvju'j6?֦nI͵V/DZC,el[muEm_ D_C FR!,Tke֮UuMt[ >fXBx01<GSTDCt:r1 9ыE
-% 냥qr<z
+xɮah+ i 8'>9ȂX|笠/̓n6kcQ|ħ^ʿ擘7#9F0/jTiFOˌ'ʹ~/pnOׯSճu4Y*
+DG `*wXE2Du&kH}VAڥ {,2Fp C
+/oUJL. 8:RLș?q4G\}5*`Ybw4TԦ\f>EK2skŔw
+' @%J@`z`T <?4-/܊a=2[C/oޭզ0fvQb2H&E&!#5Ƒ# zsEfCg-)p,ir@vӨ P$(}+o'!"#jRG| ԭę4L:[[-/5|kHH80 R?ҍ(6b493ؠ Akی%c n
+($[rhqe]l
+<~,AJ_ߢ%{/*aKxufVa-N^ݢQh
+'њNAR-![!X8xCOZ6, t&YU=B˚JŅ//7% `F{.)3/o)攎_'(ϕ駗MaΈE&7.VB`ˌKˎKM&Vʣ\*ŰO3R"C܄K$~.cKO2U6|yn%>Rx >4Lg?6Y}nm$4}FoeM Qه12q7Zh9\u* F_c%lF~Ok݃!}(]`*z}¢y~.b|Z-iY>cJofDdDlG#`+ĥ ̿8E/wXZaYw*Bz˿!+J g]˵% (E|
+J=w_G+0f赲4rR)?BS; #3U+e Iˉ#f#*tܫ\0܊e(fs~ K9rtlͳ۲uR#zWy.x
+jdz伔Y`>'}=\;tAr.))s#ԮlEx:}7lւ8t'=wd9lے2Rf} B0kX_% z:V2X],Ks O1H^rvTGə|)#G #Kt@%CIǞ1mwqY!MoT8m}~;  d e?IMϾ_M|D`gR]JMQ鶔kLf,_=H}]ߜMOwvj[ݟ^l=]5Y&9S  pèF䪄Aqr{yxN7TGp}g׬aHa} @DcW5;BSq4Zo3[ mWW8ɬoޒƺ! aI73]ixuP}4<K7F$N21Fǩz,hpj5;Ì'Z0 O0ahӿX̝nOs/u/f0 ɞ8RI.}qLde7Nxds <՜C dϽ<?6m(;*ڶybXwťk>=h&NjnkSՆ
+
+ H vP̱|v=4P=VF>B1]+%( /yzmn$fn =éiUpQ
+#{Op5jܣ])l)?鮿\
+Զ~X/21NMD3'pTJV
+dg2#݌FV|Э1*J (*\έJݴJ)wTw9TzG]"Qu"p(+ׄxL:~\Ƽ%VmۊJv'z~yK<4s'n۵G:Zw~/S.f~29oP`Kg\(0nNP*+Yc*qrK-O84=W;=BBVrA/\dgQ6ןݖ%3ʓFYmef&mS Dq
+ӡ
endstream
endobj
-573 0 obj
-<< /Type /Page /Contents 574 0 R /Resources 572 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 576 0 R >>
+581 0 obj
+<< /Type /Page /Contents 582 0 R /Resources 580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 584 0 R >>
endobj
-576 0 obj
-[ 569 0 R 570 0 R 571 0 R ]
+584 0 obj
+[ 577 0 R 578 0 R 579 0 R ]
endobj
-569 0 obj
+577 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.302 135.32 408.257 146.388 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-570 0 obj
+578 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.96 105.613 216.685 116.492 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-571 0 obj
+579 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.406 105.613 244.361 116.492 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-575 0 obj
-<< /D [ 573 0 R /XYZ 78.37 808.885 null ] >>
+583 0 obj
+<< /D [ 581 0 R /XYZ 78.37 808.885 null ] >>
endobj
-125 0 obj
-<< /D [ 573 0 R /XYZ 79.37 678.801 null ] >>
+129 0 obj
+<< /D [ 581 0 R /XYZ 79.37 678.801 null ] >>
endobj
-572 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F69 398 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F26 400 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
+580 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F69 402 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F22 404 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-582 0 obj
-<< /Filter /FlateDecode /Length 6934 >>
-stream
-x]Id9nׯc!h_D ps0z060n}oj"5 
-E~HQO!OjO| b]0Io1/6ޢO󯷿<+~ǑW+lWQ)k
-(A)7wUי~^g+5g:׽}O-/96,6a 1n`ꭹg߱TZs̛v,żo>~S4NDwh΂b <[3YW!vDP{0i.8L}N75<aY*
-[ >@M
- ʡ*V(H(W5 ve؎}BW2/JtGުbG+W,g=]%*j81\YbX'-F2ڪre#ܙיӾ5U%Ct2<$M- bJHR7TJ窃ffgpr6*bRöciZC(ömYtirjfnh]ި-w??b; (`{9ٌ*c_R\`mͷ/=9b0eLKUd 0V̒p)3 *2w7a!,YxIئ}Xu_`Pȡjɵ܆3 9 t:Me8%seMCbL#Aĵv<mbxVVD-ّGߐT
-k|瑶l9Sp[v;<T<g6ڽִ?'^y9)<G:m,w o$u)]x</<[voiwzU^.r fl>7Wqѐ'7?NRwfwzͷt޵g3mbb}{_jXYTެL䂽 nD9[U+o~xaQuZxbTKe(cXbʷ_~ V-js>O7-9SZlP O~7n_~5I*ܓa6ggvܸ;sKuԓO@|y4ANQA>(#0V4V0kb]r_̂G`=.9 ,>8sS]*6N0ug,?Ύ=vh"3; ]uы2f"`<M!kb~ <D  3׈%bA #*bĒ;#fvX#fŬ2 L"@fa qsj#z5u:#AE A[xJ0%zKK
-\.EIf<|\s 1L
-tN<F2vaqHꭎ(%07 iF0a$m4uef`>6Y44vgH,E
-Zm{D)ho%<O5rCmH9$q2{6rHKH$y=ID∄NA\tB "Ð&ڄ`eIl"oL_ʹz`Zja L4KNa D-z .Ԝu|+e)`HLU>$ )2I1%+04YaD)7EYdDRii=m,ؖL@]%!IIuH7DR  zb@);)b:@BAk3eeRO-(gH(6e,IP(Z$r5(%Pq47eH@a. 9"eD֡"d!= ԜLBCHh IvH j3;[YAF蝖lMxQABGN3 Tr#c) Rk?KTfnBY/=lI4~6(0(o@NT4A4~-#4S| &HAEkHȐz@i+k(D)sܧvkbY$ 6Jb|ia)(-$5(MV%61J#*`r!}*0h XNP>%cX2 D4d i'2c#
-v@
-dd~FCd+I#hcR(ne/#2ނQO
->])S5@^ /)ti ,G$14ڍaqd15+!$V✇E
- @[Bܧ1Ҩd$)Xu#cJY686!QV":B(D2O2IF ݔ\^`Ht┕cJPA춐(2Ȱn,@i+S;2Rθ}*hǁd1aBAlSQ&$Tı
-::J6eP,VUexlTrJGPGVsVP2]*(Kd1}*!4:#S9j5Ș}{G$GRVS< 3
-3P^G% *'AhI-=u!z/KNT1mFGVeJLö-Y)*uZGI%̞ vl~^M@a1)96
-
-"Tb*E2M5eB$! Z` E%+ۉ"׶J/l~
-'$Y[:D
- wl|'\Y[U;Dڀ$a,XQfvȵs<B.,jS @%WR $RڭbqdhX$tl"J\= X%,,;XKN8a);w*IFX$#`*DkyDj]2YFE@* ,,l%XXJ6%h$D,de; yB+]2% ,*sGV "&hd,VY(rm\>y&?uc%.y"EtclӫynCæ_F1Cgs$I3
-`^榳[<m(|!{e'yx&|ve8bO =|86k!LCƑZ,V $J7o\4ܜ/5KGם[:10I{vuw:!9]Wctqv!母
-̀Im1yx3x:CvJO22C?Y*^`sCa57r|+W hwA3ݏc1_Nw>(Rb֨ sD W>[7r9Rox'*ŵ
-'3]E>qFp$z⛯=#I
--?m:3A@Qֱ 4\OH{()p}漻pȼJ|Qt3Gw/2-i{[Mx=[gt{lM ;yu9䞍> .ǣogʴ֛YDt|gG n!yEX}NH/YArvK9D"@39m8)2@P/^{CͳcV^mfu]^{ y ><\xtV9<B2-nf+ E<W%2(O2Cm!OfE(.B\t2y4n9ސ$m?92<߼c> ?<~<B^ktOdz 䇑[Ș,\YL]{PO !䝹YZڜ
-(IKSO}rFnnk -G5qja|ɧE9'/HC4tVHBżt~(ЖpZ8Ԡɔ✝g
-/nZ5r?]dC}]8riQDZ- u~*szyi7߾({ FJ/>Zۉ [E#ԚZ"T뀏k#y涬[s{Տ\irhk\ˍ4T1='ǁdPio~ay
-"*,tߝG8Q|S jzgg&LJx >"- !OYaIÅ*6z/_tXdѹfTA?sv/5ThjԢ)EtJ.15hmN(/TkaIii=F{LW(} 8dʻ|^Ϸ^4\n2zr Vn-Lz|f!$_)?L7NWq:isL)`YRO'[>X7}5f;V8~1cs!ZiΟo>& s67$n>%F3?}
-Cz'f\Ik Wz'@δ\['B- ts,As⠟2? \{pIJHKec^}# ϤOZPvuxj3 ^[T9Ew
-\$7Ճk/ O.vo[^< r!{6V&"-;^&.kj So=hiJ~t.Jj;sUk0dh]4$?h–4h;e07-r|
-nV/Ğ#fr/_ƜVN..k'k*p[s[9J5dfQGZSumBeɪm=w4T.);ymR({ [;o~w`
-z_}F<w:%|:_J0;z?j| {x3 &q; c|bU^#qɲCҦyMrފ)nk\~+^5oq=p6d6bJ;M}ĴmQ,;kdW/.im/˻GJ&q>G,c˷8ZڶN\=M] e5q.R~wQo]#p],9q>./*ڏ{3 q mY]+)"lR6G]Q>Dxmqݔ87鸅ԛV6l)Zػ>ziw.];acS=2W<w~Nocx x缅D o! 7 yi9Sp[!~@(UG;/ϟn?+0tynnqQ]K[=n=lsZp5񋄭8wMP[kaZ̃a6Vw+AJc@- ?F1B??Ou^Dxt7\+[i{S3&3L[g_vpbbTK
-A=C_=m6fR; ~㒧tJ_ix^84Lg[XVLVocb`Z_y༻CE&TUet{v,R?asF sd(sL"'~%
+590 0 obj
+<< /Filter /FlateDecode /Length 6932 >>
+stream
+x]Ke7nKgQz?B#U} dcĻ,
+401@h&pUS4u)EK5(->l:ϋ~rd bChf~fzBj;dB®rj1ʬ6G<wUM]|DЕ̋odJFYk.cW|FIeʃ48)Nl eցƉ{Fwu~oMUIP] ,ISj jj+ Rǹꠙ JŬ쨱XZdP'=
+m{~oZڧg$Co!?Q_qslU 'Q}KkB6=GL&iI0*
+ߙUs#7ynͨeN^Z9}yԪaE7]9{A܈r"b)U+o~xaQuZxbTse(cXbʷ_ V-js>7-9SZlP O~7nۏݚqXAFH3ED]y\nܝ0-'9F]DXW[!~u"`}0 NBs{M,سCOu<;ם_<x ̟;;rWءaG
+rIvIe3_]Qpx?{d$Z4uNjq*0h /D" aߩ@XyDÝ2ldJ]a9x=ȴd`,!ie`l
+qLj͎x,2gq!q4#
+6fdmg||fqIc$cw9Q!y38 F`#FFSWlAPf&f3*l%0@SNcw6DYRնGtVQ#<t F$+C'Wm)[_ԸD;K׃4A$,HT:E7 rh= iM V6$6!h4LUi Lƨ,Ɏ 2=J$A&=ݐ(IԢL^BIh^G2[j| H$TEH"ZbA9y1Bm@IhLBzSePLF11I$ ̂m<]_24a$1PtCL( "0'B)#x$D4Y6SQ&<rj3ZƒRO(7P2Z 'Aq
+[6́4 #RLdJ!L; O4: .4 d6J%d1i$(+\4@:(72FR VD5a&ę|vkӸ|l
+MPIOEcDl`>B=*~P! i$Tı 'aB29}j&E`Y-ǜ&pFA*ZdjUb4K[[+ߧ"8~
+RCY2*#PPADcHLؐvl@q+c;6R@*Xoh 0OƑI6k'l4D긒1(N:8!QV"<B(-n .FKT?"< , Yln#] +( #
+ ʙMQhdYl zȡ эwgqD*ZCfjw
+ Jۧ1n)_yH6&d61e(HAE{H[M(@q+{!JS>aSYV UrlU\G-F%$ x!qd5+a%#ŭHDާ"<B32pFPӏwgqDbx$!ql5;C
+20ŭExP}2*K3{]^bWHQD%ӆjtdmU4l{(H 2"ZuɚTr
+Q,
+Ai?VwT9[*bڀ$]$%RBMb7,K ,v օ
+KґUH PI2"~n}eVa%J\>#$T.'X$@Q*9&,!%NddQ
+ՑUH HI2"
+ViXHB@.JVܰ}.'T%3XXJ2wdm(iHF[bEUډ"׶󀊨כqk؛ܶ\"'2_@:<:Z;8lm}ozs=)x_9ϼnI_>ӭ
+:::a+sV 3co%x.Ϸ#4Ԝww^^ >ѝ/xE2]%M<xoK ٻGbn):a'0GrܳѧaxcsxLz3K/1*-=9 dVRx
+I7\Ne?[Gv6>"W9Rlϔq>a}a|->Y+V.hL}OW[n 3Ju]8nOO}i7_({ !FL/>|Z+ۉ[E#ԚZ"T쀏k#y涬[s{\irhk\4T1=gǁdPio~ay
+"J,t_G8Q|U jgg.&LJx .?* !O%YaIÕ:z/tXdѹfTA?sv/ETh/jwjs^d_:%טz{~y}8'jYxP$tT4 E?&5ewM2e|>rQOdE.[ WG=9I+Wl&=Ea Vjt&U++]9rt}kڧխM>Ljb+QƹD]4OW}
+9mWd>XF[ Cz)f\_Ik Wz'@δ][&'B5 ts,As⠟2? \{p㓔V
+o;xW"0<>ihvCe^pwgoxzmӯnRU_*pG:w^U;6 >~۽my$ʍ,Z d;0ly7NVLbm;UWԁD( %cWi+uX(aTd [hݴ_)pQ L[1._q |{GsZQ;yׯsk4ùnIRwWo(*rؐGiOMsԕ{OUU'S\ PҞKx.DTNl)/˖?*`|Qw|):Su[-V
+?7HڛYҖɋU9xF'I5Gy+}r5xռuڐۈ)!L4+r;pf5JF
+Xr}]^TQf+۲
+V4SEƥ|\}+)qo>+q i7mSbw}L"xt%8׆M<z\:e%#/x>t<:HGڪwx~t-h@wӭ~Ge F[._?ܾ-.9*˽~IyǭmN &5ҿ7&a.@,Qy07n%RiRvk;!=(^ig8Ɛ\}kq<-pw&diN,4_jI!ȹgPmwԦ\Mjgo\NK>3-p[
+FF sd(sL"'n%
endstream
endobj
-581 0 obj
-<< /Type /Page /Contents 582 0 R /Resources 580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 584 0 R >>
+589 0 obj
+<< /Type /Page /Contents 590 0 R /Resources 588 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 592 0 R >>
endobj
-584 0 obj
-[ 577 0 R 579 0 R 578 0 R ]
+592 0 obj
+[ 585 0 R 587 0 R 586 0 R ]
endobj
-577 0 obj
+585 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.528 481.923 414.484 492.921 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-579 0 obj
+587 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.029 340.922 343.984 352.877 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
-578 0 obj
+586 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 330.524 67.03 340.981 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-583 0 obj
-<< /D [ 581 0 R /XYZ 78.37 808.885 null ] >>
+591 0 obj
+<< /D [ 589 0 R /XYZ 78.37 808.885 null ] >>
endobj
-129 0 obj
-<< /D [ 581 0 R /XYZ 79.37 771.024 null ] >>
+133 0 obj
+<< /D [ 589 0 R /XYZ 79.37 771.024 null ] >>
endobj
-580 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F56 380 0 R /F20 378 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F58 382 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+588 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F16 382 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F58 386 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-592 0 obj
-<< /Filter /FlateDecode /Length 11369 >>
-stream
-x}K&^[v/n:&0uU.xŠ
- /[[JCdGˏai0>.Ͽ?ĘOysKRHh'ANo&Nw8H@]! d"l; ;߆z Rd
-#2x*է/05Kl/HaM}b1֭9,S P_LK;'7-B-Kfc~];kS%-iy2/MW9LQ6S Qn2=MSqx3NOu 9(@e(C 4Qy[+珷~ҏ`K.wP7_ܳ!yjCJ)8$?ِe3bdÐ|Io)$?E9l8{_'# QH6=/WKVS5+'׆~ۋVqGBsd*2=NERsLc cS%aTe(Sq*zB*z4J/FȐ8>4# XI+K^z)? ְ~"'N:W|z)C\}{yϳJ!mݟދ<N+/'wypܼ޻P E`<0}Zlޣq V|wߣRQ|\ߣ 0ur ΓR1lQWѥkR5@1fz^&. zfz^Ɨ.Ź[b~y)_ɣ=:VpڭGw0Ҝbx[q}o{C}hAd_m+.UV%beq{Fodj͛IFOGa+p %m  O;$[x219dԶANԶR O%HYZ9e!AgːaA3cJ?Y^
-'߼2\@Ik6Sq!f
-">kSQBB/jaXQXeS8r5E`ICF1oiO1(N@1ʭjN;7!-qҡ WJ2
-||Ԝ.9mnPooZcD ܪḘXe9yr!$( te-/ m=K!e5Ex D1\nT"ΉEVeRp[k9 !4c3%e|lDj@S"20Nn~BDVD\ ؒdHaVQUɒSQ$-HV51(*`dnJeS8@g^
-Af,10ugI8hj8D ^niE&,V"Fdbgg\F@@Pjp:^u5+ - y>Q̻/j<DѢcҪEEEmQi! !tIj0\Xӽ*`sNc,Ѭ(!`c[5wZa5hQ&k BBzX">nOrAHhZ1KjV9ӰREL
-XX=_^ECc_Pê0ʼn2$HAC {X0'%&RS Q^!)gs"IM)odidԪ<b_+ʅ n*ԪT3jZbB&&iݐ%jUD&*Ӳµ1!bN3@%BVuԑ֤YZLĤ0 QV5k幰2KDEϵ剋FJe“(1)u͓5 [1hw> J'*$*՛ڤ)pIA/QQՀZZVr#ȸT PgjT[2ʈ'0e 5UMpR.PIwGLF[UVD&%%LdMK$PT52xV'*.x.-K\ZQjZ&LDL2uMrTT5 2yľV +T2*"5T.dQaU~&LńLL
-Һ!KժHL׊ײBtRRŪU56eBO\$Wk
-^(pjSçra
-XJue)-&\bRK)Sk
-"_+c WwYX.TQQk5G2E01)p)&k8 Z^(B򎘘TzREŮ֜6D“(6'إaCUX\a!DЏd}!?폜Q#U\ZqL/^0L߾K57yy[wM bmr^s;}i.eD{4[D8n.עw,}gHY݉}o|?L')¿ ^rYٿ. qp$[ űd3Lm7ms(i?mKe
-: WFl0Kq yv;~:&!~:乧"؇y Cڻ{7Y9$u/B^w}~7tXGu`kJ2b,S@FOaGmCy{7?G3",(pV\p`^NIzjoG_a]3dIE6Wrq6> 7'J~z
-;#xQ(IŭSK~-ŁGƧGFP;5iXu+P>;
-EsTC^_C[lG97⓾5\Q4ad5F?lO=>' ݳ1'B2u3:Ncs0眲t wj<G*-lvdCjN<=Cf躔!j(:r2;]cEqL}1~xc[@2z(WpJ“bLEV^$=HfdMtze7tO k^['m5SJӸ!noVDw KLyS5?KgA5Ꝓ^{e%ij:Ap؝ٻGPG94|
-LftO3>291YuA XRd=o4tؙIҘLle;hi*\ f1oL53%:<CtYOŸ wﶢ(e"׾rԩY
-!d9h{TCjtfaΝ$
-K|[9E'>a~6> 32.2(~^0C`ӿt:8[J81Fզ
-ߓ`SÏPLET\K;.!o9qPQr{kwM(Z)M$|-xrs,W჏6
-) -=3\R-( {=AvopxӻcV3souu,,FKtb$4Mu
-S9@%Kož=u@<:P\zuEH/Ɩg[ +wip9zI;?
-~`] U]JEUD*"PѕZ컧XǖP~&mޅ#ɵAG]rly\`QYj/WL~D^S/22/+0Nx&# Z^<
-k^+ԣpRJ)Ds|{w.*R۷iO8f`1-Web 1Ǣ켔>S4VZJJytOimJۆ)'@Tv
-2=psD{dU$\, ܘhrtFYaY
-#3鈭W3n͑psx%j,hn1p,¥˽FamqwO@\އ D:]ȡI!)PBƆ;T'/{P-dn\>jLer2(#D{k[M+ }Rw7쓚!Vt@hlҐPB߆)d8/ `^7b-gZ: $:؞W>3]ˋwυ2犋\1>* ] ̒^Z*" 79diěm᤭Mux&j
-4u@Ij+
-~{\d*|.`ƺƜ2f:}+[ }?xV_w5F,0p7e v,f=GĘJ(L@h?oJsmlrca{NcOuj?`);+5WeLIF!2.FFnDs+
-v*3AƎ5C?HS8
-i$KVc4Ja*cHL7G*X:6OX>D0YD05,/Zw|YSvJ65cЍMl瀓NnS `鮥:۫h}M .=[qc bnT¾v8B}q_
-'
-y,'B(뇭)p"R"&\iT8aDg8VVr(8KR#8G[8%璽Ui9)NXhF')lStx,.`2t
-˳+bL(bMܦ"QR.z9ѥt-%Nn<[ZHi[Jv22FpI {FJ=9$NMs.cǀWtWke!eTRÝ&  "ܢ<9F cYet_ZS2X㗔+ s9 +"%8bm"FsIp0vRH(DtS:6iI0=do<QS"E
-K [#ܨ"}>YA%
-PZ:QALĐ*<Xcp"R#&\iT8aHg3T[*
->ܛ|~)%آ:R`2zLFseM),e4l
-;xڞ"@04X==))F(ҮG)RXp!F-(M Bppw҉G<^OQ- H!PFӣvr걨E6KBFJ?9A0? 羂_G Dvs~jŔ̐ Y4u*X+kJ4Zײ4쵿`.l])O[tEYT8 h]K X 7QI~7k-hEo)FI ܮԊ =ʨϵ2:|)xpp_GAdBO*>6zU5%vts {@ZyBG6 :l =U |
-?_3XQRB1kaYQØxev}A>{wO:ATӱ=Q=;Ğ!>كG'}|O<n
-7Mr8ZܙlI{ztKwλ:Plm+ֿW
-o4BoP|doOF?|! i9Cf6 T9<y4s~*.)3[ul$5{m6=o$\:oN lnyP] ӾxӮN4큉gx{^5k(i A
- ܶw1[-Tp2M)׃vIr 9>ws 3@c7+2jh:FL:?KWgꚲ7s\n@mΙLq6cOGgqm߇x3gxx{lzpK>s:BXx[<3D@\2'71F|}!^?c흾`:r`J,f8J)^Dɩ]SOdy>"Byuc':J6lDj%uTN#pzz;N;LqN^wzIw=&-X$^;v{ss<N) pck&<{_K{{snɏ?ioe=6g<GIs=mY~f<<r_>}"^k<yӋ3УKævPdw}rCflN.]뻧\uW6L?f/T@n┦غm:N7L1EX<vȫ<̶)TO{J<
+600 0 obj
+<< /Filter /FlateDecode /Length 11374 >>
+stream
+x}K&^[v/n:&0uU.xŠ
+ Aе[4I]'f+2$ WmU7Po@L,OH  xŽ~l)g'!n9{::ށtz
+DpEƠ}A2zd0UO36_`,8h3k*Y/HaF7b[sYBDq@X<? =nj_r$?k|mj K0GZ+9&7;2=G:^`&ñ钰e<x<OƧHh2=^<*?S_
+?;_
+؍~&R-< ޘ2mij$-$)c#K 7,$hl9Uf̤D8s$n-+i)$HeZc4\Yb"`k 5,0k3mvLbl0M|r@ɛC"KRd`lB=rFNSrk!Tib;pt;AYjlM쀴f F+Ya G|@Ll`3aNBV)" CP\XaBpti- )UWG?ܯXL!M"3a]2A*r5R5+KJ"ÙΡM@Fq)- Yx+t94G#-"["D6C9SC H4&2` -O̢9LW<=0QĬD؊dHB 2KF33e#JtiNc
+v5]'%dj$
+#J733 hA~sp0}ɘAvBa!KJÊ!-8Ba)-
+ p g(B2JYa8p&y6#CŤVGKo:P
+pV`.5(i%rR2Q[!Re%-$lLW G&$e1N:9*_BF >' TfX9QB+{5px+l29oT.$Nlͮ'z)zH/Z81N5-)XdmE:iQ&
+ԥnU_=pcfE հBi=%,REd%^ H Y>@2cev?!#EiQB.9լHpaMkD*{2+Bzl}BVA ,P( CJ82ȘĚ9)6 'MbT O9NJ/*ҪКnJIw& VwjRj@d}(Vκ#&dTi[ȢbPRͨMj"K Ļ!KժLUek;bBFŜfJ,*#I)Ia@$PV5k幰2KDEϵ剋FJe“(1)ŻIԚ쭘jtaj;bEEOZMmROZLĤ' TT5 2yľV'2.TYL2 LdĹJ)Y<"_օ* Ո?U~ UԊ2HѤ rqkHEU#!Gk%kxQ2вEU6e”Od$3kT#]XQp!
+SJ6e,-&dbR, T
+ 1b_+^
+҉ K FKVuԴڤ UF<q)_yT@EU!kPB1զO5Z\mQSZLĤ)Sk
+"_+c WwYX.TQQk5G2E01)s͔
+5 iR-/P!yGLLQesibWkΊXT"IK $1jU"WkmQ57Ya~jO#*.8SoGo%<v-׻Ŧo WG1}6s/>d N4~_;}ϻne:q\̯EKYΐ$6߾OS;ƙ
+#ǽP岲 ];9.j9%
+7}Icgcgڙn?)Q>)iqbsqt<'
+`&{x;v^QuzMB80ummsK#؇y CڻG7Y9$u/B^w}~5tXGu`kx%}E1)j #ԦQPqo gHxFe?YŠB?IB h+k>UJ!N0~cx|7o
+ 1]t9MAgpq'9Sna &s>H3afKC0d _gNfwhr0a_|P~?
+I"怜pfE{ЍTI?~z
+ذxgIP34z~/̽245$8ѻGPg94|
+r|3UOg#Μ?H~ʈ:P,\{
+KLM$Ri̊ſY~pxC
+puڬ󂀧r_M[ݻ)K9HkbUԉQ
+\R j8רzտ.ڲx_: cMj+wm,zspK^Ã%"d.}⶜}6'lh<_]}y:t??S\ػJԞ:,+Cg6?[m rb]xγ<\Ϻ4C5yYdQ0' \g,=kq5}M~a|M>_~k8zF\n\lVi}<nM*UhC%_@
+~X0ڥ
+~@ml+ϔ17ZA->@i| t4<K,*NR%'vMb:p(a .DY:" /֟Ŗg[ +wNip9zI?
+‘?Gf{
+e3f9{1 +3[qF꧜<P4\6`=Tږ[}%tW_8)f$!EUSS?ʅ.TtEt* ]]JEUDib=R,cOf(K6kgK#ܭ 5xM]lW~0(L+t&M"pev'<a-/5KOX)ir"m
+t콽;q'PphnZ쫲J|]ŘcQw;/enl6eUR^I4/ቢ1Xi0e(Ax{#,3Zq"X4ZjPyDQdb)#*;n0\m%ßᗸ)dE T[.IdhQ*|2wrA
+2=psdsdUI(DӼYf11)rt
+FY$aY
+J, 4 hI FPŔ 7 9/KNIdX1@-PWb.8ugN7|`Ƿt$"s,"VSmE܂@90-x$w$"sJ4Zz~[_7-G2@>0tLpo
+
+mWe>ʒ/CzqF4͉!;ڛ|
+#3鄭W3He95ACV|ATq_xR^#gĸw'H /C2I&P$_2" y06|)>yكHoL"2bɠ`ݎn5%0I U<wOj$ZYУ۷тH!!B)c8/I0a3-lO*cJͻBsEB
+|M ?I&feF-[L]+Y2>f[8i[bK|DMa(iSmeQ8n~Jh8 ؤ1!>E_ƕ-<+BۯKӹ: =MYM@%t;zKĊ2s(4GƎ-4T hXRsUƔd8aqyMe46Kmgl(8jE M\
+"
+] (psKZJ$LyMww.Ҝz5 '"e0dK GFJ=9$NMc.cDŽWtWke!eTRij&  "Qq @J#1,hͲZ:Q/\C2X㗔+$ 9 +"%8bm"BFJ?9\P8av)$2^ :S!]ZR<LgK%E<FTHR/;Upl4g3+HDA]K'
+\9Isr0XŖgk,NDJ`ڄ+Nt8z6s@I ýR]ՙރgdl7+kJHa)ak|*N82љѳJ"E z</z7DYR@Xp$ [Xş"af`T+ej{
+Y;'tdS1ɭJK ~͖ +S`
+R PFD1#BB/4plZT"FpR & wy$&aaQj+hͱH҉G1j
+?_3XQRB15paLsGD2Dp;ӁSЏ)fb Atut(gab`K#>vXN>ߧtm7w՛{9 ,xH6uޤ=<o@N;]'6}wؿPmaLx_kxsZ~7m=Tӆ_pvCElyP=}
+rlT]Sfm1)yѳ{\1G݌mQn9^"#x@?4蒏Ο#pLQ/IfMdbȟla/NA9F(fΥ8RSI|DnOtldYFgCO1>QٟSwvzՑn*zJ"[P=NI7w憻yTo+R^Şבn}s.y_%?ć9ݴ#zlPwx,kog3}bj ~RxEdN/È䲊{k/MS/4,"9y=Mͤ5=ѳvwp.Q=b\we;ƃ_{s5ѿ=3)M=ѻm:7L1eX|VR^ǃm0{SD` EW
endstream
endobj
-591 0 obj
-<< /Type /Page /Contents 592 0 R /Resources 590 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 595 0 R >>
+599 0 obj
+<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 603 0 R >>
endobj
-595 0 obj
-[ 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R ]
+603 0 obj
+[ 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R ]
endobj
-585 0 obj
+593 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.532 553.81 437.487 565.765 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-586 0 obj
+594 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.344 499.119 390.299 511.074 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-587 0 obj
+595 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.474 435.908 210.429 447.864 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-588 0 obj
+596 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 458.926 88.775 469.383 100.232 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-589 0 obj
+597 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.62 69.846 339.076 81.303 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-593 0 obj
-<< /D [ 591 0 R /XYZ 78.37 808.885 null ] >>
+601 0 obj
+<< /D [ 599 0 R /XYZ 78.37 808.885 null ] >>
endobj
-133 0 obj
-<< /D [ 591 0 R /XYZ 79.37 408.994 null ] >>
+137 0 obj
+<< /D [ 599 0 R /XYZ 79.37 408.994 null ] >>
endobj
-590 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F15 377 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F75 594 0 R >> /ProcSet [ /PDF /Text ] >>
+598 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F15 381 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F75 602 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-599 0 obj
-<< /Filter /FlateDecode /Length 10103 >>
-stream
-x]M$WQ:t:MFNۣvXݼ>͆׻6'_0I
-;쑡/Ft_br?SH&YɤJBR KHՐ;RJV:p!3 dZ-f.a%AHS&".@Dk8vbJ
-Ѓ]K"h)cVplǘ،9
-M%3)ci1k(ECfZS]#QcW"-*.6ڙAAMXKgRSSI. ?]:) ̀1,Nf$8T\lnA:Τ ~0i;c ̓V CMCU!)*$CIA
-oڱv4q >-B$u/
-lvWY5N?`_<IsNȪ>GWU_!uQf6{g>Mov! [[Fe{ԫ=d5̈ܕuj*f}QG^s1U[o8MM(B[ͿV+vo|ttʷb
-\gmC<lN1fPĵyGRPW{G5ռWU,ng;ktݰϛ߼)P&K9|7{>:-O>&+ٲ];H"o'~SS*J;|Z47;<xWV9ˌx-._-8 ͽv{ѹ*v5WY],IR7K#]/x<m"L9{ Z.gK'b9d '9O$m!fKSqY#32S= P2a!
-,D\T`!?Q|R@aDKۄx8sKLzuGOzt8GەOrQi|Ai4-
-$znTrSɑPuGG58Ujnu&<?R9hZ#;j5'"<E q7'D/$
-HxA -PWmx&h\MsYy۷"9f}Īb29"%GG hh(0/g
-[RpE"C?2/B"ƞK;Q2L6Ԅ
-3x@ܨT9A~ P2
-EED 'w 3viP7 he92a"A{3yk1RsSa; |$I6j7E)I P`s I=Ff.c;bFę<" Phe) A K>$ۄQ&$ʔ' 009aQ{{cs;bI>}bmPo-%*(&+R"@k3y2r!yq$> }H6jcI)M d`
-|4IHe8.'Ɵ/hcY+|^^~S"@v5ulGj| stz5y׋uO)/o~IRw-.{{Y=K~)kqyXy -q2`7˽ @m0P~P%R%*dgH\ۧ
- <p1U6iN ב(#6w(Ra'. ]C5+CuӒ}
-WAXcgֿT¯a맙(.A>={,8Eܽn$[SZG>5KN穕@ =<,7|yDʠ FS%,:9nChA@0R4J=k뽯_u;9&<L|R
-{
-[W>aХZGh
-zcΝ]A>is,{r<bKZ9/biѝ, zRYԧx;#/mqlI8gX6cw;
-3{-kRJb7a\Lbcmy_[oٻ[c.l R.]{gAgSvam |ok_`5_Ieļݍ{Uz(_/Cn(+uKUpN'*D}K
-.'*DohK}i.>elyܸu>SڀvքWv>sC9ݾKmӮKO89z'7ɮ4DxhO j-1 7QI&mEH.TK;4_ۥXsX+,zbbvx戈\o.ޥ\-bŹQEA@E(Rq1w;
-2KչXtj VMDElJkP΁Z ^MgB%,lu쓫TK 2skWPa!zZs,b1T5-]W1JCA9`(ְwNWXŮxTQP9a!;JLݜ֨ߡ]DEd9&b)WwUWXӮxTQP9iY;-D:~v@#HM@8:fc,oWַkRb;RUů&UE8HF&z]u(* 9}+e/ lF&TUP(k'r=J=;.EayB>LCBݑlnyKb
-$cdbJq.p`[u0c0b4z4z4z4z4z4z4z4z4"@}Ayx[-bx@Q9iҖU5N+d
-5C
-5C-:_uu$9?H2ɩ2RIx2!fCR4.T %
- ۵44dECG[RAEr4>T ܄{%
-$V"׺<L4(bD*PԚȋj
-YH|( ,B>̫*%C7Ud3r@E; heēE`0ќRA,"C{;ӛ ޫK8o'}¨^;&UT0A4LUU8bq{~G1"[si$
-Qmϥ  nO ;TWheJJT{ITU#w!?vLf
-pc$R
- 5@D̀?v<
-&5
-G,po:Bcw
-]^4k
-l2ОJ!1$'*
-&v|mZUA}{Ȼ bw.stK|`82_ЅV`.unw ^`Jd5uҜv{n튜H' .8[RAEZ.y?}<}~@-SA&c?Cy]qz<ޗɔ\#
- (tɿ%\Yk] nj-_u[ #ۿ|DOҷ:vS5Ef~=
-{/vjU>ěX}3wP[mcX\1vjDXN:/
-VcQ
+607 0 obj
+<< /Filter /FlateDecode /Length 10102 >>
+stream
+x]M$WQ:t:MFNۣvXݼ>͆׻6'_0I
+bXW0b\.ŅutL+Fˎr3f^_e]NM\2́45tTx<ɇ8O|4 Kݪ%CN)~E.IE۵%GLYSsNe.;{SCv1>Ҹ,{d(&]v ez2iг-$D:R5$頼D.\H%FK#CnIkdzҔ <ź } @J^]7,@5FFL3X%q;!> q!4M y$nzE42(ڄr~Xl3(ۓ>U-hEc ;0#ED#3(u pgEӖ 90/r' 9!iYa;Ÿ @") (d8JX7K3Ee}c2A%E9|Pj
+te}lFG($JqM9exfd#0yrԪ`m<U֧< "{#%L0}KͥLl
+L<13E(P)A-v&*al)Bį́b JAj N 쓛P<L) vgBYSj&-[ODi+u_B$mH$EMdڸݽlS"aJODtʢ-*
+.6KU\Xt_O Rkt2Ih~ F1 j5Ai:Ef48U\ln3FU肴%ifHZ@8Ę-1&66dN·tb LXlZJQƐh!a
+ÞӁ?ߎ==ɗw+p~
++TN'l޽O~oAXyynGsc[Ѳz8h;(DRү@fweU^Z?54zstQ2_oݎhmW~cHY!ȾhGUeTmNsL]Ì]YGb|1GS6~][>"d1u;.oe)١mWH>L|+ڠU{&>D znE\x~y+y5wt_S{(]իv{cy=LιvK7) K8" eĝw3zc2m-ߵS}p!v28E=ç%IzO~Өnswm3x8'RRNR./;`ib]}u)UB!-u+;}Ǯ|Zx1&„ٰ"z־~R)+O~)ޏ;1쾰4Ia־
+15mǖ}*1zZ29
+EYp5A޶gҎ9E\͑}+j6G*&#>(RrT*pԜVȎCr}"j״:k*\%suG[*jXP%+^$2T ((k.b카c!e(dcKMLy!i0HhDʍJ
+1.cs~>|QМ пwPM{xW%'ڿ*2_[maV
+[|
+k:ܽ|.ϚSa?n[ _%}MAe,ưu%ߧ"ִOGסS3t:x'`y jYƱҮF)FTv
+v%o7
+MU3W'}:>GhzQEK_~ -r|^6
+.D\T`>Q%D3]]sriCo;ŧm=ߖV1'vBCӚʶ9'v6x=yڵzIG3?G/:Ցc %5S&*ڤ
+傊~ u@kkEbkUE[=@T0o:1\ ŻE,9W<(\+.洠\ *
+ 6û琈\~޵\,5֠TK\/2Z.J^`άǢlr1x2s5BT1-6CQ[9`(V!c);kX.@T)h}Mi9{J90TkL!P}rRu_bZ\gV} 1 65Y8<oXk$]aP5@*Պs1et(_P#Ps;31' u""v.j*
+j5'"dGi"u;K(,=D  v.j*
+j5"kѣ:|`]PڮUyGl*w@
+!X,q\դʰ}٤]EU$g:c%ד^5YÈD*jeDVGwU|QES`==O@ЈiHUy>;̀t1MtOaILDw " _L6@<Lw nfs#CTTTTTTTTT_3:H9~EL(2j1"QڲjƩz]  }u̔'JXe-7rPJw5_G$dD| m` $gK͒hL7f%[-8T
+F)dq;P#񩢀Ps; `Q"*x.mpHBD%fGr" SQeFD, \hhWk;ܜ`
+a d+[UokD P#R"T1$mR k960$qY|Ӫ]{]PZ%@HZyP@cRn@_\y4>s@L_i_Y[>`U1҆M(3*U0bM!ہOۡզEhGCy5v|QuHFlr^hx' ls=x &S5EbbTd(boyz31r{s)? OUkѤʔ#
+&5@
+G,p(Bd~.U
+ H8R!Rc"C!21<
+إm7x[i̳W7&n09_m9N]`qd/c$?\~y6ZMM~N>xxc/S_'Su2%ȭo)JF1]/{xnK}V<90/=~__|]iTMuwO1Bދm(c?&֮"rcot6֬z WuݤV˴3:noIO;Js{pwY1^qV~yp{3L(yS0344lv5Hn[ی?6şn&Z.kaI\aɁ+Pc<[zdWlq&dykZ.UVҳwdȿ5ueJ[cD]4]{˔ix=z=滶uCcm_7]gg4 vnS7+mdw#de=wrA'sFl#Y@}L{LlܽArh=k9.oPB+X{OW ķ{93Ւν Qr}IX:zk; oiu[*!W[&S DG\
endstream
endobj
-598 0 obj
-<< /Type /Page /Contents 599 0 R /Resources 597 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 601 0 R >>
+606 0 obj
+<< /Type /Page /Contents 607 0 R /Resources 605 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R /Annots 609 0 R >>
endobj
-601 0 obj
-[ 596 0 R ]
+609 0 obj
+[ 604 0 R ]
endobj
-596 0 obj
+604 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.697 90.241 218.154 101.698 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-600 0 obj
-<< /D [ 598 0 R /XYZ 78.37 808.885 null ] >>
+608 0 obj
+<< /D [ 606 0 R /XYZ 78.37 808.885 null ] >>
endobj
-137 0 obj
-<< /D [ 598 0 R /XYZ 79.37 276.233 null ] >>
+141 0 obj
+<< /D [ 606 0 R /XYZ 79.37 276.233 null ] >>
endobj
-597 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F69 398 0 R /F23 375 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+605 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F69 402 0 R /F19 379 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-604 0 obj
-<< /Filter /FlateDecode /Length 8678 >>
-stream
-x]˒嶑+(DOtԎ&<~i"|d@^խ <@$@\ 7T.uɥpXp2{u]IO??gx[2&[??vn.%}jmؗ309jØcr}^3]..10yt^R'Oip^[|+<1ԜC</J.C "[ KqiU'}gc}iû »~i]C:tw@ֻ)i\њFqM\N|?+ڤ%H#}|xr1o=_^ZOq/?8̦}=hm >g=3G3?\Cf9-[GNp;)DVlڏ}awG[8]q tM:ˆ7ڵ|^svbC9 V0bW ,lۭsHaa OX8#ZXvzZ'Pi(]Ó} \;_>-ޑ'&'Q:];bOV;a/L܇'KtYF+uf|sq_ڇNc7H-\vS;H,.ޞr>OwOAR,)}>)S*U;LS~PuIήˏ?} eEW(|oHYjTN\q>]K #q<Hcx'^dj&o-K
-4|(6=?ذc'#~
-ɶ:qq|! :N6:'\
-G`XxnȠT
-@3m3Yan\aH4UdU8MLqkGBn3S
-P #kGUƔ&O#K`MiKMBXcҮHG!6x;?"N[ LLNKIpDO\,[KYS&E[@'; K(0BD}=4 ][OܘN` #\ M
-'݁ʏ@%blR9v0`J&UTjv.r L6 7b8N0sIP;vnӣ("RJJx,VȢI1NX#kR~ &E[ E@ ''~ Am5D8p <v0Mx|m+#59/= L!6 7be8AKIP;vn("d9k±>K Bfg|{8֜,2
-%сNۀ%na!YOfkG&(N0Մ7,} LK6 ;be<QKIP;vnӣ("tŐCaF0#9~ɹ\r p d.`ڤapőPH,Q pkр
-+`iDLK6 7be4!KOum(RKJpTv`eLLLL9l8N@S71AKa!2ckGUx0N7`.L~1Y 6)n*h(@V57;
-EK((ϡr89B,VW򴚧kX {XHYcen(`8@Fn8;1p΍FX0B'c+1XS L+t V{XCcT;l<NPs=82 K(0B֎LP%`jVO9|^c)#V#cMx;="WvHh,T2@y1vDX}W+VRmRܰUp8P~G$ QHSJ)LEo
-lm'X+;+ }HR8enp$cv57v0t oGQDsaoTS6oGpM
-'فNOD۠%rz6
-' VzY2r?0x&SÓ\`bQJ(5)<&Ǥvt *=#U8?^v['Zh}tMTe!2QͅU" E5?a(8l(c%K ]WX *
-UǼ#)d;挠Gʽ(2iHk#cU:#aM軏We>#9( $&u+툺GnXyGCh 1DU+fHIH~C_lBKoM8ao}h)qlRD:GD]NJlLMGH31;PяmU k:,krvc >zWKwE)]"l
-L4[tmR/
-'݁NP%͗eИ%C]L5qj`B~=Mj[un݁NP D5
-v%pJ8w}`1IR-9SMJVhq8qq~6%ŗ¢hsFAnկP[fC~KеIV_ȭ5;phD@Q.8Wɖtl%Rʈ')RIa- /vxbmnױI*&'&nw|qڱ&$kR`ll$Jx`m%Ǥ4]"Nfʢ!PZ֛đH TbFP(CJ*eq@ EMe ]GqBpUvQ'; nK&Fg˺Yn1CѲɧn͸jpaV)٠R&E[@'( Cm=
-/Vb#R8,K̒&hARh[IM
-ÉT$MÕjI&C"rl%bDgtf_ 8, xm R&%bpőaH ^GQDJn^ӧg)U30cX^~ֱIV45;iBG9EɺrJU1˸)L &AXC
-ALJVgq8Qqq܋G!6xI("bki+PPs]+}΍:(nȨk-
-l>[IE0bńqh55=lRDR赴3Ѕ; ۞8 PI֓REq=-P2,,DaqZ&59a! so~KQ#l?'fWr2cB`t563y:+w*Fi5ҳR860jcОƧȝ΂˃C՛;j&f;rEɻi#u)+:_>NTRÕ$ws57]b:!T}@,t\rԧYUn+#q5vUK>4񱷷nA>ՇZ;[yތk[#w礶]etzXr
-7qKThY>H>6 Yx}ITk{\a 񩭕i-|sd`
-<J=ܼF͆ło^a92Αwo<(v諨L:țv> 1D3`
-oYg7Pˆ(&zݭm"]uiG;y8wOk&kpӾuY?&ǽ
-а{j΀Iy)swFG8sdC2z+Sq
-
-֒G e 3ߐG2wmd18_a{%bÞ
-+hbW^yq~X%?ӹ%;VJ}~/79ycnppݘMiկ+j7>&pb#b-mpR^771_u WǽYJk );{+eӋj
-,#+zUmv({$dg;d5{p}W2Lo
+612 0 obj
+<< /Filter /FlateDecode /Length 8674 >>
+stream
+x]˒ݸ+R^cBUϪýx4^y>2  y/UI]TYDC Y.7?7ӥ.5.?'s\/9%ˏ/g78gL~:٘
+Qۢc}w}voW]{ǹzx{ #v-'ÜP17K1vRX`X?S(y/֧޸ z.C
+k{.8OwocNN6{|4S'NZzS 
+]:D,#:L3>9͸ OCvgO;7ٝr`oO9N )Ŕ>p)K)?*Ǻ$gWo~H`X
+7{yEjR<ŧr @IO/-PcO2#%&1{wx铩 !.f,)Coxa ƞO?៽G* .;ο#t>C&p;A1-ї'?%Uo?yWi}C<
+'݁NP;vnQ`+zh$4P#b1 FGK7l0N s71J($8S٤rl`L6,Ԓ \^-;KYW3mn*p8`v57v0$oGQDXE/cر0G֔M
+&сNN`%jpT|[yh`2;WFjr^d{B2^/mnp$v5;v0$ogGQDrքc+i}A0PtQ2\q91Y9d0K s782 K($B峞֎LP .%` nRYBE0mvx$v5=v0$oGQD! h.%`
+Grs$]IVA3; #h3XFA6d;_ǵF=VR+p9+>A0mnh$Cv57 $m'GcQ4b!˦Jo/.& 6)r*p8fn8=cm(BseBM֎L9X}a]nH]bF0mRܰUP4̭jn$=vmQP Cpl%rX$i5O*HS."ܰQp,̍pvڱc&D`NVBc,`V>+Ǩ6)v*x8vz8AqdnQ`+Fo2f]K
+0 rX$S&GG1jiW# jCvz4E졑Xe .ctۉʱ8&Wڤapď0H*./R N)TNVQw0Wp$܈H8,jn$AapN91c+N*<9 lގ~)A;l8N@S91AKlNx`e,4a+L'u ĢQkR(yMI97hTzFp0磷BOP{xETe!2QͅU" E5?a(8l(c%K ]WX *
+UǼ#)d;挠Gʽ(2iHk#cU:#aMWe>#9( $&u+툺GnXyGCh 1DU+PC+>ߑ؄筿ߚ4qcKIıiHu9#d+V397-&"?@E?%BT7x `+GvɭY5/]-gUF0w-\bͺ/uK?5RJ;:ң=߅E9
+1mRU+z8spH($ QP+᭄Vh%AKOBnq͙|ulR/DÉ_ t -)E7
+Be%8p]~2_2vxMjZEnفNOD۠%rvJc+ɐ2TF?I2L
+kEMxYKXksuMJVQ5q85qԎ7%Yge#!TVh/f>&Rq2[ W | &@m3
+/@VR!,b0%,j*K4ܷ@:ؤDMl;8Aap^5)08[Ͳm%<pM>
+"NUr>m%<ư(L.
+'فNOu:ڄ(JVgEY_L`b0 j W j/eRj/>É^82 Kr/Fa[ӼO[ 膚삝p_kX\tn֑EqCF-]k0790ùiǎ@m3
+Ҽtc+TeŒ+:r5Bet &W:2)1[EDr8NP%9s]GО3r<LO=2*BQN-X D$a5kU{w$z\ΚޔŹ Hf@.hMU@
+27̨iM/8Lu&~;Btd#8aVa]zbVq%w+C>M F[lJ;cR9z^kTv]#=+c6o|,<8T,vi"mF#,W鞶=RRBc%YJ*5\I"\q7Wp% xIՇKXB)G}Uu`!JB0Wcj\}{{X}E(1>u?z7
+X}NjUKW 7][~B_3n
+-G>
+_`xڗ{/7JyMsya4m͹u2؛ܦ.혲:QԯNiޢ0GPwx8OVx6]-\}a}IU Sk37 ďf`m{p{^Kl^,VaF,yÏbɁoWl`J0cy &J0LuFpsl{nj&P|7pϱs`~aw;[)m+pG]voT0)/eNtgSrn]lSF/pe>NA!Zh=<a&V., lDlSqM ݫ3/g3`:dGCy:'~sw1XC.>S`5}CZۗ7.Q _ `q] Zj3|ۋ]&T0ۺ<.pc긷1q]icMp_ #eg{xzQMa#h*6J=OγS[2SC GY>w+&WIEil9M@wLޯ
8ZjTĢ `PZĭ.&D
W"l1p(-j6(/RH3BZU+r#C
P8c+ū6$YdJ6(-%Ҍ`
Z,B JK(u4#$:3T_0%y
NߨeW{=95EAFA(8Ai1A㖚xd(lʆ2R[
-M A #0 \pNFyK-_}R7W:>ܨfY3lV^-άNS{$:cWbծ$R[ze+@N{HgJu cq`
-m
-pOGWzշ.Ձ~tuWt{R^ab|zU l*7Z4YV9~ -F0D\?RmE' AgiWO\H{% f(jm~~w
-D6kvd" i-b&&
-I=@i"8'9Ќ3~vզx`#Jku`<ƒb)Śe@&ɞBjm n-qjG3^PH%obN B9I57z%i"\MP$AI dP^FK !!
--BZ4y׺-bPS!l=E@%n-s 4`#$ydX0z`1C* `W^rUH,L8{=%Z:ЀU`v!Ҙl>~i&SL% -6(X
-K(w 5!$.
+M A #0 \pNFyK-_}R7W:>ܨfY3lVN-άNS{$:cWbծ$R[ze+@N{HgJu cq`
+m
+d{ [DpNys fMF<ŕ&sMy %[SH5Y3L=@%Z:
+Nb20uДڃ谴2x*u)ށ =M۾Bwkomq٬9濐gy+;"~so F@3"%n91uB4@?:E\ܖSg7˖
+Y)+< #Eve#;6kr~gvõf.,c]A̟@N~#!t2|d~!ypꊽr:WʹM n :;D<(f:͉-0ޞEŎދ}x$yڥ6
endstream
endobj
-603 0 obj
-<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+611 0 obj
+<< /Type /Page /Contents 612 0 R /Resources 610 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 550 0 R >>
endobj
-605 0 obj
-<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
+613 0 obj
+<< /D [ 611 0 R /XYZ 78.37 808.885 null ] >>
endobj
-141 0 obj
-<< /D [ 603 0 R /XYZ 79.37 460.075 null ] >>
+145 0 obj
+<< /D [ 611 0 R /XYZ 79.37 460.075 null ] >>
endobj
-602 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F15 377 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F58 382 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+610 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F15 381 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-609 0 obj
+617 0 obj
<< /Filter /FlateDecode /Length 22480 >>
stream
xݽO$%xO;O
R)ѭBl5O׌=GDFJF]/I:<>ߟ? 㼝5[jQ_~##|Ǒq|οП?_]xae2ğ+7aBky1:P9;sɓs+/8IӗTˏ%eʑaӳXNrHuD-^)z=I~ #sߏ2kYg:v/:v_BU_U<)o~k0tH?ڎFMI+._*(+*:>RɹzN.)yu;PhjT+X^FkԆ?Z?clL񷏭R;p|yo{qKga\u
-9jwo5*)ȭDx^Gծj\ڸJJa_3/9~ꚋsgQk{*^nU,[r=z}ߎ+[;\6hs\??_7o7˲Uo9}|Iʳo~5z
-qǝX⭷~|}OT3$wOٺmLY*c-)pPn9o"w5;mu)ӊzzuȷ=uF,K~|XNW{|؜g=8ۑgBOǣ!O;C<fKomjyo-y*#ܵ=[j3Dc|xޝ@G)ƃOwˬTPy<ikH(zgnOCV{>IxK6!!Q[G!ގr>9nGOCh~ y.o ݠy.帅3= F=!
-uW3s]RG-x Zt =ڪy)̄3R} ~J..pKq;lm6ӏzy;sN jՑ7N:uި:1[Kyk ֣Sub\^u2Т/ߟwY^:[ձRsq/jSoU/,|-­lbNVe *'SS^;󝪜Jv~G++3qq L=>kA=5L_iżvg]r7IޫrjU7r&6wrSs֨wjrN:;j2w{8߬əR;S|&AM~\J
-q+ό\P‹5{wjvyPTߨwqBrq˗}븴e<YW7 ߷'ݽD/%P5]F'%Nx]N8UŽSo.ɷr> ynf_ַ=m&<탣˯ws]>8=YjyH5;5a/bީ9%?:=(alŪ|:{_N7ztǝ{{4f#oT^Qý޴L'|;JvPgZ4ZvlrޑMHW;Z}@;ӛB|&K5;!wjry}&s7`̽z9rY3l8ߩTȋ3zF
+9N 5; f fԔVN<ak~ɣojnZtm\ww_0/ߙ ~u|wwճ(Gmڵu=yGNkec{/7{*eS{yF9_cVo\yuBw9M~׷eYԪ>K$\oٷ~n=GO~,[|t?{*l]Oo6]1uf ooqb(ݜ7Ol ;򶺔iE=|[hu#Q0|XNW{|؜g=8ۑgBOǣ!O;C<fKomjyo-y*#ܵ=[j3Dc|xFG*4ξ?az[/S}B=<>z!9= 9X<$i.ۄDmaz;<=< Q@8R-T秿Q.t織4$𞆤FK! D1mX
+=Z
+Q ^>zYPǗpQ_1R?>?, _?&ռTFj_J&ڙcLggD5sw( KBLwK#q;["_z@U1R gojVa\Aa]hvw,bulA^wZ+uUժ#oTHuꂽQubGna\h],/V}9՗ )׷*Dk>閎zFw
+1WQVߩ)Sf/yUNNUN%J;LF8Hv^UyA絠NN4ib^_YX.U$U}U9|k|*KU9s;U9BBߩ9QkT;59B5H߫əR;S|&AM~\J
+q+ό\P‹5{wjvyPTߨwqBrq˗}븴e<YW7 ߷'ݽD/%P5]F'%Nx]N8UŽSo.ɷr> ynf_ַ=m&<탣˯ws]>8=YjyH5;5a/bީ9%?:=(alŪ|:{_N7ztǝ{{4f#oT^Qý޴L'|;JvPgZ4ZvlrޑMHW;Z}@;ӛB|&K5;!wjry}&s7`̽z9rY3l8ߩTȋ3zF
+Ezټ^#=bK9G# z7F帶GG7@~@X%{5&wjr{5'ީ<)/ƟWeMF[-2`+C7nK:w?[k۝7<nu7qcensxRKPڻGKwjWNyx^4o-sgn EVd?'W/sgQ/`{]|oΡ~@c+s V;%Ł^@), |}8L<,7~3 4 xbo o#^ҁ~RJ+Sީ2fzN:mZu
+~[>_#*>%5UU_U!UՃQ|U z_U=
WUBG!UՃA~U(z_U=
-WUB𫪲Ub"?=/>DU텇=<r d 8M.~wJMu(e_~w@W]-7׵_=Y<ɾK7,V/ZtseEqk?|\ɽ2qwޟz#YBu {hj)ɰuS-.k>(eƲ4eA,]0)}%BGTӥZ%4G;Oq)Pi CYJ t */*Pe~Ԩ| /aј`
-04VsuKQ^Y( ]!5'E!&7-?GXe0F/E{4IT1@xѭF$4w <UAj@X;yMf 5([_ ]!IPP|^Fi.tʋp5
-4%]RZB{gz =7J+MQV3PbBWohX]TŔnV䯞W KuݽJ 0(SJp@Kfi.t ʋv5 d+~cTtF knBX*G b^B{lU.4VPp1
-E%!={4`⽌^hS^"T#U
-괆>;%rq
-vG,{K~2ގRl@ݻM1+MQ=BT6*66^r*PR<rHP & T1@xѽȏDw?/gK1#Uo)f \bͦLl
-
-mNe'P2"F`k=5@0 EJz`9\9k}<-ңov\H uM}阁@ij40G#{Tw}9|oTlѸ/zЏcH,F
-f@fܕ=l
-Y&+%๤ұ"!o/Ă.%XpYK"P7dqMM:d A qh|]I;>\dgZ'+uk,BrKG pU`&md!e)Ճ}T|@Y謐m嗎0t `g%ml]Rګ ?h.
-u%$Z7t<bns@kn@:HQ^}-%p("qN[`YhDWF nX:K4pY˹Y$kPWIq3NW_nsFk pQ!)ńNO^`霃KS D:11P[<ݎ;~`(u%)Q6KGԱ7QVGW`+ ]}duksg rH\ǒ]mfA:
-*7hjn(>28ܝf UJyQ~u'c}WH*<INAG>fީo<x?dJjwb)j"Z2&S&\3>
-ޚxwVXA֢i bsB*‹hE=w `m{!msxrDgӫd<CЎCzj}'rjt-kԵ"gVɴUR!(.b/X[H@[e\E*6P*ܐ <%HZt r;x6F-raC9d6U2mPl!=JxQ|hoC\o9m~JX?SO0Kzհ1xcC[HtrC,@}W
-]F.(+vZ3`Y.t9
-B@Ei^WTWsV-hsA]d_}C~5J=<E|;I_٠%, IgC:fZ@#f+g,WUJUmz.s/("bE{V)U4[GsB{9^GۃKmz/5Ϝv܃(`wjT
-n% i>q,xF\#Be#M`w Cbǩp^-1jcB0jUҫ1Co A&bkTF '`ִ,͐JcECiZ1«]mam0 m5Bi]mjecB0*Uҋ;=046
-A3}.t
-`P(q(o#LIԅ.Ar~j]ID;O;t)i˽,UmknIw}Zl.+$P*&,҂%QW@[:B…6u9h+}loCؙR= v(AC٢l./o^RmǮlV`+ ]]BYJcxJyohԋL`,~2cp6M499@R\+(56c17zr ^9B(HTƋl 2(Ԛ?$s]8HF1^\FJ' .\q$U$4h-
-b{C *u
-srPТٺ!WwzepH'#zQ gs<bhZa~%{MƹW
-j"6RQh G
-snK=ʧTRH)VA>ו= SC*CfJA *sQ*sKC  z~sC=qC=BQOQ݅8c4h- ' 5 [\т}W.T(E8h 5il;<|EkcfJsf|xXQ-3GPkgljEÜƃJRP`+ U=J+W@YR x[?иQ%
-;4b 2[\ -PDJFrB,
-9]Y (e*㌸+u
-S3 yޯ1+GXO~fu2 1>#4h-Nک*qת1f
-^)%/%cv^^`=2=Ihwbsg7jW'=L Hk-c{L%+hu.s@U.zu#9 E'2o^vN
-TƦS-A k7lJ]T⹅PtrC?2c-]ϕJBAR^Y@"nR錩>
-l(\yCl\m@`<Rvg{ IBkHr,W v&&Nvb:ԤG^Qg %^sAYrfwn~AcN ̼/=hΠYP{.<@ Hʝ @t^//(`J xj. J״u2 x0:4۱m4˕k=ҭcw<+W ًp&E]vx&vAUob:j
-wv㤜Wq] sP^4vJfr{81 (q.t"l qzCqwke4P0V\+W
-KHA0!t!ք5?cqR;)S: #>Cm!F.*%~ ϱ0{>gz 뉀[}XŪ" rIT|ך.FXN^ &D8a3ױР U z92G7Ƙ+ʹKW]9x.~r=% u,b q,%$-19Ӂ0NOzhO~ss]ISګjE?i)|ya`z"x~Ky %ܧԴRct$OH@ qŀ5{FL@%@rPTtUIg?|H|D4ıu%Bi`3a~#=w7[Ȋ@t5$F`UX2grZ"_~ R| <FK`:y8Q﵆=~#J`8[mJ9( 0d-*(KX4X\^W}RM?.y\yI_d@
-d>I-,-PP;0
-}3ӿ⥄Y]9y,p \ןg>2<'3I`8Jb5E_.b(r|ut/cjw[A8xu:VQw^!:gr
-ޅCWۑ|2Ro&j9& luJOP(v ? ExQ,˕+!j|oأbn[/:dUMhbi P vp`A
-z\BQfIٳ+
-PivY҈J|L08xu{*o!iDXVR5N0By+&Bu<;=(}#(zQ%Ew->"3P x!ֱ:E?j8Z(JA{4!PUEMQ'>fҞU?-We}F^*?xt>Q/t)&߆^>z>26 /'Lm/
-<$1,^g
-0JaPD]jW<]Q?#o|*wUܧ;Cϴn_T 2tҝU(`܅䕊BK~~<UW+
-[BXZ?*AR~-[%(/,򊃻9aQVGh@KmV/g]/*Vlk)U ^tiBC81zK.wUx\:0SJ0@KVi.t ʋvZe+܏1'(M؂ jݓ7bO} {B)EMҙx+d9BjƋl !5 ѥB{SM?=uݹjX)m|!d6N[%h*.z+jF!Uc,@=寔$6^$[st
-hk$M_zHؚ!(jrDKMdڴH1&!T>c<iS}O4`93Z.c jP^kR1`DGz~=D_UyCx)I1o4-BeH憁KmRetSWQsP/Aq-jݜw 0GQӣtZuh2׾%V1f/<cѥWVvr㑷o>BiDgl2{ U=F\%.ze ĸΎM$X7ggR$s8DHBFf~wf8g\JCQâIgf@εxtLJi!(Ret
-F,E %Bw|:ܐǰJT.s,I2σ2M
-"7'<RlX
-E[47Rʴ &:1]Bt܉Efn\_
-"'s>?!-]<㏙V\3J xphfe<l-T E?`h `<>?|Z
-wh>B7gDj>X2M#M1gH pw؞⢎7GL5
-U2"Q0^  Fk !6hB<ų'Ly#VҁX fbʫ2;WJ{tPճ3
-ifnIcQL.M̢¥ޗ#<AEeS]Cί ZH0G uc4 LBx2FneIƁEvQ,!y
-m0oNyf.rM$
-UY\f6kt7:#tl= Չ4{3RY.*Ղgo
-~c=߸SqQǿ_!+LRg#2^??ZϚ"_?*}gb*qY&+(4 w VUԵ֎WQ
-P wV&kYª~pPZ{Gg/nc6X^Rs޺:/'7]ՊVV̻(=k&Wۄg"yW*;|SEc|5΁kWw8ǡ)J'"w8̧to@>'Wa ~l͕~<0PnQx}V/r9kPtKyN '閎r|VF)+?%>^@m~Vy/[ڛg>1dp,bCOl(<w>L*ifa_' ] :,]OhJ~ޭ#2~=z ؗo?EF zI;$r?>ݵ&}vk]g^ɜz5^1Sp<y>3qkT-xߋor87y\Fj}v(_j7/ 3&'gm]8ixo߉Y>ߝsxٍBE[^v7墮&[2 ࿕o?2)w7ϵIJy0mӻ#EHc512lS!~7Pk=Z,6ۭAeTJ>@y-|Kt@L
-&SC*%i|OAԉ(ɿ<9FerPxpJ>M 6C5
-N.|k|5oshsosƵJ ;Q8wD{v숼ngtPwk7NhPZ3Hku y'C8n9hSk>TL9~Y!',(RDV"ق#'ӎlBt쓉k>Lpu){4=9|Y+dv%Ō
-J 9}^v/Xk֞~&x|ݛ7i
-y|+ cN (gI 'z/'ߏyVָ>˗o}-/y.<8qV>~ƼoC~~{>K'ZW!<ܝ '1v;LGCxm|#xiiHXkCխ>Bc契F QiZ&nh)KYIC,ީ7|xF?bF׏IIcǗ&][G:#v~r{W۟w٥B|Ox>9E޽E-*><P?'7+sGa4k5lB)k5 uix{1E嫾˸js{k?(YIW+&~E&~ ~km0_/ vMOM0^˾yA|シSsC3V^ߋ;l$kݵ[WW˹x_;ƇG ؽ.bsWgXnGnOx׉ׅ_ʍs<N2-u]nǿїpj?ƝSsyj/4PO^{K3V!^xCTCA6fZES>d ;+xgqAvk<2^=_cnCH핗+B8@TgLhW GK$BR7]}T:{;~=i&Jch݈īwĮRrX)X\̋'wyrz8#NO*A6e!<1BE E̍h[qOvLMX-L)nRߤ
--#U(KoQ*A6M{ZhRF\;d&æHcdB2APHlW[r_>/oVq)U?
-mR1\UEWHB3aE^ŘGQ!Dza+7^chq؛2TaX#^ܹkcyx2TO풦`!*ʍ0){3)JirXb>]y,4
-E%4~#_V[_r5>m<MͲuy'oKa]uuLd[LKIifH6e=~ULT8dxu-JrNѱ-HJufp#:P6^câL"Uܗ_xs~U+ŖQl{K*)4K|ptz{z-W gř!ۥ^Nn7R30+~tyc0pE6ԭ|B-$WaU"Az,LcGc Xo9bI.ۃ nqGvPMsS+Z0E!(^V[cMjr]EDkcڏrP+|tB누#
-@`h.U d5SЅ||Wr
-"UbPcukPMԵ}P:[|`@\9AИe?v1K]00.R\a4xV~wE]w
-ʕc:3Zi͐gO! M!)v]hinsӛVnElQ``
-IZEkᏱѭ».X$-]di6&(hwid:N3s2!#5ɠ]oqS@N"
-, EwC#QcL8r*yG|y+=涅RwQ6^C0q?l>g꒦Fud%ҪXz}x9bX>BvA)Ȕ]hzwՂr# Hϥ"S
-R`3wCEQ^O(J,Y wͣQƖy:91rs遜xO ?3*Cf fĚKN}P֤J$qA=? sԵ3(#enX3dG0zR+!ϹC'x/PfV4/Ϧ${MG%
-k|`К9rF:feByfnT͉.dM"4 4EmtJQmy6kS=pLyM+К 8<Iܱ4J-lcz/a Y L(is S-<ˆ1zMM@kJ#5,֞rC:u9'U3J7bVzʄ"VJs!-7F]Z ^2uLbК86;oMh;USysUo/lj
-] bt^aP1`׸$oIkw`;F
-˘ a@njS F8FfrcR5 )j)Qf"-j^ @js[`OU4tYjp<4Jl\=]*U@ӡlb01Eg瀩6{SǛH[ODКkȅ;:Bfj)9W/LXBddq(d]%H_^sV2['VQ'VXL(К}8"Ӹ49FŴq9tW`$aZe,]T]c(F%6^璪lh98S uDτ4OWh'1@`"n>q
-Sͯ>f]:Jq1TrKU]Z'QŀCP$x(9Z䭲7<Sy.gQ(Ir7M FKc@yy)x.1gnaJHgZ]wdjN%k茥gq*.jfR~}·9aKOb連Co55fT獦K]ZH ~!-/19+`!&FLXvh*v]^y7ۑ M;M٩Uq%RhA1(r= .Fw+OsFc>(>FEOva[xrMۣ<1U} 8St
-=3ZG@atb1#xV,!;
-<ƛ"_BXWZB!3PUctEs,A *mk&T
-@U1*j"oӈ}@BR:͚+.%L!FQtXuHv^F4k%Ru&l۪oQ
-5$!NU $TS9%'FBʘc( s( 3
-@Sc|W60M` x4*`;LRt$N"z IQStE,C!Fwl cndf4e>tQϲDp+\2Gi*J1
- M 45wnc dVҞ"Wwc6^a(/V( 6]Fp҄%.ma9sQ7ks|t:PГ?e4 |2؄ʷ'KSAnc~3x⭸kq8Aͧe\r
-!b(U 6Y&J*چ"*HݸwH,{
-]>4ciν`%}I?U7nQ<kE!!ӗ:]UED
+WUB𫪲Ub"?=/>DU텇=<r d 8M.~wJMu(e_~w@Wң$^&Muxcce?okҍ1K˺.ݸ\DjQ{Z/=br{ǯ,HcPEmjG2s]|T 8Jfr,;@hаKLJ_!:tVI -':Sn
+?rBk=9F'ARx-$yBƋr
+T'᤟/5j=Kc4&<;XhP .?L5:F*UPV8:i%1nʗU(
+- V]tߟjܭsPBM k$BU ^DI =Eahyy[8%`(+ݙe%Qn,[LO`UFϐSr$@Gp9VņPz,~F R)%8{4QUA@yѮf,pяxLYlk)6mt]%$,u*%``(+ݙe%(/,0_(Q5
+9|,iw/ZB[kֈS
+,ZwJHQl 4!~c,¨i)Z)NQorsݿ` L)MD]dWbBWHMf ftQȮ Ma+BK@V K(M"U ^tQ& vC/O`uPڣ(N^ӰEC ׿@EןE}T)עQ ]j"\M`Ib5?EWԨõ>PY bChϹR1`Sf怕̲D!TEЕVe#t
+gbnhFT,UEM>pjͲM׶<
+T=- U ^to6=#&.R̀H՛ap
+vG,{)>S):F+@قl6A Q‹ݦ~9xK4٩A[¦lG&,ө ᏇTwIFL%\ГH]KM=Ԡ՞𞸰)Ց 4Kdn{GS~Y
+m0d͘k3]<^O[AKP𶸰EzSЀF",ޢEnb7cZ%Pe}/8:Cv:<
+]/O og% O w͛?4mT/p&,4rP [b͡{NX<K(P CJ"zBS> N5{xOEBS>tI 6-2ZO 3h3 CQ^=={hN/xZ%vƛ@4*>8RgiǪ{:f_:f n, zp1 H)]Gt3c4cXqG:Q'%*@l bLGV(C,9 \
+nA%<N7k`q bz,PU@6
+@d8C8xywec5,Rul8P&"`
+6.l avMGV*#,; \n{ v|C&U@i @c((Nܵ_z
+BD
+bM.'wd-3\E煬9܍жC
+ORS(Yw*ޏݭwʇ8Ty$~9x5:6Ug8xdgjlFC؜CJ"ZiQ];X^Ah`\u)¦*4P(㐞8!t l]Kg#uHC6m8U2mTl!A!JKX l
+/#h@at^ }#\ JX>5Նi
+@Umt
+Ýs4r@:fB#ղ
+l&Yi>\Z|>,:ch~: V7f]vbl. BEQ^-ޏ Go{Gl>ew |
+g<7jq~J6ls0;8wOIݍ=@a3jq$q>xICګwȆpHӷr2Bǐq*-WKdbaؼaZje w{|CX7UC 5m
+]}riF qiU+
+]Cy.X|
+9# 2
+,,F.¥`I|/PpƦs]jxJvTOF2epGx( ۵|[DZ+.J~%B hP0^h@^<>&:j˅ 3teEN@(-
+JvL\}W
+"[}b0
+>I4\<ι?RѭW!6K'WܴE6>I E˵XPBǧJ%\y!(EnhH%7^zD_.: ^6:C;}3ϧ,ZVekq,*l%MTZBdlgR}&RJUueϼԐʐYR}\dl=
+&\R(7+jg<H(_Fu<AFu<G*fGwc' ełIGC W`+ U5Jy.N!1ZB dێ>/_؟Fܯ3+@Tlf;!ۨ%`pZ0'Ǵ.}BUR)e4.hjmTF:¨b3Wj/Cj} -k9Q\.%?Y)p>W+O 5=FyQF({;)lE]vYcʧiѼ^㈴pUF7-*@fJE@]}tWr
+"uJ8#J
+9^Yj0]8JԃvCyIrᕋu'n^r7pTR:~*4E:Z񁽶55IZE3Ut䎩+кv%(n];@
+FPOWؐ k9-a}>:s+@cw'h9.0Q6wRw#*'Y M2L>B!
+IZE<بiy ,VϙDբe.S)} 1ONPgjng i$\ Kl
+t\V*L"Z鑷3S e .ՃIi+IT1@x-a',;Jr }{_0VV Rqp4-8JVj@Ib3-Inp𕧅J(W,I>_S WڔKzgr{O)&흵w9:РYoit<s7ٺ(BCp
+9Z] \90P-^HHщ[ױ6=S=&a8GidPx R&xn<:%`t\aL|<XKs%Pj+Tj:cO!eΒ~6X|[ ,RS };MIzFfٺ@>J'؀
+u+? RtѫpEʖB+J5=$$Wސ=?:$9~ 2]cnBRdКyn>9,=H BS]/=(h5W-Cל|Pe@_yИ3K3h;5g*rrrg.Pd
+)R 5mL?C7 aA4vlA`m۸;bt
+ٹvIAx>΢_-+LC6Q!
+zrW;ځ((sS</h o1x΅boamC_wJfᄩsrm\;Ҡt(`܅O
+-{!}ChBb<%bSaOy̥YhTL
+ם.NF~۳p Fe
+cm"Z(uϵ!'8)gUxypdW+A!`Yb B7J &<]1B/6C\>iZ3%:ʄ
+: 0
+:p,Gig5p K3剖RL$]5azuAyϘ+
+}ky_s,̞Yqz" m/d2uH7\/)8_k{嵦8+0?7ȭ `u,4>pmFälpzQ 51& ~bEr+EW^ 88y`a\c C;/HF <IK
+$ (Yi>"B$G
+/5sjkw8 0!U-cm?@uއW^WEp0q|'?`ad&(w 5Ԇ9Bcx)aVjCN%z C7>٪<EvωL`NqRfM"K(._3]XZxV!^ݩ·UݤEHY-@PJJpTY e|ӲbOa«bY|r
+,{ `Avz:|v%뼁^H-6;s2>_A-
+Uf?,[?DX[ߪu^C8z0㳉t
+P"f)N0Jʆ^d &f]eO )Bq:@9xuu,NQ#ǽO?yl>JĬuRDP8 M5w.@Q;wԉOpgOnjY^>
+N)j[)BU P^Ç - 㛈V]+=RvH R)%8{4QEF!}<DEuψ]`oN~3( 6]Fitg%
+w0y,aDZ>Vx41Ja_KVi.t ʋv5 d+ncXPRU#KY U.4ZsJ@:}`"/x ğkn: 4!N) ” ҽU ]>VY
+#r ,ʨs
+v>YZ"[|BEj|@MíDt"Tӏxn?~]wVJ~M(SV.d Z0^Zŀ<F!(j"` P϶=x+%@`FL1p@6/V)BMMxD]j9cQ}Q%q=,/CUѩd+,NEEL! =FEş(h^7ښ:)Ixӗf93RFø%66$R~3z.5ant;8OTl̀-B`&GLXh2T Qxb/`.j}{pUб8^JnR@MP`-9aRlT1TCT,mPxKZ7gx?q-Q(r= oUK!Ϙctᕕw]xiśP820CUѩj+1p0^E1cS)!u6(&;ٙ3N(&0RfYD{0{0F$R"2iǰhҙЮs-%cZ3
+&Tj$KA]4_67d1dFf`!%`h"LM|,1PEe"'Q1 ]'XK:CTT \Bx2FoeKa5_&67d1d`!%`KM\,1PEes&a%0]UK:#'T \Bx2FEI!Hާ6/d1d|f` %`hKM\,1PEeS%a/ ^SO2#ď'LtR6UnŢEa(Lnrș蒤s/&\SC:d!:5R N@¢H煼k(BddE&r P{ %FThv&
+ܧ:I]Bd4Ep\6DcV*آiXLlw@GD[@B $
+
+5e?1*8 8\S0sS0|(|,!,lfIY]g
+Uea ǟ~"o%g?p }z=o-׏v~?_RNv]=]y/Oӗ
+Gѿ"!B""ԧ:3_+E\} 6@YX&d-(}K+Iƹ_RiYĘE/7.?ATAu@/Wm
+وL+9OE(׏
+@mٻJmV/`'B~1]8UumcFgx5
+uIC7/TFRy A5:!>n'2ό{?W~K7T̯ o gw.rHkD/u5ݒ
+NDqM1*6*|tSzeOTtM|y
+fq,ٕf0+=·6=c2vKGx߁ LZbIX{Euo_L~wНjx.Ϝ.);N,ށ"{>Lw>notκ3˃ViLOV~Un:e9]6n־vCq|k.lx*\6H:5|z'% ޟ|?YY|/_m˜ߔ<>| [~Ko8m[Ckuކc$ 8f֮:~h/ϝ~57< kyHrGQc4Ѩ<y-?ͅ+$?e58iśU/_oa_,8Z?16iۤkB}js9bIwX,Kwy]-SS ^./i߂c'qO|э=FCQaVf,4OjVþPigqSY_˺˪j/詖^9Wk1)54!xkWkכo5o7ood/La0 7.x;/9G>4/>fuǖy[p$`wAG`gA~r7>
+93Yi]Z@WBdr
+&4:uްܥ2y ӓJMd,Ϲf~PQE*zaQ+s#Vܓn%iejʴLxj
+ ? -%$3 [y1@ԭP#\
+= "]#oc F EzJm4PQnIٛIVO#%UJ̛dQ//.!_ elc^nk<ygrOcd'۞/Ze^uHJc4E)OB-bj$;;kV*&sNmAR3ѹаԅeѮr£w0Z)܎
+隣7$@Q lb78#;&-"A^_ /F˭p&B"5 e~Po9N>=CuJ‘yMx4]*zYsnQZB>g+9SBu*zV^(BwñR5- Or&Z6M(Uh@`
+>ȊY h̲d;$.DfiHXTp40h<+D; 1ֱ f6'GGƦU44w:\lMP։+7RY"Tv)0B0GR>zvo>u7ypq4F|F]`UF6u5V |dgjc.Q
+0]'cv:BAzn䱣HHhV# kgiTׅU??С@A>g3/ Ӯp@y;ȤJC/ {n c[FviddGqxesu2d.0FRr;;?x|<gV$/]x!l(;15%=F
+FWJcn?6^L,ȍtavQ&Vqe~ ˜X:0A>g3' -i'Fi&jV^x$Ѹ<xo?O1FȌj9jtPnD k[JBіy2Qs830"L^2Tp'1&[t^PN0F[ūR뀌
+4\YZJR8 H25#rGZsOPd0F4g@<^/
+but HXQ(|eBMP^QHlŸM_yc¨Ɖ,TacL<
+6 [1-𸻍ҰYxdGte 9S4-5
+[&+Vmx@p[3 JFB-лDl;a4Fz.RK*z\|BQbɚ]quJ7L.y̹鄔s~ аTdMĻ~bXmQ2K\N0$<br2Ѩ(]ХIIJ˳%{/;A.rKkwgQ6Fܕf~-Ț ǏaHV*Cfs A[;N^@y Xͬ h&4^M!H&5J>剉9&=9{1 5 s8t
+]A(P& Zly, %cAo;Cc?֔
+IZEsN<ftjm.dM'4 Ex Cna4 yKed7Š5;psvޝ'F,w\gFG=^h%66àbqIޒ֘qw0*A?1@À
+PP"J9c2Q) }d޽ONP5pER-qirirLHP#
+7'#w<ΛijSJ`
+cQ:S:{4A \2W 8|P|bö$嚶Gy
+c@q{5=Jg\g&h*.zcFYCpw)x27 1E*R')BfTX8U.^Mp~+cTDަt5W\-uKB`&FL뜑,L%E%+hK A <+WMٶUk%R_drNE[h%K]:Q#
+]>4iν`% ~I?U7nQ<kE!!ӗ:]UED
endstream
endobj
-608 0 obj
-<< /Type /Page /Contents 609 0 R /Resources 607 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+616 0 obj
+<< /Type /Page /Contents 617 0 R /Resources 615 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R >>
endobj
-610 0 obj
-<< /D [ 608 0 R /XYZ 78.37 808.885 null ] >>
+618 0 obj
+<< /D [ 616 0 R /XYZ 78.37 808.885 null ] >>
endobj
-145 0 obj
-<< /D [ 608 0 R /XYZ 79.37 400.5 null ] >>
+149 0 obj
+<< /D [ 616 0 R /XYZ 79.37 400.5 null ] >>
endobj
-607 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F50 370 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F51 376 0 R /F52 372 0 R /F69 398 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+615 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F54 374 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F17 380 0 R /F20 376 0 R /F69 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-616 0 obj
-<< /Filter /FlateDecode /Length 5489 >>
+625 0 obj
+<< /Filter /FlateDecode /Length 5486 >>
stream
x=M7w:]0{2`O,
H.'<
-0t ɷe4<!7Ws%$,} qptoB7aesx;;(ux0mm%E't"9`L'N
-иH8IF֛oĐ<|a{S+ GI?tS{cҭN* %voaBJ r5@@UE,$1٩[S$[b3ʃ` 8{Qt<B,NY7Rp%
-H)L͝'-٠<өp=4]# vK
-9{O+fyr'$LJLv2|χ 7ـ :~nYHf֗,@Y\"Gt`rK%#.yr܊"o]Xz*dzUs-~s͆aw}c^>g
+0t ɷe4<!7Ws%$,} qptoB7aesx;;(ux0mm%E't"9`LHAO*И| '# $qpj(V7߈!y !W0Ƥ[hUJ4K#"R"j%{ bYH"cSH
+$fNpnxXn:J$$^R>h51>2y;7OZAyS{hTG4 ZٗN%*v ڞ#_cm2H~ihÿ`:OS{C5eԚ,s{CR|i@(ˆ.zWݎìkz?GSܕB\Qc >s!^tim
+Dh^/6 J~Cc& @[Q4:X/e\aWFM13\Qƅ/{s$AH[)8'&2dI|pW6P?6YH%he6
+9{O+fyr'$LrtN&\]m=k
~
;(,`0¼ü~u>C89'\\H]}<13XҧFm*A!:ܗXʧJ:pn |FqwmOM}[>YzgZ]a] YjD '.Xyhmia(]cWAB[FBRNv Th A6gʔ¬8aq-@)l@0oIC|(i!LF="
c@B[R\AAh]d A6y2rհG!NL@PAdPV6H$1KVTf m
@@ -2215,684 +2263,720 @@ Hǜkp!K&3DX5Hn163'Hk-YU2#+4NMa*B CfT8a)^
ʭ
JG0vh%Df^ӁpM }F`k#T;y2v"2$HfrBJΌrB!$7Y(A^ET f]4MfȏXU* dg:M cLUehZrf,t u c -qĢ@cєh& X.DZ؂1~y2 oa`%G 4G28β֓ 2@
+
-aʏ`+ar1'hO2C%a!P՘1 F6.e$}1k`/Yxr=Vwg\Kډ[$}A6
-=қW\XW
-m2\)EFawY)8tXm3-İ_B⤍fE$?d٥"IWpeq5ZE$w<*"UnXm X\)yVo!
-&tƃ"T2ڹV=.jH '.yXCrK֐ZmO5>WCx5$ @֐\7@WC5$&:ι.kH(?/
-{(,(Ң^ fʨ陼Ľ=!1!1o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$o5$5$B+)_SC~N%T$JP.PQV뮝gq% A 'yX|2[@nM~9lwKi
-ێ{|MqkB5#XۆfJw73I~vw(^^,eÁtƽ G<=c:uc\ڿ9+.';ҕу9-8k'_4x/6!wa{IZ)i~VR'`.6\;IуE`$0iDze37:P8-MqV>TiC7NSk
-)7KEZq~Ef>Sa&4<>h
-AWX=O#]p_o ięYe +lgkv-j5i躺g[հQwushPZ|}カ ~GUo|5t[X,(q΢,4*Q*~u=l?h#^GGk9.TQXKjU:}UG :k.z#'EZHHENv=/0hДՃU"kk8;_[?ǎ9m
-]; ߣ~kGwҌ%{نл8݂اg,nVr>ݿ76V
-Uݟ`:jO>zV<FT#׀olnKgYTPCq\9,0h5/Gݚ[7Êx웎m`̴g|,6lWAskLٱg_ϰz0oR
-8ǷK뼜CFv^v:LsbJ5
+aʏ`+ar1'hO2C%a!P՘1 F6.e$}1k`/Yxr=Vwg\Kډ[$}A6
+%3V
+,"11F?nGE$0! 7%Q9Dιc<xPDjCW;׶ʳ\ VCrTԳs%kHwI_CW2ɹFjHﷆ3jH_D^9WCEy I]AQ~EPZ߫!Q}ՐאG5$5$歆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆_$@(x%kjHD J*jݵ,ĵV>(>!t>U|q$Ovp ٭q59q)Maq 5=zzMh8&t$]tجCf&oŋu݋l8NٸwߑgLTc _1g4yx^20zp9gmW#>Lx/VrZ:e3/J,ƝK^~')zF9H5WZl`zFRU
+).BjGב4{i\pj _w x;
+xRa @F.5MGBΖ&R}58K\ҽkHKЕLRz~҄.#=b ;&sètL+~V_RwhI#]
+YzJ<"Eh[>;륌tewѭqiw<J},eq\oSGW{NΘ?N
+\f_vZ~۞]OMC!=efxH+گ6w:ccܖǧp 2]A<h}+uitnu>X#  m83k⾌4a#ml͑ގ]Mf=]W7^L=^u+6n Jr`57v8/ꍯO{k9YŒ&Z;]ůgݚ zmīwx2Džu*
+ki_JGʷ](WgeWo䷒H [=(ҩN}<rc+ RztԻ
+]]Dy3?^~=`m<
+7+;ŷB2` !%Jsb.Sj
+O8Ƿ $"پe*$A‚7Tް{2JC<5,53XF#,w僧8aV3;9^u_ 1`43[Kcrac5Lv2M~f+DXf(K7+tʸ[zD[!nIF\jC=L+HG wӚNMorq̍|TP⪿p-/ JS dM2滓ZN۩VI/ ឆxf|ˁ.},;9nU,fQU IBjtRxtL[Oz<%"ў^ 8)*Tuڂz_>>X_tڢR#W_Ve-q۞e9 psS C q,dxuknnug +o:w|+1Rz]q39m\3gJq׉.qL#0~:/Ц])SlX5&̯
endstream
endobj
-615 0 obj
-<< /Type /Page /Contents 616 0 R /Resources 614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 619 0 R >>
+624 0 obj
+<< /Type /Page /Contents 625 0 R /Resources 623 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 627 0 R >>
endobj
-619 0 obj
-[ 606 0 R 611 0 R 612 0 R 613 0 R ]
+627 0 obj
+[ 614 0 R 620 0 R 621 0 R 622 0 R ]
endobj
-606 0 obj
+614 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 314.182 725.076 326.138 737.031 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-611 0 obj
+620 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.444 662.311 258.399 674.266 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-612 0 obj
+621 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.723 426.788 380.678 438.743 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-613 0 obj
+622 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.195 98.189 186.15 109.258 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-617 0 obj
-<< /D [ 615 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-149 0 obj
-<< /D [ 615 0 R /XYZ 79.37 771.024 null ] >>
+626 0 obj
+<< /D [ 624 0 R /XYZ 78.37 808.885 null ] >>
endobj
153 0 obj
-<< /D [ 615 0 R /XYZ 79.37 473.533 null ] >>
+<< /D [ 624 0 R /XYZ 79.37 771.024 null ] >>
endobj
-614 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F29 371 0 R /F20 378 0 R /F52 372 0 R /F58 382 0 R /F65 383 0 R /F23 375 0 R >> /ProcSet [ /PDF /Text ] >>
+157 0 obj
+<< /D [ 624 0 R /XYZ 79.37 473.533 null ] >>
endobj
-624 0 obj
-<< /Filter /FlateDecode /Length 7267 >>
-stream
-x=M%mh1ۀsZxo '
-Zϴ ԾJPZ巡vY!~d6oDRk$,t^fhQf @ez̴1"Q2˲2:eFoB#})˲j%jϞy>ئE iʨX2V׊ &I(&eT۪{պ
-Hَ}V2_.޼HDz Cfc CvfJBÄx$ORlhDˬ?A9,y5 F`WvCW#k%&]f*[Q.V)/OL}SS/^\xҧl^Uٕ9Nמ7N 7gr,h~bݡ׳U*r{Ev핖ɲd"x]#2՜!v&cڭy@&wZ즙moyU3b[J+ru)<ϫ5y^ |_Za#Ǣ>~3U^zZH*@GD]|}f>и}b_\UM~Je}YضGؑNs1B%umCD7#z6ECSҷi nݟZX"kw\@-i<P`JBPv(
-|Y =SW%~RU)d(Eb;*[o
-?-k&
- x`
-,G"MF,0ϟ*+>:~EqLĠYf6P}FäT†9ew]FzƦpW׹|Ĕ>!-pߵD<$Z~^F]]Fs\Oˌ1#{gb&zu $%ngJ<OVY#bc7z -;
-oAX^3h!I~r UԂ:n,ꂨu~H[!?!K2z\J)^HUi*9#_0[G$l-j 贁
-Tt h/[*3I[.oh\ZGݫ-O}׾hv]qW'}-p`#TTF;%F-xI-JXţ,LYL<7bie+ŗg)TjYzz}+أs{GslJIw/,G1cl 7r;9VJα vu
-;G&cƿx:} OdA|Ki{@GmzHv8ә9ҿ}cKz~׼wԊ/c@|>[sF\
-NaT |aĤ *9Q9G$:a|:AɦcZkT~N RoƗJVn <I o W{mŠU}?v+9\-&X^xb*4gA;&`fp߃v^Fauٯ= Q~ؤ(ZM\f}<sHpoJ}AVg'sp4> uG`bj᭎&
-1=-S>i!
-~R&9A_6ukЁ$C^ _~o?\.{v_ !6?+
->oGơixZ<Ɋw"LN'>E0o"~k~i<AJXH M{MlE%a}8T蓋H}nϾqg|}? }~ %] MEZ6
->oh5Ԋ}NFXN ۑkG9|Dx遝o:h+DZ+8ƓT5<6vuA=vORw@I;I2aySۘ3d*@Jfv?" fKu wz}'S=꧷Nm jask
-[YX:zR2,α:ñ!3Ӷzfsg6gM>^t Dl Rx,JgWrF5UصUaᅵ>@Yhˏ#vlxu]v,M+?xEc1Oe_NU23d/waUkGNRgb%텠O~f`y8:Wаi'*-r&_4ϼ#i:, {Iǵd7L[ q'c4Ȓ^8i*;Jj-V^}X)哰aá> <D5e
-Kls˺jK*eプtƞꚗKY˥7Zjea:oR \lm^Z ϕV:P!&
-#!zm <Hk%0yn#3.'i{6WVkZZ{9׃6[4)A8x'[b )k9aL伱/־{bSS$5)XLqoMNik{߱ŃK9=3D澬a~5ѨA+u 1VQmXY:7+GipN"5逍ߎ5aG@|L\0FDx42.F6+)ੲ-E#acP(N#5逍厎hA4I8aIUZt@ޤ07Tշ J.0ȣ Mo( 0^f{[ɍZYtN7ٛed}w,֤UA03:\[Fh`M;*j`gЖ ݠH-@:XP<a ѕu-Mq3LeC$ǬJX
-.F'Шq]F %sѕ6V{H(7lW9 x<@ѕ޲d [
-[;KL
-:BZX B3aM\F8:}AHY$IHo[)4'h :%a(%uJd19 +qbtr%p^5"*nkʀMzp8f ,(̇% O( Wc>A9r9 m"10}*4y7p-o&!< OzP<yrd1! #qBjTrYpvY<2ist Y$$+Ki&Д0|DIm\H;}AHʹ$IP/s%?π(֕E'NDzPkῆ{XPoky88r:J/;|g?EØ 9h>+HoFxݔ9i5EJL4AEv)en$=oO fB2ꔜY躮Km9b{__ZDGP\U>HE_ıם׳a L#$Ɓny#yے{+e)1iF>YlfJT uU@e!ЗC {k
-j>e<5XzS8dJ8԰ ew;:(CޱѩE;Jդj{=)'kR+WPM('k!WH C
-nW&na]ɭ4%0eyuϘKDrV -gKfKvcNУcd5Զ{ CU7[Kya>e'3Zoby"yo&
-/1;|-t<1SP] N^m 1NW;Wݝ{Z]#ͬu+^
-%|WΌUkS>fcyˬkۮDܨaQTi"X۝Ýt*Ռd~&焃֖&=梴*\B7w"r2 +p^r*h w $M[uPX v
-z]S
+623 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F58 386 0 R /F65 387 0 R /F19 379 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+632 0 obj
+<< /Filter /FlateDecode /Length 7272 >>
+stream
+x=M$n}|>t=}Ew<^N K~HI(!dz(")JE?.Q~~7i/qN9shN.ˏ_/?aZ ǫ6
+Z Zo ?tWRE}@HVEpKSn݌r)=V#
+(q(I2j X/"OfJ%,ѿiYiJ*oJ#}T%ɲh%jifO߰=!,sn¥+<+?oU`ʭ(L\p\PI"GMѽb]]Vk^/|"SO:(~HL$TP;7
+7Ϡj<Ga S,HqR[Q E&WkBM!⣵E+u(
+OfYT 7螏$9Y4f]gY4@v=黽!@өv12t=9Z'#E
+Z:#O-8cI(Y4WA 抔#Rg~NsZ$ݵ4fi3ʟ",KJԔƆ ϑIӞE@Dz xu|`jݍHNǽ.'`[<&)MHx4D/ y5/͊-FJ"M:dע\@?^L_ßF}KS-^xܧlѹ^<t9Fkז72V.vй;.XXG˾3e*^xR˲n/ |%&\vk./|f#`w*rk.ּ5@W 4Ӽmw<z";qFKe!iDb0kSQRԗo1km5 lzXǍqc2 Sǵ2SKIyO∨oaK%U䛐v>,s'
+LIuԲET
+B0
+Sȿ+&|># GN͵7ͱ H)T^Jny[ J@Bda5).R`79RJk&8j ~ {{,҈TG6vf-ժtBcl܌!=*4&/-5-.κרoێ_ZGݳ-O)}hkv^qf'}5p`#TZ{7J4=`w4k hDZGYVūz2E9ҙ
+}co\lQWϦ /RԠ18VW1{Q綎앐0ﮞ_$Y|-c0>އc|vpc"d{vg&>OGexh{G!<⦅m1}I>{w}zsh-y<fO6O_y:gS3Y`߂?iѽrڌհ8L*!nzBJAdʑ v.d>-^5G*L)RDj_;oJfA^!xZ_1o]sXL@1SMIP|*o
+Ԁb·WM*s9%:q 8Aگyze}'.QN
+1?I\I+;INR I;I
+$lT1>ƹ\ Hr[~FqrmhO`}/A{d5p{^7 Oz|چ
+惴q>/ neg$TL#e,wR@clB)I0|T:j*elV׀?Ώ(piSN
+{jE%<mZqM96fEy}93`Q#F;{U{ׂ'N_Ź7}=y+URFbd"TP=˧O`(2L 1-@FH
+*Zx#-JڡcRoK}r{VwU0ue P Ln}a?iSnhc=B^r$V?[q0|u6RHVҞ T /98SX1[cC)W}}M0Vnٔґ*y񎬦i[\FRFjU'^גC[1iglMU!Kh,ơl*ŪXyn+ݯ^<5~e
+Gu@Ե];S߳5#>%
+B<NwT㢶P5m>?>?8&n䷴(0@~] <=Ɖ/َqj0d%ޛI}C.ohs<c+22Z,}[yfɵ#KoUY3 "eR.3L߈cvQ<uufzUnXhVց+\G71;ƛ.]h[Ax <
+-lqK&7eF Z`j*ܹb
+qYP9'AqM$Jָic a
+j·AC6K[RJ,568R#CV tQI&N[6[K :N{9JI.Β61QRo%{Rr. s[Eb1csCk
+o !t.BsY'4AK[SZxj+md.$F#lEHmOGlgu6
+P7mPKk$yR#r m[a
+'fk ڜxmQbK`uG Y,lmLN]kaܳqI(WAuxH0JڸD 2
+
+ebhspJjUظowjt6P%\qNxH4LnMvCK4AHʣOc,!lmLH]ka*GF:MOtlm >;oma?,hdޣ6.$JL56x'Fg\$(Ds]Š?o(E'NS˒PkN?<{+o*I88r:
+nZ|ŀg?|
+äaLzt\ /ǠWvya
+ įMx^9uR;_TdƦ]Vv3*u$̯)O*gB<ꐹY.]ZU: b}_DPTrIEw糡!Ə # ʁ#y[+!kwu-^R3e1l"s4 s%=z5ϩ1齪ƌWrTE)#~ G^קJc'܏]WٍWwW:(dӝu gZƎ+~%wr;]Meiri)Kveq X?/Bp԰0 #vT.5Q+[.)OWNXgRl{HEҼ$/4/-'
+ՊfjDeRx6a:e|.!ZS5Rt3oiw%[j5嘷{>w7P#eȥ-!7?p{\Jӱ-땋gϹ
+2+QgPdba wbD"_PnRD64Sa9N;;%r[9Zu9qzRU'tUWj7t<n`-qHqp?#
endstream
endobj
-623 0 obj
-<< /Type /Page /Contents 624 0 R /Resources 622 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 627 0 R >>
+631 0 obj
+<< /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 635 0 R >>
endobj
-627 0 obj
-[ 620 0 R 621 0 R ]
+635 0 obj
+[ 628 0 R 629 0 R ]
endobj
-620 0 obj
+628 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 84.682 416.581 96.139 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots)>>
>>
endobj
-621 0 obj
+629 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.371 75.217 334.828 86.674 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-625 0 obj
-<< /D [ 623 0 R /XYZ 78.37 808.885 null ] >>
+633 0 obj
+<< /D [ 631 0 R /XYZ 78.37 808.885 null ] >>
endobj
-157 0 obj
-<< /D [ 623 0 R /XYZ 79.37 336.159 null ] >>
+161 0 obj
+<< /D [ 631 0 R /XYZ 79.37 336.159 null ] >>
endobj
-622 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F58 382 0 R /F67 385 0 R /F77 626 0 R /F57 381 0 R /F55 379 0 R /F29 371 0 R /F69 398 0 R /F21 419 0 R /F40 387 0 R /F59 389 0 R /F66 384 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
+630 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F58 386 0 R /F67 389 0 R /F77 634 0 R /F57 385 0 R /F55 383 0 R /F25 375 0 R /F69 402 0 R /F32 423 0 R /F48 391 0 R /F59 393 0 R /F66 388 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-636 0 obj
-<< /Filter /FlateDecode /Length 4962 >>
-stream
-x]I#9nׯб*&澌k^c_*\YvD?
-9{ۋ`V-5r5'Сwy R_BQV;?L]qk9k”˰n?a y\qǾYFDjXySz4:81Q7>/AVb84k?L}*`>C9Ă95\ Ċ؇8NzjO_&Z#~EZ;?<C̛ST:'DdJ} C։H`Fy5"R%[=[5Fm7ڍӒt^@]b2IJ<G`9gh'MA s"
-S)k ֹБ<̋ES2b[0=UQvޡ*rq*7
-e)a}P({.γ>; 9D](jjlt\~ >-'e {H)g3cs#OL+ggu*1G q%rc~
-ڟfœ2z/zMOi' ?=.>>+J#Ŋ:rO[ES#>Z>
-"~QJOqDž5u^/Zi|
-=A' >
-iME $iiTrbCh9DRKVOD U8tW[9\1࣎['J[ܰ0PAD"*"m(.ҼʭZbF_=ze
-9vw$Hc#W wH᯾u_/˃uxXV3^+\Zmh˷G/]%Q 5]2F!newk?O?׷8uFGg~vmN{* =Ơg!h?բeX4 eLLI45P(Ct܁~'yVQǃEY? C%l{qߗ_/x_.WKL,׊,K+]+s*uyc+NNjI O*֛x?l
-VYi4r>ٿ*_r)(MJᘿi GNؽm
-qH&;Ҧt>aFˁlVU"Z^FDO+qi
-KPӤyy&YbLSb抈+~L q}08{cN
-n4q)Ҕtp7Tp9S@4[SL ykezFnM{$M:dN ʮd ´Pj{shGKm l>sUmD)N^k1en|^ԏ8N-hzB+/ F1u5~P?0(x>~lBɮ@ ?M spxXk>a7~Gڳͱ&ӭN&J<5]V?*vvMx24K'`3<Ӣ) A=398ɩݞa]bwe'1gn>+ -n>cueí-nOk԰aʞyй ۴]%u@мS)s-5(ם
-DTҩҁSP;TFqTζNeS8fe8C5#b}yi. XY_J
-e~M{N_yo]_̻gL\9]GxVr^?R
-s
-g#f2d dNlvLN P3gjD~3!1+l翮eW,4UgOآ @^u G;>c?P?̙VX
-ӜDO$YQM"4NHP9%{9Q$5r
-P, D|@m "E !E搢scǓ`⃢S`:":zbb@3!}K X޼f"f&Ldшs
-MPu@#D=3ɾ~f}M$s -FFL4wAp*XRgH&H&I33/E
-VHn{c$fJk5\?nյ][{>-yyW5Q#2{]f.4/j++"ubjp{/Bn˹2ޢFc1ҏrTTpᰐ=\ǿ*`A{ngq^0SU2I |Kc<ںڭwTA']Aao$I4%~PqqҮA:EVku?%<Kmh𺉪q9NJǭnBGT}O|No;1k?a,φ&UfLjvm3RnXF}0d_?I.s͹}pN%yR|xp+.BtҗD}5=˾f#&~eEah m$0./Lϗm7
-{Z7cu{nu
-<`mQNWRq~qá3 \h a3Oxf߮77)"<A gP\ wWQ:5yjQT><fD+~-"مQ*l96ǬGÊt+B',sŻ=(Z3TׂRvef
+644 0 obj
+<< /Filter /FlateDecode /Length 4958 >>
+stream
+x]K[WhiWJlV,l\U^:LW?
+XUebP_4HVxac[ O
+җc"8t 1UPqi[s )nd) bN"Ar5' (Kn?68QF
+ctr"\tH*c
+α9 2wJTI^G O(UJE +i5Ach5MvM9|$⎍8s X!d=7ED4*#H) W@@~ʧA
+ `,gB`q`;$tC? +0N}y1,S)1 o̩r xi*I~}
+B]}ҡ׺, ݶ6|< w]Fk/&`y{-5V-g[%97Xڪ|3 X? س"BM~
+7)wvfc
+<
+Vɖ3_-n06'Z%,4Ӭha3ZyT%a+=Vi դm7x ۪ O5:/ +\agD`reh9GAKD>d;+,@e?8)bҼ}t0#KS/Nʞ ԫx?niú-$VSW퀍Oo`p"jMzٺ$Vt淴/E0u =0Qϱ<iIz<K4o+kyw+
+Lm̯{f$ nw}fƆBL$1 >bBf{eo7b_bP㣓kk 롊Z@`޻rsCi'VQ
+y̬beM`1 {v3hV.C@tj& dj&pO\-cO`&$嵐r׵ʘ[u-rЫn Rqq{~<'~
+X`HJ˜5o$PNS2eM\3(
+\ϯ'I3+h"kha44b "SܬD>D2D2Hrx*D`V:¬kgm0xvZxwVr8-}ut^C~]Qp)EzާzjnoϤ1މ^n@Zi3)Zɪ")uq박.mI_s&*_kGɏxvQgrмlDJm;"\\˹2ޢF}G9M6;\9,d9
+uPۙ|*TU*w3I |SkmoƇocꇲ,So}=FNwҙDn+] +,NH)S[kuaK)9i_XjCMTMqR=nuTww=Q{"x9ߘ؆d?ޛT9F2}*KRnF0d_?I.TG׹>8FYUCKh⢋*LG$2b5y-E~t|fJL~nVH\ӂ/lǼ)tpp{D)
+L85W~?;UO\{m0lvar
+k<hwXrEz}+~"],ޭ4Dպ'?2sTM3woTgVP1DE<ԙ+
endstream
endobj
-635 0 obj
-<< /Type /Page /Contents 636 0 R /Resources 634 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 639 0 R >>
+643 0 obj
+<< /Type /Page /Contents 644 0 R /Resources 642 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 647 0 R >>
endobj
-639 0 obj
-[ 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R ]
+647 0 obj
+[ 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R ]
endobj
-628 0 obj
+636 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.38 524.299 473.068 536.254 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-629 0 obj
+637 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.233 524.299 501.188 536.254 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-630 0 obj
+638 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.598 512.343 190.553 524.299 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-631 0 obj
+639 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.148 128.799 224.855 139.638 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-632 0 obj
+640 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.576 128.799 252.531 139.638 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-637 0 obj
-<< /D [ 635 0 R /XYZ 78.37 808.885 null ] >>
+645 0 obj
+<< /D [ 643 0 R /XYZ 78.37 808.885 null ] >>
endobj
-161 0 obj
-<< /D [ 635 0 R /XYZ 79.37 771.024 null ] >>
+165 0 obj
+<< /D [ 643 0 R /XYZ 79.37 771.024 null ] >>
endobj
-634 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F29 371 0 R /F20 378 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F23 375 0 R /F26 400 0 R /F40 387 0 R /F46 388 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+642 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F19 379 0 R /F22 404 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-645 0 obj
-<< /Filter /FlateDecode /Length 16844 >>
-stream
-x}ˎ,7^_EF9$ ԭ[Uak*
->QIeG)BEE?tZ_M=4m_&ž>V+p%^(^?Qgbj#ZÛS7"[jBE  Kg2/2x%wZ_}4r%!َHǬqwaսܭ5_}
-|F#f1ݓ6B :
-<8T~m8>n~wF? Ԑw8|-i ?o]57vae@V##]VYؔ~ꟗ[8aT* 5E.`WgeX+=DлWƩ\Rs{h_)>S[=ǽ^p%-i]c;1QGtzk qcʗF<Xy}|:valT̫o?ԩAxjfk|st*gjGVw-K N+ZO5^İ rtA۾ Y ڽTvxgp\S>Vuz8+ۮખ\g
-}a/B>XKjZ3%_*"eyMG<IK?׾*$KKΉ5zQIK V͕%9tz#@%a\Gev_/3uj!ƖH"B|}G!VR w4ln~1}Q+$k:PcV?@\W8 :"M,ٿ>Gw%3غD$ˮ:;upâ%reXJGVjκF
-oc^vgK2YK.O-=:L߭~(D[Itr.I;% p!5A;vB ]sȻƿE@Ch'?=vM^8i7]s'/3
-nՍ|un4S WY{I [)]v!ۃ>xF>eHz̽v29A)NɕsuL΃P>"ca8kQAs)5v'6>~i+|s157'kyXګ\IgMxV6A5 $
-߯OG3wpdAe.$\XiKm=_Zxs :Qy'IPSHj 'Mxsk"XB+؎= иPن']1DʦccI(~#%Ϩn)][MODOZdܣŢxlONuR
-}V=[_m$cJLGw]€ҟ?=}xy!C &ݟr
-_9</V"?EJNp6xh/^*6 ^7L
-4};gh~xs{
-O4f~-ֵ<sFOۄʟxlP336 4[[uyh097{HyܼWOq?X[,_٦)G=ݹ/ ѧ+'"6wQprֿZ?xoV2d:[o$]_$O<>m8B>(GS'9 Z~+d*BhG飙^oNH^uaN/ aA3
--?\CXfz5t;32_ _hljYOw !}Jo:R{0V oh=7ֿ]g}B>>ݥ)4~K߿ۓV^?_Y]73Y/Y3㗻ϥ/5'㝏Oڟ&z|:XRBtkݫu&8z{d&8z{dbO7b~JEËdR]B_h$ ͮ;os=|K7<aorodj=y\F7%v9X.lhMGqĢ\=RG| r+ ֖bV}>KQT@?Unq)Uy ;kǸ\S!R'(]H~+j~_1LVupFw
-rWyua +rZ1CaN|OѰ{ l58;}0HVqppFoBimkAgZ .ff񋫝.]QM*(7]K8*VkAEl0EWA9 cXP#w5?Լ5A.VETY2 \8q6縺RY03c3mv% q~='H]
-(px' FT`47+D6![;z@ɕKBfLBEB3!`YTA3604(Tk+ w3.J (Ъau(wU( w(WU44$}!'у<K[1]*
-dF\=.P/zUq(jh%.e s>pw#=C[}P/Z5H|OybK*bi|euf(t^(ﺺ:Hn#*v:1/=U$Ix*r]u;A=Lj9PSh;USJxo::yǸtu*ʀG + ALvBkܐ#GD/.S?/E C-S\ StS@yTkxB/֌
-t1
-4˝0w_ÆV]?P;.!u,@(=3\\ RgX
-WW~ZN
-R|M}} '\.(ãthg.kDE.ꃚZ % r!̘a\\~-zE!'. e*(3GcYu;U4RrR.9`
-+m<DC%'N|eNU>fDVR
-ys5FWDɑjU'4h%-VOH:s]<56aO;Ck͡1&^7We"*g@S^*ufjEOh:2ꉠD&(QۈuD*sNA
-Xrʎi4ythQwFZ]
-%Cup~aƃfY SmRQ;c< uw+
-I@
-Yx`(,ݙeŤlT3x2ﰳf,PҦiK0 `e.E
- 蛯cd8y3'ȼpftu'ZCi'xfSE ď/BJg}[eqM=R
-Π9 TjHw QV|~LwZ=+М7qg;UG
-~4b WwR`#1k:Χ[V$KF
-4#^?_Yb#!Tne"(f
-uqoi\M%BCK"%ߴ \hdz$ȒYlɡ`Iy]Mc
-I"%h6+@,TP3?u5C-NG ihDm>eH
-=:yC7j=þ3fKm,NQ&n82vaB`D݉IbpUüS4jWԣ@F$2Kޫq EDTuaF- <?Wp6:MR;FѻTXlqhZ-R!Qgg@Yg~A='4r!\c%X7ۊ  \MBl.++Iմ't0بq 9$ oHīl>Ә+sǚ;D'aQ0\-Xw6SR5l.+̛Ї pq( +v@WS%.OU,$$>69kNB`p~j}GŕBPV# _Vޱrg|f4㙱Jd|PL/0og8~
-&o*{ > AjIj 
-~ho,R` L<
-]*B(JL_zI w{qF[y0<W^\=Q>i*#[.m>\L_-UJP)ih?|0*1oLttf SBL4
-Zhg[^jbbG|`V*Qx7tcN(e}z;{<J<U7+]B=EWWRx ʵӗy ZDn3 sSej6G_tBcCo$9#-4F<;!S;Pobځg/sVѧ+m[ Uq @7]8 .
-1>8 ιPƫwk[j0;>f,23CFJAyCJCX-U0)vƷNǍ*t@/ljn/HWBߵP,p1P/Z.(<{oa#^R`r L yN zBNMGrx>cOkݝ@LaKzrDiۢHp
-6cq;s
-H$ǘlj׹EIJB?]Ċsfc#X4,J%=<SnCFr@yЏ8qGP=I͸gOU&`x>4f3#8>qat|8@ʕ]
-j8PC-ᄆXߠ2F [UHF>> -4~4Ց|Gm!)ƘR'rlP0W;UUx48R j8WJo61sL&v<^nSSvDl{>撓R`R t1w
-&TYaUI5Ç􌡔| o\I!fxH4)@hO:6g;$'R` LiT5="8816AϽ23@Ę7-#+b#Xp[ڇMbltIǠk'e,7)qJbӃ 0AL1Snj~*~Cj,x< cV)
-J_͑05J(&Pʊ癏R<ۅp>2s5OGP
-1u U( L<qW8w.?aAGlH<^8ڱJP|~2: 2xGE/BY$O!J(F'2ֺ f6ƽ PrW4D0U*ZUBsŠ# lGш1,5ͳK@*4E, t1;,;(-TI) m}s,X0k6KP,U, L<qAi*nbOP'G(g {7EZXRr肁R-siE)s 9u,8 wh\`t><]#r6 GP(R J<,I\jy /jkREzHEYW RKJ_@I\'BUXzVQ,>=㉱#߾,[es(((w@^ ^uTm -6FDlJ!:y\]:*;b m[:DK2rRoJE,<4$Vއ* Ckz8C5gy?(}K'FPO SPȣ0w'"!nӀQǒ\b mCwu\{pȣQwZ]
-C[)BJ)g+
-*󥌭PƢCܝ T;u[ETxpY, |D۰Laհ ͝BGk-wG4CaN|E cBRɇU˲Dț~aWYϪ+]f2y U>NY[(; (!(lwBgzϯ-ejI7@E3ZgvTE`4"ypt9 ʥNv_@EmzS,̗jh8i_,2&?I)Q]αld49SW*q YuK
-?iBXf)yV
-9|ݪa|z%#Rq繴p HYh98-W@b ܿ+@}0 )WxܣE^_WQ1Á54E0 ,<K7'dJ).[EksUK'T_ƭ!nj!l.
-.^jTezUn'C])twMQ4YF VvQDA. i؛ duM'Yz^M
-5Dؘ̄K
-G,L546L|_$'Вc/R
-X. 6fRQ)  ۉK۫$t.Hc]"fJ
-*eyIWӱz4 d2hKeoLv漯ojrxri஋ΫL捦4.3
-`e.E
-w&/s} ss{"\@_ :0+WVԥ̢ fɕ LH.|w\GbGoCțUb%:PvS:ADw8 jv m  [+obE
-tp20o'2 <@!b腡9jnnm>&;b7i 4ʝNQ}%s7XDn#MDV&BG/d^7Pm5u(P Ki/ZgfH=Ot3@y@]]?9*t1
-Re\@s{z/P s{FvJL\e6\}acPy&8&2
-pk5H&s/!oyӝBRV'< :9=3%6],z4 r厏:ƻ˻W>cB{*P?nv-89?E1gGy9 #s9mq{M}b>c2&=g?'Ezx< Sk{
-4WԊYDA ̈́9 }>+#8war2'M3~A}c2HI*c3OjaF#"33&j&BC2hrhw[Hm&Jy$/»XrGHqByOz1W8%
-rqrXf\FN&U7w`K3~.4δ1~#.`R{'CFBC4'>SR
-GiJ(<(n#BP&H)Pq{np$D!Qe7N=F>mBY_[(UC}(T&-
-DP-y_'V 1l\ y؄
-֣D8azhJy8Dl>/7񍿠g.m/)gUD>ȳC/porwEczO u5̱(v^:߇-R`DhF\9HHp8N(3sRPX~ .i0hSՂ[M6mi@T .H4Sc.OM %$:O~ -|k??_ s& w&v<=x˿~O_~Vÿ/_q~gN<pO _#x/g 27F.)Q>hȵy?rل@!4Iޏ얹r{]?TO`βFΝԫcwJ(x~7Y\sX&t(ަgqڮ[edWdEѲ,aQEnö+ZgEiV'4RKA$i;5i)py_g&ˢ@۝\unˁUߠ.SFM#|R<Z+1"8. w]ҝUyJ7;/>zn˅rsomtS- XI \aҽF޼[Үbµ:k$]Wg}=Zr<)bˬ7ᾷ6jICKR>^.RmDSf.î꘡dh0U޿S<2Jm(,2=- -7{Z>~4yCN>ޭZKz@5C{`6E >qZx-Ou{'Yb:}5}<=mE!]M5DaH#;S~4|¯QZs>0>Hw%A%0 7ɧ8?
+653 0 obj
+<< /Filter /FlateDecode /Length 16839 >>
+stream
+x}ˎ,7^_EF9$ ԭ[Uak*
+7{OzTwADQoPQWSp?M&@g*ϟ<!#\+OԙH孾딄4?ÍV%!ڄ*vC}ҙ? ovVE{ iIH# 1wGpxXu/w+dWߨ*>YkyB3G=6b{O5-_kZ}[Wd͍{kb&ȰHU6%!7X)-mBM1<UAA'fJmb0Q=q*ڗ{Vqx-\Ig~Zצ=}L|uԑoekB=X%:{ejk^導]ǩv|7: "(uj=^~Zٟߜz@`8ݫnQRwFS֣*u͟=!1݃Dւv)ջEgݩj9JǶ5e:h}߇iK%L;kZ7B^SL<)hb>'iڷrU`ca9BO=7?1;q4Q>*$'BN^zU$| +%qNM#RģT(CjM</\Yor3J|Dm^jQ\j=;
+'A5SI%]Dw[7vdٵ?ZGpyxXdU K_>^[{9)zݮ{۝-!8gq_,<0~%m%=˹$ec2Yj}8<Q 6v! y <|5{H5Ctٟ<
+gOtҭCl-2hubQR6eҧ':)S>a-Vܯ6p%&.v1. ('kטwA9l=/PU^j%RSZd
+gґLr~isPU}>L#Oh3-}}>7Lc旛bm]{8gďPM։ 59l@e5_WZcўySw*{%)xmrӝb N }r"bs5 'g 5onIAcf%kOcIqOd<cӆ#sYҺ;|ș:|xS|0%BF,"fxdO>i ~?T^]UH ( 9:o
+O=<}hm}_\c'SpZO&bה2i[c;7&~tm6kdp0 KN—{56yޤɳB~Y^s57{b|>vkxYo<=#yj/ϣ߽?ù7aTg}&Ta.Na__pEaM&}17ω8aŔu]|7ZuH}%XM(mb}(qM(orQSt F^L:q!!zj\vh.oѓÌ6?W"\!]sw\ROX%Vk}v"_ o8;<H"Pz@> /COF;P~~j|[NՏrNе~Rz;[;W3j
+-?\CXfz5t;32_ _hljYOw !}Jo:R{0VPi.hY_ק?iԧiM.-|M)إk]ݞW:i"wҿ3530~\Rs>Tέk'xCz*E TOz0z+[Gon1 ~oG&0z{`G&6z4z#GTq>:J&u%FKڿ97tvxlx^&Wn~FO:Wʅ{ >?ot [roˆ9tבI,#u7 7`m.f磮K 3_[R8Y="uF[QHa
+5Shk{]]+** sw{ܻm`#9QA
+3zdHӨnS_ P-L=2Yt13_\4wQO4`lRGZQZ (f)d9@oc"Ig'q\rPg/BZ=lp5Yq ?5'Ȣhc+aNp9<AJb
+)uQ݅yAZ[iĄVvWJ0FVe;F2T=GixtCᤁ6'y <wX܊RU 35qzѫB3E1VC+q)[UؘˍI&R"ǎA?~XJP%8H@ 쨯/3CFB|qmE
+tP)9]48x)"IOhME[Wxsߨ3Dؑ aW;yͰrŝByR xqԉ gtjUQ<\ipG]dzZ[9"zqѧ})
+whhjbB
+8M1IwJWrhίPo3BIu8f<oyq\< *)PLa9С:=5Wok>IriED?w)l^3 z(pQ*d(IqdfD<DshUEn+J 9Qsa(v(SPi'lG!=2˪;yrwQS\n# *9qw+#FpB1&ʴ҅w UHϛ1R]B&2=OT"=٤F+ixD
+ C≨8P ̌xJ^k94yꠤyT/,HV9S%"=>R3S.x@ |QO%6A
+F#PIMwgSt
+P"u>c#DsO9t? 
+4$62. Ϸ&Ͼ3
+]X+.,N#ݑ!=L^-v˒QZ`zDH]H){;ZƢp,y<Arq.3
+l,1q1g2lBF utG2Y\IXP`sלg ,uͬLsMGzbAVSq)[9N0ؘo 9 SG)PDki $oMkYcu4~)%4gGK;FM<t-~+,wh¼d)Sgv
+ lx<(,P-.]K]28Ȥ1Tɘ;eŢ2M
+U*1 zjDICT Ċ{VvMp$x4p Σ;@E3Z"hJܝ:@Ƅ:b1:T";`}ғUBiK< 1mT.J [f`xBrz
+zjr,ܔ<] @ Gk-wGDIm|aRGȘV(1<F'[ <40jl"@ Gk-
+М0p1w'2ÁL3xr^
+(0ؘ3qHBùR[| -!ї\Whf#WPH%ĭPTCaa΄-6.&e.x5cч6.mL[_VL
+O)ܹWm^x9D~&֯U4ZE;~OOo)jTQiS?
+KäM,G[>]:>)*dY4z3ϟ&cuy(eDl,J(W(kr-RYbNx Β0h ZM50--.\&׷9ATuS>cpn16gP]iϬ䐰x
+YJ[|S)wA%H-w75p
+#u<ir^!.-TKPh; 4ؒCshIb:LY2+-9,4KiT
+ uk7r-RIbYM-18,|in \Z
+ 1,&eu{ܞo:U
+j槮Fri! Y=m:ܧ I`325 Tg/j`6+@4SlduHS?-sD K ikq6&DDNdO<aN( n lP0Mč&xRIfIp.?MJN@'Qɠկ_03l&hA8)s=D,f'qIh
+}tg(z-RQcV+_E*0D6L;/htFC.wQWהqrt[1!)Ur}%\R\Vn3w".b!'7 xzهaS~cXsG$:j+6`JUFryp}.tn3j剻@;؇o9Ù&}_ڡpͼIH@/V蹸Rh**|a:;V@r,x<3VJ\ gORsX:^pO<$CM<C] sa@`XÏCa}^6A)pQ'"rBAx W@Ri}KO< NSa`5tb#Hy+Дy
+]K''MQyo[_git@ j;>%=cMAp㹙F% nZ>̡!=~Jo;FZA q,vx+|KmX@Ro1,V1* xx OoG~BBrKRRG jX
+A\v|\:!}UKm<33`v @ +5Nhs_"gЈgx60sjǑ͠Q\;P>⬟e9r͐{| v*qA?p gC!g97xCymS f'݌EFqf(u\)(o7zHYߕt
+&Ic1VhE8r܍=)Jܼ3X
+փ%8.uE哇}-awkXL.a;o 9 u]Oȩ r2HwZ?10<B{)6bi# p X/\(=m[tq[f3N0U>rgB)z\M:R(ITk<Xu vl˛E)gmqh(Z(1'' V`q1\㉶@χ,|y7.NϖcH
+h!Ư;F:(-830RDn3
+jЀ|g_AM<J_S鍙&Fn2wmjʃ6nSu?`G\rZZ^JLJ.r㮃$j?eWt9̡tp
+@<'>Ss1-|H e7ߌ\!* py"
+!8)vv1Rϒ+9=ic3>,Q`2)ֶ~>%xh RltGBXJ6A)PT;m
+PG䓖|G:1}v{'0"hWfyf#
+'*U''0#,|0(ͶkG;U
+OFT/hE( rd7]B 1VZ^XZw̒fZcָ<:ZJ\XJ@bCXX|ו;a3Qx<y6]u He13e.<qex>t?qY>-yefZxcu00S'3(-P%M *BlaAKK[j ?[\]0P`e.(q.a!wښ%
+0R@_
+_u0RseR Y\-O`EX>x1OXm]H(TT
+1uiXVb: 3wZJz>a+Q9?Ňg<1velVkN#*x:hM)D'/KGEPv~T,pKvPuI
+GOôPv,.~K$ mL U7@E3Zćv:[04()/'E$S*|ΤUcK uLax`+Eȴ1T;l6* sw;A2 $Ky
+Oc[Dwl}rc|-R(jtԝbq4<$ۉcTL\ A36lVi䖁!%-c3@LRV$
+c20o'r2
+H]c)C,8ȳa#-s<ugE  ' sw+
+nI ٵqVg
+8fE 씂9;qiiVr$GtjL{ =^Jr eSFAbXth89Y9!
+ts
+ϟ.Huuv)̲:SQ;c.hf4݉dL?T1:jYys/<,J#YuŰ[LB&)k+
+᪗B%`!k.xIp:!`窫]BdD/FA|
+/'<Kq1<+|GsSG1%JcR}Y'x
+F *\% .OzC.Z5W~)6- ܪᢩZ|"WoUj86^ͻq_[Q7Á51,E7 L<{WOP!G[U#OdW
+x3n<^
+TCccUMRs!&M,aG@&TV8ʤQݤ6
+G,L546L|_i_%ѥ'k@_Wt}Me]"fJ
+w&/o̥Ǩ]7d|5+G@&TV8ʤQR1o'6+ O`}nemXVT%b0iMךKֵqCac}r|O?un{.x/}{_d Xg_s
+jUY!,2IuU~ _HL[my*CD?[G4ʎwJ'hΜGD͎w͙!y
+F<T' gM_I<&] ihh~$t9/U7gFV+m;C;%v" x4J9wqnk`l~AE;!sihǻFMY̜ H|OosJdN|NK/ubqS}2 D0DFcɄue1-o<ySHʝ*y]sR'2ggt`ĦUVAQxwyWJt߇bP(}/]Z}mRЎE7g2uǚ#^?(O9'>B3a$v6-{#xO~QԄWqg޲H'aj`xV_ RPtVZ=(Ȝ0W;Gw>;[yxzD'.L.WIvz=2>2rLC
+*ܗuX<Q׏|,i)8itv hNrAzd:/Ue<FӨ0bF3>3f֧S;Hf4}Cb  yqR2;/Ű2O|c) qYb*[4Dw*8 \A=7!@y5srnިGVD Nt"*
+hNKft㙹L )$rW#=3X` Huq
+<h}c]zHG?LMi5g7tL_%P3EB]BZ
+H٧y|^c`~h98bP D9ր
+<=xr~A4q% C@M3=b^ZPbɦ# j_1_ifj|剹 DDqEܞz+aDğ›/?r#?T㛟 c9Ig~~!qV:aXqXF%R0%W 6G.HRw{>䒔&>2WO篔Yv(йz}N Òt&+yNt|^T􂮙es2TQ>n_p슬"Z79,mvEh?M|FJU}q!"mG|1-E.~~$YtȼY<VyS+.-u9 @eʨi$OGk#Fd'N˵?#2Zӿ?
+"OrFG/ PB_.>^+<c $skiwy]kuHQIz865
+{2yS*Yo}om"יT|]:~]:]1C`= ~ye7.Q|YdzZ2OS [o}h,%7AW}>[-:j v }mTz;^}>.wY[<ןO,ujyzڊBk0%z1MF6w' &iF_w|>i|<ja|xK
endstream
endobj
-644 0 obj
-<< /Type /Page /Contents 645 0 R /Resources 643 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 647 0 R >>
+652 0 obj
+<< /Type /Page /Contents 653 0 R /Resources 651 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 655 0 R >>
endobj
-647 0 obj
-[ 633 0 R 640 0 R 641 0 R 642 0 R ]
+655 0 obj
+[ 641 0 R 648 0 R 649 0 R 650 0 R ]
endobj
-633 0 obj
+641 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.725 723.678 166.68 734.627 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-640 0 obj
+648 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.772 639.872 370.728 650.941 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-641 0 obj
+649 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 306.379 485.652 318.334 497.607 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-642 0 obj
+650 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 385.311 334.678 397.266 346.633 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-646 0 obj
-<< /D [ 644 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-165 0 obj
-<< /D [ 644 0 R /XYZ 79.37 771.024 null ] >>
+654 0 obj
+<< /D [ 652 0 R /XYZ 78.37 808.885 null ] >>
endobj
169 0 obj
-<< /D [ 644 0 R /XYZ 79.37 591.439 null ] >>
+<< /D [ 652 0 R /XYZ 79.37 771.024 null ] >>
endobj
173 0 obj
-<< /D [ 644 0 R /XYZ 79.37 161.114 null ] >>
+<< /D [ 652 0 R /XYZ 79.37 591.439 null ] >>
endobj
-643 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F57 381 0 R /F58 382 0 R /F55 379 0 R /F23 375 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+177 0 obj
+<< /D [ 652 0 R /XYZ 79.37 161.114 null ] >>
endobj
-652 0 obj
-<< /Filter /FlateDecode /Length 5680 >>
-stream
-x=Mdmu9`HWi9>$\ׇӫwl,zD(O'z|S'GZ/艝#BьPN_>3eۯ.30pc:h*-e𗒔j?o.z-A^+ڗo.S.~}o_b_Q?<҃/gn?#t.}Q$67Wn P,ƱnN#[pQxgt1FuI!'$~+r?"_ݔ SHJ@q]҆@E+ݗw/@@7Gsh&Gy[\y^c>4I5$,؜1CԴ1f!IHƽ
-ۢɂ],zmY
-4ձ-XCo7=ZAB׶_35-?/BB@Wv(]M$Л/`c*/._X](2N0v[yVEŝe- BL$XC_R}/zЩ1{"vbhiS,dy9Ji[}O9wٙbH#T,Sjkݍ^)]lR9Dap m{UzrI
-(氹 45n1ky
-&WH&YWfۊ>
-{Q|uۭEu--:{k06/$az{36-RJ"ʖ,H ~eKA`O&
-yKQw7аK78lDpp{}Upf'AKH(% O2~~[tCz]A |
- Z=RVإc@u|ץ| (. .a|J ,jn<xÀn }
-&HK'F9 FMEdǹ/E8/UsL /~T^@`^jȎ/ٌ,nfZ-⍔/dǮy``i=g\NBaK 9HMʄLu< tҮf-.8/ԋcEzR#sMIB.#~ HMj2\nUǣ2u/`an5AѦXPmκAvDַjnz[|S
-2d;hk5Lm 3.I]3ywq+ m:}nJN: pXl/KRyr%C;iۏ*"t7Xs߫yFp v _'y=|`Mh+6c> ^?z^C3{
-:S8/絹ݼ"f}ʩܪ _+?8^@yDPf*,
-a_bI*D/X<CZeb-|滄o7Jҟ'įaD8$:y M%߹U=j7R5-o.kmK0"/G1aW5N2 7 ݖaeX1ӫZTS~US@ЂUU ?m^HR5&f@o-UЋ3^Kp5`1HX=&\5l X렋.\@!>Ak4Liuh~0Оk>Y\ǖҴ?/fClY;:Q&
-B3#+ "iW؁.'V.|YdVA afޓS|xg'#"H@ā^ȹyPɻmQn']7?rbE-aϸp.TX#1]XrH<z
-7xy]
-h-\ C 燖ĨGwZI<Ti>L3`|Rcu\\[%?4J)ULƎk -qrؓ1-X>8q$c#SE0I#/3,U
-re`dtOR<`C:# ޼[*)s\g(VS{V23B1%mGY*eTWdRZ(6 :X>5k~o0e 2tG>HM_]<~ %~W
-3}
+651 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F55 383 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+660 0 obj
+<< /Filter /FlateDecode /Length 5685 >>
+stream
+x=ˮ$m^,Z r 8Afx_?&>ԛRT=]EQ"EREI=v/_?=uDq2ϧ|]^~ץ|fTnLMT𗳠 ~)I z-A[}P .
+8~R%>>R+ꆧ|9ssHl. tmNAXm+J5t#[y\%(<=I:$“bW7GŔ&RR82,]!PbQne8q8}(z>5"Q}_}'pD!1M~ "#; 6g &m 6$I۸Wa[4"YEOM<]X:kFGv7R+"XڶKBb(z`LC"kPEC F"Nߒ4q+J
+FN I$CXՖQW0T׺AZ
+oGKl`aQ會vD
+֍(NxȀ=&Q2SiOjWWx18f 4]/+@3d</ksMC]`a C\ -ޔgęE˒mp?/j5s
+:e㜜zqg|ј@n_q zn7<@I'${:OjQ,?#:[9yS(5撶laQ BgpxXKuS8t+AIշq(
+s R|+S]/y~r*LLg92-N뱛*˵p;k_vT׷muԧ'o}_G;KbXwqqgoO]Y
+T64:by~v7&C)P&&B [4?k g0a[y]wޡF2?|rbk/N?
+D`ߧ9}rLldb'T3fϧ 6%T GLxdie-4e4 ]
+\ujDz B M93$5%dpy+#cyo6]P\{~ʠy-%O W}t!oZ4VVH`MהXnM^N.
+kW(;!-}JnEj2w3u ǂ墝-CXd;~+g yrd4o %w)b_JhJCU, ~G 8DDIY'G2M%F.:/t}9vM3HuD{ͻxn((s5$L9|iܛ!aCܻ/h>e3`jP@I$]%үL2y@apt)#JqCfG 1{- 2 O2~ PK@d@.3_ @< ^V9@4հN56FAD3܃T0=!a,~{&3RHٻJgùLgs(;} `j_5<C?ťv'I~. .{f@q) fu)3{f"`ɀUsu`ث|V2܂Agid钾utdL
+L."~߫):I6~q>Bw,} =ײ}F4[
+Qf&R_QdQ)1ĩ`*e|.w֢:Q8ew0
+$R>NH V@<6!@] 6ZMEdǹ/E88/UsL /yyY\,g/#;Df33<+¯۲m-YC&%Tf]pu:RVB/Ӯ{8ֱuҮ4[q쟸W#"t^?oN˧kZ/3>N@z,o&We<:AzV6(ڔ E((RQp++ߔL-Î$ZbyJ icŒSFPiޝ,~}Me_?h/^u.zުsnjm{l^-G]9;5]Y5]M,$ kuFp v _h'^{VK61Hݡ%qX⿬(;yDE"dzTdVeH \ `
+sIB:RaPP
+B)z㯏NmdD8c(אY|*RɻG
+s8qFCzhsJGcI\먁2z%‚k 6 ޴542<+[nY%(M#$\,zp.$8q܃{.U7]cvEk'3R6@CަI붒ׯQTN5[H[3!IcE;O5m[1 ]2ʨ茻-_w&AۻU3xJ3߼V~T pIױim5Ɏh
+g}my
+}Eʍd$
+IsRXD[{c
+qרSK 67UR C'jxO+e/52ϋSq̊: 4UjSB%['z؍Ӓw?>!~̯99]Dy4vG;v%~M_a qnQĭ'[~v+BP[y[F1I"s6e&+~c`ێp}ù:3`A\
endstream
endobj
-651 0 obj
-<< /Type /Page /Contents 652 0 R /Resources 650 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 654 0 R >>
+659 0 obj
+<< /Type /Page /Contents 660 0 R /Resources 658 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 662 0 R >>
endobj
-654 0 obj
-[ 648 0 R 649 0 R ]
+662 0 obj
+[ 656 0 R 657 0 R ]
endobj
-648 0 obj
+656 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.656 487.577 392.611 499.532 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-649 0 obj
+657 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.423 487.577 421.378 499.532 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-653 0 obj
-<< /D [ 651 0 R /XYZ 78.37 808.885 null ] >>
+661 0 obj
+<< /D [ 659 0 R /XYZ 78.37 808.885 null ] >>
endobj
-650 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F23 375 0 R /F65 383 0 R /F58 382 0 R /F57 381 0 R /F20 378 0 R /F29 371 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+658 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F19 379 0 R /F65 387 0 R /F58 386 0 R /F57 385 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-660 0 obj
-<< /Filter /FlateDecode /Length 4634 >>
-stream
-xɮbr }h4;!Q
-hw@d"89Jb; 
-LbA٣)Jq@tlXQDl4Oz}eYZDtw)^S2O CllqYULA@)f_n/٬mѢp7,!Y-U1CʴBsu*ւh!ʭ zq@]JEMfRp.v w:UU뵚A7#NʹS ~}z v靌3XQc!BT
-ۃm QV^# #umաj4[+Hqȋ4ɅU Y7="K|;V rwեf򸆯qСQZ{_lp[ola_`/Hq]\~h;pk U7&z IZ
-˱>/&G^jUx<1a󭬦[L1|ׅztn6xzJ@kЏ.齃p;ƃNnUr;']F6DT8p
-|HrܙX
-X1J0;'gLzb [Da͆i%J:%'
-ex% !TUC7]!
-weaI4]o7^蕂0o;<VJךU~i-T޶הB;2ٚ+أo/"/z/|c L
-ӿOONeӅ8%QVhn \`ǖEhFZtڧg)8P&OgeDx88v !S΁þ"k(8O)
-
-Z¨L<:Ks$vð]+꨺Rzڦ.j>+!G߲L&}$z߯䕜ÉWկ&ĘS‚ggˤx$bT(eS&$.kJ$죊* &jyfak噅i37ݒ}d9(%G?HpM
-J{pr‡A\9[9qĬ!nV+ڿŦeI,s-ifv4^qY8EYf2W_ky0e^cue{p8ə u/ 3J%=R*i%L'/i>TSH
-hVU@Sؐ{uk\V\hs]cn UXgM/kWզ38%;HˈQb4_1;{I+v~þ11ZoӕNjFq-]/UN2Qe nF<L}t6D|?1ppJ u/~IX&Fbq V
-GX΄; R",Knͷ#E
-(NtwX ? 1c j- *v=ffa1 ߷ƿE֫=|s'lf:~jyiIz>Sr98kߗ"{:coFgň.YZl1^e/ؑ)QB87zmҽ*!TۗOJZM^Y&kMEkiv4٥x7޴rmP|i|rA&a]k 7+٦')% Ot[B\WԎx#XqFsY,={;+Μ=b'J% <v骡E3!VY'\J/յk6`TxĞG5 ػ2LlB+321G6N9Cͷ U׹TK
-¿+.-w:;PNӎ^Svldti+i*[ZH{ԍ3_iaOXPkJW58y
-*K Ӈ^b M=loEhp@tjY"c=ֺ 6. X_ `'\*vGx0כ戃s,'0Dq7nB
-nkTj"k7
-h\ D@up ]sߤTݦs)p,ßǝFMUߖJ|#H%a
- ϗ!L,: WR/|`J4SܴD~h:tYc|;r4ً?ioM/>
+668 0 obj
+<< /Filter /FlateDecode /Length 4642 >>
+stream
+x=M$+zo6-}Ky~A8=l{ٿ%JRu]EQEYߗ򻗥{\_<Fu7 8Ϥk8[ |o m姂/ k/V[fK!%V]&/ZHmFDE.ˢ||ޖE_# Dqce<`~~f^{Ja÷7!\ 2#zG7p+`9c4c~qzgyRiW >4RM!]-8kƎ—JFJr ]/j+~<RDQ)yGxWA|W⭌TxWl#<Q
++6J)V땛[S\gq |C0~}mP"uF $+,@?DeU?"]H
+.C3VS,vb#[MjSB?f@y>,kxږ$s:}u[l;9vx[m2Cd7L"O16=3ڢ @ՓD'9.8m`3gl~Tٌɡ@3p@KNDiʸHpFNsTiUu5dhpunk) a01\'Lw)'{@\$2 m 
+ZZVWiNF2#USzcXo6K)hT[&4ZxQ킣W`hTm7r "EJnw݈rx?H}X{'Va*Uf~k%E`BՇWn1HM-w7&,fk)yQ4
+H6ஔ8Goڻ!'x'\]kk3mL?`5
+>98՝A
+ wЪJI":@v)?Dr>Ff[Ĭw&V,|6)xHx}Ꚉ8l_WZƸ}pt{f>ʦȗmO-,L  .9IZYe`,[42Q?G?η-;_ACuu#zd\;_Dtm8K[<^f4?LHa0W/8moB\5?̿ǿ@(_ri{}n<2E;89nt]"4{靾埗OAO^|ajӣ$$3
+};v<As~K>*)2uj+3211o%FwB'AQoȚ'
+N&>vKX?^$LOSSCXT2oķB[TU`z_U3%ܿ ّI=ΤдF>YZ1XinuY=гrZ2fULϪ}B+fI~KKQVcW;B
+>+>,,C_:
+m_BR^+g
+3RyM 7v^sh^?5#RܩbR!+%O X.yO.W㘓i#',)ֱZA%.PskIz}uy-C[4%aOiʄs4>-%h*% ,>5
+%DcUfWLni%ݣD{s)c. ngvL.̪.-|RWae|D9*wr
+-Zکh m#=Tg{ݬ0wzQ[8P gxrSn٨FvB# V˜dg3VsÎ,*tZ`پ,gKZ%ꬵ^31Vl-M/* h6U@S]ِ{uk\/
+"Ȳaӝ۴]Qv>=Prz==*Yi}}eve5
+hrknm">s,l:`׮FV:s0B6>A3m1*D-jGڱB}s9T(tYu{֧wڛ+̊;=b+$V%<v骧"c%s.8vg}a%7rv/շgޗPdTnOj~SCh6U- Rg}ᜡ[*[bҨ$/Q ݉*HOu Wi 1WUSpԦbpNkUQRa
+Wf%
+˵gʠZ@Um|RAwcҵńNj'CR>j2p1ϚLmwMek<4J]!\lGޣﴝP{w|1_S2TYMe蕦ơ̓4VI#ܯ5E5fN,(a{ޘ
+B-#%*|LYbU%`5>UQsQAPZ3WoH*pB!Q[7 *x:Gt(% gHx?3AM8cӝX
endstream
endobj
-659 0 obj
-<< /Type /Page /Contents 660 0 R /Resources 658 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 662 0 R >>
+667 0 obj
+<< /Type /Page /Contents 668 0 R /Resources 666 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 670 0 R >>
endobj
-662 0 obj
-[ 655 0 R 656 0 R 657 0 R ]
+670 0 obj
+[ 663 0 R 664 0 R 665 0 R ]
endobj
-655 0 obj
+663 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.269 316.805 414.224 327.754 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-656 0 obj
+664 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.2 245.074 197.906 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-657 0 obj
+665 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 210.857 245.074 222.812 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-661 0 obj
-<< /D [ 659 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-658 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F51 376 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R >> /ProcSet [ /PDF /Text ] >>
+669 0 obj
+<< /D [ 667 0 R /XYZ 78.37 808.885 null ] >>
endobj
666 0 obj
-<< /Filter /FlateDecode /Length 4950 >>
-stream
-xɮbah 䍞FsRI
-0~aK}cзJ#[ny,=\=D<~OTM^RT?tIWRIl/[Oq3rSCRP0fsdK^=ȷ m9V[q<\ߞawHl :K9٭Q^m}1{{+ oK I W@M`3mL/zn4/iXFX
-$zJ=g.դ\)jQK*H cY =XN z)V~V`88:aS2CߗOUc(RYpKRt<d!*QV)4*Ndo
-Pa15~G}IzLF$
-7CQע˸]v.i yH尧G-zL+'%nsMH6/ytJ]Gn]6/kF0F4gz?k+!wG9GxB o3G+,y]JȪ$G d\Bwrrgw]۾V)Bh*)3&t1y*M-=8-I.ka7fHaS&-吝otq{ &zە;6YuU <e4GQ@~Tel~Na=<SX-%n VcY,%Ս2bJUΒ˚DOMBm>)$h>r
-\@lc
-pm uPy";S9(8BJ[ a5 gᇞ5bi^7OZO(?׭OOѢZi ,-ceO4_f4?!0?b+L'؞FhE! _XY/1k^띰IZNXzf507nFE!OQ!|} dni4 =/oa=Ag~sÂdDŽXOM89 g<p@ 8C F,1i.fO:m򳢰*K{븜Tf;0βqy_:㻥6B8zis<܊5/PC:5D\@k:‘3 ylw^? S[Uağ&Lɮ_f9 5D}4:;-%#Bbjcp>t 7cP3_C]>83+ O_~$C>HjM0pN{o_ 7͔X3v{ikf(.ĵYB)fgc.mW05M,F%Nu: jHL>ma}9kj_ Y:ߞNB;mRbbBlrzZHw} Ґί *<ǧf}&Օ(Gԓ*ۃ8JѡwCmrC),KQX,AgkKt4EA#d]))cej+C3!Ϥ<Kn]o#~K
-E5iu;q}&63'S1;a9A)yQms!AM!k5xI,1Դ~7ޗ{n-aԶͦ#\le0 ZLAvou?زX>WWHq(vSWbMt#yX(Yl83 iSz#=8A`*O[_#׍yG㳸5X:qCJM-{cJ5Zͪ΢0.#TOY'md
-ۙjEI?3X2,Jf\>B" Ӽ$Pϯ#|F;.)ќ/؞(*jY؟,aU$GYR3T,:qzA̰o M3LZl9GS)ګ^BɊ1H81}KYƞp6`I^}it!$07")`RIq:ÂE"ղyzQ`hϨN_e WRΰel 6;蒌0%]\sGs-.ӡmvǥeX|eLd</7(qZ*q'JpڭOXqʻaL[it`
-6fuc!~;j},
-!
-4f?$ص0F4Pf!ׂPS3\n]3H{B9KA<?p
- _|]\R3(Ω05zDPD<EyGTS T9KVm{gv ȅW0>|pЛs$꓇h:F*nf겺-`5:簯nyK5tv>#9BpfÀ=1ի7lvfůh ` 㷛ԗEܳ%'VmC+^0zô%{T)t͛SĞ\AmfνĞ\P?XҎ"{rWx'Fn\c {mw"M8؄e.>͠y \D2ݖ.kG)ߟ)m`iVVy}ro}[{xcX)^' a#edZ~s h$vȁc著=F9"sX]YecβvӍ-Mڀ~{h|9 23,BOߦ,BғIE\TKE,2~&~+j(nj˽Mm܈Tf%p;bīhuژWi @!қ_Go;DX1!H{s򽐴qq%j2^0[+N_ZW;I3y_LYAfeu&tS=!OEb4Xy"^-ktk6ʥo})lcYE6.h^Gy'Iv~2
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F17 380 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+674 0 obj
+<< /Filter /FlateDecode /Length 4958 >>
+stream
+xˎ$>_Ge`{s|rb#7} ǿgTX7CN)()zDO(tU#Ns-O~c=qDьPN>]*k?S*Vo
+D i :x"rWzFfqqiZUYɷեZt+eW1Nc
+HXoi2kdBᇹ^
++e)),NTLet
+g),WK8%)sR2π 'QV)4OdkScjMI$s3ɓ
+^
+%Zl.PۆI8A7L-]?|>J5GrZ4(Q<{go:{kjۮcNЦnmm %`tbǸ
+a'e ~|c "2Ca c.5>i[d۰+bXYy·WץkN"
+QX'MDMK0ibUv*DaU[k&1XAUPmZpSnn"miONh<f`
+D_.t!.G}/yr<u`B^=yF%OW.ت+Z荚kem܈ƈpzmE(Oh7|}bh<9tݵ7?KYDh̒{`WWWVk7[ܣ*@ũP*J
+(]T
+jyUmNlnkwM50֫~3eБ%ַy=
+C=W,duU <eFQ@~҄JzxZ_KX(CaiA,e/%F iVKk e(,ň6wɜ%5hr}RRN?|N~x*ttDh7Iq☁?;Rϧ)2r-PvVv FܝW!0ͥhެI(DSq!k8['MP`b[
+6DÞj[ <AaB XnS ]n[,9T @.__n|v!r+oxM /)зP-
+
+xfWrMY dPfoPOr3 u 84,s5׈:Gwڠޗj^4ܴFCkYi\WlО0hgF#ȎJ'|YWd3 َ+t9йP
+-qХVlWZA?+
+"m#N*Y9%7.䀹]b
+!w5laӁ E/! !e0"c KК=#A]0hS9JتB[)BD9;kr 93pD\%/ωKɈеtS\z LRL +xw(f>O Ok~C<5@z^hXDU 8o=J_7/M3h fKm[a Q e6a(`qh7ŲY^"̳1^pXwZ蚜M,F鋺N= eATU&-㜲O[4YѡO/}y;K )=Ui{jK+y9urhe6P#! ,*<S>S
+QQV{2ٹVu~"[T)h{7g^ V–ιͤ1t6Y$AG[d>B֥bK;Vx RR&&G\:aP;o`Ro‹6 S(O kء_+Y9y: Oq֏#:[:$TNV뉗nsCc\S_l[_^'tI=Q7XhpKU`!r2~e6|Z/1.PR\n.Ś02: G0qg1Q̴ŦefkDFf}\7^g] ckvJ MJ;\=jvj,*nrzPq6c2qLa
+ݤşX,D+%t3&Ci^P)IAW
+hl3}G;ʽq#9՛5 xaqnw>GEg=vSVoD:2DSӍZ\)~[/!adE$duȾ%,cO8e?^NQA4cp,<Y)2~nHll$-4*,@Õy3,t=,:=$#Lgsthl[qik}6vk# +
+nOZUe8QnVM',r]0R @YJ0sкô hWb73
+Py,- )? g$Qh 1Sa 4k+xz\*Oyf^rDSٞzao}ƙ] rgȅ۟z)`8|R7foS,`拭CotifAY n+ VsQxns*.J/^9Ngcw+3/#2ǿ9l 8{_],S
+Nxkg_
+j6 _j;~L}OP3Z{me [_O/aFopDRi}}
+5Bb͛VfnaT{ ]>fKɅ&8/r&lew"1nDK5<z'eCQ"c J0Do-9mz+vd:k.8QGl;~kuN71,֗ĵuœԾ~6*^7׆6FbGy9slۓ#2{Jzu>NV,a/I8܄ *>LwC)fy``|6EҞ H꯺(Ҵ<Ģ*>XХmV2o$(j˽Cmh܈Tf%p;bĻhu?ۘWa K!ҫ_Go;DؠA$iJ9{d=qֺ:*dtVVi4iJ7'ĉZ&]=?\L)Uj%^~t^3Q.'xtVZEU#ljV> d=#B\
endstream
endobj
-665 0 obj
-<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 668 0 R >>
+673 0 obj
+<< /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 676 0 R >>
endobj
-668 0 obj
-[ 663 0 R ]
+676 0 obj
+[ 671 0 R ]
endobj
-663 0 obj
+671 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 161.072 86.225 357.742 97.682 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
-667 0 obj
-<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
+675 0 obj
+<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
endobj
-177 0 obj
-<< /D [ 665 0 R /XYZ 79.37 420.104 null ] >>
+181 0 obj
+<< /D [ 673 0 R /XYZ 79.37 420.104 null ] >>
endobj
-664 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F57 381 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F26 400 0 R /F20 378 0 R /F29 371 0 R /F69 398 0 R /F23 375 0 R /F55 379 0 R /F66 384 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
+672 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F57 385 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F22 404 0 R /F16 382 0 R /F25 375 0 R /F69 402 0 R /F19 379 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-675 0 obj
-<< /Filter /FlateDecode /Length 4682 >>
-stream
-x]K9rWs( _@CJ$XO .`ŀ|*AU`0s/y9}o\,^E]|Z닳JH._E*u_?ϿII'ח?(~r/#^HcWB*i,D/礴Kߤ4>4fxO5iaGen6l[q{VO;Z<; FV-;^ydC#W 4r%
-nGkTeӈ<S :oiuEYokgFMcۭkE+'_>U;MlCm.~+Tkm_
-lP*dyM1Q֪X]ǫ8H>G=W"Q=TtQ$gVS-<KkSykTG TiIqGڹreNEj ͔=u]&q
-Ueb#T05 ff_(Qi)(NM~{2FyT4Lr)e\S 4RSH+ <[,5 {G.led/Ź pyh+A>M3F/TkO4m6@,Frh6 b6(t{-3SKRJg.6O<[("Q怼9w^t2. Sȭs8 BX3aB!Ot\ !au9o.9ܹucs60T0Q&a`=5ErE>#Xhs38\Xe$EB۫]^ۢӶME_5- WrQu*>miVd'Ҕհ6ɔn- #)B۷u (o=Qgbza(7ȹe?{bұ;?n%K֛m6` .jƼ6k(d~~; mo4hZY\{:PaYQҒ_"H_7VJ{"žobKԥ7|ˇ/69.WO.ާ_;j%-?K4FJv!3.u) qԕW󠰁8'e)['1ɇ'婢':)}&w?Qo4}#%Hr|?
-Es]PSjxu쁪,iAssLj✻qFs2{~v)ιk[֗$<
-THwB膴XړCz][Y[L]/mAQoVa_~Ȃ@ecuu>8pqh?
-ñۆ RX{,k*μp׶r"'cȴgiM"ve{+?U֥`W5R7:Y[)(Y|ʠJB|2'jay5wD
-3Na![X&ȃxUwO쥜EOx7jQ/woxh>mL'+U1P Q(SDvwtֺ%h2 4
-Um>PV L1OMZ[^㺾ǂ/Yl};8PTJMM\aNy*Ƿ[C&C)sYFYO[uq,3} Q0E QQ}.^@ίpuRidzai
- i
-O`hD6%Fu^4>0 oUK((ŒaTZݐ-kyW eu~H*kg4w./I
-u>qw' oE%C m>E4yd˦.Gmt@ݩIۑ3[)S t<U6.km.#H`#d{@ygHn-v.o6M_NϙʬǴ%x5S'@|ӴP47f(
-e${_F)%qK5}݅%@3zfĽ=nPPK$#-<ͭrC& A4P;FQeb@rycOraS"2j,e޼J:-,5<#Fu[ A /6A?N6>W\<.)5=5ݓ;q}ս<Yq
-0RXg>x!j5 v35[*b:{GVtm:ѯt
-rttNExQ-'u\*RVV
-r;aP1<(<q(ÃJ
-x\'"@{X;}zȬ81s@h/ lu wޡ
+683 0 obj
+<< /Filter /FlateDecode /Length 4627 >>
+stream
+x]K# 1{"Q h4^o/["
+c˱k VR|[#M6߲/g/ZzZ*^=05 #mMzKV5żBE}T9<\8~
+.F,V[9-V0pG/KԲ,|KGzUbۥdkY*ޫ͟*MoCu,Zkk3%Z U*$Ϙu.,9v=x5uE53"IY_sjXByuSx9#4 D0|EsmraN= J~{E-6RbI?0us CTd)>I#B~lGd觡;=GAŠ:6Ms
+!9LSZϜSt|h0m0t6%OX̱X-smyda
+FzH(206ZTit =v )lڽvH C^;v/41tKnty
+oZ}潅z[;zn7c@Re,ڕV>&
+WL[ ;jXQ`L >;Bn伴 S_%@^%S{ġ8T\4zx1f}2yr+N6_Sf"%'-յ5}L^eM줮eal8eV_oO~.rߺ2;nKH
+ߢk4TťFf|8QFrnձA۸hOlzK7hr݊~59Q*-抚,Y.ZQ>`bf˯Ksj\3$8[o$m{!AU
+I&& YA)LXȟ57=B+IsF 'Vw-R]AMp+EswK>g 0օo<l['7T"o߬\&y W-aoBz
+oE/o7M@B>Ψr]_ڙ8uZȟxF1( :[ Kok M C![`MK #q< iP7ҌKNE:0Қ$0OP4md;
+p "iuQoTSH;!sgQvN +IFV
+t {CͨCn̗:p'.>OީygGfF-B7Cʶ!Uw/(rí@Wm%Z8.FAh[gEeK {gRA'r)|۩,S(Iej &C O e"` f׋-U/^/́niLI%v6
+eYD9PjxX&À_+r#'[z̰F]'$eb@vZ^I)ANBVC.Yfse;k'ϓogz\L
+pw>lJLx{9ީȥV.(+d\_6қ}
+ u اa)o/d uEJN^7Ȱև .OHg ;kKX&k6PŘ-|-g}\G湧e6[5~}()pbuᵌ}'4[AeWsAI5Tjpȱ
+,L ( nֹf?!ZИʩz'-7I1{CBw/l0mK$^`woBiͨBH*t"%h.{JI_^V=R:;M,sv5v75/6M.)3;&v{\Jc0saM}a~ ۶Ё;I,&<Eƣ\;cs! k3q_q}7Msm֣m=>Y=̒cOH䞚٫ a4R-5\ǵC(#TzT
+{
+ȏ ( X8xϵJ:4WۃpX3W|5 Yk-3mߨ̂
+2''Y9'-uo re ݢ%/ͅR?uA|GO[ nDLJY)S ®OYH¡ ;z t</ h8X;juUԼxisR(} ܭ8m`M݃#L;7*8b
+bqIKZmD=Az^jBdϲ RPԶON˒\;U/}N>^_B6Boq JHDɐF|APФ{4vax'7JRP¯Gfm#i/G^Ξ!쾑+llƊب:=:- k=9?'8yJY%zQm|C^m.m'՝VH._q6h"+(X&j7Ƨzf 8M:!\ qDy
endstream
endobj
-674 0 obj
-<< /Type /Page /Contents 675 0 R /Resources 673 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 677 0 R >>
-endobj
-677 0 obj
-[ 669 0 R 670 0 R ]
+682 0 obj
+<< /Type /Page /Contents 683 0 R /Resources 681 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 685 0 R >>
endobj
-669 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.393 468.202 167.348 480.157 ]/A << /S /GoTo /D (section.9) >> >>
+685 0 obj
+[ 677 0 R 678 0 R ]
endobj
-670 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 468.202 510.257 480.157 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+677 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.071 483.206 513.026 495.161 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-676 0 obj
-<< /D [ 674 0 R /XYZ 78.37 808.885 null ] >>
+678 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.774 471.251 441.729 483.206 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-181 0 obj
-<< /D [ 674 0 R /XYZ 79.37 553.861 null ] >>
+684 0 obj
+<< /D [ 682 0 R /XYZ 78.37 808.885 null ] >>
endobj
185 0 obj
-<< /D [ 674 0 R /XYZ 79.37 160.457 null ] >>
+<< /D [ 682 0 R /XYZ 79.37 553.861 null ] >>
endobj
189 0 obj
-<< /D [ 674 0 R /XYZ 79.37 120.953 null ] >>
+<< /D [ 682 0 R /XYZ 79.37 163.506 null ] >>
endobj
-673 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F29 371 0 R /F20 378 0 R /F23 375 0 R /F69 398 0 R /F67 385 0 R /F65 383 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
+193 0 obj
+<< /D [ 682 0 R /XYZ 79.37 124.001 null ] >>
endobj
-684 0 obj
-<< /Filter /FlateDecode /Length 3410 >>
+681 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F69 402 0 R /F65 387 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+692 0 obj
+<< /Filter /FlateDecode /Length 3409 >>
stream
x#1  v`S"Gwx֨,} ?\ VZ}o^8+ߗ]9׎O 38oɹߥ Fj{˫.?-aqV$}ݷ"x&qO΍nXKbD\
M'lM=?)%-E-q*|p_SKX7G|P^3F>yg.LUq}u>o%ӛ0Q&'}x'g ˉ{{tlr}=32J j{o^*OJ1rtbHitT 
ӝ'n4_g4|Q3պ
-F 崳3'qYFJ)5_Y흍1ۑ(;@A;E=JEjHZQYLǨI{W3Ŷ
->CޣFڋ|P#{HI$o1Cqu`j٦RKh<YWޝ2Fd1YPn;aW>Yp&7'-^7ST޼gz#s<NMy'%?I}MK W(wW}k+~V{B+4yY]S/Y QE8b_z8L
-u9?c<)|LzU(ß?}Woxcܕ3LM/zŔ$1 5#$nB2*<dԎ@iJB䙼#Y)ahΖ,hkPma5BhX@=VQhYrb@LM
-Ey7PPΉN&`KǪqEeVba䩢$C 2q'\z5ny Ib.K NN{0/
-7g$iے[̟kb
-޻CnfbA Uy{ǛC)ɨwMr{f~w j5" Rim e?Fpm&l><o-Wm+Sx-(xcgq]KNXhB7oxVKex}6NI!c=z(5vP#ܲ3a?#a3iFQ>Gˆ{Hwa4 ]88E$bƙ55CC#;So*a\w Pg?̩7Uo;'tEG_ȄL
-fM~rnչvD?bnJ2aG򼁡id^ p >?l՜,ܗX2«>21p,TQR m!ך6xl:H/ѾK.1zm}cCP͌`yz#B!YH?iUc`$=:2;S?D޺O蝱PMRhA2GY
-µءѶ xlox2RpՋ ٰWo<"C8.`W(Rx1D:N4"Hhcw8aTfD4tD[\]\[z.(`['sos6ć.4^^F}]F _::)2 *pSB '.<3"1B:UY%mJRO7FjiPܱ
-gӵ &ձuM,[;sp_
-^Kξ۞I7
-M_@%Cj/p`1Ŀtb_Gg󎇧~~L鑥h47U4_Uӓ:_9MsWP
+F 崳3'qYFJ)5_Y흍Ol#QvvߋzZR$!Q/
+SEh 25)gm}J5Gԋ3F'hH|#bRo,* !M+>GВy.dzܯ; 1d:4c܅vޯ|L6nO(] [ݽokym'p F$yj-̵ NKk+n9PT֐W<K>Vi󲺦^),ͣ6f"qGsj '=pF's%9~j2z yS-{ &Q?3~^u Ǹ+gP_)#IbIkFXI4u!qdTxɨOӔ$"3yGR14М-Yۡ~RjƅrIzzІİ7`
+
+Pp=n>PU{9W(<:EIT$fNhOsC _K={0UMë)SXodUujBNXd}fHſ,ޠW%vւd?]qς #^+=P(˙mFZ#
+*UD
+;B~$`oDaZ8^+-kڷoHw6iEMlU㖋: {ˬh<SEIӇ dO|k\eJV)f]X a ^  nJIτIr?:%wT?#Āk<w,00Ă z @U7,1RQ}`.<jD"A%Vm9Lã,1LƙUQ}fy2Z*'V,jZ&Qz+JZ>J unt'~2~/mj>BzPj쬡aFe!g0aGˆg<uӌ||/x7„micppOI?R;Ō3kj JG))w^U^ø$gԙSo?vNx@ՋT10 N͚hsb ~h+dŽ@yC+ȼ|pت9Y/[&enW}d!h?bYf1BV5mT'ku,^}{M-f\2cdžFaBd$.,~)ӪynSIztdvl/xJuAuf};c Ђ
+Zue |O!V " YkCm(9d AaQBy:)Ep]NQ ! SWV!Nc8tu.iE. p _Ri:\騉(::\PN܉mO]Fi@-X:6~u4uReTLK؅O\<yfD!cȅuK앤Ho"7Ҡcj@R^`*@=$>t򍮃J蝒}8\ƢBmgף@+k))N+Md;c jY~;aw
+Aۯ(}=)nJ9PԚ!~_b!nkY~trLULON@C#Kцi.o `i
+'urS_6Q\PFCcfZeuQu:D_Ԁ<:Dpߏ:'7?JSn'
+ǡ~spL l"wQtꁻ3ɸ5I˖Ғ߃\9-RCvO}ZӖNƭ`C%p{_
z:xi5a}04֞5 #.WQy%uzč<
-NOfRBzFu&Ky^eĔN`OHlJ|\IF iVp4II;6pۺ*Pf? @G9pX큿akC!Xz3kf?O~:Mtyӵ4'ϋA3X;HL2Pi'sD-uLURpNz?!-)K͈5Ws#{w&MwfW/
-&#V ⩜K]sT-t_Jz6< pbՑx7щ5e/q񻥵.0/\/6;)MWZӶ]TWAj˃euɔN߰uP^c8#pEtMF*Q)j iN&?Al똎t )fퟜ!u!~{Qz>M*6Ⓢ(uDP"/4٧WWWdy1IVDC8_jtj"0_Yx!{[_8\xDŽWclG@x  B~^zf!@Ai U$ЯXu|
+NOfRBzFu&Ky^eĔN`OHlJ|\IF iVp4II;6pۺ*Pf? @G9pX큿akC!Xz3kf?O~: bt86Ҷ~:=RO2</Kz~6T}3.L5Dɜ=Qp]:it}T3\i5g3x8%zFjnosФ],
+WP}jP}7'Mw3j!mץWҳi
+5[..M}zpuEoO4EPLnƯb0 >uV!^q=-m#g<쇛1m _@<@!X.<{,&;צbl_u(
endstream
endobj
-683 0 obj
-<< /Type /Page /Contents 684 0 R /Resources 682 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 686 0 R >>
+691 0 obj
+<< /Type /Page /Contents 692 0 R /Resources 690 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 694 0 R >>
endobj
-686 0 obj
-[ 671 0 R 672 0 R 678 0 R 679 0 R 680 0 R 681 0 R ]
+694 0 obj
+[ 679 0 R 680 0 R 686 0 R 687 0 R 688 0 R 689 0 R ]
endobj
-671 0 obj
+679 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.306 733.664 212.28 745.619 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-672 0 obj
+680 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.048 733.664 240.003 745.619 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-678 0 obj
+686 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 124.899 653.245 131.873 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-679 0 obj
+687 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.594 653.245 159.549 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-680 0 obj
+688 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.528 363.024 417.502 374.979 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-681 0 obj
+689 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.1 363.024 446.055 374.979 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-685 0 obj
-<< /D [ 683 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-193 0 obj
-<< /D [ 683 0 R /XYZ 79.37 620.254 null ] >>
+693 0 obj
+<< /D [ 691 0 R /XYZ 78.37 808.885 null ] >>
endobj
197 0 obj
-<< /D [ 683 0 R /XYZ 79.37 422.869 null ] >>
+<< /D [ 691 0 R /XYZ 79.37 620.254 null ] >>
endobj
-682 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
+201 0 obj
+<< /D [ 691 0 R /XYZ 79.37 422.869 null ] >>
endobj
-692 0 obj
-<< /Filter /FlateDecode /Length 4636 >>
-stream
-xڽ\Ɏ$ WF
-4`=7PTV]ET?//ீE\D[}qN0.߾~V_8S/_sa%//aw|c`lnjv_;, =|: Ʉ5~!aRGoe=^]/mz/?῁+ُ_g?~ss#?\GaGf=#+,g Vx/{ l>(-~~e$2fbnsFk;DqˬgϜ 8WEyUXl%+t 5<8hI:/V: ekikH=~G8b_{H#mʈ0HRZ7T^dGIIk݅e)
-[T^i2;+&>fKͤD&$QG%љ9 xe |$޳r@N1%;3mvəUO, i~@
-@*>`ߌ
-q3۪o|/BI~ KYMHˤ v9و_+8\9A; Sd+`LZ> ʆ}O ` nCiKsK#zx;Z8Vo,:S|T8T5rȪ#/}P%&.yPq4tL]&#
-/JozFk+=iBo{5 !{ftY]߲K`CocpazNž JRC}_i6*;1L,λ)D}}ʧRf\
-Tcߏ7(;J#WIp!<0':cfa
-i!46$s p 2@g6@EٔpE dtl(wViK )!@/!LJ
-d@߿yYf>5Ny?J+rzE97TD79dw5(a,?>1"x=R369O17K2*u[u͚W8lI] yZM$c;5ݹOW`RTn+|y\~LRik/r+۹9%KO1S=;"+B1~v;|8qUিc5<2x+hL
-QxW'(q7`+nys*+0.`>}LJ77:$n2$}hjԵF]wFlOaS_:=0-|JMw>ADq#@3g flfiX`$;*--NդYIJrO7M˃6Q^oHD׺ - Zfe!!myJ|4m-ұp_{?$źW<AGrV+ΜN<1Of 2 Ak[8#
-za+3 6iu0T̹SS'Tj: 2cOfMߴ]OMwOW8 }^@.`L$019F!#(e>kcU72{)T1؎ZCE][_AܫsV %6M7섹|"|p*OsB,2q1.QM;I0Q)@k¹0u!eg7 i3v&)`)~
- *4gjhRdSqwA?qI,.wbCN9͌MSG 3!H"v)x::NnRNj27kC*kcTZx'叧;:úB9Ji„W^V24\gRCK2[k!j~`2h*UT1bB3@)"eL˹sw pg 4 ZpԱ6Cvv
-(R|mifϢ;GywV$[.RG7⺐6jbq5/CQ9Ku\4بf%ܩj͛ά̛f1P5\c(׳u5x'[$S~()I96,y_)sex!
-x;1
-҄CiVw ^i~<n~lUo
-i9 hc0vx^IyOQ3?fn&~Z\ЎYƶ sKoqQh 'h^d5u}Taz^qk8]I=om3
-Q?Nk~„и 7/X>=7p䀞c anڢfd(nfx3q|<<JOjeUokv{<._0VLWJځJWUǏT[1
-
-endstream
+690 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-691 0 obj
-<< /Type /Page /Contents 692 0 R /Resources 690 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 699 0 R >>
+700 0 obj
+<< /Filter /FlateDecode /Length 4565 >>
+stream
+xڽ\Ɏ$W4} Luȧ&$C>2%KU|L2H#^l^/|㯀E\D[}qN0.?yV?]R/志/|v9xXK|"_~ g.8hc;f/hg!X0p6u ngkBZâaRGe=^]/m3wK\~y\sn:ʏ7;0~Ya9"0'sF2Y^`Fqn9+vė1*{3Z3-֟ 68#\o/ʫxN"b-]k/'A{NO| YX(3FfNwpDGt'qG<\y$ѠTfIJ"#&}W݋()ip,8 8NКJ|787 hnγ2GA[+l*1EUuLkM\1cL$2i%,{TGW^oG=*S?@i+OwY֐(&7, (.K*
+Tmߏ7(;YJ#WI!z?0:cfa
+i!46$sz# 2@g6@EٔpE dtl(ViK )!@/!LJ
+~%Kh.MP.l2lz{d D>8}( "D;WZW%ݳ|tw7.RD$VM
+#pĈ t F!'࿋(sח@pf.]_j߁6@L
+g;Ԟ=]
+(^r\2fADƠH9gfY9x8:=ډxd4.W]
+ȴDb;S@r `慠3QSd-'{c G$anY9Duo0j svd
+ o63b7
+A,0bjR$[uGrO7Mˍ6Q^ojHu5ZA4P xBtbC !T N딸*1i ZGǪ}_=aZߪ8s:@һ&?Y%$sxmmH;^rQ
+ Cpc̐VqN`6|A:-p.*%_3h2W3k˜L[[t=#{\`ԒcI4≹=0iFC!' B1/jʾ LΦ>qU'C]꭯S:< g p&;aV8_
+>ة\BK|B[,;G| L/Bxp7*Z!e~rjVô`;NӞ䠔
+?RIz } =dsT5svf'(ӱ߂~+M ܉zȊG)Ϩ 뙐X$6ɡ
+zMJkzC|M]:VQ`1;ƨi%vk:8AXZR|z y#;Lxu JWs^q>ВUN3#Z
+:S$tV1t?Xݘ\B(9[c6>}Rz.G'0?yl/v[K,ui i(m;P!rV)Ô|m0Y$^WQR]Vt-hZz$կLFM܇^aISjίu)IV1oF 0S=f:_Ey*)~z+`޵s*ܴ-K>Ҿ;RVq26F8@j|]R ͼ#(3R/O[e(%+v]Ta!b8k6/߷ֵhف|ug!Q}^MMU;u-$kK3r]|!B$q˝ª7u}|đjjӦUMaLTMLrhp~jNSmBW#̄SMi-ƘJ`''
+6Thϛ$CHy[eWTY{JB c5_FJ TGRe-uABfO | 󙒊 l-?+O8_f5'CK5ہgum@V`&w7o }K0T@sJ`J^b  z.낌
+Ň^|Tқ-j2M`lKtr,k5ԃ\uBZ~5YnlcLVLWNځO$ֻג
+endstream
endobj
699 0 obj
-[ 688 0 R 689 0 R ]
+<< /Type /Page /Contents 700 0 R /Resources 698 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 708 0 R >>
endobj
-688 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.915 234.862 161.889 245.811 ]/A << /S /GoTo /D (table.caption.1) >> >>
+708 0 obj
+[ 696 0 R 697 0 R ]
endobj
-689 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.741 234.862 190.696 245.811 ]/A << /S /GoTo /D (table.caption.1) >> >>
+696 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.915 246.818 161.889 257.766 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-693 0 obj
-<< /D [ 691 0 R /XYZ 78.37 808.885 null ] >>
+697 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.741 246.818 190.696 257.766 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-694 0 obj
-<< /D [ 691 0 R /XYZ 230.167 742.105 null ] >>
+701 0 obj
+<< /D [ 699 0 R /XYZ 78.37 808.885 null ] >>
endobj
-696 0 obj
-<< /D [ 691 0 R /XYZ 235.836 730.056 null ] >>
+702 0 obj
+<< /D [ 699 0 R /XYZ 230.167 742.105 null ] >>
endobj
-697 0 obj
-<< /D [ 691 0 R /XYZ 198.864 697.254 null ] >>
+704 0 obj
+<< /D [ 699 0 R /XYZ 235.836 730.056 null ] >>
endobj
-698 0 obj
-<< /D [ 691 0 R /XYZ 198.864 677.06 null ] >>
+705 0 obj
+<< /D [ 699 0 R /XYZ 198.864 697.254 null ] >>
endobj
-690 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 385 0 R /F15 377 0 R /F79 695 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+706 0 obj
+<< /D [ 699 0 R /XYZ 198.864 677.06 null ] >>
endobj
-702 0 obj
-<< /Filter /FlateDecode /Length 3096 >>
-stream
-x\K 19FP蠫4H{ 9$`NOelcSU6%HH,\0gqexH'Dx!2EI$+R1O{I)e|pA-?c XԌhAHKyK𙱨FD؞|`~Ufڶy^"_w9-q{&
-Q*Jo_n,2v5&>:Y"8/-nYYaU΁
-na
-0c#]gSZ
-4 {紥@s,@Ky:,C08gʼn\(Up`C3hӗ)|ϫߛ>=YW~ǧz3S\dU̎ӕ""H<܂J9c58[^"MtdB
-I&Qj5l(/+DR
-*yRPlW͐4g(/+>!i퓐 k C(QX}LkakD3_-fsO%IzEʩV3hлSG X0̑޲/Ay@(Fm!̟Rq{t$f/}{
-VɓȀ@ذYd"yLUĨPyjbvR s
-B!մUZ;F}R
-n789!<,D~o@Bzp$⺵G
-d5,E|Ih)(H\Xw}޼cΤO cbb^} /l#uQb.7Fn~^?|0!c4IyæfcPFEtXXJ}c27P{j&>w[ϙ&qdJM\z>7~/f״
-\a,:v}/H蚀jz= 3 *A $ڝul`ky'ީ+jaԾ7 QNLOG1BYΔ; C(wA
-v6{
-<S -
+698 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R /F79 703 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+711 0 obj
+<< /Filter /FlateDecode /Length 3083 >>
+stream
+x\Ko$ W19X06A|[iL9U]
+*~%T/]2 d
+={.&_H<hh )'=h,StK4wD&5:k)ymYq4>S5ZF6e+dYR|es=)'e峵O}/ϏR6_LMۄE}>?
+u_m<B)37ȧf_sLU+P@5Y{ \|p=Ou*SIغSCçFBF,t|D+K%<"Z3u8*02˟ky{~?<5DszzyGWw~Ơ #ѷl#O{Z33ޕ&G}x`4|f^krXXᪿ-* ˼ G4`~y' H=,zt 1ú6w}U4"yF^ҟ&2]#2624pt'2ubD!08ce\iDEt@)$f+яa ]XㆄX7qCyJ&?n.ƍHU4Riڍ#
+ V]H. m}/RQ7p0Sщ8qb݉8%ڱ1MӅѸu?ٙZc1J s9t⋁i
+zpGXf|ײ!W'`_^DꦖױXO}K|/Χn_
+BZ7ߊ~gAEgU9u)|@aFN|PJ٢iрeS9#lBYp) n:2Ce]\:F]uއ .>v
+Xe@9
+GyS* tCϭM*`8DI_3=˳H#<'\):"i;l2!TݴX~-np&$de` QIhJJ43]iPa|R-6yZ[isQ|IBOjq-pU
+MsN1DF}ma{: ›g#&` FÛ{oogĦO!ڨ.$&
+0*&n>xҝּVNZC"}s'=/gz8L-OXG- 4w)NY(J|da2<{|/4h,hټF|7 & qWΐ[M9 ^M~-Rׄ$9#sڵ"/B! o׺FOH~9x-mېKʎJOkhXFmp 2i-6X4S(}
+k](|/ӳBy 'E[
+*ų`O+/7^y1#ǙQuZ["VYKh3)“$Gֶ!DL!qK)', ~=rI9wQKL+C{!
+g#p=nINVlU|L]Z0j΅g7sϕ.i0OUM*ʄ/{zMiP9Tʭ&)6OCqyDΈ{ n!!TXOc:--X>N's&{'i]ðIa V{k7;pryUl
+#̽b7ܛbF%PD2u :pIN[o RCb4R9|
+
+yZ)*D:J
+ >60@½c30nժގAq՛R29X]Ybs Eڮq#'HX0)ʁjW` qu;6U)s$С>3ŲI6gr]/$%G%{J\ʝ:q 4(Z'z4?!Mʦ9#o{o&-# L ,XA0YԦmî𤪰FqĹD/h3IzbXw-'^Kn?Vxz;eEXd?Z~mv׊RїWkGtHs |2N d:o$e;w
endstream
endobj
-701 0 obj
-<< /Type /Page /Contents 702 0 R /Resources 700 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R >>
+710 0 obj
+<< /Type /Page /Contents 711 0 R /Resources 709 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R >>
endobj
-703 0 obj
-<< /D [ 701 0 R /XYZ 78.37 808.885 null ] >>
+712 0 obj
+<< /D [ 710 0 R /XYZ 78.37 808.885 null ] >>
endobj
-687 0 obj
-<< /D [ 701 0 R /XYZ 79.37 598.045 null ] >>
+695 0 obj
+<< /D [ 710 0 R /XYZ 79.37 608.164 null ] >>
endobj
-704 0 obj
-<< /D [ 701 0 R /XYZ 316.728 517.227 null ] >>
+713 0 obj
+<< /D [ 710 0 R /XYZ 257.051 527.346 null ] >>
endobj
-705 0 obj
-<< /D [ 701 0 R /XYZ 365.552 505.178 null ] >>
+714 0 obj
+<< /D [ 710 0 R /XYZ 316.728 527.346 null ] >>
endobj
-706 0 obj
-<< /D [ 701 0 R /XYZ 207.228 436.785 null ] >>
+715 0 obj
+<< /D [ 710 0 R /XYZ 365.552 515.297 null ] >>
endobj
-707 0 obj
-<< /D [ 701 0 R /XYZ 207.228 414.817 null ] >>
+716 0 obj
+<< /D [ 710 0 R /XYZ 304.972 503.342 null ] >>
endobj
-708 0 obj
-<< /D [ 701 0 R /XYZ 207.228 401.039 null ] >>
+717 0 obj
+<< /D [ 710 0 R /XYZ 207.228 446.904 null ] >>
endobj
-709 0 obj
-<< /D [ 701 0 R /XYZ 207.228 378.952 null ] >>
+718 0 obj
+<< /D [ 710 0 R /XYZ 207.228 424.937 null ] >>
endobj
-201 0 obj
-<< /D [ 701 0 R /XYZ 79.37 331.043 null ] >>
+719 0 obj
+<< /D [ 710 0 R /XYZ 207.228 411.158 null ] >>
endobj
-700 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F66 384 0 R /F15 377 0 R /F56 380 0 R /F52 372 0 R /F79 695 0 R /F58 382 0 R /F69 398 0 R /F65 383 0 R >> /ProcSet [ /PDF /Text ] >>
+720 0 obj
+<< /D [ 710 0 R /XYZ 207.228 389.071 null ] >>
endobj
-715 0 obj
-<< /Filter /FlateDecode /Length 3486 >>
-stream
-x\ˎ ++Q  vwA*zQU]mO,hJ$")j0o~߿}[=7/ڿ7Y%Uo?w);Ҩ=O]=~Rjmy,#pe, e gGx:xi 1~ǡ$=͇z^(W24Vi/xW9`. hH+ګ4x暾 `y9do/Qh ih:-ev$,ԧy(nٚ-Y?ʼhJjJ,LS-UkCǭo"M77J?3Uwy}D9ݴʸH۶(ĬQq`0Fv00/–ŏ-,MPދB5)mfʉd/
-ͼu}75s<O JFD&.R;w_;nxdv}UML1cdi1=u%F%%0>ʦHz릷4fF\Eh ^
-~ouށ&zҔm
- š 8i-@ܚ;ו`D˿LOTr
-wcm-Q$m2%HcaVzF.UpEKҝr vauZX Q[6@h,TÓ҇p-k =U*IJ-4ס@n2PH0ѩ4?9
-ۢ$_:65T3[*\ ?hWhˬo)YqGT/T2@;pL,e>OC@`}E7uOtje cA>{!-Ex~4mK0QǽjנlխP
---H~D&ֵmͨ&MF7vTIMy WzS@wXbX;VV TiÔ/f_ +:PqӬ? '3gXb1,-‹X蠈F`'<`dѿ O4{{4?T6v@23O7ZWN]
--csX^ì.V7%3vPh3*vxGggA@!1/f{:<
-' J@U$"+\SLVR~,\r]Ws fHEa}eOFF8SnrZ{ :즬t1fr=[mX<E B?06[ACAxX"^9 VʅA|9yR
-nXUapSvޯRwINˍWzGP~hw>2'pB9A!⮐|jBF+5x\Rw
+205 0 obj
+<< /D [ 710 0 R /XYZ 79.37 339.96 null ] >>
+endobj
+709 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F66 388 0 R /F15 381 0 R /F56 384 0 R /F20 376 0 R /F79 703 0 R /F58 386 0 R /F69 402 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+725 0 obj
+<< /Filter /FlateDecode /Length 3487 >>
+stream
+x\ˎ ++Q  vwA*zQU]mO,hJ$")j0o~߿}[=Z~닊zsAhҪyǻ@KiT'}[.{)5Զ<BI22#]x<B}e4^֘JP{Cmhw^s/+suy[SK~~wmڍ
+pYΥYN9H:- ,BΨ-d | 4L*ID薵„*c b PGeme7DR(r$Cm
+,ϒ޳]_n,ʰʵLBR~fF{>M"h em Z֯rGL։rSKo_،u~4p+Le7є8}}d8JRZ 'ȡ@s C0þ:'VX52߱ =}
+" <?m6%`u5Gk
+V(0K`/ l` ~EݙqiohKH&{Gr*] ʒ{y1ި.0S3xfت(4q4"tjwZB~ߐh98q6qJMTPB̕c+'٩41ޔaLG!yY50a` ·Y5fpZ"<ⱙAk')I0M_ jM5[,f[eW-gEX.[ D0q(ͽs6$:%,p MOCry䷰R%4
+蟪0@e{f( Hܷ~1![`|8
+rg[i_D0"w-kx[Bγ1-98`!W #-U-~VO!|!h7
+Ž[1Mu331KPC
+/a~+]̛ ;Y (B ;o<GCϣ`M qĐNq=_
+ȥ@ɾpG|ǵ>(US W//58;䯠̛<nǸXb eG눓+"9nH}QB0fv3ħla)EZd@渾FNwdd|`HwO tup?Fuiz
+r]s|y<>d5i/
+FG+x$֒Bh7X*sH$d,G
+!Qդ~G*:;S<Of˾rG;>J2q3[,;5rz\ |ݏoi­C:jbP.
+P~Kw7Xn><C39)[WD0 _ w4Sp20ZrXE$OF3㯘UgR(\-M U Y7vp"oC?| W
endstream
endobj
-714 0 obj
-<< /Type /Page /Contents 715 0 R /Resources 713 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 717 0 R >>
+724 0 obj
+<< /Type /Page /Contents 725 0 R /Resources 723 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 727 0 R >>
endobj
-717 0 obj
-[ 711 0 R 712 0 R ]
+727 0 obj
+[ 721 0 R 722 0 R ]
endobj
-711 0 obj
+721 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 507.158 110.852 514.132 122.807 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-712 0 obj
+722 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 98.897 126.862 110.852 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-716 0 obj
-<< /D [ 714 0 R /XYZ 78.37 808.885 null ] >>
+726 0 obj
+<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
endobj
-713 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
+723 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-725 0 obj
+735 0 obj
<< /Filter /FlateDecode /Length 3525 >>
stream
-xڽ[͎ )`ڽނS%>׏(SU;qTERG%/o{闇 g._I.[ZwJH._]Jno~O4FKT_>MGúJD.UR .gphcҵew=g eb13DzF*hCs$$A#7\-+>ho௴:zsԻ̎8QjH5e޳3lע
-_5MM2Ea4uaظpú+)<-J"YU4\xN2eKv™Fna#wPVGwSuŁHךY}ZzW/A4ovQЀpj3w7:|ݽ":Sݒ"LA4or',`ZtA:ڨ9(ا&D#U0R.}iJE|Eb)+FQZ$%{'hRi;f _
-,.JuD3D)Bߕ F+VD( W}Mg9>Ao|lCJҵJ; 6yU@dW@ svVytgiy~ϒ[%0Y@NT8BOA
-`eZJQ]]i!W>5*k)>'mn$9X [F5w4ӂc!k6sd˚Zx
-ZᴙhGӹVHxFA%.+7˘󅑛aY{ɟ&.$l#)z7[[NV1rDkX*.i>ޑAYF%Sޮ2ΎkVR]D|[+<yԵѹiV"PwǮ g/AÝ!<֢/Vw
-t6aZ^LM%4X,n[YqEH}ƄKy%܌j|#6*oǝUT&-<Z$W2?E^OX^৔Bњ[g5jϑ6R/J5[ŀ"ڧx_*־ߡᙉ12zqlfKa.^8ƙ ק,F9ĭy!9Ie#T1\Ƞ+~6I)\s(m:/hl$v#!Q~>5{/uO?4!b$Z'A5<bz^DŪY!cN:C|LhN%җJEjR֪mLi@SbMTHA)/_[">4E&${~uCI`T4 +CO#=;mUPꬼTӠ
-K̍7\t`
- { rtJD=-e׏|n~d?YVKl6rLTL݃)co?GtZR[5B$M*vQt 1ZDS P}ʒO <]]#q':և-痴XL5?^aa[(i^gގ'C9s riaZ,>
-3/Z*B kFZ?oĝ4Ywљ HO5]INLMuάMa =/ōNŘSflB1#'B,^w/)FLeҏs<T~Rm;*5[7u++D N6ՠ`cf&_:&~Ζ#0ٱiA}3s͚08"{k&:kKOtǍA]1:ӓj7l}Ydvb H[Q:x3Wintz^oNZ3%%Xt3m6l-{zm h3m'yWFT
- XAu_8w6 0}ip}ga<?;fk<)J:Gv&SPى,]ӿ:[,Qߺ{4KO뙍WJ݆j@n}\75cK:^$UQ&AA݃?0oOF)$ZaN"_ϵ?Wj^9FI,mS'[2<Co-?F$h* i߫b~Ю[k8:k" zn/ǾR`Yy<ϟ"D@܇#jA6WUGf T[ˏjjбEV3<&X6J;fxGΦ~?RPZ o3+~B4Ey#}oK ߁(
+xڽ[͎ )`^`oA|[)rGDn:qTERG%/˯{闇 g.I.[ZwJH.߾_~Jno|O4FKT_>MGúJD.UR .gphcҵew=g eb13DzF*hCs$$A#7\-+>ho௴:zsԻ̎8QjH5e޳3lע
+_5MM2Ea4uaظpú+)<-J"YU4\xN2eKv™Fna#wPVGwSuŁHךY}ZzW/A4ovQЀpj3w7:|ݽ":Sݒ"LA4or',`ZtA:ڨ9(ا&D#U0R.}iJE|Eb)+FQZ$%{'hRi;f _
+,.JuD3D)Bߕ F+VD( W}Mg9>Ao|lCJҵJ; 6yU@dW@ svVytgiy~ϒ[%0Y@NT8BOA
+Ā(*%(T45 Y OȯοZ]ij~25'޹glGgWg2Uȇ?XfnP- v)PR8}T
+3/Z*B kFZ?oĝ4Ywљ HO5]INLMuάMa =/ōAŘSflB1#'B,^w/)FLeҏs<T~Rm;*5[7u++D nz%ؘI?m헎I&1LvoZP \&*/nnZ qqv"=ji ڍ$[E8r٥+,&&,ҖuN7^k }hr}#)B^'sף۫LG<L͝ƛ2ccE~On˝@eFi8þ2|L`D;n;<aTOA^bTjK_d^b)Hn)j`Au8w6 0}ip}ga@?;nk<1J:Hv(SPّ,mӿZ[0Qߺ{4SO jWK݆r@}\w5cKZf$UR&aAݣ?0oOF)$ZaNB_ϵWj^9FI,mS'{2<Co-F%h* i߫bخ?[5l8:k" znO~T`Yy<"DA܇$jA6WUGn¡!T{ˏjбEV3C<&XhO1Zۧ HAi%L?xE
+p
+?n6G^vLXD|e 0՛ {<֌VdO}е[sHu`r[4VR\=a?rꙢZf03~uxpHv=C[t@Xzt:| kϻ L>
+ȸˉex=ŗi
endstream
endobj
-724 0 obj
-<< /Type /Page /Contents 725 0 R /Resources 723 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 727 0 R >>
+734 0 obj
+<< /Type /Page /Contents 735 0 R /Resources 733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 737 0 R >>
endobj
-727 0 obj
-[ 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R ]
+737 0 obj
+[ 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R ]
endobj
-718 0 obj
+728 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.124 508.381 381.079 519.22 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-719 0 obj
+729 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 351.241 357.472 370.947 369.427 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-720 0 obj
+730 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.668 357.472 398.623 369.427 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-721 0 obj
+731 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 310.412 244.527 332.887 256.482 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-722 0 obj
+732 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.609 244.527 360.564 256.482 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-726 0 obj
-<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-205 0 obj
-<< /D [ 724 0 R /XYZ 79.37 490.054 null ] >>
+736 0 obj
+<< /D [ 734 0 R /XYZ 78.37 808.885 null ] >>
endobj
209 0 obj
-<< /D [ 724 0 R /XYZ 79.37 330.558 null ] >>
+<< /D [ 734 0 R /XYZ 79.37 490.054 null ] >>
endobj
213 0 obj
-<< /D [ 724 0 R /XYZ 79.37 291.272 null ] >>
+<< /D [ 734 0 R /XYZ 79.37 330.558 null ] >>
endobj
-723 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F55 379 0 R /F65 383 0 R /F69 398 0 R /F58 382 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+217 0 obj
+<< /D [ 734 0 R /XYZ 79.37 291.272 null ] >>
endobj
-730 0 obj
+733 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F69 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+740 0 obj
<< /Filter /FlateDecode /Length 8481 >>
stream
x]K$qW<tF9&6Q|Z>X>86LZ6I[zg״+$}x?*1_~̗3>o^M,m拹er钢h.|yyK컫<>3JWtIb_AI)& /U#,%1Fd)fb')/l2U/MYtsc;ϽJ
@@ -2900,524 +2984,523 @@ vrf͗>J<Ե7ϓ] [66 ҶJ#^٧)ݒ/7dR\#
=8- t%;؈ze$mL9/0*4 ΢1-u Y@5^|iJ&0} Iz1A\{`{c)Z# ?#!t1'&.Ը7Z
++f@!f =f 3f^7jaT|!ny=CoДїhZt80'7cU~DO$q,n9ZCp8疲5U~,7/yc<a%rvo<}ВrZx}%1h/|sUiAqQ`XKFbJ)ܬ%,}8@Qj^~
-_J/&@>$mSwW[m4z;g&};F-8 l~Z\7{?dR<',˛@m~ jpHe>+Nn문HW%@q . !T =K:%NCܟo;[N e*uuR^m1,CMGv냅,T9εO=nB/ebo?wfq|; l<ȩNiJwjtc:@!SJsf*y;U^;V0A>Pu-0A_4i"^_nZk^@}>)iYxϰ@qstϪ&s3܂ru, pFL)8̔S("[4O{ ͋2=_XFߺ@i4gşURy$,/|O 11nV[)-c"%q:2\fBVc.u1iu -z[Eu\:/do*J?_Ͻu.sm4_0;{y$ ކUvW0<?_|?09v>MyIoK |oMޯ{>q!L`n=6iߺIdr
-APN9&?rJ=7ȃe+xk{MVwywosHm
-pmKQodf3PnSfsU'msod`VhoA&w6S3a6S^9N+twH[ TDZ@ҙh>x5EMUU;;__SC: IˉM ;sSs'!0Ov,a8w̢i V5cOnu jʦ>?
-Yn!>*ǃ%TxspzK{ăuf %󕏖
-wٚ<M䠦Z*>M%U3Χ"<Ú2_e2ON2խGo?KYf7lK?nӭ79n Ж_pR׍gL[~w6^v>#M 7)|S鰫Ƿ21lc<h~;V y,w#u؋!H_xoF, wE(uXlI{ڷO80^ǯqF=%s7eZe=mvgoį/|&wGnwdվ[n`/ֺTM#ww[fu3į۶q*9?uJ|u2`VlnAf}d{}7큾 \l1wGm|Mz;m,˴p쮘wam{ؐ0~ؿŴ:^9y-.XGo9Mfsf;%}DI +m3zln}TƟ"ڋ1Mew7T8tNaw|⌼ iZ:)Putx;.,z Xua<kۚN_ջR!ѵ>X
-e\3az_ZpysGz^uwܹY]ȣ?);GwkE:λc2O~Y~
-]aU"]EjCWR7V}o7#TvknYudZWw`\=خėgKIϹkwv0lG
-VQ2{ 8 KKd!I:NDMyOF+NDYooh#p1[#Ckb (;FD"3,IeF Q0di7r cJ0E׎iY.&jg+,yub2 d+P\8ÜI:"DM&K#U  R[궮82I4Z
-o9C@E0= e$I*d1&iLb*M1,I3#
-Y[A]18Ԃ
-d0ꑁ#\zL91GKP!h8\ը#)5LrP1Łw 5&bP:ES"x lU=Vcdk"fG Θ!jULD>J 6 vL"25b Įb%l#ԓ62H!%.y#lGOBV#pU=w}Hyyxa{zbFX-qHKw;0;wؑHmyz$<ȨŜ`ms<Hz8" s++zሶ;99n/XV0[\$8k3{(J!+",!ZSmKRʎ5qu|IEAAF%mR`FAO+%4Aiјm7|tZ~5%R()asakZ"Gl
- )/&K<K
-sYzr*HG1hW#AVxi*"
-ns=07CCD)z9AjzAV05^GUD|d
-oQi >sŕ+&膪E6'9ߎO1Cmh()k})f,C=h{['kJQRB2e1AVh),x J|r= b1xwsUB-nak Yr܈{ZAmFU4þnTNf ~17ɺΚH7"$0lK s7(* dnQF? sÈxa`RqE1wmT-mx|5=Vddnѣ*"f|jWJx,~v
-?7cBZQR5AVxeTP^&]aC95aia>J?̺ai c̒&GԊ`5ڤbaK ~Q]0AK[9FE%%,lN
-)#g3SvUF6uGKa|FgL.]LYT&sȃJ1B2D5ߖd*onyCyosm6n)5LPYT/%(c!=3xbl51(ZDؠ%FjR1VS7K+D(a6-~ +m80b)(tSwVQ$Cڜ /ZZ5,*f;T)(#vZRSaQ=30I+B3ʜ)fak s̰w 4S+Č(TG=+mP<>n Zc(KŌ‹nJZ$hi#䪘ChVPi,*,~#v}S_3"o%3Rj(b|it"E6,lrrfhDI(s~҆DPײ85pb߱B^/Vɚ +ZZ5˙*R7R
-eFJ]
-Mwłf\di}Y&RRBd$>HװBOOw
-=O{xUi-MLSՉ2ePkZUp5q1B] iffY4ת<&E֑ńLL
-{G8*'\c=+<32+xBޓkJ+mRdNܐ)̀]ժL댁6ߓ
-6i>0EJmQdSZLĤ;OT
- )a _{OzͺE 2%s͓rS45JF>FJh+\4i&?PEJK mRdUZLĤ w\ZUp@YR@3@35C=U,RRBdyR>jY܀=YBh&+ha|牗Z$ڤ4UIa@rG#q3{REkUUEYG.1)%*qTTJ>l:J~l|SJ_ ^'7^!A`vF?NIJ12۫΍w?Fm\ނ}cCx2|kym#/m{VvζaxFJi;rbKlz%7{6A@~T0ɷ:eό0s.Gy:v3ũr"V!aoAX,7()d}S:l߉﷈7"t=6tY„&7֤7\M|̈́ڦJHK'P-3nuސ17g8VG}ˮāXʱ"'K2^Qzv[g4w K3yȯ!Dʑܐkaw6:<IwZLv(0,췞&mbf)d:5Z=]+wjo[2-{bI7 FW|SʡuK;.3=މ0No:$0eEQͭ]_J6~+GӐ`J<dQ;GS@]cM EVQ)X/z>Ku5ԇ0Q;o37NaOfUN{hNB \՟{P̥,w6xQ=unslsC?BjhT!~wݳ{6о+l;x8߈WVE[95ΟU]<UnaI_;ΜOo5O +a0@—(iU [o7äa1<3) ܴOp'G\IQߪzގ@<0RϿIgChV wkοE޾9>)-p*mQV7ᣟCU'C%DARH?nRs*=uCz>!,N".z},|2r
-8濳/dN\;oaD^zauz12 GCvbt7P`t?0[&+Ok u`y$+zZި5᧾jUr|lJ\<zIy*]qVvf62!++ϭhъzg1aD~b)̲!73~ǜg]vdvǀF;Poz1T%Ծն[ئ<nGKEo-w6ɚZ﫬 8vƕ8w #s|̘p O^ըЫ/_dYƇ
+_J/&@>$mSwW[m4z;g&};F-8 l~Z\7{?dR<',˛@m~ jpHe>+Nn문HW%@q . !T =K:%NCܟo;[N e*uuR^m1,CMGv냅,T9εO=X6-R&6w7ύaWN̷PY̐ͿSX|t*ytF7,Y2 﫮4wnQ%{M`hj5J #oPu+/
+~/75/W >Fݎ,gXOZO8zCygUDE9RnXPkR8ZG#zNOeRfĩU\߄J @,oNj~\Ϫ
+<K>'7_򔖱Hؒ8a~3O!1 ^…iݖBQ:k.gwcFk%ܯ^CS6zKټpAU}oZ*byVS/}[yf;G}]~Ӽ7JG%S7&DEG=z&tjTo]}jy29} z(QwvVN9pƛ_w
+7 ;lzk": }nk=~a'kWm8)_C瞒9ě2-6qd3ڷnWT3#i7偻 \2jߌ[70gk*`&푻[eպm۸׺qo}>ֺIX~uL6[} X~2=ھ@߁.lpMm}Tww6o׶^eZR8v̻06/ulH?_qZKev,syWuheq59lN`ƕ]8Fa}=6ݷ>GןSKky^e&uweM:k2;@AHޅDr4M-j.U::L oIyԺ0kۚRNջR!."ѝ>u
+eAiz_Zpysz^u.wܹY]ȣ?);GwkE;λc2O~Y~
+GaaU]EjCTWRנV}o&TvkYue]ZWw`\%ė^gKϹkww0lGN_VrNvn}a)l/QbUtS{Z7u=e*z*C*[dTi/HHJܜW9\+UwsZ4U2LUxwf.>WXٺ<fϭmO޵+]7$F~v~Gt}~)k_ t;-m<}`V<n1ߺto+7\z;;iIT]|򔭿a'ߖht8R|\ TWe} Tm]]S|nʅt7?]"F%{H
+~D!5,Hӣ-R%o<ioeM7"a6 S(7.$էzd]N kDeM [MOwbf;s7ޥ@U!e0n[?;1w<hݱT}} 0&$`>N :X {~IC+wurIWuҮͱ6l:oӽOHLFh6 GPZG馭T8X:w U|BUCkz Lh6v:T:"IݡW
+~ 3^,~o:iM Pb*g_wDSq:}#RrZ_(O^nIvaNOn>&R1nrOђr=&7_`Np_(9N&c$<rI(Ӗ/v%? S9j
+SBbh[o Z D$8zIɳdpA*CtL(Wl,!1(F"b9F͇*@PPv
+O֔HQ dʶc=9bSX)2ە64{Ŕc8?8DZZ$hiC䪹"kƍ6h0߇})1/fݨ0copsu5(nDH`ؖ@L;n;QT
+,q
+ .K8*cǍèbfۨ ;Z9F-jzA0
+oGUD@qծX} d2c~"n^1Hѣ jηḘ=ʨaLʻ†$rkA%ê|ʕ+ ~u"!GK1ǘ%_M8 Y6jIłiaٗXa8BZ/-sԍT3JJX؜
+0LC.{f8^om:c$QA!K3ԤcoV(eQl[`Wp`0SP`]2H 0Q'H̵9%^kYrÜwJ!4S+4SPF#J g`
+GdU1#)5LOYTXF2
+ >uDhKfXQ>閩E%mX\5-kЈ8Q>5Qw eq8kľc^5%Vk3Uo
+x=̺Qj [cȜfSj M Pi,*K[wZK5ӼL.cN1Vɜ)^ak sռw&'1?9=PC?bE m iȺՀVY6)2ʽ[ߴx$@ 9v[Lk654j^L{M1 xɸI|U ,a˅Dzj<,_Z@7d$3rd)G$k
+b`ջbAFt
+'\m64}`Zڢ:`I/wL0qS]1O(^1u]-LՉ.eK'hjdq|X }W,hʯL~Zڤ:I!@rG#qҳs]1#㥀ffYmmkzX1 xX|db{\ L~W,<@~/5*-HIi:1!€ޑ%jU)&G2f`
+?-hѫ56)*-&\bRKU⨨*dq|\tp@Oo<QT4(>e 2~^cd']/܍ڸ85h_oǜWleL51NF^w D9m 0XEb6vĄF nX6^Nk m>ozot\Ca\(tfbS>BE v˭C˜4"WYxmTRt|J:<m?"oHzl鲄 M*nIoԛ$ MM^nsNZf!cnxqqqy˯{]McyENgֽO-ue\=^%Hr Xiif,_C݉ #!Cׂ1<@mv-,ux1D~<P`X~oMh>Suj{6GVAԪ3$3A8d@[^Œ^~oRō&ZVZ5CЗv]gzXaǝ*LCuH~a\ߛ[l;W8!p)yv@2ZO
+疕~\nШtwC&o7lt}W>mvaϕpdCrj?`x’v89r'Väa$/3{QҪ6)>nI0cٍyg0S8Wi9O~ɏfm| ;c3[U۱`f]!l(٣cۊn>7gZ2.X}-X<&|^c}547ZCC_@
+ǍXj~_񘸼u5Rׇp>Dۘʼn^<9ZŵOF΃[gwezڛ݉k-ȫQ/V/FahNf
+ גsrp- 6dw%POUw<W-CXMG[o\6)OeSˀ2^F&dew๵-Zq^ \#&O;Yv0dCuˎlP|yM 1Uכڷ=\ޡv~ ۔hɾvTڦ}9YS}nܸ}~΢:c~osɫuzE,C
endstream
endobj
-729 0 obj
-<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R >>
-endobj
-731 0 obj
-<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
+739 0 obj
+<< /Type /Page /Contents 740 0 R /Resources 738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R >>
endobj
-217 0 obj
-<< /D [ 729 0 R /XYZ 79.37 616.209 null ] >>
+741 0 obj
+<< /D [ 739 0 R /XYZ 78.37 808.885 null ] >>
endobj
221 0 obj
-<< /D [ 729 0 R /XYZ 79.37 446.032 null ] >>
+<< /D [ 739 0 R /XYZ 79.37 616.209 null ] >>
endobj
225 0 obj
-<< /D [ 729 0 R /XYZ 79.37 260.473 null ] >>
+<< /D [ 739 0 R /XYZ 79.37 446.032 null ] >>
endobj
-728 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F69 398 0 R /F23 375 0 R /F66 384 0 R /F70 399 0 R /F29 371 0 R /F51 376 0 R /F52 372 0 R /F20 378 0 R /F57 381 0 R /F26 400 0 R >> /ProcSet [ /PDF /Text ] >>
+229 0 obj
+<< /D [ 739 0 R /XYZ 79.37 260.473 null ] >>
endobj
-735 0 obj
-<< /Filter /FlateDecode /Length 5116 >>
-stream
-x]Ko$WA
-?yM*zVӻzzӳ46[5z }Qc')cklnc3clhRnCs2<87 tŌB竚d`8 x6kj=ie/fi8@T¥{QWl0˺i%Z#48׃[!64Vl!O'Å/ߋV!=/Ʀ'^?YqUr <3gR6P+f=6ӦԩmLI هސV<.*Kֻ
-y.j8țv!<Nz_se%"N"bիM[A+%]-s}3Ih{?K/{CWU{r{uSb 9{EO*&ap$ >꾦/\{53]<S6 @ÖBOZ
-`SXL$8W+ؘ'3y&ί`M]C9
-0}=L^)@n*~
-ii+M4'
-؊yXCs4j
-Z5 vPCAlnP:Zz;Pc
-(>*zC)
-(.*:A)p+ TE0(F͐'0W/ ͏_ +a׋7G v>h!!Jpt@OclE8Kg:դ皷֌[?6;:Eҁ]<9ֹ\}nk3,rG\HOêp]-X<*B0S7p#€R%4݈>+nJyjEv$%=9\P) ~)OVx\#u!ǩOxR>yoK916=b)l
-N L]ok0ȼRzoi F B Vz$'wH0+@p fuo1.pIvp`=8>+ qo]0g t*2]0Co]0]e6vyنA%l31{|9o`z ό?QWU',h:9
-
-a3y%΁XM}nc"vsy|d́;nFNz<~iLp; ӘPw_;5
-8NTI1'읆-ɿg$,cL=vFx_4&v8T|KiLo;x'A$||kQӫ/2%(4];ꗄSt8+Y t":vQ(ݡrЎ# 8^dB=rgXD3^2@y͸$,un/ٿ=3}㨰w^3~)}eVʉ>ן[
-6j}cOiM|;xH[nSRCn?rB\ a Lj-~]3cٺFW-u]T;ІoK\yF,Ư4x[iߪbL8lL OOMzlt9Q.FQdqMeLlBdu߳8!~m 'C@u l_Mfk
-[N}=lcz2{qw K{+ck4O9 jG>.}fǦ ,Sl|ͣ%i \$B, 'M|~َ\wêRҩd ̢ϭ`7pAh)_.j'/݋d[r \餿Ti
-9*/v8eWT;;VHdt|<;V~$uە~[V
-vLd3o3I& D#0:ouV3qO]Z}&]&Z7Z~[mSI'C;dex=^,3hg"`W58I:їkT0kn_Y睗|sw I!7k)' \ Sa7eHѻy{yq9E޽,+|%N>9K9g2G$Eލy1bD<o8t#:rf(ˢfc3iF3lҚ٠ZWeN_ISMaOQ`GYE~lշ6s6 _gg 9[#3c63L\vOSldz6F-rY+o{O_&-hӨ <bB[~,,^VΨ4AB|)|1Rq,uN\@ςpVoa6#PYCcBok
-7U*#>Se1g&+7- P
-+a!Xz nFj#,+iMs/S(|jqľ8
-֌ζAFp+3m&xQu:۾lĨ֡p
-_&w*8 ޱs(0&ow(02SPv(0&ݩ(ؔ~+yqy|n, PP]q Zh, wcmShgn[ aY<6!0eMOI{x߲9tfqɜ l-u& /Nrg
-([Вc$ja&RdAYW?G'>z TQ`3l+`ƛ;) ^JɆ/(tLcb O ŻU2撥`X$2b$~rm2 ҧQ".Ow_x 1D4a ˕og6cg!J
-~t^CV~DI!Rl}/}
-0jп/;x+Md[h'R~cbp[wƨMrn =mj<ܟ s̩s=~3f)[
-J1h8w5sJ)gMd}'CVCڴ-88g,"GqyRKVKS…۶آ9Ly(|mHD[> dx'uͶW)k+;z_j
-DŽ*K(jQ+O{s^s{,_NU8FgjdUufysLUgL 27$lS8jiI^H)Rffu]}J)/2"ƖQ:dn?4K_I/?)Ƶ"׸:{缭'asчg i*AbSetNQJ)?yRlM,a+'+g&'+II 9B621Ow#3ӾZqfZ:跈wֈܙ nl˙+Ryt6R
+738 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F19 379 0 R /F66 388 0 R /F70 403 0 R /F25 375 0 R /F17 380 0 R /F20 376 0 R /F16 382 0 R /F57 385 0 R /F22 404 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+745 0 obj
+<< /Filter /FlateDecode /Length 5114 >>
+stream
+x]Ko$ Wq3{<^` sKrS~H=(J qWSHQ%}T~/wzacN/| LYӗ97s̫0iۂq.>~(g O#> ʙJsny!Q@I)`՝kΌ~j@5(5<pZKO|_ēMO݉CȒE.(ș֊53'|ef-R\1Us3J1qiIet0Yo:
+?yM*zVӻzzӳ46[5z }Qc')cklnc3clhRnCs2<87 tŌB竚d`8 x6kj=ie/fi8@T¥{QWl0˺i%Z#48׃[!64Vl!O'Å/ߋV!=/Ʀ'^?YqUr+Β3)3軓f=6ԩmLI هސx%o]th7i_JljҙNts{K;Kyge`3g@e!6_SV́"y3)k&]_3zG.ākic0%'@j?W^{bVz.Cg2',9̏Y|<#(zr!SP&eu҇OԍկC=ZS]=?oخ_:斠77voVoS8'Ы0#(34[U*2&t')iyRN Z)}S׹h*Pĥ D &uM9⬤P_~@((Qe3}r,x1]4rbBߡy!jX3ONSZYt.J?$VY|F1S6nnfowyD[IJEpE$+%ĪWdWJ,Zw fКNAݗ_ ^=~r2vTL*LIL}j}M[_.1ak)fxl.$a"-Pp6Hp*V1OfBM_a]9V5iss`azXRT@C. + W
+P
+hO(
+q#tMrUڿu8?#o\}zzD' *%/8
+OskDBB.8O*_'~`)6f4[TV>-@e97hxZ4@
+bI0)]4c?ޏDZYs 2j>dCXSiU qXya WXC 8ArABaJ`dI00e$$J G`&Xfp
+]\bKI ç3r!JDFilBC͵<VW\ZQ:a9-1芢`ºv-R&'
+QD\~/@u۶g?pcZn0!Vk@NҁgYpE=G
+XX:5lY56h8S{,|P@u=J3mZa^:G%,wgg
+LgG}j#P5oJa~Bvm?)„hFǼ>tp&0+yZ˹oܶ]FS1s˷m*I"dh ^e _C쪦'iR[}q9r
+f-+=oNݳ! 6sm89DAc<a506ҹ1z4`/ .ȻeQ$)'v)Lհhۻ1ov3F nD״ZleYll<#{6v&hM_WZ3[+xʶ#8
+(ȯm#6f&쌒A2gk~ff0|_]i}xVf(E.rro=x%bܖ}ZYLhw/e˪9W5fa2H9=?=Eځ/F*<>\r"e6|‰kY04*-f+zhB^Q-u q̊a<<Oي/UWD]IG0Gڸ[
+7U*#>Se1g&+7- P
++a!Xz j" ^PGXW$aiӚ\Q_/Q}qmřڍ VjgڦMu}ـQC!nC< á@ 7LT~q
+cP`L2PP`Ler
+-
+xP`L<SQ()V( ,HX 
+$󡺦0X`m%86v0JN+<mg S7-Cg̹0:~Pg$wr,e-Y0LFj!Nv$j+u?s;xbèI\>S)z6RnR॔lL9\.^[_/sk.Y
+6|ѬoK/-AjQ.&0!+}%btg[c<LD0\fxFis{?vL: h+@gU9d%M"6'ا
+{A
+:0x|OS>@z] l}»opL8r:}Ի05*Tlt6K&^+Ym6Y7g ɔX|6[p)sSnK6晖T"efVާ"c,blNC ϙ"< |~b\ ,~c+ؿ}N09яL3om4$6UFūěӜ'%IΖrr~qnr(d#Dy-<23Ej70k%9+z ~x;ļ)vҼz DX
+U
endstream
endobj
-734 0 obj
-<< /Type /Page /Contents 735 0 R /Resources 733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 738 0 R >>
+744 0 obj
+<< /Type /Page /Contents 745 0 R /Resources 743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 748 0 R >>
endobj
-738 0 obj
-[ 732 0 R ]
+748 0 obj
+[ 742 0 R ]
endobj
-732 0 obj
+742 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.438 67.03 282.895 78.488 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-736 0 obj
-<< /D [ 734 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-229 0 obj
-<< /D [ 734 0 R /XYZ 79.37 771.024 null ] >>
+746 0 obj
+<< /D [ 744 0 R /XYZ 78.37 808.885 null ] >>
endobj
233 0 obj
-<< /D [ 734 0 R /XYZ 79.37 353.704 null ] >>
+<< /D [ 744 0 R /XYZ 79.37 771.024 null ] >>
endobj
-733 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F58 382 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F52 372 0 R /F41 373 0 R /F51 376 0 R /F53 638 0 R /F42 374 0 R /F43 737 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+237 0 obj
+<< /D [ 744 0 R /XYZ 79.37 353.704 null ] >>
endobj
-746 0 obj
+743 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F17 380 0 R /F23 646 0 R /F21 378 0 R /F24 747 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+756 0 obj
<< /Filter /FlateDecode /Length 5030 >>
stream
-x]9d9W9k}@3A6`m0KZ}RGJ)=m0jԑ>T/o_>EK`J/_A ~R`܊˗.|B>jy$\3@͵\IέtqnOW d3JlX}owGzZ3;ZNƆ7$cgRr;/u36h9s@ia4S2-X5*Ofݚ֘J'fyĿc瑑L#e! 3>dSm;|tT >yfg5KXSJi )Y0/o69wvl,cJ*ΤTxY*8S& $sQlJ쩎3fGs9;򧫰v_B3h REE&aBpeœ>Il)ҫ[D,:ԲGOG1dYjunQ9MFkk PT.6(fJ|βɓO pHC|dyfgs&*0[xA޴]60XK7R
-#D6of'JP;}L ]!h>]("/[oQ^8$QIy˴U!@DsjXSawf^0 *x.BePW2{F2I1mbC6÷ '/f-<ZMвh#Z)ƉC?k<~4jkL"MoXmj SXb-dIOX8o v| ڔ:PF8)#G)}+m
-9Rpt`Q( OCl@z>!
-x jGYxs ˔ ^ܡ0uȚ~&Dt@6<r/T.opwCn/8:kutS$)c*e]ag89j.azSnR``Bbm+Ϥgc "ʛY,Evb\.ZFNW3C`1'.MQr !UZ|F?4:h'B_<77 \_d
-&&<ӶD9ZۙQ֧ki#dۮ; ck2$SD? M=z| qn3Ea%d-W :vct_ p+yEC ҩ':kٟ71X뉙]c fvaӰf>
-N0XC7ClPɜαסs[sl͌UOþNaNq*M.][FY]V?V)*:X=YXp,Jl|f-#cZg){Vkf^ldS46l-l B:N.K& @ٛoq"{_" Fm6r뷼I#AcXcz VVZ.jTrqu#~gVvAaٵs:QUaJmк9gRomZڲyg&!0iuGlWTxsPwtgny΀:ctZ{~R'hI?-vRwqMP1N&Kԥ~;υm՝f\fT9-JJ烞}2ZTt[0NIpĽ賄 z֞
-˱=#znϢ,S[P' Roz".,rHovԊU|8#a~va`%]/(LPn~HҨdV@w&Z%u,\o.|KsYrLAG I0r?5+ .HU{ɸST C'>$
-
-y'
-g>T|̄Į`J+1/𕻒O֢R3F[]f:L (S3?c=Rd(_tw(*dZ̞ڶϠ%VfE64ioOv,eW]\z^F9j}D`"~ƹ )a 4
-޺\
-'U5}k. ƂJt9E6[ϙ-L/>fUc)lbkI/)MM "q+5.HPM9e˱=љ]1+䪆x"*kב5 Iogq>,}Ӗ93vS. `"Wp]*y#n<ԭڪҠXk# τ[7 =y<F w=.M<q Բ8^&^|)n;z@-- >#S<Y4(O%G.ifE,>|_/_34 \jWŅgԒ(<' fb6]w^I
-OFgEr ߪnPZO .˳#:ZvWE5̔fZA)2
+x]9d9W9k}@3A6`m0KZ}RGJ)=m0jԑ>T/o_>EK`J/_A ~R`܊˗.|B>jy$\3@͵\IέtqnOW d3JlX}owGzZ3;ZNƆ7$cgRr;/u36h9s@ia4S2-X5*Ofݚ֘J'fyĿc瑑L#e! 3>dSm;|tT >yXR8ߔaZBJFaN7[,KbdyG3U!-:|Jf=Δ C<ɜ~ۺm;){LќbΎ*W <xEQ oyؽa0'>
+ uh^7G k5 E$
+oqyOZ"ϱHӛ;A[wT0lq
+x jGYxs ˔ ^ܡ0uȚ~&Dt@6<r/T.opwCCC6_@7KY^2\V'/,`ZQMI[JihZ} 6V8m r/2&yt`vb\et53O
+sp%p
+RZZ%oCq")ųЋMxCiюnpEJMpk#3Oā)u~/3fjkG8@[3͑\Xf*R^R7~nI26H7_ ^SiChtq~OFs- $RKY:xk?%ŚS)~!:]R4o;ZU01癶m~&Ό>]SN8a%vQpO𮆮[K!(%Aehk`ssy.
+ۜ.q%Ӧ@lF_W ̴[[]\ȼ[iS/:'nN=щX o~ZOk80 5qWp٠zgd̀m~/FOdw}]]KܒXCȅtf4hf\uzWt
++0Gt WY?nL݆ǸXv2j\2YEg'K7EcmMFr,boߞmX+{lpJA6٦% zy_UǩX%ziDZHy6{Ӓ?2SdK/H Fn=֧HV+ey<Ʀƅkzvt;řբB%}Xz5~@vc}!f~TUq.AT[۱ll~&ل鹉 uzc]>-vp6=nYjd^3dX/oԩI?jO|gu\oqLr5򁧓uߎ:sa[muo2&8}N˷fwgu߰$n:ݖ4LhfR'q%:~?,a8rlȡۤ峸-,S[P' Roz".,rHovԊU|8#+gwn\Bѵ
+e7/*Hf kZOhpˇ.id3-$aPnԈZ0xV>s
+ n/W%N:RSarN7Tzj{w#)b
+y'W0PP{=X
+q(
+v%eAȱilGdMœҰ tۀ'3Ԍqo]9(1<X䮅㜓])(YV2%EP8)0c& vS^a|ܕL|rO4?շ\@0*6չgO8D9ݜڞD끖$G ۠CQ!;d<ֶ}-a2.I {`)՛2-Q; q_3 oO Khh\7
+Řvj\RKR? 7z%%:`a?n_փ;vC]п2yP'8>euVw-]×ݽ$[K wok9{uBlo!!t;Ũi Z& jDȩ{Gm Xr /]zpo];$[dof[␺q7"Y )ړn\,)(o}.HATM];MZ3 ?/II:_  qؚ"sWߖO_ yF,Wb81yc_"~isx,ʽŚW3Q+Zlq`:u\.F%k2B}L:XԤX\g{Yn"1IOi /uWWmxAG$8@)u`+yX'N[6gt)$ VUGJ?R$a 
+eDR{x֦ś.r
endstream
endobj
-745 0 obj
-<< /Type /Page /Contents 746 0 R /Resources 744 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 749 0 R >>
+755 0 obj
+<< /Type /Page /Contents 756 0 R /Resources 754 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 759 0 R >>
endobj
-749 0 obj
-[ 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R ]
+759 0 obj
+[ 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R ]
endobj
-739 0 obj
+749 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.065 666.125 242.02 678.08 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-740 0 obj
+750 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 257.741 666.125 269.696 678.08 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-741 0 obj
+751 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.692 551.065 217.647 563.02 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-742 0 obj
+752 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 355.086 551.065 367.041 563.02 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-743 0 obj
+753 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.024 539.109 329.979 551.065 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-747 0 obj
-<< /D [ 745 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-237 0 obj
-<< /D [ 745 0 R /XYZ 79.37 647.799 null ] >>
+757 0 obj
+<< /D [ 755 0 R /XYZ 78.37 808.885 null ] >>
endobj
241 0 obj
-<< /D [ 745 0 R /XYZ 79.37 197.296 null ] >>
+<< /D [ 755 0 R /XYZ 79.37 647.799 null ] >>
endobj
-744 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F23 375 0 R /F55 379 0 R /F69 398 0 R /F58 382 0 R /F29 371 0 R /F82 748 0 R /F51 376 0 R /F52 372 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+245 0 obj
+<< /D [ 755 0 R /XYZ 79.37 197.296 null ] >>
endobj
-755 0 obj
-<< /Filter /FlateDecode /Length 4407 >>
-stream
-x˒#>_R~TMkdYO!qbM! jif7[{
-8o͉y3|fŲQ
-%! UP'4fjT$>9^* *5p%
-<bv;_&v wkޞD]?)E~u PN3v zĄjLY\,CZ,Ae$M Dg 8TD/ZGL JEbO311ৈ&Y'?N̷tRu̼̒4~fo C,iVx$$U>sQ^pl_ 6Ƚm22gfy,:G2:ʀzA+*᷿~~xJ`݌p(!Rʒ4 hJ>lyEtW |ӅL{%є64޶9#sdo<VUm1{bE0ÉzWI{սe1"nt&j/c&˔zᝥ_`UG{N"\KcGqF#ݛQHGwD™t846k2B<Bȱb?\N!|$Lj1 zD s`'>'_&i`A$\ FkO%cN.HsVO|9)%S!;W6>ͅhg6=܊(9]ݓ&jsLs7.Je)~ &1 GXYIqJ ۦ!E=Z9Aѷ,”gu܍N+M7QLq :%NI!DMlXp&GM4ưM!D=-eN;j4,nF(>3ҍhȖR|_+hvv 4{ZoK?䛞li OIQ1ү*,J"#aL
-t`vB?
-0*حa+f > pÂYpg5j }[P %J0,Hihn20is(
-}
-wOdqtzO"}{I#@=R> ]/A >]{]6|SVI}1Nw]1^U) a T>WI+ך|$8I<KbTXV9HCyбJ2fD/D'b9޷M%ǂn&
-羻_V(u%>rt65o*mureʉB*qn6FJ+8Q|<DrؙdgF&O5vu 9 N/fȦAa;ȈDq̓jBe6﮻# .ltN܍N#-th -)' nIU2R+.^eg %>ƯO4\liZf|WB1ϫ\3ySUQ{.FsH~p4r΃^dkAKX|WoZ~@0ۙoܯH&6^Lʌ%B KƚX
-CE^U TCԬ>IqZU5[Q}giV?s5>^ܩf:r]U:f'iWlOFQ5%>\S[i̽bY}*eimXpQ{.
-n
-۠|+ULplH2Mɞ}~bה@攮
-%D\/hR2`wWXRu%Tb+V#_}Cvv8[ږbWCh|?sBdu3&+~R oboOޗ |<wLnE%3ġ~dQO!HӸzcPhJ ^?*Ǧ.~kTFʄ:GZVAVש_i*J-$A܇MʟU5z/l1cM5F 85I=&*K;\|v|quc|Y/d^F56? IUeԚuLxzttn!yD,8-{=:nS
+754 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F25 375 0 R /F82 758 0 R /F17 380 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+765 0 obj
+<< /Filter /FlateDecode /Length 4322 >>
+stream
+xˎ>_GA
+}*B 珧) ULNjSr <+g ?&27eR
+P Ťq]0=ڶ_Eϰs@}3 l%'s ;gum&-5-
+R{lM$Gr[ ۳b{:8eq8G1أɺCPĬM;KD9hN!|a;MROؽ`ll툽 z ,bw;,&m.Pu@St<'쾖9s= .v;u>?+N
+XK@sY(/,}bhr1ܭ;Y8\onZc䏡NydQU/~(sV4'\1ɩ4t{o,c&M(Os˓9&2坆e(bHa^QUH0ZJ6).3B}͓ODJ)!^S|kb-KbSakU St_z!b[,ZPJM)!뀆ЕC~i!c0(IJXnYHP2GJd76T0ObQʸBS*ɷ**WER]~bт2&cɲZIQ3[e`YQ
+6@#Vecej5F7n6" b3PF.=B23tZwk"I>% 5I\Y\<C2{HD $:I*! Ba\ ^Fj!NբuNnzmURhmRNe_dhNj,tZF9_W&ngLE㕓_P݋ug%]`?,m˵8$i-2ϫ\y*J菚n Py3uȼoYWu7\WGE\q^k,5:[>"P[$/誰Jj͐-+kz)<i% a&j!m91HD^Iq qJ/rF׍qKAI~Oih έlKq!?u_c
+!`7'ٻsqONd_,W=
+W`a PԣHTNMnoF*Qc*pȄjc܂n8 խ9Kŀ3&uE[5Ehd4 3d.q]N6[\XمKf،)RA*
+P^k8gb
+ۥ|ȧygYaxrX3C~UaS/'~ɳ-XSЋ&L=RD-7}*SF3hWKs
+w(]'oJOB%iB!e-qZ}WDz#]·V!mi
+g~p
+u@knJá'mVS`w^nDI8 dzv lj~˽Op,J`}Ɓ2>DZOeAԮ&(
+m*@?r2:kb>GCHKW+)kf201I"DRi=(wn#ƒH ҥ~x"s:u@IsA+{%2n9늹Fݠ5Scs2b 'ȯ6'Fg<-rQEԫ$›Q
+~\m*ϒWJSc撰ˉzbnԡnA8Tdk[R=M w!WNN,SBC**"~rpX@qjqTf9eԎ˻G;^3\)؊M>wIHwNo8iDn0^(oWG:!]ꢖϴD8M*%y?<6Q9ֱҤb"GV<gHs"Q{!J.K)5P8>9%iól:p;^f,;pV~
+nC֫7_.6Tg۵kZǎ&^ ^N\.+|DKٲM+BbZr ;Œ^ՂklV0f eOD cҴI[S95>lvG)>,]>ml5fl>is:-;JRs6^/)sCX&pQZ%nIU;nXTo/J!o ͝`p X'vmZĚjçHVMQud=[ƒi 8Kb ?9p׫p[*>Բy[*"!8wvD@:,ږ@tǾ'N%iL9#53tv
+ <Cq }R- ޚ=@a r' _,ABK; rx7gi'W*f*kf C̬rlp(zblr(f̎t45}gáM3[1}'ˡ-3;{cfShL+=y,۝di! ,fd9C $Cv!h1/fTwUuMFcM4\vsPZ+M&؏:<f`/g쁻M8|\3YM=$_ji{Rꍵ 蘲Bsm绎h .4!Jؗݰ`1gM(<*f] 4Iݕ<Ku囯*~2Ǖh/ /̽&EYjZw`R>jHw5^5{vͱ<9ҴK[W\?d\@+7LNnT.ەv(Qӟ}(
+]i(Vsנ˸NYS[rHPz%X.OAd1=72ug†7ݢћoWo5rJޓмx` 0]LH|L-.K,8n\x9lk
+c?|\.'_k&-B,ObQ# 8o?afJωh, Kd{Q;:IC )mo:(z\΀-!?P@RԌǻ-e(<39oDs4Vl#$G n΁Gۜ[<FtNFneϨ|#P>Oq]>[tmfKT⑆0A#Qc6,JLTƧ%p3xw+7q|%~Z^“"d# tڍ. sNLCUxx4 P\ӘlN.\Ɋb<Zv
+ؽz&FۤE|CJx͕{aF>Sv"2O42j6<J Zn͠evI7ڸ^ ,
+9z@>
+H
endstream
endobj
-754 0 obj
-<< /Type /Page /Contents 755 0 R /Resources 753 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 757 0 R >>
+764 0 obj
+<< /Type /Page /Contents 765 0 R /Resources 763 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 767 0 R >>
endobj
-757 0 obj
-[ 750 0 R 751 0 R 752 0 R ]
+767 0 obj
+[ 760 0 R 761 0 R 762 0 R ]
endobj
-750 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.687 466.68 429.642 478.635 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+760 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.687 468.035 429.642 479.99 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-751 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.973 454.725 439.928 466.68 ]/A << /S /GoTo /D (section.11) >> >>
+761 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.973 456.08 439.928 468.035 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-752 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 233.622 195.298 434.369 206.486 ]
+762 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 233.622 196.653 434.369 207.841 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(tex.stackexchange.com/questions/488566)>>
>>
endobj
-756 0 obj
-<< /D [ 754 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-245 0 obj
-<< /D [ 754 0 R /XYZ 79.37 587.905 null ] >>
+766 0 obj
+<< /D [ 764 0 R /XYZ 78.37 808.885 null ] >>
endobj
249 0 obj
-<< /D [ 754 0 R /XYZ 79.37 436.398 null ] >>
+<< /D [ 764 0 R /XYZ 79.37 589.26 null ] >>
endobj
253 0 obj
-<< /D [ 754 0 R /XYZ 79.37 265.743 null ] >>
+<< /D [ 764 0 R /XYZ 79.37 437.753 null ] >>
endobj
-753 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F58 382 0 R /F67 385 0 R /F69 398 0 R /F55 379 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+257 0 obj
+<< /D [ 764 0 R /XYZ 79.37 267.098 null ] >>
endobj
-764 0 obj
-<< /Filter /FlateDecode /Length 4970 >>
-stream
-x=Ɏ\w}EE(V*U xN f32Ч .AFgT%"+Oy/.ޔ8}w
-_ț(y/RZR6W2>_`Gʧ?Ş[O[/87W'T}|~zY>5;5卹pΛB%/
-6h9FxWuR,3o6.gzJiX`9,0:",a
-M,}8BK6X$P'/$Q +C{iQ.?Hd8+,v[ i,E3h
-ޙ#e42 b#|`l73_RdكZVIz- e3_/QvʄP}/dV@WӚ u aiB GCumQk}R7ݫ5L*-JlF"*9nYqS3VheT^b&~cׇ'wN
-mS 4spZ2cFK$$øqEAɤBv;ÅGd9[j j&)B֌b:vԻC5fJ^Z w:T)L_vlWT}Ud )$IKD^E^x{R!"+aAG#B6}yfO"tbql! ͎ka}0W-h:VŠI:&mn $czF|
-8A57*rK)|d^"_1IWG ֕$P
-2M1+4FҾi>tR9xQ$ <:g}|oV?(5D02~Hp A @cgk1x`=eoPάu]f;Pؗo "*h G {1gݗ-߳sw@ʪ^)^isQdJXu '':p{d.eͽ!~F!k}
-e[0/!ƣ`&Pq j@bA<7 TvfWđJXyyR^:ogB̈́'A#x"PǪN~u~(Feo.Fdʄy|.aeU^:3lĦbټ
-ڴ<Ŗw-XLߟvC˲ } . @0&%UVoԘߘ"mB% ziҭ,yTXěBzO|&Lԣ|C4TS>ia<{6zu6xzn>-+G*1I0^;@4O"
-16Luc|7?XЏNq̨S^ܻeFU&NZ&^J;gJ3i>[ob?g ,d3z:! qkAg.K~?rR&fڲsOY E8P˗wpnD[["u{
-˝жOVF?OIX!̇A݊ҜZgRB0ͭq5?+1 ⻎i=菍$.sWѯ.Sx? k$-eICh%Τ6~v *<}{&io&i'SI{5~ג WmΤg~vz@?Hڛƞ$"<uvI.d'bt5քft˥*P:wLq1.qf:t}}FN `nA8_7tԺN# b
-RTg=Am990~&<4\Lc[JxGO:U-O>Rm
-=F/Ȁ]͚Fw5I$6uԿ -ս\j}-k~;L/ϲ&o{a~m>5y=I \˥ײ&l+i?˚i웤]Cd5y=~Y0N(u٦ײ&l+i?˚i웤]Cd5y=eMxbdpY=͚zY4kr"AA
-Mm/
-f٭:b2v3Y%C;mʽ*T7`^uehrP1'21plsAkftNvE}g$ ر:;dO5kJߟn=B(gSbߍyT(f%v+PTY<,z|ΪK|^t¦GԶ FFv5/]nů)hn܊:43%_upBڣ),[C8cKy-xqYIN. B
- TrFi@VZhGڞ)yru{w"K fy>EQ'dv'GLiT:Yƃde`zYjK#zӅ=
-RrW5*$ښۥ47a^u>\exkV[exkW8#x5eEzj+[WgKaknZ'oW/ę&Z;dE S%0|0*D"L\uBkcle9l濄2|NC
-|>Opx_zQ1d 4T.*5G~ikw2S˛_j
-_jiS•'[~.OWy-:߳,ݾFlV+ߔ ˸@em"_=ִ\KX[U惉\4.
-4G@-/Us&nUbD{SAK6u|HjqZ\q5F0Oiy1&Vjk
-,.YKPF߸~{o~1/ɢ1^ȼ݄^I" gzCR@
+763 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+774 0 obj
+<< /Filter /FlateDecode /Length 4963 >>
+stream
+x=Ɏd8vRH$QYـp ژ{ i~dUCVTC&o?}?xSFh?(|!omƫ/<JiAJOmjda}Ŀ(&O=
+?_^q
+o1NJ~zY>5;5/s07JDk_PΏTkj(+/9`'|R0o2 + B-$]d*{3V\ RB{ë(gԓJԫ+0qKrlAx|5~}VGi42sby,'{<v7rps"z,&"Lmr ,Eb}rK%2qi"yWB7YڤIc.AVh#" ؈όޓuTT޼5Y&AB-@$
+2o+ḯC:װ݂P!揶ꨵq
+U' #S{DAKc#.ȰJ[V~䀾L,?%5h9+;_1COGޓ;'9om^-1K$$øqEAɤBv;ÅGd9[j j&)B֌b:vԻC5fJGm3 1Ja2c#4~%3gH!I6X*%*258` N\"YB> `+4{
+ݨ&` yG]hv\ s!
+k%CiR0MB0gG.pHќŁX"t<3\$V$ ,5k"l`4}D7>КoIi3>j@[W>Lv&Js8~&ݬ5ondd\]!|B\-敋*UtDo̰`SR97lA_"Lc$)훶*Cr/"_@
+:[%n6ti}i
+z-2&Ypsx}=Q>V)z\+^㙉sQdnK\u '':p{d.e6;!~F!k}
+e[0/!ƣ`&Pq j@bA<; TvfġJXzyR^:ogB̈́'A#x"PǪN~u~(eo2Ffʄy|2*Ktez/}eDۙ_7bSl^SvF5 Nl"}sו Pv'h12:Sh݀!`Ȧ)C4lx̻?TZ)uߍB$*;0"{Z3D.ώ.ǵcg=1) ndlN!ou* &ߨ?rGᵿ^k@8Kŀ[MAtj'qi<mBC "oq;Fo5'cg85S 4<E:~ﲒ!>vQG>z<.>m SM::9maN]E" &0>KoϥmJlaU5zWK&]0ub;t)}H|9VJy"3NtAD4I)ZWA(+iꥈ0wT|5v)Of-Qb9Ra24n\-Kɴ
+ a>}ڭ(ͩu&/#^B )]bB鿊~m>wZ_'(.!l_#i=KFt(iu&9>kW3I{7I>ߝJڛ 𻖴d؝jӨu&?46D5$iѯ㙤
+WXi#=|G:c4]K6'3TVfx11z_5(kY铬ImoY$)Z{Zքnw._ZeM5t|4kv&4#KeMWҮ_5y7I>4kv&`PMeMWҮ_5y7I>4kv_˚IŬ&{5I&i(Eb˜fH@e Ɠ$m%IT:X Iz4K~Ќc c >ڌ$eIYI*O?0>͓DT\WDuQ ]a }q6T"~UpSJ0xQVJ K܆*lqvʻeq(b?TbkYKifcVC3(uh-RmViyS 5R0'I)-9,T٦P|FGd43xe ^ʞ^>n]>q*{F$RPs^$H5!ݾ>c[a݆^`FݺVO!Hm7#QQB[=: ܫBuF^{1Wv.s"^nm.Br,W܎(Ի[u;iG_יhMW|7-G_pp*۟?\ 7*ln|J⇥PuQ6_oYu`v2 SBV∛"ȮF0|˭U劐:U63%tpBڣ),[C8cKq-xqYIN. B
+ TrFi*AVZjGڞW)yru{w"K f/y>EQ'"l#g4*٬lYAzy=ެdgMb5ݥ= \ L)smNR0o {n.[s2525+O2 "=QIo-+Fѳ57^7'KLmRN"GM[Nf`ajp"[^'DYձvoU؃FD~f>'!s>w~(L8p(OuQ#SO?z4U|MO6L]m}/ToD:•'[~.OWy-:߳FlX+ߔ ˸@nE:z,noWz[;ekopڒkqe*U0^\[ZPip uacTt =rVS< t#QK#5yӰ2MLSqoj]۳v}յ-?Sm-!cu<\J
endstream
endobj
-763 0 obj
-<< /Type /Page /Contents 764 0 R /Resources 762 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 766 0 R >>
+773 0 obj
+<< /Type /Page /Contents 774 0 R /Resources 772 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 776 0 R >>
endobj
-766 0 obj
-[ 758 0 R 759 0 R 760 0 R 761 0 R ]
+776 0 obj
+[ 768 0 R 769 0 R 770 0 R 771 0 R ]
endobj
-758 0 obj
+768 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 256.857 85.96 267.313 97.417 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-759 0 obj
+769 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 419.713 85.96 430.17 97.417 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-760 0 obj
+770 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.372 67.03 253.597 78.488 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-761 0 obj
+771 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.652 67.03 277.109 78.488 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-765 0 obj
-<< /D [ 763 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-257 0 obj
-<< /D [ 763 0 R /XYZ 79.37 771.024 null ] >>
+775 0 obj
+<< /D [ 773 0 R /XYZ 78.37 808.885 null ] >>
endobj
261 0 obj
-<< /D [ 763 0 R /XYZ 79.37 734.627 null ] >>
+<< /D [ 773 0 R /XYZ 79.37 771.024 null ] >>
endobj
-762 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F67 385 0 R /F56 380 0 R /F23 375 0 R /F65 383 0 R /F66 384 0 R /F29 371 0 R /F20 378 0 R /F40 387 0 R /F46 388 0 R /F72 434 0 R >> /ProcSet [ /PDF /Text ] >>
+265 0 obj
+<< /D [ 773 0 R /XYZ 79.37 734.627 null ] >>
endobj
772 0 obj
-<< /Filter /FlateDecode /Length 4202 >>
-stream
-xM$9> !q'MsC`E ÉJUW8*ql_IF^vݯ/QD\>.`N_9wnA^ sR/Ia|wlB`/ݧK3"u"Fy
-.Woa"}~&,?eA0R^KFZZkJ_#h pԾ^xPe /Gnd<-
-5
-&_z(V(UӨ!.4Ϫ(
-%5."Hg2֗HK%iU'4? 1V
-,E[Q3iޓ0o媅 ޅ)']h>B;Ѕ\AXmO˫}^b_~9+;_n(d]M( xQvAfp7
-g3
-|tM朼ȁӺIbZ
-B|^\W%PU0L WmP'a_V:9jX pjTX3]:Fp^@
-Vk4{A0#]1 uyٔ <I6O n_PqeZBCi)j)ݛ/~z5!ү7n LA%WwLoKT!ē~oBxLfRJF&ivhfz
-Nµ
-ᥐ6ĦWqe$B#lpf^Ҭ N@T$DF&%&iPVU$@m2_4U@4V{"x@ 'gT2Ke%,"Sm8Q6Qgvb2bZ?1aQ(̽Cf;YX7B붬p~)VA \,5[$Q
-\(3'n)<á`># &gfDWVָ2CA
-RݙW;:4=)NCy{J[(;)c_>V:Z>e2~~UKXKEȝ^,e%4y*p1%7[pyJ2.]H
-%wF=NP|qL{寏o~^ґK`=ÍQUVDŽ{5O ^lļX~ × ,%ɈuV5IZY0bF2NރyV=,X)Xf jh]M/̲x?YOϐD5|dhr0˜d]5Ge~jj{<a3,'!GV%ܓUلONRIL?
-S{: &)
-f&bI=㴴!~
-3tNV"1=@ϑ-Pnj5Xh5~_Z#,йr>",&Vydn5 ҪC烈tOFFx3ֹ偗Cn('j
-14;'eoZL QâW0 E杗nf
-ќȩY+Y)<Y5'%+OF&m.Ι'gAw/AԖX+|мY;oQJM66U<>:5KxI7nh\NomW(׼5ib7nI}I_LR)K HÚ5F= 8ѐ7o.Sd`&XMY4m7SD=+wk3|h̭S^|cZNy0=es[tZydc@ml~> u$ېWmG~P0 W=q崀` ߞM WG鳻#>`5gwF(wKoX'2K/ ݢ咉4[l
-ե4/! Hl 2uI!^A4zT*ԝŽ|r֓зJy*X
-ΡF
-h996op[+θ|H{WaeJ
-p+eKq$`+Eo`e*j4z+һ*Ik\qf'HI'>*dmU g(5?sfQU]z?X<늝1Mb2(6Nt8IR<}6]~:rHh|<kfsmӍ.qȷ: E1AX스=G7XP۱xtt;VYU'dT.x1 =:u| =BT/'^Dxk(_ٺج|~ qM-N0i5ۻ˷pRCmx(tMEuSZy0}AE
-gbS[G]y,-*ii,\R$h a.fl&W߶!VU
-{rLv]uO=cVeA;_E,|SZyՉ-??+|W
-{u \Ra6vK߆_бmk2l ͕6{ɞD17
-ڞKb1exoC \z+~z=+OR \z*Cр
-4PӣS9q5i)L,JKkXbMfIt
-Z 8\{Z+!jؙNò(\Zm;+!u 52-Y҅
-O%$I2MI1!Y:wn0\L\ZJf13TkP̫Ez\v ESgW#'t F .eqmi-
-:S ѿ"mtQJ c-I=Pte0SǍm}.R{H"bJmiڄ*tږYɫXviL_952OGYn|mz,u3\czsZ5Fc p"Ll&ɻ>
-]\68I~ީϞ;;ثj}w=uo_P9>g2vܮ%|e$ۍw~Uxt@D9kJ>LIc~H^bd[l22NכO[S-=q/<:7zzp\]T BWٿG7- 1
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F67 389 0 R /F56 384 0 R /F19 379 0 R /F65 387 0 R /F66 388 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+782 0 obj
+<< /Filter /FlateDecode /Length 4201 >>
+stream
+xM$9> !q'MsC`E ÉJUW8*ql_IF^vyw(g.N yQ0Nh/F᜻|__o F uMCY)d0yAd6Ic_ӥ\O#pȈ<GH?7׌ʋ"_/Q2
+e߿R.
+.Woa,}/%,Y"<Hx
+x5ąQYEU
+Pxgq:FJAEYSh+B0#{f0{&\р"\ϻP# \hПK\>iyUK<t4"6geG z 偷/w#nЙyz" PlVϹNݜ9sZw3ILYUsϋkX*>
+¡
+&)z4]|᪍$|#lMjX''X n ~?WY
+kfKgbN H@056ӊzFAcc/s+浡N1U2'IWԆK
+|$qkp EY$OO&ʨ9D.gP[Vɸ ]vg99*q%&wJBofQڣ8Yf0IQ43K +Xх':--0Yܓ<Ynfin{v&MH9^|֘gNW'[wB!”1 c]eχ~S.4Q Z{^J[K^EޝnKJa^ 0CU1Z_d{J[m~?6)\} ]zi+#:f+evAjX(7ؚ^,oEʹ.tnϧ1IU*'}MiĐ f.Suvy1Ick:'-;b?6`7\DN!"p$%5&O[wByrr`:4wYSyy԰82LBy祧BwA4D~;rjjpVDiJV,%/OV}>ISlefKsfYyKe1
+4o[A"RS0qr n$t~ D{R7^⍲'W(x#ӛy5oiMlM[joD,kfTʒ&f̈́QO$xd0q;c4[ kDcVqs>Q}O
+&+e>q3fj&<sjߘq:Ly]Vh"g<Є{b-ggst<Gu]0ey6Uۑ)cejrp`9- .d@v·gg,QnH!-X"R/뻣rB(cqwd3$[|GBu)|4K(mD0|äbn]RHpC5ͷ<
+u#_-v;N}Eg~[c7O}Gjoolv[qKwwGFRQ=u)94/T}>A3TTn]PTmsh.Zj=dsŊ3!^/-svXa/\JG ?XJa7XY
+x)<
+/JRz=A2W%noD :a
+Y[B$k5&ʮc͏ܹlT|A8Ϻbgviصb JS'']!)5yO.y߷sy1=1!{+Zmt iExlhEoL"i =G%v,s;+*ݎUVx ՆK}<^L7y6Hi7v<4G7Hɢ^ ʗ~./m36k:._}佅_pBpSˇS!c|Msm 8P6^$#JvqDiy~$ݣq{_{@L6q}{vBQWo9b;Kg˯qmxǭiC` -Tj7I-Hc|c |q6ĪJaPi7uÎgvj,ȣ}o~Z+:cw
+y}/XD tE~D;9\.d_+Mw}&ۋ ʤg/ആ0UxB Y(<Jnt AW`E_Iֿ,k}қ^ӓYyJJSWY׀ L|IgNM fb9U*~\Zm2KSXJmxC-x]T\ T{DtE撨ԊEo;Y ikO ii?͒.Tx*!Ijmin
+hMҹ{wb@R0sZm@f^MN?-ғo`(.=9MM7Jp)k
endstream
endobj
-771 0 obj
-<< /Type /Page /Contents 772 0 R /Resources 770 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 774 0 R >>
+781 0 obj
+<< /Type /Page /Contents 782 0 R /Resources 780 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 707 0 R /Annots 784 0 R >>
endobj
-774 0 obj
-[ 767 0 R 768 0 R 769 0 R ]
+784 0 obj
+[ 777 0 R 778 0 R 779 0 R ]
endobj
-767 0 obj
+777 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.502 521.07 298.19 531.91 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-768 0 obj
+778 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.911 521.07 325.866 531.91 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-769 0 obj
+779 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 486.065 147.626 498.02 158.575 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-773 0 obj
-<< /D [ 771 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-265 0 obj
-<< /D [ 771 0 R /XYZ 79.37 508.112 null ] >>
+783 0 obj
+<< /D [ 781 0 R /XYZ 78.37 808.885 null ] >>
endobj
269 0 obj
-<< /D [ 771 0 R /XYZ 79.37 415.636 null ] >>
+<< /D [ 781 0 R /XYZ 79.37 508.112 null ] >>
endobj
273 0 obj
-<< /D [ 771 0 R /XYZ 79.37 129.3 null ] >>
+<< /D [ 781 0 R /XYZ 79.37 415.636 null ] >>
endobj
-770 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F23 375 0 R /F20 378 0 R /F15 377 0 R /F56 380 0 R /F67 385 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
+277 0 obj
+<< /D [ 781 0 R /XYZ 79.37 129.3 null ] >>
endobj
-779 0 obj
-<< /Filter /FlateDecode /Length 6917 >>
+780 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+789 0 obj
+<< /Filter /FlateDecode /Length 6928 >>
stream
x]KWe
-+J/(JкTļO.ᯱȰcYC?q1j.ԓ}Qkʟ~=`(aL(x;1xEggD 9oClq '$]] cKS=0f#%05D'X[aU+eVGC?#`9]i !{!@j|ʦ_u[x)eJxRK=銷wކvhBl7zϽ7#.Ҿe=sX+`gpmWPcQcI
-?psNAJ>EmRAIlCKEi$۽ݢ$^EC_1)q
-[0P
-, Q(" RQD€."(] ܃Yatbח$=%#O bExؖJAlJFlKFLn b[Vb++qqԫ _,:G Υ0*,&A+Sa;z%/EˏYIqTL1&5rwZ6x.ruraG-uOo#(,r/ċ d+Zr/E˽`٪y\Kr)Tj#*ТZ +Y^zX9xj{5G-[U/꩝UtU_{U~
-wҴB7P:n(kxK5_+pϹ
-so+1޴[zP)_9QM,,X:@g
-8%j{mo@'uc
-N#@Qr?(agɒ'쨏ړQ\œ\<9g@O@ WLfbLkv,xKԄ!OܠoT'*^euFSJ`0H\4MB̢үAjOT5$.-줜*eoQ>Y<5?[DŸHt%I~-1Jx%_b)SJ̤96
-siȬS~(p&yjv5V*[,.̭ƿ+<rف* f31=eը
-FZUVs2 PcyLcRd}$[\GBsawX-+ ^2 M9UmO8]ƌU~4kGgt̴う
-P.
-A,+lq
-C2
-+n9eg`su{Pvb=&:G ?^l)?8G69CcG Cxb.C8
-29!ΨcMs]߳3+~1JnZIS_2bR.w+Ķ$&V
-b;V2b3_2bJBg` b[Vb++CX$@9A} &+Tx žf؄nͪsA\GDT,Sz`INRуSӃo҃-zp
-k`lAB Ӱ2%/@v*Gsrpl` A"78G-wqROBלQ^sj"|0"TxSi~E
-7"kLFde
-K| uw5S']+kc5(q*mQ6Nv DmD{vr{dɷ (zP%ϵg|vr`&ḮЎ X@v DYOEt\zKczK; G,&<I$I[(y60=P{(5OZga h2]M , ?`;K\X4q9X3],U9Vr-m \?uLDVbqC_2AFoTKDA_D8ϴ2Y@pT/Hb0 3z˞ JoEze -Ԓ9l,E/2!1PBc{(*]Yu<\gmp`{Ɗ|f#
-=_R%S>Ζ/)Ġ5|ɘq/ypt7mrׂGAXt.l_w gRGC`IHW5t"5[#~{J$.5 ԅ G&ks .dEJ >@ 2$JW=PdY5WOEJ =M*fP1aefUQ1t쉲3*ft R%RlGs+eϩ)D>`i>Sd#,MgP1aae#tPsyҕM.Vn
-JϬ@כVԗɎEO۲X)XɈ|ɈZKX e%!6R۱˨ঠƸk\ u҈Zv٘HfU2fMƌZvɘu6fƌJؘ9Z.1SK21Z.1o1=>fw -{.7cq2S\dfIĈۣd*'&'3jĵK>dVDcP;Rf^>>d
-O?Q2D^)E)c
-\N4Qs!I5NQ_8YTW^tI[7,:#e뜄 i8rQ+j|+wrQ*?$,1jR~g*}kJ*y
-ZcShN:]܊upb-o; `,ڟ?ٔPbyÑNDJ[5t$|(WcȟαX63®rW<[
-:' <\$9.GQ-rpkJ!\ hmi &qkwbYVQVnϹ$ʰL4mN, }ۊ92'Z qՇ3uCTL۳sO%SCMBDQ'Vie]uل/[,kTq&xih)(0> K1 ak̓Wgy*~y=UKӟ8BwN)fMXKc,>Y(+o1܃ERpUTt xP8U: KuH`&&ʄ`gT!2ʟ6)+vvVVibGɴ{?5+nv5TRA_d} xR=';4>28}.n1cl*FPCl!s]e<jbksPviknv5@R;y9cxK]W@p7),~Jq.:] df}{.z%Z٫^q툔 xKqO8S2EE"i<ʾp]D`.Q߾4q51f(%NAJwgϾ-m3߷Ik}O԰5u`kKwH.y<_=$5|&PN? o.?/t? n7#;0 `żcS"?N猖U fH£JxPTU_K^6#>H)7nTOL~U6+
-VC_ 1WB|0o7/h:1&;/-HJRlfp%76BrʤlaROgQLh/Uq,SIćG@=pxPgьGcˉ1:8Nˆmc{v_=
-(aOn7U_5ݼucAˋڒ;IowSE=fը.uNzNGm _=C,{l+y{:?tZ߉"w TxhgE-m[j7o4Jf'hAq_Z{~gO{'6 Þ8Ί]BXJ׽?vp` I:$JDIY\t:4OS{2Keu(|6]!;YX h:;ätQ)?Be[IT~/_']qSb`׹e[(Xy|W5sZޥ@92Hw{yzQ[~
++J/(JкTļO.ᯱȰcYC?q1j.ԓ}Qkʟ~=`(aL(x;1xEggD 9oClq '$]] cKS=0f#%05D'X[aU+ea'g|?C?#`9]i !{!@j|ʦ_u[x)eJxRK=銷wކvhBl7zϽ7#.Ҿe=#cKbE e]3B%vdBDM$+L|a;)]zKy&i -LlvtxB} ƤR@8W{uǻ|}mvڢZTk*A΍v`fDe~^B3G|~@?G[G G Y!!_`-ŮEҵÃwlUkP?•ޒw,
+ա~x_$/ÎK5|=𗨟͒We1ٖFĘgk];y+#bJgύ<S&:VP?0#L>P"t}\N9_1q f 㣪JsC3_"+N?s8+*Oҕ0T,1Pꢍ(Rd0})# J]ge'Hg ʢ# oGsZ S($nYTf "zϞ>`8nX8QDba]EPc']+(=`mĮ/IzKF 
+F=Ċ-+ ؎̗6D+Ķ$&V
+b;V2b?}WϿ/Y"uҏKU!T aURY<>Mԃ)WFRvJ^+3zÓXID84bJMjVl;^]83TnÎZ6FPX^.YVj_{OU+b^Sl<G
+DUJEj: X%0q3VPαrZjZ^b%W=iS;߫:j骾VqR+>.M+too}Qo z0'+8Me!Y Rz,SUmƒ!t*
+>BW
+EF˅`_Eї";5caڱ3 Ra͖YHm-BQT{rv<՞6E )- ذbЍ>B*ŒYMrBR
+W"AəRC1Y$E;(xw2]EQ;C`O #=Y*ފuwLk;M%,%](̺fkbuZ[
+J.K ڰmjĶ]amuPQǡarB>S㎈zʳ˸BD=%,4#UGD=ixzE4-^%^izJ:b٣PU*+kgV"aJؤf"<AlJBlb c%#6%#ЬDO۲X)XɈV4= 
+A/T=G yZN<(ǀ{j`z*ne`)4-a^.wizՊ{g<=aB܄,%L_OO1.5/z1Ioy,WK1j)Ao{-AFv: wRj3o܆<K`h\-GXxm<*/g},W}Ḧy18zyJbbe:t暑.9~ϔ%mo|/ǃe 2M
+tC}hG6ԣDQªn%OQ%ϵ'7ԣ'xrώ(:џ1#&x͎ŘXR C*AߨxOT~ꌊ<a*<.I:c#irESI_Ԟt-kH\[I9"WUjޢ|yj4,*?J4[0c @ygK7Sd;,ӕIslҐYQeL>jb(U2XJ#]-͍[qWx: UfbzQxEa29(e9ZV9EǤLIH)؅"DM,1:ZVdJs(( q׫ i4L)XdӃi ]R競W4_};LI~S°̆9.VT go%ojFlm} :Tp+-LBX§Sxz[񥛍#~g=YQkc<vǶfC7$-_מф)SUJaqKPGo̺/y[ufW&`-`Eb?3֗\xXs5'JW=3ΫX~5'JW=7*L%,eJW`޹=r00ve'] ',zM t*~GS~pvm
+s0Ď]pesb=CC?Q*/] ٛ0HggVcܴdĤ&\"V'mYIMvdfdĔ6+Ķ$&V
+b;V2b?I6saMVk.==Ͱ 9&G-U?0b7 1X`%nB`9c3ߤG-[*7<baeJv_v9T98*7n[5σEnpj{1ZrZsrq995 [`E`E 'wc
+[y<I"OQ=l`zQk)6dddX` c~twhrNgXsZې +~ P
+d&;e~5<]fƁF;+Ɖpie.p ĩਲ_`@fL= ͥA•JZ"Ѝ%s"X.^d^'BbJ7k PTfj(ُ?y&(FW9N{>K|-_RAOk19_4o2*7:\0Ej}`'5xïm!jklEj>F`I\kz .seM*& n\.ҕ|*<eI{*&H$kҕzT(;bر4(;b9&egTA:J/ҏ #V=*&ʞS1S$lQ11O- (|n|FY2١bhcFX+\ܦYat7$/1 X e%!6R۱0r"<AlJBlb c%#[Q1MAq׸A61-̈d u151Bl w1s\c 2j#db\cbKcF-{|- 21Z%\.12of%ƐdhHɌ|GCUN&6MNfrkj}LKuNǠv̼7$}|ڟ~ d
+*S$R%DS2
+<הBB@M1E?DŲ6R >:ݞsIa>i*dX7sdweO#9g놨Fͷg;}<:JL]::Ɖ3N tf}/W= #_Yց3LђSPaz}vǗbj֘'J1z[U2zҧ?q/D`9i7cq,}Glttd/O'`⮼ŰrIaVQ-(AV$ /)!ec(şQȴz:h* ؒWڝV^YwZ!;^%.[xFhf"iPI]2K}Шp޻Nvcx9Ĵ󎱩^@A0_RH̥w]#̪ދŇi-~~ZBٵq
+~Xmnrփd5fJA<r$u@ƍ(/?K+,zNF$==ch Y?j*\ kPE'v2G~2ra+A*ff`#f==KUo܄3˔?zҿ Hp\ 8D[}<3Khƣ?xCst|aD= ;/'/izn^:EmɝԤ7;H)Jjyp'=͞!==:uh-Z^wm;zt*iS Iݿz-L57|p~T_M3xfm}8/x=Je=aOXD `u figE.!,%ނw};v0U$YhM%"cs,.:h=ƲYs:Mo>F䝉,,caR:v此o*Wˏ܋/.)10\2O-}S< |N > bc9-߇Yx$ ;=ϊvEH
endstream
endobj
-778 0 obj
-<< /Type /Page /Contents 779 0 R /Resources 777 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 710 0 R /Annots 781 0 R >>
+788 0 obj
+<< /Type /Page /Contents 789 0 R /Resources 787 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 792 0 R >>
endobj
-781 0 obj
-[ 775 0 R ]
+792 0 obj
+[ 785 0 R ]
endobj
-775 0 obj
+785 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 121.109 98.706 132.566 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-780 0 obj
-<< /D [ 778 0 R /XYZ 78.37 808.885 null ] >>
+790 0 obj
+<< /D [ 788 0 R /XYZ 78.37 808.885 null ] >>
endobj
-777 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F29 371 0 R /F23 375 0 R /F20 378 0 R /F67 385 0 R /F30 365 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+787 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F67 389 0 R /F38 369 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-785 0 obj
-<< /Filter /FlateDecode /Length 6978 >>
-stream
-x=ێdqh!h 2zl"9WT,ޚ3فl,fg]7"O"t>_? s ,Xi?_iJ/ȹ|\K#FOH
-fTPB,d! $ ʁ xP
-x-~88j^2D1RA  itiQ3xًHՄ={38E":1OJwo7`=sQΩO+4F|s#J;[wI9C lՁ ,{'Nм'’w? Zl`>3{ %X{
-.ٛHApzsV^ ]s=`[sݝwBh-lFmb\=KSWqځUhuݩthEw=mީv.f-?%~
-}.ȓʪ:åkK). .UcF
-N(Qu)k
-zoΚp`%
-^ɋQ3m"z/CydvȵRyilI.)ǧZ!{Ą>S(p3 A8a]B/(Kw^ȵP9$x6qf sf3W!uNDL'|6Uh'~1 i
-l4Ѭ4Nl5{#: |u}'˻5r76HMfUrd/wJz2ܫŬU;'k6m
-ڪ~NQϸ'dԍD+r*޺vN'[QL Îw&f 3a0 f_-5 7 f1kʵkҾ^J"fsPVa=϶&R%8MTߪ Z5mk-f8TV ֲO)}/4( 3IimmYItW[~6Co4ˬ6K#$G噾$1Hg0/7^1 <G7׾BW<FS25͡b6`Ja0WL-S3Ez[v즊%k*<?n,xPnzXGr+US@D>'!>x?bq2}f+3m 5=4if:AUdJ<TB?f5LBf3+ zipYknS8){TShT;ٰރKbf똘,m2QU2 X 'N| [;aFE(L`;Z*]O2VS7t#č0?!V gQ
-泼EeaQrĎVT#U?cjv~Xwn-iYq" Yn@1,B0RЄAШd+
-HB/Iʧl%(U1 tG v-ӕ`v&]ፂw̃• ׍0R3Hj֓1jNuҪ<VG!auLqGٰ%7Z߽f;k>Yw姼\L~{|ꠙll ?h)a(O>nw~t=ty,L/jK.O+}8GM؇uyZyx̦~Tؐ9%y}j=O˅>=>L+TZҋsM6AL4i\Ċ"8wܭ<4f 㦟-䚍c's_V)cY7ʹ
-<,82qs}-/ ޛpn fOK>
-~X7g ZR޺8$JD0`' ~w~o8ӗ>~wxuX[AX7P*f@cbZ4&,LQZ
-! qD-[[-0B ~k6%l'%3Mo9|͆i]^*%}I;"vY*Ei^&%nr\I *L[o(~C`PC,TJzU`oCGcWz;ij}l`7ԟjUTj$
-}KeIb*2Zo0jXQT)5Z^oتȥDL+uyBjrh(J]7>AY+jGwU*=MMZ"5XE?t4hG3(/mYe=S otw|"aM3[U0V+aR"6P
-SJF^ӒI!.X][AU ,5J8u}FN=6
-/~_ErrO\d!%nvjߺꅢxZ.a ÔD;ZW<_r{)QKM8)w3:n/&rIT[OlWb{w<U΢滮\a;lh εaOu
-t6]xu6u{&xةAUą\ք.5fc
- õn h2ܜ׀[\ZMM99ܻ
-m0mI6NYosiIjfd<7}ʢg1+`Iwq۩ncavĴuzw[v I@hw 1ة][֨&Ըb҃˅Vq ۋ:u/04K[  :PQ9' Ij# Za{c"/ HB[>e8X# d3ՂG!R2,Erh3tc<=*HdxxWlRSj/D>+8
-*E(RI  SD* +De\[=92j$ƈ>–aiqf3t.xz]1p7+^9l1K5̀nlzԄpIU}ˆ5ˌ5竤[QI
-Wn:Mt7R"<2iЉ
-. 9gr tz[$&z"Ez/eH,2Cg`J ;,-:Y؛JN .M:7 f1IiD
+796 0 obj
+<< /Filter /FlateDecode /Length 5734 >>
+stream
+x]K$7rϯȣFQ|?jw綻CwK#H&dx
+ZAhMU&" "#iohoZqk| taqDH%wJ%?
+)U >?ip]}76{zϏ wgOWs+H}Wڶ_}0Yc<==.
+@F# #74F(tU&4RLr=4k_[bmTgRr̓gLo~Y_D8ߖe$u
+7pih4\^IyCc(CqI;\U!ԠS
+H
+Qp|8՘:<{SsDd
+cȯ-1̞EPu=
+NnQN'7819}>λ><1؝}lf/l`NU QeM͓&E%;s Q_z[s͍ 8߶țQؽۇ z
+0N}XN݃[wiwvѩԛ ;ptP|tMhO=2Q"XŠqq|}/K4l5ž^J:@c{+OnS^JGI;5;˛?OS?-m~Հ45QSָvxM%o7Q&I͚xz ]P.S ۥkdccފ*T-_)]9KCܻ!%@K5:'*e]H`x,B?]{nƫ5@ZsӁ;ɱ?ռu6CJƭChU($} &al =E(xy< d]!CderjkN'sUSm ao:u]u:ֆܩvչ^iJ =YK>8} bp`Urv
+.]9rF3!} А<Bt 4
+٣2E\\=X!d,#R%#M^W$ގRX[ը-c&VƝj^AkO] -Vjc'ĸ6*7 BZbmqU0m- km`EO>6IcfGg%ʭEd~'̱IC|ր8T'N rf%^Z}: J 8|äpK`L|SJw=WﯹBoFsCF ƪ&P#
+xФU݆c9D]ɧނJT#WOQKUz@ %.C ct '$ֱnЏ-$Uc9Q0ɫ6elP|[/x #Scy<<>&["|NktBzҵ D
+$3bZt0m RleNk^o[6^_L7.e)Dk5u5!ķ)>Ĩ!Gʟq܏yǃ`L)B)>Q)}Ѕ
+MŨZZ.o֧հˀ`ڣM;%h
+^W%Rz}b^Zœ %?7%r?K׋e[$v†:\-2F뗛
+o15
+ 5RU9pŗd%*hL"J="hSEyF>~2ЖںX)@lͯ䮋<AFՊ:*ː9Ӄƶw`R?Ȕ
+yq-#
+&o=oDR@OubFP.<쮴7OX bIP
+메>+?"ʳΣU} c%nWkײzkWe9Dtź^]vOp,5T#z;je W80`bl<ls T@%91P9ʶC 4J@Lmg1k UugmUތJ"e]r6W W4Zi^*Nie5.[ bizq(Y TgAؠp?UT<s;ʳ;!,E+k[Jp]k_ɔQr! U_K׿XxS0j "«Ffs?ypQQLO|[| lE
+~xUz<UzPlWAW  PcEzUPVHiK6 3ީx;q!Y?٧n,ގcJ
endstream
endobj
-784 0 obj
-<< /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 789 0 R >>
+795 0 obj
+<< /Type /Page /Contents 796 0 R /Resources 794 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 798 0 R >>
endobj
-789 0 obj
-[ 776 0 R 782 0 R ]
+798 0 obj
+[ 786 0 R 793 0 R ]
endobj
-776 0 obj
+786 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 256.944 734.5 268.899 746.455 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-782 0 obj
+793 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 592.245 101.955 604.2 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-786 0 obj
-<< /D [ 784 0 R /XYZ 78.37 808.885 null ] >>
+797 0 obj
+<< /D [ 795 0 R /XYZ 78.37 808.885 null ] >>
endobj
-277 0 obj
-<< /D [ 784 0 R /XYZ 79.37 195.368 null ] >>
+281 0 obj
+<< /D [ 795 0 R /XYZ 79.37 188.613 null ] >>
endobj
-783 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F30 365 0 R /F23 375 0 R /F51 376 0 R /F26 400 0 R /F20 378 0 R /F52 372 0 R /F53 638 0 R /F69 398 0 R /F55 379 0 R /F76 787 0 R >> /ProcSet [ /PDF /Text ] >>
+794 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F38 369 0 R /F19 379 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F20 376 0 R /F23 646 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-793 0 obj
-<< /Filter /FlateDecode /Length 4782 >>
-stream
-x]K$qȣt(0kz{:=7I ޵A`;J>.1鮬H`D0 姅.?7L-8͵\> 8"b4#T(E/B I?Ï5^RSj*D)e?/ܾbX[Txc򧏿eP.$mSl&x_o$x QڑH~}ύW9)igTXyIK$RO%]"&F^߶ZsԆ Ĺ9hD2 hLԇJGիh,ؼj4v_桶
-/0tA ʵMæu{P w[<Vt,g>N>fқcDw#DV8
-0ArD~irf/ Ҩ|}(f4Ը7zJu\_K_;iv}5[qkZ\r u[ 4H֤Lʷ.he6ŀdx= Q}:]jL{'{u>%t8YA )jz1zЋ0"܊rD)x/ k%S&9v~N7^ѝߛ19۽qF(bVף63v1cov6yF+ܷ1o-Mmuҍ^Q5D/j#ry)w,C*j!%D營 ~ jru V.)%Q.H xSρi箘C<g0HRbR~⮘;YԖ(jgo[Jl殘{ADG抷.,0'(*>g[+^>(/>]1w{ {\v!Q^ 7'<Vߖ;<bUo+pO =miy0 :*`J`bœCZ{W׻}p Qp#q o
-7D7DV=G$1N~Rb,:'j)
-s/KHszZbl*!53 ]_Rm_@
-_͉NߢBEelrf-$Oa36ۓts`U=dBšZvTJr }U
-ܘ\=Ic&v.zYE\?$|CK9#iIf!a1W@
-JeruRJ!ls.(ŏ
-rk+smXk{%ԼkJZF*(Uu̵CoB}\(^{{Ww^`'䒖䣒S5Q
-d+KnZ'o늎3:7!|\WkK| շ#!?`_͉06;B')FpMf)xmPlo7Ok&K xֱFrBя^Geǒ4-p<+Oei~6:3t9D{i@^--xDBJRώ
-~[3^5?cF&]k[’nÝlɕbkS]yunђHy>.)/un+'䢒vOh#}^ )vx`0?KmPgz 9,?މwIzѩ (<5/\&):JE]j'?%ӵrf*kQkON4aړ z 6V>4K ;$^pD+gͪP5[cՇbg¿5wAb#?i)D3ȃ-yиj1K?{fW~韨k~9ޖņ;v۬hXS?S wY5fȖ^Cߒ0 =4 *C$Ftck$Ա"A媖?& ?TH Bl'8 !Zy ^Rzinu;q ᮨ3p$VZNyҷ`W~aH%^X
-@nRٳbCv|(2ukgɇyorPgRݹ9͑HtO'jiKJXE?@"o/QW"A:
+802 0 obj
+<< /Filter /FlateDecode /Length 6278 >>
+stream
+x=I9nw9}Ƽ98-IڃI >vۤz >KER$EQF嗅.?;Kp 7b1i(Ϊw]}Z
+ LjKr"~G@_'
+&/dQw/UD>1_=l^Mu[[ \h+QzxN4 o}Kn u\I鹃Ttr%ʌ+'wODSw%)6Q`,s||Dp}A8@0X3
+~0Nþ#2 q;a;`fl=>%
+m t+@)_Fb|uy/C@MPsEƙTQ5HaU*x]u;mR5z^sk9[?4%i)was#RQ/Y!\jG2D*`jmHT{B S$aɺX30KS[ 5K|fẤ0AqމPUn0 210@e8`ЪcB켮Q:>v r^u
+aD B1FJ*
+c|Xև2cb(4B5yۑbՠP 8HT{B &)5Ǣ/fLւ'٭0~{ BZ+:;3'v|;}Ľdy7PU
+FeN)8.ČXf-0e~1mc |&R;B̢e9|p`%A*Zhz6 l<˯E6ZF_@!Ό6'y0_ r^# 3_8pjm0JM)m
+b 0`$HlZ;ZÞ㌩`N$(J%>X
+9T-I1S#%2H%Q酋FëY$F`щ*9=N8юDkQKw*K]͡@"!+ୱMxC,iTRaUd+Z UC
+3N)Be :54!x8$.eb-Eh1̀W2ʍJBD,`T:e_
+4PQe&W3Q}LTr/*3 :3ItA,퀩
+*3#^i2f, ;WpEa.kBu>̥`HA<S3*p z k:yYk⵬k~Q+'7 J3 :pءx r1[k\oJT6qx!"3"6R_-@S77j-AUI+-
+bPxO]$у2>NVrؓ7ڳv m<a6'H%yTRTf*Fa$v9jdЙq<&{[FD(?b\q j8d]} |NXaᑫ^FwJ+]YRB:(٩a Vf>2Fw#^KG˭Bq{ƞm\5^@^M=ʰ>v(qFgiK`FAY#PtDJdx,YGA2qUag<lh#wT< Q}8cj{#2NOxN7 KՆNeU)$L=FI{x| ><Uv^]ޅۨG˶Vx^iWFa`y?Rs{Uu-~xΣqˣ\e;+~eYnq3Y<oj-kM-zaoSƙƚQ "©srg琘eEaA:y-aWќql~ĮA׸1l
+, a|\-P;}ĮW{h`=R)1~Į6
+;ic
+H}V8i
+=mL)P3
+Q~,q=^˿h$&]9ߕ
+QGM}ǎfLu
+f^ь) Z+͘u@=hM)B|t!O˿GG동 Gtzwh\g
+=85pgǠ"x"5Ǡ"xC"} Q1>h==C~~cCA}cИ2k $` P1*ݷ¹/,3SjGKGdx0" .~4sJ„p/%bj{)=u*!<3
+Y#
+>JqǷ Z̔0燏 c$=`΀]p)A]4 <"fMΈO|;ӕ0qS0Ћ+ad 3x>a Aah?[{=_0DOXoB8̒ t#Ka|\PGFi= DM -r#xuzbEaJw>U{Ͼ;}bl]1o_3&~+1$Q+L+56F=k*wkЃwkŏT@opk0kdcٞ@\ JV*A9fR˚Im'VjL<ZAԂKDɕz)ߢLyn?`^2j w[;G:f~QK1p ?p,zs MlOc4JEӛ÷T:µ!b.]eV \X}ln"|
+1jo+\WyXY_0'сR x^M;f
+J>c~3)%Ж 0WKq8J<Ӑ3-%
+g-s(y*< *f@MU(/2dlz.>Yfo1؊5@@OܾbOvzKC>$n?f4T!jkzhٺWbyݳ{ByŜ
+x-*\يC_?&[:~h+`{y̭-֎}cDύF1:n74ڧJjozjё(y,}MCms(0jj{a|{Jp<qP_f@Iɜ{E5t!  (RfRdrkSeJ| It˛f{`F(WtՁޟI4gWYS@>xwCɆ-ZV&IGㄚW|Й{aOs9dyL/;% q-tS!y1Q?khpنA6a4q|?9gN{JjOԿݶoݿO$QwsvYxWr^=ut)@jޱ#Js:ı7@cDj@rQQt},
+>X%ؘET}FιP""S=7X[q呯+$;1Ǚ<=Եy/{e9#vKQuko #`$Կq#0S B ¬ Y!@0G0ft&#!4uRAOEr|qOa-
+|=o]^-ÐSf9јvPQہ_Ο1~u,|8j 7RjFw#SMT WQN3<,ܸt;95X_0|]k<AyZ>7uapVA DFB߃'7p;C*nV̫1$7)Oδ
+nu;~vO, 8u@ZV:3gi B7Rٳٛ*~yC*HЭ]=ߔ0{{3&~l?o-a0o('Zj1sXEr8&~.J~fHHot?3&~nl3?)K65,L 
endstream
endobj
-792 0 obj
-<< /Type /Page /Contents 793 0 R /Resources 791 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 795 0 R >>
+801 0 obj
+<< /Type /Page /Contents 802 0 R /Resources 800 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 805 0 R >>
endobj
-795 0 obj
-[ 790 0 R ]
+805 0 obj
+[ 799 0 R ]
endobj
-790 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.633 270.794 426.588 281.674 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+799 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.633 215.502 426.588 226.381 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-794 0 obj
-<< /D [ 792 0 R /XYZ 78.37 808.885 null ] >>
+803 0 obj
+<< /D [ 801 0 R /XYZ 78.37 808.885 null ] >>
endobj
-281 0 obj
-<< /D [ 792 0 R /XYZ 79.37 305.026 null ] >>
+285 0 obj
+<< /D [ 801 0 R /XYZ 79.37 249.733 null ] >>
endobj
-791 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F66 384 0 R /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F69 398 0 R /F74 469 0 R >> /ProcSet [ /PDF /Text ] >>
+800 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F76 804 0 R /F55 383 0 R /F66 388 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F69 402 0 R /F74 478 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-799 0 obj
-<< /Filter /FlateDecode /Length 3559 >>
-stream
-xˎ$>_Q?в`i>9/(QGWLlzDRߔT+_|~ׇ^|Zz|A\0a .
-G)һ?~ x%+u$#U.&8$a/
-h=GҐRA" CQB\getd$n,L;ad^|Ou2u>Wn2ZXVԟ }TXfAmkiŷ \}&@0Tt P+ͤ m$>%CMuevxz<Uq"_RDk")Ok@5CWii,Ø%%'EJ]``o*HZC& .Y3(mTćߛeC6
-C;-L3 '+~0Fw¢ =u¦w`q#3mOՓ O:+őW2/yzZx,>\
-Ѐ_wzA22/V~[ R(WK :رc!$ue%q )YzM㡊A% a 2PB+5@мh~SD+Bzjp^ "w4:ֆB]+;S7&W)Kw?Bx1?jhͲ=Z['i除ɥ(!}HMUY}cpv%-YJ
- m9Ky:Kyz/EgЪO7BMB[M2υGcHI \ e
-WABYt/Q y1[n=
-JdgLLRw%r+d*w
-D4qQ1Ӽ0'P+|tp8;o{z>%nſd~1p9uؙbdž+*[SV
-f]H71|hplG4
-dsyUSd 7R(xu4}m&)v`~ImIlhL3smg!nġ8nJ&jܚ${uJ!~SLՃ)nǽeV oW>wTq< X-Ug(7lN'ZniVRԙr7C#9gY]Xm# Ph(tZSZiH7:$Yv $_BN
-MGaAG"NUv^Ȗ>9w
-+/v>eֽI^%JV=M/2ƕZ~vxI/]M1A#7y?^3 0fN/:輔J'ܸhdqq"p 4`3$2{]3ƙ;,b,r:GkepwpzR64Jsw7 +N w;Pil|Q!>`W{5`+^|g!vtwhEww&ZP%jbxhgaA9 (Knτ /)9ϲ-mJY Ū+8s|X>M{O hiNιO`)Mp1/#["TE5c8ؙ4SBiC
- `.?}{mK1aeX.
-brL)ÿ-~YV!kZ#T6GL߁(NHž8N4O`HJVx. 9(l\~m/`5
-_`#V.F^~:TC`? 5HruI7ƒ|r"p0w3~;c2$tAyp>^<)淵-ld굒-EuZ2|vܕDd [Z2NK&7N2:Y$۹OJ3IJle+)]F@aΫƍUԨWݜpc'ӑ+sB*؊V { =+v t"r㶒OZ+mFX}~t %M,xU}h4@+ykB(kH
-(lߕĀ:
-s|kJCoNGYn
+809 0 obj
+<< /Filter /FlateDecode /Length 3561 >>
+stream
+xˎ7>_Q?Њ``-)a(QGWLtH⛒re˧9~}٧EYaן E-! ࢰA-_-?<J鴔޽FL"Vo
+(IC6JipMO@"wG
+qe2Z&ё[H^{0턑OzN
+'YWŋLt|&JG{z=IZx?lp0f `IR
+V&lIKx
+, b>tǐN ̡7G
+_*M(ngaiŝ+XcL[nZI'iڕH+=-<.XXhܻ =#Kgr+-)%NXޱSNډxuz
+Ḱ,PEu eECEX h^4B?΋)ԕI!WS`
+=G58J ׈wkC}+l;_!<ATߘlfȓL pRu>x٬>`n1N8ϬԍT%T5RR<<="3Rhէ&&o1j`|U2 {,:A(ռ-ZJ%d3esM;X2mj炚"J*^k'{1`ƀZFK}wJHP@[Z=fsxӁ<gI3{,jfm,j o(a*OzYǡa^dw<aX!o+kӬY iBMulPC]J8T=_O #lҴW5o]Ƀi!I9$ֆJڭuhH&<NXٙT iD# ֬#U8t/2n%$&La.AUYL]<QS=#9Dvy:UfI-87\gkibٸlJz.S_Yh؍%X&Rn\#ee6!6/eϹ(r)jh)aTFnc1W6 H ްb >Qeɝ\o*hLM b/yfFOV'qv޶t.aK"݊9Vcr R3! +WU̺fq n(c؎V Xlf|l/Xc+[UMu;O1$H\k9Ե" z
+.{ǷUؽ[m[?&%19fV vg)"B$qk.}i+ɇI8f,@Oq&>ż-˴Jx򹣊sYnjr8S(Da$t: Ԫ$tfu3N3uZw<99nyi
+,=ZfyM
+wJ>[kJd!c=4ᰴC{PŃűV".`E]2o$VkR&mP\3{sDs>~8?ٛosSCEZ =CI
+iʵg-
+MfWsYmo7"_sr|`R*S&uJb׵'=!"4ˡFӲ0|Y`i
+ "Op[-o>g}OB`pxso,jv ZDٖ4J$36m2|)𥽰U-7U*1o
+|)ݔ6ӵCXKzro~ht莙
+|h}`yȫռhXh1pzqAT=E##w H[?9&g޻$7Guz10vff @?r^/EӨbQӝc41O^peݙ(N۴ `c?
+Ӽ؃K_٧X$; ӧӥ;Ck-T/3т/UD<l 5 !IEYvs|&\_xeMAտT}5 miSz4h(V_Am{j@p5MstΝdM}-Oi]|P,w%xɤ*:ΌjL~Rǯ,<7Tvo
+s^% %nF#8A߬\TVRVH h,Y$uk0P"_n5{4@/\-oZg"@cZk3LF\gERGe$QW^PzsR=bu*:̃2\.2_h=`M~KDF0 YuЌPA&zYju_B<u?I4hWKC(X":&w -|)U/*sh }[+KBuB׫(ΫҜ:R;_ȶ˥5Kgs ֏/H=}L74huAa_Ia"
endstream
endobj
-798 0 obj
-<< /Type /Page /Contents 799 0 R /Resources 797 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 801 0 R >>
+808 0 obj
+<< /Type /Page /Contents 809 0 R /Resources 807 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 811 0 R >>
endobj
-801 0 obj
-[ 796 0 R ]
+811 0 obj
+[ 806 0 R ]
endobj
-796 0 obj
+806 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.424 267.823 426.379 279.778 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-800 0 obj
-<< /D [ 798 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-285 0 obj
-<< /D [ 798 0 R /XYZ 79.37 771.024 null ] >>
+810 0 obj
+<< /D [ 808 0 R /XYZ 78.37 808.885 null ] >>
endobj
-797 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F56 380 0 R /F57 381 0 R /F65 383 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+289 0 obj
+<< /D [ 808 0 R /XYZ 79.37 771.024 null ] >>
endobj
807 0 obj
-<< /Filter /FlateDecode /Length 12532 >>
-stream
-x}[%z`t nxjZ%`4X-.C6`=w#dsԌ'T}d{/O߹otT˟?RKHտ\Ε_OS{׏vn\F94v+%|k _#L ©Û/%tP"etzJJ}ER)5
-I#@K`=N>KugiX}Pî8[{Tm}*w$#o6q_)oc#AMzW8e کӔJ=|A$2%LE[p@OHowͬB˯W]gxDqS>APƑGo< v{Ꮮ竭4IϷ' P҈\żW7Pr?BK:9P`-6Q/_i ގ r3?]n/5\RzWIp0Q=3Ӹzi8^iH2Zg6_۔k})cI0S3w"$r=!C=2N1?ܗE.| cj#1SJ.2%#u1Bj̤'DZH9G͌a䧬]4qԪ̾嫬k`0O5ݍǶ3"F^$KIz=uGc9|c@9[kkV839珩2V*h'?!F
-=?v'Y^υ!_FxW.NYiSà9jHhο낳LYٵyܚMa x }װx^-&WG񐘉B҃D) fn{871PgA(0UHկɅ. JNooY5S\LH!_|\t㙻á!SF>>4cYr?{c)0pkϭ^ݽ1{O+"7yҐ5[>-+L\#c Wf0`&w H^Wpbضڪ뭎+<Wp]eGtg.S~nUe|;ДniYןz4]mZ>Zng~vzӱyo>w
-o/ߗ~|41|jG,FH/Wd?BOT0>jPP1N '{;lVa|;!ϹD +φ/ſK?O*$>=hѱ+=.>?>r:V)hLoU,.#\?IVz;ZOk~P>jsU蘖G{ukz'i1ezPB,!d<9lo!!^QC~6"Dê?hHllۓ}@,>c=Ϗ o/A73i"U =~-$a'|O nvB8UUB/wDL!|GwDl!|Opjx(Bݜ_"ao_*˵Jm?iWPqĄ1liΰ.xЂbnIZnz=m,K ݏO]ܸJ!2֒K~ 8w<$5zǖ^*Xcj3Y ׍:xCvz'?D*4_dwj<
-TobdoZLbl bW(b'wTq aJ3 Q dpI'XCJ&
-%_Z3{؀elHv&Ә" A7[;\+1vSQYº<VSUga(;JY1r^U1rVL7b) #G-ㄕLANhIp %/V
-,GmXQ QT> Xp
-2\Ňb\Ǻ`kf@UZoʇ%Y08S>-YVTR2Y3446.B}Q9K.U؃a"p\\jk)Ym"ܖp9ZƬ 1r3vVh*l4*(ZQ׊
- 8>E+Ityr=Wm Yn;L}sɘ{*gBmh97FlxBi@A儶Vad\
-x\h}bP'8#UY   {i6G^!q|Y\m&l(zBƐ"I8sxg' Ld8s3LcF ԠBSUEnH loXN]x8:TTz'oɷE0@%+& #]km@:z&4>Wf
-&?ƁSHrۉFcŨLy<3
-N>VprvR|I
-Pҙ$:E,qX DFDs9mpܳ*;9ީAԝ& (`~Q
-Y>ʀBA=v 2m*!Q]vNMdD9yx@{VB-GlaZ6>
-A
-v yQL᪺ YnhwQ}h
-mA(T,Ɔb8E~
- 3';RvrGs`˄ǘ=m6>XRmnp*1*arՇź`ܜTI(<-YZMB`6/-Tz>G?ǗP> Aı:wj y!sLF ӣEkxd4BtfVr
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F57 385 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+817 0 obj
+<< /Filter /FlateDecode /Length 12534 >>
+stream
+x}[%z`t 0nkZ%`4X-.C6`=w#dsԌ'T}d{/O߹otT˟?RKHտ޹+
+͹ҫsh
+-_%vaMA)G`5Ns?zξ[X' T?ߞ,|>BJ#sN2_eSC-@SOF|;z`Hoez;j<2Rhtrgw_J G}^%8|c0Q2>ڌf$uf} QM ǜ2So?꾧.WD'$G)/܂\Յ/z?0ѯ63埯C#u1Bj̤'DZH9G͌a䧬]4qԪ̾嫬k`0O5ݍǶ3"F^$KIf=ѣ1 ч1ޜg뵀5+H활AkvkD+zx{{sa# f_֓qVkp/#Y<+]M, 4CFalPA$l 4_Z uY<\nͦ0\<لkXy^rC 髍`ۣxHDbkAK\tE' N:z Y%,<D%R:yruGµ[[l*T *e'RW.ߋv.@^ Ќ _)#1vipձ^uN^I5{罧g
+<i y`-gBfj-+L\#c Wf0`&w H^Wpbض_nmUVǕ|@l>\WGD摭a#7K딟v?jC~Y~:4xpy~ vWfYa^t,_ޛ7>Лύg[ _O*v+m/ =v5Ny 1@Y4$^6j8j"X&6S@];"H%= ֧P$#X$M㟍xK,ѿ__ zIk4vX!ݏ/z#O툥?(Ÿ?
+Ƨ>@
+*i@"<oǝ* o<9>sEw_CށDԧM::vǧ;ZOgۊ|#emIEz=Z;zܚ'irJoGimէSmrν
+Ӓhz٠nMO7$⸘>8>6[ PʳC?2l'm!<; 5Cb:*O&Z?hXG im{2ѻOHtEd3%f^=}<5MDz4$;Ğo)Aus#MuNo}յK9El!S[1N/\<;EK9 KeV'm*x#>[~M7/ZW ?IM5ezK~"Q[I>VVZ}/g3BkZk,>[m"v1Qc֮@1r(CN^&P51V\6NhI"Hm"Kb|9Z)XDrhmJDB\W{{>nctFRe6Za9JfatF*QOvkU%%*-SNn(&V,5f;1MYa(Lդ[QqL6`*ͅJh oOŭQ]uc\a#D
+M,ͳR?X-Al*5CE[L{b
+#`5lRi3A4X1
+R5 .k\Bd]0r*ۣSr;|FiSM
+9ohMxUۄꚘ|9ղ|T8В\PO~TXob`R@ivК+6m@s] mWl4*9G*=ef":!"TvqS5CD[ґ}qmI G ź`kT(
+OadKRq&~O40
+NcVWU{aʂ?(tDmQ8a%<SPZb%\nBbw  QC],38QwwΝDd=zmv2nddOU!kfRfFd
+f
+r)3sٸWA_:lh͎
+ΰU1 mb9bE2xFE9
+N{*7Pmh%AfF| ÚS$(A',7*cJqƐԗ1YA)r&4vsct,'$ ^Nhk^Afa~УI~f븧Pz@dp4htN[hL
+F1+7Wm[iwЉW\Oh&U@ h-4wj׻LFFAhfPc/ Zqas씕-DIF< OtAБ+^[2qGKi)D("Hcz'g3+S@08H!`
++s}QEXRD9!4 -xH$Ciܩ桀0DOQ6vx*$* |-r@rMMwj
+AఏT"dq4T0T,ܧ&j"=yef saP!(+n` CG|$h᝝S6x001R
+MU)B!va;uxSQmN蝼%A
+h؏Hw p֯9n(ζ
+
+K%
+Vrc,qDr'+|cf(
+A@U02| x"VVH d[N' ֆPbFz'w94S 5EZ ;8iEp+6"(N1UF1=&Df-}/F]+eUPPm{B<z|_;F)$,gJ́ /c`I5
+&©ĨUqsS%Mdj5 _ƃTz>G?ǗP> Aı:wj y!sLF ӣEkxd4BtfVr
נ%GVbϳ`N'A \4,FPM!zPQ"
uGih12I,+w z;9N9 ej;-Tl@3sqK\$5"5C_H |cKF
@@ -3444,115 +3527,105 @@ k]e!ӘMaQi1έЛ֛0ةqTQk<G^ R1?%8a
Tdc~
(5]3 QwW_oJM"0e! =74aO,zz5 L 1^[[YoUǐmXl2"<3SQs*K|!ra_F<tj _GG:${j-
$~Q5Z)
-M((QSIl髏TV2h]O'
-( V#b2(&<GӢ \dg*1=JI*0 /`BʆA`QgG,,)xEWU}GѼa Ay2ŦS)&e[MPzBl_Z9 DRw]ڐB~
-gpo*r7oT)Ba0m87XKgr̊jQ_"KpI{,D=l x/-؁@ =|M+V
-ޯUUEn(`-*M`,
-u29bcBK 4tBc ZEfGM\"6 wb@dVqVTui{3fa T)Z)n5 uOU
-
-єxYAYG
-5;9L:*1M
-B :]DAnNuR+e Cm* $??n7L:m`)N?T">J2!A":XK]T*&ֹ© jN4cqԊj*6Yg&W<Rچsی‡牃t2r=
-B݉G VBdX0R$O|P%WӂqsqRE5Uy[dc҄}7
-CvCcR6ʎYjdEߍ׍ aDs=V])E2Mo݈x|}-y dI&<&XPjXD%\Um!,`q^XX-]Y{:2v:.b5$KD8YSDbAZ
-a(L̄A5v0,"tou@aRcbUHxG#6^IV lRXK1zfFEH`3Ԟ@BMY(4آsa:s-O)*-`VOѰGZC?2A:3aL 5*ס~$;stTLE[hu-kĸéq@<|2XX ^{#BÁ"gk%id nIҺ.iNwR1\U*oGL923H@/B"n>b+BlhLDXnľ"D,rC)g3f䖊i<hOuw
- N:|7 ϥq -vxxMAgU +3ޱVp;FITcj'J!HuPabpKHDS,qX DFDsCmj>枭U玽SA;+1JMQ}7ACF,Y>ʨȖ&U02|y+ +$Ue2-'ڠUeH;Fը@lGΩ@ԝB̘H4cj܋vjq<b Z==
-A
-1*Uu"ܖ>
-ѻŬB۲*(Q=XyԄb8#ME⛻>I{F*RvrGs`pMMKQ0N1wUqsS%MZMBƋD
-sZapo0'%ǂqOisLF ӣEkxd4Btc\06nZ*\U`K: g8&L+!FPM!zM"O#>0LbD#־fH^u&'26s3cǮ]>8v}p.:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:|M7cpY #ѐ<_V^ycQì$%)Q")곜OUvorBSW
-
-Dҳb oL$,Iŧ3Wk`w7ļɢ1?ȇs,<DD \|-=s^tg{o\Z6W`mm{>pJX:#x4xc7IIUVNn^<{{W{oJx!FQ< `"N>1N(Yx k*lǪs#pC[$.|- &P>h̜;}KǸ8 ̉\N1s#_L?fJ>sb 1,:Zj}&mLwNgp>f$1ޘa<
-f;Quuꭝ@yxIlRˊ
-ݏzh5M[BWú/9ufn"^,v{SpG6ɴG.~}>i{,U"ą^i!.VBºIpk.d2L0J(=VjG}%^o)YU ۝r)%@ze8S(k}u
-!@qEm\T/bK"g}fYoe2sK5݁zo^߿OaS}<chNq Bi_0BٙTEd͗uZ, G,:.kKr]?W |ExX9)Q\:ޤX ޚ`9c,J:-6ޯ)dZL5 ^|1R~NZ^veȘS?ݯ}8˾_GBnu[I7a윾O!ΟPOzz[*7|c7EO7,|Q<c|Mگ_S¯[oo~N)R+g6zwO/߆O(G:I:sW`c2(us!سYNi+̝mOHrU|LUHioŀ3ĿE(v6.[뻦9"("[R}fVشȵJx[ԣD`?NZ);k)<WV~OJ=ZA>wAk.oM^ 
+M((QS"G
+5z,L;~gC;aDGT K
+z~UfUa|4{zyl4/}iCnDLtIVi+xaۗVvv|ԝGzc#6d_UEn(`L*M4ҙb⼨cWH;\ Q/F3[GK}p47v Px$)pCjӊkU b
+ar /{=pLF$%!PcǒF,%`zMq0'(]'PXA$EFّ`E#a=EBdwUGZތYA,r3vV[ d!CqB4%BuP
+⛈=$@dNĂךBn2NwFjF NJbF(
+l2^j DF-c zV Ze䝼%?l!* AcG~VkǢJ(^TCmT*S8.pAڪP»gD@d0QlS`
+vA+8Pu[431Ϗ2NySw(񱲈e nxпRunpjӨįqD,uF<.MV%4Aa6cD"Ƥay`6 rPwQU@0<7D!vմ`\TQEUÖ<٘4!?8F k8t>]`EgatĠ{xQRR@d 1KF2W ØMVTQ{Bb@m׏VQ! ~g ö`˝ػqfE5'$xGP,HՌմ`x6HQy\{Tl E)L8+i&>cㅃ#ń7jJ:7WA3mTqŇ%w#pC3c2))cFSCZH7=4Fs_J#Yei4*& Տ*+Sָ@BnZIR4#73%?|3_?|3_?|3_?|3_?|3_?|3_?\~3'!E"y|!}&g
+VT]I\RdrWZJVȬp]ۨnPwh
+"\ T)ZKҚZb_(kM^E򫬃 b"FiWS6| QRud
+>߽ET΄&Nꛬd_O T=rB[E`OL </*cjQo né2ИcVnڶ81Yiwug\OhUaJ6EL[{7"__Kި1c:b Zs2q)+7=WU[DD#G.wVFW'xt4^]!aX=b Rlr;i":kgkP ~=*;D3
+
+$v
+D)TɌDs/:V<ƽHa#0iۈs!0[U7!2m[/]-;jۃKM(& 聏=o(^$볜gBA(e'w4/{D{m|\TsJ\a.7g?U(
+Oa ʪ$dKD0=}Os \w,Wz<Ǵh0=Z[GKF#DG1c즕5h}OYl ~Si„o7d=-ih12.s $N4nmUgrI(S9hC<7>8v}pcǮ]|pӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋N*M7t#>P: 9XshuOs7&5̺ȈKRQ(e)R>˩ompXu؝ ho&-t(=J~ N+=+į! M"
+ l
+.QY|:vwI̛,J|8QAϢTxnߋ.|sT*= mR22KroLY?i13
+ʩ͋~o
+rM o7 gL OUq6F _E4 !173rܟcT/>Xu{"e/>PV? _ :?4Ar Kfi~cE]DŽ|d]'Mߘ/[×هҡv(u 1)֮ZbI}{{5ӝ߇9I7f}Nԡ75};{~"zk'P@A8^lc D$c~h!հKN_΋n/}`
+&ůџ_o1VC7mzEJ$Zp.x% L%g?L%AE1n%u@_I/v:}aU"-vgeJ;iI?^N&J+iz.kBe9P\=hl˼XgĒYzG[Lһ}MFFweWuSlڸSA\>P6?yv&UvQ&YGe|]ǻ2ڒ/y׏,UG'_y"5VεwJ7)>&Xcb+G;#G
+o͂oӫVũA=2Okβ~m)hP8~bB]V>xs;S'ԓn^ޖ _hDMk9D-~, _o:FX<}T+[+:8翦e3|٨Moݿ+`}!t{:v埿NnR{G\X J\q34J سYNi+̝۞&K5uڑҬߊg<|Ql]wMsDPDF͈&Tݱikwo7:l%NGJ~8SvSx.BJ=ZA>wAk.oM^ ;]=Yl
endstream
endobj
-806 0 obj
-<< /Type /Page /Contents 807 0 R /Resources 805 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 809 0 R >>
+816 0 obj
+<< /Type /Page /Contents 817 0 R /Resources 815 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 819 0 R >>
endobj
-809 0 obj
-[ 802 0 R ]
+819 0 obj
+[ 812 0 R ]
endobj
-802 0 obj
+812 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.495 251.269 375.45 263.224 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-808 0 obj
-<< /D [ 806 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-289 0 obj
-<< /D [ 806 0 R /XYZ 79.37 771.024 null ] >>
+818 0 obj
+<< /D [ 816 0 R /XYZ 78.37 808.885 null ] >>
endobj
293 0 obj
-<< /D [ 806 0 R /XYZ 79.37 693.277 null ] >>
+<< /D [ 816 0 R /XYZ 79.37 771.024 null ] >>
endobj
297 0 obj
-<< /D [ 806 0 R /XYZ 79.37 298.711 null ] >>
-endobj
-805 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F55 379 0 R /F58 382 0 R /F56 380 0 R /F23 375 0 R /F20 378 0 R /F29 371 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 816 0 R /XYZ 79.37 693.277 null ] >>
endobj
-816 0 obj
-<< /Filter /FlateDecode /Length 4647 >>
-stream
-x<ˎc
-@J(Юjn0 jM"~%q]EM:y79MKс3_M.!
-;%S_\"m> V~-~*);~wm">1AJ e\%}/i-=!(.ǿ=ݬ n,‚
-'>cD,; 5 ˲TcΌL1ZXE)Z*ݐz"ޒxWOg᮳ę?KcLfm{W7sߋ5Bp_qQ6C0
-3`bgƭ:)wVlAoe%T&+kЕ\t ^~/?MJOMhKusɖГ̨2Z14lMT1YCq7:<,
-0У0ɩTӥ1O\!Y-xgRB.'xmVrן)8~PDo
-3Ca*Ϋ|{Yyޭ첇scPžQ?q'\6guO<J|F00V`aFvŠr4&˰mBUl;ܥ '1فApWVGrabqH gN$]7- )Rp$Ǒ.Id;q Z;VX똱Vӂj9y؎ 7N&ÌRz ;2 5ƽĝK۳$F1Uj ,?(g:A\c.4?ܼi'L"va־U0A 5g>pc[ 6TC&Z Y +#:b֝%xrwTnzh0||?o6T&8RbeʳZ9r9[21 H~yLL6Ȧ4Ls^' ؟n4~=:ed!\㩫Ջ1xYY6C <|
- <+l깭-P>vP#
-J Oo͌| ~bέu kK\E|R<57r)1,MFUL^JÝ2Vft)>1v*p+q(γ|eB]? ^x־bʋɢRHbTͬnTVTEED*f~'KE+4FK_.ɂ `G%>[sw-(V
-d5.Y9;y+QqM\5_ܻQ5B`&u#ؘGX'>l^JޞFM>4`S=(Ώr] mbHz$6)rw~LM-gScx`Zӵ]1 aa.;Ѭ1*S ©j4*.Q3qاAVr71EyO*%WZ*q:徹 |x9Ryʓ>›X:<1W֚Ώ7
-}ihMB"h3X铬
-)t H~թX?㯉S
-}Dl2 lLҖ<k{(CIJOcnW; xL[YqOРDfRmG2wʘ<˺ ӢV$@W^xݛ8Pפ)Rk}IE !r._~׵IN-Ԩif&!AGc2t#V%}/~Q:^)!o/ҞXV2qGVrU¦
--fUf; fH/cf\y$S@suδXtkE~
->`׷ls⃹;>;~>RpW*Ny*o2ELCbt;%*GTy/2 e_K=DUE+*UYPTBٰ%dZXO6MYƚgΜ [_/,*p_4`q;un
-T`è7.0M5$pzpU88p|NLx3&CK؞Jj„O{ց$bd.pԙޥ!R#y֌:s4cP==Zėf!3t6| ՄN=1
-u-RJo|acbrL4d4M_'7(Y7RZ~ks.H:T/wD*]W:ѢlI#'ii|(PƏ*ъ6#P<5RQ-]ȥfQh7n7#rOصщ(gu |s>wxZg㡖hcETSP4Q^1gG|1֩ҶY&\MQ$4 )l;AtmHuǔ(:wɯشϬ!eTl &-!}kTl0pZc`{*'ֻ{Hu:%lSka)=BVJp-W 5q<]~vZ`(-د0vSn _kVR#bWd_\è;έ28V7>
-endstream
+301 0 obj
+<< /D [ 816 0 R /XYZ 79.37 298.711 null ] >>
endobj
815 0 obj
-<< /Type /Page /Contents 816 0 R /Resources 814 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 819 0 R >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-819 0 obj
-[ 811 0 R 803 0 R 804 0 R 810 0 R ]
+826 0 obj
+<< /Filter /FlateDecode /Length 4503 >>
+stream
+xnd_hj .k܂-S9P\$jw$>ɧ>ɧ__>Ev Sҩ?Y*uyz$4[ZCt/ D 8qJї2/4F蛋w^/sBu}ifA=5J?HVY %GZUYϲFp*wUɉM*'7iһ
+gK,98h4bj1 zBޒs."Żx+5 +́ں*PѣE:AC8ҶCKgrcQ Q.ҮGۘ[yR=Ҵ\^Bсxyd!^MJR]]&4Uf_
+W'[(nF#ULCt |9MP #;wܹFs9rIJ:;&UF,½e(W&ꕑ[ΪRQ%EXQ߰(RӦU7"i5/؏>+!7B[lv} }:YG D NwB3^k^Z1NJ 4e+22+*ZoZ[hHB%)[2" rӽTP½dwQe6\[{iqtoq`w?8f] -قTk/C:+>4Z4x&
+=Y-橘+T$ ЁeLJV]=<V%C~QF[^"xU |OkGIʿ Zc5i^h/]0.)A2F2(JUhW~τOJ*R! Ӵ$;P4 - =F] m? =7&&Ha_d!*By \%O_,І]*7ːCѬk9r;頖(9Fx[QUJre0 ›bO= fk؝WUE*6
+%#Jx&i#=QGwIB\4(IЈgD]R1s4gmXn:%vG#e*D])͸^׍B;cvY5 bpuo9}'9 !v=fG iA
+3#:֝%xpw=Viwd>>Iڟ &Ƥ
+5X<k.f\j6ET&q
+@cJ:}ՍH5ݴHLA49|znWR RnWߕB@<ߕOin jᴂ;hI5>t=fAnEݢ4aOՠٻ7Wýұ$xUl?=no]t;[Э}N6CE퍝͔P)Yr!M2bx,W|_۾ނJ恵WFPj z~T@Ia6aL Z=emCJy59D@V'g9v^/}j'4[mx9\ͅt<k)SIT ÓwB86@fO;5*PB`\ 4(TyM^9
+6 ,C%Qf"5cxyW\efClQxRfi !r]kA~HN-Ԩ*LW'5[5f^);7ə;oBX)4ol][;G/7Q-mrI탊<+94+'JK7(ʅ@4kދi4*8i
+gFbY PV%MZR:JA|`s&kFggb(<<c>0˄G-İOu])FHF ?ܼ
+>. s6uo_qaaSSG;OtPԫ7aǛ^&XXVBE<ÅVyjîK2zFzEE绞1hoF
+Q39cwc~̍PHTMX-ђ%)hFFsj=ΙqE d62u@Ga.@']9Z
+endstream
endobj
-811 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.069 182.009 241.024 193.964 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+825 0 obj
+<< /Type /Page /Contents 826 0 R /Resources 824 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 829 0 R >>
endobj
-803 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.303 148.634 444.76 160.091 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+829 0 obj
+[ 813 0 R 814 0 R 820 0 R ]
endobj
-804 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.628 139.169 213.085 150.626 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+813 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.303 163.448 444.76 174.905 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-810 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 117.993 82.382 482.208 93.839 ]
+814 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.628 153.984 213.085 165.441 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+endobj
+820 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 117.993 97.196 482.208 108.654 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class)>>
>>
endobj
-817 0 obj
-<< /D [ 815 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-301 0 obj
-<< /D [ 815 0 R /XYZ 79.37 591.896 null ] >>
+827 0 obj
+<< /D [ 825 0 R /XYZ 78.37 808.885 null ] >>
endobj
305 0 obj
-<< /D [ 815 0 R /XYZ 79.37 418.093 null ] >>
+<< /D [ 825 0 R /XYZ 79.37 591.896 null ] >>
endobj
-814 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F58 382 0 R /F55 379 0 R /F69 398 0 R /F57 381 0 R /F40 387 0 R /F59 389 0 R /F46 388 0 R /F72 434 0 R /F88 818 0 R >> /ProcSet [ /PDF /Text ] >>
+309 0 obj
+<< /D [ 825 0 R /XYZ 79.37 418.093 null ] >>
endobj
-820 0 obj
+824 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F72 438 0 R /F88 828 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+830 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
stream
x+T030U(2 8LXX) @`@
endstream
endobj
-821 0 obj
+831 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 53 >>
stream
x+T030U(2 ,-,,r ,,Lt–fF
@@ -3562,1944 +3635,1990 @@ x+T030U(2 ,-,,r ,,Lt–fF
endstream
endobj
-822 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 823 0 R /Filter /FlateDecode /Length 15 >>
+832 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 833 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-823 0 obj
+833 0 obj
<< /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 50.00064] /Coords [50.00064 50.00064 0.0 50.00064 50.00064 50.00064] /Function << /FunctionType 3 /Domain [0.0 50.00064] /Functions [ << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 1 1] /C1 [1 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 0.5 0.5] /C1 [1 0.5 0.5] /N 1 >> ] /Bounds [ 25.00032] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >>
endobj
-824 0 obj
+834 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [0.0 0.0 8.50403 8.50403] /XStep 8.50403 /YStep 8.50403 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 79 >>
stream
x=0W Y".RRҿ^( U b1H<ܪY`2rir:"B,Yr߻qB
endstream
endobj
-825 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 826 0 R /Filter /FlateDecode /Length 15 >>
+835 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 836 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-826 0 obj
+836 0 obj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
-831 0 obj
-<< /Filter /FlateDecode /Length 4697 >>
-stream
-x]KWhX@
-pN`(Dr,;@~&=3k fEVb_K_&:}AOLM8͵|df2P)R#).gQ ~VCLρ?E^ZRHyjf)P6ʹNg4Q2)P0uGn-?UT\IŒ:7ۇ@[{IKRX5V,?)42 YJI4s=UZ5f“>)I^=_k@:ձC.E
-<=AM\
- A%:: W*OpE*ni7oi|ʲXS
-6i+rWT_~F,KuڼO80Eb@ݓZ<Yd#k^'=[Y5ަr@zo(A]e @ Y5<ȋź>j*YlXѝu=&1,{] RY
-dԯ8JaTm S6j͐]! tcc*t/
-NgYF h]R47µː=z&EӸȡm%zS{ ]sN/2?')0IaUaX")."+-܃; Q˸(qیKCNV{Wɮs8V(%7tʼnX簚aW-XVv1WwߎsdcPT(%
--0$@J5\(Ib ~Q_-1Pk]f=&;ޑ:ޘ+N%JB6v628'Oxmhw}9jZ|5"Y(q*׫1L=1=zқIZ|3_n$_狺IYv=(=5<*M::"0yĩ?_Y"s?VN~b}4G݊3R
-`X多sS3WX|Pjh 8e `L J.k[[ZSGz[s<ۈKvCJD: ?/:VO}|KcB)9Sܘ ętX3p{NtTZ
-}off?g^)*D[MW,nF%cݶBjG54ǦR9}\jE54r0b+)YШv)$Z`aLZ0&N \.TzmB_fV "s˚//~9(JVP'sQ֪w4Xr+xM ,1tQ# }R0
-zӮ`jW(shc]4$1rڮwR\t\&%Ҹ/XmY`BUyr
-SEmǏu5,F/fu +uA8ŴOAhO[0fĪbD|yi)7`IV6Mw=; ͟=Fظ0IݴUS:#NjE ]mvoE6V*TvSr7q)Q|BzQ=j*B9/l)ݮ :?ySN]z>#/Pfaۏn+G
-]V~7aƍHLS@GwU>22pļU> ֙Ahap6
-a;&3PLiWao_H5€ጀ8=Lg ^)jzǴVOKO4فXJ]oZ@ ~ X]I&eja{?]!?ݥ ;'JgPh{$?e.č){ CW*m_B_n)#-,Rn9ZaU]nb)@ݿ?Uq@;*^=0~њPzP*F]{⩡[J&p~DVُLUAŞܛzOmko[Rڮ+Ltwնp+[{*xjbH;yGs{3WËױ.jmpsx
-w jE>;x=sю2n|aW%M֋I>3$>DKX}: U Y8'3ݜpZ! 95zqJ*ԛ7ڔt-Չ$_pO?ËW `/~ P{yŻ*hQy K:Q).}wlڻG*(C$]O7:<נՈM.3¬\.S`cw3|դzȂ_VѿKN 1-8MYj\7ddSxɻKa)EC@tq|
+841 0 obj
+<< /Filter /FlateDecode /Length 4237 >>
+stream
+x\K ϯ?в`0^`s2@=$g'RU?`VIE~")$x ?'eoN VZ냀|'v.0v
+ƭ}|ȹ~˹xs+JK/%'TJ sZGZ"!=#rЉ*ұ]ӡKm)e.qxPiBzH )]>|cjiHS"G|4a2;
+ϔ:R2cHɤVbBy&n#IrPy ~LIe RN7&c ʶ
+vC\k&xgmPrܲG:)Xia s:$T:?Hep3q$xklkPa{bR|ԗ*+t챷=QxjS'Z3a:o;@Q:TWNe SJ%UY< ߬ W]R0c @[y ph=|Tg%6y,Zm%PvZ^ ˓bb3 ϶*D\ZviiWtE'ovn[103V܀GIuV<I+GuVe](u;eֆ 0. llPg
+
+@% _"mڌDtyc#0"g ;D 9Rqb,<Uo e=OImn~y"UvIi$x¤iǣp1;I:–!G֑vnHN&贤juEG^˷I7TWaiO~E\ͭZkcKALc{ ޑྭWZ@PErO%I_t(8bsrNzq!ꮹnSFC %CllGDͥ<*xBe||S(~
+\uE%)C{F 7 rls 9ZxRڬȚnԲL%b=E ;K]_Z M) T
+
+ܞL "*,?E((C_L} wk8oaq6\L'`Q+{H]0~nEc*4*l2)%+pMΝ@+o ɻXyN28҂<SfM *(|W5Bg’?p`|~U:&Kpt'Fh2.uNW_gRNcoMvʦiT60{xٽapq5Ckx-I.\7grxXnj.8ƌ6̆-
+u<&EHVf?wuP:̀'2 HQ] %ۯ,?fS"[EL
+~&O@M"& T
+ rReQ;\=,r`26-A1^i;?!1B
+DT1؊<$ a{`3(|i7;Cwd~ϛ_5gژͼ7 i^=P3Q:40f\-AwZDT؞ڲb8!Uv=S{Vr\ lL]<7
+rCl:ҿ\sqou
+W)wgr}V%nB2tvV=McU
+ vER,;sqU6\hD6^UG8OhQVMeOj+w_}uQ'KviH%:(u
+sYkJ#V}xBǃ\uWS=ıDCď)>yUwU]*)f=W%"ӡCX#Sw[J+ѐ(v){2va>,˕s nALL|AWZՂecv*cJfOZ_魮u|t{A;B`I
endstream
endobj
-830 0 obj
-<< /Type /Page /Contents 831 0 R /Resources 829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 833 0 R >>
-endobj
-833 0 obj
-[ 812 0 R 813 0 R 827 0 R 828 0 R ]
-endobj
-812 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.199 721.708 415.675 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
-endobj
-813 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.088 721.708 444.043 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
-endobj
-827 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.299 74.11 469.523 85.567 ]/A << /S /GoTo /D (section.5) >> >>
-endobj
-828 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.227 74.11 486.452 85.567 ]/A << /S /GoTo /D (section.5) >> >>
-endobj
-832 0 obj
-<< /D [ 830 0 R /XYZ 78.37 808.885 null ] >>
+840 0 obj
+<< /Type /Page /Contents 841 0 R /Resources 839 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 843 0 R >>
endobj
-309 0 obj
-<< /D [ 830 0 R /XYZ 79.37 652.951 null ] >>
+843 0 obj
+[ 821 0 R 822 0 R 823 0 R 837 0 R 838 0 R ]
endobj
-313 0 obj
-<< /D [ 830 0 R /XYZ 79.37 613.666 null ] >>
+821 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.069 727.686 241.024 739.641 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-829 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F55 379 0 R /F56 380 0 R /F69 398 0 R /F58 382 0 R /F50 370 0 R /F40 387 0 R /F46 388 0 R /F66 384 0 R /F59 389 0 R >> /XObject << /Fm1 822 0 R /Fm2 825 0 R >> /ProcSet [ /PDF /Text ] >>
+822 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.199 673.888 415.675 685.843 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-838 0 obj
-<< /Filter /FlateDecode /Length 3078 >>
-stream
-xڵˎ>_Q?вD mY{X8ij:zT{=ݥ)S$wr>|xsuqRJDk>~~PFNjQh?ytj2() ;?}Uᔲ'Ji Gqt>қ'q[s I8[UMU).VF)ǂBNFӨd2A&|Juu$[F?h)6p
-{Rÿ6%Kڡ `|.+1X8nm7);m0L2d $d UqL2WyFec]ߧhB]sG"#Jlm/irS~bma2mIl=TKoB$) =t\q$ldqs)pG'j#+#:Q\ks7eL6su=ٔSX90Y16Q5Pvxc_o:
-3SJ6L\7D-=an$^(q<Bѯ9p&/
-.]ȼ%~ o-g$֒m:#A9ӖHh|fx<,gܤQ}{S&tFc<[t8mU?JٻBU">PÚ:7MqGh?=Vst><1wSnD`?<,G/} 4ONF$%?b}A_3f
-6xc}P p^߇* JT[HD"H|\"ԿÇ$C5-Q^+.60nĂb1XY!S$3WGuq5 | &2 {R<U%ziS)coAhW>k4:NN:kofyUKT0">t^OSQQJ[@[gЫLND5=
-̀?^f#~\9*6T>ߧwC/3}Hp?]**+\ 8ӷ%㪛hTWW&F-\@0a(~hfT⮃DĤQ uoKuv=l,2r
-Hkk:
-MaFoFDA24Y)w
-endstream
+823 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.088 673.888 444.043 685.843 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
837 0 obj
-<< /Type /Page /Contents 838 0 R /Resources 836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R /Annots 840 0 R >>
-endobj
-840 0 obj
-[ 834 0 R 835 0 R ]
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.299 69.726 469.523 81.183 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-834 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.259 200.734 462.215 211.613 ]/A << /S /GoTo /D (section.13) >> >>
+838 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.227 69.726 490.684 81.183 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-835 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.166 200.734 487.121 211.613 ]/A << /S /GoTo /D (section.13) >> >>
+842 0 obj
+<< /D [ 840 0 R /XYZ 78.37 808.885 null ] >>
endobj
-839 0 obj
-<< /D [ 837 0 R /XYZ 78.37 808.885 null ] >>
+313 0 obj
+<< /D [ 840 0 R /XYZ 79.37 605.131 null ] >>
endobj
317 0 obj
-<< /D [ 837 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 840 0 R /XYZ 79.37 565.845 null ] >>
endobj
-321 0 obj
-<< /D [ 837 0 R /XYZ 79.37 238.154 null ] >>
-endobj
-836 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F67 385 0 R /F58 382 0 R /F40 387 0 R >> /ProcSet [ /PDF /Text ] >>
+839 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F50 392 0 R /F66 388 0 R /F59 393 0 R >> /XObject << /Fm1 832 0 R /Fm2 835 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-843 0 obj
-<< /Filter /FlateDecode /Length 3327 >>
-stream
-xڽ[Ko$W19
-Ҏ $d"94],>֋E6g ?>+'϶oO?\OE\\`][q Rs-߁s^o?<u`[SC%\ r~Soo}|_|'~9s$ ]ۿQVa6.+L !r0/%ёQ3tcڞ8|)e-3zi!e}F<wdd˴;Ǝ|f
-~nKԏ2=3v8fo>tkCߠe#h;bB=SAc4; #nw0pڛhL'VFʫy-im窢 Nc-!kFD9"m-dU(~d 2h'N71Ay+DD[e2\
-II`i
-$%7uK[2K y:`km<
-Ӡd,jcNSFt Ie"K9ˑ 42{u#މ7xIh4LOϣaib`"*n:&ו-rGr-F\m68MMuPx :tnh:y(߱&so<P'Yg$ȝ7L/u$֌NqGZJ ɷ{!ft`45rXy8nc_53ȝ$.SnʘS,Pe "bB N(ԖYA(HRbKO{@[
-i/LU3& %SR( WSS$~V1֧qf)qFCMct\,ZBaNePäj~(uvz$flP(˂#y§s$JEs,7G].XN,Ts{f~syFx'-T<++ފ# V$4S O5w$̈́Al$k =c`>k{
-h°zGiNDETD_Zـxs[[^&pG=jedb #wf78}&RO!½gkSEה|jB2aBt9TiU{ϤٍC~=qD,f)V=y>ˊ|oXN>k;FFݷbR(+hhL: XE<p14h)9&ܟ]xm aI򜭗YV|{Ǵ𛵗1FԊJW2׻bN|!G-v9,֖njXC6hR]n 7 PW~HI $Z<}^cyuܪU햮q U
-C.Ϋ =:#BĿ.KbĶO'ǚ՘?.SۡupE?TLȽ~,:(iܿm꓈(SQCshf qE.3z+sQ7]B?$C5~kA+';d
-/doHhL1h 6-%S?X@J}~2[f](i_?v/_ŕ/O<}xYsz #
-#>~򷧯74OkτZ0xV.EԌWkZzV #ӛ^BlYJf.
-
-C1,dTW@m]
-d?Җc!$Kbvt y9{N)gn![
-j{J}
-WN hV@U9'K8>~m紦}-=XqYOʷz$ލ'mp ~{U*<ء?HGcfF˧GDErKI㰓-v;}d mއHɧ'V-C&“."Z& H*[K;QG~84)Lxh<:
-C03H)>6׼#~ n&{rU6
-xJȰ|sO
+848 0 obj
+<< /Filter /FlateDecode /Length 3552 >>
+stream
+xڵ\ێ7}(Y`wڀiyHfcXO ԽTiJ#R"%vy;-_>b*rx~{^363nтcq _OK}&uC犁q_ &9?Q7a%S㟩b|P]p%53cJ m,~kmWʕW?SYi@0
+DdJR} ~tL͸ HBS(]w mw ^kHnFlR2L^OIm2 )I8%B3]1@"_It&Xzm #"d0 w]Vn4`BNc!8Us)))ÿDϙN*XN O׳mst7l3tbڦŀ
+paM{iyJ.;KM'|7,Er@k-lZ(t%`KuנS3Ф)d .5Fi=y-ߴc~K4)5=<kAC8Rd )Nפ;:դ'BcJ\M A̹3KQ gwU8Dsn$q2(ȁb,3A OcdmVHb~aQ̒
+UeJ"93;YaxȍsI#hԼ5 b֙;(.ۙ<H<r6RMOH%覿yul:͟unl%$Ѫ @YaiA9IS} ؤN# a Gh!j{jZ}xzCRkx>1]}u=Rd/.2ɢYa8:E_BukғnJ58z2$t4sWMab+:$>CIac6>$1wʬ]"e-(*a} M ! I$?#DǿaiI.ٸ{"=,
+pV '7oqe A]OMY`®OEU6M#뛵qu,Io`7`lkJc0~sv
+InhdL-<Fün nְ~hu o+q2cơ
+U5mUG(H΄K̂SznA=lI1LK m/Ai}x;4,01s5rLsC+[yn+10X~xw{)u6wo/U|k+>|OYQ}-pGL_023L- 1J1a>X&, ÝtmYzm:}w6
+q~m"Қ6fnnWLJD]L}]CߧL +E `i2q&%m+7]`Az aYWrK`nB^CK}͵:LQvǭ!'vsU
+:kG
+KVXa"%Ls"%fjI}̳2/wXR.s:d\Ф4ˇ;e!h}FÝqw!SC6W)ضnF{F=xOpG*+)-v8Xiǰ]x,Nʹc%,W(DpF(Bҙu`n"-߽?C2חm4Ip cP~CFm<af fj%S:; gtҺ=ߡ1%+RSk>^r0eŦoM;B:x7j*uR]UKdzkWECZ;@FAiT.ҫow%
+14=t7ښ2g:,q'
+Np)'2eMqt5-q.I0LrC긹:5 4kB52,Ao%nP`|׶ae wjPa^@~C W _aqg ?E2t7ploDq1_O·vt/'ZUɷWCϸ>:[քapipҎdĸi9(#kZ%~PR;J2 .r8E!TZK @FJ
endstream
endobj
-842 0 obj
-<< /Type /Page /Contents 843 0 R /Resources 841 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
+847 0 obj
+<< /Type /Page /Contents 848 0 R /Resources 846 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R /Annots 850 0 R >>
+endobj
+850 0 obj
+[ 844 0 R 845 0 R ]
endobj
844 0 obj
-<< /D [ 842 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.259 143.155 462.215 154.034 ]/A << /S /GoTo /D (section.13) >> >>
endobj
845 0 obj
-<< /D [ 842 0 R /XYZ 196.679 252.834 null ] >>
-endobj
-846 0 obj
-<< /D [ 842 0 R /XYZ 196.679 232.64 null ] >>
-endobj
-325 0 obj
-<< /D [ 842 0 R /XYZ 79.37 185.93 null ] >>
-endobj
-841 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R /F55 379 0 R /F67 385 0 R /F52 372 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.166 143.155 487.121 154.034 ]/A << /S /GoTo /D (section.13) >> >>
endobj
849 0 obj
-<< /Filter /FlateDecode /Length 19536 >>
-stream
-x}M-7r^E]'I!LԀ1aОpO ﭺjyq.dF-Eo./7`_~HZ9o]/[(/%ەO?+G{JFw?ӟp};pmO]|t3=q\\rF\{s<}/n% Inu/k/t~o][i{\N|.~hujXo5j>Uɷ?lWn-֏2|dꭵr#XnWc#nWΞNJ\]#ͻ]pqv^~o/t34_Vy?^E+5z.__~N?o? q{륞wk-}?ź?V4C5\BO.μ ʼ9ܗ]2w'D h4< XO&F{W-9h]4 yw kZ>ݫi`Wb^6 Q{s^hICܧ45\7J)|"i.Fbt#3QIpFҜN?3> <zk''<x\ <W"c97|oAO%mj`]R)Ok6kvn喨 s4a-vxJ3MQ'}8<\Ś>=V'L'?A6wk_h֡g5sٿ;|$fMAѭCkӭ^|N?}5J&r%&9<sX?3i+M[4j3WB4{UL̍bB<3P'CĀpbO?s=\Y-.mrwC 6|V.!/%dzw yYV.!/%d5zw yYV.!/w%dzw yYV.!/%dp 94h#>9J](UtĔu]ƞk/SYyxgb1r,u]=QJd׾7r}{\nIQo$+7fqQ_׮K|j^}i_%Ӝ\XH5v]LnzSm^ޢɘglxL;@Yn5szLφS (54[U fT;`SM*0B&_0$Fd~B߂mBS(mܧNwqt.P(Z* %xl:hMLd| fu PnB=OY'!x
-i
-
-"S!oR4FǡK:)⎔IncΔUj2#5Z
-p)Rx C=~T54yܗ
-W]~Ta GnsnX3/Xnr*2v_.`!+"Jo) :fBV4Єv ~F5T^2Ljfh8ڴŏM<;
-dAâ;=8wd-72bE9jXP é@= $D$ϳSHkMt)JW@4W2` '?DnGbN(ato-UJ:P"6[ ef=+I(P=WQn0FѶUWLSdZ+E0ɔh4/3TX*]۔Bd<#?z ´xq)6B*ئ2]/Jĺs+ r<,^Xb@Y(OJ‹zK?9f Y
-]"n7(mGMXfLTlMWBy}H~j8@DO"T۔ZKEUi/1eT3 + <c?źJgԮE˳6~uYT
-v_9*&2]
-,JĆMBfPY.&*s}E~'6Fb*
-)}=xgtž[k͛B1+1
-
-S:k|9] 6=vAJԈ-xцfHI;R@([z=G^\c@ִVK.+~}AJg.\>L1 <cWتB|Ip5pR}p0%d`.s {Fs1VG#R64&_}aQPs+Pc:2["xS/wµMքJӨb'1w4sJw\a]ϪF0HYENP
-cePHαҝ|5 %4Pev
-%p>.W8W"}%nQ\_[rcU*
-4!|ϟp5x7W8_ lص6 4VSc'M@ʅL3_TПJ`oųyTS#`QQ
-%x4F`rG^aW.~+shk䉕FQkgR-+|͜^) 03WͦvF U& WY5ژv+%BbVɜ>hųj,+OЖp@Z4|^
-;ސce!
-(e^ʴc)Ko3udN_j?(9~)m^K(O x t
-٘LKa~f"][ǒ/}b'2VB\Θ0kvR1.+\(w/Hoqf˻`oTT#v A2d1j̏)J9rWyzk _,XTH7C Xw.W+;d+nsfg;Q=rQ
-yA>U]@EBH^zάsO<7EF;i;[r ȶV( 7:^9mx4$`ۣUq4T~kTTf#X-x
-_Zk00UnAv!t
-$~Gt6^Ugz^ LYY`r˼]j/$H91l B BvׅSxvȼrN$Ŵ90@
-2B&/#@S_,xs\ K,,-&r%X֐St
- ZE]_,:*.@e=XB)v_(%'2kT^~frrnƵ-##:\H t
-~-9y9Xh DC nm<@Jű>&ze_L(ͤѐءnt
-h_浳#);z=%姈S//w{~ZITtKi"l24kG^Q[dkNNgnHE(WKdFF.b%=6#ѸHoQrRD\+#}^d?3-FSFsgP#TH*s g;JDλNx
-A$R[w|;LuJk,Kg(Pցw bց$BU6xwl158heA9D8J_Z 2!ry !`÷O@Rp1%뉘r0@y/ٴZUbA):,Ȗ^\ã
-?
-xL@ 4ښS(%4ھ
-d
->l6ڣȠ?|3W֓:B [>ԃ
-4J&US)7=?_5%NR-У(u '*) ,Ǫ
-L9UPڔsjmqܣo9̖s)"gG9&5n@Fjaª
-lEJR*&mM1ĮТ{*xtXS(؏MkxMׯ;ocg) T(f+:T4sZ8f޷g0˷`Új4J}sAޮPeӾ[T$K+*ti bsESxxs)ĩGGAǦ8}DA)s:^[!B![a-GDp}"|xWVx[ JHO2])|ϣinNwoZjêzc,Ȋh-0#&hK?6c * F ,wt~`/ .WB AL R`3x }usoT?n5^TEpw7" #rB!
-5-R_Ii[IՄB
-@M'IJG'*d
-@p&l{{UA
-" ?#\CPAP|*Pu
-._BB 71N2P#޽
-!U8KP
-@(gS˫6δ*+dC!Sa GE)ҝJa葱@?Ue&_T{{ɇ _ ~yn- */0Jj8BCSQجփKO*0h%M_L6­. m ̃(*茶#1eL7BGSG ݍ?e2Z{l{]ƼJnt փf2oMΩzuAb*:li7[[Ƈ[RX1,Pl!ڣ;8VԶVvxdSȡ䰦@RNLZ^3gҿYh
-a
-Qɱi" }Z UERC [Rt
- NѮ,{ZG`0dbKEpVs2k
-1  #} a02@@SEٮ`*pTiZ/j?0jڊc<E 邆+aPڒ>#wmfRSdgV`RM }9MgAciҏښxTVG l X"8ۂԘQ 1N\LJC_T(hP/R"`-
-GpFcޑ,HYU?ޜx}P,U- pJAUk6).6+cA6KhvNyH4xCێeSx19*4UP۰ť?#vΛP*VU_sвWn\3%#
-n+x֡
->*hc4^Y ki>A"x(XY &l+|
-n,hE)HhVi
-sAЀv`A+sO]DZ)ҟ,j L!55*pAóf H\ÂX^Ӳ!I#atґ%daX؂d XhL{erb53-t
-M)pTuޗ4daM~)MK?8,B-3.t3j#V
-J󷶼'*+anaD!(y1f&M Á7|Y|eqK֯`M1@!<k_69f=?3rm7?/Ծ,XQb)6.(px̔)#G{%&LJҟrj
-cLe) 30h*u.HXwn*bFZ_7<sLQ5xr|1h?~;7J?i,Ǡ %bQ10 > %ѷJk3JfSEGBm rXNQsd!T$Dl62ܿz2HӏHT03`Q3d[3cjcjmJK߾PkNf*g騉 M ߡ`M1<" i$Rgғ(Tn砚1z-n,TԠ #bùľ'PO]\ S]c-%d#jl6IOMv?wkUKY3غ
-VfmT
-ira6Gf1+IwXAL_FMƖƽR˲0ScMG "6|)!)yӹa.!#g{Q~|?/?Ne Еv =gǒB;erM _31 ^wːtPnAw^hv/JbuQy 3 lPN0w1H}ǀm*+`ChP~.ςjW +0cq)8T 9+\Yupt
-[#x >U[8PCtG6wU๩^sPDS(M亊w F5[
-"å%
-YYPÚtg.w%b;X.w-
-jA0j+ ãѥq oK ޿QL?wEy\tș
-ߴEʃj.ӣgxhn8!quZDl2fѤ:b<2{_ye qDDEz`fR2<A.A^/>$cTHb sn}+ۺ|{lM^y?.P#^t FB,$A)[ id v
-\8Qzoe&Uj+dChc.4.YuPØtg<"cⵟ2NE}ӍY|Q6[AIތ6@q.ɘ('!IRv[Dln26b: ǛJ|k6] TBˤ)}Axw\J8\`h/NVŬTt)( 6[xLס<.˘J@Jy'CGx<a KҭSqUM,5`&Vێ#u `Xhwb?źJۨ|™m3TޭXog;3)f2Rމ*7/6)̍&Ji}LbӣڄKg9R;|ϓtaalSIM!t4O&I}ޤPmIJΤwb?źJQ=K|T*6JL!~a4Pw E%e^S\5äbPhggy_Jr ҷ2Vl"M3\ 6n"8xEM$4PNԧJHѬlc+ImH+fZKEi݊_g^k0V obФ!Wy^.^ߙ 5_͗\_ _վ8)$姟_ו|]o_C{nzXbr"Cly;˹4XsGEǟygeOP/1wbx 1bG{(geظ/=iz7]] e\??i>N˰c3_kvk#yٯ#~i߶u;tSĿ=O>Mp}l$%jᩴ;`'^x V݋ﵝ Q7O,Hf1e;gJiLz/~O{]X?}B?}B.T~AM_q|,3vZ4O_!ƯC|iԟ>Q}nԐN{u;!4Af>? k̈<ٰp̆G2͇?\֩EoFV_ph}ׄƖ .N5[[2rMx M xsO'k6ⲔiBo-cw#h,?͕? nטb݅r^m}7ވE\ۿx.id0?jx:idƇ|*|uSfϟ]=?n}7 ~=@oO/aنavZ/n{f _N aυ/sff_Χ߭f'y܍?:`S W|4X2
-Ls
-q u޻%y xLo =U3 jZB?4pǽiM뻇~i?^ɶiggٺsN_=烙vfNjImqn'—i7\2Ma?;|6ZZo;o|0
-R헺_
-~nݙ@<wϞΖ-Cm";]Xk} ?Ƈ..H@ KB'.JGY]!_Ȏ@]*_;:? B4F^{?1;_ bzKuez^@oF1f/#]{> P[V
-h6D.AK#%V?N 2O=C{&n~`ecR^=9Шlj<P ގsa“H̤ՋhnWnV:_U0o>d
-k BSilчD!2| AS
-.h6F.AO_Er3v,ue"<=Ĺ/=-{Kzsn?w˙:MH<["ltUhlڌ[6)(gЇH|Pn'g6*U><(ήQ gȧlUdhBDjQL3S PJ'~anu\76I6g~xf./A4;\Z,>{Q-; F-c=GjPm 3[0#k?6c2+M^ݾbg2Fhwe[]sgD7<Zs?a#ڠy4Zq*/:籶~,CCxu ǹ픁 q|j?DH) {!4[8.@Ƶ`V#0],3CGK _8$z+[𦹂mR((72y=8zylkb@By~u_'`(H $4hQ"6[<y!WӱR-;?&'4>JO.9!\P>ї~9 ynBt$Eƹ_.;g5R3M q;](]_ފ[Ah޲ЄVOJW{*ùf|.{*S!ZJpn%z"O3)JW?BV dUK GwIGv8hŧUԉl2-; })$~7x/̇DZ0A"=Pa#;8=-Z6rDp߻T%\2r9>;st׏/&ؚgz$Ns`窝^a5&.)ф]7z$A&~_Pi`n[wT8u{o[cGHV7>SoI,خ.)ф]7~ZϩZݸ5vݖ LXpui~kۼ(7{"$齕TC .%5 r^.E` 6)ĢGz- 75wm&,4R87QX]qy:_z@ )cFdSH܎N77u1ׂFc)X֥EXWBoOHP[Aqlz$)$4][Lq:/0!RN}Rٶeq IADŽT> c% |ǭ[zEzs ezRBy
-/Koh@i,I:\6}i@o~2ug2|A| ɋ2eIPp l TuZ񦫹 _ RozhP!+ݱQ fW#RH<KMg4*hhܲӘk R>fF)Œ&#X/ ^I@&5v=wSҳXvA戴VVDʳy6zl',ȟ=5a|rY
-dZ0T4{^ϤUqi -̄zffxG^#d\^rϏ$TsYc7 K
-t %Q6Wtԓ/E^t
-I KPj yxc&׏$JP!Þ6AWoMY=EWb*6t*IqPcXtG{kTw!hh/XWqw*dR]0$
-"õ~z:V̤T##=Zh2 qJ.yQ,tB6].6@[Z&`/]*O?W-EȢc>R`䆼~ȋ;p$~<ؘm&,^<
-4֊T3i&^أ2c!_-ٜ|ʛ)e-o`ͅRSf54L5 <bׇU U" 4̉B*5dzgLyӢli1PܛTj5&e=W %Lxw[i ;:4tEmpi&c8P"n$I5`捍Ucd
-4tkľ 2aE˕S%J~7%͔DLol5~C;)#G򬋼K.B<2ot;V7Mݸ7gR9MP"rpg~ Wm\fRm>ȸF+ Xf%G=oW7C<!`x͋QphZ'᝸E(൙84Z]\װ0WC ex
->20r ƚfًlxUwdP SH)u
-i?fLm)AQvI)겜F\\Vx0bԸkTh glT,NU޳
-ġ1ikcv4ֈd
-ʬ֩0PY5vH7>/ &y89Ny| gvP}NgJv<  q1Y$eqA@i4vAqCYB ^~Qju_wƘWe] q pт V7m/BJzH!3CͿb>!B#/)״yپCN.fph F5h]뮂nԇ_!B[jA#pMyJrmyw?V75Be)V n`+멂 %xw"I=1寲 -lKpYftCX%45+^EJ]j|x;fW;Zrq[]Uqqт V`0ƐACr誼;K+FC!Kw}#4o2
-qYY۵ǰ7Mdc!X_/@36`U k5 Wpݬ4RGVK@85[+oɍ- C ,-%nZ ]PvtX^cxEOUR?}f f_Q
-PJV˱iMWq,GíyKsk/DLcs}ʏ Ms~7CvpvD?2+xG7.P񺒿ߕ]C` \
-evNϧg0`gvfa`豭vD0"
-endstream
-endobj
-848 0 obj
-<< /Type /Page /Contents 849 0 R /Resources 847 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
+<< /D [ 847 0 R /XYZ 78.37 808.885 null ] >>
endobj
-850 0 obj
-<< /D [ 848 0 R /XYZ 78.37 808.885 null ] >>
+321 0 obj
+<< /D [ 847 0 R /XYZ 79.37 714.242 null ] >>
endobj
-329 0 obj
-<< /D [ 848 0 R /XYZ 79.37 305.806 null ] >>
+325 0 obj
+<< /D [ 847 0 R /XYZ 79.37 180.575 null ] >>
endobj
-847 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F52 372 0 R /F15 377 0 R /F20 378 0 R /F41 373 0 R /F53 638 0 R /F42 374 0 R /F69 398 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
+846 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F69 402 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
853 0 obj
-<< /Filter /FlateDecode /Length 5979 >>
-stream
-x]I6r`dc_"Vu&bnm&ϩl9Bsw&@<>TH*߇ܘHL8?OQ)`O|$gOf~m? dBɄxXE(˄ћ΄[a !<Rl"$Zm!en9o lL-=L)Lp)_[[ʹܺnxF2mB[CƿE?5 ͤ
-BEϼ`Lݫ޹{UApÍT`ވ7tvjf޺!S ? ݌^UeZ_ F <j!5b5}gܿk!r5v5ppZV.k?d-x +4.y}6ux8 Nۡ$X sF{O8]`Sk}OݽNڡ\WCK dV9/\Gg=0ng6ͅgE_Gu6^X7=2̄3{X^~%8k>_p[yʝI;p- Q-lhwa3;C?GZpLg ]PXPڱXȉp+"?B M<|E|Uʽ`A&IXxבm{`'p 'cE%Z6@G޾$D?`V2|^i9|u룇g֙rX</v:]iV|@%;vYiW}Aeub]iV~@ڥ{s.܁? H}1$`j.%3oj`xj;^n;_:03^rmڸĤ53\ܡS&Թsms"%g0,εqϝZwyn:o.3<y榥eKQ!ֹmmU>K~x綵iz=[z綵iY:z綵闡fr{ /QV欳I4S&AP!= NoӇIF䈳 @Q_̟Fn)mB* feΝ\ '+(Gw  +ӿ&
-u;"L,s:9ƟZř<kIPM9RDe/s| s)Dtj93©QT{$B݉t%틔Q
-V,gS=ЫNhXM§ЧvSsSPV.IS¹erTہDITod;W©e;Qb8kIv3̉V0tL+#|,-I\hI>H4%>!Sl *ۊc!%Ժp-G{MY'5z6ƜrhߙCbs/L{ ν!;y crRMב-q%u5Sm,X,ZN YܯֲT,dD{gEhcPayc{qVa
-n+*#[BFyqאd"$Yc02)7چ ^]%%mJG ;\XL4U\@) ⦆q QRgэEK-.pr4Ǥp -j dJ,-J)e%f7ᓰF,ўYX"!KE-sa0D {K"Ь1a$.
-" BXWRRU3B.bl86$R2UXB?VV8YS8X^<U_p.p\>nL
-D!,wVSn탷nUL(]˱ԸR` {ܼH& N:.dIni29aZ}po1zُĩ(P'pRtre\@4҈9 BHrLS6
-,Z42)it*6˾h5VHlA8C`lH0kDza 8)$#74b_)iadqm"T0y3!!+DHIG([= {([:%'a1K`=UeEVI^bęL!D2!KKJP5&q#OTfh pόlU^>!Ә!nx!Fz+QP9 j6U"f:bU($2,TApgpe~N[DzJf*ݘ2->%7)ƝJx70VJ.ͺ
-m$ZƍO8ɠKN\;Y-tN E'L -j+2VjB\lXVZ[W*t9|F5LB
-'SҝJbyc9y[\]AU15yܐmERרl4M4H@!=ƶ ,R Fc êLXB
-ʺV8pREV++쩖o<&X ½
-=ȴ
-y?i іKgA3|}L; t@r?δg=ӦL]<f,fX/i̧9fvs
-k˚εmigKμ8MMڶGh7r.MM8u7MMKˎT,6`֖/=7:9?UX+uZ6έ|N&\k|X`-sc
-
-=ַ>yww&*{9tClY7M+inE>sTaX,I*%q.yjZ⥂/U>q?p!b]VVVɢvA\oSm_hjţ%sW}!ղUITE#jtP(\d"R] HEށPﮨ[G@ZF`&0,VȠV(̂Eu  E #KmقsrAᆯY2)]R
-漽r2|kƁyg/R蜡,I-JgP&uBAoC~T,
-cPW|F(/;!Pb;a;a.
-iN خ$v`s[M)^R:^ݵ"꽼X޸Xy8[s5Kzk!_ֻ5뽕jwzk[)^SzQo%Q陋elbLc}l*?ϭ%AnATD^ԕC%^zNS"A^OmSwYhmT
-<=4U,.@=h[^S}H`v@5%k}KŘ?C'.AJ";M?~R<މѧ9}pcF7Np7jeGz`|el8Jr5TL+՛|_ϵ$C~C"Y&h0PlC*`Q
-<[s"xu*
-doRv˺TAu뮋0z,wH
-ёT S8-{̊U-OVJn*w |IʷMUkˊC+ym)/%9nb`tBSktWSm=o~mYzY+LNC}ߨ.|
+<< /Filter /FlateDecode /Length 3469 >>
+stream
+xڽn,񮯘crMw@P,!f 9$/;S\,==hdْ^Y_~xWEt?>uQhN /ORZ)y{~
+62
+*\PvPxᡉW'RJa¿?VByŭU$v]#yx4TsBOc l8PUeo+"1/p׮
+׼X,#1+X+$9`gKu,Ϡr)sq>s|&ZVx{9q< hZ}I0}wš.=QO
+Sjӻӧn`J)c{UM='zʕz"Ε1_SyRe^o]Ѱ[0hiDvmS(8@,OāPC@t]Ne=;y~[9C[h3C9\C-E燜B\R {/=r
+IarYW&-vya4s!̠,@]A[KeB^^1Y|KT.# OE 0og}e7s HH
+)M )\_ a
+1}_|>2WsnFRGӣHU X;`7j%?KU?\\Gr;?E%{/6r}i(Y-О
+(n%bWea!~8}av݈q;gnՊR=qPs.7(T jEPog4$ k 1bcqv"*3ϸqġxzRG yD
+|e,BjJ;Cgz\y%3{,R /ٽ!0vkdƿ> %
+G nsݭt=*[lV&tgX,+0Iq0qsOM!]Aot
+j9d_HD#@{%stS|F9r~tKe cW`]Ex51jEu.Ԇ3{=kBk85iOI:&#UptKMBTPdfkx;¤ZbXsIU12oG1ut#Wu:YwŜ
+QF?=ǯl ۷钡Qu ?/۴~/'² s,jߗ=|>z6ݕ k{~dJVI- C+s|e[7 X2kr̬Z`̇xI^ċ]_I&0j6ACڝLj05Or'ΌIC -.q"yё '~$TX,Zik7~Ġo9G H=KtdKB¡իߋwq
+V
++JaovOp 7uF3u}s&կ6ө$u|}ԗs[brv)hic&8TYuʞn~P3 LJx]UJ,bvVxDJoG7u=JgVkjiA<m_OǖF~ t\=̧q=K>qm&f ʛ=,$+ V}?.`jaHgN|9qJb*3(?M_EW^>_Lcջr5?
endstream
endobj
852 0 obj
-<< /Type /Page /Contents 853 0 R /Resources 851 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 788 0 R >>
+<< /Type /Page /Contents 853 0 R /Resources 851 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R >>
endobj
854 0 obj
<< /D [ 852 0 R /XYZ 78.37 808.885 null ] >>
endobj
-851 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F23 375 0 R /F53 638 0 R /F15 377 0 R /F58 382 0 R /F56 380 0 R /F51 376 0 R /F40 387 0 R /F46 388 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-857 0 obj
-<< /Filter /FlateDecode /Length 3106 >>
-stream
-x\Ko#W1{,k4 9 6HS~Knʞ`ԭz}UEi5/\g!ZXg.ƍX-?\R_RdW`> ǃcR'2>|AᇳЋgހQ++δp>s.>%A(q\M I?j*~DiSGKe[DZ$T\=*ȃcrL/L>fz]xqA"HZ˼P$RF)d ס;Dμ Uz:<,{oo#66)(8Ke!RcCcrlm 9t)9-b<ENo/5FXBc a!i) gqiR6؏X$b`ԪMN!sra}dY8 )ݣ(짜*g@Fh*t-i.da rƧ q8UKc 4\!ʢ<Dcvsm<@Dx`Zv7+N=jW]G_1i_|.~㘑n*W:<9X=m$bz.>qWYsqOgȼ 0k~ߒ.lxm~^˭./4׀3'tͼyj71gc/sQmc+./_ZUDi&^8U'Sk^!Nb 9?p|W$,l(r$$sN'?G c^
- gX{DbK]<|]
-bg˃<0u+&Qz$A
-1Tbfdi[i컭4svn;T9T;Z*;4SK?RuOc@}ߕfT;0PҘJqOl;S@}ϕf>Վ9]W9T;Zv\Gf
--~[i _]iS+͜v9`J 5ԓʾJ3jGUaqL䂫^i3]렢wZTҔci?A3Rwys
-H}וf?Վܭ4*͜vPfǝ;~
-I5A+$ORAkF3Y"HǴַ%*8"c 3ΌZ\ܘ]Fhs<T֕X\o9uc΁ Y 8bqn/1~Z\ϬI~Fg{,F[<8scYLl|kbRZ,^FJ䅌Z@L
-ݽY^"ﭼ]{[" X3 G*ppaZWS\|T}h.a 1nKR00Jz|Mˡt)>_A:FWtj=.UOt0Pqͨ ND=@@y8m#zp>w&<'}:NЫ
->&t:eOb4>m;L՝>wTPb;x7;բR^Kdoop~ҚYC!bSπ&1fo*A&r/sׅ g2~1khѩ3h{-@w@%-s’)i7!MBQ!ʉ4p:IHCRY-|I@E&_v
-}j`){@np ϛpeό
-7h<|~~;
-endstream
+855 0 obj
+<< /D [ 852 0 R /XYZ 227.982 267.704 null ] >>
endobj
856 0 obj
-<< /Type /Page /Contents 857 0 R /Resources 855 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
+<< /D [ 852 0 R /XYZ 233.651 255.749 null ] >>
endobj
-858 0 obj
-<< /D [ 856 0 R /XYZ 78.37 808.885 null ] >>
+857 0 obj
+<< /D [ 852 0 R /XYZ 196.679 222.946 null ] >>
endobj
-333 0 obj
-<< /D [ 856 0 R /XYZ 79.37 771.024 null ] >>
+858 0 obj
+<< /D [ 852 0 R /XYZ 196.679 202.752 null ] >>
endobj
-337 0 obj
-<< /D [ 856 0 R /XYZ 79.37 499.028 null ] >>
+329 0 obj
+<< /D [ 852 0 R /XYZ 79.37 156.042 null ] >>
endobj
-855 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F50 370 0 R >> /ProcSet [ /PDF /Text ] >>
+851 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F67 389 0 R /F20 376 0 R /F69 402 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-862 0 obj
-<< /Filter /FlateDecode /Length 3320 >>
-stream
-x\K$ ϯ0ZE p|doNNCK~WT]U-5G)QQRIdޫg߼i99A7}0`^! L>N?>Ii旖wV{Nfz|LJ &~^>+e C/9 g~m>ӟ~ݒ
-tNЃΉLi4BSA'l 7I`?*z !ZE/ʗwCY.W={Y]3M|~meQ >F B8[KC%3w[yS~<(C`X.ĉ-tGUmBJxD<oR(+$!Yh(@ t¸4.=9R|a&ȃgu!駏Llh zMO3
-j%B }uRwkݣߵ{=#"H߈a&+u#FB5c䨅t>[ نkɈH{Fd'D}I`D
->l@ܕm uMkP)Qd?lRIQ6$Gjqh*m<pV`~1y'BU%2CX|NqrZ!h9Rji}]B橉?6
-t/A[^u0P$gMɉc[kt---[HlDHYkkXrZdY1i, Ixm ZlsXN)=Bc*w3`H4G¡iecٜӁh u 5JܖˎFf,/tC/Lodj|_ԁ[0ArB(Wصk,v-˺1_sy║V+1*e-1_uF$ ˣ—p7q+xӎLސAJ# q[/l)Q[7sD]1Y uvte*,![8U\XuV+Kݞڛ]~[F
-qݥZ zd{ O;%R}CR-bwHUI!ֱK';M:^R.omzdiغSw"@{ZklvMf욷$-{Lx-Lm2%MM⟧A;6h)dnRl•z69s'SԘ5#plXiB|OiP{?F$}=4 O4b&#Df/7M#]y39FnFwܠer\k)qnkm< WY_Zy? 9/990'r`|く=)p= 6Sej(0a@ {9;5%'/Ʌ4&i_$! 4aO x͝gSLTGA;C׼P!5n3xTvT1؆S(>kìnT, C z@d_0 j^P~)-l2j_yK0t$N KO0 s(9ܻlĐ[ekaίM0I ΟyO0vI bٙWaʶ˟.O
-F}rZhnۖ؃mXPp˹;2l;ܶ);2an:Q'@[fd牸}$y"FBy䗧1rT A<Ε:}YR=Cku&T,OB="8<t|Y_j/fW o&Pƪ' KT<*>{yB%~k`"QZ$a-K#p }. Uˮƛ6^`JEMu+;jiW@|7ʖ5ٕ_-ϒUƋ~O6dV
-ǀҗ-M֭nrn#?<Y6m~RV6,/9sƬcJA!جD ٧*"Y$w~H-O&S1f,usu
- \w/m/Wلo ΊWH4KɛR;k=f6#ȬtVq%9𜅯$qTUq+u5*d$+uy9/sJ/<ݫZ^, a9~5zJq2[6!V5PPkf1 Z-uͶmeRZMI\P[{FB]lŜSxbZj
-Xka.꼸bq^ [*eX;^GoW^ <Zt.5e+# UJBr}a .|*=,S*rs@hs5b2CbUԨ\ŮKܟ#)\>Z{V+[|n*Gj}ei/P\S*g|g58TݒɶGgy% ҝW6[!Uo,pzm
-a}XAVZ'wТT7 j6` 8ת6B=tAX;5j6&w`C
+861 0 obj
+<< /Filter /FlateDecode /Length 19584 >>
+stream
+x}M%9rݾ[j*MBS] ;I #/܂g<A}v[1S'2Hf$y˿\_ڭeΑ^JR]ٽ?ux]_Wv]?ǯ/ ?]o%0~ζ eϗ]d8\Dy eGV6?lg:lס5} IڽBw~$>ֲbÚ~x/&n=&61ǏC7ַ!vg? 7-}_gB?r7_ϟ)~=] a\TzѴ/փqX3q}s}Ş颟rEQ/H!d?}vr2O>ݛor/9^ϗ֩U<w||hoŷ\au+%~dE--`ZU>GV5jZ]Z?lW֏ra>JJ꺵ab])?
+i~,_nW;?!OƳ秗_ .z %QO?e]}yu4]"uBzle
+֔TS>~e0[/԰kcaSwOsj.]Bu7<^B& &nrg^UPs]2w+'D h4|ϊ&F}W-9h]4 yw kZ>ݫ&W@_1^=?ӫ/et՜s~J4t(ړ)vګyzw.p7I
+ ?X?z4)҇#3QI@ɧGa:m!}QoxJ?$zp噁 <z4\'ZzoA嘡O 5CYܳM=[%jF)#-ێOi)j8ǁ=;|b'ߚ>=V֩ǵ'LN>A6wkAc֡g5sٿ;|$f_MAѭC'ح_o>7~&j}MJgn"6gS"_osM9 g%s#O ԧf}oj@>">w=!\Y/.J%Ϲ[&}"rÆEdzwyYV."/EdzyYV."/EdzwyYV."/Ed5zwyYV-"z<Zzr6pĤSu]=_}5&yu]phg>}]WEdg絯⍽4zɸ\Wo4RT'ǥʍϱ$v]&ps_%Ӥ\XH<֮X&kY6/o͈Yd(
+d2 mJݗ$Qf尡9N4VÃR J@'%C3xLĪf2@a@?dR:UJ8.>*H;Rr&&A9SVmˌh1gdWN|s#JFơ`Nq0{xEKڈ4$~N2
+dYh[2)w-E+ 5 ;=+M.EJw4oyՇT54ye8ٗ
+Wg
+r_#IۅjpW^{&AHl Fe&a*?#+=v9PpKp40wIO>;zx(BU)!d
+]PCV6Eī&R
+^utM4h *ȱkԩ[q&bQ3 yq4ZmGԦ|s^ڠaڀ
+kBJyr:X]XP Wé@= $D$ϳSHkMt)JW@4W2` '?DnGbN(ato-UJ:P"6[ ef=+I(P=Rn0HѶUWLSdZ+E0ɔh4/3TX*]۔Bd<#?z ´xѕҌRHR6
+Q"֝[<M@Qf1:W*eLg<@yD~*uW^k$^)1NȪ W¶qiDiK>hW6cbFh3CGr
+5p not'XmJ-ӥDlxĪ4X+3BPbW%гJjӂفg?պŬX`
+
+!#UxFfpdalk.%b&V?T3xl MW@By~u_蹈>"
+ғgDÎWYT
+yT
+eLg
+s@<e#uoѹ`V(0pP&v8{{PtF+zrȦ2&!ldZK,&2<3w:aOe\Ӽ)Rө
+_5\0{ 5RV?'%[uoZpW- 0D~ji o-(:u^= sm{ Ba;V)=Z ͈US;R@([z=G.0jMkh r<Qyhwe jVKr%$Nw3aK2]6/<cJ Glx+iLâW0ﳡtd(E, Uq.5^k% GVcQFso4YWci6 r¾i99Q@fgL##f 8A ?hV+iBY$#9ǾʵߍF zC ԭf>gzn4勿XzDC  E& 9*6Y6F_pľzDR/6Ӛiڲ rJ Z Ƶ`rl%B4JyB1JBDr4[{~?ؚ;@d _6!{W(%GS. *,##`\xA %0]0>i,g8q\@7.jWn0?ws0ʆ]kɘ@crVIIVN>lT.` ⵇTN{-3RBHRP.#07;} z/Wuu],C+45Τ[.W9R:`fN{MDaL¯je1W.K&QG69O}X֋gնYV-ĵ\+hw!UǂųC3l Q iR 0bgȜJPr^?S&"ۼRQ-S[h8?6 aOK4߳Tc-l]8P4h2-qYwwmK0XI Fsij;cJÔJĻ\p޽ ř/φSS)U, Uː'O?!2?h(]\CZ'k
+f(jEy|wr.ll'B<JG.J!/HBg*3(v4HKϙ_qh'MtxkW]n4ʵt0rxq+lhIGh(רtGm/[xHKx<p_Yۼz.
++Dʔu
+W[(} 5^kďW/fwBJESOQ׿q"oejAM#̩
+2B&/#@S_,xsЍA%YXoC|z,kHX:y./q Wyl2\QH
+׍k;߂/5*/W|9CpUBoږ y.:oܜtMe,
+4xE ]BPy`
+q~h_Og}_/jW&fOihP7B:y>ш볖׉ց0P2p?Hw4yyEQ\$WWiW7+ ƬKd
+6;4Ev*h K_yxN] >5D(9~9FY Fzg8chh-Nw^(v(t
+h_浳#);z=%姈S//w{~ZITtKi"l24kG^Q[dkNNgnHE({WKdFF.b%=6#ѸHoQrRD\+#}^d?3]FSFsgP#TH*s g;JDλNx
+4[f"2蹷le <BޯВ l 1uNVArIhXƵ`M!<>@6An;)OZ_C
+`K1u h*H n A/ BJBk:2[G%UE!Ni!RB6J4Tl: <xӳjt.-Ru VA-0*qg|e
+2k9j;ܖSX«\ [ 2 V{/FɋX/PւXQa)'&m-qhyւ))gG-ȦC8`K'Jcp_
+ Zna1bM)m%P-X oHYԡ(f+A6J"55ǷÑ;ha :4TL:y$S.-R V2('\CKRk<!bQB Z2$l! H.Flwz" !;BދA6-&zwXP}1e ưw
+h]J8xg9ⱪB1Sa-{%h6ڿw[t([`Qα "u /uiarB1[сRw[Ap +(޹J35T-cSE^ؙA
+%5ي42 `,m-簦RqFix+TٴoVx2 ’NJ
+l95EHxpiQk6h
+q*Qб"5}zЫwp|_%PuXQa(mqG9$`l+f+<-%
+a [p eůB2=^9t))
+@x *C MhTA"XfrR Nbh4J: ~_(aG()
+NJjN&2 pu[S
+RWɄB 
+Q;
+ȔCbhTA+"[|$`
+._BB 71N2P#޽
+!U8KP
+@(wS˫6δ*+dC!Sa GE)ҝJa葱@>1ULڿ0AvkZRA#T^`=p, ԣY1B=՗T
+`*=Jl[ \@1@QTO}Gb<o, ʃO7 &<7dZ9y:l{e(SrTt٬ o9c"XʡFBGwqmk#׭wAu*Xw3ɦC1[aMGxf<`)kϤk fK9#cDFK>╋/@ 4
+4S CĒ*6`KQx袧(]=T^MTzG eSgUeP? xs)}BԃW ,D*W "8ڰx
+g&VnFG~"d?ZVbmgA
+.PUh3i`[
+bzpԯlh^<
+BZT( - [ 1+?
+kB]%
+~b(=u4jH-~" 3,tԨ Ϧ~00F#r8 ZRcYG{M&Tz'
+H(*MOI3p}c9-G?*Rk8J`TpH#M?"Q=Ò
+Dΐm͌BI ^oK)=/}B9Y&R.;737dF~7n炙4x|/HIOlSi`jQU޲ SQR, 禮P6@>u͖sLupq|$J>)6`A U-}f|b*XYAS)AʅwSsӓڰc{B'^c2W~u7]C[FJ-L556Hmr(MƆ˻`Pq:Fzw__^pCz~ޮBX_h]LP)AKrBP3ıԋqt
+-Hk}ViV.u"ou` 3ԩ2Ӏ&.Q>)2oYept VSEYP
+dAҝ"y,;<\2gP N!qk!0#ħpjhv
+<7knh*\WQf+^BdD^eEt
+duAҝ׀+~*J8UطZ$~<qUkL_<hM3CBp<6Q>3<_cQ!#2ԨBï'˓^Ѹ(o
+ĒÁ uxwcpeTȳ 5Ek!Ȩ+ F4:4݆:4{BV5\*݂įQ8Wo*jܤ;=+oU?רodb
+qƬl9# EEVaQHc 5Iwĺ+s_zFj( /љ&2VJ he 4`έaꠐ 5IwFzrW޽,咮9|7ү`fR2<]d+ͤqWnwOi˅oK0KKQ<XV2=|ZZxL&3`&M##uY6'ND['6A j* ã18cL2vJ$P?َ0wMڷ[ʻy.P 5E k!">OIʀF6`wi}o9/\Fl_6jBV:_ <lI+U 5Iw{s_.9(^iA-T7(Uh%`ӹըhTj!YrRB=O)?k
+'fs $h8T^xr#fp-ئX&坰O »R C<$w*fZKEi݊ fwXTR;b=R% $]Xڐnmb)(7rv^BФ)}UFĝ<wGFPl:4n
+}S<XޙN1+1NXTIp('Lw}I`n6PJ X\g~%&X:۝OAו  hP `Jj
++-7Ik&lKTr&)}Ub䯏^$-#R`Ve
+ M(z(,#&ۄBͤ<>PRO8-2 diAJfw@Ǒ.@ˤ(m"w>UGfe_IzlC⏄7_1+2]
+,J V:ZZx %.˘&PȫVr9-Ǘ_w+ A^~^h*/?Op]_ !mϱr""[f<\#~3Ȳ?|/?w ?Q)
+y7? w|awr.<4}"d|:\O-fJgbӏcF3fwNgo;޽oqTc Oί
+?Pp9y=υ/" _—_]OůSۑ
+v|m\o§ږx۹T%N+(Ymm=^[g8~ &G[+=gW['])w_31_p_>ײL#x-^>ײ_ˆh懭p#3P(W}S~b|6c\.λEߏ$U.ݙĆ6W׾wBB3Ȉ?=|K7Ɵ$o5z\-2uTܘsݻoU>yO ҏ{kxk(|&hOy•\}#P)Q^r;y`'ȀN!;U4G4Wu"ou`M#T)q{7ݸk8,CwZ]7gaZߙWA0h!!= &_I :ޛI[,r>A(Lb]TG# .V@ZxG?EL"=]2yn`!ΆZkʳvT~Q5LZ.T{G+o c9{g bYf+p)$N(C ;d軭-]FtP܂ݥyB"ǔW~1.F:P^t
+~wݙ<7Ζ-Cm";]Mkm ?g$.w=@ KB'.BGY]!_Ȏ@]*':A4F^{?:_ bzKu[z^@oF1f/#]{>X P;V
+h6D.AK#VN 2O=C{n~7`ec\z`@'L`xC1xpLBT#2V/=]A[TAz͇b脠E\`ے5|>1
+b_fBG7W{<(=u8~+"F=J`C-^y9Pr`M_dG"Oy F^ڽ.UA0r D|]h13(duYWOpDy"a hJa^!F%iuhR.aV.LWYG8ep}9m9-mδ0БoBjFc7f
+iL1@!<>Dz$GCr;a>QY?tvŌJh8G>gR'@G$RCbYuV>%Mt#:{TW#s?k7tI 70ˁ^T uQk2(X sѮe.T[;–LHuϕ< p
+t
+MEE𾉕}"9˻`X3Sx>
+(S ("=] {87Nn28yx+2N 9cDC/l5"Bv\ 0uoѸL|6K mĪ.-ZȧrE
+dy97,.ζ-CK؎P4H
+$z/loX.)-8
+[d&#+W@x ۭ-fG}vV :S=w!r7zGAFSGl4~Q1NA =ߓd?kBzx!nԂwXm\[)crȶ, Ѐ58 P9 GMqh!,:q, ñ>݅ Y'u~+,ܿe8rB|b+АӍ:U EYVѼeB\{S74ZK4b^w$k‹aa۸Oxm s;O3L'~p:h:-CCm"z |j.TS~oiHqwGJUHRESp/ƙC?|D
+6Z;4&ڂEO.Q
+0cH&9$6KWR(r]]l"Ԥ,]t*p
+dR\04|c]HZK>:U
+T %:_np3)5HyO{ :~qy~ K^6 |䴋 侎w\lK
+hY{G
+lՐܐyw]>]Q1ә#bݵ̈́ŋ`L4wsL6 A 1D>B0j+~l&|Vo-c&`(.4<\ Y1iȊ 3cbقW?:@b̯]g=hRMzqa&ggx`"=#MF5z̟aҳ+Y}q1D' ]U!0AȤʀJtWHqjR=R $nǝdˊzI\͖ kd.̓p de@%O&S֦3 l"R
+a*\dd91cTHVflwY)WbZ<3-ʕ>{jCSƤGDi|tNnK0 <d;PF3M.-dL'JVm$#f
+i?fLZ)AQvI)겜F\\Ƈ"FF
+Zqha,-5)3茧 晱y*gΚЋ% 3apCelBTVـpKQqJQrD߿yА"!PGVȣ DC CxE ]B̻Բ 8ήɷm"4Q35,uvxhɃgi/ʳ ! ;56 U!+P` \XZwggNP1;[1[#%`ûۏ:^^++ Y !;>t#Ȝ`3/W:}tFydFy
+G(c/;Pc̫MѲ.ꆸhAl!\%=$Pѐԡ__z~K
+c5yroz~S 4\"%jQ klWivŗwprZfC8O\n-5ꆸF jm51`e=UPݐrB7ɔg#UvxẅM9~.+ŒnKݠx [QzkW!?o,~_y:SKnu0αˀ !1.ZPcJ Ҟ:tH]wg|H`9w.`oMfC
+ۗ&5ݻnB՘X Ü {Kݳv_H2{ɵގ ىվ0;}}!?W{OnjgvZyG|z*8{6^5y;۸>,imo)S {~ϲ~|wśc~\7}[NU<>v|Gު0^Vϩw=97n^h
endstream
endobj
-861 0 obj
-<< /Type /Page /Contents 862 0 R /Resources 860 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
+860 0 obj
+<< /Type /Page /Contents 861 0 R /Resources 859 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 791 0 R >>
endobj
-863 0 obj
-<< /D [ 861 0 R /XYZ 78.37 808.885 null ] >>
+862 0 obj
+<< /D [ 860 0 R /XYZ 78.37 808.885 null ] >>
endobj
-860 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 370 0 R /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
+333 0 obj
+<< /D [ 860 0 R /XYZ 79.37 230.916 null ] >>
endobj
-866 0 obj
-<< /Filter /FlateDecode /Length 5035 >>
-stream
-x]ͯ#9n{Z}
-S[b,((~(Â*`xD8.{y˧Kfc/Wx.a\hgܠ=u$0,
-0
-]kƎ5gXL,q/"$)vSQ"ND
-˅A!6N5EK:0zʜR
-.ܹ_dm$kZ
-R7v)Q~G]̇/j5x\23 H
-_M5 L
-EDE3ȅ>eGkbm%s
-a lQtdMd MJG G0D
- /D R~D˿t"tkឈ.Ŝ.j}іi>n@u5;'? ?zT;@j HJn {Xu&V[\u4*^t:(ph@5ĭ3?W^'d\ VZAWz^&Vϕ9|Ros5ʏbiy\k cPTSG_
-1upj8 RLȉ]J(*,lUjy^w$@U{ݙ[鰦2ծ
-ʠjvF]\;"5+P`婮Lve;DAWF$B<!7rrnK[wq͟ C*ZepuzV?AzKUJ >owJGO }g'؍N7^o'n<Kc෨MrtKq+ Cvv$=7r=7ZOF<i`>w7(Kp4Q4[Rn
-
-V{$B 롢*Gͺ d2f
-驪rlҎ󘨶鍟¤r<<c
-&-KOmxۄo^D)$41/,v'f{p8Vyl6Bi6KS,Cw(ߟs$"Sˀ-z?wXRz@ hߗ0@&C=aՑB_&;,kQG/S~~Lm:R<f ?+E‹y\xlNK}L/'5|nJ.iiך`Gu']'[^mgo;nF/ӲLk!ݶ,뵖u(crT?[>`gz@ռ£3#O U:lQr_$9Wzcflf+cz
-w-y7۞g5ky͏K~$k?W}5bXjfsK3 hгp4u S*~*ng
-b7w>a>A8F<mf%٪_F>/z89*أre%FA:ySj}JQbE-PjܷWc8edIIk\M`*R-ܞCN[Ù7ktچ Ծ _[mzƿԷP]vXZ/4e!_hQsEgX(5%Y@fk~Q6 I;VCLa8l-' ZM;F~; bP,ZD@У_)x
-ooakƨa+lCav6cHlj
-zK
- ]v똥p/"5e#WVW
-n[bFmͬ)#t:r5RIBݱbqL_ U?v<A'j|!y8<@W\>lOv<tH^0=d8
-:
-I숤@v }dS,շzl,0a0\}=B*$2Tڣp`_|<0@ŧxYǓw|ݗQd(ar KXn؅%\r buBi9!#f 9Q~Q̹FO:+wlڎgݢ?(a4]s5ۼ߷vsU?<2m[g':GO?,
-endstream
+859 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F20 376 0 R /F15 381 0 R /F16 382 0 R /F18 377 0 R /F23 646 0 R /F21 378 0 R /F69 402 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
865 0 obj
-<< /Type /Page /Contents 866 0 R /Resources 864 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-867 0 obj
-<< /D [ 865 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 5472 >>
+stream
+x=ˎ$Ƈ~
+Ru[ZW<Sg뷒`O6~H<}866vG|GspYgᘔfNgbv^,rˤ<yPfM`[򒷗M )(d:}}w]GE^F oHۼ!g/YM
+??RiEm Ŕ
+{1e.`*30 L]9bڈ= X!aWn~Ä0cƛ] ,ߕfPLlD$ͤfY~ru@]{q/ՃׄA~9*'(Oӗ%J U_V Ƒ. 4ss%tŽjhghojiT~Ex;m<:;sXGyͤgΪPjUm{ ¬ا*M+!ƆjNL?[C WdNMNa5? F3̷1y'MCi%ӌ0 ,5w=Lc4Rn&w;uasݮFA^A+.yyi!ku8W
+(s1ft¾`+y88Gqyȼ| eۛ׌Nub^<PaH`kL=QY3 w᳉%jțe=b-7;Lnoys۞w)8UIPY 8|3:a*c <p)w92`
+>Y2+cOS3r{t?
+'`?.3= 9&w&Eyi
+ Z-1w!1CM촂21ؗ<`+8%X%Ei.9 hlP AqV (,
+'c½UU ֞2LY)%!.AOyp_5g!WAq[RdBV!t FjQ!9h]n! !{fm,Z`}XC9&/(-
+cz+(r-z> k)K%lPMdQWLԒmlWE)JSp
+#(W*"F:"U 2,P np%vE[zJf*b;Q5%ZlA5%_SƝJ`v1_&r" 6慈^Ci!ApTCxb;DՐs҃ eM$9I٢V%V$ &PmYd1y>d<< ;tEqzM@`<` Q, EODM<ĬDTs2UK gP Y`:@Ug]9w4f
+b@5!6$+,3ϣ+I6#V&cN$;YQ[-dn1 ,;rkr܀m"jT6DQ& Հն<Y:F iUM$m]˜@9bV-+Qlncm>+!x;6R xb %P`QRHH^o 3X-f QyIѐJZd_.[q
+2oMXvMΗ?@<t&ɆO0ݕM{g2}7>ދfa Eۑ>Y^r!@*;PF;Hw E-l+T=Ұ g8ue$;{dޓю OIa+?[VI,+DJѲAw`*Ob,vJ>Ћ(A;Q@"]$;҃2wz)y}P"فCIvdH'DX慙ԣMaWjv
+VM%}﹀῱\R6lF,O[|j\k)Rs P62tͻkP70KK:`NF
+Tɜa۶l ;4/#Mvmش?S'zO }j9PYy<6~4!᪇܊mViD/- 3
+_}GohJ(Pnm@3nCntaEy:(yy~XlԬž:Ly}sOqH?+kǧ)O)aryU<le:kiSV>~F?kId ' 0`_a
+Sȷiԧ9}\u|ёVbW!%"-!OEچFI3MGIdI طis7i'Դ)ҺEڌ<i+sSH;g
+.ݝ^KŚ~XGLy2#"ʂ=ysw\ݦ{~A(-K/97l@#J('HW2Ptp;V3*?Q^ ~BK(%gN?+n\ґ vEKϽ(?uBop{ $ndXPo)B7|a=HlgM@`aF7@:0 ;p(b-"~աqt)O0Smtc0^zlBE>
+- ~|GTX܋
+6AYkoy4}+N֭~Ss4UnjjιE[Ջe$Zikb$?V-
+endstream
endobj
864 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 371 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F15 377 0 R /F56 380 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Page /Contents 865 0 R /Resources 863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
+endobj
+866 0 obj
+<< /D [ 864 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+863 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F19 379 0 R /F23 646 0 R /F15 381 0 R /F58 386 0 R /F56 384 0 R /F17 380 0 R /F48 391 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
870 0 obj
-<< /Filter /FlateDecode /Length 3906 >>
+<< /Filter /FlateDecode /Length 4188 >>
stream
-x]K ϯܲX0L{8-i!q%?TIRj{ CS$E~") ]~x맧?|`jqiO ޠ [#,F3B5[>}^RRRBo/pJX\ih
- $6 
-5g
-6 t OPhaxrCh*rް#ya?"EVr~)aˌWɻs4Th%Ž"]ܻ9Jfc4v I9'J(/Iz6sܛt"՝n"R#STJ9W?WcV(c3;t`K=zٛ-׸gaf!JЎ'&jP 6X f &k-ϡ&` F+&c D"y+}
-tWݰeKZLXSfgW)'^KD@"y8JoFTcL6M6-qR{9Q+sͰПM{kslj4OȦy&My5la;Y8
-AUJ^l.W%|A#U%98.Xs*ڕ 22Rcs,#JMc-9;ꧽ gڪ~ L<ɼ
-@E}z@J8
-eM
-knkvvq"ydH^
-7 wmIm$6tmv>$[e,q8gwEߵh@a=LCI#'hY*{$OvH$6FZ?2Z׍ih`AVm;
-h~\@#ɠv m`pZ. -8.};!jxm:/8WÏw{~|&'c0"Ǥ&1{` ho=O;` xLp3~VCKuϓ3'׽OyYyJ-'(wy6ٔ ~כAQž06)Xw| p@Û#RՈ
+x]Kcrh jº9>9q$
+\S|tWH|,ֻrfL~vlx'iVOy$`ʊϴOӏYP6C!J`&Dz؆(ƹބˬt,g܅9ϟ~@MI%37=gzx8*a@4QoɣtR$!~C ʫ)S~҆Zø@<H">N6&Hxa( <
+/@eZ'_ M)T'*`@PaJP@i3_Iä"?‰hf7iU`B+b-@[ϝiic?ϝii
+IS>u%ɏɓ$
+IS>u%ɏɓ$
+}h;'*9ԅy-Q>uOUV`ZpX0>F;]p\ :/=s`ORe*3weؐ*1
+VI5̕&>ԕ&?֎^~[inJC֎^~[i^44vD{Ih&5>m&RƦ{/4y.rdBrUp{ `,ml]N1lh<^~[^!f.O4fD<N|sGK&D>my&>M~<?O}"D#ԕ&?֎^~[i+Tv
+л~ӕFiE>*hbiO[ihc?O]ihc?O]iHAD/v+qJCS
+IWAA-ve?-PMwKM.4%3l y/E~ ;= >fkD H6έ:#$e
+bQZ<-DmQ@͏OŢo  `}jmݢi+k/O%"`<(HɀKz'ʨkvZS[&L,ī>![\(*i~ԡNݪe!;6zN/!bvYO EtTOOG&ꩡzZvYR dPϮGӦ-Ftja|m6qS7mwԈW)R Yf-tVak%c=~ozK޺+Vl~jq6g\Qg¼-٣/,
+vD7 @5l*!}r"Iϗ9c9'/<+ {5{R1RoPS*x[lA| trQe/fu'W{.RzR{,FJA ;]|1eivT)㱺R ə׭%SJ^*Kx[ݙ%JM pzJ kZ\)?lV![-0>C洁`9qET?{ëQn/Oo`(-Od)ZSCv˔nB&zeuN9EƗS&2uo8}eS-"t.[~C1B׹%<+^[lcKWx|K_OXD/X{, yW
endstream
endobj
869 0 obj
-<< /Type /Page /Contents 870 0 R /Resources 868 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
+<< /Type /Page /Contents 870 0 R /Resources 868 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
871 0 obj
<< /D [ 869 0 R /XYZ 78.37 808.885 null ] >>
endobj
+337 0 obj
+<< /D [ 869 0 R /XYZ 79.37 679.821 null ] >>
+endobj
+341 0 obj
+<< /D [ 869 0 R /XYZ 79.37 407.279 null ] >>
+endobj
868 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F20 378 0 R /F26 400 0 R /F52 372 0 R /F41 373 0 R /F53 638 0 R /F51 376 0 R /F29 371 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F16 382 0 R /F17 380 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F22 404 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-875 0 obj
-<< /Filter /FlateDecode /Length 4928 >>
-stream
-x]K WQ>LGVv4W9'ź|H9Re_>@lkw%Mh5 |
-b3*4 1{CIf't\a׷2BuL~4 >EEкى) 2^zL®g $j$
-
-jǎ ]<=igu/X.!:_7im9}?sv0>,1)_~ܣ 2ym -FMZ?ubaUၡT:i ysWH1 =0\"!O Wp;cΐŽuvrl[i
-ZmPG TLL+N:_0XRQ_ʋ<,,EB@
-B&M(L=ļɔĈbjpN!2] ,dͲrUI/|%#,b6Ͱ d]kR
-y$tY%(&]z{w{rd|',6pع1 ++@ISI3=)_L%B%B.
-0+R5M]SeB{](ZUO>8VX5oVݘ]*A`zk$Siu΁ݙ1sw8oDFQZRҟ#Wέ|e|髼aPS*͹hjD&c^z؎52u8Xue6E6;׏"(;
-b -L t˭$Lc}Fm''x?b/ҋEWg]C[Ӷx9aGI-> _JˎJkVby;$o\?b/UBznH0uj`'˭=I`g[GB$>K<x[
-{R NT ӕO:BR%F"YNvɏ3}ZVRX"4$?
-MZm3BqT,`#jˮur6|7Ab'vÄ1ca5"VZL 3x[HSV]kÏ\~xF.[ҺG/ﳹ
-Mx~K"^6K$KEm[.|W4TZuf,F0"
-a8*h+CG&nKb,
-%7LIj<salaz uU 64VJ6Գ~_54$mզ'Fum+K#o_W_Ԅ۬HR5P0f'M
-u+ :C(4̤
-Ot[\4$)7K}_f(g<qtƺNvԸm-X.;p\[lUb’c|Դ>TC:KmfwX-s'n< `pQxg15qM+712y%/B22g'+L/<y@dYrF ޱ2
-f]6k.G( v
-qv3Y5:LU(Ys7W7ʏ57gE2V~ ]G˪,xt$*lW \faH尰($SS5:,4
+874 0 obj
+<< /Filter /FlateDecode /Length 3190 >>
+stream
+xM+bz "\^nmOC
+iKN9xII3pwvE1o ?E,35q#Opn=V/9kZo߫o$<L:|Ke 褵?V͙r+++
+SՁ<ohmTL(SM~eGLkOh
+<1T'E%/.
+?<~gU\ xon4^PHG
+LU5M6A<~'!KSYiz|8@Gldb,00pŴd
+vz~?ť7D:]k_lLkV8͖[ffK 3*6\k9ͬp_8o|Ӗ 5GL 3 aia);)794)hvU/C( ѝ]
+- J3)T:I'ֺgM{=%* Hz\|"h0^a
+gPSdWH$KcKG(A3227t;Tcna
+3NN$L>n!5Bkۦ9 Hs|CIHuiHwmmO,pQ
+s1d!{50of}X$ӊqCCXROyKSܱdӜ'SFPI`2G9af ];O$ `~
+"p c@[|<%ލLs}5ʄ/yAS}@9;֕L;qa<3! e2uZvkX&;j|n&35A3\4X5tzDYMscINuuifE%RB(bQSsb(C1iC̉ FLf^n2X.bzĪq}BBLc6-n.7u,$-bB:X:BGhT\r#=嶛`r&icj,~.0T-k ɅRU`i{T|O=~7[<VQ`-|͛8*_v_' g{Z;p_̔}p1 x}c7An4XFU1Z8o%ƜwnBw51y[ՍC1;o^ 38B]+΍3Sw_pE
+Q1g'܂M(A jxB^q*ZO gmFyt1ʤwdLo(aRD~* lx`n<C噜a 䙎S-xh%s Gu3\];f
+iF̤D؀6_%nLqhLKۆ?\f6Jŏed/P2@7h՗I}N}ؗ~n> wvuG;6~rmc8-WC4zZ-4ѮǑP-&DOfx 4@&M a*ɬWh0B|(T.iƈGJJrssC❋I7pZæY 9яW^jZej(O Ǘ,XCഖ=rXB|(ۗ/K;”]:O^O
+߃Ղ9 [-/`=
+,0\rgT_6J\ZTWNkHֈJ67+]+ZLiQ<~E+ut. #ǰzv˖ N\9:_ӅuWISwXn9sߝnxO㚧`{< o]0UJ}9v~EJd:U7N N b;:<lٹfжjU{>I,rl&q5&u=407zE7ߝL<n, /oP[~ =
endstream
endobj
-874 0 obj
-<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 877 0 R >>
+873 0 obj
+<< /Type /Page /Contents 874 0 R /Resources 872 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-877 0 obj
-[ 872 0 R ]
+875 0 obj
+<< /D [ 873 0 R /XYZ 78.37 808.885 null ] >>
endobj
872 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 74.213 286.601 85.67 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-876 0 obj
-<< /D [ 874 0 R /XYZ 78.37 808.885 null ] >>
+878 0 obj
+<< /Filter /FlateDecode /Length 2877 >>
+stream
+x\KϯPnkM7`,ҽ&{Kr2 \SŗH5%Qʤsú[R}zU׉O^x}y7`o/IL3)d-g)|/?=Phɸ֥P !7)RoQḦ́v[u)~(>~)D4A_6>M/IC">Bz\b5V0Z3u"
+w A)_8 j@ 8aYֽt;f@m5l
+-X0bv mKnOjS B Ah?W4HTkDi9n Tp"cbJs X$gA$נA['F)l~sIأKb0%p2]HIB< dLDT93v@XŴ-v? 00E鐂S/]!}YJ"OŇM{ +`jI;NAN`I!m>>Ic?VHd@m.7l[1$)=G_Y {q7){{^f;' a \I\89!3pUS2wP-Cz9Sa_aizIH9uxczS'Act^82'݁Ouq=[I6)lQ^sx L}=h0A: LxZb^%xQ۶4 vbm1 nBOFrD SQ7'cJӆYfmX"!Mi䢎E0<hJ!bYqH4Ml=i^Ȧ8IzN`X|1s4_q7vrBDCQc3-\Pkwl5(9\(v J۳9_sy< sUp4sMlgoz 8"/=m/:;yMC2 dx.ӠJc{hɒ5J%ﱅr6 >k.cɫ9vrqVm'o9s(UT+8&Եھ FmoD# @;No
+m~?2r;ȩii?T=
+IԮT]
+I>L
+S⑻yF3ֻ0EF y)<oG:LP^
+v YSB͚paSL&qSЧϛͼݙ7ؼT?o2J`M=%`k y QP>4
+1㣠ux ڒgQPըQPNJXJD+r<jD\H?]8)Nڹ^dvMҹ^ctQer\i;5pEk*K`)uU+`<Ts
+ tSFPK2O=6)e5gѺ{^%FYN 
+O_pu oM& :9}L:v {vRXEzqtųtk%Ɂ3~-ѓ[ãɁ5{r>c󽀿A'vΘ5߬52|O!F˽xSl2Vzk\f/V6N؞nչފ| {mg tma~9E ^;VB~F1̞~Kel=v SiK˟Au6 p"w/Q]{\};qa<3vAOBORQr΋5@-tݕS)F&G֥!M(_Qk]i#˅
+_IkS\$уmՆ)&x]J3x[bʫPZv׶ $`|!oBYZVgpx y[N__Q
+endstream
endobj
-341 0 obj
-<< /D [ 874 0 R /XYZ 79.37 771.024 null ] >>
+877 0 obj
+<< /Type /Page /Contents 878 0 R /Resources 876 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-873 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F58 382 0 R /F29 371 0 R /F23 375 0 R /F51 376 0 R /F57 381 0 R /F55 379 0 R /F66 384 0 R /F40 387 0 R /F59 389 0 R >> /ProcSet [ /PDF /Text ] >>
+879 0 obj
+<< /D [ 877 0 R /XYZ 78.37 808.885 null ] >>
endobj
-880 0 obj
-<< /Filter /FlateDecode /Length 5615 >>
-stream
-x]K9rWqFo ؾmჷY;dGZ`2yr]ff  ×w%Mko/_~yiKH `Ӥf/-F<[m \h؏廀:‡NpMf}&y=NbMY(t=|ֱxE4*{9 cKdRGz.{$
-&Eel&\ oјus9[~;JdlkћE̤mW> F >IGN\ǖ(+>rIɼ6m p Y7z06t>T/թȧ/l7qRA_}`%sCAMt]War665GkIZ;3EANAUZVM^d(|K X.JO֙cEd?/x@ݰPܘ'
-1
->qe%ehmUy:rKII,fۗO6tmFMi.R2wLﰝh >+w{YKIެKi"0T#;v-r6 ;qTZ=w)B`X╰3~bȽ?{Zq1pc \œ36Gk~mO<r?01(rњ;vσgW#]cJHnRA? ph!qcyb\F'[0\qybf\ fohOJ^p+j^W4+gCIǃwXU%_zkr;jLz$9< 3)ڠ}#=pFcJN*T3h/B\A[#\DtJ["Zx`~DZD $7]ψZ|I-=Zi8fW9E&ޚT$`X#R48o.7
-͐׾&&H"7J2rCI>RbƖwuj FI.%2L
-^3&]G|SǤI4us+sl" RwoMT*a&S)s &)q1_*$AxX]va%#An-
-5֩5h$'f`$YTԠu+c)#Jˍ XXL4݄Z3#-%N` ̋ȩH , 6y6F;L%I$GP)Vעf]zAax)=B)'ٺa`ZlqqywEW%J親QŮw0qF
-J Dڸd#IeV5
-)<4e(-!X`U)[ a[sT1]veP[b \ 갍p("H!&YQ\sR47i6b { mMf{d+W"Jˆ Xe6ر֜'UccgbFB(Hu .ب6U"҈j.!d#I؋eܟV5
-nv)/Ꝓ+WZ6F@j8H6&s>57io65"@EIͪuFjF(HU,v !$9O~+b53dׁ:dýBVN?&u-W0R3.Pb I] E4[)]ەl vl]+Rk0ZܹpK_1FRk<M̊4M@n{pڥֈJmw"^c}b{
-FjB *8b6+C .
-4qK
-vJ#ŗ )mld<H/Ob}v=~-iǞ kCkk[~5>x_[?7~}\E w6ꂶZ
-w]t] >4ABxD?9UQDM+Fm(:#[>j^s~5#JcpI^™)w;)N{_}-a>Ȳ
-TXv=6+J)U`94PdoY@V'Є`q >X;2
-rhUZ,dduUvpk̈́g%AW>VM'`!_;Z S7+Nܩ/.4k9RgX*c k3dm}̯r&PR6d(6QLI5Ja؆ /Xq_%bk&j7YkN)z~⪳s µ)mX-,Mq{`_/7 ->췠(Ҙ=7'؛͑)}xoMA -f1ssuo=Mao[8ܛ
-.$NlIYOk*Y*f3qVF smh8EyFY0'Qڴ|)9<Zk>c *E"I0GHZHZVYb%6$ >qh4c(74aN5WDžc_6F{qrAo
-5T
-J:kNiIsN![:PGuN ^ : SCB6<qeƱJ
-e
-VƸ.:W&QSV.VZ]XlYẜBu;BWf=P 5@ɦ Oښ'gErZi3ph*;9Mی\/ge%غA%Ik*(vW"9U9z%BP+V!޽ҊZM$3MHSx̊-^"
-+;fwo-APϲ$
-\)\)d[|8jsO_Iז,J;kSWZ&23pv=_]yqcJ}} ,`Upx
-?ܼq{tYx { S?/$` މ샩w"0<5<4%3sWU6L}9iyípܽ;΃S۾{7 S>~0 C&`К
-؆/[Oz>74n;LJQ?ɨ&
-ڎ?ǿ?i7ؗUo; !1j=<)fSqqX|h{'Q\˼ݙ?]AK I4z[[/GLJZ-onɔ5p{;g{8Nʔ毕qe [N۝uQșN7zNx;vһA
-endstream
+876 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-879 0 obj
-<< /Type /Page /Contents 880 0 R /Resources 878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
+882 0 obj
+<< /Filter /FlateDecode /Length 3850 >>
+stream
+x]K ϯ,ZF=$I|KrZ {H`sU$Tڳ9O$EQc [8
+M j P}^VJjyf0F8h.ION|ɨ{$V]8DS\je\<Ӌ#Ns-/PoewM/]r6@
+UP39(bF~X̔-f&tKL%GaTP/9% ,i/t&酠HKv٧}d~c%Aԏ &u>r:+A:N,fJr.6J*A s@ htŢ`l^*<JrPU T_p\&mT\bP( US_a֌2XH]3" 38׈T?9sVca7v!kX#{< ?|x>G
+Lp:vت+FA
+.\nƜЪ+#Ъ+u8W8qluw6{nlEbdm}ކ[eq-7n˙ݶ&d'k<&
+V[*!~g;T(SY?lM[{lJs~B5#n6pGq{ik͵xto-g֚r-fjh9Q[ g}.6զeJ r6; MKt#(p$5pYg}qX' ) LcnXLK`dϕ|<Qp J?y/;s-fG\I<,D¤zy+~PI-kzy+
+Y/;o[6O){mˆġqv$]7ΞΰVާrdȅwqv$k|}Svd[nDs܈B[!\AOF52d_WE{UKᖰ+\$7@D8XvH ^
+泣о٠̑__jIZߏH#AtlֵbcӰn5㢀C$C!aEE 9Aq((ep˅8Ti4S64<pа٢Чw9]WwTvFEJdz3T:.w&J;4jt~Ѱ$#VU |D 7nX^LpH-*(wy6ٔ ~Q¾j/~NPSK,
+jA()e(OPa{TW 4\
+g$] dNPqv$[Ĕxn@M:S
+­Z?u.$ly-eS6K/vւ79]ҵ^܋r-$?d$uxM4"0h뎖J^l1ykdļRGۄ?D2mos-z+`jz?^I =es1u=a4NJ{K9^_Kފ!HiSk45X>|z
+endstream
endobj
881 0 obj
-<< /D [ 879 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 882 0 R /Resources 880 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-345 0 obj
-<< /D [ 879 0 R /XYZ 79.37 144.873 null ] >>
+883 0 obj
+<< /D [ 881 0 R /XYZ 78.37 808.885 null ] >>
endobj
-878 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F29 371 0 R /F20 378 0 R /F15 377 0 R /F23 375 0 R /F51 376 0 R /F69 398 0 R >> /ProcSet [ /PDF /Text ] >>
+880 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F25 375 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-884 0 obj
-<< /Filter /FlateDecode /Length 10368 >>
-stream
-x}ˎ%9ݾ"Ex;$P(Ij'h1JZj`fߗF;F{V5ΈF×9ew/ŵ%^rs{wBV|9L۷jz?/w`΂/٥Fϟ~?bBPsCe<«ԶX+ms5<«ضY6Gi(yKGi(wy.=>( m;nK[ڟl^.3uԨl1?5Ga(xO<
-ywܓPvNvԬ%-'ukİlPחQǿdge_/W58wf.zW-|YC[B1x4^UK_Q3N<gý~׭Q|k-:!e_gH[}FpY+1E/ejqֻjװS&?4?|R7ɡ KÅU )lSJBzg HgoO ^Z _-U^iֲۡ7^;kt㌍m%0(7b/+Mh]+@-4>QىRomoC=/9hRſh0d"0ူuЧ^z3j0Q̿,y gO4>h/3Q/@E yײ +.ŗ2_B"' hI$lZ)WRԳD)!'X03猳(!E&'"A|;8A'Yr?)7_X.q,1~w77c.lo@^ɶpfe>ŭP?$lp_uӀF25{YS}?|LɷVo^_ǯDOꂷE
-eftEl(/?z~ULjƳW=-Wo9O\>=i9m'>)D7ۉʶs4s>dh^5)7M>u46Rm"`zj(|H4ODK<â gDr^D"7eRњ"rS%U͕̍geOf҃2gdTn7KHSy9MQo1=(eʵG^DJ?2J\mF)`qO}q=b+P{WiӋ'Z[kXz?h.f_{d8BHO'OwE<
-V&/Eۮ ˸?S
-(K-j%cVLMw?66N/ X$?ʾj!ܯ=˾j{\>}§dKgce_/]5d,>ʾj_&Odg?JW-xRzz OcEg/f;j{(Ecas|05#]zo/ECm+,?(E׶l^)),={L(EkO/(}A[*nSt9JK]MUBDPȧ^_ 5 %E=e4 +h8Cz[x3.
-
-dD1tfi\ӏ&Mԡ(H2UgJ*'VAr%'deA
-dC 'N|WyPZԏjXb$A Kk M>ŨH4n&
-J
-/4ϗjZiMv)b*5W
-@<M
-[8Nbus|=_xqARo|G9E!qV#q0`)\3!LP<xx2C'pޕ>|{wpF8ϴVnX0n1Òǡոa 1Rn:)Q^pgoq]Cj`(2?zݫd-kV2~<V/*+%p{! i(k |'hs \tC V":>en)ڙbthԦ۳gPc!.6E{|YkZ+fS_;֚tb:M&,n*OR$f]Ice8t‚8Lm.u1^E"Mف
-wuXDK4>PĬT`: 3XתOU<;.o`nK)f2"D|/PEӣ&Ȧ;<>tC̲; q*آ
-wuX}*p\R' |jklJM<s?ku
-oR
-cJ N! ʱs
-)ss|RHQ\itBA
->I}"<\
-5 ˥K!k<n[{ ˥P \
-Hz{9R=p)Q|S5 9 cQøUǰJol{^*rt`Ԧ۳ݐ(QNPOc$|Ի6L'Hg֭=E:>7_trȸ  |E8vS_ q}
- $)\u3"q`aխloԑ9 AU80Ff…p вmaeJҋ"tjtb0)ӑy 7
-
-%8_ Tnj`l$8pL.uʂ1^\vC;~ .FSzۤhm`rSX!u9+6TM<?KvS3\ Dg+l6gl`^CxL@Q'*j*#)qzBeV4 ˵6
-
-q|g(6 v*
-N_Rw*Ρi h kh7AT
-.{43{qqCHAtQw֋hh8iyd̬3zϧ挹|shx($r@/\)k4ASWl=QHr1Օh3geC`z=#qƊz(z(($ĕ3iO'&Y|=esdSVGT ńp2#ĄfzlcGX-P( ˾E71F B\)S"/V6k1$- L
-&ٹΣ&3@#AOPE,4YV L3\\<e88`Ҝ:1s
-5C])z
-
-L3{@5$V3rq[s=0Is.ݨL u )d$xqr\ep34U9}<fqwrFp|6i1-)c`"cͧ4HH`YC~ܻO|Px*M&Lo")+(!X4Vc*Y)Ri-2gŽS]6:$~Qh*'1uOb
-OrQEڍb*+)uz@3PjSOzÝ!G;9ةՌ&/#|EeS\)WBCiX׳
-S8Յp+Uwpn~5PV
-pOUp/+3zVA3P ~:w qՂ<:OLb']L2Χ[Q8ŕz-4+kz=0Cz Pgb ?~@B~&ɷ W
-jO~Uj.NZ$Hf6MJ?Tw;aԊ;)rvc0nDWj1f@|2l: C>tFttVӶV
-lOTh+*+yV@DCjMwi:vU|_O%65l_C 5SoE`Rg h S.>4h*~i%VAMq^A
-10^/T!=({ C>SFA1]٥X7 RT`x0SgD8Co
-ԯJV2oRxS,t~FøQ&5un`@^G
-^+?@@ тg}RK8T{2;:^tqȶҚU 0m@nzTr#jz?JCx|J=.JF=ܧx_ӚBOA5z)4F ܞE!=ԇE~
->9[J{V@ ꀏqmfW:ZeOnA
-RhV7 /p{a>Wa&4"|L5/5| D`dRRg3Ej( uAB ? ݢ7v%;yshA3z!4Dk=03P]|rtɬ#voreU>.D~X4VUV,T ȁ8ʻ]\xF)%5ǯ֟j+?J@F6 /p{afmHknpQ`!$KɈFCLxS rPA 硓ajWjރ-؏^K2JW[~ !2<YIF J5U6L\儤@ϗf!߃]SA9%(MKg\ь?L
-+'gF#-[)F@Gȅ/\V0HId7e" IPn%T#E'%p7CŨJE]Ydz޴k,j KkyX3%_2^b JK=*}(QA+qQ
-I$>]?'3'~C.˅VDT;*'}(T٨3q9v@~ut
-/~Z[Zm?ށ|-VNQkF$Z*Y4BFF۽oA0I鸻/ͼtiXR f dRXYG%uL46qQ
-Iً̯+x炁cۏuOAI0[߬q+Y)=
-%P
-1PAg+y"tpJ녏8
-(oƩ0n
- $/O.[Jρx+1oUƹHn
-rMa_{DpUe(vynǍǤFzg Jӵ Je0A<I?]Hڅҿs|8jǾHҺL3ybC|c3$ֹ-2Mxh#ds]2
-wׄ_ ]T5Bԑ(`>ۥUeO#䕛y^OGF};H ӵ Կa0AOD]?5FC$w4=D!&74=D!+{g"&4=>&4;>хcy||AAW/)oM$B~R{~/ʕBݢGv+GGaоUlAV\oG0zRw9{6~wdFYn~B~[q?͇Gl,3:ەDʈSD!Q4\s푺Vݧ\:==bQsbTZW#TA[V4^4>`=Gچ_ˬhXO˫v\=8nяݓ/Ez!<Yo+|ܳvY oʍ{Dtc{^
-WBJ+28f0@)oWM.^_Of*O요]W݇3͡H'T,=c˘nN먃C%B8J5`]D2my 'Ư>ck}}^nR˿wC^p5-u5vCG4+exJ~N}O-pYzuyek+w_=x[>kokٷ|#F4x@}K/ҫnRc]-7m{|rO_,[Cwvyweg0W~*wHa7wCޖ]coN%swrg|vG;/:Gݑߏ.k[)GUwf9+4ͩ]'m=|;9
-ź.yܽcn/m>ox6V8nN.鼻a[ +}YRε~F>wnVMhñ{8E$;dGby4⇱8_7^:|?V㷃Xc8ֺ|kݒq 8d0׷%H?~\b݅-M?"ʝ7ե"RC{{̈z1WkM2fILMw_]WQ4z17|KJTqdsR-NK gC*k,ЁM݋ Olro,ZB8h{w6\ Cq~4WV*2&?~ŔdV>oO/mBqmPRKN臮ĠA{K}mZq{4G=c:ކs>kZY.<pՓr~ zux"+ؗ1D!؟_̯Y~<!ډ85&QpIn]xhKJkJ!IU6916 xSoMorc'oX_y+pfIF*pūw<"7C(r4#VIϗ:}U%ǖE?ښؒqTŏhhЖ*ZW-__%Z;!a غ)z sP[s*SMC:[p`lsͶM?ɤ[-M[]tGwM
+887 0 obj
+<< /Filter /FlateDecode /Length 6092 >>
+stream
+x]K$mϯ(PTGĄ6Be:8dk:bo$LUZzz Hxa?ÿ/+w-˟l]>ʷXc/WK- ߘZQ>K?%Ju-*8ñ/.?e&g~7\~]i_{
+x/gF~9?_T0E;C6vf4r¸|S׋XHPa"&Z?0щ`Ac,oFwU¾F.uV7E`w}hz_#MC S#=\9OdI[˯Nh%[6mWS^~Pj_;5Q4&*klػ>^Y( IJ`Fwlk.eN-.nf;N,{}CwYp/ܒ'ROM jݠ邾`7W6"&Ppct> Dg7O)h'
+ד4IPISד&=j3ד' szy%=WBx Se͟z%Ӌ g g^IWRBJU3vI#{%5<v 8[qN2V,Z,Z{aiLݱ8N,V)q[؝!Wb̼PA<bf>QS3kO835yf~g'k
+Q]ͩ IJۼQP/.B%i|m(?dxM+S1VZ~MD] YەkqZxrXf:"dA5d+[R牨OčgZypr0
+a0Ԡ^C=$/RQ[Ҙ
+u]4~THjX$5us^5*0-dm\Aᄔt>-/ p ԥ!baܡNstz؎VTV&RFe*Q.J  ֽJzt-Jx\8 O2N|
+_Xk$נN't
+f^;VyBdLDՅ}.lAl۱'65hC5\ F^ѮdL ƤǾf30q-HhH|*~<.v/ðLO'""mtOMl9TZ<>)b;@"3Ȇ_2@/J|\ XH݁2DH>i/I%e4rH VqhJ)HeW!kz@X-h 'a?"qz25.PT-'[~mӯ<ti#8{>x4-e=2GV/%ŽRrpd7\,jےց;(Z"YJ<jʬȉ[tK5L(Xe^oQ-< ZdH]8>ARLtA d¿ߟȵwMF0eۇgK-eQM,@/ij TDw~3W֍emcc*%N*x:%۟ɤᇭk!|j(o={(z ̀wi&D fWEkQ/wתIspHF&H>~kB QnǑ%\ (>jp|R&GQ 44t]t?j X׍f xI7#iQg"R 4_1=V2RK}7ch1)n}~+9GOa:XpXQRE)2rq~7:WH4?&9=d}(t* *^KK
+"LI@B>_<wA<xs F^xmx4эd]7buEF Va~1~4:SVXJ*9i
+'SvC™n /YT;M!A9q
+9R.0^Zo{wSff<X; fSa"Ae6lzYnRo482]2Usum4AOWuH{ WBө
+y]YKVg
+gqQU ^JO3 +e{saZXw'31RX-PݫH-D:$:5~#N/.QEٯEIРXLTE¹o>Y+]t(pQ l&hU ׎Ҩ#
+_d
+,^աȺrjśO
+ˉ|Zdh`&Gjt~[Փf"*ʿ
+u]\wGuTrH$MT>IUTQϽ/)5Y^]pJR a@7]9/
+R}? i^I_bHbR'6 š YPO)0!ːt&|7n*^I(wSEňKVZ~&B羖dRCՒ
+iv n | RmPc27j_ڒ@Lr$<LUǕJtDÿLPy* |VAN^%ۀe| 1=b?0}[5TG^Q@GT
+Ւ`'#η>,(ZT"źίSם+3F17RHZQXs
+gy1G-E4ʖ:L:LuƽJه^bV:<\U+:Cicbo' \%#7[%ʔp:\sJ7\׍H(J[cu,<|7WyO._lW/[{V
+*Zxssrq).HXhe]pl5eOm w=<Ti*$BLu*RisS}l: ,E n.wN+\6n9akL<eV^]a t`|Qs
+/SQ;.\ <(NmSw#ehx+]qii%x!i{:CzXR{{V0Xc|!/u2$o|ٰ"\$9~~:upR|1S7ﱗ*"7tuх+{q43'\ɬ`b^yv<~jdo硺N!jȼ+0.w\*J@ oF=FBO4÷دuQp0a
+j+]~lWi>KIW&ɺtCz7EWn2M֕`ƨwaCEQW?+Ltu醨+n4ue+M7c]by
+MuԪHkҠꇜz%&R%ZK<*C-ƇwO~:]0-J~r7r",3S_&X&.#ttea)QF؜\(
+֊tLIJm%U`mQZsz܇"ԚR=$>jzclE,*,lW,_3][a{8|RcIs
endstream
endobj
-883 0 obj
-<< /Type /Page /Contents 884 0 R /Resources 882 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
-endobj
-885 0 obj
-<< /D [ 883 0 R /XYZ 78.37 808.885 null ] >>
+886 0 obj
+<< /Type /Page /Contents 887 0 R /Resources 885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R /Annots 889 0 R >>
endobj
-349 0 obj
-<< /D [ 883 0 R /XYZ 79.37 251.543 null ] >>
+889 0 obj
+[ 884 0 R ]
endobj
-882 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F52 372 0 R /F42 374 0 R /F23 375 0 R /F51 376 0 R /F29 371 0 R /F56 380 0 R /F59 389 0 R /F69 398 0 R /F15 377 0 R >> /ProcSet [ /PDF /Text ] >>
+884 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 69.91 286.601 81.367 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
888 0 obj
-<< /Filter /FlateDecode /Length 2111 >>
-stream
-x\K4o !ͰJ{ⴂ0H>G؝@8\R/w'Ù>w~.7<^gvƍ^ߺ
-_OkK#ip/)Lps wȄ-Oa Ɣ捲f!ۨ`ʁMgeg2l LXsK4^=u~!396Kczhr傁k{Iizl\&A(9a꫱esCet7hj{ג)[f`u[zj)D KaScѥdYHbюIl ^GvU>]\8?=tCϱHg2<܇]1e@*ޢK73<h/_*^r`^F](S|5i!rKНf2\F۳J gN;ĶrKХa
-}0 iгrKYkXZ14 9
-I7¢s-I'mV2גH
-
-[{=7N_峓lz[TN>qIQ >q[kg~6{gCpⒷ!,y`S(KF2h
-?&̙ea)m h( i8B1kEK #i =e;)1^ lg4r tns~5&
-5+y̤ fKdzf<g
-t51Y"~q)y6fz4X61;[$q6^7ei?]T͙1ϛ}ӽH7ᎬA27
-hMFW3 3үMBH(LYq= 3LhլdqGzc*ڙq08eFL #&VU9Ys5ڬj,]L')x2dqr
-'JjcsPX 3z9'L<9L e$Azpsr0W3f&9ŎIWNZ0WfG=w<0i}'v2\wz!-`/g1k'pSYX7&8 '&b7?To MEm=SJoEo2?QZ^8.qu,NI7=nUḺXN<ev
-;:vi*3oP%3Y0T5c׊yajSkkMD Y|Fr#Jms+'-K' lT2393hP;?h.<e`JnI|ە={o$ 
-_n7 ޸%ܓd9-?#_gELoL@%tk .HZ!һz-3s齎ϼoDJr_hGO%͏*eЦ0 m#~V m~|kB{]˪K-6Z6O;>~TaV']mttVɚ-}ΔtR}.)*Gsнuji <QuMoѝ!,dž?'>`lDO}1$ԀN+7OQr= CW1ђҝ3rއΙ\m8vN)Ɯw6cl%>?gFC@α )̰J0S5a5awr f_ k?=g޺;Υ;
-endstream
-endobj
-887 0 obj
-<< /Type /Page /Contents 888 0 R /Resources 886 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R >>
+<< /D [ 886 0 R /XYZ 78.37 808.885 null ] >>
endobj
-889 0 obj
-<< /D [ 887 0 R /XYZ 78.37 808.885 null ] >>
+345 0 obj
+<< /D [ 886 0 R /XYZ 79.37 539.971 null ] >>
endobj
-886 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 380 0 R /F15 377 0 R >> /ProcSet [ /PDF /Text ] >>
+885 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F25 375 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F19 379 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1007 0 obj
-<< /Filter /FlateDecode /Length 3241 >>
-stream
-x\n;+DQ/0:lgVۡTRDEDZMR$E>ߛd_pS(4Z7Eoț 9-MJTRjsF-`bMJl,Ԓ>> |>]J+W"2c
--;l#ߐ~O01Vh5ŒKtR 3۔&\qNOjMqMZ(i6py= J#: ǟhx{;.XtD{]er.Yݤ>&h
- kli ;c[l&&B[1|Hyl)o L)# N9:&A$^=e[P {K.jT6g9buE6
-x#} ?-YnITXbnEWBXM{ VJ2Q
-UJ:"ٹ $Biqnj| ȧ_+|rK+t\kḁ*#򠌄M,~d QQ9&J)aIS@p8PBb Gtc9PX1}1UoĻƬsx) j!tp2@ >lY텄rM<wKĖ-ZH nH:8۱}"w:/R{dGG-#
-3-
-oeC)k߲unt!<p %U*᷎ |L^魪m ]kw%9D+_P!qΥxZ|C;'„2V{"<)S'8Z#Bqiil;rAڠ )T)!y5 @IG %_3h94FP_ٯ6I%Ejdlژ G-<#SJ*:}A'XfɁr,q@58@ I>ͩN
-mcέbJEp/tGE0󔆀S}51囔f{,@."-G>{5
- Cu\-.};@lP<
-uػ-A[1R]B}0K 6cdl %W#eAc,N nuv ~ (6 >+PQVNmBqTN)Q傟wT]َ_L6??JJ>Aۗ~ ը,+ "xu6bG fJX8e.> 0Dn_ Tj_^M"CI@ݩgDXb-Z-UX!ܳ߆qjr)a-
-
-vIJݺ,)Uƭ]36WQG˸ SXZv [ڃP:J|ݝ-}Vl@iD%2N9D| !ؑH{XP:mcM/)߁hN'<UNX;҂jSO =poRK@z˩*ԤUXX˞CZ18l|_=|K_
-%_(,'\CrPoBMP/#U.1(p:}J Hj|zo<e<\F֎7Gk2Hz=LVw&[^,i۸RTw[DtQ-R9¦6V5yT$ U/ؽ+"
-Ȩ?/Gk*V+4eAfO@-Vmhr]ؗ*CqMn2[!ᨤ⊱jVWAXi]q7NXi)Y 6x}GO?yFP+ GaՆA;uuK)h\vʣ -4a"(`P>Fq(HEkdEh]MWF:Ga `Ȭ{Q2e:#1:{~L3ziX[;MM@% `AHX-#B\TQ\DF
-i%>\ZMw+&3Fj4qSR%פ*_'֔S`#[ssޯ5TN:Fbꬎs7oo쬪̏9JlNmGKu>ϥFұ7GDx_&Rbt2-N{n;w܅[edޏ9k|"Qs7\S2` f[LO yJU`\"lbNCGA`Fȟ</ܑ9@e:vv8UЙnCws- irǡqz8?j3jasq{6:+ ^ =ox "zѧ,tgjXm~ <=͍\?vvd;NO^L3J\X
-s2)U+FKh_WBq\NS@k Z9sj}}z񬸎\"_TjΚl׭gP
- OkLvǩ?$ˇ6u9VXr
-OdUk` fe4ȸ{J
-B G}W%f]~ ԜHraG9:Df'8u24le1h1TVw{43JC_F+8] ]6qߊ䃰a,=MPE1wͲ =BiTJrMZ>
+892 0 obj
+<< /Filter /FlateDecode /Length 5221 >>
+stream
+x]͏n_-gI.| rH
+e.7r]\s5!% V+-V&[t!D}IUU d%.G]C&OymE臽⚭M,V9ЧR Y
+ 6~nh RMk?QjlM~ѩi&X喕=lrHA%uS&惌zb\fF6EȌ-qǙj,CNEf9U_;3䌍DeJƪH/;"$%
+o8<Joi@z!Oz L-62hQ5BH^Yy>JpUfø1↡C.f4ib]_畃(JђyJFǁ5}grG[G~2YRɩW)4#'&PUbTX H&Ѵ+*hA.WҌnZ>ZbAKB#B'`Bz~d2 4" > ,+;śX247 ՛4߅ĠJ¼1Q.pvr> г%0 4hcմ/.B a򉃄#>g#eܖ7ŎMy>H$cZFThL7mZ=¢KXN+,KJNjOֽww哢ZpL-8p.HUSgNlV[
+fƆpd~i{EyLk)gBCr%>=keUr_a~&DֵGiRDwYB~h}AC:1=C~型):oy/067[Ĉˍ^U?Wq|\&gUGfq\5qg95Nu.-6n.8t/ֽoQ`E]<k$ 5 |ΫxAAΟݿ*}ECs(t+p0 kzP馵-n!d߆<9qMe:Vҧ(8[Ʀ~Pto6m x0ҩ>~8lP&-=?Yq{>ݢ dPkv)Rd]Mx6%`ҴGi7֢Ik
+E9h<˷FQVkc.! *y{kmzm?mȇPX1
+C0E_& G 3A u).)
+#Z MXWA9*~L%
+ːhKjh9S3
+7lMҹ_KMš0T8
+IlMs+w1<rWo`4;* 13qWե[?XM>:w~uu?X;G!3c->2O<lǣq5!k137kƔ; %op5voaW)V4v\a,rE5Dnօb`g̹~kzm-=1.C8h-ta.I'Y)|":-0T@YCԔ1+}
+)hB'`[pM0r1e'H֖vI`FH/U禠dd$nn%ESةdo j
+j*l뷜>XP&8el)}Tq𰸎
+JFAVx<B(wa`:ݘqpyzZDV%ʐ;.SjC&!pDQYGEDҸd#IԌq;bCrʓ|+jR " bܣ4+ٺ$j8g{d4RbIyneFiKaN$$äk4$WӜM<-as!6&5i Ω&^)(@(=Jkb+OfsfS!
+z)% E;.SA:Pz BI6RD\,s~!6)/iʝW)5:! 1 ;`:[כ$;dC$:JJV-(Sv6J]Tst" Q)8l<1V`5Ç,D]t2^yh/+)
+qT.Pa,.7FҮdc $kvN8+RNq2g62ƚWqL궑Ԇ#н[a $kvZ#^ca({
+FJB *aq! I39\KmH8up"k1FR. naz&093VK%0dJmm(
+FJB *aq ac Y+silpN9 ;,<#J7 6,,Yf&'Q+s @lJH(3
+FP8AT4w+m 6@V`-e=XиWbVTeprTUOJGld c]aNG[=z!7(}8UVG뛅衔WV?V<hZP;`Z6+#nܫꅧE&sa-ASI`UiFyR>,ys+3{CӹYΕc;5]ĿvrJ1EVRы!d="S&
+*!Ÿt
+sN>%]E)Ofd\c'R.5(}PߛD S$&D$o!0x a>)`+S_ {n]﷑ߎ~;P~atVѦ?n`-}^[aCJ&+9]/8eaN1|6I\|E*O\ށ=,*ɣ:Z4OԤ,Qæyj-h<^;N\kkoU
+p2Z˰"ZY:Lk' C:Û1L0R$ wLhLC /BO&,)&`L/)U DHlH>U81&Rc, .z]++.LjR]'kNzxU$M4i9hw]5R龾jM}̈́%AVJ
+oNJ`%*RV")eU@,,5zi|}Y?T[Ga~&3^qB׈'In >E\ 1lIkk7! gE/u AP>4($=T$ECs-gVN*
+ic ,CEŊ%.*t),;tx߁ܢu}NgSt}4[۟Mk6v.{OaW.y4<j
+3MM^ ̻YmLVq)LI =h/θ7`㠇r=8eqڎY|z Rv??s0O @C`|G&ɚ{ifSJ,
+vV%;Rа [8F|v~+$"|. J<V6
endstream
endobj
-1006 0 obj
-<< /Type /Page /Contents 1007 0 R /Resources 1005 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 1009 0 R >>
+891 0 obj
+<< /Type /Page /Contents 892 0 R /Resources 890 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-1009 0 obj
-[ 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R ]
+893 0 obj
+<< /D [ 891 0 R /XYZ 78.37 808.885 null ] >>
endobj
890 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.152 681.312 288.107 693.267 ]/A << /S /GoTo /D (page.17) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F66 388 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F17 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-891 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
+896 0 obj
+<< /Filter /FlateDecode /Length 11745 >>
+stream
+x}M%^-%7'Mtuu 0q /HZg8dfw*MC3Z^`0! 2} o~AçV?ΐfR\zKl{4o?ϟ.3wciηCoH/ģ<䶗s%/uۗÅ?K |;vω| n?t_ITtV )A:UnR<+cf1?6o=\f}j
+ ֟_u/~3ԭ;Ù+)?Sk=͇֋?'\!Z~UZ[ flz)jS ruv&ݢ-[=[D!? \iϋ}پ7Ob9DMxμ׿Z"on>긵7-}
+ŕ7chiBVA+}"3UByVl}%u7K{c2e}^vTA)eCzx^~ o{yV}Ȗ:}"O:`ќ'@nk}^ZL6Z?VK/.c]e_l-NT;hRhjR-.16%RڝijvymWj^-]^EeoSuPrho>EwOfi2$OL!ͭB> q3p|Ď uMD )RYLrm ^v[y!%%m֚*HZlhɿp %JwےSP{**z3LᩍEM,"7bIwZo 60gXŌ |3["^hF E]2Iԍ ,>b3nN5_ܶb䥖25B@綜ˮ淘(Mͥ(5)hO*:l!yH{T"q{8ФÕ;~q# W6>nQ7Ym8d$?nXꐥcU 7|5T|2;93s.>^nѹRKHҢR z ӔS2vWDvf'
+r9 RFӣQ)?n ||jatY
+ZSWr5;5POs%V=-RwZZ$>o^}yIٗEB/T piK,Ƞ6
+q Sl5$9L&p+{]n? "4~H*U};R+`BāXF<aՖJњ[өv,m*gt@'g~bNBOJōw쩟)1?v6^ϙ_ħ L}ĿsC%ұ4r_6FYQN5<W8uIi{Ul/w)󣢟)+z^gV5 ݾkOOzLGd[Wc
+]hDkpьw|k{ fJ`E0vѻM'HEAҖ}S2>!u04So<|z6 ?V4>}dŻg|Px曷qGKCվ.d)zr jjSڑg率jVxPxO1c͔={fkH]6ʕ= Czߴ0](XSsTPvmURHG
+C٫I
+.|筑7[϶F+{PRw]W@p(|.o_˾fqzXZ^_1'_Eߴ5kxOŸZ1W+heËk0czY|^Z -Cc4ܟ~ֲ]tzᵆzĩN[pr3>[=_t %nh0NbzpU(tAhy
+F$JJ=ߝϓC&gZaX4@J,XȺC[.ewZqf;;!m^-䍟}qfF<s^p7IF:O&R%Z,2;1)z H2T_LB2@k ֪6y{MgpXdl+A+_qs+؄ݿLkԠW`͗Ӧg4)_onv^9%Vs&<}hsb7zߒO=ro?M%4HX}б?So]b~Іw)Ȟ`2=?{T4?
+NS-%?Fhgg?."-E"M]&,C)a֥
+riK(c ]{:`*7 jA_lJTO
+[M}b(kibaܖE#Y tOŪps6'LS71_0]o$m(/Ϭ￾:=9kPFC#Cewc}fl<Χa3{y__f_L'>[cYSտǓ r+sxc6(CԫNjf\n.=[=/F(2%=LrWB5װr6OHWzнٗ땹$?S ;>y1Ӝb%bW_{gp
+"obTVVI|n%K$dhҔ'dVc-B<Gy4PD*ڂx`AnFZ3)jL%҉e糁{Uhf;@=0sO݅/X%[Z!3!1J=')MXUhbfRue|ҰP;HE41zYU:1÷{zo~ ;i̬R, ߌZJlU=c":V0&^'2bxlSSBML06\I97s4Q$]D \5VĊ\2B]Κa~fZP#@k 1CH Mcn9{K&V;QR'SbIMLZ[0w3JERH1ءi=T*a&MT p'ߩP4w''~|AdӞ?Ro [kgUĞ+%=ϊ4|AsC$CJqș70)xb^}n>wU=#.&ك4]KS>aE4ӃQwЊyةǚ%37Cm@P̜r@x"fm'`!`07DR μj+PpbwE(%)Vd4 h\wx(eZ̐@‹%i=НZv7b0֎1VJMԴAcKC+
+oLV%ԜwQaDKC)
+%ISKSZy7[8$3Uj._, "\LI.A}0[I84oA-I}w8%ԫbHsuoWCK4; 3ĘƪLr^biyPҐ@/BͻŔ&Rwx> V&N`O體W82riJ0~vJ@6kj)nhŵppwJU&uRp15?u`iH OfbJoqJӻ_CK<Vx+WM#nβS/0K)ɚ[ֆW:X$ ):E!VM)(01b]3SL'!{>H#YEjL}D 5` D҉:QW2!*P b
+'h'qnyflV͇:̷YNfnvCPm=p)!nqT$XmĨ˭2!/Ytsa5:d߆аKkZ= MΨ$0~h
+je@sD y":En(QC(bH$uϣ8˜M\B
+v5VLזT&4~!L:g?MW(tBx[鱔f&U!@MVPEqQG B"fUQLϛM2ĨPUI
+?0Iq]d QsVxS<V
+=HB*vjNER?7Hu Rf:V-'PEbWHjR!e)y-K!\Br_fU|XB"!UkU.K!TVh`q)tIQ}<S5 ɲW&eac2J4S{ϫ!\e6y8@9CGy|= ,-Bݬ٘ͪPGbD_闝:-āG]6GA!D~-#eW&eb2[?RG氳 "\eD&V,-0tKsYzfCaNԤ-~
+r+(+*z@dg\xq ,OAN!NACD"5! 
+ʈjX=Rp;Yjyoۨ7kR#^ASUUH`H%5ShV`y
+mo<LF {
+RJ$F}b
+BeQRDjZ9<*P)?\|#Oj СBA!8":/Vs2)iAN@؁`<r2 TZeDe&+T
+ DS 1m_; cZG6FNjx)( (4=H
+"85Y
+ [dG? <,4i9/Ϻy T<E%jWAYA#؄ ƌ>?w;3;9$ >̢iSBT0NʂLY!< _L{rAoڛXyW_v{P.U!*D ʊLY&xHt+u$xToL4wO~d(DT*p.ĩ SGqrN/Ă_>"Iŭ}P_jU>D k.Xj@P6aCn ݓxSŇBIʸc:~K0BdMP̚;) 2zda >O^!:#tZ`Ĵ6j}0Qm 
+QLʀlX=aaf{W.X vW$,?ie|G$@*p.Lā SG Jݖ"oxNIq=)[ݾKdI :[l=e pgUjYcV*lgX}]j\=XoAYq# c}PhCrHB("{7'&v!2$mܰ,@e, N@dH -K|P.RF=܆x$\̫Mk jPf[PV\`H !?Ԩ[pw㾅PY27QϽЄ.#|D!r
+`M=0xCx?$WP, NM8;pw m$cqQǃEm W|`U
+6Q\Ue<ho'ef$ Mq-t[CiH"j?$[zIi)qȶyCs(S@<
+3:)p>I#H`n@%pQU<3piW=raF@J MbMf-yMx{(TԢ׺'KT4hr.L!($dާK#a
+Ӳ"y"IlL|/UUѨ#p9v::ܓ
+.pⵖc3MVxObe@ZTZDp5;5x,!"eS֖{dIDS}얔fVPL!iO2IŊJ-*xi/*&O Sj^FWZ#~$eHRE68+v&Q-o}WQ6Ă'4*}o~"BBJ
+|o? g'm_xEeisYW jWSQS@j~7 */&ޕ`|'p}xF"WA(DT
+%m3\PІ6*~r'1K`OeJEHH6(Q
+[aG݈s%_/\#S|M=
+07HPd(@ժ_ꩨ) 5v?BT $\#b[8r%/HzP6aۓRBTB|&
+~;wO,HF5
+.`+[h)u>vCB h]w}E|;xdnŻoک,-
+_?^?\׏W=_2T'߇A~\Q{Sn~[>(]^">z>ofx_ W*@DgO>֨1ceۖ#qm3 gSSpPp#oѤQ3Tx!cNG-SuO7SBb(*,v5jhP0}&F͍[<Ewy  BR/Tw>k_6׼lcyF6Czب*FU.P;li35n
+VƇelD=%cD{ ?CˆuBkU0Z<ijO|HV%}V8e~v-ܧwY/^eq١퇦c~$͎ڏOB YxR8GҖ5k)\:ͧjZly]5m?G+O46\ObitQsm S;. f&iTAϣ/ =˖gu'|Pl#wn>tN;U߽
+nC[K CC7zr7jY,13?b_|PWswqk g~] 5N>n:Cw $0o'mOm/k>
+ 1!+Þ:y}67f+}@BU~i |<T{:HB}z\ŏ.=X &A1)XP?i/SA{l/9`^kdulMmq
+gdڹneptߊSx85|U |]{5
+ᾮWs-?luƧlbY]:|kcӝ{
+ {T>ԞczO/ӫnUͽ~i\b-=Յ>:-܅Kw(q?1
+endstream
endobj
-892 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 657.621 174.872 668.799 ]/A << /S /GoTo /D (page.10) >> >>
+895 0 obj
+<< /Type /Page /Contents 896 0 R /Resources 894 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-893 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 633.491 241.223 645.446 ]/A << /S /GoTo /D (page.24) >> >>
+897 0 obj
+<< /D [ 895 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+349 0 obj
+<< /D [ 895 0 R /XYZ 79.37 615.945 null ] >>
endobj
894 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.318 633.491 257.492 645.446 ]/A << /S /GoTo /D (page.62) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F17 380 0 R /F69 402 0 R /F15 381 0 R /F20 376 0 R /F21 378 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-895 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 622.104 174.872 632.933 ]/A << /S /GoTo /D (page.46) >> >>
+900 0 obj
+<< /Filter /FlateDecode /Length 2924 >>
+stream
+x\͎S%xi9-{H&%*-EU},~*-ħ//;>^~8? N'1YϤ1}|#8.~o?+
+=y 2ř.+ի8h*^vfI䯚lx@i>=^']B }/
+[^ ȡ|^1I
+[f) sZܨ4.8T4sBPoEƥ4b8n΍ͤ;^@#x&Cړ4V> 82spLYPLfd>ǩT!FJ-,h
+6J)$;2$ˢʹCCY4zTl[ae4| շm߅o|)D)V %Vpw2dO#EgD,G(4ͪ bcrm)WRu_BQx(nH )hgSK2 ӷ x=N1M')xh(ҕcw 65ECLo:h ¿_N`t1AGU%f3ge=fM*fe'l5Z?韪opCsKabW~4&
+sf)Hm'~ILs*w^l2XQaI+q3%=
+0ܩ=s grvQ0qr5kL1s/e&3)\̃|
+3;
+uDD,7=Ջ[&cp\$2t.z.AvxN|qk]Eߺ8NyYϳ#/3𬓿e;lb-0x/O{` ђwN󝲾f$=VvJϘ |F^3;Ǹ3i瑴Z6LTKf+Auz$[rLnf(e }bQ9i)G7In߹nEafx7.gty~?V]wq"; h"Fü]ޜޣcyz>|KDIynCzG},)ύv <>~+VYyn{|O[w'=};>Ks- Zc|)/UVűS:(;UF6:9va'ٖ>gJ:+L?M/1*Ŕs0}i_n
+ءBo~'ڋotK{%]´fL͂ $p1xb~=,@`ns%zoE]@
+endstream
endobj
-896 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.752 587.663 253.726 599.618 ]/A << /S /GoTo /D (page.3) >> >>
+899 0 obj
+<< /Type /Page /Contents 900 0 R /Resources 898 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R >>
endobj
-897 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 576.276 180.102 587.105 ]/A << /S /GoTo /D (page.46) >> >>
+901 0 obj
+<< /D [ 899 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+353 0 obj
+<< /D [ 899 0 R /XYZ 79.37 771.024 null ] >>
endobj
898 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 564.321 180.102 575.15 ]/A << /S /GoTo /D (page.46) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-899 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.104 551.798 181.059 563.753 ]/A << /S /GoTo /D (page.33) >> >>
+1019 0 obj
+<< /Filter /FlateDecode /Length 3308 >>
+stream
+x\͎# SF+Q0h=܂\SRU(UpHHQo?i|폇O7ʢۯ|3􁾙[Hʆ[Z9ۿ~hZCk Z|nԈT%<xIxɫPD-xx@}8f 0nDvGT!BԐx7؅3o!2[~FLqsey BUH(<3r:7?y$2>I,Op+C<&ܶ}E/ۅ>]A
+StT1@o
+%B0
+?UOLJ;*s9&BV;V X81}#WR|J.I$&R|'5mthº\r"n+%؀CRƤwl?CN%v6LO`T,{,%P%+C%wj![U?1LG,"UQkR+U aGX;آSMp{.{=AcMVzD #H.=[IB9\+c"׊mkp4?(M٠s6nZ;wnʼn sghY%mQm0BǒRgT@r0&[]3ɡїw{cRmﭐMrhY;T"R5Ƽ IXHh#m wVB? :p,B&uUdsmTz Iox aoI}W &p
+>SvR
+'' zfQ% '[3
+h'fr냵\e^hVho91>.vr}e
+trGy!-rϤ%2z+ {ķX]ӥ^9ڭ]vp?֨'h
+=\[bsp@ne:
+чK6V+A_`(JJQU"l ZLDkVȧv1y.1IH`#gKB/hܯVm2eb.%Juqu3ͫ*yZq[1:i Q<SJC0Y,[ J[/~J eIK#ER:,P7IPw ~4K!(,me[n"]:۱+NrVRw<e c`(|܁Vf.uuk$</jw Mw퇻vBa.g/e^=@c?ZNg5cLkGo\5m>v&i<RewH;De' ⍛*4RÑmBpTIpD5VJ?nP:yyc:Jt[6UZ|XͲld'
+y|- gbmQ4AG"g
+N9k:m6C(:m$T$4-NU@^&A&NOUW]FM
+EU7q߳kU8KLD^fV>no~sFяe< #FXFY#l;Mx r;H6v&1̎0J%o-Nm^(I7)! cdІ"1EO3 6%Ʉv$ 4F<!AEqv
+р'%R`?On4=r x6.W@-(MpԠ@ .VuЩ'i\QlWhã
+tAygAf0!O@m*m|=%@)6tĎCpnw_+nDV:EO~V%+TVX^{b¡
+I?jCыg } WƻmVu~}qf}pufNvC2.C;B GiC+!%c)Cm4ZTj=rHm9r;byw"%׉\FEne_-RtUPZ e[|qy論pb nبtzHSA_
+1I]bи8TSy)ƫ&.hbSq٥J3U\5T0
+x$^?=m?ľ<-g4.ps suЯϧE
+q.5RfTȁA?W틉<)P.7*NXwXP QPr~z`欍>(Vx98wi
+^CLOdh_*uL4XΫX0O֌^1܃6a Im陫/-7͜`G0Z8UndITW>#Q(v QScǚm㱰(`=Hc ET1z^R) e_] }u!-ÝؤAKI98sJ
+endstream
endobj
-900 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 540.41 122.817 551.24 ]/A << /S /GoTo /D (page.4) >> >>
+1018 0 obj
+<< /Type /Page /Contents 1019 0 R /Resources 1017 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R /Annots 1021 0 R >>
endobj
-901 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.472 528.455 208.446 539.285 ]/A << /S /GoTo /D (page.4) >> >>
+1021 0 obj
+[ 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R ]
endobj
902 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.435 528.455 218.409 539.285 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 134.055 681.88 141.029 692.928 ]/A << /S /GoTo /D (page.9) >> >>
endobj
903 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 516.151 154.2 527.329 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.716 648.583 180.69 659.422 ]/A << /S /GoTo /D (page.9) >> >>
endobj
904 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 504.196 154.2 515.374 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.152 636.07 288.107 648.025 ]/A << /S /GoTo /D (page.18) >> >>
endobj
905 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 492.59 159.43 503.419 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 624.334 174.872 635.512 ]/A << /S /GoTo /D (page.11) >> >>
endobj
906 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 480.635 159.43 491.464 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 612.379 174.872 623.557 ]/A << /S /GoTo /D (page.11) >> >>
endobj
907 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.926 456.156 201.881 468.111 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 588.249 241.223 600.204 ]/A << /S /GoTo /D (page.25) >> >>
endobj
908 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.165 444.201 181.139 456.156 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.318 588.249 257.492 600.204 ]/A << /S /GoTo /D (page.63) >> >>
endobj
909 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.624 432.246 194.598 444.201 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 576.862 174.872 587.691 ]/A << /S /GoTo /D (page.47) >> >>
endobj
910 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.032 420.291 244.987 432.246 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.752 543.007 253.726 554.962 ]/A << /S /GoTo /D (page.3) >> >>
endobj
911 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 386.418 235.804 398.373 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 531.62 180.102 542.449 ]/A << /S /GoTo /D (page.47) >> >>
endobj
912 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 375.021 156.75 385.86 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 519.665 180.102 530.494 ]/A << /S /GoTo /D (page.47) >> >>
endobj
913 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.479 362.507 248.434 374.463 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.104 507.142 181.059 519.097 ]/A << /S /GoTo /D (page.34) >> >>
endobj
914 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 351.12 127.799 361.95 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 495.754 122.817 506.584 ]/A << /S /GoTo /D (page.4) >> >>
endobj
915 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 339.165 159.181 349.994 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.472 483.799 208.446 494.629 ]/A << /S /GoTo /D (page.4) >> >>
endobj
916 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 327.2 191.38 338.039 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.435 483.799 223.39 494.629 ]/A << /S /GoTo /D (page.10) >> >>
endobj
917 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 327.2 207.43 338.039 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 471.495 154.2 482.674 ]/A << /S /GoTo /D (page.2) >> >>
endobj
918 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 315.245 160.157 326.084 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 459.54 154.2 470.718 ]/A << /S /GoTo /D (page.2) >> >>
endobj
919 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 315.245 176.207 326.084 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 447.934 159.43 458.763 ]/A << /S /GoTo /D (page.2) >> >>
endobj
920 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 303.29 173.946 314.129 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 435.979 159.43 446.808 ]/A << /S /GoTo /D (page.2) >> >>
endobj
921 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 303.29 189.995 314.129 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.926 411.5 201.881 423.456 ]/A << /S /GoTo /D (page.24) >> >>
endobj
922 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 279.389 238.075 290.219 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.165 399.545 186.12 411.5 ]/A << /S /GoTo /D (page.10) >> >>
endobj
923 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 267.434 211.535 278.263 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.624 387.59 194.598 399.545 ]/A << /S /GoTo /D (page.5) >> >>
endobj
924 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.481 254.911 179.455 266.866 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.032 375.635 244.987 387.59 ]/A << /S /GoTo /D (page.42) >> >>
endobj
925 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 231.001 245.826 242.956 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 342.348 235.804 354.303 ]/A << /S /GoTo /D (page.39) >> >>
endobj
926 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 231.001 262.095 242.956 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 330.951 156.75 341.79 ]/A << /S /GoTo /D (page.39) >> >>
endobj
927 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.465 219.045 231.42 231.001 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.479 318.438 248.434 330.393 ]/A << /S /GoTo /D (page.14) >> >>
endobj
928 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.694 207.09 207.649 219.045 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 307.05 127.799 317.88 ]/A << /S /GoTo /D (page.28) >> >>
endobj
929 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 195.703 139.614 206.642 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 295.095 159.181 305.925 ]/A << /S /GoTo /D (page.16) >> >>
endobj
930 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 171.783 233.193 182.662 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 283.13 191.38 293.969 ]/A << /S /GoTo /D (page.2) >> >>
endobj
931 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.594 159.838 204.549 170.707 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 283.13 207.43 293.969 ]/A << /S /GoTo /D (page.23) >> >>
endobj
932 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 147.882 167.37 158.821 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 271.175 160.157 282.014 ]/A << /S /GoTo /D (page.2) >> >>
endobj
933 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 135.917 170.997 146.866 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 271.175 176.207 282.014 ]/A << /S /GoTo /D (page.23) >> >>
endobj
934 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 135.917 187.266 146.866 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 259.22 173.946 270.059 ]/A << /S /GoTo /D (page.2) >> >>
endobj
935 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 135.917 203.535 146.866 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 259.22 189.995 270.059 ]/A << /S /GoTo /D (page.23) >> >>
endobj
936 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 123.962 165.677 134.911 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 235.319 238.075 246.149 ]/A << /S /GoTo /D (page.18) >> >>
endobj
937 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 123.962 181.946 134.911 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 223.364 211.535 234.194 ]/A << /S /GoTo /D (page.22) >> >>
endobj
938 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 123.962 198.215 134.911 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.481 210.841 179.455 222.796 ]/A << /S /GoTo /D (page.2) >> >>
endobj
939 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 123.962 215.021 134.911 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 186.931 245.826 198.886 ]/A << /S /GoTo /D (page.18) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 112.007 169.303 122.956 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 186.931 262.095 198.886 ]/A << /S /GoTo /D (page.69) >> >>
endobj
941 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 112.007 185.572 122.956 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.465 174.976 231.42 186.931 ]/A << /S /GoTo /D (page.10) >> >>
endobj
942 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 100.062 148.72 110.891 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.694 163.021 207.649 174.976 ]/A << /S /GoTo /D (page.37) >> >>
endobj
943 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 100.062 163.664 110.891 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 151.633 139.614 162.572 ]/A << /S /GoTo /D (page.35) >> >>
endobj
944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 100.062 179.933 110.891 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 127.713 233.193 138.592 ]/A << /S /GoTo /D (page.17) >> >>
endobj
945 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 87.758 188.411 98.936 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.594 115.768 204.549 126.637 ]/A << /S /GoTo /D (page.42) >> >>
endobj
946 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 87.758 204.68 98.936 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 103.813 167.37 114.752 ]/A << /S /GoTo /D (page.27) >> >>
endobj
947 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.313 87.758 221.487 98.936 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 91.847 170.997 102.796 ]/A << /S /GoTo /D (page.27) >> >>
endobj
948 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.572 75.583 181.527 87.539 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 91.847 187.266 102.796 ]/A << /S /GoTo /D (page.46) >> >>
endobj
949 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.622 75.583 197.796 87.539 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 91.847 203.535 102.796 ]/A << /S /GoTo /D (page.61) >> >>
endobj
950 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.585 681.87 390.559 692.709 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 79.892 165.677 90.841 ]/A << /S /GoTo /D (page.27) >> >>
endobj
951 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.703 669.915 409.658 680.754 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 79.892 181.946 90.841 ]/A << /S /GoTo /D (page.46) >> >>
endobj
952 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 646.014 394.206 656.884 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 79.892 198.215 90.841 ]/A << /S /GoTo /D (page.60) >> >>
endobj
953 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.622 634.059 492.577 644.928 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 79.892 215.021 90.841 ]/A << /S /GoTo /D (page.61) >> >>
endobj
954 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.923 621.755 414.878 632.973 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 67.937 169.303 78.886 ]/A << /S /GoTo /D (page.27) >> >>
endobj
955 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 610.149 433.227 621.018 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 67.937 185.572 78.886 ]/A << /S /GoTo /D (page.46) >> >>
endobj
956 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.079 598.064 464.034 609.063 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.014 693.835 371.969 704.664 ]/A << /S /GoTo /D (page.35) >> >>
endobj
957 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.072 586.229 479.028 597.108 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.958 693.835 386.913 704.664 ]/A << /S /GoTo /D (page.39) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 574.283 369.01 585.113 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.008 693.835 403.182 704.664 ]/A << /S /GoTo /D (page.68) >> >>
endobj
959 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 574.283 385.279 585.113 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.705 681.531 411.66 692.709 ]/A << /S /GoTo /D (page.17) >> >>
endobj
960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.539 561.76 402.495 573.715 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.755 681.531 427.929 692.709 ]/A << /S /GoTo /D (page.67) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.644 549.805 502.599 561.76 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 431.028 681.531 443.202 692.709 ]/A << /S /GoTo /D (page.69) >> >>
endobj
962 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 379.381 514.508 391.336 525.058 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.821 669.357 404.776 681.312 ]/A << /S /GoTo /D (page.13) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.369 502.552 461.324 513.382 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.871 669.357 421.045 681.312 ]/A << /S /GoTo /D (page.69) >> >>
endobj
964 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.419 502.552 477.593 513.382 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.585 646.004 390.559 656.844 ]/A << /S /GoTo /D (page.5) >> >>
endobj
965 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.229 490.029 501.185 501.984 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.703 634.049 409.658 644.889 ]/A << /S /GoTo /D (page.44) >> >>
endobj
966 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 478.642 383.376 489.471 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 610.149 394.206 621.018 ]/A << /S /GoTo /D (page.4) >> >>
endobj
967 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.305 466.119 467.26 478.074 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.622 598.194 492.577 609.063 ]/A << /S /GoTo /D (page.38) >> >>
endobj
968 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 451.481 454.164 463.436 466.119 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.923 585.89 414.878 597.108 ]/A << /S /GoTo /D (page.24) >> >>
endobj
969 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.531 454.164 479.705 466.119 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 574.283 433.227 585.153 ]/A << /S /GoTo /D (page.14) >> >>
endobj
970 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.018 430.811 434.973 441.76 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.079 562.199 464.034 573.197 ]/A << /S /GoTo /D (page.32) >> >>
endobj
971 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.28 418.866 458.236 429.735 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.072 550.363 479.028 561.242 ]/A << /S /GoTo /D (page.48) >> >>
endobj
972 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.374 406.911 377.329 417.85 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 538.418 369.01 549.247 ]/A << /S /GoTo /D (page.22) >> >>
endobj
973 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.268 394.388 488.223 406.343 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 538.418 385.279 549.247 ]/A << /S /GoTo /D (page.66) >> >>
endobj
974 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 492.318 394.388 504.492 406.343 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.539 525.895 402.495 537.85 ]/A << /S /GoTo /D (page.17) >> >>
endobj
975 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 383.001 399.466 393.83 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.644 513.94 502.599 525.895 ]/A << /S /GoTo /D (page.19) >> >>
endobj
976 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 370.916 398.081 381.875 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 379.381 478.642 391.336 489.192 ]/A << /S /GoTo /D (page.22) >> >>
endobj
977 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 359.09 411.889 369.92 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.369 466.687 461.324 477.516 ]/A << /S /GoTo /D (page.18) >> >>
endobj
978 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 359.09 428.158 369.92 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.419 466.687 477.593 477.516 ]/A << /S /GoTo /D (page.57) >> >>
endobj
979 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.241 346.567 482.415 358.522 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.229 454.164 501.185 466.119 ]/A << /S /GoTo /D (page.45) >> >>
endobj
980 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 335.18 369.528 346.009 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 442.776 383.376 453.606 ]/A << /S /GoTo /D (page.24) >> >>
endobj
981 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 335.18 384.472 346.009 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.305 430.253 467.26 442.209 ]/A << /S /GoTo /D (page.14) >> >>
endobj
982 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 301.307 352.542 312.136 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 451.481 418.298 463.436 430.253 ]/A << /S /GoTo /D (page.13) >> >>
endobj
983 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 301.307 368.592 312.136 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.531 418.298 479.705 430.253 ]/A << /S /GoTo /D (page.21) >> >>
endobj
984 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 301.307 384.861 312.136 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.018 394.946 434.973 405.895 ]/A << /S /GoTo /D (page.17) >> >>
endobj
985 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 500.497 288.784 512.452 300.739 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.28 383.001 458.236 393.87 ]/A << /S /GoTo /D (page.48) >> >>
endobj
986 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 264.874 454.779 276.829 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.374 371.045 377.329 381.984 ]/A << /S /GoTo /D (page.11) >> >>
endobj
987 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.876 252.918 480.831 264.874 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.372 358.522 485.327 370.478 ]/A << /S /GoTo /D (page.52) >> >>
endobj
988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 240.963 401.309 252.918 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.698 358.522 500.873 370.478 ]/A << /S /GoTo /D (page.67) >> >>
endobj
989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.071 229.566 458.026 240.445 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.727 358.522 516.902 370.478 ]/A << /S /GoTo /D (page.68) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 217.053 493.432 229.008 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 347.135 399.466 357.965 ]/A << /S /GoTo /D (page.50) >> >>
endobj
991 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 205.307 361.508 216.495 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 335.05 398.081 346.009 ]/A << /S /GoTo /D (page.50) >> >>
endobj
992 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.476 193.143 453.432 205.098 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 323.225 411.889 334.054 ]/A << /S /GoTo /D (page.50) >> >>
endobj
993 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.715 181.187 406.689 193.143 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 323.225 428.158 334.054 ]/A << /S /GoTo /D (page.67) >> >>
endobj
994 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.784 181.187 422.958 193.143 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.241 310.702 482.415 322.657 ]/A << /S /GoTo /D (page.54) >> >>
endobj
995 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.825 169.232 483.78 181.187 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 299.314 369.528 310.144 ]/A << /S /GoTo /D (page.14) >> >>
endobj
996 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.336 135.359 459.292 147.314 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 299.314 384.472 310.144 ]/A << /S /GoTo /D (page.17) >> >>
endobj
997 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 479.725 123.404 491.68 135.359 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 267.317 352.542 278.146 ]/A << /S /GoTo /D (page.28) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 99.494 426.156 111.449 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 267.317 368.592 278.146 ]/A << /S /GoTo /D (page.55) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 99.494 442.425 111.449 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 267.317 384.861 278.146 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 472.61 87.539 484.565 99.494 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 500.497 254.794 512.452 266.749 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.659 87.539 500.834 99.494 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 230.884 454.779 242.839 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 495.334 75.583 507.29 87.539 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.876 218.928 480.831 230.884 ]/A << /S /GoTo /D (page.48) >> >>
endobj
-1008 0 obj
-<< /D [ 1006 0 R /XYZ 78.37 808.885 null ] >>
+1003 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 206.973 401.309 218.928 ]/A << /S /GoTo /D (page.63) >> >>
endobj
-353 0 obj
-<< /D [ 1006 0 R /XYZ 79.37 706.717 null ] >>
+1004 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.071 195.576 458.026 206.455 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1005 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F67 385 0 R /F56 380 0 R /F15 377 0 R /F57 381 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1113 0 obj
-<< /Filter /FlateDecode /Length 3273 >>
-stream
-x\ɮ WZ x@U׽]moCɲZ]K,u.E[^}}ۏ/e.A /M yQvgV]~? C)mXRJOO\/p[~]k㟿Υ #)l9^H +c9 _*_Ǝ:pA
-~5凪X͠9ec[bʨ#{-ҵ[ݪ(+v0
-F` ?n
-dNjy@f
-=< n 'D}.;u
-C 봃`w8Ny)88Z0 t}e |iJrp6:dSb5#0ؔ4t,٤N0ZoN`LQ+ STg\-1'6=?\nH=
-85y7`֧G*,*̵@u>zLAx=F~w+@"#2˝'PW,WF1r@r#_0`W[l5^t/d+z[,iVƠ/@.RA=.6L׵פRBANIϮόim( F}Z*Qr$o@nq4fFhIy'@Md6A#g,/'j|团pۊa<鎊tF2<?Mo_) ZZ7/g,7St]+iRpqZ0\
-֔.mGB%tݟlhyb5Z2GЄ=yď ;T.JG:B 4AOnBNKSWgdN<]"?[aZR|Ŭ,>+hrIە\S2knU[h JW¦7T bѭn6%zAXec@d(+
-|dB_Pm ">QLݚԙ8
-+L)-+2Z6ɎR=½HkMspS>sr .
-B{VhS8+#4.Si }ғj}`TdM06>m:pSEfm+.y;!6uNt ռ/pR:#',t iK1JIWb-a٩LJ7ֵA
-pHu>k?g̖tb6 D`"ujk[9yvKn8ءZ
--3^h`F\g qNrdЌPyCS!?,IqvqzTRP~Z}~RRΉa ȟ+xMN@yOX28rKxQ_z"UgFb_mwˬl85rn+%:ihltߣ2pP*2ϱ8Z;%,4$qm⠠C9/FamnI {L(f9Y=nHwStwA^`:G,/nNlRSi54o%s4 xh#V0|u½da{vWg#]j[J2S0@7-hb6IQ9j83 @%(u~ܝF)9@X^2
-(i^a2<SS%?߬f&uѡrBɳ:<;G2
-oN#Vf +ڰix3`j,;7(HiW (m[mk"񸱴5&k 4Hjph"Rؽ
->EW
-endstream
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 183.063 493.432 195.018 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1112 0 obj
-<< /Type /Page /Contents 1113 0 R /Resources 1111 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 859 0 R /Annots 1115 0 R >>
+1006 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 171.317 361.508 182.505 ]/A << /S /GoTo /D (page.14) >> >>
endobj
-1115 0 obj
-[ 1003 0 R 1004 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R ]
+1007 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.476 159.153 453.432 171.108 ]/A << /S /GoTo /D (page.16) >> >>
endobj
-1003 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 758.022 182.095 768.971 ]/A << /S /GoTo /D (page.55) >> >>
+1008 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.715 147.197 406.689 159.153 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.66 745.619 240.615 757.574 ]/A << /S /GoTo /D (page.35) >> >>
+1009 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.784 147.197 422.958 159.153 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1010 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 734.102 170.09 745.17 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.825 135.242 483.78 147.197 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1011 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 722.147 176.765 733.106 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.336 103.245 459.292 115.2 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1012 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.279 688.403 209.253 699.233 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 479.725 91.29 491.68 103.245 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1013 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.242 688.403 224.197 699.233 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 67.379 426.156 79.334 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1014 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.205 675.88 173.178 687.835 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 67.379 442.425 79.334 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1015 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 664.493 129.153 675.432 ]/A << /S /GoTo /D (page.26) >> >>
+1020 0 obj
+<< /D [ 1018 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1016 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 652.528 132.78 663.477 ]/A << /S /GoTo /D (page.26) >> >>
+357 0 obj
+<< /D [ 1018 0 R /XYZ 79.37 706.717 null ] >>
endobj
1017 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 652.528 149.049 663.477 ]/A << /S /GoTo /D (page.45) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F67 389 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1018 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 640.015 183.261 651.97 ]/A << /S /GoTo /D (page.39) >> >>
+1128 0 obj
+<< /Filter /FlateDecode /Length 3265 >>
+stream
+x\Ɏ$7W
+I "rtЮX(%,&&ˏoݔ}":)!ԛ7Nۿ~h)5=[?<C׼1XKOP Mo)o/enߵs&Nwѱqt?DYɊ [icS-AJ絴\K35dg/,CCS.ua%˓d&ysz'i}
+ W-k_+͸+煉ML ~dcUIi)>pK.uLX~7-*p7x`nnxt~eQ7Eg5ftB$ŵ>^蹴nz*
+U巤UFRY+b\%ׅ;c[l2xFg9vsINt
+)x+piCgq95zIzRS^<] B&(]`VwJFt(p,d=JH+f N6T;D#_7W(j>GPnVBAP7n>]Yu (YuSd;޷`AV; jUZ5Z([eLOl 45vG˻g'z{7Bd
+`6S
++ЈPmT8ui9\u
+&5"RY,w8B]s2
+Rz ӈ\[[B
+_UKV)f3&ybL
+[FjT3//X6#Nuv{_ }Ri]'N]
+Bi=*߷o[qb@/w^5N"'4t8abJbAh5е&fu ZhpHU{'%Lp:)LHadWd:+!);Ğnȏr{{+aa=[8NK3 83d{*L=N? I󳜲ؙ_N-K&; M?|R'A4 -֠L4
+'>}b$H2-} 9ǦQC_`ipZՀpn}w"p5[>aNl b|fqPƒg .n-[/ۭoMҘu?d&G1Chv3r&5\yYwA^EDɿa-۩*nG</f]V]:8LMf;aTQQuN
+ulìj#΃nBaBjKYԆk)% EȅkS>G["_̐@$)CLvW?F&X4GNU}e^T]ul{}ĝQG=ZQ̵Oч3)_]
+ PyǷ
+endstream
endobj
-1019 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 628.06 155.086 640.015 ]/A << /S /GoTo /D (page.39) >> >>
+1127 0 obj
+<< /Type /Page /Contents 1128 0 R /Resources 1126 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1131 0 R >>
endobj
-1020 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 616.104 206.264 628.06 ]/A << /S /GoTo /D (page.39) >> >>
+1131 0 obj
+[ 1015 0 R 1016 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R ]
endobj
-1021 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 604.149 179.754 616.104 ]/A << /S /GoTo /D (page.39) >> >>
+1015 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.361 757.574 261.316 769.529 ]/A << /S /GoTo /D (page.42) >> >>
+endobj
+1016 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 265.411 757.574 277.585 769.529 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1022 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.681 570.486 237.637 581.674 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.085 745.619 284.041 757.574 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1023 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.912 558.53 242.867 569.718 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 734.112 182.095 745.061 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1024 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 525.016 143.49 535.845 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.66 721.708 240.615 733.664 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1025 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 513.061 159.181 523.89 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 710.192 170.09 721.26 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1026 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 488.583 189.896 500.538 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 698.236 176.765 709.195 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1027 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 477.195 127.799 488.025 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.279 665.027 214.234 675.857 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1028 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 453.285 170.957 464.154 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.223 665.027 229.178 675.857 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1029 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 441.33 196.86 452.199 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.205 652.504 173.178 664.459 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1030 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 429.365 233.193 440.244 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 641.117 129.153 652.056 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1031 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 407.168 130.18 416.015 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 629.152 132.78 640.101 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1032 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 393.22 133.029 404.339 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 629.152 149.049 640.101 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1033 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 369.599 170.957 380.468 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 616.639 183.261 628.594 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1034 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 357.644 196.86 368.513 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 604.683 155.086 616.639 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1035 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 345.679 233.193 356.558 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 592.728 206.264 604.683 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1036 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 333.723 193.442 344.563 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 580.773 179.754 592.728 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1037 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 333.723 209.711 344.563 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.681 547.644 237.637 558.832 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1038 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 299.86 134.523 310.69 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.912 535.688 242.867 546.876 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1039 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 299.86 150.573 310.69 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 502.708 143.49 513.538 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1040 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.538 287.895 166.493 298.774 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 490.753 159.181 501.582 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1041 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.207 275.382 252.162 287.337 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 466.275 189.896 478.23 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1042 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.3 263.427 203.256 275.382 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 454.888 127.799 465.717 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1043 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.295 229.554 199.251 241.509 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 430.977 170.957 441.846 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 195.681 224.456 207.636 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 419.022 196.86 429.891 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 183.726 245.565 195.681 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 407.057 233.193 417.936 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 171.771 263.816 183.726 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 384.86 130.18 393.707 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1047 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.716 160.304 201.672 171.213 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 370.912 133.029 382.031 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1048 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 160.304 216.616 171.213 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 347.291 170.957 358.16 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1049 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 148.418 127.46 159.258 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 335.336 196.86 346.205 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1050 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 148.418 143.729 159.258 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 323.371 233.193 334.25 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1051 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 148.418 159.998 159.258 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 311.416 193.442 322.255 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1052 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 136.463 131.086 147.302 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 311.416 209.711 322.255 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1053 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 136.463 147.355 147.302 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 278.087 134.523 288.916 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1054 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 124.518 127.799 135.347 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 278.087 150.573 288.916 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1055 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 88.642 223.071 99.522 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.538 266.122 166.493 277.001 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1056 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 76.568 144.327 87.636 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.207 253.609 252.162 265.564 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 745.619 420.925 757.574 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.3 241.653 203.256 253.609 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1058 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 733.664 453.105 745.619 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.295 208.315 199.251 220.27 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1059 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 722.197 427.341 733.205 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 174.976 224.456 186.931 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1060 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.515 709.753 448.47 721.708 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 163.021 245.565 174.976 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1061 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 698.236 371.202 709.195 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 151.065 263.816 163.021 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1062 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.81 686.281 415.765 697.24 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.716 139.598 201.672 150.507 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 661.933 473.389 673.888 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 139.598 216.616 150.507 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 649.977 493.972 661.933 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 127.713 127.46 138.552 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 649.977 510.241 661.933 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 127.713 143.729 138.552 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 638.022 429.085 649.977 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 127.713 159.998 138.552 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 604.149 410.465 616.104 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 115.758 131.086 126.597 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 592.194 486.498 604.149 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 115.758 147.355 126.597 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 580.239 475.3 592.194 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 103.813 127.799 114.642 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 534.979 394.206 545.848 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 67.937 223.071 78.816 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 523.024 420.109 533.893 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 355.62 758.012 367.576 769.081 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 511.058 456.442 521.938 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 733.664 420.925 745.619 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 498.545 439.864 510.5 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 721.708 453.105 733.664 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 486.809 372.218 497.987 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 710.241 427.341 721.25 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 474.854 429.503 486.032 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.515 697.798 448.47 709.753 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 463.248 377.449 474.077 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 686.281 371.202 697.24 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 451.293 408.582 462.122 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.81 674.326 415.765 685.285 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 451.293 424.851 462.122 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 649.977 473.389 661.933 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 439.337 413.812 450.167 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 638.022 493.972 649.977 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 427.093 408.831 438.212 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 638.022 510.241 649.977 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 415.427 382.679 426.256 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 626.067 429.085 638.022 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 403.472 387.909 414.301 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 592.194 410.465 604.149 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 391.517 392.891 402.346 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 580.239 486.498 592.194 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 379.562 375.894 390.391 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 568.284 475.3 580.239 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 367.606 351.526 378.436 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 523.024 394.206 533.893 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 355.083 410.674 367.038 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 511.068 420.109 521.938 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 355.083 425.618 367.038 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 499.103 456.442 509.982 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 343.128 478.669 355.083 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 486.59 439.864 498.545 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 331.741 438.609 342.57 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 474.854 372.218 486.032 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 331.741 453.553 342.57 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 462.899 429.503 474.077 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 331.741 469.822 342.57 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 451.293 377.449 462.122 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 319.437 366.739 330.615 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 439.337 408.582 450.167 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 295.307 395.501 307.263 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 439.337 424.851 450.167 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 295.307 411.77 307.263 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 427.382 413.812 438.212 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 283.801 368.721 294.859 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 415.138 408.831 426.256 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 249.699 419.043 260.877 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 225.569 462.828 237.524 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 391.517 387.909 402.346 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 201.659 432.044 213.614 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 379.562 392.891 390.391 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 177.748 446.938 189.703 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 367.606 375.894 378.436 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 143.875 439.175 155.831 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 355.651 351.526 366.481 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 132.359 388.935 143.317 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 343.128 410.674 355.083 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 120.244 403.351 131.362 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 343.128 425.618 355.083 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 108.448 380.278 119.517 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 331.173 478.669 343.128 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 108.448 396.547 119.517 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 319.786 438.609 330.615 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 96.274 377.449 107.452 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 319.786 453.553 330.615 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 84.378 382.679 95.497 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 319.786 469.822 330.615 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.588 72.154 437.543 84.099 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 307.482 366.739 318.66 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.532 72.154 452.487 84.099 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 283.352 395.501 295.307 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.582 72.154 468.756 84.099 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 283.352 411.77 295.307 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1114 0 obj
-<< /D [ 1112 0 R /XYZ 78.37 808.885 null ] >>
+1110 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 271.845 368.721 282.904 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1111 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F56 380 0 R /F67 385 0 R /F57 381 0 R /F55 379 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 237.743 419.043 248.921 ]/A << /S /GoTo /D (page.48) >> >>
endobj
-1205 0 obj
-<< /Filter /FlateDecode /Length 3155 >>
-stream
-x\ˎ$W\#@Z,o{2! lkŨ;+E<N̟_@w "F7EM87JHT_R?Qv ¸ J))CJ'c"EKOK?QY/]M$ɟ6#! *}֟~謹͍ʮҰhF#h$}S%>K<B)|@έX2Q/
-h{M"'<Gk/ 5 M˧qEHQH: 7W]UZ7*qf^e޼E$jX]jFbDY.`ñ33%Lzߩgr@S%0\*iZxa089:c@].oI`-92~uB`ɶbok<7,mve.rCz3Z8z(&3~d.Sf] $,Y|`qz/6&VR;ϗ%O5.ΗʡpUzƌ2Tds`]T O2*q$fZL2Zf+<"I=kd'AG&s.G( N4ȁa> ,ˇM1z7 Sn
-|c-@JkA' G)9\9nop8QkCt&j7Gl :dƕy}X
-*UĆ.He8
-QPG SouW?g7ύw\8w`Q8N]P$)?N
-U'A£USj6!VbFĬZE !m :[ŁVî(BR&HZgF៬O*5b^e+0gk|.7T|2 u
-'7]3v}G2⤌P
-[N U.MӔ>T
-vOT-")rZĵwx4/P6G_??3p4?Z7S>nrg-ጭ޺s`G U;<G\2a .IŖ -tz\?v0^mS\mSIb?F<$( {3邹xG@qCn8ZeXWyoF5&
-endstream
+1112 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 213.614 462.828 225.569 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-1204 0 obj
-<< /Type /Page /Contents 1205 0 R /Resources 1203 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1208 0 R >>
+1113 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 189.703 432.044 201.659 ]/A << /S /GoTo /D (page.18) >> >>
endobj
-1208 0 obj
-[ 1110 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R ]
+1114 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 165.793 446.938 177.748 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.633 745.619 258.588 757.574 ]/A << /S /GoTo /D (page.31) >> >>
+1115 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 131.92 439.175 143.875 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 723.98 130.18 732.926 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 120.403 388.935 131.362 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.584 710.321 143.54 721.151 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 108.289 403.351 119.407 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.354 698.366 154.309 708.916 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 96.493 380.278 107.562 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.018 685.843 283.973 697.798 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 96.493 396.547 107.562 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 241.682 673.888 248.655 685.843 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 84.319 377.449 95.497 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 649.977 197.677 661.933 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 72.423 382.679 83.542 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 280.187 638.022 292.142 649.977 ]/A << /S /GoTo /D (page.18) >> >>
-endobj
-1123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 602.715 223.071 613.594 ]/A << /S /GoTo /D (page.33) >> >>
+1129 0 obj
+<< /D [ 1127 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.046 590.64 151.002 601.599 ]/A << /S /GoTo /D (page.50) >> >>
+1126 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 566.291 197.677 578.246 ]/A << /S /GoTo /D (page.37) >> >>
+1221 0 obj
+<< /Filter /FlateDecode /Length 3250 >>
+stream
+x\ˎ W\E40=}+@ֳ MVmHY*K*OrE]2_㐒[yӷ|۟>ܒJz7C7BRnoX٧9.?O "]C߀O~,OwϿtͤ3)(Qg0EO4
+T#}Ф]מ6zEn<h$e-}SSAe|2%k"{5-ݯ3|P9\)np&Bcg͙="A ]
+Fy)zOECT΃iQ"t?E$2g4[Oa=sה.4͛_ ~y.,}狀l`&Bv]L{XNRMqf.}\|q 8a
+1IjM
+;rqެiWBKPscb I6l keʦI/ $9^0&}G'
+!tEA䙗0_/V1"ɠ#%OUr/GψErZ4X%GZt]EU*]}n`A['p.TRِ9OHT
+`JGwY Eǒv:S 
+OC^T(#sg)teHJ :3 J_^0~3&[n[AadtD gR.jTfŀd"\! @n' 2~^XpHK+0z~
+?FwD?&_Wx(ؖ98<o4V*'Ƴ~ĮWu gSԚpشhqEœͦ@VeDOVA,ڲ Xf5jgLRl^q-VT]8iMU;,}əvWJ ]L[EHgv?mQ|) & 2=!J$k'<MPp,c:85ު6eDsXӔ, b?p[5*|bDKjP6ۘ\jޔ]
+`j6"XH. FM$OE')oF6P5~rj3z<HHzlTo|%'T|MWٓJ5zJ"9ԦZ>K9ݸΉړMu~#p2(v EM>ƥ9}&l.kNjrbxW,@k<mz= b쾎/(_U^>Rr}4Ilʐw.{[v
+
+/C5A &_l6t.6zv4=9չּ~̑])m<rO$G%;33|VRS=;p3=';8 NhsUӹ:`zOLdr'ʣNL\o6ng_v2$̇tQdNW
+HP-n',}#ux8aHg R=F $ DƳ]չPV'l',;Ӗ "z޴Y(=c[>B4isƥ"۾ CA[4jFM{2sD9#XFWM mPoazη&dN G)+.K0[IH
+ax7@]ɫjH63 l0z MKQaE%Z>9O$
+
+'7;sMЇLy4Ӱ^w9R
+Mb;'t9pJ(8<+!(phy`TK.OKIߕRp>t_1?`Ts&Sf(i]1(l?hixh~f 鱃:򰬮Zuil 2H@"Û5Cy   $dEqRܮUA="ydyPk֊= = >.$(h Gt`c $ͩQ3~l='Z(:GۿWt
+endstream
endobj
-1126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.576 554.336 236.531 566.291 ]/A << /S /GoTo /D (page.35) >> >>
+1220 0 obj
+<< /Type /Page /Contents 1221 0 R /Resources 1219 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1223 0 R >>
endobj
-1127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 542.949 133.248 553.778 ]/A << /S /GoTo /D (page.21) >> >>
+1223 0 obj
+[ 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R ]
endobj
-1128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 542.949 149.517 553.778 ]/A << /S /GoTo /D (page.23) >> >>
+1122 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.339 757.584 214.294 769.529 ]/A << /S /GoTo /D (page.28) >> >>
endobj
-1129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 542.949 165.567 553.778 ]/A << /S /GoTo /D (page.45) >> >>
+1123 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.283 757.584 229.238 769.529 ]/A << /S /GoTo /D (page.33) >> >>
endobj
-1130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 519.038 170.957 529.908 ]/A << /S /GoTo /D (page.5) >> >>
+1124 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.333 757.584 245.507 769.529 ]/A << /S /GoTo /D (page.59) >> >>
endobj
-1131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 507.083 212.551 517.953 ]/A << /S /GoTo /D (page.43) >> >>
+1125 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.633 723.701 258.588 735.656 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 483.173 238.075 494.002 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 702.062 130.18 710.909 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 483.173 254.344 494.002 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.584 688.403 143.54 699.233 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 471.218 211.535 482.047 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.354 676.448 154.309 686.999 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 471.218 227.804 482.047 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.018 663.925 283.973 675.88 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 458.695 219.355 470.65 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 241.682 651.97 248.655 663.925 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 446.74 281.522 458.695 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 628.06 197.677 640.015 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1138 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 425.101 130.18 434.047 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 280.187 616.104 292.142 628.06 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1139 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 411.093 143.49 422.271 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 580.797 223.071 591.676 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1140 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 398.919 244.899 410.874 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.046 568.722 151.002 579.681 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1141 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 398.919 261.168 410.874 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 544.373 197.677 556.329 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1142 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 365.046 216.785 377.001 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.576 532.418 236.531 544.373 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 365.046 232.835 377.001 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 521.021 133.248 531.86 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 353.091 240.215 365.046 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 521.021 149.517 531.86 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 341.694 154.07 352.533 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 521.021 165.567 531.86 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 329.18 264.117 341.136 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 497.121 170.957 507.99 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 317.225 282.937 329.18 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 485.166 212.551 496.035 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 305.27 287.998 317.225 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 461.255 238.075 472.085 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 281.36 223.689 293.315 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 461.255 254.344 472.085 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 269.405 175.29 281.36 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 449.3 211.535 460.129 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 257.449 205.766 269.405 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 449.3 227.804 460.129 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 245.494 247.081 257.449 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 436.777 219.355 448.732 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1153 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 233.539 293.653 245.494 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 424.822 281.522 436.777 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1154 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 222.152 157.946 232.981 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 403.183 130.18 412.03 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1155 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 209.629 216.494 221.584 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 389.175 143.49 400.354 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 209.629 232.763 221.584 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 377.001 244.899 388.956 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 187.99 130.18 196.946 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 377.001 261.168 388.956 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 161.808 225.183 173.763 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 343.128 216.785 355.083 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 161.808 241.233 173.763 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 343.128 232.835 355.083 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 161.808 257.502 173.763 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 331.173 240.215 343.128 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 161.808 273.771 173.763 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 319.776 154.07 330.615 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 137.898 225.183 149.853 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 307.263 264.117 319.218 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 104.593 159.181 115.422 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 295.307 282.937 307.263 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 104.593 175.45 115.422 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 283.352 287.998 295.307 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 92.07 254.105 104.025 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 259.442 223.689 271.397 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 80.682 164.411 91.512 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 247.487 175.29 259.442 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.851 68.159 181.806 80.114 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 235.532 205.766 247.487 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 757.574 409.907 769.529 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 223.576 247.081 235.532 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 745.619 429.483 757.574 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 211.621 293.653 223.576 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 733.664 464.064 745.619 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 200.234 157.946 211.063 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 710.321 394.206 721.19 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 187.711 216.494 199.666 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 710.321 410.475 721.19 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 187.711 232.763 199.666 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 698.366 459.688 709.235 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 166.072 130.18 174.919 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 698.366 475.957 709.235 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 139.89 225.183 151.845 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 686.411 433.227 697.28 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 139.89 241.233 151.845 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1176 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 673.888 473.915 685.843 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 139.89 257.502 151.845 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1177 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 661.933 435.561 673.888 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 139.89 273.771 151.845 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1178 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 661.933 451.83 673.888 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 115.98 225.183 127.935 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1179 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 616.104 446.938 628.06 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 82.675 159.181 93.504 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1180 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 582.232 452.208 594.187 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 82.675 175.45 93.504 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1181 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 582.232 468.258 594.187 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 70.152 254.105 82.107 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 570.276 425.468 582.232 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 758.142 387.66 768.971 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 558.321 407.067 570.276 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.1 745.619 405.055 757.574 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 558.321 423.117 570.276 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 733.664 409.907 745.619 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 546.934 403.351 557.763 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 721.708 429.483 733.664 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 534.979 403.351 545.808 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 709.753 464.064 721.708 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 523.024 351.048 533.853 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 686.411 394.206 697.28 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 511.068 366.739 521.898 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 686.411 410.475 697.28 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 487.158 394.206 498.027 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 674.456 459.688 685.325 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 475.203 420.109 486.072 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 674.456 475.957 685.325 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 463.238 456.442 474.117 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 662.501 433.227 673.37 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 451.293 406.709 462.122 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 649.977 473.915 661.933 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 438.989 377.449 450.167 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 638.022 435.561 649.977 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 427.033 377.449 438.212 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 638.022 451.83 649.977 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 415.427 382.679 426.256 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 592.194 446.938 604.149 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 558.321 452.208 570.276 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.845 357.644 435.8 368.513 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 558.321 468.258 570.276 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.661 345.689 425.616 356.558 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 546.366 425.468 558.321 ]/A << /S /GoTo /D (page.8) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 311.248 400.014 323.203 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 534.411 407.067 546.366 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.798 299.293 418.754 311.248 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 534.411 423.117 546.366 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.715 287.337 435.67 299.293 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 523.024 403.351 533.853 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1202 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.183 253.464 508.138 265.42 ]/A << /S /GoTo /D (page.37) >> >>
-endobj
-1206 0 obj
-<< /D [ 1204 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 511.068 403.351 521.898 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1203 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 385 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F57 381 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 499.113 351.048 509.943 ]/A << /S /GoTo /D (page.28) >> >>
endobj
-1249 0 obj
-<< /Filter /FlateDecode /Length 2418 >>
-stream
-x\n#;W( ݾ]g7j;zJUtr;tතu)b_s?~ǝE Hpy7qіI}0?9ˋnϺ?ι'+&f&n{|Ewz-Eep &KA6L f>50uFlInqG[
-!eR辡nDV, B#~jY؟̵}s8_MaT^E }x%4U\~nJw=>6nvw+P}$^QAcQ-#,$AэTz-Gc-orIp C6ם@Ʈfq/+'P?U4"ǀP,ė~dbNHBܹK* KPН9(B2mlDBJf {7-M=_Y{aZC \^ґl, T]+9^uڍc.PUj`G|7U/[Num/"竃Bb19XmTI!TB4{UM-VB9fs=Tr"B۰GeBg:7\'
-Գn3$36D@V(v޳ir:A–q ab/Jt6ҋ^ar}'TK\1-Hȉ z*6(є9sR3:JTߛ|n_Dꋐ79+mGk{=
-Qvؓe
-{SW~ ӚSmJ
-M;jS6af2iD5)ڼm/77WX+͌]xP3 .<lTz
-%|N]
-f\2@]t\Aȼ ~8
-B{88QPv+kJ7]!E%[E>v*ІME{A-394i}%`;wz)--@xIџg>xsx1MSmWj;/6 $ODcn+^|wp`38.Ei
-}zJEagԑL!`֡Ze
-{kdmsmXs.CBfsTez3eHچ.}*kJ"TdU+|kAhΔu\o}%aN+;a=gefޒ
-K~hg.|dOLZNpC<p
-<Žk"厛Fr//jFrzk?9+(\<? KQnh$Lu7<t7Mn> KmO0R+S ]3C
-endstream
+1204 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 487.158 366.739 497.987 ]/A << /S /GoTo /D (page.30) >> >>
endobj
-1248 0 obj
-<< /Type /Page /Contents 1249 0 R /Resources 1247 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1251 0 R >>
+1205 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 463.248 394.206 474.117 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-1251 0 obj
-[ 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R ]
+1206 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 451.293 420.109 462.162 ]/A << /S /GoTo /D (page.37) >> >>
+endobj
+1207 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 439.327 456.442 450.207 ]/A << /S /GoTo /D (page.12) >> >>
+endobj
+1208 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 427.382 406.709 438.212 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1209 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 594.319 289.293 603.285 ]/A << /S /GoTo /D (section.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 415.078 377.449 426.256 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 570.458 265.951 581.467 ]/A << /S /GoTo /D (section.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 403.123 377.449 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.433 168.606 559.549 ]/A << /S /GoTo /D (section.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 391.517 382.679 402.346 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 528.565 140.999 537.532 ]/A << /S /GoTo /D (section.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 379.562 382.679 390.391 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.617 175.639 525.686 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.845 333.733 435.8 344.603 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 504.495 228.102 513.621 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.661 321.778 425.616 332.647 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.707 223.699 501.706 ]/A << /S /GoTo /D (subsection.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 287.337 400.014 299.293 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 480.585 213.198 489.711 ]/A << /S /GoTo /D (subsection.4.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.798 275.382 418.754 287.337 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 468.63 333.089 477.756 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.715 263.427 435.67 275.382 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 456.675 321.731 465.801 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.183 229.554 508.138 241.509 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 434.867 266.419 443.943 ]/A << /S /GoTo /D (section.5) >> >>
+1222 0 obj
+<< /D [ 1220 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 421.088 366.075 432.037 ]/A << /S /GoTo /D (subsection.5.1) >> >>
+1219 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R /F57 385 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 410.847 232.008 420.082 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
+1264 0 obj
+<< /Filter /FlateDecode /Length 2414 >>
+stream
+x\n6W! 0 [kr_íe3F[jnz$~/{y]@&QO/bbeh˟I
+os.As%UhKjKho&>o!~)B]s4N h)hV7SO &NQz6@ΤDPіJ@?fOoR%a8RgڒÜf'2DOR~ NwÊ
+lNd(mK:i[6.eci\M\FZZºBle7s%]W~@
+#ʼFrTߗ"oWJpW4oeJy4Qyen+ܜ+zqmeg6t\ ԢT gTBˈP{t#^h][.5\y@JȺLsE2e WIPɗUbN@w¡9QzndƉو
+)zݻoi*X?vjT + Ovy&)puKYv{?]It:PLj1F\Uj@G|U.5mi遲0;XmTx]_*o*`S~djЕ@.Y𘙞Tr"b۸GegKN\W
+`\C%q+we.Zwg`ki): ͆Z`:hff_Q<5 ^b5>I])Y,£T=si-
+xApGVG+sZJ[̈́[ umy㠊)g)`sH4ug
+pk_V(棬W0eF(VK:Ью)9VPC]RΎ_/0ztn}Tۣ.bfne۱Rlq{0Ǹ8'%鴓ZϘB  &79=F ƌBXT(f!9.4CxPxCp*^` r#Po
+t< H yەڎK&MP,d!/X`߆f!fp]JDE
+}7<z튁Jhx2#C0ZϪ*c?ooÚ)Ô2!A~nS1PiiF
+T`e-I v: zRKs C'7ڪ_GH
+
+ zSyY gd?:|y?
+endstream
endobj
-1222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 396.62 239.34 408.575 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+1263 0 obj
+<< /Type /Page /Contents 1264 0 R /Resources 1262 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1266 0 R >>
endobj
-1223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 385.223 272.267 396.172 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+1266 0 obj
+[ 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R ]
endobj
1224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.268 323.246 384.216 ]/A << /S /GoTo /D (subsection.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 594.319 289.293 603.285 ]/A << /S /GoTo /D (section.1) >> >>
endobj
1225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 363.026 251.445 372.192 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 570.458 265.951 581.467 ]/A << /S /GoTo /D (section.2) >> >>
endobj
1226 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 349.357 328.765 360.236 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.433 168.606 559.549 ]/A << /S /GoTo /D (section.3) >> >>
endobj
1227 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 336.844 222.623 348.799 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 528.565 140.999 537.532 ]/A << /S /GoTo /D (section.4) >> >>
endobj
1228 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 324.889 253.467 336.844 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.617 175.639 525.686 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
1229 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 313.492 310.942 324.441 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 504.495 228.102 513.621 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
1230 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 291.504 338.927 302.513 ]/A << /S /GoTo /D (section.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.707 223.699 501.706 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
1231 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 281.332 220.77 290.458 ]/A << /S /GoTo /D (subsection.6.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 480.585 213.198 489.711 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
1232 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.106 322.16 279.061 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 468.63 333.089 477.756 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
1233 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.589 255.35 266.657 ]/A << /S /GoTo /D (subsection.6.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 456.675 321.731 465.801 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
1234 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 243.753 255.298 254.632 ]/A << /S /GoTo /D (subsection.6.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 442.448 220.82 454.403 ]/A << /S /GoTo /D (subsection.4.7) >> >>
endobj
1235 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 221.278 221.856 233.233 ]/A << /S /GoTo /D (section.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 422.911 266.419 431.987 ]/A << /S /GoTo /D (section.5) >> >>
endobj
1236 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 199.848 213.129 210.757 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 409.133 366.075 420.082 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
1237 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 187.962 208.596 198.802 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 398.891 232.008 408.127 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
1238 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 177.721 190.464 186.847 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 384.665 239.34 396.62 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
1239 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 165.766 245.567 174.891 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.268 272.267 384.216 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
1240 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 142.065 271.599 153.073 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 361.312 323.246 372.261 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
1241 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 120.147 259.166 131.155 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 351.071 251.445 360.236 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
1242 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 108.152 214.254 119.21 ]/A << /S /GoTo /D (subsection.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 337.402 328.765 348.281 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
1243 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 95.748 296.347 107.703 ]/A << /S /GoTo /D (subsection.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 324.889 222.623 336.844 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
1244 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 84.231 398.942 95.3 ]/A << /S /GoTo /D (subsection.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 312.934 253.467 324.889 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
1245 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 72.276 268.67 83.275 ]/A << /S /GoTo /D (subsection.10.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 301.537 310.942 312.485 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-1250 0 obj
-<< /D [ 1248 0 R /XYZ 78.37 808.885 null ] >>
+1246 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 279.549 338.927 290.558 ]/A << /S /GoTo /D (section.6) >> >>
endobj
1247 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 398 0 R /F15 377 0 R /F56 380 0 R /F55 379 0 R /F66 384 0 R /F50 370 0 R /F67 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.377 220.77 278.503 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-1304 0 obj
-<< /Filter /FlateDecode /Length 2270 >>
-stream
-x\r6 ߯%
-p5бA|VkP
-uX>wLYf\vzwZr2ҪO)FWhTWk:/w&PyPkgP31{}wUr]+Dg=UG%5[9ml OxG`8hi^nUbKSp\`H=,&xyUL" ӏ9SD4)Z $,,]+wTS4; Ca$&r3/h[5JI86ëX ]aXtʩ u!}@w,H֥
-)XUDŽwȉ1\raoO1$`ǶQQ7|]F
-eUkѶ-Žwq
-3 kRwERjR8=“O\F=kLY*;0DLtՆ16AɍW33|85٨|n%!}Sӵju99urAK_L^onX {lS= 5nUFkmzFfa`VOU(C UjWumjlTZWp)TK^˰,s..K܏˼@/}ڶ' -
-
-w.fo8Xks;ԴLZyǻE# 2qKUkcNf 5&f9ۈ)v=eXZ&eFD5%m*cRO>11-@ U^'h5.SYP$ rʭ*Jk&)iGf;mkw[V'ZSV 3_/xsC@^F.m,imWnӎs׷6m!֠be k{v>d^-+б`p-PZ#ioƟb.򩪾nob_g`nTW5^EZvn?
- 77oAכ"Őb˯Z[^i{6aVqSy֏}RKZ5}z<ywK)ַ/iQmJ
-ofK
-6[3$
-endstream
+1248 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.15 322.16 267.106 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-1303 0 obj
-<< /Type /Page /Contents 1304 0 R /Resources 1302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1207 0 R /Annots 1306 0 R >>
+1249 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 243.634 255.35 254.702 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-1306 0 obj
-[ 1246 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R ]
+1250 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 231.798 255.298 242.677 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
-1246 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.012 297.502 769.011 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+1251 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 209.322 221.856 221.278 ]/A << /S /GoTo /D (section.7) >> >>
endobj
1252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 264.506 757.126 ]/A << /S /GoTo /D (subsection.10.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 187.893 213.129 198.802 ]/A << /S /GoTo /D (section.8) >> >>
endobj
1253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 724.259 348.591 735.198 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 176.007 208.596 186.847 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
1254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 701.783 169.522 713.738 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 165.766 190.464 174.891 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
1255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 689.828 297.263 701.783 ]/A << /S /GoTo /D (subsection.12.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 153.811 245.567 162.936 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
1256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 677.873 416.735 689.828 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 130.109 271.599 141.118 ]/A << /S /GoTo /D (section.9) >> >>
endobj
1257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 665.918 406.484 677.873 ]/A << /S /GoTo /D (subsection.12.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 108.192 259.166 119.2 ]/A << /S /GoTo /D (section.10) >> >>
endobj
1258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 653.963 343.918 665.918 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 96.197 214.254 107.255 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
1259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 632.533 308.152 643.542 ]/A << /S /GoTo /D (section.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 83.793 296.347 95.748 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
1260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 620.528 233.642 631.527 ]/A << /S /GoTo /D (subsection.13.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 72.276 398.942 83.345 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
-1261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 608.573 237.228 619.532 ]/A << /S /GoTo /D (subsection.13.2) >> >>
+1265 0 obj
+<< /D [ 1263 0 R /XYZ 78.37 808.885 null ] >>
endobj
1262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.451 219.804 607.576 ]/A << /S /GoTo /D (subsection.13.3) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F66 388 0 R /F54 374 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.496 288.586 595.621 ]/A << /S /GoTo /D (subsection.13.4) >> >>
+1320 0 obj
+<< /Filter /FlateDecode /Length 2284 >>
+stream
+x\r6 ߯%
+dUtRqa݁w$k1Zc˼K>5֯WM "R_@8 yѽ3"%σP\;{~軫SLP')9T5~*9ْqnc[hx;
+ߊv8~*Ngw1UM䪌 +p::P?bJpW
+zB@@όm]"?ErŘ96;_H t3x3mey$k׺#ߕ)t(p}gP@MƂk<&FNywh {{!&x; Ymx.z\D#Ȫha;vf uu0*?Ka4"[c)sR*;jW~Z`B^w|cpT*WF[agmtt^up>cn=;
+?l
+Sbfyg6CMԫ|XTNx!xsđ/Um3;qo1٨s *E6l0]Ol3 &e-jJ<Tl%Ƃ nϽ}Ec$ нFBפj6Z ˄ԧ- <GW *Jk&)iGf;mkw[V'ZSV 3/BE y>η7]X@ڮo@ش!+б^2@K;t Dȁ?H8}VoAE~X*rZo&}싺!PȆ5d[CI >[~
+ <Sŝ|Ii~vΐ4rQFD2sh٠;NZnzǽ݌YTZ;ſc^0]QQ8ѩ<DŽ޾sC̠jQmJ
+oKzA}z
+endstream
endobj
-1264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 572.269 337.881 584.224 ]/A << /S /GoTo /D (subsection.13.5) >> >>
+1319 0 obj
+<< /Type /Page /Contents 1320 0 R /Resources 1318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1322 0 R >>
endobj
-1265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 552.732 205.706 561.848 ]/A << /S /GoTo /D (section.14) >> >>
+1322 0 obj
+[ 1261 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R ]
endobj
-1266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 540.667 224.546 549.833 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+1261 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.012 268.67 769.011 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
1267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 526.441 251.983 538.396 ]/A << /S /GoTo /D (subsection.14.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 297.502 757.056 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
1268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.934 312.127 525.992 ]/A << /S /GoTo /D (subsection.14.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 264.506 745.17 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
1269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 502.53 330.937 514.486 ]/A << /S /GoTo /D (subsection.14.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 712.304 348.591 723.243 ]/A << /S /GoTo /D (section.11) >> >>
endobj
1270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.575 220.551 502.53 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 689.828 169.522 701.783 ]/A << /S /GoTo /D (section.12) >> >>
endobj
1271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 479.178 187.943 490.017 ]/A << /S /GoTo /D (subsection.14.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 677.873 297.263 689.828 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
1272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 467.113 246.244 478.172 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 665.918 416.735 677.873 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
1273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 455.148 216.735 466.107 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 653.963 406.484 665.918 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
1274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 445.026 228.312 454.261 ]/A << /S /GoTo /D (subsection.14.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 642.007 343.918 653.963 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
1275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 430.799 307.993 442.755 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 620.578 308.152 631.586 ]/A << /S /GoTo /D (section.13) >> >>
endobj
1276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 418.844 287.271 430.799 ]/A << /S /GoTo /D (subsection.14.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 608.573 233.642 619.571 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
1277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 399.307 273.731 408.324 ]/A << /S /GoTo /D (section.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 596.618 237.228 607.576 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
1278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 385.529 338.568 396.368 ]/A << /S /GoTo /D (subsection.15.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.496 219.804 595.621 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
1279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 373.454 240.177 384.523 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 574.54 288.586 583.666 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
1280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 363.332 270.474 372.458 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 560.314 337.881 572.269 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
1281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 349.544 325.314 360.503 ]/A << /S /GoTo /D (subsection.15.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 540.827 205.706 549.893 ]/A << /S /GoTo /D (section.14) >> >>
endobj
1282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.708 306.339 348.657 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 528.822 224.546 537.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
1283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.195 363.933 337.151 ]/A << /S /GoTo /D (subsection.15.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.486 251.983 526.441 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
1284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 303.835 229.457 314.774 ]/A << /S /GoTo /D (section.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 502.979 312.127 514.037 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
1285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 281.918 207.569 292.757 ]/A << /S /GoTo /D (section.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.575 330.937 502.53 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
1286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.843 201.273 280.802 ]/A << /S /GoTo /D (subsection.17.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 478.62 220.551 490.575 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
1287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 259.721 206.392 268.847 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 467.223 187.943 478.062 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
1288 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 245.943 250.877 256.892 ]/A << /S /GoTo /D (subsection.17.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 455.158 246.244 466.217 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
1289 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 234.097 195.276 244.976 ]/A << /S /GoTo /D (subsection.17.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 443.193 216.735 454.152 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
1290 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 212.179 143.002 223.019 ]/A << /S /GoTo /D (section.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 433.071 228.312 442.306 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
1291 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 199.666 353.181 211.621 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 418.844 307.993 430.799 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
1292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 189.982 236.81 199.108 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 406.889 287.271 418.844 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
1293 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 178.027 228.302 187.153 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 387.352 273.731 396.368 ]/A << /S /GoTo /D (section.15) >> >>
endobj
1294 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 164.239 209.024 175.238 ]/A << /S /GoTo /D (subsection.18.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.574 338.568 384.413 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
1295 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 152.284 335.709 163.283 ]/A << /S /GoTo /D (subsection.18.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 361.499 240.177 372.568 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
1296 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 140.329 196.86 151.327 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 351.377 270.474 360.503 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
1297 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 128.493 234.767 139.332 ]/A << /S /GoTo /D (subsection.18.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.589 325.314 348.548 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
1298 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 116.418 311.161 127.487 ]/A << /S /GoTo /D (subsection.18.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.753 306.339 336.702 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
1299 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 104.025 331.415 115.98 ]/A << /S /GoTo /D (subsection.18.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 313.24 363.933 325.195 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
1300 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 92.508 227.395 103.467 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 291.88 229.457 302.819 ]/A << /S /GoTo /D (section.16) >> >>
endobj
1301 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 72.533 108.74 81.549 ]/A << /S /GoTo /D (section*.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 269.963 207.569 280.802 ]/A << /S /GoTo /D (section.17) >> >>
+endobj
+1302 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 257.888 201.273 268.847 ]/A << /S /GoTo /D (subsection.17.1) >> >>
+endobj
+1303 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 247.766 206.392 256.892 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+endobj
+1304 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 233.987 250.877 244.936 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
1305 0 obj
-<< /D [ 1303 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 222.142 195.276 233.021 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
-1302 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 377 0 R /F67 385 0 R >> /ProcSet [ /PDF /Text ] >>
+1306 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 200.224 143.002 211.063 ]/A << /S /GoTo /D (section.18) >> >>
+endobj
+1307 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 187.711 353.181 199.666 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+endobj
+1308 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 178.027 236.81 187.153 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+endobj
+1309 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 166.072 228.302 175.198 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+endobj
+1310 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 152.284 209.024 163.283 ]/A << /S /GoTo /D (subsection.18.4) >> >>
+endobj
+1311 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 140.329 335.709 151.327 ]/A << /S /GoTo /D (subsection.18.5) >> >>
+endobj
+1312 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 128.373 196.86 139.372 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+endobj
+1313 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 116.538 234.767 127.377 ]/A << /S /GoTo /D (subsection.18.7) >> >>
+endobj
+1314 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 104.463 311.161 115.532 ]/A << /S /GoTo /D (subsection.18.8) >> >>
+endobj
+1315 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 92.07 331.415 104.025 ]/A << /S /GoTo /D (subsection.18.9) >> >>
+endobj
+1316 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 80.553 227.395 91.512 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+endobj
+1321 0 obj
+<< /D [ 1319 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1318 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+1325 0 obj
+<< /Filter /FlateDecode /Length 122 >>
+stream
+xm̱
+1>_1?`n6fB"X[*0 <cSSGפd<fD?pY"#ie=d2~S<Eѭ~$A
+endstream
+endobj
+1324 0 obj
+<< /Type /Page /Contents 1325 0 R /Resources 1323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1327 0 R >>
+endobj
+1327 0 obj
+[ 1317 0 R ]
+endobj
+1317 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 759.955 108.74 768.971 ]/A << /S /GoTo /D (section*.2) >> >>
+endobj
+1326 0 obj
+<< /D [ 1324 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1323 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
endobj
2 0 obj
-<< /pgfpat5 820 0 R /pgfpat4 821 0 R /pgfpat10 824 0 R>>
+<< /pgfpat5 830 0 R /pgfpat4 831 0 R /pgfpat10 834 0 R>>
endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1307 0 obj
+1328 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1309 0 obj
+1330 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1310 0 obj
+1331 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5512,10 +5631,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1308 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1310 0 R /CIDSet 1309 0 R >>
+1329 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1331 0 R /CIDSet 1330 0 R >>
endobj
-1311 0 obj
+1332 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5525,23 +5644,23 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
rndfA~
endstream
endobj
-818 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1312 0 R ] /ToUnicode 1311 0 R >>
+828 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1333 0 R ] /ToUnicode 1332 0 R >>
endobj
-1312 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1308 0 R /W 1307 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1333 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1329 0 R /W 1328 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1313 0 obj
+1334 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1315 0 obj
+1336 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1316 0 obj
+1337 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5556,10 +5675,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1314 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1316 0 R /CIDSet 1315 0 R >>
+1335 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1337 0 R /CIDSet 1336 0 R >>
endobj
-1317 0 obj
+1338 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5567,28 +5686,28 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
rhah⸁CS-f_&[ QJg`jFo[UTq{ ,r}
endstream
endobj
-787 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1318 0 R ] /ToUnicode 1317 0 R >>
+804 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1339 0 R ] /ToUnicode 1338 0 R >>
endobj
-1318 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1314 0 R /W 1313 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1339 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1335 0 R /W 1334 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1319 0 obj
+1340 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
endobj
-1320 0 obj
+1341 0 obj
[1083.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1361.1 ]
endobj
-1321 0 obj
+1342 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] 47 [ 603 ] ]
endobj
-1323 0 obj
+1344 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-1324 0 obj
+1345 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 900 >>
stream
xڵSoL[U]<t}dmbhAf P(d+}mx{v –@2q5,C~G>D_Yh9sﹹ990AkO4_7 N:
@@ -5603,36 +5722,36 @@ WZVRV
1mb7aKuO[&,ڗ:E["aS4c &8dxgxV6-:'T(Ed|<>a)Z9?'Uؚ
endstream
endobj
-1322 0 obj
-<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1324 0 R /CIDSet 1323 0 R >>
+1343 0 obj
+<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1345 0 R /CIDSet 1344 0 R >>
endobj
-1325 0 obj
+1346 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\DiVychr4НeL
ӳLSñUM(M΁?G6^[U)Lq,h'ɊՁ%> ;Z(9O)/TƫI|qk $wI2
endstream
endobj
-695 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1326 0 R ] /ToUnicode 1325 0 R >>
+703 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1347 0 R ] /ToUnicode 1346 0 R >>
endobj
-1326 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1322 0 R /W 1321 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1347 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1343 0 R /W 1342 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1327 0 obj
+1348 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1138.9 0 585.3 ]
endobj
-1328 0 obj
+1349 0 obj
[ 47 [ 525 ] 50 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 77 [ 525 ] 81 [ 525 ] 98 [ 525 ] 102 [ 525 ] 105 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1330 0 obj
+1351 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`

endstream
endobj
-1331 0 obj
+1352 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1486 >>
stream
xmU{LG%ʉr9ݚj!A⣩Qx==#Z-w CSV5$֤Uk5ZlS5SuV&Mdv3oeǢ1Ǔ
@@ -5651,10 +5770,10 @@ sƭw¸Om-åu^
T;,;T(w ;h 4
endstream
endobj
-1329 0 obj
-<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1331 0 R /CIDSet 1330 0 R >>
+1350 0 obj
+<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1352 0 R /CIDSet 1351 0 R >>
endobj
-1332 0 obj
+1353 0 obj
<< /Filter /FlateDecode /Length 420 >>
stream
x}Ok0@zp-;mڔ`$bhRe4
@@ -5663,22 +5782,22 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
aa>>׸1iCU<o3޶g
endstream
endobj
-626 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1333 0 R ] /ToUnicode 1332 0 R >>
+634 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1354 0 R ] /ToUnicode 1353 0 R >>
endobj
-1333 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1329 0 R /W 1328 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1354 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1350 0 R /W 1349 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1334 0 obj
+1355 0 obj
[ 47 [ 590 ] 81 [ 531 ] 98 [ 419 ] 105 [ 413 ] 116 [ 561 ] ]
endobj
-1336 0 obj
+1357 0 obj
<< /Filter /FlateDecode /Length 19 >>
stream
xc`
endstream
endobj
-1337 0 obj
+1358 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1167 >>
stream
x}TmLe^-+]lqShq ls RPG6Zz#"/\{/0a8`
@@ -5693,10 +5812,10 @@ _eR}&:q5d ub cly}xϱ3L7_kNGWg?v
#h}^
endstream
endobj
-1335 0 obj
-<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1337 0 R /CIDSet 1336 0 R >>
+1356 0 obj
+<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1358 0 R /CIDSet 1357 0 R >>
endobj
-1338 0 obj
+1359 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xڍR]k0}ϯ{6tN鄎ĖkM.&%MKR0Џ{9'<l>V :+IT.P "GVlb .e,Yr,Y^slY^$ցn=o4XT$Ϥ;<yZSar6X
@@ -5705,25 +5824,25 @@ s˭1=Ct8VePgdnWJNñ~
δ3\9N#ƃ< =z5A Ӿ<Fx?)q^ݳZkkL m*U=z}+j
endstream
endobj
-594 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1339 0 R ] /ToUnicode 1338 0 R >>
+602 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1360 0 R ] /ToUnicode 1359 0 R >>
endobj
-1339 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1335 0 R /W 1334 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1360 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1356 0 R /W 1355 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1340 0 obj
+1361 0 obj
[361.7 429.7 0 0 0 644.7 ]
endobj
-1341 0 obj
+1362 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 74 [ 525 525 525 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 494 [ 525 ] ]
endobj
-1343 0 obj
+1364 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``TdXǃaKI
endstream
endobj
-1344 0 obj
+1365 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2421 >>
stream
xڍW Tgf50h}mU]bEe}VI$07Q <APTX6XOϮu;;S=;ə7
@@ -5740,32 +5859,32 @@ W
CH wu[uE,>>X*uŃibR2z@yRsa)d.($Ge1Հf4ca$Sg~lW/BU٫J]|+ ;rZhwgʪ+Q(_YE
endstream
endobj
-1342 0 obj
-<< /Type /FontDescriptor /FontName /SFCWXS+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1344 0 R /CIDSet 1343 0 R >>
+1363 0 obj
+<< /Type /FontDescriptor /FontName /SFCWXS+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1365 0 R /CIDSet 1364 0 R >>
endobj
-1345 0 obj
+1366 0 obj
<< /Filter /FlateDecode /Length 471 >>
stream
xڍMo0
!Rz'M!$HH*nĞd- @+V"xw>=,U'WCG!u,; @+2/wÝ7Yo3\<dy*_UpJWMpڄԹXP+!$ Z=Rj?uh*Dsg*''G3"$&O9ЖꬃD6sѫ`BWAgnDnV9\ox01ε9Z] qЌl {e(񗝢h+c 6I9b+$B*֞V )EJ<'CH9ғMH;!=HSJ=%=̞b &mQR(&im<l>cOگ?IwRVvs^<i^.!
endstream
endobj
-469 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SFCWXS+LMMonoSlant10-Regular /DescendantFonts [ 1346 0 R ] /ToUnicode 1345 0 R >>
+478 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SFCWXS+LMMonoSlant10-Regular /DescendantFonts [ 1367 0 R ] /ToUnicode 1366 0 R >>
endobj
-1346 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SFCWXS+LMMonoSlant10-Regular /FontDescriptor 1342 0 R /W 1341 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1367 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SFCWXS+LMMonoSlant10-Regular /FontDescriptor 1363 0 R /W 1362 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1347 0 obj
+1368 0 obj
[ 28 [ 549 ] 35 [ 494 ] 40 [ 329 329 ] 43 [ 494 ] 45 [ 329 ] 47 [ 549 ] 50 [ 494 ] 55 [ 329 ] 59 [ 494 ] 63 [ 549 ] 66 [ 329 ] 70 [ 494 ] 72 [ 274 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 439 439 ] 88 [ 329 ] 96 [ 453 ] 98 [ 439 ] 104 [ 768 357 ] 109 [ 576 ] 112 [ 494 ] 114 [ 713 ] 116 [ 495 ] 118 [ 521 ] 251 [ 494 ] 502 [ 329 ] ]
endobj
-1349 0 obj
+1370 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc``(4ůaU h@/`
endstream
endobj
-1350 0 obj
+1371 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3600 >>
stream
xڵX tW-!`$TA:!C`:$$a3` "o-[%Kd[TmKf[b$ 0d2I:C:t: 3t~bzdC9JJ*}}wPL `0ڴg]¶u]PVҒDqZ~nFm\r!r&8`=;슍fçbG_>AwqcD:v!Ğ
@@ -5781,42 +5900,42 @@ N Nu|U5ÏCM{E7.UgG'igWW_1GK lO ?Mt= =Kl
nn. ^:{:0IrFٜNU[f _-4UWѻLMvꕉlh!*@Ksvt?kbA/3qr] T5)Kc'S“L [-Vawܱ,V63v
endstream
endobj
-1348 0 obj
-<< /Type /FontDescriptor /FontName /HXCEOC+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1350 0 R /CIDSet 1349 0 R >>
+1369 0 obj
+<< /Type /FontDescriptor /FontName /HXCEOC+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1371 0 R /CIDSet 1370 0 R >>
endobj
-1351 0 obj
+1372 0 obj
<< /Filter /FlateDecode /Length 512 >>
stream
x}M@ރs`l%K3NltHC
נ%hZsSP[`hBP @6K q C["P^`@Y
endstream
endobj
-434 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HXCEOC+LMRoman8-Italic /DescendantFonts [ 1352 0 R ] /ToUnicode 1351 0 R >>
+438 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HXCEOC+LMRoman8-Italic /DescendantFonts [ 1373 0 R ] /ToUnicode 1372 0 R >>
endobj
-1352 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HXCEOC+LMRoman8-Italic /FontDescriptor 1348 0 R /W 1347 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1373 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HXCEOC+LMRoman8-Italic /FontDescriptor 1369 0 R /W 1368 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1353 0 obj
+1374 0 obj
[734 ]
endobj
-1354 0 obj
+1375 0 obj
[1123 ]
endobj
-1355 0 obj
+1376 0 obj
[777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 388.9 388.9 ]
endobj
-1356 0 obj
+1377 0 obj
[ 28 [ 525 ] 43 [ 489 ] 50 [ 511 ] 64 [ 367 ] 66 [ 256 ] 75 [ 867 ] 77 [ 561 ] 82 [ 550 ] 96 [ 372 ] 105 [ 404 550 550 ] 116 [ 500 ] ]
endobj
-1358 0 obj
+1379 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`X P

endstream
endobj
-1359 0 obj
+1380 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1716 >>
stream
xڍU pEUM,@+v70 X6e -ǀqL!`VK>eKeZ?K1`[4@
@@ -5828,10 +5947,10 @@ NIcO>ܷuecM·:tZ"K 4Hp'L4)v(*(8G:z<9
3##g< AjSS
endstream
endobj
-1357 0 obj
-<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1359 0 R /CIDSet 1358 0 R >>
+1378 0 obj
+<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1380 0 R /CIDSet 1379 0 R >>
endobj
-1360 0 obj
+1381 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M&+#u(Qj{ ֈ;.UUw̅^:nZN?k^>eۄG %k8 ImאrZ.MkY<xUZ!!l|^ 
@@ -5839,83 +5958,90 @@ x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M
և! PTa$M%Vzl9'g/SfK co,]#gI)]e<hmsrftŒ\DWDgD7g3#eN~t,zkݎK[TAc_w2
endstream
endobj
-399 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1361 0 R ] /ToUnicode 1360 0 R >>
+403 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1382 0 R ] /ToUnicode 1381 0 R >>
endobj
-1361 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1357 0 R /W 1356 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1382 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1378 0 R /W 1377 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1362 0 obj
-[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 ] 59 [ 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 125 [ 625 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 446 [ 875 ] 502 [ 313 ] ]
+1383 0 obj
+[ 27 [ 850 547 875 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 ] 59 [ 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 125 [ 625 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 446 [ 875 ] 502 [ 313 ] ]
endobj
-1364 0 obj
+1385 0 obj
<< /Filter /FlateDecode /Length 40 >>
stream
-xc``6.z߿o~€
-X@4c8
+xc``6.z߿o~€
+X@4c8
endstream
endobj
-1365 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7313 >>
-stream
-xzw\T׺afa{ރޢbW v@z6t3kfHb1Xr5=D9o xNr{=\D.z<k!)Hdyӂ- ƭ\.8-h;>Y"(d )aHz 0/bcݵ7l"BQ"ԟ|5- %? S \l3{Q"ʎb)d;'O0xwtOɓo:CDr]aJ U#U_ [2KE 6fro228_Izxyz(#<<C>%+•+}wyy*'LP*<=>gN=18{y&lR@Ca,Mp\z.^xbxT+8T6-o <=yxGS䃥SCapj$5K&R);Ի4j:5EͥQ"ʑZB-S+*j5DQzjrP[+FS'CR~?@Rn*
-¨pJEERQT4CSX^Ye2K謩X[]F9VCcWHJJ5ia}{>}e}cc7Q6F'{ܟ^ؾbIBRܱ{YAA44-g ^;!wTf*u!UdfaG<2qE&; դGX*5i3ef6Uwճu707#>CS<Y<<f~FZ_t@o8&4:aѶDjEU2VPY .bg'}[St]C}ԊB.߸U׎ywNl5as^\ƵIP57Aońi[܍'~
-6?#lhB+ LC&<C8=mQ<+}1y]k++H7I<్N lKgx!?y˗u=:#EB.Vhu\W*6>612MN~'ɉbK
-X^)8Yj7-$,@y $fjз ]?΀]si.3(y* U>i60 EZaiGT4^ @x:Up°i_if
-G`/cHihA(SIx$: 6X >$ӋQRVNRw/b㏟vyM:j4Z>33!.q;S[u>s6`Xi<I0
-44}R$A. Qx
-
-O`[.f) kł ؙU/j;ʈ,:]ÞδVhWn. ,@~}T}?x>=vo6Cٖc3alsbuFQI'CyOfhpOr9ALȏr(%A$S,48\m#g#H!Ĥ4j3Ҹ!T[Y<B YNKچ;[f7dG`[|1/I0H%c#U&iSj3*l2Q{.\k%Jku}/ZZ4o솺5=8,帉sg)7PGKqdapJ_˸.ŬY G;'8fQ0Fֵ8Œ"w|R+aw1E'&Ư]i}4{yTx 3Rf,k59\\RrT>V9GPcG-P' 嶉+@6[<dWrk*@*eVޏѱ|ce&99S۷$:oLVbxBG=z]AWRdj}&^^+K>JTj^~2yEo4ɕaa
-.y\J&OWZX̅<K< ܙh 2 YzifzfF*ڷÞcۑTNGMEO@׿9ng-×>E<H$n$leO]ogv4Ӛ %fHĻ.TᲥ߽"3Bz
-yW'ؚ3=Gls1y~D}h %K;dg^%]wwݺ\GuKJo~Qmtp?pXG
-o3
-vK}>C;䷠pBHRj)3PMP]O {SHohڋ7<nG:d)`aB&H2 %x؃₢,KH$bC>wfdeh4<^GWZ}{LW](.+*-~x|~n
-i<1)`^V4ͼLYGQ=Sc \*I%Y#’_P8GwgI-q!YLruu zڨVoҪdJqjA*W%YK*jC28Mt6 '
-a$.!3BJcP-f^GWt8}]X~1KWp|_?g^s0ٶ|` \Lq,C0|i&.^J<9;LTU515!~1;qyAM
-
-9<bqiѽ?oAtf]b'.ԯcdՇ;Qrpꬁ
-ġ89
-{coPbM)9P8}#u|eǞ[|bxpwfyEF12hȂ PV
-I
-gp]{wS0/x` MÓ8)%f,L$ #'4l;HF8rǬK.?mc֬#j[B/0W0PC;<b
-W
-GEVy!rxHxtuxɓoᷫ8i+*dDqڤdu*t,6o
--5m+7OQVI]Wll.`d
-WEHV2yDGjiN_J@jz/?i! DA5+a !
-oΆ5'ߣ*YtyGoMӠ8.#315=SZ |z1-=|4ԍ;\V= iu1o{գ=ܾJӨ=o ^B&RΖN{1z5)H$~%d(/XX&!!!6IꄥS0KP^mIqn.W\ZP֟`,, !4=($|LDw(}#Wwqu'OsmG.нgFlnƻ.i®O9d)¥ρ/@cN1"t^oDw34k'Ӓ_3HH}$'k \%@، ݥax4+=i3ܚ_(NmAWk88
-!:vjHD=#ԪHIaXqU$Z[j=+[6]V绠kK<7;}l
-صŰ}9Bxk_m#Ș@&:'$4}NKi)y\kmvm6#w-((*<8
-i ],_Чh E6pI a!|W]N~͸Fb 7v,ks><_ T_ Og3})cR8,ƃ`qqnMq=jhU`1 ŗA5 ũ<&&R a^.Q}rƾ;grɒ KH5Mfkk7M2|Inv6GNvi$dB"Kc蹥6Z0ɒdtދC͑&gr,Coz~^20?!#dS(+„j z$|i22aN;Y<Z<H,{"<~|օՋX<ax`8
-6vsV)P\;swwk}Ei^y49ŲM\S,`3@`mF(j/flES>SP$ᖯd5Qz`uywllNes ,~…{hK
+1386 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7547 >>
+stream
+xzy|6PJ%3)K7EDARJI&'It_hK)- -)mDvYTVE\r}ޓ{|vI3{ND=%\6/XiŠk"¼ç4͈P_۝łBpC0 CG=ed0HpA䵟 rA8vsM(BԷ@rɗ&O:}AĮĨKS<:Kd2!!A
+p_ŲɊoEēA
+@PEb"6/*Z+zdźhE|DT UĆE)bׯ]Q4IS=eJLl䈨)dLоASlMXֺI+.XEcbQ
+_[H/F FP#Q;5OM&SSiK j&5CNAͣSoR )j1ZF-VP+(Oj5ZKS(/j3A))oʇ@*
+BP*vQTMPqT<@%RIT*E2y/vek<{*z&g]}xx I+=ΔΔ\5z,
+vò}2|?_|bmH=T=^bHn'qM $fXKV2D ͋ElR{5Mבұ~47^
+\\N*DƵ>F!GS%:۴Inrn;s\8\/@
+jC(sm-vșݚ\w6&3Z1YN_ށ4ʧo[v?RzoI3C6N| 8G*+lJBɹ `X`唅qSwFˬFk9GJxr5y 1G"p%=ӡ7ϝ
+_Ui Ǽ;Sk;;ޒyTuۏV/{
+>Cӭ)]ʶ/]Ifg0GJ{1AUa|caۙW@#m?qOzf+<vS
+^ux<.9<`䧺}lElLsx[K1w/eiG w8wuA)82
+D`x8ܚI+sEȗ-qZ}}cGl;Zm ݚ.?YC͌:y`d]xP#dZ]N93quVNyi xa?&S
+ S؊ݶǰ, |.dYyNJ(?2KJPqi%) hEWGGҢNBW5(u-}(.8 LHS(IV[昷LcKFTL`x.rƽIyH& fťľ .Qf:DKxmΥgƯ{.Rb ޽JKMS ɕxx :]w:$Ȫu)HMe^h-x84p+<${z-|ވC8݀ ܼkL<ƑpӀQlYta18 $(=YUp YLaEx&i5-%>Xw. cEXi<)0it Y$IF# %Qx(8<ؓ<3fI`%a:1p+-pI4xɃA>LޛI ٦A!)v˄/\,t.v6vGGx#F=WZ
+Nes"mah-5d[ז&˿:;cOSaL8Ce8C?;Rg&:*|e߆RX!+^ww3OSڰ]MnrX)cO}phL擨\a-q|iDI~}'/{esD-ԭOl{MlJF{ɝz>BI⮯@j'~ ,0{~桤 7>HxOt*S^)R3;[֛+8Š0h awD+MN3;d(9G3T&T2vԞѱK TPJᘋmVel)y
+'N@%z]I1WQfn}&
+N^`kF M. yl/̧QUb%,"i? MOr| # mңqy5Oͧw)%XQ=J8qX̭{}Qh%OJH +9{utʘ5r K`̾/W7Gq{,G/Q;.Wʋu\%;Վpoړ_*x61cʉʃc=d+,Tc׀U \wzLlu
+5n]]ք+P
+ ZȆࠨ®'vjdVXj-6wu15RNͧr
+<B]GqIY
+KȵHC`fٞ\˰XPҌNb5]y(9]UVY^_TWf^Q&)rFOt{.PwT wRב`d
+⭡V ^co(|@:<g -qsiʟc\ǽa6]"YAt\qVA%e,"K^j&1^&-njC C4˅:{~
+ӫ’Zu6%.t=e;N0DY)zeˑ}Ch}ȷۻo]}r9;a-qI6<^} ;˫by]n'ŢEBE41sQZo4Mzoic==#hqiV[h!T-g^Ct{9}n] WX~g1[U1[UY2p^kow\p8m 3c `wed̍cyhyV.^
+<54*k.kw5D'Xt'2{P!1;
+XM\P:\vي[Ccmϰw*7V#w"VnS8
+2`GbI0 f<9X"haWkwET-rҘ<˩ IN٬A!؎e|O=&6NĿTvtP?dz}E@.T 0ⱛR4O0,֑+&av"SH>FM
+^!;Ny"RYG6Eea/PC<zr=Q!':^8]㤸g#;g>`PކW\YN//S (L/&DW\ax{-(Ce[^+<`1A@f}9*ED/ xf*bNjs2T`ԣ}%r[Q0Ɏ 19bs:71sI(0;a 30,12#LIӪ3O66]&s0]0sL'e<Jy,[O-0OQ8w_kG$C>,=#"w||Fk<FmYdJ9)C;yMͻ Ze9+a/Cޟ0Su)y#_#'; ;ClpQgZ0|`3wzOe!{ ܘOɪ3 i ڬ4-)'4.]uQ&}*LR`ͦkʟWr=bS uR)pG[U|K]"_|:8#󮶞a[ɲuxH`a'Oz)]]?Qoc-yx04י0XS \:+)QcJjl4U`/6s塝p ■|E_<>Zt[u\ik:dhEE)Yy NY\x|c-1oH;7y[5Gxɕqa1\8cOB=*t:c WZj,olnn>%xmy o":|/ 〗4p>
+חH*=)EQz.MWWl HrY9yҪ
+yn #"5~6^f硬\yR!͝=e;rTRÁ-XE~,هcy{Oy[_?!T< ރ C!;/.3%]9xbw;98(>ƮX<~ ֔к|Su죶y nXqg M<II;UY #Nu_=xWt_\ 3?)16XyhG!ć=^>\gÇwiƄ=~c^ߚ;/4Ǹw4K칁X9l 3RY\*اNF,Lz{q.*фL@~lXihu8hVU%C𳸼0~uU0*.k4ȇ}EOiBH4;fņFH^ { F}N[UM+?bA}47NʾDZXk|2<t|1L= wF# ث}2~
+ Yl7oX-NX[_[C𣸦H_xujӵO42OZ/'o4nn:?c'+F{mGs iRCvIt<WiYLFlA0 I=/ehw1j*qzCa j4<W>`mGP6}:ƅB\Iydj؛ٽ5 ޫ;]6R{q+GL" ">+m.C7T`w٘>a;j/T΃dlϴX=XdK.E4 JPqyS7HA䩭#B𣆟>n, [i>a*^C`q*+k&ы-HWP`VM$sHr6 VQ )=ՠ*:yy<1p-,ܳ7VӰgt*5<G5t{\"6W
+ռ^RvXn }7vs$x+
+ϳN J9sZm3HKbw0JZ\L0m>q=+0`D'0IϨGL͐zN8a32 f ^L;S%"H$jtYY-o;jɒI}HT&Tkdc"Y' 5uVe2NI wG!u|TcrWNkEl빔 ~Km wuopwMua;W$TV
+ INn^yu%&/WkK:ΐ
+X#OxI$Z1hܒo|.r IVNN_yE"̕fqFIA@ϷyT?ÉNk$#}r+=cwxZyh|7čU+[/d˿
endstream
endobj
-1363 0 obj
-<< /Type /FontDescriptor /FontName /CSWAZA+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1365 0 R /CIDSet 1364 0 R >>
+1384 0 obj
+<< /Type /FontDescriptor /FontName /ZCFLPY+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1386 0 R /CIDSet 1385 0 R >>
endobj
-1366 0 obj
-<< /Filter /FlateDecode /Length 676 >>
+1387 0 obj
+<< /Filter /FlateDecode /Length 682 >>
stream
-x}[k0+e[RSBA`{! ˾5$t ,a -26.ta1a4eDww<_Fu5=k[.ymY!v|VϷ?EeS>8gvUtKc.nX(ô]Ug$q,'.>6*[>䈧LWeO~'g?t9&6ڸ`׷!ڴtFR29%tʴ9ΛɰZh_n;p=49Ė6]/M&8)42VOp
-ݯU'͖8?Зa8M 4 9_yiSl;kSuk*,ʰڥMS;,_U4.
+x}[k0+e[Ҧ@n@/!)5$t&),a -2tm4qs[xk`Q瓱1k{f.gbe%ly<ksͺ43~>ϋuSv>8g>r\ݍPiό?%I>XZ=On]4$}lxUnI$#2]=QYI洲:p]^hjV*tsWÒh2a]ad_|]/:qi Ks-kmfWvg&; k'8*?3W(Ir> 4$R(M2d$H)d tDKrP( H"hɾOB0(s];U<CNZF B''$ȡ,K9I":2"JU$Tg.3/@)3
+xjE$p[])uT Պ
+L2Ee.LAKWВ5% k*"hɨ
+d
+Lt"DZ$""/
endstream
endobj
-398 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CSWAZA+LMRoman12-Bold /DescendantFonts [ 1367 0 R ] /ToUnicode 1366 0 R >>
+402 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZCFLPY+LMRoman12-Bold /DescendantFonts [ 1388 0 R ] /ToUnicode 1387 0 R >>
endobj
-1367 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CSWAZA+LMRoman12-Bold /FontDescriptor 1363 0 R /W 1362 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1388 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZCFLPY+LMRoman12-Bold /FontDescriptor 1384 0 R /W 1383 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1368 0 obj
+1389 0 obj
[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 ] ]
endobj
-1370 0 obj
+1391 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``&

endstream
endobj
-1371 0 obj
+1392 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6684 >>
stream
xڍz \ĐITc1wuV[m"]p)Rwְ@a_nl{EUgݢM۾c/oB~ ޙw=lڙ<<rٛd1~JۭUv*t$c0R#Ot_rt݁o>K5_0 x1y(ǩ/.p| #x $1+ׯ7e"*^sqy}smt_@"V*J̑z̑z*bWr,/"HzɶHcT2JTD^#
@@ -5938,10 +6064,10 @@ svO֛-5rRtnS8(U[ftF\cs
Ut\PYKJwvB1H( H+WqAR2H5~-۟yei xg4n@K*:8:hq_Z}cGyNoL:;q
endstream
endobj
-1369 0 obj
-<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1371 0 R /CIDSet 1370 0 R >>
+1390 0 obj
+<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1392 0 R /CIDSet 1391 0 R >>
endobj
-1372 0 obj
+1393 0 obj
<< /Filter /FlateDecode /Length 673 >>
stream
x}Kk0E!]q,YjK@A٦1$EH:'-ZU)W?^m,of6?mjQ秣gk [\V{b0_-VU_ͫ*?
@@ -5951,22 +6077,22 @@ x}Kk0E!]q,YjK@A٦1$EH:'-ZU)W?^m,of6
I(($*#1]vNUЩZZBKj BePm2 <<Sˠit7$tB4)i-nECmjj<S|[< yJjIeHh$#A#eH0]?q@N0%TOƏͮ0>Ä򳩬DŽmW0/#<,ޣ
endstream
endobj
-389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1373 0 R ] /ToUnicode 1372 0 R >>
+393 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1394 0 R ] /ToUnicode 1393 0 R >>
endobj
-1373 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1369 0 R /W 1368 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1394 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1390 0 R /W 1389 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1374 0 obj
+1395 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 47 [ 549 ] 50 [ 472 ] 63 [ 549 354 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 88 [ 295 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 109 [ 549 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 118 [ 490 ] ]
endobj
-1376 0 obj
+1397 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T`\4ţa*
endstream
endobj
-1377 0 obj
+1398 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1825 >>
stream
xmU}TWC23,--% ~`AFH &"H5`˩,JY+ǮG .Zp`Y{T{a nOߙy3{w$" fY|u.!huD3,Fg+Nf%%'ů$M2Z|ӏt9! &Ltmo
@@ -5978,10 +6104,10 @@ C(ŢhJ@kmDP*2(ّKDY|=K׉D yx^^$Zɇ=f0C
`=d(#p
endstream
endobj
-1375 0 obj
-<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1377 0 R /CIDSet 1376 0 R >>
+1396 0 obj
+<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1398 0 R /CIDSet 1397 0 R >>
endobj
-1378 0 obj
+1399 0 obj
<< /Filter /FlateDecode /Length 466 >>
stream
x}Mo0
@@ -5990,22 +6116,22 @@ x}Mo0
_k;eo{?vqr7
endstream
endobj
-388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1379 0 R ] /ToUnicode 1378 0 R >>
+392 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1400 0 R ] /ToUnicode 1399 0 R >>
endobj
-1379 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1375 0 R /W 1374 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1400 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1396 0 R /W 1395 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1380 0 obj
+1401 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 63 [ 590 354 383 295 ] 68 [ 325 ] 70 [ 561 664 295 ] 75 [ 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 ] 90 [ 826 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 649 472 531 620 885 ] 125 [ 590 590 ] 168 [ 531 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 428 [ 531 ] 446 [ 826 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
endobj
-1382 0 obj
+1403 0 obj
<< /Filter /FlateDecode /Length 54 >>
stream
xc``0/z޿
endstream
endobj
-1383 0 obj
+1404 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7732 >>
stream
xڽz xUvuBwEh*갃 Kd
@@ -6044,10 +6170,10 @@ S&p*|o5:|;G|#apXN:6csJUFBe2`hEASE٨Μ}+Lmyf
<Qv* U%<@t _t2_T'̭?(H]A7qbǟ C<EQ3 ԊKAYTP+__<d=41t9g&}^>`ȳ~k)"
endstream
endobj
-1381 0 obj
-<< /Type /FontDescriptor /FontName /OPWHQU+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1383 0 R /CIDSet 1382 0 R >>
+1402 0 obj
+<< /Type /FontDescriptor /FontName /OPWHQU+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1404 0 R /CIDSet 1403 0 R >>
endobj
-1384 0 obj
+1405 0 obj
<< /Filter /FlateDecode /Length 712 >>
stream
x}[o0+ڇ;RDl^^İ_gjHEh}a|٫C_pXvղ{m'k]vҷZzZL3vZ4\B\v/?>~y|m _+So͸dv}|<0q9 p&MN7{ޝ@DnW{k;>ޯ̦ S6a^M0yk7fˮ?hcևi`6c֣r]Uf<~۱,, jk=telu0&3 8ڀӿJ_eMy"f$(be؋A"%@KOvSs 9P,P]z| H;Dҹ{U
@@ -6056,23 +6182,23 @@ DH *$ Rv"eD MLAP I"NY$g1P (DPRxfxNE~m
tKpBKDТkxie :ܕjʹwJ+e}N>Zpx{ BkϙDA<I_Xd»*^9qEY"~gGn_u{;MΝ~~f=o5д?
endstream
endobj
-387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OPWHQU+LMRoman8-Regular /DescendantFonts [ 1385 0 R ] /ToUnicode 1384 0 R >>
+391 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OPWHQU+LMRoman8-Regular /DescendantFonts [ 1406 0 R ] /ToUnicode 1405 0 R >>
endobj
-1385 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OPWHQU+LMRoman8-Regular /FontDescriptor 1381 0 R /W 1380 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1406 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OPWHQU+LMRoman8-Regular /FontDescriptor 1402 0 R /W 1401 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1386 0 obj
+1407 0 obj
[ 187 [ 611 ] ]
endobj
-1388 0 obj
+1409 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`

endstream
endobj
-1389 0 obj
+1410 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 620 >>
stream
xuR]O`n$8*86DF-&z'
@@ -6081,33 +6207,33 @@ xuR]O`n$8*86DF-&z'
Ezsw`#[mrϪ'[Hmr~3S)~ȻxY-toX} vN^%-5{KZ?,sT[-Z𕢶{6:D u
endstream
endobj
-1387 0 obj
-<< /Type /FontDescriptor /FontName /TMHZDF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1389 0 R /CIDSet 1388 0 R >>
+1408 0 obj
+<< /Type /FontDescriptor /FontName /TMHZDF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1410 0 R /CIDSet 1409 0 R >>
endobj
-1390 0 obj
+1411 0 obj
<< /Filter /FlateDecode /Length 362 >>
stream
x}_k0)
`"ڮLXQ{4Kbmaoι7<|d '譶yC&]BQm$PtS̘SAmZbb{޷Y;`Uu2`TR, A`^[ڞ%3*,8 #`s垴6Qo5֩($cμժw3CEiیƓuMS偀$ 0,h.|{^מc D`*MNQD⍹уT 1П\9˥Es2ܺhùvJzCp\%F6 .!
endstream
endobj
-386 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TMHZDF+LMRoman6-Regular /DescendantFonts [ 1391 0 R ] /ToUnicode 1390 0 R >>
+390 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TMHZDF+LMRoman6-Regular /DescendantFonts [ 1412 0 R ] /ToUnicode 1411 0 R >>
endobj
-1391 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TMHZDF+LMRoman6-Regular /FontDescriptor 1387 0 R /W 1386 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1412 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TMHZDF+LMRoman6-Regular /FontDescriptor 1408 0 R /W 1407 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1392 0 obj
+1413 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 869 607 869 607 703 511 575 671 ] 125 [ 639 ] 251 [ 527 ] 283 [ 1150 ] 446 [ 894 ] 502 [ 319 ] ]
endobj
-1394 0 obj
+1415 0 obj
<< /Filter /FlateDecode /Length 34 >>
stream
xc``0/y߿€
0A)
endstream
endobj
-1395 0 obj
+1416 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7229 >>
stream
xڵzw\W0;hq-;8`/(bA5vQQ@AA
@@ -6154,31 +6280,31 @@ rxCʼ[/\oOOnyXo@ۚ#b'qnj(U><Յ|ZUP(痭=_
yY?r
endstream
endobj
-1393 0 obj
-<< /Type /FontDescriptor /FontName /CWYYJT+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1395 0 R /CIDSet 1394 0 R >>
+1414 0 obj
+<< /Type /FontDescriptor /FontName /CWYYJT+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1416 0 R /CIDSet 1415 0 R >>
endobj
-1396 0 obj
+1417 0 obj
<< /Filter /FlateDecode /Length 672 >>
stream
x}[o1WHvW(y+w<k Ucƞ3ǓI*jk쉳OV0uSGެ*NGc7cїh>X=L-G%~K{KuqcO?._s1v7?MӖ}a}0zZ}om'}Q+nH$zQ2]QYIv渴*Yۮ9ŏQѦ)qOX`ƣшis;o6GvѲ;wvb} K'[Tڴ0M4t.(2V8]W^BşM/J&"dhH!FSwJY2A d1BuI3H"S2I @:t2@@9G3H'tct :s8C$"eTU9~J"P]@g
endstream
endobj
-385 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CWYYJT+LMRoman10-Bold /DescendantFonts [ 1397 0 R ] /ToUnicode 1396 0 R >>
+389 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CWYYJT+LMRoman10-Bold /DescendantFonts [ 1418 0 R ] /ToUnicode 1417 0 R >>
endobj
-1397 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CWYYJT+LMRoman10-Bold /FontDescriptor 1393 0 R /W 1392 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1418 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CWYYJT+LMRoman10-Bold /FontDescriptor 1414 0 R /W 1413 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1398 0 obj
+1419 0 obj
[ 28 [ 613 ] 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 59 [ 641 ] 72 [ 513 ] 77 [ 613 ] 82 [ 553 ] 84 [ 558 ] 98 [ 458 ] 104 [ 786 ] 112 [ 613 ] ]
endobj
-1400 0 obj
+1421 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```T`h`Phh
endstream
endobj
-1401 0 obj
+1422 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1852 >>
stream
x}UP]43Y ?1D@b
@@ -6191,10 +6317,10 @@ Cأ-ܙo  fn @b B> ߇6'Q0N-ͺ*jq
C?Uks> n=Sߗ]{Uduk4ZAa 0ǰ nwpWB>_`:׍k78L <A¯‘:t@9[v?ӍN4?tn@g@Q[Lh$<xL{״0Q/o^L=S+= #L<B 묯j-nOb)׉x|? CT3: ~;EՕ.%+XʧZ> pJv3^ !N^[;.Di>Ȝ^ԏ+>n7PeЙ^/n
endstream
endobj
-1399 0 obj
-<< /Type /FontDescriptor /FontName /EYRPLG+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1401 0 R /CIDSet 1400 0 R >>
+1420 0 obj
+<< /Type /FontDescriptor /FontName /EYRPLG+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1422 0 R /CIDSet 1421 0 R >>
endobj
-1402 0 obj
+1423 0 obj
<< /Filter /FlateDecode /Length 430 >>
stream
xڍM0C {Z,ub؏i
@@ -6203,22 +6329,22 @@ b!&ޅRB 6~<|v}Qa|[6D9F'Z#ôVVWZ\ߢ
RF)O_J [.!vUkVU {:~h
endstream
endobj
-384 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EYRPLG+LMRomanCaps10-Regular /DescendantFonts [ 1403 0 R ] /ToUnicode 1402 0 R >>
+388 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EYRPLG+LMRomanCaps10-Regular /DescendantFonts [ 1424 0 R ] /ToUnicode 1423 0 R >>
endobj
-1403 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EYRPLG+LMRomanCaps10-Regular /FontDescriptor 1399 0 R /W 1398 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1424 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EYRPLG+LMRomanCaps10-Regular /FontDescriptor 1420 0 R /W 1419 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1404 0 obj
+1425 0 obj
[ 28 [ 500 ] 35 [ 556 ] 43 [ 444 ] 45 [ 278 ] 47 [ 556 ] 50 [ 444 ] 52 [ 778 ] 55 [ 306 ] 59 [ 500 ] 63 [ 556 333 ] 66 [ 278 ] 71 [ 625 278 ] 75 [ 833 750 556 ] 81 [ 500 ] 84 [ 556 ] 88 [ 278 ] 91 [ 528 ] 96 [ 392 ] 98 [ 394 ] 104 [ 722 389 ] 109 [ 556 ] 112 [ 528 ] 115 [ 750 528 ] 125 [ 556 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 502 [ 278 ] ]
endobj
-1406 0 obj
+1427 0 obj
<< /Filter /FlateDecode /Length 35 >>
stream
xc``\8c‚#3XP2`
endstream
endobj
-1407 0 obj
+1428 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3950 >>
stream
xX TSW>NT9M[vQ[Z:Q(jWx(
@@ -6241,31 +6367,31 @@ Qm!5;~DM1S=RH$K#aF@ l~ P4dFf,u@{gȮY
ijYZA+|}l7MҮ%A٠n>u5f˛AANb֠5
endstream
endobj
-1405 0 obj
-<< /Type /FontDescriptor /FontName /ZSUCQN+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1407 0 R /CIDSet 1406 0 R >>
+1426 0 obj
+<< /Type /FontDescriptor /FontName /ZSUCQN+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1428 0 R /CIDSet 1427 0 R >>
endobj
-1408 0 obj
+1429 0 obj
<< /Filter /FlateDecode /Length 531 >>
stream
xڍKo@Y8I,%KH I1B-ǂߙ9c"UUT$1a=wEs$7lO}3v%k:ٺ)ǚ#$h޻i`tjS[Y^FASֿ^\ɏ}+~۹__M]R\kpQ5T4?F>1s~H6wV7[L*):+(3Q%Y<]_<5jYuJS*3BZN0A'unWڐPj~G {_6(+䙜2'lW9'J*n䥪瑗hz!?e5(F,ٞ1vy0r|K,ٞTG@sz6=cAY _"(K%PrMNKl^/1{lXl ysl yKHϽO<i$zoY]\uz*I;62osMoE
endstream
endobj
-383 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZSUCQN+LMRomanSlant10-Regular /DescendantFonts [ 1409 0 R ] /ToUnicode 1408 0 R >>
+387 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZSUCQN+LMRomanSlant10-Regular /DescendantFonts [ 1430 0 R ] /ToUnicode 1429 0 R >>
endobj
-1409 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZSUCQN+LMRomanSlant10-Regular /FontDescriptor 1405 0 R /W 1404 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1430 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZSUCQN+LMRomanSlant10-Regular /FontDescriptor 1426 0 R /W 1425 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1410 0 obj
+1431 0 obj
[ 28 [ 569 ] 45 [ 323 ] 47 [ 631 ] 50 [ 508 569 ] 55 [ 354 569 569 ] 59 [ 569 ] 66 [ 323 ] 75 [ 939 ] 78 [ 569 ] 81 [ 569 569 ] 98 [ 453 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-1412 0 obj
+1433 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc````5 c
endstream
endobj
-1413 0 obj
+1434 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2882 >>
stream
x}V TGa`zTDm5ݦ=DkQcQ a8fd@e9f@DD9JtM< M\]1զ|/{ަ_uwU}UٙH${ǚ뵱
@@ -6280,10 +6406,10 @@ x}V TGa`zTDm5ݦ=DkQcQ a8fd@e9f@DD9JtM< M\
'ѸXfݯ6f,r,G4r ݅,ȦI.x"^[ǤӰ(>f!BS˼x3< #'"vЈzxAیf
endstream
endobj
-1411 0 obj
-<< /Type /FontDescriptor /FontName /PTDKAL+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1413 0 R /CIDSet 1412 0 R >>
+1432 0 obj
+<< /Type /FontDescriptor /FontName /PTDKAL+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1434 0 R /CIDSet 1433 0 R >>
endobj
-1414 0 obj
+1435 0 obj
<< /Filter /FlateDecode /Length 455 >>
stream
x}n0y
@@ -6291,79 +6417,79 @@ wDiBhRPm%bGNqT].R_ΙLnp tj nɤTlh@
4AGJHjsԼwyFgh{>"yDz:cVHXb9R"PL\GlDN\lRs'&dk,٠9Hwis.Ur* 
endstream
endobj
-382 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTDKAL+LMRoman7-Regular /DescendantFonts [ 1415 0 R ] /ToUnicode 1414 0 R >>
+386 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTDKAL+LMRoman7-Regular /DescendantFonts [ 1436 0 R ] /ToUnicode 1435 0 R >>
endobj
-1415 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTDKAL+LMRoman7-Regular /FontDescriptor 1411 0 R /W 1410 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1436 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTDKAL+LMRoman7-Regular /FontDescriptor 1432 0 R /W 1431 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1416 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] ]
+1437 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 284 [ 511 ] ]
endobj
-1418 0 obj
-<< /Filter /FlateDecode /Length 34 >>
+1439 0 obj
+<< /Filter /FlateDecode /Length 35 >>
stream
-xc``0/`_/@X
+xc``0/`_/@X8
endstream
endobj
-1419 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6083 >>
-stream
-xY xSe>!PD9rNDDPVY*;elvB4mt˾ϾvoӽPZe"880
-:{zSswIIN~0離߱mwgf-YM}/*Tp&%O" 1.H2ZfBf2CǏPOGs dy\I"F} 0 +d2&1/p3y4!g…K^}^Y7%>)q9$Ζ9;2%Q.gN&LM$gpR3E9{Ӹ9If6CNNOINIaZ2g={9fmd~N2g<''9&
-V.X N]B&gA؇r7ը{mۼ>rǞ\!'%3,GfvF|ڤ̄I|!WyyyyG dYB Md+ َ@v!=^!H$#i9 Dd#BD!EͤA?#G3)f<`m̑7H+}6ZHwNȎIdӏ
-6lCXMXٔo d=]'&>1Ga/cx“']3D]x0<,a~9]Wf~Z5
--I nM>0
-<\`Ds,09W te UEJB-l@?b]v4B5F{kۈ7|rXKlWC ‚HmQf!M:/mFuV-#|%ȓ9AP
-ii9JI~3QJ_ ?\EcuMnQs֓]_Y+N7%'֟ҵu&l*rщ_3OQ+B̂{h.&j\j7gKALb7%֙* װR㞝ljqGF8fS_bKsceW^8N JԔZI(5~tב]ڑiUKV-{sUVTVQV07
-V 0`6Vp8Ao2HIL: MIVo4G+ 4
-e:OEAt٨RQh3GyG!#"m-zQ*héj|xVɍ8
-qY:
-J +RUdK;n7*M7'Īsej E`;gȏ2`,`.\l*)Թj=p^Mii{!3j2
-~#KM&2A%bRO|
-FtFa܅& -߆TY#IVd.PN
-;YVn*vӧ?UZ.\-5uhqU`o&צRsul)-χpW'Q5d94Y`I5 hوpN}0]UyRqcssY28DŽ-נ]Vhd~n|?ב)#ԤI
-SNtVemXoK[
-wU<AyKpT0M
-FY{Nbkg|Vٷ7^u!hwX{ ]*{<(\8\RϖM%FTeX˺2E;2
-L AFeée*O&3bO~/07Yku~
-;vt?ݚg_=w)UsO)<]`)
-St8b=k޺x!G37Y9&i8A~k0?7Kh̥48}jȫDiERő. q Vsd @ZI) <Zs]DG^.X:mPnd5\{[g 7`ɝ/62i"$E
-ɤP1{_%m0Kp wB!0%
-]+J~v+[mz Vnh*5jLN"fOQȾ4B&اұ,Ry ο<@cy8 7Hub5Uow(O(1#۟е|˗ Z☲O Vvp `"03?fPNO~+ 8+(bóFۏV=Q(A$&"CIpA]d
-7]l5F[t j;
-GOk?8}<oѧzCԕWZ9bg֓KP$
-5U|EPcִ߶ }vjjK*m\i fUK
-i !<՜(zv ~@5#٫/(Jƨ'FSCU^q\Cw[(@O$H6m3\ҕN*H}'Po欠bHq}7rUlt'
-)\n) 98lrkK:C->tT]yRQqb4p^o
+1440 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6123 >>
+stream
+xyxg1<fB$tBqބlYUԻ>*[{ kJ K I6޻Od?{>W~,#y{ 8a03eӖ/ܵ/+3tm N{炳A(| b AH<e&vgjn(;tH,,z߇YO'MW9X/ !2|0PSxe,yeS??.\dϫ#7.ܞr9 "w-ܝ%r"e"S2R#R#Fd EHFrߜܔH!/9%'Rod;9I)ܔȅ ##sSR"ŋ´EY9iS.P6EH'LʉLN$p2r̄ Y)ےSx 8,<2Y,F"ːJdYG^G6"[d' ٍE!Q$GD$IAr"AGN/,NX,MDw 11G&AЛIؤ!igN3B=a}SNS5ӤF><Bv;Lf~Qg:gHDMGcbƅ'[+*Pwa7-xN-א r1`zC6Z&V |PH)\60֠\Y\d^`!:-mV$jT
+ w0?3ϳ*B _g(s4`-j-fVU`SpqqI=A-菺~t7y!j;jdE"-yljך1Յ
+_<}. '_~r lJEv30>3ۦtFBE,ܰLW:Wj`[3$5 `SM͝wagp',/"xGD! -:nRN:[,XmDkwK
+xazQ'" 3᭟0˂5J *PNC |zPnҨco@ /^r\ãWH;9a->,mm.;3dAh6"fK5$|>x1񲗒"~}yڽYm̪ ݅n^7 "E
+jcGJ+;pc^I^!6 kXmq NcA6s3 FQIXKL
+3Q :4VKr
+]XpkǝUb2S+c
+EYmmeA <3`}'+o%R~x& p P }RИzѠ%űd<.]#-Y-ד_jT
+DZSm':\hw;pl_;٣<M;ِ>HصeOG4J 85Dͣ[qj˭3=^/)Z);eq"%%"\<|*NJ IrRG?~ﶏ(1tݽ
+>x
+r<u*u*IXrMٯ[KV"<>ή*gr\a9L,'__d–kj.4 /!בi#zԨӊ7S:+k+, wU]ZGx/p
+jfaIg ~^g0f$缻dٴ-b pCG:l~1ԅnCшJ_^M*dBT.x_Fc4ɈDy-1mmUp`0dod$-&9];໴30/̾
+ s!G+ݣJ4p1Vczh~J~8/z
+瓏xɽN v'y
+E[7>
+]7[
+M쟮0Lv
+Tf<-=heSQW@יUyQ"=Vmv} p)~:l`z02Z/N=VyRQ+ 2xRc#-նU<ڧbwֿOM#_Gxãqa8[IWJc:I޳{M?:TFAyXˢq49s |B:-_)Q3Toɾ-vjr4:UXZL}
+O]g9A!s3~4Z"1z055)K[dNה%iah-Q/S6t14epUϦ*'yeer(!RkBP"uw[D
+,l6u!S UN6( љ@+T*- ls3g֟]^PQ"UaYt1 Vavփrj.x{H|tѢ3[*,)#<"'ڲM8g{hʦFeuy*s"rtGwYnZ]
+%ᖤrf\5e@ãMiF~1@8O6⇶/oc^GM;{E6dV7,8%Ek|wێM
+j‡%,'X!Ú|弘hVN,~pM٫+(eC-ѣC*;]tn~LZĭiV#%[YNk!LKverh |>2dcpҺQVS;'`hgM:
+
+_rY gtiuN .)򕤪kHM6*.|d=atSBLR)mf
+01K鰘iK_q?:(gvF9zhuj\xpsKO:
endstream
endobj
-1417 0 obj
-<< /Type /FontDescriptor /FontName /HOLXNQ+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1419 0 R /CIDSet 1418 0 R >>
+1438 0 obj
+<< /Type /FontDescriptor /FontName /XVGCGS+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1440 0 R /CIDSet 1439 0 R >>
endobj
-1420 0 obj
-<< /Filter /FlateDecode /Length 579 >>
+1441 0 obj
+<< /Filter /FlateDecode /Length 583 >>
stream
-x}Oo0=8B(-R ]@^ClHĉpۯ7ijZ<{x; Q<r]}k ._VuqR
-)jں8ȞFoTq 9-zR}J6>w}}yU<nZ.7e o̶-ۮ9Le]3-d\*Ҫdw<ߢQÇ{jε3^ۭɮ-ՅQkJN2!ϺhWMղ㽑̷akBHgC)OH%9N@- gCqz 2
+x}k@W>!u9HXTJ_c2vf3sʺ?{9:zߺ˪K7l#ԗM_ΙLVmyj_duo˭4W;-Uy<UI~[bN~iByX.7vx Uf|~[ȼ{ι SU6hK6}UӪlow<Uu9e2aMXF?ۭ[_ɾV_lzcGٞ(>;I*yЭuFE#+]Νde m%(e_/,t<aKuSP .okSqzR ZBp.&ZYSPeZC
+<"s@-Q#z.D%ly uHHI=K6&
+"x v h
+$/h49BZb v]228eKK<ds| ~Wl.V^_6{2wVLΜ/0< >c
endstream
endobj
-381 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HOLXNQ+LMRoman10-Italic /DescendantFonts [ 1421 0 R ] /ToUnicode 1420 0 R >>
+385 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVGCGS+LMRoman10-Italic /DescendantFonts [ 1442 0 R ] /ToUnicode 1441 0 R >>
endobj
-1421 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HOLXNQ+LMRoman10-Italic /FontDescriptor 1417 0 R /W 1416 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1442 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVGCGS+LMRoman10-Italic /FontDescriptor 1438 0 R /W 1437 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1422 0 obj
+1443 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 120 [ 525 525 ] 245 [ 525 525 ] 252 [ 525 ] 272 [ 525 ] ]
endobj
-1424 0 obj
+1445 0 obj
<< /Filter /FlateDecode /Length 33 >>
stream
xc``_
endstream
endobj
-1425 0 obj
+1446 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8030 >>
stream
xڽz\WאּD *(3Ěcb((,3{cWlAq$kMLbMs} y .s̜<gV@bˎrptJߘ?gWLn*75E${EcY
@@ -6408,10 +6534,10 @@ MU|\hk!y\&bVf QN^)T6+HLYׅǃ"ƒ|v,
Ct?LCDpƦjYMD<7ťr=?;)ZVM41Yl^W1Yq,+VT̨&n&ggHsZZE1t+AX鿘yLV,, <ӗXQڑQK?Y٦U9iiM_/2t
endstream
endobj
-1423 0 obj
-<< /Type /FontDescriptor /FontName /RXYETB+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1425 0 R /CIDSet 1424 0 R >>
+1444 0 obj
+<< /Type /FontDescriptor /FontName /RXYETB+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1446 0 R /CIDSet 1445 0 R >>
endobj
-1426 0 obj
+1447 0 obj
<< /Filter /FlateDecode /Length 738 >>
stream
x}[k@+f/
@@ -6422,22 +6548,22 @@ sAs hvb֓ $sҏO) HҏD? !Oނ'L/Eu%+gH~ςG
F#d0JF@02$IT^H|jYUK_]KL/E%4,CN3oӒS %,aNó6)q^ s0' +8=9- RK&>h%.zCK?ҏ}@-?[$YA˓%sq FY$șNqCqLwOm/xy}/M ox.@V4
endstream
endobj
-380 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RXYETB+LMMono10-Regular /DescendantFonts [ 1427 0 R ] /ToUnicode 1426 0 R >>
+384 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RXYETB+LMMono10-Regular /DescendantFonts [ 1448 0 R ] /ToUnicode 1447 0 R >>
endobj
-1427 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RXYETB+LMMono10-Regular /FontDescriptor 1423 0 R /W 1422 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1448 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RXYETB+LMMono10-Regular /FontDescriptor 1444 0 R /W 1443 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1428 0 obj
+1449 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 57 [ 500 ] 59 [ 500 ] 63 [ 517 333 278 239 ] 68 [ 267 ] 70 [ 489 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 500 ] 84 [ 517 ] 96 [ 342 ] 98 [ 383 ] 101 [ 500 ] 105 [ 361 500 500 ] 109 [ 517 ] 111 [ 667 461 ] 114 [ 683 ] 116 [ 461 ] 118 [ 461 ] 120 [ 435 ] 125 [ 536 536 ] ]
endobj
-1430 0 obj
+1451 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``T |5%aI6
endstream
endobj
-1431 0 obj
+1452 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2827 >>
stream
xuV TW1 h@%&RFgjk
@@ -6455,129 +6581,124 @@ m׫&IcT щqRm4T!MKUR:mZr껎u4CHNNUJӒbU:>A% iҥ5
ʊKJm)
endstream
endobj
-1429 0 obj
-<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1431 0 R /CIDSet 1430 0 R >>
+1450 0 obj
+<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1452 0 R /CIDSet 1451 0 R >>
endobj
-1432 0 obj
+1453 0 obj
<< /Filter /FlateDecode /Length 527 >>
stream
x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5YE <HuoDdm؇ ul+Uuw&yYR*uK}pK?—_?/¯Bt8 r{j[uGDf(senZ=sn,득 F^%Ke;+<b&>˓\ڎN+锍Lũ FZԁ ?hr69xeLޔ6'b#;Jh]>vf{iŎ#.kImS u`jL.+ Hɿv{I&>T.-iYP 4vĠ HRУg*<8sG9?|Oc3(@s%>AP&DL'M1FLhI|h,T' .?mzM,nO ~{6\<kmV]v+Eכԍ=
ޗ=
endstream
endobj
-379 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1433 0 R ] /ToUnicode 1432 0 R >>
+383 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1454 0 R ] /ToUnicode 1453 0 R >>
endobj
-1433 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1429 0 R /W 1428 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1454 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1450 0 R /W 1449 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1434 0 obj
+1455 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 500 500 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 277.8 0 0 0 0 0 444.4 0 0 0 0 0 277.8 0 0 0 0 555.6 500 0 0 0 394.4 ]
endobj
-1435 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 ] 53 [ 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 234 [ 375 ] 250 [ 681 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 446 [ 778 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] ]
+1456 0 obj
+[ 27 [ 750 500 778 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 ] 53 [ 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 234 [ 375 ] 250 [ 681 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 446 [ 778 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] ]
endobj
-1437 0 obj
+1458 0 obj
<< /Filter /FlateDecode /Length 60 >>
stream
-xc``/߿
+xc``/߿
 , ^X
-8 &#
+8 &#
endstream
endobj
-1438 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9131 >>
-stream
-x{t׺hDs!3{ - ; "WlEV*r/&{s$@bBB( 9d~Yo$9!w]h{#1@Ŝ-l@ ǬY\  7
-9'{4pOOh
-sr tZ2iXQU?AN^nNN6:Iý|‚!#: w
-wyx{y:I<œ"|:] 8(iWPӘ1NN^^N!!3Λ'|\@M㬟`uc-psp '%. t +(/"hl
-v`롯r;HEovo8r8X6&h3f#d3>%[XT/0yTrԷF}
- ̇ |TLx
-.>J
-qj:))ٽʻ(X y3{/,%Sf$J&{)nJS
-n&΀]ץtRu.z+i{X'*_
-$FmRhLZD0&&&"c8MP)Yy~3-?j&?^a,ReYpR+ $5Kq
-q<
- CAx4e>]te,L"@L
-}ۃobyK])2(AlE|/" Pa͑_@ubC
-@jI"
-j
-J+{Qw&#|Ǐ#(#O"ۧ<vOonӟ"lk7L^ZZG÷~LOenP4%9jMa2˶):
-+gw56;2 tjFH%Ry9% 0IgAWi
-L,yIU^ `]GM#.8z}:Nz wuc]ÉVGqDp0s5|ـ
-–( {Ck
-x 7g@+
-yƆ0PfZ042E;JWS]Vıj|:+J^\{ g2k.]48aPk\yF`BXWJΠՄ?/;v!J||i!SiU#^}ϏlWt/W>bBukeӍ/
-Ail"y9YU-ۡK<;РRb~븟%U~RZAjK\ٱ/?#7q^'kVI$b J۴v=C/g|Xr`/waI0__hvŭ"ZEEnp&|7I8F[umu=yҴKʘ Oq 2*YJ%7s~_ puWfBBh5@{T\RRJ*1^
-ybTg$g'$R :5X3IB틶6K-ǽXD…Zd1j4b^L,jyK9**>*@sx]W<?#.o l]CE*c:F<*Fye=Cd<ƘOO;a\- ?d"rg<p=g4y_Qa̼Y*l#UkLyͲ <{1caA5LJB҃fB:&EP w7&F30[[ݬ6 V\c'']AϣK/\qMOy P6Ge [NMecN<A~f
-d&F3jDju[Ԩ0\QG5L:da
-|tDue2˕YjJe+j|MEx
-<iBDb6"D$J0^'Π[Cgu- [NrS{8?h|9+r%PİFfyH7rdJIB,sB7/G3pMWHضE 8|5~uhϠ:X/%QQ  *䳐KKKAI>a_J(A]15/㩧ྦྷqFR&'IrANIR3r@WzkخK,ن>pG}!#]?)?h)U
-)1@AMY} j+ez\#m<O!WK^5Rk<^~CD}ۏBՖ5F-|-1?&X'lhW|~"xfǍXgg}Kw `HT53_FoN9C<p;u%U< AkFuX5kWf_X$V%ŋ!7f$Y !\ԀR>W!*۞#8{[RP:gk<}S< ?im2S ZFJ vMu6φ,y3Zp'KBNWH.zj)'PWO ?4i3 tH/a6<V'2k@4N;>fkPM[ZZ-. ٱiԠY3O(/9@j  Ր2g̗|ichǛ%CP!r}$ksuYnYⵆEygʖ{.}B$&6T 1Q*Jq;I#Ek} l]hx1yݨ:ncTw<ZR~6I5F۾2>b{csWbNLA)3aRSuJ/> ݨB.O"+Qa7tr7A =Dl?B%9Qd F_oH5ZF
-EP<<  )ևY--^x@uO
-N/Ja@A1Vp>Fx@.+.zFk%4UMηv ~SpYWL2/][r:l1'{fgdF(R4E5"ת]ꤷr &
-b#n<g<|9ù꒴SHiHC܉M>gĵG!27EJr3{?Β?Ѻ Zv2PS!"\j.v2)۟@yw%S 譨 a~0EPE!q(*bt {` [ Cf5d u r/G=^@eܩ'K-ʉ,I
-ΩݽpEescKA+
- S"pV O:⨸49|ƌ͠
-
-K5 )ȭmUzA l] T[_e*^[iT
-9[K+5?cgTr5C*; fٕ!4"Nl)rMGeh1<¥Se&~[f-&>͒=2if3': `\̎%ߐfualV%2CGF\&P/|cd lN`)MH
-,~w%n~mzrnXwAڌ -^:L>J[Դ\lPsMvsVv<8K]m<=J6m1K؜`2d1Ӎk7FĖ$֮rR1MAkCHa,P73ŒC1~7nI2*!kªeHN N<h" (x}?},H!U*'\mL(eU8jGeBIyyaus&4DnǠnoޛHLpgQ'o%(JW^6hH hI۶+c2Vjd)7b+(tH
-&O5~'|B*|w !wp%V[?|ys̮l".)Y$g^? Gu
-{Ba-ףP)ؿ"{b^  hJ^<d!Y F9w΋4DZ%ճ$C9ּ WdMlp v1Wb,;>q1ӈd`6Z)|rйԙ=E@qn IJbكn#8l}[\ f._>sօ7pKƣ:}'Nw>u?D G!=<@Q[*R
- A}# 9Z+))) 2R әQaL_Xwb'2
-88%1'%]Vfء^<^EE `mD4뵽n|%]PJPj6pKU*RE)5JЌ)bFZQ^W뒒[ $ZNe^r3XVhJdY
+1459 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9343 >>
+stream
+x{XW쬍(13hl{{oK,[" FbI%XsvQk3O>fc KVnXhk]Ǝ[fys!ן
+bX,ciX%V}'-'%- iVBaq Żn'NOlVڜ?:(QNO-FOwv׭ۉݽc;qA칶v H=u> K
+%?+}&ovgZ!o G[>:Œ`YwA4#?uA"R<tktzؔaG/4<|D'FY8jѢƶ5 &3-JC˨(sSUtR"b6pT ~ABMa
+&[eqD'H\T:/Y$Ax2v3,xthW}_n"㹨uĚ0Oq [&]4xl*BO]uI`ʢԚmvC5}8֋ب\\("eӞ]j>P1Cut=D^ȻâOIH͈yNjj3R3l2_3Khtoϥ4ӯ&xD>? aJ\6Y aue}|>!!>yo毘5}^8f0i[h#5gV]={ҙZ6L4]ωvpl?{jh.mш:lɴ LmY3uouy0m9VS"qָ5?pߊ ^b֍cl{ӹ/,\&vH<-z+wQoS@VͶ*L&<'"#`G-`Qx_ld$d h31vzݓ0u z2jXXWQY[x 3B&WKA=W$9p/4P_dlf۞xD~ӦhgPNHTHO?Gr.gJnD1
+ 2uln|#JpPȭB%
+m&
+e-Ǿ2pPPQyI/d^RsHK.du$dx'qT$W1xn}
+ZƠ%l(+ea"Q2d
+HHf66NUh"\;•p3B1o2y\o7<raWIv"P&r3*hi~>8Nt"ڻuSТʊ]jzFz=
+Őݲ[h`+WBJ˃Ãë˫tOOّ
+Fr9'&$40.?/=ht*jH˹u |JVY
+fӨRxjĚ`Qh,`3)GI xv+Q{¹FA=&jI*y3$қwGAsEF(}DWa]JP~~ߴ~hKJ+[?0 ʣBn.lbKcYx3xܙ1CujLk&Jyo|dǖU> q߶Kp1mɜNwxS|0>F
+X[x9 '4
+MoIWg1=A8ba@{(HbP¯Ȍ:C1u %IPćQQ;K{`gMFς+#(#[&=WnS_ lK77T^RRM>7]’1J&)jsb섹o(&
+y=[կ nިMgB-ukeՍ/64AkDrB<-*\ɒ!^'^[Rf>O`RkwI^#H]#Ym~zHn<[-Y%QΓ #xm+1zӺ 9@fɁsvU|o3K9V| &hwSj1\19j, joK& '#7,n'&.K
+wˊ{x1*"Ǵø]nScCc1㍩
+D`dRa3Y-Z[e~'ȫ]O8־W;4C
+1),
+n;3o64с D:вngl@ph'i(?lڠ4yt״]usD4|Qf|Sq^#'xngcpnuYJwP?l_ KLY*w{^TrS+ݞߝK5mEW\Dhf@(Dg˔u4V+$R5jOBFA灌b;B^2;U];riRق/dX]ӣG# ޕ@#">9ɅqspM}m.46-c 5CU|il`no?;d vcKlL=8z: 3Gwɭ:/FYX)& ~q~)l% 'ȥh& 7wBcB30OGGGw0~<eY0č Y
+uG=!_ΰOx`6%S Ό9h\z0 .Q d~C{.l XIYWoCfbPrgr`
+k$eVDI60ȒɉjQBo }9%1 ;Np8ٗkӳyLŰ1??H@`NK7FkTc S0y̐So"d@,WHJkN]X.ӛfy
+
+r^򶡝cxKH<`z> _42h;AƏA%1p&.?d+=we ?wW&C53<a۳eK|'IxHJQ3>1acO178}Z~MG$0w2 ȱkv:ͱtHM SK{'Cn<%E,[")7^0| !fWQA-_=$9)r%,}_< >oj&C ZFJKwL9Ֆ6φ pNeSKN.aP/3"YꋓnOhS:#
+E%P< Kc5-`vofUzy|9s.nVxTp03E^`?1ACR,Nd?~ƃT@ɲ ylz.{OpYPg-0ԫ_n$B{AQ4kpREP|d,
+sd @JTxz.'_
+'_sp.?8'',R-z19Eco#[=nQ+iIVRv,iSYʧ;`e2
+8BD]4jgR4w.JԵ0[Q\p=~0NPE! 2׉p-a3SԊǭ: /$&lY4wqdc7r38ʋUX+ldnY5RCi$(u\]A%+*9Eu=
+(UDh@G\KS9}%}Z,ٛ8U̷ȌT<*.p`k?eA6ETNa`
+˼BΖRr)cUͅ/oX9#D͐vggZPّ!4",Nl,rMEh <¥Q&kf-">ϔ {e1SBG: "Wc}`ve`{V&0GF\멊zP/|cX l5 ^&oFh֬4PQ@&Ϝ)g|n~☦fMkXbcG4"p dPrŴ9duNXQ[6Ȁ:ڞJղL\/~R: Ape.IHL."hYK&]Wȯszq=DCUuǓ6Je:{"KK51
+L~w%So|mj+jn(7aOiGO~S~j[ԔlHcmc +;.fP_g昡l:0k9eniF5#$u>׭vT2ABHa,P73Œ@1rЁn*I2*>kv&1x@!Bxzʑh% (x -?l[tBC9 WT E.1qSɃc)Ⲳ]_#p-DD7"߼78ƢwOtx£(iNlQ*Ï~V/m8W^cdKe҂xoBvIxZ;m(ԕWz")RHw
+F`݀>fK,=|s+ *$Elb(Pμ{%Ώ8.95[9Ev}4NB#Ф8B 9v-N#/#<$h t{Tj p>Z^$\5QxBfA_ @XN绣e In#l6>B;/c#{*eŲ+7l/ܴWp*Fɍg\b欋+n|s7{oGggG'O~gN|kwHBQDJ'$&+,zE™0eekssh='WGW>Jn((fL&W0YG@[<+#ӐC#L{G1A{3"Ka0(
+}߸;?Xв?޲|xt{9%^xc*oܮuh&[߆Zlڱm
+:}` + k 律3ϢhP~6/>]eM!+U?!e Y!,_,̏6٦"h6X:r:.7
+Pr>[>$/;=h
+?eLBB'y_X7NlJ+#+3faK`K`k
+b%9!6ruWH,҃ ð?<c'5r
+a!(b:tjrQX8C]ԨKצtt}U#I
endstream
endobj
-1436 0 obj
-<< /Type /FontDescriptor /FontName /NAKQCK+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1438 0 R /CIDSet 1437 0 R >>
+1457 0 obj
+<< /Type /FontDescriptor /FontName /TINWNG+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1459 0 R /CIDSet 1458 0 R >>
endobj
-1439 0 obj
-<< /Filter /FlateDecode /Length 795 >>
+1460 0 obj
+<< /Filter /FlateDecode /Length 798 >>
stream
-xڅ]o0+J%NbT)DB[?Vi41,$(~i*眼o.i~A|7o]irVxra6M}sM9V<ߓv]7)}qnӯ߳oOovpfͲq3SaٰݾnG!0tmor )T WuSuT+>z큌DU[n]ZiyjX ]zN^]0|*Z~&MZw0LDeWnorkŰO`^p4Ίȳ䲭~,ml6‰gئk<ĪM8;z8]0O' "Ecē@ړ hJK B=MB8<E3ǺT`(S $@
-{Q A&=`wX Hz JBTG U@TMI$HW!A <h<$,MjVjOr$8LCRA!F
-O`H|EC
-PB)xP
-ME {o̤<b<t]I~}NW<RhP'!.shb
-:sߗ2[,{/YhDܳD<[h/\ ) lU_" 
+xڅMo@C@!cWH j{%B-95R<ޏwfr͇Dx7fݬ)N{Sw cJS^Fm}:{u;2ߓf[շ)}q2?{_ׁ?x7n~٪vvf
+;,>n=VM,G탬.fߛ<zC
+ËMU-Պ^{Vxy>vf?77\t?x׶4mUo-"NZ ߛLDi6vob7b'0/h՝?hu>: hJs< Ӯ6"ƹx.c.F׺7
+v#ߏԑ"Qbf0;)H9S@ v@H% VŠ@Q1 NE $'E_ueb=z z Q'Q'(QIT=Q5 c$#]EH#YIH>@H^(2 qEJx &=  !+@uɇ'A<hH}S!3T'u­NPЩItFԂ%:K!kM@(@bS3k<Hy6IpIy1t\Oڹzv{' :q_H!E2P<2̠aJ5GVsH {3C?A)Ƚ5qNA:3חAc\aO%䞹%G|w(Nmk wi; \CsW_w!^^s7 c
endstream
endobj
-377 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /NAKQCK+LMRoman10-Regular /DescendantFonts [ 1440 0 R ] /ToUnicode 1439 0 R >>
+381 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TINWNG+LMRoman10-Regular /DescendantFonts [ 1461 0 R ] /ToUnicode 1460 0 R >>
endobj
-1440 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /NAKQCK+LMRoman10-Regular /FontDescriptor 1436 0 R /W 1435 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1461 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TINWNG+LMRoman10-Regular /FontDescriptor 1457 0 R /W 1456 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1441 0 obj
+1462 0 obj
[446.4 446.4 0 877 0 0 0 0 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-1442 0 obj
+1463 0 obj
[500 0 0 0 0 0 0 0 0 0 0 0 277.8 277.8 0 0 0 0 0 750 758.5 714.7 827.9 0 0 0 0 439.6 0 0 680.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 528.6 429.2 432.8 520.5 465.6 489.6 0 576.2 344.5 411.8 520.6 298.4 878 600.2 0 503.1 0 451.2 0 0 572.5 0 0 571.5 490.3 465 ]
endobj
-1443 0 obj
+1464 0 obj
[955.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533.6 588.2 0 0 0 880.8 ]
endobj
-1444 0 obj
+1465 0 obj
[1027.8 0 0 0 0 0 680.6 680.6 680.6 680.6 ]
endobj
-1445 0 obj
+1466 0 obj
[339.3 0 0 0 585.3 0 0 0 819.4 0 0 0 0 0 0 0 0 783.7 0 0 0 0 0 0 0 674.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542 0 0 0 404.2 472.7 607.3 0 0 706.2 0 588.9 523.6 0 0 0 0 0 0 647.8 ]
endobj
-1446 0 obj
+1467 0 obj
[333.3 0 0 0 0 0 736.1 736.1 527.8 527.8 0 0 0 0 750 750 0 0 0 0 791.7 791.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 0 0 888.9 666.7 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555.6 0 0 0 0 0 0 0 0 0 0 0 0 0 472.2 472.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666.7 666.7 450 450 450 450 ]
endobj
-1447 0 obj
+1468 0 obj
[ 28 [ 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 ] 62 [ 525 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] 163 [ 525 ] 246 [ 525 ] 272 [ 525 ] 314 [ 525 525 ] 439 [ 525 ] 494 [ 525 ] ]
endobj
-1449 0 obj
+1470 0 obj
<< /Filter /FlateDecode /Length 43 >>
stream
xc``_ `& n
endstream
endobj
-1450 0 obj
+1471 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7450 >>
stream
xڽzXSJ\=7u{Q'.=Xa$$M {q *ZqPhۨ:kھyO:<B=~9~?&x<ސWl[n5k2I^j?@ӥ{Hp n8ƊXmxhƛ?{-lFumbB؋CoXgN<u%rEHJ2}M%'K\}U!q,Y3YVHe7D)("Q+JW\P?YG)}%@U)e@[*Yad\qʔRɤIR*xT9S^^S<=)~SLMZv+,]adUJ)xHU>~bp<oMC*SB3A
@@ -6603,10 +6724,10 @@ Dw߂Ӿ.W#=fj֚H4,k\ٍ@':{n<~{ {W5Ugiw
/*lMB6mƎ bO‚9ܒq~fm6fɩL)iɅvhǕ/$#
endstream
endobj
-1448 0 obj
-<< /Type /FontDescriptor /FontName /YTHZRQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1450 0 R /CIDSet 1449 0 R >>
+1469 0 obj
+<< /Type /FontDescriptor /FontName /YTHZRQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1471 0 R /CIDSet 1470 0 R >>
endobj
-1451 0 obj
+1472 0 obj
<< /Filter /FlateDecode /Length 727 >>
stream
x}Ko@Rp=!$FEj j#@-ز͂ߙ9Dh#13s<\_^Lj&?nh0XhldLij^ںXW[yeé4]7̾[|v1?__k[W?mC?"B>.IAny}hH"zWٲ%ͫҌU]o+ ]s| ҴݳݖiaI4\eh{_nN!K5´[7ELx&v@^\?JPth(S<e ֦4H@(q$2@zҠ;im):p 2@A@# #EGGʸD$O A8Մ?NɑjGAT #t
@@ -6614,22 +6735,22 @@ $!SABRP(k@ʈZA5 b B92P-q$Tk"J%<d2)!t3O
GS䒃8siyr@7BJ)Os(K+L(?~ũm <LK?'+kާ}S7TxeX[
endstream
endobj
-370 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YTHZRQ+LMMono9-Regular /DescendantFonts [ 1452 0 R ] /ToUnicode 1451 0 R >>
+374 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YTHZRQ+LMMono9-Regular /DescendantFonts [ 1473 0 R ] /ToUnicode 1472 0 R >>
endobj
-1452 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YTHZRQ+LMMono9-Regular /FontDescriptor 1448 0 R /W 1447 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1473 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YTHZRQ+LMMono9-Regular /FontDescriptor 1469 0 R /W 1468 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1453 0 obj
+1474 0 obj
[ 28 [ 494 ] 43 [ 457 ] 50 [ 457 ] 63 [ 531 ] 66 [ 245 ] 75 [ 816 ] 77 [ 531 ] 96 [ 351 ] 98 [ 394 ] 105 [ 371 ] 116 [ 474 ] 118 [ 474 ] ]
endobj
-1455 0 obj
+1476 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Ta`X
endstream
endobj
-1456 0 obj
+1477 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1234 >>
stream
xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc1Iej=b//{#@h( br,Cn|Vv)OXY+&>j4MЬĆHCdZqc1ɩ
@@ -6639,10 +6760,10 @@ xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc
7bdxo;ts:<0n${z;[ZhoG6z|t?J
endstream
endobj
-1454 0 obj
-<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1456 0 R /CIDSet 1455 0 R >>
+1475 0 obj
+<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1477 0 R /CIDSet 1476 0 R >>
endobj
-1457 0 obj
+1478 0 obj
<< /Filter /FlateDecode /Length 419 >>
stream
x}N0~âRY8)UH@+R!}ڱؑ, H3rrn{t-?1pxtV`|-k6*D9DZ#
@@ -6652,22 +6773,22 @@ u0=z0a6 4
bXk֊Zow4~~mjWolhf_Xg
endstream
endobj
-369 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1458 0 R ] /ToUnicode 1457 0 R >>
+373 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1479 0 R ] /ToUnicode 1478 0 R >>
endobj
-1458 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1454 0 R /W 1453 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1479 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1475 0 R /W 1474 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1459 0 obj
+1480 0 obj
[ 28 [ 514 ] 43 [ 457 ] 45 [ 286 ] 47 [ 571 ] 50 [ 457 ] 55 [ 314 ] 64 [ 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 84 [ 571 ] 88 [ 286 ] 91 [ 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 251 [ 457 ] 502 [ 286 ] ]
endobj
-1461 0 obj
+1482 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc```UdX8c‚#3Ѐ
endstream
endobj
-1462 0 obj
+1483 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2880 >>
stream
xڵW{TWA7cgV)bU*T(j C$Hx#o ZCA)j-]ڭ[מc'97̝/+1@0uÛWlX9{Ee,#<x<%[!S-oq
@@ -6687,10 +6808,10 @@ y›lz<A/TmζN>rwaD)E~h)xMsvŊ
+/M<LAwD:C~twZڂViuUu Ae'jT/xlX=@$Ahh5hGp]]FCX}}5Pml{jl`(]6S ΀z}˵Fy!?b j-:+ݘgCOQMeyyL.iC7uɹ,ǎ2&
endstream
endobj
-1460 0 obj
-<< /Type /FontDescriptor /FontName /WDPLWN+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1462 0 R /CIDSet 1461 0 R >>
+1481 0 obj
+<< /Type /FontDescriptor /FontName /WDPLWN+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1483 0 R /CIDSet 1482 0 R >>
endobj
-1463 0 obj
+1484 0 obj
<< /Filter /FlateDecode /Length 488 >>
stream
x}n0~
@@ -6699,22 +6820,22 @@ x}n0~
Χ)%`cHvi"`-S7fvk?Q)vAo|p';e[A
endstream
endobj
-368 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WDPLWN+LMRoman9-Regular /DescendantFonts [ 1464 0 R ] /ToUnicode 1463 0 R >>
+372 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WDPLWN+LMRoman9-Regular /DescendantFonts [ 1485 0 R ] /ToUnicode 1484 0 R >>
endobj
-1464 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WDPLWN+LMRoman9-Regular /FontDescriptor 1460 0 R /W 1459 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1485 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WDPLWN+LMRoman9-Regular /FontDescriptor 1481 0 R /W 1480 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1465 0 obj
+1486 0 obj
[ 75 [ 986 ] 95 [ 887 ] 98 [ 467 ] 109 [ 657 ] 251 [ 543 ] ]
endobj
-1467 0 obj
+1488 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc`Ft
endstream
endobj
-1468 0 obj
+1489 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1088 >>
stream
xڅTmLSWJ/wQ*ҋhA]@Eatc&vFRt{k%JAriP HcKh4MLlfes&\9ĬY%K&=<oL82yE_R5m{8)I@JIZJäDGIL,C)dMRAdZg_=dF$;H
@@ -6725,10 +6846,10 @@ W-`glZzPV':x`vpN;Y,<pqF5 8m&]Y
y{{`,$(׍u^FfHJU}lķZ9z__njM OH(rCm?'`UYdH&r$}._W_w.Izt#_aT
endstream
endobj
-1466 0 obj
-<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1468 0 R /CIDSet 1467 0 R >>
+1487 0 obj
+<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1489 0 R /CIDSet 1488 0 R >>
endobj
-1469 0 obj
+1490 0 obj
<< /Filter /FlateDecode /Length 381 >>
stream
x}R]@}_q!sa/*b7:#>wf̂EVP<s\N'WW}
@@ -6736,23 +6857,23 @@ G,TzmNgX,wyS8hNXBw-#)ʞGF.Mȗľg߇Mt6ۣb9*(S
܀ B(9ARj$_+~7GBڼd
endstream
endobj
-367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 1470 0 R ] /ToUnicode 1469 0 R >>
+371 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 1491 0 R ] /ToUnicode 1490 0 R >>
endobj
-1470 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 1466 0 R /W 1465 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1491 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 1487 0 R /W 1486 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1471 0 obj
+1492 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-1473 0 obj
+1494 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-1474 0 obj
+1495 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -6767,79 +6888,80 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-1472 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1474 0 R /CIDSet 1473 0 R >>
+1493 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1495 0 R /CIDSet 1494 0 R >>
endobj
-1475 0 obj
+1496 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
-366 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1476 0 R ] /ToUnicode 1475 0 R >>
+370 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1497 0 R ] /ToUnicode 1496 0 R >>
endobj
-1476 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1472 0 R /W 1471 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1497 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1493 0 R /W 1492 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1477 0 obj
-[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 72 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 490 490 ] 109 [ 544 ] 112 [ 517 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
+1498 0 obj
+[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 68 [ 299 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
endobj
-1479 0 obj
+1500 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
-xc``TTѰˁ4
+xc``ThX
endstream
endobj
-1480 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3575 >>
-stream
-xڭX X皞cL<zT"Ҫ .ȅ
-7]}sF>{/CN#>لnTuRph?M'FYw"Cv]_M
-N˪;-ϛ&& KaCdKdJL 1G,?b2&P9Yy6ٷNsP:*a(k 1R-{LhΤ;@q=cQl XN1h}FP>l [N^gf\`)4eȕH"|Y8 .{\VʎLn/::ˎP
-ʃJLz 倁q>~z<(+pTN'X麟Xpбv+W04$֑OH%|yjki;M\WIUgsN;-Z!h}䀕frau 3`
-MeDz2qP1#sZS(@Ӟ'}#ps!%N*fyC< 7I\hqZLSt2= )'` +S+TÀfFҰI˃KoO}ŇFA#ߑ
-҃PRZZq
-GN-5U9rչII3*ƩOL,\"1Q;(M HrX77r-D˗?
-6Uki1[ 】-澬+0
-3%a3
-fئkI7KGkĜ5!6vWPط yCYOܿ3a F8s/F6m}'s=2Tx}i}UĽ˟h6vmzO)lrCAA*m%N]ƎgRlH#.oh{k.ij
-"F 03rKwWiuVωP
-_ e)9~~`nht]68Npɕ/Zl yr^8 :{w88B J) >d'y}Rǥ_˸9hj
-.җ^Ý:~zv̻qHg1CH~/ľ{ᅂO|ω}?;j-S!> CY=kG<
-GЗ ';튝R">ON/p' d5Sm;AX<
-n25%z< =,|!F-bZ!B=o[@a1i,ؗ]ffeUk608>O{NЖRZ\dosy2 i,**Pb~@m`L䒍2Y^6Bvš95FȖUQn,Z
-13|e?
-t%jR_F
-gO&rƸZ@C?оL.Vlΰ(5:owL<{f68bgs]u^`*Ϋ(KKlE؃G~8τޙnOܥ.qeG{fZ[Apq_JsԆ]5lӾ:,B^bas:CWDMeQge
-tw L3ȥϞD2Ev= z`9W"5۱mĆ)Ea=3ʂ:WWTgOGx`x sgDzXz"7y#09~ yD׀zp=iL*N'89_*M*UU>т˝VWB}3^mݧz215IaցsxUA}ZFNGbc#"wRKb\}ƬlmCA]u6եwƉfTezQr{)xvyVj-";tr mř[M{N7Џw):RE*JԕVSa
+1501 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3502 >>
+stream
+xڭX \wؙ͘ZGj[-`=QrHBŸ}k
+^BW ewg{.~M@x D CySxb.[ eR*V.^pq4O)PRF([!Jw5VR!D$DKP.V-SrR' UKuJU;d ,JUDTRML>lGtR)2Tɤ1M
+VT5jg|m 6dZ?MFTId !JUbD(elcLդ!6y#eH
+Xc }ms 8/wpOdg?WVwZH׌=X20%0A1,?t*"X7K
+=ԓo\h }RчPB*l0FdPn",9:u8Duv` QJQFG]>gɒP]XU@ц%!+.pŗg.fFhKop;+؉~bvڿͅ8zWPţq \``dv~Fכ(aQ:`G~3b̅FNuXu(ļ@^Kb1Hn"E*=T[}OYZGxF%Ui;@5}f>Xi^qɜg&7h"9-p5倭(6
+'wO-5Vlel҇5gw|&)0{Q(ћ
+@d
+h[FOr-D6TPyHK|!g|' /Nhq2?A|
+Ɛ·u'{fcխmdӮ`)i2J*d™PEܽfSW|;}%\LaK1 2Vn/qJv$ D'Dc
+<tAo]3E;Z+6dh(<$}.[H|LAx>W(i}d>ew@k!{ENv+KmJSBl M\~A`nhts`K׮Ywl/-yr^8 :.3jkK) .3=>گ9nMT]c6}PҪv)ڤdag7aZ;v,rs|&vIޛ fH4V5;p˝nW5Uzz`W}Maǯ5Qzy6㒱ZJ߈A҇y7t&{!M?{^-(<uW{^(3pT]%ytvE}5xCY{wP2sgqܕHNHOr6+gD2$@6Ip9G6Kl7Ӄeze>FN㸸uq(=+b(wN
+I ؒܫܟ*#m
+* Gl9e OE5SmAp4|sL`=><;,Awb▟1(Q`n`|c?~HX!@l|p`;i_%aFd_p~yK;\szQυEvW&(j:RάoqMkpt7[z=mqW|< i8U
+Fؘnv9[N2sCocLҚrp?5,|!F/b9:!限,B{UnŤ)?#7 W ffeU
+\lv>LJ &kϮ mIE6黐W`!MEeQJM1!4`7@LW ծ<s:Q'ghA%v}%Aa
+5fsD"lvASCt-D_[8lmoIu(͠1xze{VoLl@PnfD=gJ+OG+Ƞ\. _3H3
+S<t Ƒ Y爺v@h PVag }i@+9YؙfiWSjĠ9tvF Xd^cjlCܼŹexiVv$bg%vÜDW`1o5&0,q 첀]FGkqoT*s.n2e$>m89ua(h& nbb&#L+ X1}\IóyFUDfQke
+fV
+7)r> q;G<d, 9Cl[x#R>,s #y⫳TM˃+jq"~R){`c||fJ^;v躢Yjs&P'ʳrUoŒz]qFISgXІr]%jZ׌Wj3z@$*jvpz"^_דP0\$*7z"ÔϷeS4ÌMZ JmzUiZUdGӱNam8i/r#ԋ+x#Ydꭄ/C=5/o}=cލ].=F>H`*Cx#ozċSLP-TV;{2=ixqOiqlXK0=?3\L
endstream
endobj
-1478 0 obj
-<< /Type /FontDescriptor /FontName /WUMFPP+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1480 0 R /CIDSet 1479 0 R >>
+1499 0 obj
+<< /Type /FontDescriptor /FontName /DKYOVH+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1501 0 R /CIDSet 1500 0 R >>
endobj
-1481 0 obj
-<< /Filter /FlateDecode /Length 504 >>
+1502 0 obj
+<< /Filter /FlateDecode /Length 502 >>
stream
-xڅߏ0+z&KC( ɹktH%7ٜ9 gLɷ_ry?~dT~-[o2Yjh@
+xڅOo0=8 $BEۖ
+P{ F"N$~N+-(?fx2~:=rTN5`U]I}#$hUevE2v'-Rȯs駿kyWe&ӥfXWL^YRMQg<rk)Uil3Fs!rnx"o߼2Ň[RʛH\4YhB^ItJ^2AgFf[E{;&Z`95u䅼Ol?GR:: }()#,q
+#PZ"4 (4A b"W4|4vS4hZ8u
endstream
endobj
-365 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WUMFPP+LMRoman12-Regular /DescendantFonts [ 1482 0 R ] /ToUnicode 1481 0 R >>
+369 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DKYOVH+LMRoman12-Regular /DescendantFonts [ 1503 0 R ] /ToUnicode 1502 0 R >>
endobj
-1482 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WUMFPP+LMRoman12-Regular /FontDescriptor 1478 0 R /W 1477 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1503 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DKYOVH+LMRoman12-Regular /FontDescriptor 1499 0 R /W 1498 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1483 0 obj
+1504 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
endobj
-1485 0 obj
+1506 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Pa`hp
endstream
endobj
-1486 0 obj
+1507 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1024 >>
stream
xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(H$!%1?gw1&{&Kz@DVCU弪zOHVhAʕJnfl
@@ -6849,10 +6971,10 @@ xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(
CoV< }>q%N鉴4=Z^d
endstream
endobj
-1484 0 obj
-<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1486 0 R /CIDSet 1485 0 R >>
+1505 0 obj
+<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1507 0 R /CIDSet 1506 0 R >>
endobj
-1487 0 obj
+1508 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}]K0+6s2
@@ -6860,22 +6982,22 @@ nU(MKf`MJ^ߛv8 xzޓyK<p`|Mkj`*֖(5"GW{xъp
*'Zq(K8thSL=RGđy9K-în90jmr;"aMTeNC2-m7 =
endstream
endobj
-364 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1488 0 R ] /ToUnicode 1487 0 R >>
+368 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1509 0 R ] /ToUnicode 1508 0 R >>
endobj
-1488 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1484 0 R /W 1483 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1509 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1505 0 R /W 1504 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1489 0 obj
+1510 0 obj
[ 28 [ 459 ] 46 [ 707 ] 50 [ 406 ] 66 [ 250 ] 68 [ 276 ] 71 [ 576 250 ] 77 [ 511 ] 81 [ 459 ] 91 [ 485 ] 96 [ 354 ] 98 [ 359 ] 105 [ 354 ] 108 [ 693 511 ] 116 [ 485 ] 126 [ 499 ] 277 [ 406 ] 502 [ 250 ] ]
endobj
-1491 0 obj
+1512 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc````R`lqXĀXp&
endstream
endobj
-1492 0 obj
+1513 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2260 >>
stream
xڭ{TWgcDwFV h TD"Ay Q$$@ (b0(⫂RhmS[k]V[{=w V;ܹ}8&c8KHIX>wj\
@@ -6893,22 +7015,22 @@ M.Y9b+8xZ3b䕋>Ec%2 ypKzCWˣB} , ñ1~0<W
?lV!C/Kt1!<vnN.<5^+_
endstream
endobj
-1490 0 obj
-<< /Type /FontDescriptor /FontName /LNWNPA+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1492 0 R /CIDSet 1491 0 R >>
+1511 0 obj
+<< /Type /FontDescriptor /FontName /LNWNPA+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1513 0 R /CIDSet 1512 0 R >>
endobj
-1493 0 obj
+1514 0 obj
<< /Filter /FlateDecode /Length 460 >>
stream
xڅn0<)=Pl@SEH)I$6+'YKFy=JF_C䑒=43hyWj
endstream
endobj
-363 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LNWNPA+LMRoman17-Regular /DescendantFonts [ 1494 0 R ] /ToUnicode 1493 0 R >>
+367 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LNWNPA+LMRoman17-Regular /DescendantFonts [ 1515 0 R ] /ToUnicode 1514 0 R >>
endobj
-1494 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LNWNPA+LMRoman17-Regular /FontDescriptor 1490 0 R /W 1489 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1515 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LNWNPA+LMRoman17-Regular /FontDescriptor 1511 0 R /W 1510 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1496 0 obj
+1517 0 obj
<< /Length1 1484 /Length2 8131 /Length3 0 /Filter /FlateDecode /Length 9124 >>
stream
xڍTm6NHt,) ] .²tJH#]J4" HwwS9w3sM\LtZ2`Di
@@ -6950,10 +7072,10 @@ Mt%ŕTMHtwX:n҅O| ҙi,l59k#E~L.pz/'w/
*2;nYK/G-^䙗;%{F!zd[
endstream
endobj
-1495 0 obj
-<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1496 0 R >>
+1516 0 obj
+<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1517 0 R >>
endobj
-1498 0 obj
+1519 0 obj
<< /Length1 2319 /Length2 9802 /Length3 0 /Filter /FlateDecode /Length 11051 >>
stream
xڍTZ6Lt# 1t*]Jw
@@ -7005,10 +7127,10 @@ l1(fP@weKg}PYۈE[n(#3%[$Bf~΍Nd\zmM0 Y],9Ca0- ub
3H vrH
endstream
endobj
-1497 0 obj
-<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1498 0 R >>
+1518 0 obj
+<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1519 0 R >>
endobj
-1500 0 obj
+1521 0 obj
<< /Length1 1396 /Length2 5867 /Length3 0 /Filter /FlateDecode /Length 6812 >>
stream
xڍTTTk&FPAf@II)!f`:% @B$$DSCR@R@i$;9޵]֞=<]@P"T( X$ TV1
@@ -7041,10 +7163,10 @@ mNվ˘jB5̞cvqc~O\Y)O
ݟ~wb@ ݤmπnsA6&wSlYD]+"@?|9mo]fjǾ{sŸܦ}}rIRBR+譜yScC>gamʁt!eU p/k UQSb3Z Wзo.uY&h) @X`0rEC:s,17v TN
endstream
endobj
-1499 0 obj
-<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1500 0 R >>
+1520 0 obj
+<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1521 0 R >>
endobj
-1502 0 obj
+1523 0 obj
<< /Length1 1830 /Length2 11276 /Length3 0 /Filter /FlateDecode /Length 12424 >>
stream
xڍT[-kqS'-- @ )V-VSHhq>zsɞ׷;&9,q
@@ -7087,10 +7209,10 @@ t둭Jc_WP5jbep/wUd22>3}֟Bn9MmGvX-i1@?BDVlt[~_
|UƶO3n0&hWA:fBh;2bVF:u(o7Ȕ?xs4ŹNgX%%F}J34G_1˵-{
endstream
endobj
-1501 0 obj
-<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1502 0 R >>
+1522 0 obj
+<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1523 0 R >>
endobj
-1504 0 obj
+1525 0 obj
<< /Length1 1415 /Length2 6063 /Length3 0 /Filter /FlateDecode /Length 7021 >>
stream
xڍuTk-Xh
@@ -7120,10 +7242,10 @@ OB+F|72{ .2xcZrL_7-_5Km-܁CEMXo]Y1nfɫt/
bUyLq@jƚm#<՗aVY G<^P4~0-)gV2+ \]"X,p aqה-TW'qY'D#_Ē_w"9FuKK
endstream
endobj
-1503 0 obj
-<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1504 0 R >>
+1524 0 obj
+<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1525 0 R >>
endobj
-1506 0 obj
+1527 0 obj
<< /Length1 1451 /Length2 6812 /Length3 0 /Filter /FlateDecode /Length 7785 >>
stream
xڍtTk.)]D`A!ASIiICFwZY羞^Fzm=N[5XspEr*
@@ -7157,10 +7279,10 @@ y[f!i;7W%mIJ ﭓ71v(oT(}6u4/^%O8Ϩu(6g
a e|L1iR]ez[
endstream
endobj
-1505 0 obj
-<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1506 0 R >>
+1526 0 obj
+<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1527 0 R >>
endobj
-1508 0 obj
+1529 0 obj
<< /Length1 1589 /Length2 8523 /Length3 0 /Filter /FlateDecode /Length 9572 >>
stream
xڍTT.LCH "! 0PC!%)-!!%%ֺwZgγ}}jb&6FiPPx`c`accGաp+ȟft&jW= Iq
@@ -7204,10 +7326,10 @@ Sziq`Rky5zX-
_G)JxУ<g|eBy"7t*<
endstream
endobj
-1507 0 obj
-<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1508 0 R >>
+1528 0 obj
+<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1529 0 R >>
endobj
-1510 0 obj
+1531 0 obj
<< /Length1 1438 /Length2 6548 /Length3 0 /Filter /FlateDecode /Length 7523 >>
stream
xڍt4kׯ"ZD0zF5`0!z[H$DDoD#Ir{޻ֽkϳ=6f]>y{-LA
@@ -7244,10 +7366,10 @@ wt/ְj@884}?em\9P?{6jx)*NaqIuoŀ31&
*INS+$3z t$x g6./)~s_2oϒlAS"F!XzP%i3UsLWsOLۈklm܏f(]zj Y2
endstream
endobj
-1509 0 obj
-<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1510 0 R >>
+1530 0 obj
+<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1531 0 R >>
endobj
-1512 0 obj
+1533 0 obj
<< /Length1 1744 /Length2 11235 /Length3 0 /Filter /FlateDecode /Length 12356 >>
stream
xڍP.k;wwwwwg!0 w@pBpw
@@ -7294,10 +7416,10 @@ ttoΎфtč!e웩I]8NG'
o獧{{m1` 8>`9X;;FVqvt$3CY(n3@}"ZWkgcQ͞*EkFY<lc ?v0.+Q2SbMXw`Pi.zN o| Ի)n9`VOi{40ơ
endstream
endobj
-1511 0 obj
-<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1512 0 R >>
+1532 0 obj
+<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1533 0 R >>
endobj
-1514 0 obj
+1535 0 obj
<< /Length1 1447 /Length2 6556 /Length3 0 /Filter /FlateDecode /Length 7538 >>
stream
xڍVT\%Kph%CbfI%iP@@$nQJ.7zoZ3{kؙu a '<
@@ -7332,10 +7454,10 @@ eO:[1bo_9ͣh[puK}ks 7\GU0Ǟ6Г?ﱿWy$4kw}zK
2h&ji/,
endstream
endobj
-1513 0 obj
-<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1514 0 R >>
+1534 0 obj
+<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1535 0 R >>
endobj
-1516 0 obj
+1537 0 obj
<< /Length1 1595 /Length2 7817 /Length3 0 /Filter /FlateDecode /Length 8871 >>
stream
xڍT6t
@@ -7373,10 +7495,10 @@ Y<Qj8e^z 7r-\
.+g!~ŜI #PAiМ'WXϟf'_}xbK$yv[IoRʢTYiGU$ݡsZ,U+hQ
endstream
endobj
-1515 0 obj
-<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1516 0 R >>
+1536 0 obj
+<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1537 0 R >>
endobj
-1518 0 obj
+1539 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7419,10 +7541,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1517 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1518 0 R >>
+1538 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1539 0 R >>
endobj
-1520 0 obj
+1541 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7453,10 +7575,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1519 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1520 0 R >>
+1540 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1541 0 R >>
endobj
-1522 0 obj
+1543 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7485,317 +7607,320 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1521 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1522 0 R >>
+1542 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1543 0 R >>
endobj
-748 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1495 0 R /FirstChar 49 /LastChar 100 /Widths 1319 0 R >>
+758 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1516 0 R /FirstChar 49 /LastChar 100 /Widths 1340 0 R >>
endobj
-371 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1497 0 R /FirstChar 12 /LastChar 125 /Widths 1446 0 R >>
+375 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1518 0 R /FirstChar 12 /LastChar 125 /Widths 1467 0 R >>
endobj
-406 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1499 0 R /FirstChar 112 /LastChar 112 /Widths 1354 0 R >>
+410 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1520 0 R /FirstChar 112 /LastChar 112 /Widths 1375 0 R >>
endobj
-375 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1501 0 R /FirstChar 46 /LastChar 122 /Widths 1442 0 R >>
+379 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1522 0 R /FirstChar 46 /LastChar 122 /Widths 1463 0 R >>
endobj
-419 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1503 0 R /FirstChar 65 /LastChar 65 /Widths 1353 0 R >>
+423 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1524 0 R /FirstChar 65 /LastChar 65 /Widths 1374 0 R >>
endobj
-374 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1505 0 R /FirstChar 76 /LastChar 110 /Widths 1443 0 R >>
+378 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1526 0 R /FirstChar 76 /LastChar 110 /Widths 1464 0 R >>
endobj
-372 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1507 0 R /FirstChar 59 /LastChar 120 /Widths 1445 0 R >>
+376 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1528 0 R /FirstChar 59 /LastChar 120 /Widths 1466 0 R >>
endobj
-479 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1509 0 R /FirstChar 105 /LastChar 110 /Widths 1340 0 R >>
+488 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1530 0 R /FirstChar 105 /LastChar 110 /Widths 1361 0 R >>
endobj
-378 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1511 0 R /FirstChar 40 /LastChar 115 /Widths 1434 0 R >>
+382 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1532 0 R /FirstChar 40 /LastChar 115 /Widths 1455 0 R >>
endobj
-373 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1513 0 R /FirstChar 43 /LastChar 52 /Widths 1444 0 R >>
+377 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1534 0 R /FirstChar 43 /LastChar 52 /Widths 1465 0 R >>
endobj
-376 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1515 0 R /FirstChar 40 /LastChar 57 /Widths 1441 0 R >>
+380 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1536 0 R /FirstChar 40 /LastChar 57 /Widths 1462 0 R >>
endobj
-400 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1517 0 R /FirstChar 0 /LastChar 105 /Widths 1355 0 R >>
+404 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1538 0 R /FirstChar 0 /LastChar 105 /Widths 1376 0 R >>
endobj
-737 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1519 0 R /FirstChar 0 /LastChar 32 /Widths 1320 0 R >>
+747 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1540 0 R /FirstChar 0 /LastChar 32 /Widths 1341 0 R >>
endobj
-638 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1521 0 R /FirstChar 0 /LastChar 34 /Widths 1327 0 R >>
+646 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1542 0 R /FirstChar 0 /LastChar 34 /Widths 1348 0 R >>
endobj
-390 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 357 0 R 395 0 R 403 0 R 416 0 R 431 0 R 444 0 R 449 0 R 454 0 R 461 0 R 466 0 R ] >>
+394 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 435 0 R 448 0 R 453 0 R 457 0 R 461 0 R 468 0 R ] >>
endobj
-480 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 476 0 R 489 0 R 496 0 R 501 0 R 506 0 R 512 0 R 521 0 R 527 0 R 533 0 R 539 0 R ] >>
+479 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 475 0 R 485 0 R 497 0 R 504 0 R 509 0 R 514 0 R 520 0 R 529 0 R 535 0 R 541 0 R ] >>
endobj
-548 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 545 0 R 552 0 R 559 0 R 565 0 R 573 0 R 581 0 R 591 0 R 598 0 R 603 0 R 608 0 R ] >>
+550 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 547 0 R 554 0 R 560 0 R 567 0 R 573 0 R 581 0 R 589 0 R 599 0 R 606 0 R 611 0 R ] >>
endobj
-618 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 615 0 R 623 0 R 635 0 R 644 0 R 651 0 R 659 0 R 665 0 R 674 0 R 683 0 R 691 0 R ] >>
+619 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 616 0 R 624 0 R 631 0 R 643 0 R 652 0 R 659 0 R 667 0 R 673 0 R 682 0 R 691 0 R ] >>
endobj
-710 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 701 0 R 714 0 R 724 0 R 729 0 R 734 0 R 745 0 R 754 0 R 763 0 R 771 0 R 778 0 R ] >>
+707 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 699 0 R 710 0 R 724 0 R 734 0 R 739 0 R 744 0 R 755 0 R 764 0 R 773 0 R 781 0 R ] >>
endobj
-788 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 784 0 R 792 0 R 798 0 R 806 0 R 815 0 R 830 0 R 837 0 R 842 0 R 848 0 R 852 0 R ] >>
+791 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 788 0 R 795 0 R 801 0 R 808 0 R 816 0 R 825 0 R 840 0 R 847 0 R 852 0 R 860 0 R ] >>
endobj
-859 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 10 /Kids [ 856 0 R 861 0 R 865 0 R 869 0 R 874 0 R 879 0 R 883 0 R 887 0 R 1006 0 R 1112 0 R ] >>
+867 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 864 0 R 869 0 R 873 0 R 877 0 R 881 0 R 886 0 R 891 0 R 895 0 R 899 0 R 1018 0 R ] >>
endobj
-1207 0 obj
-<< /Type /Pages /Parent 1523 0 R /Count 3 /Kids [ 1204 0 R 1248 0 R 1303 0 R ] >>
+1130 0 obj
+<< /Type /Pages /Parent 1544 0 R /Count 5 /Kids [ 1127 0 R 1220 0 R 1263 0 R 1319 0 R 1324 0 R ] >>
endobj
-1523 0 obj
-<< /Type /Pages /Count 73 /Kids [ 390 0 R 480 0 R 548 0 R 618 0 R 710 0 R 788 0 R 859 0 R 1207 0 R ] >>
+1544 0 obj
+<< /Type /Pages /Count 75 /Kids [ 394 0 R 479 0 R 550 0 R 619 0 R 707 0 R 791 0 R 867 0 R 1130 0 R ] >>
endobj
-1524 0 obj
-<< /Type /Outlines /First 6 0 R /Last 354 0 R /Count 19 >>
+1545 0 obj
+<< /Type /Outlines /First 6 0 R /Last 358 0 R /Count 19 >>
+endobj
+358 0 obj
+<< /Title 359 0 R /A 356 0 R /Parent 1545 0 R /Prev 314 0 R >>
endobj
354 0 obj
-<< /Title 355 0 R /A 352 0 R /Parent 1524 0 R /Prev 310 0 R >>
+<< /Title 355 0 R /A 352 0 R /Parent 314 0 R /Prev 350 0 R >>
endobj
350 0 obj
-<< /Title 351 0 R /A 348 0 R /Parent 310 0 R /Prev 346 0 R >>
+<< /Title 351 0 R /A 348 0 R /Parent 314 0 R /Prev 346 0 R /Next 354 0 R >>
endobj
346 0 obj
-<< /Title 347 0 R /A 344 0 R /Parent 310 0 R /Prev 342 0 R /Next 350 0 R >>
+<< /Title 347 0 R /A 344 0 R /Parent 314 0 R /Prev 342 0 R /Next 350 0 R >>
endobj
342 0 obj
-<< /Title 343 0 R /A 340 0 R /Parent 310 0 R /Prev 338 0 R /Next 346 0 R >>
+<< /Title 343 0 R /A 340 0 R /Parent 314 0 R /Prev 338 0 R /Next 346 0 R >>
endobj
338 0 obj
-<< /Title 339 0 R /A 336 0 R /Parent 310 0 R /Prev 334 0 R /Next 342 0 R >>
+<< /Title 339 0 R /A 336 0 R /Parent 314 0 R /Prev 334 0 R /Next 342 0 R >>
endobj
334 0 obj
-<< /Title 335 0 R /A 332 0 R /Parent 310 0 R /Prev 330 0 R /Next 338 0 R >>
+<< /Title 335 0 R /A 332 0 R /Parent 314 0 R /Prev 330 0 R /Next 338 0 R >>
endobj
330 0 obj
-<< /Title 331 0 R /A 328 0 R /Parent 310 0 R /Prev 326 0 R /Next 334 0 R >>
+<< /Title 331 0 R /A 328 0 R /Parent 314 0 R /Prev 326 0 R /Next 334 0 R >>
endobj
326 0 obj
-<< /Title 327 0 R /A 324 0 R /Parent 310 0 R /Prev 322 0 R /Next 330 0 R >>
+<< /Title 327 0 R /A 324 0 R /Parent 314 0 R /Prev 322 0 R /Next 330 0 R >>
endobj
322 0 obj
-<< /Title 323 0 R /A 320 0 R /Parent 310 0 R /Prev 318 0 R /Next 326 0 R >>
+<< /Title 323 0 R /A 320 0 R /Parent 314 0 R /Prev 318 0 R /Next 326 0 R >>
endobj
318 0 obj
-<< /Title 319 0 R /A 316 0 R /Parent 310 0 R /Prev 314 0 R /Next 322 0 R >>
+<< /Title 319 0 R /A 316 0 R /Parent 314 0 R /Next 322 0 R >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 310 0 R /Next 318 0 R >>
+<< /Title 315 0 R /A 312 0 R /Parent 1545 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 1524 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
+<< /Title 311 0 R /A 308 0 R /Parent 294 0 R /Prev 306 0 R >>
endobj
306 0 obj
-<< /Title 307 0 R /A 304 0 R /Parent 290 0 R /Prev 302 0 R >>
+<< /Title 307 0 R /A 304 0 R /Parent 294 0 R /Prev 302 0 R /Next 310 0 R >>
endobj
302 0 obj
-<< /Title 303 0 R /A 300 0 R /Parent 290 0 R /Prev 298 0 R /Next 306 0 R >>
+<< /Title 303 0 R /A 300 0 R /Parent 294 0 R /Prev 298 0 R /Next 306 0 R >>
endobj
298 0 obj
-<< /Title 299 0 R /A 296 0 R /Parent 290 0 R /Prev 294 0 R /Next 302 0 R >>
+<< /Title 299 0 R /A 296 0 R /Parent 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 290 0 R /Next 298 0 R >>
+<< /Title 295 0 R /A 292 0 R /Parent 1545 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1524 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
+<< /Title 291 0 R /A 288 0 R /Parent 1545 0 R /Prev 262 0 R /Next 294 0 R >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 1524 0 R /Prev 258 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 262 0 R /Prev 282 0 R >>
endobj
282 0 obj
-<< /Title 283 0 R /A 280 0 R /Parent 258 0 R /Prev 278 0 R >>
+<< /Title 283 0 R /A 280 0 R /Parent 262 0 R /Prev 278 0 R /Next 286 0 R >>
endobj
278 0 obj
-<< /Title 279 0 R /A 276 0 R /Parent 258 0 R /Prev 274 0 R /Next 282 0 R >>
+<< /Title 279 0 R /A 276 0 R /Parent 262 0 R /Prev 266 0 R /Next 282 0 R >>
endobj
274 0 obj
-<< /Title 275 0 R /A 272 0 R /Parent 258 0 R /Prev 262 0 R /Next 278 0 R >>
+<< /Title 275 0 R /A 272 0 R /Parent 266 0 R /Prev 270 0 R >>
endobj
270 0 obj
-<< /Title 271 0 R /A 268 0 R /Parent 262 0 R /Prev 266 0 R >>
+<< /Title 271 0 R /A 268 0 R /Parent 266 0 R /Next 274 0 R >>
endobj
266 0 obj
-<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 270 0 R >>
+<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 278 0 R /First 270 0 R /Last 274 0 R /Count -2 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 258 0 R /Next 274 0 R /First 266 0 R /Last 270 0 R /Count -2 >>
+<< /Title 263 0 R /A 260 0 R /Parent 1545 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 1524 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
+<< /Title 259 0 R /A 256 0 R /Parent 214 0 R /Prev 254 0 R >>
endobj
254 0 obj
-<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R >>
+<< /Title 255 0 R /A 252 0 R /Parent 214 0 R /Prev 250 0 R /Next 258 0 R >>
endobj
250 0 obj
-<< /Title 251 0 R /A 248 0 R /Parent 210 0 R /Prev 246 0 R /Next 254 0 R >>
+<< /Title 251 0 R /A 248 0 R /Parent 214 0 R /Prev 246 0 R /Next 254 0 R >>
endobj
246 0 obj
-<< /Title 247 0 R /A 244 0 R /Parent 210 0 R /Prev 242 0 R /Next 250 0 R >>
+<< /Title 247 0 R /A 244 0 R /Parent 214 0 R /Prev 242 0 R /Next 250 0 R >>
endobj
242 0 obj
-<< /Title 243 0 R /A 240 0 R /Parent 210 0 R /Prev 238 0 R /Next 246 0 R >>
+<< /Title 243 0 R /A 240 0 R /Parent 214 0 R /Prev 238 0 R /Next 246 0 R >>
endobj
238 0 obj
-<< /Title 239 0 R /A 236 0 R /Parent 210 0 R /Prev 234 0 R /Next 242 0 R >>
+<< /Title 239 0 R /A 236 0 R /Parent 214 0 R /Prev 234 0 R /Next 242 0 R >>
endobj
234 0 obj
-<< /Title 235 0 R /A 232 0 R /Parent 210 0 R /Prev 230 0 R /Next 238 0 R >>
+<< /Title 235 0 R /A 232 0 R /Parent 214 0 R /Prev 230 0 R /Next 238 0 R >>
endobj
230 0 obj
-<< /Title 231 0 R /A 228 0 R /Parent 210 0 R /Prev 226 0 R /Next 234 0 R >>
+<< /Title 231 0 R /A 228 0 R /Parent 214 0 R /Prev 226 0 R /Next 234 0 R >>
endobj
226 0 obj
-<< /Title 227 0 R /A 224 0 R /Parent 210 0 R /Prev 222 0 R /Next 230 0 R >>
+<< /Title 227 0 R /A 224 0 R /Parent 214 0 R /Prev 222 0 R /Next 230 0 R >>
endobj
222 0 obj
-<< /Title 223 0 R /A 220 0 R /Parent 210 0 R /Prev 218 0 R /Next 226 0 R >>
+<< /Title 223 0 R /A 220 0 R /Parent 214 0 R /Prev 218 0 R /Next 226 0 R >>
endobj
218 0 obj
-<< /Title 219 0 R /A 216 0 R /Parent 210 0 R /Prev 214 0 R /Next 222 0 R >>
+<< /Title 219 0 R /A 216 0 R /Parent 214 0 R /Next 222 0 R >>
endobj
214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 210 0 R /Next 218 0 R >>
+<< /Title 215 0 R /A 212 0 R /Parent 1545 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 1524 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
+<< /Title 211 0 R /A 208 0 R /Parent 190 0 R /Prev 206 0 R >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 186 0 R /Prev 202 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 190 0 R /Prev 202 0 R /Next 210 0 R >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 186 0 R /Prev 198 0 R /Next 206 0 R >>
+<< /Title 203 0 R /A 200 0 R /Parent 190 0 R /Prev 198 0 R /Next 206 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 186 0 R /Prev 194 0 R /Next 202 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 190 0 R /Prev 194 0 R /Next 202 0 R >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 186 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 1545 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 1524 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
+<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 166 0 R /Prev 178 0 R >>
+<< /Title 183 0 R /A 180 0 R /Parent 170 0 R /Prev 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 166 0 R /Prev 174 0 R /Next 182 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R /Next 182 0 R >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 166 0 R /Prev 170 0 R /Next 178 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
+<< /Title 171 0 R /A 168 0 R /Parent 1545 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1524 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
+<< /Title 167 0 R /A 164 0 R /Parent 1545 0 R /Prev 138 0 R /Next 170 0 R >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 1524 0 R /Prev 134 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 138 0 R /Prev 158 0 R >>
endobj
158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 134 0 R /Prev 154 0 R >>
+<< /Title 159 0 R /A 156 0 R /Parent 138 0 R /Prev 154 0 R /Next 162 0 R >>
endobj
154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 134 0 R /Prev 150 0 R /Next 158 0 R >>
+<< /Title 155 0 R /A 152 0 R /Parent 138 0 R /Prev 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 134 0 R /Prev 146 0 R /Next 154 0 R >>
+<< /Title 151 0 R /A 148 0 R /Parent 138 0 R /Prev 146 0 R /Next 154 0 R >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 134 0 R /Prev 142 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 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 /Next 146 0 R >>
+<< /Title 143 0 R /A 140 0 R /Parent 138 0 R /Next 146 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 134 0 R /Next 142 0 R >>
+<< /Title 139 0 R /A 136 0 R /Parent 1545 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1524 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
+<< /Title 135 0 R /A 132 0 R /Parent 1545 0 R /Prev 118 0 R /Next 138 0 R >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 1524 0 R /Prev 114 0 R /Next 134 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
endobj
126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 114 0 R /Prev 122 0 R >>
+<< /Title 127 0 R /A 124 0 R /Parent 118 0 R /Prev 122 0 R /Next 130 0 R >>
endobj
122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 114 0 R /Prev 118 0 R /Next 126 0 R >>
+<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 114 0 R /Next 122 0 R >>
+<< /Title 119 0 R /A 116 0 R /Parent 1545 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1524 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
+<< /Title 115 0 R /A 112 0 R /Parent 1545 0 R /Prev 94 0 R /Next 118 0 R >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 1524 0 R /Prev 90 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R >>
endobj
106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 90 0 R /Prev 102 0 R >>
+<< /Title 107 0 R /A 104 0 R /Parent 94 0 R /Prev 102 0 R /Next 110 0 R >>
endobj
102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 90 0 R /Prev 98 0 R /Next 106 0 R >>
+<< /Title 103 0 R /A 100 0 R /Parent 94 0 R /Prev 98 0 R /Next 106 0 R >>
endobj
98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 90 0 R /Prev 94 0 R /Next 102 0 R >>
+<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 90 0 R /Next 98 0 R >>
+<< /Title 95 0 R /A 92 0 R /Parent 1545 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 1524 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
+<< /Title 91 0 R /A 88 0 R /Parent 70 0 R /Prev 86 0 R >>
endobj
86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 66 0 R /Prev 82 0 R >>
+<< /Title 87 0 R /A 84 0 R /Parent 70 0 R /Prev 82 0 R /Next 90 0 R >>
endobj
82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 66 0 R /Prev 78 0 R /Next 86 0 R >>
+<< /Title 83 0 R /A 80 0 R /Parent 70 0 R /Prev 78 0 R /Next 86 0 R >>
endobj
78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 66 0 R /Prev 74 0 R /Next 82 0 R >>
+<< /Title 79 0 R /A 76 0 R /Parent 70 0 R /Prev 74 0 R /Next 82 0 R >>
endobj
74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 66 0 R /Prev 70 0 R /Next 78 0 R >>
+<< /Title 75 0 R /A 72 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 >>
+<< /Title 71 0 R /A 68 0 R /Parent 50 0 R /Prev 66 0 R /First 74 0 R /Last 90 0 R /Count -5 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 46 0 R /Prev 62 0 R /First 70 0 R /Last 86 0 R /Count -5 >>
+<< /Title 67 0 R /A 64 0 R /Parent 50 0 R /Prev 54 0 R /Next 70 0 R >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 46 0 R /Prev 50 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 54 0 R /Prev 58 0 R >>
endobj
58 0 obj
-<< /Title 59 0 R /A 56 0 R /Parent 50 0 R /Prev 54 0 R >>
+<< /Title 59 0 R /A 56 0 R /Parent 54 0 R /Next 62 0 R >>
endobj
54 0 obj
-<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 58 0 R >>
+<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 66 0 R /First 58 0 R /Last 62 0 R /Count -2 >>
endobj
50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 46 0 R /Next 62 0 R /First 54 0 R /Last 58 0 R /Count -2 >>
+<< /Title 51 0 R /A 48 0 R /Parent 1545 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
endobj
46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 1524 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
+<< /Title 47 0 R /A 44 0 R /Parent 18 0 R /Prev 42 0 R >>
endobj
42 0 obj
-<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R >>
+<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R /Next 46 0 R >>
endobj
38 0 obj
<< /Title 39 0 R /A 36 0 R /Parent 18 0 R /Prev 34 0 R /Next 42 0 R >>
@@ -7813,1586 +7938,1607 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1524 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1545 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1524 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1545 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1524 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1545 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1524 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 1545 0 R /Next 10 0 R >>
endobj
-1525 0 obj
-<< /Names [ (Doc-Start) 362 0 R (Item.1) 407 0 R (Item.10) 709 0 R (Item.11) 845 0 R (Item.12) 846 0 R (Item.2) 408 0 R (Item.3) 409 0 R (Item.4) 410 0 R (Item.5) 697 0 R (Item.6) 698 0 R (Item.7) 706 0 R (Item.8) 707 0 R (Item.9) 708 0 R (page.1) 361 0 R (page.10) 468 0 R (page.11) 478 0 R (page.12) 491 0 R (page.13) 498 0 R (page.14) 503 0 R (page.15) 508 0 R (page.16) 514 0 R (page.17) 523 0 R (page.18) 529 0 R (page.19) 535 0 R (page.2) 397 0 R (page.20) 541 0 R (page.21) 547 0 R (page.22) 554 0 R (page.23) 561 0 R (page.24) 567 0 R (page.25) 575 0 R (page.26) 583 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+1546 0 obj
+<< /Names [ (Doc-Start) 366 0 R (Item.1) 411 0 R (Item.10) 720 0 R (Item.11) 857 0 R (Item.12) 858 0 R (Item.2) 412 0 R (Item.3) 413 0 R (Item.4) 414 0 R (Item.5) 705 0 R (Item.6) 706 0 R (Item.7) 717 0 R (Item.8) 718 0 R (Item.9) 719 0 R (page.1) 365 0 R (page.10) 470 0 R (page.11) 477 0 R (page.12) 487 0 R (page.13) 499 0 R (page.14) 506 0 R (page.15) 511 0 R (page.16) 516 0 R (page.17) 522 0 R (page.18) 531 0 R (page.19) 537 0 R (page.2) 401 0 R (page.20) 543 0 R (page.21) 549 0 R (page.22) 556 0 R (page.23) 562 0 R (page.24) 569 0 R (page.25) 575 0 R (page.26) 583 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
endobj
-1526 0 obj
-<< /Names [ (page.27) 593 0 R (page.28) 600 0 R (page.29) 605 0 R (page.3) 405 0 R (page.30) 610 0 R (page.31) 617 0 R (page.32) 625 0 R (page.33) 637 0 R (page.34) 646 0 R (page.35) 653 0 R (page.36) 661 0 R (page.37) 667 0 R (page.38) 676 0 R (page.39) 685 0 R (page.4) 418 0 R (page.40) 693 0 R (page.41) 703 0 R (page.42) 716 0 R (page.43) 726 0 R (page.44) 731 0 R (page.45) 736 0 R (page.46) 747 0 R (page.47) 756 0 R (page.48) 765 0 R (page.49) 773 0 R (page.5) 433 0 R (page.50) 780 0 R (page.51) 786 0 R (page.52) 794 0 R (page.53) 800 0 R (page.54) 808 0 R (page.55) 817 0 R ] /Limits [ (page.27) (page.55) ] >>
+1547 0 obj
+<< /Names [ (page.27) 591 0 R (page.28) 601 0 R (page.29) 608 0 R (page.3) 409 0 R (page.30) 613 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 633 0 R (page.34) 645 0 R (page.35) 654 0 R (page.36) 661 0 R (page.37) 669 0 R (page.38) 675 0 R (page.39) 684 0 R (page.4) 422 0 R (page.40) 693 0 R (page.41) 701 0 R (page.42) 712 0 R (page.43) 726 0 R (page.44) 736 0 R (page.45) 741 0 R (page.46) 746 0 R (page.47) 757 0 R (page.48) 766 0 R (page.49) 775 0 R (page.5) 437 0 R (page.50) 783 0 R (page.51) 790 0 R (page.52) 797 0 R (page.53) 803 0 R (page.54) 810 0 R (page.55) 818 0 R ] /Limits [ (page.27) (page.55) ] >>
endobj
-1527 0 obj
-<< /Names [ (page.56) 832 0 R (page.57) 839 0 R (page.58) 844 0 R (page.59) 850 0 R (page.6) 446 0 R (page.60) 854 0 R (page.61) 858 0 R (page.62) 863 0 R (page.63) 867 0 R (page.64) 871 0 R (page.65) 876 0 R (page.66) 881 0 R (page.67) 885 0 R (page.68) 889 0 R (page.69) 1008 0 R (page.7) 451 0 R (page.70) 1114 0 R (page.71) 1206 0 R (page.72) 1250 0 R (page.73) 1305 0 R (page.8) 456 0 R (page.9) 463 0 R (section*.2) 353 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R ] /Limits [ (page.56) (section.17) ] >>
+1548 0 obj
+<< /Names [ (page.56) 827 0 R (page.57) 842 0 R (page.58) 849 0 R (page.59) 854 0 R (page.6) 450 0 R (page.60) 862 0 R (page.61) 866 0 R (page.62) 871 0 R (page.63) 875 0 R (page.64) 879 0 R (page.65) 883 0 R (page.66) 888 0 R (page.67) 893 0 R (page.68) 897 0 R (page.69) 901 0 R (page.7) 455 0 R (page.70) 1020 0 R (page.71) 1129 0 R (page.72) 1222 0 R (page.73) 1265 0 R (page.74) 1321 0 R (page.75) 1326 0 R (page.8) 459 0 R (page.9) 463 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R ] /Limits [ (page.56) (section.15) ] >>
endobj
-1528 0 obj
-<< /Names [ (section.18) 309 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R ] /Limits [ (section.18) (subsection.14.6) ] >>
+1549 0 obj
+<< /Names [ (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R ] /Limits [ (section.16) (subsection.14.4) ] >>
endobj
-1529 0 obj
-<< /Names [ (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R ] /Limits [ (subsection.14.7) (subsection.6.2) ] >>
+1550 0 obj
+<< /Names [ (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R ] /Limits [ (subsection.14.5) (subsection.5.2) ] >>
endobj
-1530 0 obj
-<< /Names [ (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 687 0 R (tabularnote.1) 694 0 R (tabularnote.2) 696 0 R (tabularnote.3) 704 0 R (tabularnote.4) 705 0 R ] /Limits [ (subsection.6.3) (tabularnote.4) ] >>
+1551 0 obj
+<< /Names [ (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 695 0 R (tabularnote.1) 702 0 R (tabularnote.2) 704 0 R (tabularnote.3) 713 0 R (tabularnote.4) 714 0 R (tabularnote.5) 715 0 R (tabularnote.6) 716 0 R (tabularnote.7) 855 0 R (tabularnote.8) 856 0 R ] /Limits [ (subsection.5.3) (tabularnote.8) ] >>
endobj
-1531 0 obj
-<< /Kids [ 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
+1552 0 obj
+<< /Kids [ 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
endobj
-1532 0 obj
-<< /Dests 1531 0 R >>
+1553 0 obj
+<< /Dests 1552 0 R >>
endobj
-1533 0 obj
-<< /Type /Catalog /Pages 1523 0 R /Outlines 1524 0 R /Names 1532 0 R /PageMode/UseOutlines /OpenAction 356 0 R >>
+1554 0 obj
+<< /Type /Catalog /Pages 1544 0 R /Outlines 1545 0 R /Names 1553 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
endobj
-1534 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240423141121+02'00') /ModDate (D:20240423141121+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
+1555 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629213409+02'00') /ModDate (D:20240629213409+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 1535
+0 1556
0000000000 65535 f
-0000577916 00000 n
-0000578072 00000 n
-0000578144 00000 n
+0000588706 00000 n
+0000588862 00000 n
+0000588934 00000 n
0000000020 00000 n
-0000037642 00000 n
-0000869220 00000 n
+0000037853 00000 n
+0000880560 00000 n
0000000065 00000 n
0000000289 00000 n
-0000037702 00000 n
-0000869133 00000 n
+0000037913 00000 n
+0000880473 00000 n
0000000334 00000 n
0000000552 00000 n
-0000043449 00000 n
-0000869044 00000 n
+0000043661 00000 n
+0000880384 00000 n
0000000598 00000 n
0000000710 00000 n
-0000050170 00000 n
-0000868918 00000 n
+0000051017 00000 n
+0000880258 00000 n
0000000756 00000 n
0000000832 00000 n
-0000050231 00000 n
-0000868844 00000 n
+0000051078 00000 n
+0000880184 00000 n
0000000883 00000 n
0000000975 00000 n
-0000063884 00000 n
-0000868757 00000 n
+0000064894 00000 n
+0000880097 00000 n
0000001026 00000 n
0000001170 00000 n
-0000063945 00000 n
-0000868670 00000 n
+0000064954 00000 n
+0000880010 00000 n
0000001221 00000 n
0000001363 00000 n
-0000064006 00000 n
-0000868583 00000 n
+0000065015 00000 n
+0000879923 00000 n
0000001414 00000 n
0000001543 00000 n
-0000070663 00000 n
-0000868496 00000 n
+0000071391 00000 n
+0000879836 00000 n
0000001594 00000 n
0000001867 00000 n
-0000075947 00000 n
-0000868422 00000 n
+0000076984 00000 n
+0000879749 00000 n
0000001918 00000 n
0000002181 00000 n
-0000081055 00000 n
-0000868296 00000 n
-0000002227 00000 n
-0000002442 00000 n
-0000081116 00000 n
-0000868185 00000 n
-0000002493 00000 n
-0000002814 00000 n
-0000081177 00000 n
-0000868111 00000 n
-0000002870 00000 n
-0000003004 00000 n
-0000086418 00000 n
-0000868037 00000 n
-0000003060 00000 n
-0000003187 00000 n
-0000086479 00000 n
-0000867950 00000 n
-0000003238 00000 n
-0000003464 00000 n
-0000092589 00000 n
-0000867839 00000 n
-0000003515 00000 n
-0000003799 00000 n
-0000092650 00000 n
-0000867765 00000 n
-0000003855 00000 n
-0000004023 00000 n
-0000100464 00000 n
-0000867678 00000 n
-0000004079 00000 n
-0000004332 00000 n
-0000100525 00000 n
-0000867591 00000 n
-0000004388 00000 n
-0000004513 00000 n
-0000106784 00000 n
-0000867504 00000 n
-0000004569 00000 n
-0000004706 00000 n
-0000106845 00000 n
-0000867430 00000 n
-0000004762 00000 n
-0000004977 00000 n
-0000123640 00000 n
-0000867302 00000 n
-0000005023 00000 n
-0000005318 00000 n
-0000123701 00000 n
-0000867228 00000 n
-0000005369 00000 n
-0000005518 00000 n
-0000123762 00000 n
-0000867140 00000 n
-0000005569 00000 n
-0000005838 00000 n
-0000153186 00000 n
-0000867049 00000 n
-0000005890 00000 n
-0000006081 00000 n
-0000158579 00000 n
-0000866971 00000 n
-0000006133 00000 n
-0000006320 00000 n
-0000158641 00000 n
-0000866878 00000 n
-0000006367 00000 n
-0000006510 00000 n
-0000165090 00000 n
-0000866745 00000 n
-0000006557 00000 n
-0000006710 00000 n
-0000165152 00000 n
-0000866666 00000 n
-0000006762 00000 n
-0000006887 00000 n
-0000170512 00000 n
-0000866573 00000 n
-0000006939 00000 n
-0000007044 00000 n
-0000175215 00000 n
-0000866494 00000 n
-0000007096 00000 n
-0000007267 00000 n
-0000183211 00000 n
-0000866400 00000 n
-0000007314 00000 n
-0000007536 00000 n
-0000196044 00000 n
-0000866267 00000 n
-0000007584 00000 n
-0000007798 00000 n
-0000206965 00000 n
-0000866188 00000 n
-0000007851 00000 n
-0000007988 00000 n
-0000216224 00000 n
-0000866095 00000 n
-0000008041 00000 n
-0000008268 00000 n
-0000239298 00000 n
-0000866002 00000 n
-0000008321 00000 n
-0000008693 00000 n
-0000246093 00000 n
-0000865909 00000 n
-0000008746 00000 n
-0000008968 00000 n
-0000246155 00000 n
-0000865816 00000 n
-0000009021 00000 n
-0000009270 00000 n
-0000254434 00000 n
-0000865737 00000 n
-0000009323 00000 n
-0000009550 00000 n
-0000260914 00000 n
-0000865643 00000 n
-0000009598 00000 n
-0000009888 00000 n
-0000279093 00000 n
-0000865510 00000 n
-0000009936 00000 n
-0000010036 00000 n
-0000279155 00000 n
-0000865431 00000 n
-0000010089 00000 n
-0000010319 00000 n
-0000279217 00000 n
-0000865338 00000 n
-0000010372 00000 n
-0000010745 00000 n
-0000297191 00000 n
-0000865245 00000 n
-0000010798 00000 n
-0000011147 00000 n
-0000302877 00000 n
-0000865166 00000 n
-0000011200 00000 n
-0000011475 00000 n
-0000302939 00000 n
-0000865033 00000 n
-0000011523 00000 n
-0000011791 00000 n
-0000303001 00000 n
-0000864954 00000 n
-0000011844 00000 n
-0000012005 00000 n
-0000307984 00000 n
-0000864861 00000 n
-0000012058 00000 n
-0000012227 00000 n
-0000308046 00000 n
-0000864768 00000 n
-0000012280 00000 n
-0000012423 00000 n
-0000317848 00000 n
-0000864675 00000 n
-0000012476 00000 n
-0000012702 00000 n
-0000327111 00000 n
-0000864596 00000 n
-0000012755 00000 n
-0000013042 00000 n
-0000327173 00000 n
-0000864462 00000 n
-0000013090 00000 n
-0000013235 00000 n
-0000327235 00000 n
-0000864383 00000 n
-0000013288 00000 n
-0000013436 00000 n
-0000336258 00000 n
-0000864290 00000 n
-0000013489 00000 n
-0000013639 00000 n
-0000336320 00000 n
-0000864197 00000 n
-0000013692 00000 n
-0000013957 00000 n
-0000336382 00000 n
-0000864104 00000 n
-0000014010 00000 n
-0000014286 00000 n
-0000342301 00000 n
-0000864011 00000 n
-0000014339 00000 n
-0000014472 00000 n
-0000342363 00000 n
-0000863918 00000 n
-0000014525 00000 n
-0000014627 00000 n
-0000348889 00000 n
-0000863825 00000 n
-0000014680 00000 n
-0000014851 00000 n
-0000348951 00000 n
-0000863732 00000 n
-0000014904 00000 n
-0000015041 00000 n
-0000354529 00000 n
-0000863639 00000 n
-0000015094 00000 n
-0000015247 00000 n
-0000354591 00000 n
-0000863546 00000 n
-0000015301 00000 n
-0000015524 00000 n
-0000354653 00000 n
-0000863467 00000 n
-0000015578 00000 n
-0000015771 00000 n
-0000360887 00000 n
-0000863334 00000 n
-0000015819 00000 n
-0000016035 00000 n
-0000360949 00000 n
-0000863216 00000 n
-0000016088 00000 n
-0000016368 00000 n
-0000366308 00000 n
-0000863137 00000 n
-0000016426 00000 n
-0000016564 00000 n
-0000366370 00000 n
-0000863058 00000 n
-0000016622 00000 n
-0000016793 00000 n
-0000366432 00000 n
-0000862965 00000 n
-0000016846 00000 n
-0000017111 00000 n
-0000381958 00000 n
-0000862872 00000 n
-0000017164 00000 n
-0000017424 00000 n
-0000387539 00000 n
-0000862793 00000 n
-0000017477 00000 n
-0000017767 00000 n
-0000391858 00000 n
-0000862699 00000 n
-0000017815 00000 n
-0000017981 00000 n
-0000405153 00000 n
-0000862566 00000 n
-0000018029 00000 n
-0000018161 00000 n
-0000405215 00000 n
-0000862487 00000 n
-0000018214 00000 n
-0000018331 00000 n
-0000405277 00000 n
-0000862394 00000 n
-0000018384 00000 n
-0000018510 00000 n
-0000411277 00000 n
-0000862301 00000 n
-0000018563 00000 n
-0000018740 00000 n
-0000411339 00000 n
-0000862222 00000 n
-0000018793 00000 n
-0000018905 00000 n
-0000419832 00000 n
-0000862088 00000 n
-0000018953 00000 n
-0000019022 00000 n
-0000419894 00000 n
-0000862009 00000 n
-0000019075 00000 n
-0000019390 00000 n
-0000423944 00000 n
-0000861916 00000 n
-0000019443 00000 n
-0000019608 00000 n
-0000424006 00000 n
-0000861823 00000 n
-0000019661 00000 n
-0000019814 00000 n
-0000427989 00000 n
-0000861730 00000 n
-0000019867 00000 n
-0000020005 00000 n
-0000448040 00000 n
-0000861637 00000 n
-0000020058 00000 n
-0000020369 00000 n
-0000458238 00000 n
-0000861544 00000 n
-0000020422 00000 n
-0000020545 00000 n
-0000458300 00000 n
-0000861451 00000 n
-0000020598 00000 n
-0000020748 00000 n
-0000477716 00000 n
-0000861358 00000 n
-0000020801 00000 n
-0000021050 00000 n
-0000483925 00000 n
-0000861265 00000 n
-0000021103 00000 n
-0000021378 00000 n
-0000494822 00000 n
-0000861186 00000 n
-0000021432 00000 n
-0000021582 00000 n
-0000519176 00000 n
-0000861106 00000 n
-0000021630 00000 n
-0000021684 00000 n
-0000031994 00000 n
-0000032160 00000 n
-0000032522 00000 n
-0000021736 00000 n
-0000032398 00000 n
-0000032460 00000 n
-0000729539 00000 n
-0000725687 00000 n
-0000723234 00000 n
-0000717914 00000 n
-0000714568 00000 n
-0000712125 00000 n
-0000707558 00000 n
-0000704851 00000 n
-0000857852 00000 n
-0000858580 00000 n
-0000859016 00000 n
-0000858435 00000 n
-0000858144 00000 n
-0000859159 00000 n
-0000694127 00000 n
-0000858871 00000 n
-0000682391 00000 n
-0000677776 00000 n
-0000667641 00000 n
-0000659653 00000 n
-0000655199 00000 n
-0000649425 00000 n
-0000646074 00000 n
-0000636795 00000 n
-0000634889 00000 n
-0000624951 00000 n
-0000621489 00000 n
-0000859733 00000 n
-0000032131 00000 n
-0000037424 00000 n
-0000037270 00000 n
-0000037762 00000 n
-0000037096 00000 n
-0000032984 00000 n
-0000037580 00000 n
-0000612795 00000 n
-0000603392 00000 n
-0000859302 00000 n
-0000037233 00000 n
-0000043765 00000 n
-0000043266 00000 n
-0000038068 00000 n
-0000043387 00000 n
-0000857998 00000 n
-0000043510 00000 n
-0000043574 00000 n
-0000043638 00000 n
-0000043702 00000 n
-0000049793 00000 n
-0000049951 00000 n
-0000057364 00000 n
-0000057518 00000 n
-0000050292 00000 n
-0000049619 00000 n
-0000044058 00000 n
-0000050108 00000 n
-0000858290 00000 n
-0000049756 00000 n
-0000055946 00000 n
-0000056106 00000 n
-0000056266 00000 n
-0000056421 00000 n
-0000056574 00000 n
-0000056728 00000 n
-0000056887 00000 n
-0000057047 00000 n
-0000057205 00000 n
-0000057734 00000 n
-0000055700 00000 n
-0000050585 00000 n
-0000057672 00000 n
-0000599902 00000 n
-0000055837 00000 n
-0000062879 00000 n
-0000063036 00000 n
-0000063193 00000 n
-0000063352 00000 n
-0000063507 00000 n
-0000063664 00000 n
-0000070444 00000 n
-0000064067 00000 n
-0000062673 00000 n
-0000058001 00000 n
-0000063822 00000 n
-0000062810 00000 n
-0000070724 00000 n
-0000070278 00000 n
-0000064243 00000 n
-0000070601 00000 n
-0000070415 00000 n
-0000076008 00000 n
-0000075764 00000 n
-0000070965 00000 n
-0000075885 00000 n
-0000080522 00000 n
-0000080676 00000 n
-0000080839 00000 n
-0000081238 00000 n
-0000080340 00000 n
-0000076210 00000 n
-0000080993 00000 n
-0000080477 00000 n
-0000086540 00000 n
-0000086235 00000 n
-0000081427 00000 n
-0000086356 00000 n
-0000594516 00000 n
-0000091739 00000 n
-0000091892 00000 n
-0000092046 00000 n
-0000092210 00000 n
-0000092364 00000 n
-0000092711 00000 n
-0000091541 00000 n
-0000086755 00000 n
-0000092527 00000 n
-0000858725 00000 n
-0000859886 00000 n
-0000091678 00000 n
-0000099451 00000 n
-0000099611 00000 n
-0000099771 00000 n
-0000099931 00000 n
-0000100090 00000 n
-0000100246 00000 n
-0000100586 00000 n
-0000099245 00000 n
-0000093004 00000 n
-0000100402 00000 n
-0000099382 00000 n
-0000106406 00000 n
-0000106563 00000 n
-0000106906 00000 n
-0000106232 00000 n
-0000100853 00000 n
-0000106722 00000 n
-0000106369 00000 n
-0000111692 00000 n
-0000111509 00000 n
-0000107095 00000 n
-0000111630 00000 n
-0000118090 00000 n
-0000118307 00000 n
-0000117924 00000 n
-0000111946 00000 n
-0000118245 00000 n
-0000118061 00000 n
-0000129988 00000 n
-0000123823 00000 n
-0000123457 00000 n
-0000118535 00000 n
-0000123578 00000 n
-0000129358 00000 n
-0000129520 00000 n
-0000129680 00000 n
-0000129835 00000 n
-0000135488 00000 n
-0000130207 00000 n
-0000129160 00000 n
-0000124090 00000 n
-0000130145 00000 n
-0000129297 00000 n
-0000135648 00000 n
-0000135863 00000 n
-0000135314 00000 n
-0000130474 00000 n
-0000135801 00000 n
-0000135451 00000 n
-0000141355 00000 n
-0000141576 00000 n
-0000141189 00000 n
-0000136091 00000 n
-0000141514 00000 n
-0000141326 00000 n
-0000147254 00000 n
-0000147470 00000 n
-0000147088 00000 n
-0000141765 00000 n
-0000147408 00000 n
-0000147225 00000 n
-0000152972 00000 n
-0000153248 00000 n
-0000152806 00000 n
-0000147646 00000 n
-0000153124 00000 n
-0000860039 00000 n
-0000152943 00000 n
-0000158363 00000 n
-0000158703 00000 n
-0000158197 00000 n
-0000153528 00000 n
-0000158517 00000 n
-0000158334 00000 n
-0000164714 00000 n
-0000164874 00000 n
-0000165214 00000 n
-0000164540 00000 n
-0000158931 00000 n
-0000165028 00000 n
-0000164677 00000 n
-0000170296 00000 n
-0000170574 00000 n
-0000170130 00000 n
-0000165468 00000 n
-0000170450 00000 n
-0000170267 00000 n
-0000174672 00000 n
-0000174836 00000 n
-0000174994 00000 n
-0000175277 00000 n
-0000174490 00000 n
-0000170854 00000 n
-0000175153 00000 n
-0000174627 00000 n
-0000182677 00000 n
-0000182992 00000 n
-0000182832 00000 n
-0000183273 00000 n
-0000182495 00000 n
-0000175479 00000 n
-0000183149 00000 n
-0000182632 00000 n
-0000195189 00000 n
-0000195352 00000 n
-0000195506 00000 n
-0000195666 00000 n
-0000195825 00000 n
-0000196106 00000 n
-0000194991 00000 n
-0000183540 00000 n
-0000195982 00000 n
-0000590410 00000 n
-0000195128 00000 n
-0000206750 00000 n
-0000207027 00000 n
-0000206584 00000 n
-0000196399 00000 n
-0000206903 00000 n
-0000206721 00000 n
-0000216286 00000 n
-0000216041 00000 n
-0000207281 00000 n
-0000216162 00000 n
-0000245399 00000 n
-0000239358 00000 n
-0000239115 00000 n
-0000216553 00000 n
-0000239236 00000 n
-0000245559 00000 n
-0000245719 00000 n
-0000245879 00000 n
-0000246217 00000 n
-0000245209 00000 n
-0000239638 00000 n
-0000246031 00000 n
-0000860192 00000 n
-0000245346 00000 n
-0000253994 00000 n
-0000254214 00000 n
-0000254496 00000 n
-0000253820 00000 n
-0000246471 00000 n
-0000254372 00000 n
-0000587875 00000 n
-0000253957 00000 n
-0000260057 00000 n
-0000260217 00000 n
-0000260378 00000 n
-0000260532 00000 n
-0000260692 00000 n
-0000278398 00000 n
-0000260976 00000 n
-0000259859 00000 n
-0000254815 00000 n
-0000260852 00000 n
-0000859590 00000 n
-0000259996 00000 n
-0000278556 00000 n
-0000278711 00000 n
-0000278871 00000 n
-0000279279 00000 n
-0000278208 00000 n
-0000261282 00000 n
-0000279031 00000 n
-0000278345 00000 n
-0000285469 00000 n
-0000285624 00000 n
-0000285841 00000 n
-0000285295 00000 n
-0000279533 00000 n
-0000285779 00000 n
-0000285432 00000 n
-0000290993 00000 n
-0000291153 00000 n
-0000291311 00000 n
-0000291533 00000 n
-0000290811 00000 n
-0000286095 00000 n
-0000291471 00000 n
-0000290948 00000 n
-0000296933 00000 n
-0000297253 00000 n
-0000296767 00000 n
-0000291735 00000 n
-0000297129 00000 n
-0000296904 00000 n
-0000302497 00000 n
-0000302651 00000 n
-0000306989 00000 n
-0000307142 00000 n
-0000303063 00000 n
-0000302323 00000 n
-0000297559 00000 n
-0000302815 00000 n
-0000302460 00000 n
-0000307296 00000 n
-0000307456 00000 n
-0000307616 00000 n
-0000307770 00000 n
-0000308108 00000 n
-0000306783 00000 n
-0000303291 00000 n
-0000307922 00000 n
-0000306920 00000 n
-0000317402 00000 n
-0000313163 00000 n
-0000313323 00000 n
-0000313800 00000 n
-0000312989 00000 n
-0000308271 00000 n
-0000313483 00000 n
-0000313545 00000 n
-0000584812 00000 n
-0000313609 00000 n
-0000313673 00000 n
-0000313737 00000 n
-0000313126 00000 n
-0000317910 00000 n
-0000317219 00000 n
-0000314041 00000 n
-0000317340 00000 n
-0000317464 00000 n
-0000317528 00000 n
-0000317592 00000 n
-0000317656 00000 n
-0000317720 00000 n
-0000317784 00000 n
-0000860345 00000 n
-0000321880 00000 n
-0000322040 00000 n
-0000322261 00000 n
-0000321706 00000 n
-0000318138 00000 n
-0000322199 00000 n
-0000321843 00000 n
-0000326242 00000 n
-0000326401 00000 n
-0000326561 00000 n
-0000326721 00000 n
-0000326885 00000 n
-0000327297 00000 n
-0000326044 00000 n
-0000322437 00000 n
-0000327049 00000 n
-0000326181 00000 n
-0000336444 00000 n
-0000336075 00000 n
-0000327512 00000 n
-0000336196 00000 n
-0000342088 00000 n
-0000342425 00000 n
-0000341922 00000 n
-0000336724 00000 n
-0000342239 00000 n
-0000859447 00000 n
-0000342059 00000 n
-0000348054 00000 n
-0000348207 00000 n
-0000348361 00000 n
-0000348519 00000 n
-0000348673 00000 n
-0000349013 00000 n
-0000347856 00000 n
-0000342744 00000 n
-0000348827 00000 n
-0000857706 00000 n
-0000347993 00000 n
-0000353964 00000 n
-0000354123 00000 n
-0000354277 00000 n
-0000354715 00000 n
-0000353782 00000 n
-0000349293 00000 n
-0000354467 00000 n
-0000353919 00000 n
-0000360211 00000 n
-0000360363 00000 n
-0000360523 00000 n
-0000360674 00000 n
-0000361011 00000 n
-0000360021 00000 n
-0000354969 00000 n
-0000360825 00000 n
-0000360158 00000 n
-0000365770 00000 n
-0000365928 00000 n
-0000366087 00000 n
-0000366492 00000 n
-0000365588 00000 n
-0000361304 00000 n
-0000366246 00000 n
-0000365725 00000 n
-0000373885 00000 n
-0000381587 00000 n
-0000374099 00000 n
-0000373719 00000 n
-0000366720 00000 n
-0000374037 00000 n
-0000373856 00000 n
-0000381744 00000 n
-0000382020 00000 n
-0000381413 00000 n
-0000374353 00000 n
-0000381896 00000 n
-0000582336 00000 n
-0000860498 00000 n
-0000381550 00000 n
-0000387317 00000 n
-0000387601 00000 n
-0000387151 00000 n
-0000382287 00000 n
-0000387477 00000 n
-0000387288 00000 n
-0000391636 00000 n
-0000391920 00000 n
-0000391470 00000 n
-0000387829 00000 n
-0000391796 00000 n
-0000391607 00000 n
-0000404928 00000 n
-0000410663 00000 n
-0000410821 00000 n
-0000405339 00000 n
-0000404762 00000 n
-0000392148 00000 n
-0000405091 00000 n
-0000404899 00000 n
-0000410980 00000 n
-0000410499 00000 n
-0000419140 00000 n
-0000419304 00000 n
-0000411401 00000 n
-0000410309 00000 n
-0000405580 00000 n
-0000411215 00000 n
-0000579851 00000 n
-0000410446 00000 n
-0000411655 00000 n
-0000411973 00000 n
-0000412299 00000 n
-0000412503 00000 n
-0000412981 00000 n
-0000413325 00000 n
-0000413529 00000 n
-0000419468 00000 n
-0000419619 00000 n
-0000419956 00000 n
+0000082489 00000 n
+0000879675 00000 n
+0000002232 00000 n
+0000002394 00000 n
+0000088672 00000 n
+0000879549 00000 n
+0000002440 00000 n
+0000002655 00000 n
+0000088733 00000 n
+0000879438 00000 n
+0000002706 00000 n
+0000003027 00000 n
+0000088793 00000 n
+0000879364 00000 n
+0000003083 00000 n
+0000003217 00000 n
+0000088854 00000 n
+0000879290 00000 n
+0000003273 00000 n
+0000003400 00000 n
+0000093951 00000 n
+0000879203 00000 n
+0000003451 00000 n
+0000003677 00000 n
+0000094012 00000 n
+0000879092 00000 n
+0000003728 00000 n
+0000004012 00000 n
+0000100609 00000 n
+0000879018 00000 n
+0000004068 00000 n
+0000004236 00000 n
+0000100670 00000 n
+0000878931 00000 n
+0000004292 00000 n
+0000004545 00000 n
+0000108411 00000 n
+0000878844 00000 n
+0000004601 00000 n
+0000004726 00000 n
+0000114681 00000 n
+0000878757 00000 n
+0000004782 00000 n
+0000004919 00000 n
+0000114742 00000 n
+0000878683 00000 n
+0000004975 00000 n
+0000005190 00000 n
+0000131444 00000 n
+0000878555 00000 n
+0000005236 00000 n
+0000005531 00000 n
+0000131505 00000 n
+0000878480 00000 n
+0000005582 00000 n
+0000005731 00000 n
+0000131566 00000 n
+0000878389 00000 n
+0000005783 00000 n
+0000006053 00000 n
+0000160999 00000 n
+0000878297 00000 n
+0000006105 00000 n
+0000006296 00000 n
+0000166281 00000 n
+0000878219 00000 n
+0000006348 00000 n
+0000006535 00000 n
+0000166343 00000 n
+0000878126 00000 n
+0000006582 00000 n
+0000006725 00000 n
+0000172779 00000 n
+0000877993 00000 n
+0000006772 00000 n
+0000006925 00000 n
+0000172841 00000 n
+0000877914 00000 n
+0000006977 00000 n
+0000007102 00000 n
+0000178205 00000 n
+0000877821 00000 n
+0000007154 00000 n
+0000007259 00000 n
+0000182908 00000 n
+0000877742 00000 n
+0000007311 00000 n
+0000007482 00000 n
+0000190902 00000 n
+0000877648 00000 n
+0000007529 00000 n
+0000007751 00000 n
+0000203740 00000 n
+0000877515 00000 n
+0000007799 00000 n
+0000008013 00000 n
+0000214660 00000 n
+0000877436 00000 n
+0000008066 00000 n
+0000008203 00000 n
+0000223915 00000 n
+0000877343 00000 n
+0000008256 00000 n
+0000008483 00000 n
+0000246989 00000 n
+0000877250 00000 n
+0000008536 00000 n
+0000008908 00000 n
+0000253781 00000 n
+0000877157 00000 n
+0000008961 00000 n
+0000009183 00000 n
+0000253843 00000 n
+0000877064 00000 n
+0000009236 00000 n
+0000009485 00000 n
+0000262127 00000 n
+0000876985 00000 n
+0000009538 00000 n
+0000009765 00000 n
+0000268603 00000 n
+0000876891 00000 n
+0000009813 00000 n
+0000010103 00000 n
+0000286777 00000 n
+0000876758 00000 n
+0000010151 00000 n
+0000010251 00000 n
+0000286839 00000 n
+0000876679 00000 n
+0000010304 00000 n
+0000010534 00000 n
+0000286901 00000 n
+0000876586 00000 n
+0000010587 00000 n
+0000010960 00000 n
+0000304896 00000 n
+0000876493 00000 n
+0000011013 00000 n
+0000011362 00000 n
+0000310527 00000 n
+0000876414 00000 n
+0000011415 00000 n
+0000011690 00000 n
+0000310589 00000 n
+0000876281 00000 n
+0000011738 00000 n
+0000012006 00000 n
+0000310651 00000 n
+0000876202 00000 n
+0000012059 00000 n
+0000012220 00000 n
+0000315620 00000 n
+0000876109 00000 n
+0000012273 00000 n
+0000012442 00000 n
+0000315682 00000 n
+0000876016 00000 n
+0000012495 00000 n
+0000012638 00000 n
+0000325528 00000 n
+0000875923 00000 n
+0000012691 00000 n
+0000012917 00000 n
+0000334791 00000 n
+0000875844 00000 n
+0000012970 00000 n
+0000013257 00000 n
+0000334853 00000 n
+0000875710 00000 n
+0000013305 00000 n
+0000013450 00000 n
+0000334915 00000 n
+0000875631 00000 n
+0000013503 00000 n
+0000013651 00000 n
+0000343938 00000 n
+0000875538 00000 n
+0000013704 00000 n
+0000013854 00000 n
+0000344000 00000 n
+0000875445 00000 n
+0000013907 00000 n
+0000014172 00000 n
+0000344062 00000 n
+0000875352 00000 n
+0000014225 00000 n
+0000014501 00000 n
+0000349979 00000 n
+0000875259 00000 n
+0000014554 00000 n
+0000014687 00000 n
+0000350041 00000 n
+0000875166 00000 n
+0000014740 00000 n
+0000014842 00000 n
+0000356567 00000 n
+0000875073 00000 n
+0000014895 00000 n
+0000015066 00000 n
+0000356629 00000 n
+0000874980 00000 n
+0000015119 00000 n
+0000015256 00000 n
+0000362122 00000 n
+0000874887 00000 n
+0000015309 00000 n
+0000015462 00000 n
+0000362183 00000 n
+0000874794 00000 n
+0000015516 00000 n
+0000015739 00000 n
+0000362245 00000 n
+0000874715 00000 n
+0000015793 00000 n
+0000015986 00000 n
+0000368459 00000 n
+0000874582 00000 n
+0000016034 00000 n
+0000016250 00000 n
+0000368521 00000 n
+0000874464 00000 n
+0000016303 00000 n
+0000016583 00000 n
+0000373892 00000 n
+0000874385 00000 n
+0000016641 00000 n
+0000016779 00000 n
+0000373954 00000 n
+0000874306 00000 n
+0000016837 00000 n
+0000017008 00000 n
+0000374016 00000 n
+0000874213 00000 n
+0000017061 00000 n
+0000017326 00000 n
+0000388309 00000 n
+0000874120 00000 n
+0000017379 00000 n
+0000017639 00000 n
+0000395386 00000 n
+0000874041 00000 n
+0000017692 00000 n
+0000017982 00000 n
+0000399720 00000 n
+0000873947 00000 n
+0000018030 00000 n
+0000018196 00000 n
+0000413017 00000 n
+0000873814 00000 n
+0000018244 00000 n
+0000018376 00000 n
+0000413079 00000 n
+0000873735 00000 n
+0000018429 00000 n
+0000018546 00000 n
+0000413141 00000 n
+0000873642 00000 n
+0000018599 00000 n
+0000018725 00000 n
+0000418826 00000 n
+0000873549 00000 n
+0000018778 00000 n
+0000018955 00000 n
+0000418888 00000 n
+0000873470 00000 n
+0000019008 00000 n
+0000019120 00000 n
+0000427095 00000 n
+0000873336 00000 n
+0000019168 00000 n
+0000019237 00000 n
+0000427157 00000 n
+0000873257 00000 n
+0000019290 00000 n
+0000019605 00000 n
+0000431681 00000 n
+0000873164 00000 n
+0000019658 00000 n
+0000019823 00000 n
+0000431743 00000 n
+0000873071 00000 n
+0000019876 00000 n
+0000020029 00000 n
+0000435997 00000 n
+0000872978 00000 n
+0000020082 00000 n
+0000020220 00000 n
+0000456123 00000 n
+0000872885 00000 n
+0000020273 00000 n
+0000020584 00000 n
+0000466909 00000 n
+0000872792 00000 n
+0000020637 00000 n
+0000020760 00000 n
+0000466971 00000 n
+0000872699 00000 n
+0000020813 00000 n
+0000020963 00000 n
+0000485220 00000 n
+0000872606 00000 n
+0000021016 00000 n
+0000021265 00000 n
+0000503299 00000 n
+0000872513 00000 n
+0000021318 00000 n
+0000021593 00000 n
+0000506791 00000 n
+0000872434 00000 n
+0000021647 00000 n
+0000021797 00000 n
+0000528644 00000 n
+0000872354 00000 n
+0000021845 00000 n
+0000021899 00000 n
+0000032205 00000 n
+0000032371 00000 n
+0000032733 00000 n
+0000021951 00000 n
+0000032609 00000 n
+0000032671 00000 n
+0000740770 00000 n
+0000736918 00000 n
+0000734465 00000 n
+0000729224 00000 n
+0000725878 00000 n
+0000723435 00000 n
+0000718868 00000 n
+0000716161 00000 n
+0000869083 00000 n
+0000869811 00000 n
+0000870247 00000 n
+0000869666 00000 n
+0000869375 00000 n
+0000870390 00000 n
+0000705437 00000 n
+0000870102 00000 n
+0000693482 00000 n
+0000688867 00000 n
+0000678732 00000 n
+0000670687 00000 n
+0000666233 00000 n
+0000660459 00000 n
+0000657108 00000 n
+0000647829 00000 n
+0000645923 00000 n
+0000635985 00000 n
+0000632523 00000 n
+0000870964 00000 n
+0000032342 00000 n
+0000037635 00000 n
+0000037481 00000 n
+0000037973 00000 n
+0000037307 00000 n
+0000033195 00000 n
+0000037791 00000 n
+0000623829 00000 n
+0000614182 00000 n
+0000870533 00000 n
+0000037444 00000 n
+0000043977 00000 n
+0000043478 00000 n
+0000038279 00000 n
+0000043599 00000 n
+0000869229 00000 n
+0000043722 00000 n
+0000043786 00000 n
+0000043850 00000 n
+0000043914 00000 n
+0000050340 00000 n
+0000050497 00000 n
+0000050653 00000 n
+0000050804 00000 n
+0000051139 00000 n
+0000050150 00000 n
+0000044270 00000 n
+0000050955 00000 n
+0000869521 00000 n
+0000050287 00000 n
+0000056452 00000 n
+0000056612 00000 n
+0000056772 00000 n
+0000056926 00000 n
+0000057078 00000 n
+0000057231 00000 n
+0000057390 00000 n
+0000057550 00000 n
+0000057708 00000 n
+0000057929 00000 n
+0000056222 00000 n
+0000051432 00000 n
+0000057867 00000 n
+0000610692 00000 n
+0000056359 00000 n
+0000063728 00000 n
+0000063886 00000 n
+0000064044 00000 n
+0000064203 00000 n
+0000064358 00000 n
+0000064516 00000 n
+0000064675 00000 n
+0000065076 00000 n
+0000063514 00000 n
+0000058196 00000 n
+0000064832 00000 n
+0000063651 00000 n
+0000071452 00000 n
+0000071208 00000 n
+0000065291 00000 n
+0000071329 00000 n
+0000077045 00000 n
+0000076801 00000 n
+0000071693 00000 n
+0000076922 00000 n
+0000082550 00000 n
+0000082306 00000 n
+0000077260 00000 n
+0000082427 00000 n
+0000088139 00000 n
+0000088293 00000 n
+0000088456 00000 n
+0000088915 00000 n
+0000087957 00000 n
+0000082791 00000 n
+0000088610 00000 n
+0000088094 00000 n
+0000093736 00000 n
+0000099912 00000 n
+0000094073 00000 n
+0000093570 00000 n
+0000089117 00000 n
+0000093889 00000 n
+0000605306 00000 n
+0000871117 00000 n
+0000093707 00000 n
+0000100066 00000 n
+0000100230 00000 n
+0000100384 00000 n
+0000100731 00000 n
+0000099722 00000 n
+0000094314 00000 n
+0000100547 00000 n
+0000869956 00000 n
+0000099859 00000 n
+0000107399 00000 n
+0000107559 00000 n
+0000107719 00000 n
+0000107879 00000 n
+0000108037 00000 n
+0000108194 00000 n
+0000108472 00000 n
+0000107193 00000 n
+0000101011 00000 n
+0000108349 00000 n
+0000107330 00000 n
+0000114301 00000 n
+0000114459 00000 n
+0000114801 00000 n
+0000114127 00000 n
+0000108726 00000 n
+0000114619 00000 n
+0000114264 00000 n
+0000119456 00000 n
+0000119273 00000 n
+0000115042 00000 n
+0000119394 00000 n
+0000125895 00000 n
+0000126112 00000 n
+0000125729 00000 n
+0000119658 00000 n
+0000126050 00000 n
+0000125866 00000 n
+0000137791 00000 n
+0000131628 00000 n
+0000131261 00000 n
+0000126340 00000 n
+0000131382 00000 n
+0000137161 00000 n
+0000137323 00000 n
+0000137483 00000 n
+0000137638 00000 n
+0000143296 00000 n
+0000138010 00000 n
+0000136963 00000 n
+0000131895 00000 n
+0000137948 00000 n
+0000137100 00000 n
+0000143456 00000 n
+0000143671 00000 n
+0000143122 00000 n
+0000138277 00000 n
+0000143609 00000 n
+0000143259 00000 n
+0000149175 00000 n
+0000149396 00000 n
+0000149009 00000 n
+0000143899 00000 n
+0000149334 00000 n
+0000149146 00000 n
+0000155076 00000 n
+0000155292 00000 n
+0000154910 00000 n
+0000149585 00000 n
+0000155230 00000 n
+0000871270 00000 n
+0000155047 00000 n
+0000160785 00000 n
+0000161061 00000 n
+0000160619 00000 n
+0000155468 00000 n
+0000160937 00000 n
+0000160756 00000 n
+0000166065 00000 n
+0000166405 00000 n
+0000165899 00000 n
+0000161341 00000 n
+0000166219 00000 n
+0000166036 00000 n
+0000172403 00000 n
+0000172563 00000 n
+0000172903 00000 n
+0000172229 00000 n
+0000166620 00000 n
+0000172717 00000 n
+0000172366 00000 n
+0000177989 00000 n
+0000178267 00000 n
+0000177823 00000 n
+0000173157 00000 n
+0000178143 00000 n
+0000177960 00000 n
+0000182365 00000 n
+0000182529 00000 n
+0000182687 00000 n
+0000182970 00000 n
+0000182183 00000 n
+0000178547 00000 n
+0000182846 00000 n
+0000182320 00000 n
+0000190368 00000 n
+0000190683 00000 n
+0000190523 00000 n
+0000190964 00000 n
+0000190186 00000 n
+0000183172 00000 n
+0000190840 00000 n
+0000190323 00000 n
+0000202885 00000 n
+0000203048 00000 n
+0000203202 00000 n
+0000203362 00000 n
+0000203521 00000 n
+0000203802 00000 n
+0000202687 00000 n
+0000191231 00000 n
+0000203678 00000 n
+0000601200 00000 n
+0000202824 00000 n
+0000214445 00000 n
+0000214722 00000 n
+0000214279 00000 n
+0000204095 00000 n
+0000214598 00000 n
+0000214416 00000 n
+0000223977 00000 n
+0000223732 00000 n
+0000214976 00000 n
+0000223853 00000 n
+0000253087 00000 n
+0000247049 00000 n
+0000246806 00000 n
+0000224244 00000 n
+0000246927 00000 n
+0000871423 00000 n
+0000253247 00000 n
+0000253407 00000 n
+0000253567 00000 n
+0000253905 00000 n
+0000252897 00000 n
+0000247329 00000 n
+0000253719 00000 n
+0000253034 00000 n
+0000261687 00000 n
+0000261907 00000 n
+0000262189 00000 n
+0000261513 00000 n
+0000254159 00000 n
+0000262065 00000 n
+0000598665 00000 n
+0000261650 00000 n
+0000267746 00000 n
+0000267906 00000 n
+0000268067 00000 n
+0000268221 00000 n
+0000268381 00000 n
+0000286082 00000 n
+0000268665 00000 n
+0000267548 00000 n
+0000262508 00000 n
+0000268541 00000 n
+0000870821 00000 n
+0000267685 00000 n
+0000286240 00000 n
+0000286395 00000 n
+0000286555 00000 n
+0000286963 00000 n
+0000285892 00000 n
+0000268971 00000 n
+0000286715 00000 n
+0000286029 00000 n
+0000293158 00000 n
+0000293313 00000 n
+0000293530 00000 n
+0000292984 00000 n
+0000287217 00000 n
+0000293468 00000 n
+0000293121 00000 n
+0000298690 00000 n
+0000298850 00000 n
+0000299008 00000 n
+0000299230 00000 n
+0000298508 00000 n
+0000293784 00000 n
+0000299168 00000 n
+0000298645 00000 n
+0000304638 00000 n
+0000304958 00000 n
+0000304472 00000 n
+0000299432 00000 n
+0000304834 00000 n
+0000304609 00000 n
+0000310147 00000 n
+0000310301 00000 n
+0000314625 00000 n
+0000314778 00000 n
+0000310713 00000 n
+0000309973 00000 n
+0000305264 00000 n
+0000310465 00000 n
+0000310110 00000 n
+0000314932 00000 n
+0000315092 00000 n
+0000315252 00000 n
+0000315406 00000 n
+0000315744 00000 n
+0000314419 00000 n
+0000310928 00000 n
+0000315558 00000 n
+0000314556 00000 n
+0000324954 00000 n
+0000320728 00000 n
+0000320888 00000 n
+0000321365 00000 n
+0000320554 00000 n
+0000315907 00000 n
+0000321048 00000 n
+0000321110 00000 n
+0000595602 00000 n
+0000321174 00000 n
+0000321238 00000 n
+0000321302 00000 n
+0000871576 00000 n
+0000320691 00000 n
+0000325589 00000 n
+0000324771 00000 n
+0000321606 00000 n
+0000324892 00000 n
+0000325016 00000 n
+0000325080 00000 n
+0000325144 00000 n
+0000325208 00000 n
+0000325272 00000 n
+0000325336 00000 n
+0000325400 00000 n
+0000325464 00000 n
+0000329560 00000 n
+0000329720 00000 n
+0000329941 00000 n
+0000329386 00000 n
+0000325817 00000 n
+0000329879 00000 n
+0000329523 00000 n
+0000333922 00000 n
+0000334081 00000 n
+0000334241 00000 n
+0000334401 00000 n
+0000334565 00000 n
+0000334977 00000 n
+0000333724 00000 n
+0000330117 00000 n
+0000334729 00000 n
+0000333861 00000 n
+0000344124 00000 n
+0000343755 00000 n
+0000335192 00000 n
+0000343876 00000 n
+0000349766 00000 n
+0000350103 00000 n
+0000349600 00000 n
+0000344404 00000 n
+0000349917 00000 n
+0000870678 00000 n
+0000349737 00000 n
+0000355732 00000 n
+0000355885 00000 n
+0000356039 00000 n
+0000356197 00000 n
+0000356351 00000 n
+0000356691 00000 n
+0000355534 00000 n
+0000350422 00000 n
+0000356505 00000 n
+0000868937 00000 n
+0000355671 00000 n
+0000361557 00000 n
+0000361716 00000 n
+0000361870 00000 n
+0000362307 00000 n
+0000361375 00000 n
+0000356971 00000 n
+0000362060 00000 n
+0000361512 00000 n
+0000367783 00000 n
+0000367935 00000 n
+0000368095 00000 n
+0000368246 00000 n
+0000368583 00000 n
+0000367593 00000 n
+0000362548 00000 n
+0000368397 00000 n
+0000367730 00000 n
+0000373354 00000 n
+0000373512 00000 n
+0000373671 00000 n
+0000374076 00000 n
+0000373172 00000 n
+0000368889 00000 n
+0000373830 00000 n
+0000373309 00000 n
+0000381480 00000 n
+0000387938 00000 n
+0000381694 00000 n
+0000381314 00000 n
+0000374304 00000 n
+0000381632 00000 n
+0000871729 00000 n
+0000381451 00000 n
+0000388095 00000 n
+0000388371 00000 n
+0000387764 00000 n
+0000381948 00000 n
+0000388247 00000 n
+0000387901 00000 n
+0000395164 00000 n
+0000395448 00000 n
+0000394998 00000 n
+0000388638 00000 n
+0000395324 00000 n
+0000593126 00000 n
+0000395135 00000 n
+0000399498 00000 n
+0000399782 00000 n
+0000399332 00000 n
+0000395689 00000 n
+0000399658 00000 n
+0000399469 00000 n
+0000412792 00000 n
+0000418211 00000 n
+0000418369 00000 n
+0000413203 00000 n
+0000412626 00000 n
+0000400010 00000 n
+0000412955 00000 n
+0000412763 00000 n
+0000418528 00000 n
+0000426237 00000 n
+0000426401 00000 n
+0000426565 00000 n
0000418950 00000 n
-0000414171 00000 n
-0000419770 00000 n
-0000419087 00000 n
-0000423572 00000 n
-0000423727 00000 n
-0000424068 00000 n
-0000423398 00000 n
-0000420238 00000 n
-0000423882 00000 n
-0000423535 00000 n
-0000428050 00000 n
-0000427679 00000 n
-0000424270 00000 n
-0000427800 00000 n
-0000427862 00000 n
-0000427926 00000 n
-0000448102 00000 n
-0000447857 00000 n
-0000428239 00000 n
-0000447978 00000 n
-0000454613 00000 n
-0000454430 00000 n
-0000448369 00000 n
-0000454551 00000 n
-0000458362 00000 n
-0000458055 00000 n
-0000454867 00000 n
-0000458176 00000 n
-0000860651 00000 n
-0000462149 00000 n
-0000461966 00000 n
-0000458564 00000 n
-0000462087 00000 n
-0000467690 00000 n
-0000467507 00000 n
-0000462390 00000 n
-0000467628 00000 n
-0000472089 00000 n
-0000471906 00000 n
-0000467918 00000 n
-0000472027 00000 n
-0000477493 00000 n
-0000477778 00000 n
-0000477327 00000 n
-0000472317 00000 n
-0000477654 00000 n
-0000477464 00000 n
-0000483987 00000 n
-0000483742 00000 n
-0000478045 00000 n
-0000483863 00000 n
-0000494884 00000 n
-0000494639 00000 n
-0000484189 00000 n
-0000494760 00000 n
-0000497488 00000 n
-0000497305 00000 n
-0000495112 00000 n
-0000497426 00000 n
-0000502019 00000 n
-0000502171 00000 n
-0000502323 00000 n
-0000502475 00000 n
-0000502627 00000 n
-0000502779 00000 n
-0000502931 00000 n
-0000503082 00000 n
-0000503234 00000 n
-0000503385 00000 n
-0000503537 00000 n
-0000503686 00000 n
-0000503837 00000 n
-0000503988 00000 n
-0000504137 00000 n
-0000504286 00000 n
-0000504435 00000 n
-0000504585 00000 n
-0000504737 00000 n
-0000504888 00000 n
-0000505039 00000 n
-0000505191 00000 n
-0000505343 00000 n
-0000505493 00000 n
-0000505645 00000 n
-0000505795 00000 n
-0000505947 00000 n
-0000506095 00000 n
-0000506244 00000 n
-0000506395 00000 n
-0000506547 00000 n
-0000506697 00000 n
-0000506847 00000 n
-0000506998 00000 n
-0000507150 00000 n
-0000507301 00000 n
-0000507453 00000 n
-0000507605 00000 n
-0000507756 00000 n
-0000507907 00000 n
-0000508059 00000 n
-0000508211 00000 n
-0000508363 00000 n
-0000508514 00000 n
-0000508666 00000 n
-0000508818 00000 n
-0000508969 00000 n
-0000509121 00000 n
-0000509273 00000 n
-0000509424 00000 n
-0000509576 00000 n
-0000509728 00000 n
-0000509880 00000 n
-0000510031 00000 n
-0000510183 00000 n
-0000510335 00000 n
-0000510485 00000 n
-0000510634 00000 n
-0000510784 00000 n
-0000510934 00000 n
-0000511084 00000 n
-0000511234 00000 n
-0000511386 00000 n
-0000511537 00000 n
-0000511689 00000 n
-0000511841 00000 n
-0000511993 00000 n
-0000512145 00000 n
-0000512297 00000 n
-0000512448 00000 n
-0000512600 00000 n
-0000512751 00000 n
-0000512902 00000 n
-0000513054 00000 n
-0000513206 00000 n
-0000513358 00000 n
-0000513510 00000 n
-0000513662 00000 n
-0000513813 00000 n
-0000513965 00000 n
-0000514117 00000 n
-0000514268 00000 n
-0000514419 00000 n
-0000514570 00000 n
-0000514722 00000 n
-0000514874 00000 n
-0000515025 00000 n
-0000515177 00000 n
-0000515327 00000 n
-0000515477 00000 n
-0000515629 00000 n
-0000515780 00000 n
-0000515931 00000 n
-0000516083 00000 n
-0000516235 00000 n
-0000516387 00000 n
-0000516539 00000 n
-0000516691 00000 n
-0000516843 00000 n
-0000516995 00000 n
-0000517147 00000 n
-0000517299 00000 n
-0000517451 00000 n
-0000517603 00000 n
-0000517754 00000 n
-0000517906 00000 n
-0000518057 00000 n
-0000518209 00000 n
-0000518360 00000 n
-0000518511 00000 n
-0000518661 00000 n
-0000518811 00000 n
-0000518962 00000 n
-0000523866 00000 n
-0000524018 00000 n
-0000519239 00000 n
-0000500949 00000 n
-0000497625 00000 n
-0000519112 00000 n
-0000501090 00000 n
+0000418029 00000 n
+0000413444 00000 n
+0000418764 00000 n
+0000590641 00000 n
+0000418166 00000 n
+0000419204 00000 n
+0000419522 00000 n
+0000419848 00000 n
+0000420052 00000 n
+0000420530 00000 n
+0000420874 00000 n
+0000421078 00000 n
+0000426729 00000 n
+0000426881 00000 n
+0000427219 00000 n
+0000426039 00000 n
+0000421720 00000 n
+0000427033 00000 n
+0000426176 00000 n
+0000431309 00000 n
+0000431464 00000 n
+0000431805 00000 n
+0000431135 00000 n
+0000427501 00000 n
+0000431619 00000 n
+0000431272 00000 n
+0000436059 00000 n
+0000435558 00000 n
+0000432007 00000 n
+0000435679 00000 n
+0000435741 00000 n
+0000435805 00000 n
+0000435869 00000 n
+0000435933 00000 n
+0000456185 00000 n
+0000455940 00000 n
+0000436274 00000 n
+0000456061 00000 n
+0000462189 00000 n
+0000462006 00000 n
+0000456452 00000 n
+0000462127 00000 n
+0000871882 00000 n
+0000467033 00000 n
+0000466726 00000 n
+0000462456 00000 n
+0000466847 00000 n
+0000470703 00000 n
+0000470520 00000 n
+0000467248 00000 n
+0000470641 00000 n
+0000474086 00000 n
+0000473903 00000 n
+0000470944 00000 n
+0000474024 00000 n
+0000478429 00000 n
+0000478246 00000 n
+0000474314 00000 n
+0000478367 00000 n
+0000484997 00000 n
+0000485282 00000 n
+0000484831 00000 n
+0000478657 00000 n
+0000485158 00000 n
+0000484968 00000 n
+0000491074 00000 n
+0000490891 00000 n
+0000485588 00000 n
+0000491012 00000 n
+0000503361 00000 n
+0000503116 00000 n
+0000491289 00000 n
+0000503237 00000 n
+0000506853 00000 n
+0000506608 00000 n
+0000503602 00000 n
+0000506729 00000 n
+0000511476 00000 n
+0000511626 00000 n
+0000511776 00000 n
+0000511927 00000 n
+0000512079 00000 n
+0000512231 00000 n
+0000512383 00000 n
+0000512535 00000 n
+0000512687 00000 n
+0000512838 00000 n
+0000512989 00000 n
+0000513141 00000 n
+0000513293 00000 n
+0000513444 00000 n
+0000513595 00000 n
+0000513746 00000 n
+0000513895 00000 n
+0000514043 00000 n
+0000514193 00000 n
+0000514343 00000 n
+0000514493 00000 n
+0000514642 00000 n
+0000514792 00000 n
+0000514943 00000 n
+0000515095 00000 n
+0000515245 00000 n
+0000515397 00000 n
+0000515547 00000 n
+0000515699 00000 n
+0000515848 00000 n
+0000515998 00000 n
+0000516149 00000 n
+0000516301 00000 n
+0000516451 00000 n
+0000516601 00000 n
+0000516752 00000 n
+0000516904 00000 n
+0000517055 00000 n
+0000517207 00000 n
+0000517359 00000 n
+0000517510 00000 n
+0000517662 00000 n
+0000517814 00000 n
+0000517966 00000 n
+0000518118 00000 n
+0000518269 00000 n
+0000518420 00000 n
+0000518571 00000 n
+0000518721 00000 n
+0000518871 00000 n
+0000519021 00000 n
+0000519170 00000 n
+0000519320 00000 n
+0000519470 00000 n
+0000519620 00000 n
+0000519772 00000 n
+0000519924 00000 n
+0000520076 00000 n
+0000520227 00000 n
+0000520379 00000 n
+0000520531 00000 n
+0000520683 00000 n
+0000520835 00000 n
+0000520986 00000 n
+0000521138 00000 n
+0000521289 00000 n
+0000521441 00000 n
+0000521592 00000 n
+0000521744 00000 n
+0000521896 00000 n
+0000522048 00000 n
+0000522199 00000 n
+0000522351 00000 n
+0000522502 00000 n
+0000522653 00000 n
+0000522805 00000 n
+0000522957 00000 n
+0000523109 00000 n
+0000523261 00000 n
+0000523413 00000 n
+0000523564 00000 n
+0000523716 00000 n
+0000523868 00000 n
+0000524020 00000 n
0000524170 00000 n
-0000524321 00000 n
-0000524473 00000 n
-0000524625 00000 n
+0000524322 00000 n
+0000524474 00000 n
+0000524626 00000 n
0000524778 00000 n
-0000524929 00000 n
-0000525082 00000 n
-0000525234 00000 n
-0000525387 00000 n
-0000525539 00000 n
-0000525691 00000 n
-0000525843 00000 n
-0000525996 00000 n
-0000526149 00000 n
-0000526301 00000 n
-0000526453 00000 n
-0000526605 00000 n
-0000526758 00000 n
-0000526911 00000 n
-0000527063 00000 n
-0000527214 00000 n
-0000527367 00000 n
-0000527519 00000 n
-0000527671 00000 n
-0000527823 00000 n
-0000527975 00000 n
-0000528128 00000 n
-0000528281 00000 n
-0000528434 00000 n
-0000528585 00000 n
-0000528736 00000 n
-0000528889 00000 n
-0000529042 00000 n
-0000529193 00000 n
-0000529346 00000 n
-0000529499 00000 n
-0000529651 00000 n
-0000529804 00000 n
-0000529957 00000 n
-0000530109 00000 n
-0000530261 00000 n
-0000530414 00000 n
-0000530567 00000 n
-0000530720 00000 n
-0000530873 00000 n
-0000531026 00000 n
-0000531177 00000 n
-0000531328 00000 n
-0000531480 00000 n
-0000531632 00000 n
-0000531785 00000 n
-0000531937 00000 n
-0000532090 00000 n
-0000532241 00000 n
-0000532394 00000 n
-0000532547 00000 n
-0000532700 00000 n
-0000532852 00000 n
-0000533004 00000 n
-0000533157 00000 n
-0000533308 00000 n
-0000533460 00000 n
-0000533613 00000 n
-0000533766 00000 n
-0000533917 00000 n
-0000534069 00000 n
-0000534222 00000 n
-0000534374 00000 n
-0000534527 00000 n
-0000534680 00000 n
-0000534833 00000 n
-0000534985 00000 n
-0000535137 00000 n
-0000535289 00000 n
-0000535442 00000 n
-0000535595 00000 n
-0000535748 00000 n
-0000535901 00000 n
-0000536054 00000 n
-0000536207 00000 n
-0000536359 00000 n
-0000536511 00000 n
-0000536663 00000 n
-0000536816 00000 n
-0000536969 00000 n
-0000537121 00000 n
-0000537274 00000 n
-0000537427 00000 n
-0000537579 00000 n
-0000537732 00000 n
-0000537885 00000 n
-0000538037 00000 n
-0000538189 00000 n
-0000538342 00000 n
-0000538495 00000 n
-0000538648 00000 n
-0000538799 00000 n
-0000538949 00000 n
-0000539100 00000 n
-0000539251 00000 n
-0000543837 00000 n
-0000539466 00000 n
-0000522785 00000 n
-0000519429 00000 n
-0000539402 00000 n
-0000522926 00000 n
-0000543990 00000 n
-0000544141 00000 n
-0000544293 00000 n
-0000544446 00000 n
-0000544599 00000 n
-0000544751 00000 n
-0000544904 00000 n
-0000545057 00000 n
-0000545210 00000 n
-0000545362 00000 n
-0000545515 00000 n
-0000545668 00000 n
-0000545821 00000 n
-0000545974 00000 n
-0000546127 00000 n
-0000546279 00000 n
-0000546432 00000 n
-0000546584 00000 n
-0000546736 00000 n
-0000546889 00000 n
-0000547042 00000 n
-0000547192 00000 n
-0000547344 00000 n
-0000547496 00000 n
-0000547648 00000 n
-0000547801 00000 n
-0000547954 00000 n
-0000548107 00000 n
-0000548259 00000 n
-0000548411 00000 n
-0000548563 00000 n
-0000548715 00000 n
-0000548867 00000 n
-0000549019 00000 n
-0000549171 00000 n
-0000549322 00000 n
-0000549475 00000 n
-0000549628 00000 n
-0000549781 00000 n
-0000549933 00000 n
-0000550086 00000 n
-0000550239 00000 n
-0000550390 00000 n
-0000550543 00000 n
-0000550696 00000 n
-0000550849 00000 n
-0000551002 00000 n
-0000551155 00000 n
-0000551308 00000 n
-0000551460 00000 n
-0000551610 00000 n
-0000551761 00000 n
-0000551912 00000 n
-0000552065 00000 n
-0000552218 00000 n
-0000552371 00000 n
-0000552522 00000 n
-0000552672 00000 n
-0000552824 00000 n
-0000552977 00000 n
-0000553129 00000 n
-0000553281 00000 n
+0000524930 00000 n
+0000525081 00000 n
+0000525233 00000 n
+0000525385 00000 n
+0000525537 00000 n
+0000525689 00000 n
+0000525841 00000 n
+0000525993 00000 n
+0000526145 00000 n
+0000526297 00000 n
+0000526450 00000 n
+0000526603 00000 n
+0000526756 00000 n
+0000526909 00000 n
+0000527062 00000 n
+0000527215 00000 n
+0000527368 00000 n
+0000527521 00000 n
+0000527673 00000 n
+0000527826 00000 n
+0000527978 00000 n
+0000528129 00000 n
+0000528279 00000 n
+0000528430 00000 n
+0000533327 00000 n
+0000533480 00000 n
+0000528707 00000 n
+0000510394 00000 n
+0000507003 00000 n
+0000528580 00000 n
+0000510535 00000 n
+0000533633 00000 n
+0000533786 00000 n
+0000533938 00000 n
+0000534090 00000 n
+0000534241 00000 n
+0000534393 00000 n
+0000534546 00000 n
+0000534699 00000 n
+0000534851 00000 n
+0000535004 00000 n
+0000535156 00000 n
+0000535309 00000 n
+0000535462 00000 n
+0000535615 00000 n
+0000535768 00000 n
+0000535921 00000 n
+0000536074 00000 n
+0000536227 00000 n
+0000536379 00000 n
+0000536532 00000 n
+0000536684 00000 n
+0000536837 00000 n
+0000536989 00000 n
+0000537141 00000 n
+0000537294 00000 n
+0000537445 00000 n
+0000537598 00000 n
+0000537749 00000 n
+0000537901 00000 n
+0000538053 00000 n
+0000538206 00000 n
+0000538359 00000 n
+0000538512 00000 n
+0000538665 00000 n
+0000538818 00000 n
+0000538971 00000 n
+0000539122 00000 n
+0000539274 00000 n
+0000539427 00000 n
+0000539579 00000 n
+0000539732 00000 n
+0000539885 00000 n
+0000540037 00000 n
+0000540189 00000 n
+0000540342 00000 n
+0000540495 00000 n
+0000540648 00000 n
+0000540801 00000 n
+0000540954 00000 n
+0000541105 00000 n
+0000541257 00000 n
+0000541409 00000 n
+0000541561 00000 n
+0000541713 00000 n
+0000541865 00000 n
+0000542017 00000 n
+0000542169 00000 n
+0000542322 00000 n
+0000542475 00000 n
+0000542628 00000 n
+0000542780 00000 n
+0000542932 00000 n
+0000543085 00000 n
+0000543236 00000 n
+0000543388 00000 n
+0000543541 00000 n
+0000543694 00000 n
+0000543846 00000 n
+0000543998 00000 n
+0000544151 00000 n
+0000544303 00000 n
+0000544456 00000 n
+0000544609 00000 n
+0000544762 00000 n
+0000544914 00000 n
+0000545066 00000 n
+0000545218 00000 n
+0000545371 00000 n
+0000545524 00000 n
+0000545677 00000 n
+0000545830 00000 n
+0000545983 00000 n
+0000546136 00000 n
+0000546289 00000 n
+0000546442 00000 n
+0000546595 00000 n
+0000546747 00000 n
+0000546900 00000 n
+0000547052 00000 n
+0000547205 00000 n
+0000547358 00000 n
+0000547510 00000 n
+0000547663 00000 n
+0000547816 00000 n
+0000547967 00000 n
+0000548119 00000 n
+0000548272 00000 n
+0000548424 00000 n
+0000548576 00000 n
+0000548726 00000 n
0000553433 00000 n
-0000553585 00000 n
-0000553737 00000 n
-0000553890 00000 n
-0000554043 00000 n
-0000554195 00000 n
-0000554348 00000 n
-0000554501 00000 n
+0000553586 00000 n
+0000553739 00000 n
+0000553892 00000 n
+0000548940 00000 n
+0000532245 00000 n
+0000528897 00000 n
+0000548876 00000 n
+0000872036 00000 n
+0000532387 00000 n
+0000554045 00000 n
+0000554197 00000 n
+0000554349 00000 n
+0000554502 00000 n
0000554654 00000 n
-0000554807 00000 n
-0000554960 00000 n
-0000555113 00000 n
-0000555265 00000 n
-0000555418 00000 n
-0000555571 00000 n
-0000555724 00000 n
-0000555876 00000 n
-0000556028 00000 n
-0000556180 00000 n
-0000556332 00000 n
-0000556483 00000 n
-0000556636 00000 n
-0000556789 00000 n
-0000556942 00000 n
-0000557094 00000 n
-0000557310 00000 n
-0000542881 00000 n
-0000539643 00000 n
-0000557246 00000 n
-0000860806 00000 n
-0000543023 00000 n
-0000560485 00000 n
-0000560639 00000 n
-0000560793 00000 n
-0000560947 00000 n
-0000561101 00000 n
-0000561260 00000 n
-0000561419 00000 n
-0000561578 00000 n
-0000561737 00000 n
-0000561895 00000 n
-0000562054 00000 n
-0000562208 00000 n
-0000562367 00000 n
-0000562532 00000 n
-0000562695 00000 n
-0000562854 00000 n
-0000563013 00000 n
-0000563178 00000 n
-0000563343 00000 n
-0000563508 00000 n
-0000563673 00000 n
-0000563838 00000 n
-0000563992 00000 n
-0000564150 00000 n
-0000564308 00000 n
-0000564466 00000 n
-0000564625 00000 n
-0000564779 00000 n
-0000564933 00000 n
-0000565092 00000 n
-0000565251 00000 n
-0000565410 00000 n
-0000565564 00000 n
-0000565719 00000 n
-0000565878 00000 n
-0000566037 00000 n
-0000566193 00000 n
-0000569593 00000 n
-0000566414 00000 n
-0000559988 00000 n
-0000557487 00000 n
-0000566350 00000 n
-0000560130 00000 n
-0000569753 00000 n
-0000569913 00000 n
-0000570068 00000 n
-0000570223 00000 n
-0000570383 00000 n
-0000570543 00000 n
-0000570703 00000 n
-0000570863 00000 n
-0000571018 00000 n
-0000571178 00000 n
-0000571338 00000 n
-0000571498 00000 n
-0000571658 00000 n
-0000571818 00000 n
-0000571973 00000 n
-0000572133 00000 n
-0000572293 00000 n
-0000572453 00000 n
-0000572612 00000 n
-0000572771 00000 n
-0000572931 00000 n
-0000573091 00000 n
-0000573251 00000 n
-0000573411 00000 n
-0000573572 00000 n
-0000573733 00000 n
-0000573888 00000 n
-0000574048 00000 n
-0000574214 00000 n
-0000574380 00000 n
-0000574540 00000 n
-0000574700 00000 n
-0000574860 00000 n
-0000575015 00000 n
-0000575170 00000 n
-0000575330 00000 n
-0000575490 00000 n
-0000575650 00000 n
-0000575810 00000 n
-0000575965 00000 n
-0000576125 00000 n
-0000576284 00000 n
-0000576444 00000 n
-0000576604 00000 n
-0000576764 00000 n
-0000576923 00000 n
-0000577083 00000 n
-0000577243 00000 n
-0000577402 00000 n
-0000577562 00000 n
-0000577778 00000 n
-0000568970 00000 n
-0000566617 00000 n
-0000577714 00000 n
-0000569112 00000 n
-0000578197 00000 n
-0000579152 00000 n
-0000578253 00000 n
-0000578353 00000 n
-0000579394 00000 n
-0000580008 00000 n
-0000580212 00000 n
-0000581624 00000 n
-0000580287 00000 n
-0000580388 00000 n
-0000581866 00000 n
-0000582494 00000 n
-0000582699 00000 n
-0000582844 00000 n
-0000582941 00000 n
-0000584111 00000 n
-0000583007 00000 n
-0000583104 00000 n
-0000584354 00000 n
-0000584969 00000 n
-0000585173 00000 n
-0000585277 00000 n
-0000587132 00000 n
-0000585435 00000 n
-0000585539 00000 n
-0000587372 00000 n
-0000588032 00000 n
-0000588236 00000 n
-0000589691 00000 n
-0000588315 00000 n
-0000588417 00000 n
-0000589939 00000 n
-0000590573 00000 n
-0000590783 00000 n
-0000590828 00000 n
-0000593714 00000 n
-0000591076 00000 n
-0000591186 00000 n
-0000593962 00000 n
-0000594679 00000 n
-0000594889 00000 n
-0000599064 00000 n
-0000595243 00000 n
-0000595357 00000 n
-0000599307 00000 n
-0000600059 00000 n
-0000600263 00000 n
-0000600288 00000 n
-0000600314 00000 n
-0000600566 00000 n
-0000602648 00000 n
-0000600719 00000 n
-0000600825 00000 n
-0000602887 00000 n
-0000603547 00000 n
-0000603749 00000 n
-0000611796 00000 n
-0000604253 00000 n
-0000604376 00000 n
-0000612036 00000 n
-0000612951 00000 n
-0000613154 00000 n
-0000620493 00000 n
-0000613594 00000 n
-0000613702 00000 n
-0000620733 00000 n
-0000621646 00000 n
-0000621850 00000 n
-0000624162 00000 n
-0000622124 00000 n
-0000622230 00000 n
-0000624402 00000 n
-0000625108 00000 n
-0000625312 00000 n
-0000633853 00000 n
-0000625877 00000 n
-0000626014 00000 n
-0000634094 00000 n
-0000635047 00000 n
-0000635252 00000 n
-0000636108 00000 n
-0000635286 00000 n
-0000635381 00000 n
-0000636350 00000 n
-0000636953 00000 n
-0000637158 00000 n
-0000645079 00000 n
-0000637626 00000 n
-0000637743 00000 n
-0000645319 00000 n
-0000646230 00000 n
-0000646433 00000 n
-0000648665 00000 n
-0000646600 00000 n
-0000646706 00000 n
-0000648912 00000 n
-0000649588 00000 n
-0000649798 00000 n
-0000654336 00000 n
-0000650161 00000 n
-0000650279 00000 n
-0000654585 00000 n
-0000655363 00000 n
-0000655574 00000 n
-0000658873 00000 n
-0000655777 00000 n
-0000655884 00000 n
-0000659115 00000 n
-0000659811 00000 n
-0000660016 00000 n
-0000666735 00000 n
-0000660428 00000 n
-0000660545 00000 n
-0000666979 00000 n
-0000667799 00000 n
-0000668004 00000 n
-0000676714 00000 n
-0000668461 00000 n
-0000668577 00000 n
-0000676955 00000 n
-0000677934 00000 n
-0000678139 00000 n
-0000681540 00000 n
-0000678499 00000 n
-0000678606 00000 n
-0000681781 00000 n
-0000682549 00000 n
-0000682754 00000 n
-0000682989 00000 n
-0000693007 00000 n
-0000683626 00000 n
-0000683769 00000 n
-0000693249 00000 n
-0000694286 00000 n
-0000694492 00000 n
-0000694599 00000 n
-0000694878 00000 n
-0000694985 00000 n
-0000695047 00000 n
-0000695242 00000 n
-0000695611 00000 n
-0000703801 00000 n
-0000696118 00000 n
-0000696244 00000 n
-0000704041 00000 n
-0000705008 00000 n
-0000705212 00000 n
-0000706816 00000 n
-0000705369 00000 n
-0000705475 00000 n
-0000707056 00000 n
-0000707715 00000 n
-0000707919 00000 n
-0000711313 00000 n
-0000708212 00000 n
-0000708326 00000 n
-0000711554 00000 n
-0000712283 00000 n
-0000712488 00000 n
-0000713865 00000 n
-0000712567 00000 n
-0000712670 00000 n
-0000714104 00000 n
-0000714723 00000 n
-0000714925 00000 n
-0000717162 00000 n
-0000715104 00000 n
-0000715210 00000 n
-0000717403 00000 n
-0000718072 00000 n
-0000718277 00000 n
-0000722405 00000 n
-0000718609 00000 n
-0000718723 00000 n
-0000722647 00000 n
-0000723393 00000 n
-0000723599 00000 n
-0000724959 00000 n
-0000723722 00000 n
-0000723828 00000 n
-0000725200 00000 n
-0000725845 00000 n
-0000726050 00000 n
-0000728754 00000 n
-0000726273 00000 n
-0000726387 00000 n
-0000728996 00000 n
-0000729698 00000 n
-0000739150 00000 n
-0000729904 00000 n
-0000750574 00000 n
-0000739401 00000 n
-0000758262 00000 n
-0000751328 00000 n
-0000771039 00000 n
-0000758492 00000 n
-0000778510 00000 n
-0000771367 00000 n
-0000786643 00000 n
-0000778736 00000 n
-0000796570 00000 n
-0000786876 00000 n
-0000804482 00000 n
-0000796837 00000 n
-0000817192 00000 n
-0000804713 00000 n
-0000825210 00000 n
-0000817550 00000 n
-0000834451 00000 n
-0000825458 00000 n
-0000842403 00000 n
-0000834759 00000 n
-0000849943 00000 n
-0000842687 00000 n
-0000857457 00000 n
-0000850182 00000 n
-0000860906 00000 n
-0000861029 00000 n
-0000869293 00000 n
-0000869929 00000 n
-0000870569 00000 n
-0000871243 00000 n
-0000872096 00000 n
-0000872989 00000 n
-0000873581 00000 n
-0000873709 00000 n
-0000873749 00000 n
-0000873881 00000 n
+0000554805 00000 n
+0000554957 00000 n
+0000555109 00000 n
+0000555262 00000 n
+0000555415 00000 n
+0000555568 00000 n
+0000555721 00000 n
+0000555873 00000 n
+0000556025 00000 n
+0000556177 00000 n
+0000556328 00000 n
+0000556481 00000 n
+0000556633 00000 n
+0000556785 00000 n
+0000556936 00000 n
+0000557087 00000 n
+0000557238 00000 n
+0000557391 00000 n
+0000557542 00000 n
+0000557694 00000 n
+0000557847 00000 n
+0000558000 00000 n
+0000558153 00000 n
+0000558305 00000 n
+0000558457 00000 n
+0000558609 00000 n
+0000558762 00000 n
+0000558915 00000 n
+0000559068 00000 n
+0000559221 00000 n
+0000559373 00000 n
+0000559526 00000 n
+0000559679 00000 n
+0000559832 00000 n
+0000559984 00000 n
+0000560137 00000 n
+0000560290 00000 n
+0000560442 00000 n
+0000560594 00000 n
+0000560746 00000 n
+0000560898 00000 n
+0000561050 00000 n
+0000561202 00000 n
+0000561353 00000 n
+0000561503 00000 n
+0000561653 00000 n
+0000561805 00000 n
+0000561956 00000 n
+0000562109 00000 n
+0000562262 00000 n
+0000562415 00000 n
+0000562566 00000 n
+0000562716 00000 n
+0000562868 00000 n
+0000563021 00000 n
+0000563173 00000 n
+0000563325 00000 n
+0000563477 00000 n
+0000563629 00000 n
+0000563782 00000 n
+0000563935 00000 n
+0000564088 00000 n
+0000564240 00000 n
+0000564393 00000 n
+0000564546 00000 n
+0000564699 00000 n
+0000564852 00000 n
+0000565005 00000 n
+0000565158 00000 n
+0000565310 00000 n
+0000565463 00000 n
+0000565616 00000 n
+0000565769 00000 n
+0000565921 00000 n
+0000566073 00000 n
+0000566225 00000 n
+0000566377 00000 n
+0000566528 00000 n
+0000566681 00000 n
+0000566834 00000 n
+0000566987 00000 n
+0000567139 00000 n
+0000567356 00000 n
+0000552450 00000 n
+0000549117 00000 n
+0000567292 00000 n
+0000552592 00000 n
+0000570527 00000 n
+0000570681 00000 n
+0000570835 00000 n
+0000570989 00000 n
+0000571143 00000 n
+0000571302 00000 n
+0000571461 00000 n
+0000571620 00000 n
+0000571779 00000 n
+0000571937 00000 n
+0000572096 00000 n
+0000572254 00000 n
+0000572408 00000 n
+0000572567 00000 n
+0000572732 00000 n
+0000572895 00000 n
+0000573054 00000 n
+0000573213 00000 n
+0000573378 00000 n
+0000573543 00000 n
+0000573708 00000 n
+0000573873 00000 n
+0000574038 00000 n
+0000574192 00000 n
+0000574350 00000 n
+0000574507 00000 n
+0000574665 00000 n
+0000574824 00000 n
+0000574978 00000 n
+0000575132 00000 n
+0000575291 00000 n
+0000575450 00000 n
+0000575609 00000 n
+0000575763 00000 n
+0000575916 00000 n
+0000576075 00000 n
+0000576233 00000 n
+0000579648 00000 n
+0000576455 00000 n
+0000570030 00000 n
+0000567533 00000 n
+0000576391 00000 n
+0000570172 00000 n
+0000579807 00000 n
+0000579967 00000 n
+0000580126 00000 n
+0000580281 00000 n
+0000580436 00000 n
+0000580596 00000 n
+0000580756 00000 n
+0000580916 00000 n
+0000581076 00000 n
+0000581231 00000 n
+0000581391 00000 n
+0000581551 00000 n
+0000581711 00000 n
+0000581870 00000 n
+0000582030 00000 n
+0000582185 00000 n
+0000582345 00000 n
+0000582505 00000 n
+0000582665 00000 n
+0000582824 00000 n
+0000582983 00000 n
+0000583143 00000 n
+0000583303 00000 n
+0000583463 00000 n
+0000583623 00000 n
+0000583784 00000 n
+0000583945 00000 n
+0000584100 00000 n
+0000584260 00000 n
+0000584426 00000 n
+0000584592 00000 n
+0000584752 00000 n
+0000584912 00000 n
+0000585071 00000 n
+0000585225 00000 n
+0000585380 00000 n
+0000585540 00000 n
+0000585700 00000 n
+0000585860 00000 n
+0000586020 00000 n
+0000586175 00000 n
+0000586335 00000 n
+0000586494 00000 n
+0000586654 00000 n
+0000586814 00000 n
+0000586974 00000 n
+0000587133 00000 n
+0000587293 00000 n
+0000587453 00000 n
+0000587611 00000 n
+0000588350 00000 n
+0000587834 00000 n
+0000579025 00000 n
+0000576658 00000 n
+0000587770 00000 n
+0000579167 00000 n
+0000588568 00000 n
+0000588177 00000 n
+0000587972 00000 n
+0000588504 00000 n
+0000588319 00000 n
+0000588987 00000 n
+0000589942 00000 n
+0000589043 00000 n
+0000589143 00000 n
+0000590184 00000 n
+0000590798 00000 n
+0000591002 00000 n
+0000592414 00000 n
+0000591077 00000 n
+0000591178 00000 n
+0000592656 00000 n
+0000593284 00000 n
+0000593489 00000 n
+0000593634 00000 n
+0000593731 00000 n
+0000594901 00000 n
+0000593797 00000 n
+0000593894 00000 n
+0000595144 00000 n
+0000595759 00000 n
+0000595963 00000 n
+0000596067 00000 n
+0000597922 00000 n
+0000596225 00000 n
+0000596329 00000 n
+0000598162 00000 n
+0000598822 00000 n
+0000599026 00000 n
+0000600481 00000 n
+0000599105 00000 n
+0000599207 00000 n
+0000600729 00000 n
+0000601363 00000 n
+0000601573 00000 n
+0000601618 00000 n
+0000604504 00000 n
+0000601866 00000 n
+0000601976 00000 n
+0000604752 00000 n
+0000605469 00000 n
+0000605679 00000 n
+0000609854 00000 n
+0000606033 00000 n
+0000606147 00000 n
+0000610097 00000 n
+0000610849 00000 n
+0000611053 00000 n
+0000611078 00000 n
+0000611104 00000 n
+0000611356 00000 n
+0000613438 00000 n
+0000611509 00000 n
+0000611615 00000 n
+0000613677 00000 n
+0000614337 00000 n
+0000614539 00000 n
+0000622824 00000 n
+0000615047 00000 n
+0000615170 00000 n
+0000623064 00000 n
+0000623985 00000 n
+0000624188 00000 n
+0000631527 00000 n
+0000624628 00000 n
+0000624736 00000 n
+0000631767 00000 n
+0000632680 00000 n
+0000632884 00000 n
+0000635196 00000 n
+0000633158 00000 n
+0000633264 00000 n
+0000635436 00000 n
+0000636142 00000 n
+0000636346 00000 n
+0000644887 00000 n
+0000636911 00000 n
+0000637048 00000 n
+0000645128 00000 n
+0000646081 00000 n
+0000646286 00000 n
+0000647142 00000 n
+0000646320 00000 n
+0000646415 00000 n
+0000647384 00000 n
+0000647987 00000 n
+0000648192 00000 n
+0000656113 00000 n
+0000648660 00000 n
+0000648777 00000 n
+0000656353 00000 n
+0000657264 00000 n
+0000657467 00000 n
+0000659699 00000 n
+0000657634 00000 n
+0000657740 00000 n
+0000659946 00000 n
+0000660622 00000 n
+0000660832 00000 n
+0000665370 00000 n
+0000661195 00000 n
+0000661313 00000 n
+0000665619 00000 n
+0000666397 00000 n
+0000666608 00000 n
+0000669907 00000 n
+0000666811 00000 n
+0000666918 00000 n
+0000670149 00000 n
+0000670845 00000 n
+0000671050 00000 n
+0000677822 00000 n
+0000671474 00000 n
+0000671592 00000 n
+0000678066 00000 n
+0000678890 00000 n
+0000679095 00000 n
+0000687805 00000 n
+0000679552 00000 n
+0000679668 00000 n
+0000688046 00000 n
+0000689025 00000 n
+0000689230 00000 n
+0000692631 00000 n
+0000689590 00000 n
+0000689697 00000 n
+0000692872 00000 n
+0000693640 00000 n
+0000693845 00000 n
+0000694080 00000 n
+0000704314 00000 n
+0000694721 00000 n
+0000694864 00000 n
+0000704556 00000 n
+0000705596 00000 n
+0000705802 00000 n
+0000705909 00000 n
+0000706188 00000 n
+0000706295 00000 n
+0000706357 00000 n
+0000706552 00000 n
+0000706921 00000 n
+0000715111 00000 n
+0000707428 00000 n
+0000707554 00000 n
+0000715351 00000 n
+0000716318 00000 n
+0000716522 00000 n
+0000718126 00000 n
+0000716679 00000 n
+0000716785 00000 n
+0000718366 00000 n
+0000719025 00000 n
+0000719229 00000 n
+0000722623 00000 n
+0000719522 00000 n
+0000719636 00000 n
+0000722864 00000 n
+0000723593 00000 n
+0000723798 00000 n
+0000725175 00000 n
+0000723877 00000 n
+0000723980 00000 n
+0000725414 00000 n
+0000726033 00000 n
+0000726235 00000 n
+0000728472 00000 n
+0000726414 00000 n
+0000726520 00000 n
+0000728713 00000 n
+0000729382 00000 n
+0000729587 00000 n
+0000733638 00000 n
+0000729915 00000 n
+0000730029 00000 n
+0000733880 00000 n
+0000734624 00000 n
+0000734830 00000 n
+0000736190 00000 n
+0000734953 00000 n
+0000735059 00000 n
+0000736431 00000 n
+0000737076 00000 n
+0000737281 00000 n
+0000739985 00000 n
+0000737504 00000 n
+0000737618 00000 n
+0000740227 00000 n
+0000740929 00000 n
+0000750381 00000 n
+0000741135 00000 n
+0000761805 00000 n
+0000750632 00000 n
+0000769493 00000 n
+0000762559 00000 n
+0000782270 00000 n
+0000769723 00000 n
+0000789741 00000 n
+0000782598 00000 n
+0000797874 00000 n
+0000789967 00000 n
+0000807801 00000 n
+0000798107 00000 n
+0000815713 00000 n
+0000808068 00000 n
+0000828423 00000 n
+0000815944 00000 n
+0000836441 00000 n
+0000828781 00000 n
+0000845682 00000 n
+0000836689 00000 n
+0000853634 00000 n
+0000845990 00000 n
+0000861174 00000 n
+0000853918 00000 n
+0000868688 00000 n
+0000861413 00000 n
+0000872154 00000 n
+0000872277 00000 n
+0000880633 00000 n
+0000881269 00000 n
+0000881909 00000 n
+0000882578 00000 n
+0000883421 00000 n
+0000884318 00000 n
+0000885079 00000 n
+0000885207 00000 n
+0000885247 00000 n
+0000885379 00000 n
trailer
-<< /Size 1535 /Root 1533 0 R /Info 1534 0 R /ID [ <48D60F482EB7B3E72753E06407165887> <48D60F482EB7B3E72753E06407165887> ] >>
+<< /Size 1556 /Root 1554 0 R /Info 1555 0 R /ID [ <3FE6C4DD311C0CD314A321F3F7326EAE> <3FE6C4DD311C0CD314A321F3F7326EAE> ] >>
startxref
-874458
+885953
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index 4d8cafd6e8..a1b34bc217 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -516,10 +516,11 @@ Si cet argument est laissé blanc, la valeur par défaut est |1-1|. Si le nombre
de rangées n'est pas indiqué, ou bien est égal à |*|, le bloc s'étend jusqu'à la
dernière rangée (idem pour les colonnes).
-\item Le deuxième argument est le contenu du bloc. On peut utiliser |\\| dans ce
-contenu pour avoir un contenu sur plusieurs lignes. Dans |{NiceTabular}|,
-|{NiceTabular*}| et |{NiceTabularX}|, le contenu est composé en mode texte
-tandis que, dans les autres environnements, il est composé en mode mathématique.
+\item Le deuxième argument est le contenu du bloc.
+
+Dans |{NiceTabular}|, |{NiceTabular*}| et |{NiceTabularX}|, le contenu est
+composé en mode texte tandis que, dans les autres environnements, il est composé
+en mode mathématique.
\end{itemize}
\interitem
@@ -641,12 +642,12 @@ options la valeur de cette clé |tikz| (qui doit donc être une liste de clés T
applicables à un chemin de TikZ). Pour des exemples d'utilisation de cette clé
|tikz|, voir p.~\pageref{tikz-key-examples}.
-\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip En fait, dans la liste des
-clés fournies à |tikz|, on peut mettre une clé \Definition{offset}. Cette clé
-n'est pas fournie par TikZ mais par \pkg{nicematrix}. Elle réduit le rectangle
-correspondant au bloc par une marge (horizontalement et verticalement) égale à
-la valeur (passée à |offset|). C'est ce rectangle réduit qui sera le chemin
-exécuté par TikZ avec comme options les autres clés passées à la clé |tikz|.
+En fait, dans la liste des clés fournies à |tikz|, on peut mettre une clé
+\Definition{offset}. Cette clé n'est pas fournie par TikZ mais par
+\pkg{nicematrix}. Elle réduit le rectangle correspondant au bloc par une marge
+(horizontalement et verticalement) égale à la valeur (passée à |offset|). C'est
+ce rectangle réduit qui sera le chemin exécuté par TikZ avec comme options les
+autres clés passées à la clé |tikz|.
\end{itemize}
@@ -725,10 +726,11 @@ Dans les colonnes à largeur fixée (|p{...}|, |b{...}|, |m{...}|, |w{...}{...}|
|W{...}{...}|, |V{...}| et~|X|), le contenu du bloc est mis en forme comme un
paragraphe de cette largeur.
-\item La spécification d'alignement horizontal donnée par le type de
-colonne (|c|, |r| ou |l|) est prise en compte pour le bloc (mais le bloc peut
-avoir sa propre spécification d'alignement horizontal :
-cf.~\ref{horizontal-bloc} p.~\pageref{horizontal-bloc}).
+\item La spécification d'alignement horizontal donnée par le type de colonne
+(|c|, |r| ou |l|) est prise en compte pour le bloc. Pour un bloc dans une
+colonne de type |p{...}| (sans option à |p|), c'est un alignement |c| qui est
+retenu. Le bloc peut bien sûr avoir sa propre spécification d'alignement
+horizontal : cf.~\ref{horizontal-bloc} p.~\pageref{horizontal-bloc}.
\item Les spécifications de fontes imposées à une colonne via la construction
|>{...}| dans le préambule du tableau sont prises en compte pour les
@@ -836,8 +838,9 @@ défaut de ce premier argument obligatoire est |1-1|.}.
\label{horizontal-bloc}
-La commande |\Block| admet les clés |l|, |c| et |r| pour la position horizontale
-du contenu du bloc (calé à gauche, centré ou bien calé à droite).
+La commande |\Block| admet les clés \Definition{l}, \Definition{c} et
+\Definition{r} pour la position horizontale du contenu du bloc (calé à gauche,
+centré ou bien calé à droite).
\medskip
\begin{Code}[width=10.6cm]
@@ -899,7 +902,8 @@ Rang & \Block{1-3}{Premier groupe} & & & \Block{1-3}{Deuxième groupe} \\
\medskip
Pour avoir un positionnement horizontal du contenu du bloc qui s'appuie sur les
limites des colonnes du tableau LaTeX (et non sur le contenu de ces colonnes),
-il faut utiliser les clés |L|, |R| et |C| de la commande |\Block|.
+il faut utiliser les clés \Definition{L}, \Definition{R} et \Definition{C} de la
+commande |\Block|.
\medskip
Voici le même exemple avec la clé |C| pour le premier bloc.
@@ -935,6 +939,16 @@ Rang & \Block[C]{1-3}{Premier groupe} & & & \Block{1-3}{Deuxième groupe} \\
\end{NiceTabular}
\end{center}
+\bigskip
+\colorbox{yellow!50}{\bfseries Nouveau 6.28}\par\nobreak
+
+\smallskip
+La commande |\Block| accepte aussi la clé |p|. Avec cette clé, le contenu du
+bloc est composé comme un paragraphe (de manière similaire à une colonne
+standard de type |p|). Cette clé peut s'utiliser en conjonction avec les clés
+|l|, |c| ou |r| et, alors, le paragraphe est composé avec |\raggedright|,
+|\centering| ou |\raggedleft|. Avec la clé |j|, le paragraphe est composé de
+manière justifiée.
\subsection{Positionnement vertical du contenu des blocs}
@@ -962,7 +976,8 @@ impliquées dans le bloc.
Il n'y a pas de marge verticale. Néanmoins, le contenu du bloc est (toujours)
composé en interne dans une |{minipage}|, un |{tabular}| ou un |{array}|, ce qui
-fait qu'il y a souvent déjà une marge.
+fait qu'il y a souvent déjà une marge. Si besoin est, on peut toujours ajouter
+un |\strut|.
\item Avec la clé \Definition{B}, le contenu du bloc est calé vers le bas.
\end{itemize}
@@ -1063,6 +1078,90 @@ text & text \\
\end{scope}
+
+\subsection{\textbackslash\textbackslash\ et \& dans les blocs}
+
+\index{ampersand-in-blocks}
+\index{\&-in-blocks}
+
+\colorbox{yellow!50}{\bfseries Nouveau 6.28}\par\nobreak
+
+\medskip
+L'extension \pkg{nicematrix} offre la possibilité d'utiliser directement |\\| et
+|&| dans le contenu d'un bloc (dans le but de formater son contenu) mais il y a
+quelques restrictions.
+
+\begin{itemize}
+\item On ne doit pas utiliser à la fois |&| et |\\| dans le même bloc.
+
+\item Pour |\\|, il n'y a pas d'autres restrictions. On peut utiliser
+|\\| dans un bloc pour composer du texte sur plusieurs lignes.
+
+\item Pour pouvoir utiliser |&|, la clé |ampersand-in-blocks| (alias:
+|&-in-blocks|) doit avoir été activée\footnote{Si ce n'est pas le cas,
+ l'utilisation de |&| dans l'argument principal de la commande |\Block|
+ provoquera une erreur : |! Extra alignment tab has been changed to \cr| de
+ TeX.}. Le bloc est alors divisé en sous-blocs comme illustré ci-dessous.
+Attention toutefois : quand |ampersand-in-blocks| est utilisée, l'argument
+(principal) de la commande |\Block| est découpé syntaxiquement au niveau des
+esperluettes |&|, celles entre accolades sont masquées mais pas celles dans un
+environnement.\footnote{On ne peut donc pas écrire :
+ |\Block[ampersand-in-blocks]{}{\begin{array}{cc}1&2\end{array}}|. Bien sûr, on
+ peut le faire sans la clé |ampersand-in-blocks|.}
+\end{itemize}
+
+\bigskip
+L'esperluette |&| permet de diviser horizontalement un bloc en sous-blocs \emph{de même taille}.
+
+\medskip
+\begin{Code}[width=85mm]
+\begin{NiceTabular}{ll}%
+ [hvlines,ampersand-in-blocks]
+ & les cinq premiers entiers naturels \\
+3 & \Block{un&deux&trois} \\
+4 & \Block{un&deux&trois& quatre} \\
+5 & \Block{un&deux&trois&quatre&cinq} \\
+\end{NiceTabular}
+\end{Code}
+%
+\begin{NiceTabular}{ll}%
+ [hvlines,ampersand-in-blocks]
+ & les cinq premiers entiers naturels \\
+3 & \Block{}{un & deux & trois} \\
+4 & \Block{}{un& deux & trois & quatre} \\
+5 & \Block{}{un & deux & trois & quatre & cinq} \\
+\end{NiceTabular}
+
+\medskip
+Comme on le voit, le bloc (qui était ici mono-case) a été divisé en sous-cases
+de même taille. Dans le cas présent, on aurait peut-être préféré le codage
+suivant :
+
+\medskip
+\begin{Code}[width=85mm]
+\begin{NiceTabular}{lccccc}%
+ [hvlines,ampersand-in-blocks]
+ & \Block{1-5}{les cinq premiers
+ entiers naturels} \\
+3 & \Block{1-5}{un & deux & trois} \\
+4 & \Block{1-5}{un& deux & trois & quatre} \\
+5 & un & deux & trois & quatre & cinq \\
+\end{NiceTabular}
+\end{Code}
+%
+\begin{NiceTabular}{lccccc}%
+ [hvlines,ampersand-in-blocks]
+ & \Block{1-5}{les cinq premiers entiers naturels} \\
+3 & \Block{1-5}{un & deux & trois} \\
+4 & \Block{1-5}{un& deux & trois & quatre} \\
+5 & un & deux & trois & quatre & cinq \\
+\end{NiceTabular}
+
+\medskip
+Dans ce codage, il s'agit de blocs de taille |1-5| qui sont coupés en trois et
+quatre sous-blocs.
+
+
\index{Blocs@\textbf{Blocs dans les tableaux}|)}
\section{Les filets horizontaux et verticaux}
@@ -1315,7 +1414,7 @@ des options qui caractérisent le filet à tracer.
\medskip
\begin{Code}[width=10cm]
-\begin{NiceTabular}{|c|\emph{[color=blue]}c|}
+\begin{NiceTabular}{| c | \emph{[color=blue]} c |}
\Hline
a & b \\
\emph{\Hline[color=red]}
@@ -1643,7 +1742,8 @@ d'un environnement ;
\item la clé \Definition{color} fixe la couleur des filets ;
\item la clé \Definition{sep-color} fixe la couleur entre deux filets consécutifs (n'a
-d'intérêt que dans le cas où la clé |multiplicity| est utilisée).
+d'intérêt que dans le cas où la clé |multiplicity| est utilisée). Le nom de
+cette clé est inspirée par la commande |\doublerulesepcolor| de \pkg{colortbl}.
\end{itemize}
\medskip
@@ -1680,6 +1780,51 @@ Produit C & 5 & 4 & 1 \\
\end{center}
+\bigskip
+La clé |sep-color| avec la valeur |white| peut être en particulier utile en cas
+de filet double au-dessus d'une case colorée (pour éviter que la couleur ne
+s'applique aussi entre les deux filets).
+
+
+\begin{scope}
+\NiceMatrixOptions
+ {
+ custom-line =
+ {
+ command = DoubleRule ,
+ multiplicity = 2 ,
+ sep-color = white
+ }
+ }
+
+
+\begin{Code}[width=10cm]
+\NiceMatrixOptions
+ {
+ custom-line =
+ {
+ command = DoubleRule ,
+ multiplicity = 2 ,
+ \emph{sep-color = white}
+ }
+ }
+
+\begin{NiceTabular}{ccc}[color-inside]
+un & deux & trois \\
+\emph{\DoubleRule}
+quatre & \cellcolor{yellow} cinq & six \\
+\end{NiceTabular}
+\end{Code}
+\begin{NiceTabular}{ccc}[color-inside]
+un & deux & trois \\
+\DoubleRule
+quatre & \cellcolor{yellow} cinq & six \\
+\end{NiceTabular}
+
+\end{scope}
+
+
+\bigskip
\item \emph{Deuxième possibilité}\par\nobreak
\index{tikzz@tikz!clé de «custom-line»}
@@ -1691,7 +1836,7 @@ directement avec TikZ en utilisant comme paramètres la valeur de la clé |tikz|
qui doit être une liste de couples \textsl{clé=valeur} applicables à un chemin
TikZ.
-Par défaut aucune réservation de place n'est faite pour le filet qui sera tracé
+Par défaut, aucune réservation de place n'est faite pour le filet qui sera tracé
avec TikZ. On peut demander une réservation (horizontale pour un filet vertical
et verticale pour un filet horizontal) avec la clé |total-width| qui est donc en
quelque sorte la largeur du filet qui sera tracé (cette largeur n'est \emph{pas}
@@ -1736,7 +1881,7 @@ sept & huit & neuf
\end{center}
\medskip
-\item \emph{Troisième possibilité} : la clé |dotted|\par\nobreak
+\item \emph{Troisième possibilité} : la clé \Definition{dotted}\par\nobreak
\label{dotted}
\index{dotted (clé de «custom-line»)}
\indexcommand{hdottedline}
@@ -1753,15 +1898,14 @@ composantes de la matrice par |\Cdots|, |\Vdots|, etc. (voir
p.~\pageref{Cdots}).
\medskip
-L'extension \pkg{nicematrix} prédéfinit en fait les commandes |\hdottedline| et
-|\cdottedline| et la lettre «|:|» pour ces filets en
-pointillés.\footnote{Néanmoins, l'utilisateur peut écraser ces définitions de
+L'extension \pkg{nicematrix} prédéfinit en fait les commandes \Definition{hdottedline} et
+\Definition{cdottedline} et la lettre «|:|» pour ces filets en pointillés.\footnote{Néanmoins, l'utilisateur peut écraser ces définitions de
|\hdottedline|, |\cdottedline| et de «|:|» avec |custom-line| s'il le souhaite
(par exemple pour les remplacer par des lignes en tiretés).}
\smallskip
\begin{Code}
-% présent dans nicematrix.sty
+\emph{% présent dans nicematrix.sty}
\NiceMatrixOptions
{
custom-line =
@@ -2477,7 +2621,7 @@ On a alors accès aux commandes suivantes (les trois premières sont inspirées
\item \DefinitionCommande{rowcolor} à utiliser dans une case et qui colorie le
reste de la rangée;\footnote{Si vous souhaitez une commande pour colorier les
$n$~rangées suivantes, considérez la commande |\RowStyle| et sa clé
- |rowcolor|, p.~\pageref{RowStyle}}
+ |rowcolor|, p.~\pageref{RowStyle}.}
\item \DefinitionCommande{columncolor} à utiliser dans le préambule du tableau
de la même manière que la commande éponyme de \pkg{colortbl} (néanmoins,
contrairement à la commande |\columncolor| de \pkg{colortbl}, celle de
@@ -2527,12 +2671,11 @@ Dupont & Chantal & 15 janvier 1998 \\
\end{center}
\bigskip
-\colorbox{yellow!50}{\textbf{Nouveau 6.25}}\enskip Chaque utilisation de
-|\rowlistcolors| (et de |\rowcolors| qui en est un cas particulier) met un
-terme aux éventuels schémas\footnote{On a écrit \emph{schémas} au pluriel car on
- peut avoir plusieurs schémas en cours s'ils portent sur des colonnes
- différentes.} de coloriage en cours qui auraient été spécifiés par une
-commande |\rowlistcolors| précédente.
+Chaque utilisation de |\rowlistcolors| (et de |\rowcolors| qui en est un cas
+particulier) met un terme aux éventuels schémas\footnote{On a écrit
+ \emph{schémas} au pluriel car on peut avoir plusieurs schémas en cours s'ils
+ portent sur des colonnes différentes.} de coloriage en cours qui auraient été
+spécifiés par une commande |\rowlistcolors| précédente.
En particulier, on peut engager un coloriage des rangées avec
|\rowlistcolors{...}| et l'arrêter par un |\rowlistcolors{}| avec argument vide.
@@ -2567,10 +2710,9 @@ sept \\
\index{nocolor}
-\colorbox{yellow!50}{\textbf{Nouveau 6.26}}\enskip L'extension \pkg{nicematrix}
-propose la couleur spéciale |nocolor| utilisable dans toutes les commandes de
-coloriage fournies par \pkg{nicematrix} (dans le |\CodeBefore| ou bien dans le
-tableau proprement dit).
+L'extension \pkg{nicematrix} propose la couleur spéciale |nocolor| utilisable
+dans toutes les commandes de coloriage fournies par \pkg{nicematrix} (dans le
+|\CodeBefore| ou bien dans le tableau proprement dit).
Les cases marquées par cette couleur ne seront pas coloriées, quelles que soient
les autres commandes de coloriage qui auraient pu s'appliquer à ces cases.
@@ -2767,7 +2909,7 @@ $\begin{array}{c}
\end{bNiceMatrix} \\ \\
\begin{bNiceMatrix}
1 & 1245345 \\ 345 & 2
-\end{bNiceMatrix}
+\end{bNiceMatrix} \\
\end{array}$
\emph{\end{NiceMatrixBlock}}
\end{Code}
@@ -2778,8 +2920,8 @@ $\begin{array}{c}
\end{bNiceMatrix} \\ \\
\begin{bNiceMatrix}
1 & 1245345 \\ 345 & 2
-\end{bNiceMatrix}
-\end{array}$
+\end{bNiceMatrix} \\
+\end{array}$
\end{NiceMatrixBlock}
@@ -4291,16 +4433,16 @@ $\begin{pNiceMatrix}
\index{empty (clé de \texttt{\textbackslash TikzEveryCell})}
\index{non empty (clé de \texttt{\textbackslash TikzEveryCell})}
-\colorbox{yellow!50}{\textbf{Nouveau 6.24}}\enskip La commande |\TikzEveryCell|
-exécute avec TikZ le chemin rectangulaire qui correspond à chaque case du
-tableau, avec comme paramètres TikZ l'argument de |\TikzEveryCell|. Cet argument
-doit être une liste de couples \textsl{clé=valeur} applicables à un chemin TikZ.
-En fait, cette commande s'applique à chaque case du tableau, exceptées celles
-situées dans les rangées et colonnes extérieures (cf.~p.~\pageref{exterior}) et
-celles situées dans les coins vides (quand la clé |corners| est utilisée:
-cf.~p.~\pageref{corners}). Elle s'applique en fait aussi à chaque bloc (sauf
-ceux qui ont la clé |transparent|) et ne s'applique pas aux cases individuelles
-situées dans ces blocs.
+La commande |\TikzEveryCell| exécute avec TikZ le chemin rectangulaire qui
+correspond à chaque case du tableau, avec comme paramètres TikZ l'argument de
+|\TikzEveryCell|. Cet argument doit être une liste de couples
+\textsl{clé=valeur} applicables à un chemin TikZ. En fait, cette commande
+s'applique à chaque case du tableau, exceptées celles situées dans les rangées
+et colonnes extérieures (cf.~p.~\pageref{exterior}) et celles situées dans les
+coins vides (quand la clé |corners| est utilisée: cf.~p.~\pageref{corners}).
+Elle s'applique en fait aussi à chaque bloc (sauf ceux qui ont la clé
+|transparent|) et ne s'applique pas aux cases individuelles situées dans ces
+blocs.
\medskip
En fait, dans la liste des clés passée en argument on peut mettre une clé
@@ -4452,6 +4594,7 @@ En fait, cette commande n'est disponible que si l'extension \pkg{enumitem} a ét
chargée (avant ou après \pkg{nicematrix}). Les notes sont en effet composées en
fin de tableau selon un type de liste défini par l'extension \pkg{enumitem}.
+\medskip
\begin{Code}
\begin{NiceTabular}{@{}llr@{}}
\toprule \RowStyle{\bfseries}
@@ -4498,12 +4641,10 @@ de l'environnement |{NiceTabular}|.
séparés par une virgule (comme avec l'option |multiple| de \pkg{footmisc} pour
les notes de pied de page).
-\item Si une commande |\tabularnote{...}| se trouve exactement à la fin d'une case
-(sans aucun espace après), l'appel de note est composé en débordement vers la
-droite (cela peut permettre de mieux conserver l'alignement des contenus d'une
-colonne). Depuis la version 6.20a, ce comportement n'a lieu que si le mode
-l'alignement de la case est |c| ou |r| (alignement horizontal centré ou en
-butée à droite).
+\item Si une commande |\tabularnote{...}| se trouve exactement à la fin d'une
+case (sans aucun espace après) et que le mode d'alignement de la colonne est |c|
+ou~|r|, l'appel de note est composé en débordement vers la droite (cela peut
+permettre de mieux conserver l'alignement des contenus d'une colonne).
\item Si la clé |notes/para| est utilisée, les notes sont composées à la fin du
tableau en un seul paragraphe.
@@ -4565,7 +4706,7 @@ Barrère & Bertrand & 86\\
Nightingale\emph{\tabularnote{Souvent considérée comme la première infirmière.}%
\tabularnote{Surnommée «la Dame à la Lampe».}}
& Florence\emph{\tabularnote{Cette note est commune à deux appels de notes.}} & 90 \\
-Schœlcher & Victor & 89\emph{\tabularnote{L’appel de note déborde à droite.}} \\
+Schœlcher & Victor & 89\emph{\tabularnote{L’appel de note déborde à droite.}}\\
Touchet & Marie\emph{\tabularnote{Cette note est commune à deux appels de notes.}} & 89 \\
Wallis & John & 87 \\
\bottomrule
@@ -5209,12 +5350,11 @@ dans les cases du tableau.\footnote{La raison en est que lorsque l'option |light
\medskip
\index{light-syntax-expanded}
-\colorbox{yellow!50}{\textbf{Nouveau 6.27}}\enskip La clé
-|light-syntax-expanded| a le même comportement que la clé |light-syntax| mais
-avec cette différence que le corps de l'environnement est complètement développé
-(au sens de TeX\footnote{Plus précisément, il s'agit d'une expansion de type |e|
-de L3.}) avant découpe en lignes (mais après l'extraction de l'éventuel
-|\CodeAfter|).
+La clé |light-syntax-expanded| a le même comportement que la clé |light-syntax|
+mais avec cette différence que le corps de l'environnement est complètement
+développé (au sens de TeX\footnote{Plus précisément, il s'agit d'une expansion
+ de type |e| de L3.}) avant découpe en lignes (mais après l'extraction de
+l'éventuel |\CodeAfter|).
\subsection{Couleur des délimiteurs}
@@ -5319,7 +5459,7 @@ lignes pointillées (cf.~p.~\pageref{Cdots}) et la détermination des «coins»
\medskip
Comme la création de ces nœuds requiert du temps et de la mémoire, il est
possible de la désactiver ponctuellement avec la clé |no-cell-nodes| pour
-accéler les compilations.
+accélerer les compilations.
\medskip
Tous les nœuds du document doivent avoir des noms deux à deux distincts et le
@@ -5339,16 +5479,16 @@ environnements (pour LaTeX, il s'agit d'une commande — complètement développ
\smallskip
\index{name!clé pour un environnement}
-Il est néanmoins recommandé de passer plutôt par la clé |name|\footnote{Depuis
- la version 6.20a, la valeur passée à cette clé est \emph{développée}, au sens
- de TeX.}. Celle-ci permet de donner un nom à l'environnement. Une fois
-l'environnement nommé, les nœuds sont accessibles à travers les noms
-«\textsl{nom}-$i$-$j$» où \textsl{nom} est le nom donné au tableau et $i$ et $j$
-les numéros de rangée et de colonne de la case considérée. On peut les utiliser
-avec \textsc{pgf} mais l'utilisateur final préférera sans doute utiliser TikZ
-(qui est une sur-couche de \textsc{pgf}). Il faut néanmoins se souvenir que
-\pkg{nicematrix} ne charge pas TikZ par défaut. Dans les exemples qui suivent,
-on suppose que TikZ a été chargé par l'utilisateur.
+Il est néanmoins recommandé de passer plutôt par la clé |name|\footnote{La
+ valeur passée à la clé |name| est \emph{développée}, au sens de TeX.}.
+Celle-ci permet de donner un nom à l'environnement. Une fois l'environnement
+nommé, les nœuds sont accessibles à travers les noms «\textsl{nom}-$i$-$j$» où
+\textsl{nom} est le nom donné au tableau et $i$ et $j$ les numéros de rangée et
+de colonne de la case considérée. On peut les utiliser avec \textsc{pgf} mais
+l'utilisateur final préférera sans doute utiliser TikZ (qui est une sur-couche
+de \textsc{pgf}). Il faut néanmoins se souvenir que \pkg{nicematrix} ne charge
+pas TikZ par défaut. Dans les exemples qui suivent, on suppose que TikZ a été
+chargé par l'utilisateur.
\medskip
\begin{Code}[width=11cm]
@@ -5774,9 +5914,14 @@ L'extension \pkg{nicematrix} crée un nœud PGF-TikZ nommé simplement $i$ (pré
du préfixe habituel) à l'intersection du filet horizontal de numéro $i$ et du
filet vertical de numéro~$i$ (ou plutôt la position potentielle de ces filets
car ils ne sont peut-être pas tracés). Le dernier nœud a aussi un alias nommé
-simplement |last|. Il existe aussi un nœud nommé $i$|.5| à mi-chemin entre le
-nœud $i$ et le nœud $i+1$.
+simplement |last|.
+
+\smallskip
+\colorbox{yellow!50}{\textbf{Modification 6.28}}\enskip Il existe aussi des nœuds nommés
+$i$|.1|, $i$|.2|, ... , $i$|.9| intermédiaires entre le nœud~$i$ et le
+nœud~$i+1$ (avant la version 6.28, seul le nœud $i$|.5| existait).
+\smallskip
Ces nœuds sont accessibles dans le
|\CodeAfter| mais aussi dans le |\CodeBefore|.
@@ -6193,10 +6338,18 @@ environnements de l'extension \pkg{nicematrix} ne sont pas affectés).
\medskip
L'extension \pkg{nicematrix} n'est pas compatible avec la classe \cls{ieeeaccess}
-(car cette classe n'est pas compatible avec PGF-TikZ).\footnote{Voir
- \url{https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class}}
+car cette classe n'est pas compatible avec PGF-TikZ. Il existe néanmoins une
+parade simple qui consiste à écrire:\footnote{Voir
+ \url{https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class}}\par\nobreak
+
+\begin{Code}
+\let\TeXyear\year
+\documentclass{IEEEaccess}
+\let\year\TeXyear
+\end{Code}
\medskip
+% l'information suivante est toujours d'actualité le 23 avril 2024
Pour pouvoir utiliser \pkg{nicematrix} avec la classe \cls{aastex631} (de
l'\emph{American Astronomical Society}), on doit ajouter dans le préambule du
fichier les lignes suivantes :
@@ -6780,7 +6933,7 @@ avec l'environnement |{NiceMatrixBlock}| et l'option |auto-columns-width|.
last-col, code-for-last-col = \color{blue}\scriptstyle,
vlines = 5 ,
matrix/columns-type = r ,
- no-cell-nodes
+ no-cell-nodes % facultatif
}
\setlength{\extrarowheight}{1mm}
\end{NiceMatrixBlock}
@@ -6882,7 +7035,7 @@ avec leur largeur maximale grâce à la clé booléenne |delimiters/max-width|.
last-col, code-for-last-col = \color{blue}\scriptstyle,
vlines = 5 ,
matrix/columns-type = r ,
- no-cell-nodes
+ no-cell-nodes % facultatif
}
\setlength{\extrarowheight}{1mm}
@@ -7093,7 +7246,7 @@ la commande |\Block| est laissé vide, le bloc est considéré comme mono-case.}
\label{exemple-CodeAfter}
\begin{Code}
-$\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue]
+$\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue,no-cell-nodes]
\emph{\Block[draw]{}{a_{11}}} & a_{12} & a_{13} & a_{14} \\
a_{21} & \emph{\Block[draw]{}{a_{22}}} & a_{23} & a_{24} \\
a_{31} & a_{32} & \emph{\Block[draw]{}{a_{33}}} & a_{34} \\
@@ -7101,7 +7254,7 @@ a_{41} & a_{42} & a_{43} & \emph{\Block[draw]{}{a_{44}}} \\
\end{pNiceArray}$
\end{Code}
%
-\[\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue]
+\[\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue,no-cell-nodes]
\Block[draw]{}{a_{11}} & a_{12} & a_{13} & a_{14} \\
a_{21} & \Block[draw]{}{a_{22}} & a_{23} & a_{24} \\
a_{31} & a_{32} & \Block[draw]{}{a_{33}} & a_{34} \\
@@ -7126,7 +7279,8 @@ Il est possible de colorier une rangée avec |\rowcolor| dans le |\CodeBefore|
\index{rowcolor@\texttt{\textbackslash rowcolor}!commande en tableau|textit}
\begin{Code}
-\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside]
+\begin{pNiceArray}{>{\strut}cccc}% <-- % obligatoire
+ [margin, extra-margin=2pt,color-inside,no-cell-nodes]
\emph{\rowcolor{red!15}}A_{11} & A_{12} & A_{13} & A_{14} \\
A_{21} & \emph{\rowcolor{red!15}}A_{22} & A_{23} & A_{24} \\
A_{31} & A_{32} & \emph{\rowcolor{red!15}}A_{33} & A_{34} \\
@@ -7136,7 +7290,7 @@ Il est possible de colorier une rangée avec |\rowcolor| dans le |\CodeBefore|
-\[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside]
+\[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside,no-cell-nodes]
\rowcolor{red!15}A_{11} & A_{12} & A_{13} & A_{14} \\
A_{21} & \rowcolor{red!15}A_{22} & A_{23} & A_{24} \\
A_{31} & A_{32} & \rowcolor{red!15}A_{33} & A_{34} \\
@@ -7470,6 +7624,3 @@ TeXLive sont disponibles sur le serveur \textsc{svn} de TeXLive :
% End:
-
-
-
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 7029ce1ed6..383ac48aa3 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
@@ -71,626 +71,632 @@ endobj
endobj
44 0 obj
-<< /S /GoTo /D (section.5) >>
+<< /S /GoTo /D (subsection.4.7) >>
endobj
47 0 obj
-(\376\377\000T\000h\000e\000\040\000r\000u\000l\000e\000s)
+(\376\377\000\134\000\134\000\040\000a\000n\000d\000\040\000\046\000\040\000i\000n\000\040\000t\000h\000e\000\040\000b\000l\000o\000c\000k\000s)
endobj
48 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
+<< /S /GoTo /D (section.5) >>
endobj
51 0 obj
-(\376\377\000S\000o\000m\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000c\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000c\000l\000a\000s\000s\000i\000c\000a\000l\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
+(\376\377\000T\000h\000e\000\040\000r\000u\000l\000e\000s)
endobj
52 0 obj
-<< /S /GoTo /D (subsubsection.5.1.1) >>
+<< /S /GoTo /D (subsection.5.1) >>
endobj
55 0 obj
-(\376\377\000T\000h\000e\000\040\000v\000e\000r\000t\000i\000c\000a\000l\000\040\000r\000u\000l\000e\000s)
+(\376\377\000S\000o\000m\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000c\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000c\000l\000a\000s\000s\000i\000c\000a\000l\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s)
endobj
56 0 obj
-<< /S /GoTo /D (subsubsection.5.1.2) >>
+<< /S /GoTo /D (subsubsection.5.1.1) >>
endobj
59 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000c\000l\000i\000n\000e)
+(\376\377\000T\000h\000e\000\040\000v\000e\000r\000t\000i\000c\000a\000l\000\040\000r\000u\000l\000e\000s)
endobj
60 0 obj
-<< /S /GoTo /D (subsection.5.2) >>
+<< /S /GoTo /D (subsubsection.5.1.2) >>
endobj
63 0 obj
-(\376\377\000T\000h\000e\000\040\000t\000h\000i\000c\000k\000n\000e\000s\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000c\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000c\000l\000i\000n\000e)
endobj
64 0 obj
-<< /S /GoTo /D (subsection.5.3) >>
+<< /S /GoTo /D (subsection.5.2) >>
endobj
67 0 obj
-(\376\377\000T\000h\000e\000\040\000t\000o\000o\000l\000s\000\040\000o\000f\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
+(\376\377\000T\000h\000e\000\040\000t\000h\000i\000c\000k\000n\000e\000s\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000c\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
endobj
68 0 obj
-<< /S /GoTo /D (subsubsection.5.3.1) >>
+<< /S /GoTo /D (subsection.5.3) >>
endobj
71 0 obj
-(\376\377\000T\000h\000e\000\040\000k\000e\000y\000s\000\040\000h\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000v\000l\000i\000n\000e\000s)
+(\376\377\000T\000h\000e\000\040\000t\000o\000o\000l\000s\000\040\000o\000f\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
endobj
72 0 obj
-<< /S /GoTo /D (subsubsection.5.3.2) >>
+<< /S /GoTo /D (subsubsection.5.3.1) >>
endobj
75 0 obj
-(\376\377\000T\000h\000e\000\040\000k\000e\000y\000s\000\040\000h\000v\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000h\000v\000l\000i\000n\000e\000s\000-\000e\000x\000c\000e\000p\000t\000-\000b\000o\000r\000d\000e\000r\000s)
+(\376\377\000T\000h\000e\000\040\000k\000e\000y\000s\000\040\000h\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000v\000l\000i\000n\000e\000s)
endobj
76 0 obj
-<< /S /GoTo /D (subsubsection.5.3.3) >>
+<< /S /GoTo /D (subsubsection.5.3.2) >>
endobj
79 0 obj
-(\376\377\000T\000h\000e\000\040\000\050\000e\000m\000p\000t\000y\000\051\000\040\000c\000o\000r\000n\000e\000r\000s)
+(\376\377\000T\000h\000e\000\040\000k\000e\000y\000s\000\040\000h\000v\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000h\000v\000l\000i\000n\000e\000s\000-\000e\000x\000c\000e\000p\000t\000-\000b\000o\000r\000d\000e\000r\000s)
endobj
80 0 obj
-<< /S /GoTo /D (subsubsection.5.3.4) >>
+<< /S /GoTo /D (subsubsection.5.3.3) >>
endobj
83 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
+(\376\377\000T\000h\000e\000\040\000\050\000e\000m\000p\000t\000y\000\051\000\040\000c\000o\000r\000n\000e\000r\000s)
endobj
84 0 obj
-<< /S /GoTo /D (subsubsection.5.3.5) >>
+<< /S /GoTo /D (subsubsection.5.3.4) >>
endobj
87 0 obj
-(\376\377\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000f\000o\000r\000\040\000c\000u\000s\000t\000o\000m\000i\000z\000e\000d\000\040\000r\000u\000l\000e\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000d\000i\000a\000g\000b\000o\000x)
endobj
88 0 obj
-<< /S /GoTo /D (section.6) >>
+<< /S /GoTo /D (subsubsection.5.3.5) >>
endobj
91 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000b\000a\000c\000k\000g\000r\000o\000u\000n\000d\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000s\000\040\000f\000o\000r\000\040\000c\000u\000s\000t\000o\000m\000i\000z\000e\000d\000\040\000r\000u\000l\000e\000s)
endobj
92 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
+<< /S /GoTo /D (section.6) >>
endobj
95 0 obj
-(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000c\000o\000l\000o\000r\000t\000b\000l)
+(\376\377\000T\000h\000e\000\040\000c\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000b\000a\000c\000k\000g\000r\000o\000u\000n\000d\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
endobj
96 0 obj
-<< /S /GoTo /D (subsection.6.2) >>
+<< /S /GoTo /D (subsection.6.1) >>
endobj
99 0 obj
-(\376\377\000T\000h\000e\000\040\000t\000o\000o\000l\000s\000\040\000o\000f\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
+(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000c\000o\000l\000o\000r\000t\000b\000l)
endobj
100 0 obj
-<< /S /GoTo /D (subsection.6.3) >>
+<< /S /GoTo /D (subsection.6.2) >>
endobj
103 0 obj
-(\376\377\000C\000o\000l\000o\000r\000\040\000t\000o\000o\000l\000s\000\040\000t\000o\000\040\000b\000e\000\040\000u\000s\000e\000d\000\040\000i\000n\000s\000i\000d\000e\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r)
+(\376\377\000T\000h\000e\000\040\000t\000o\000o\000l\000s\000\040\000o\000f\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
endobj
104 0 obj
-<< /S /GoTo /D (subsection.6.4) >>
+<< /S /GoTo /D (subsection.6.3) >>
endobj
107 0 obj
-(\376\377\000T\000h\000e\000\040\000s\000p\000e\000c\000i\000a\000l\000\040\000c\000o\000l\000o\000r\000\040\000`\000`\000n\000o\000c\000o\000l\000o\000r\000'\000')
+(\376\377\000C\000o\000l\000o\000r\000\040\000t\000o\000o\000l\000s\000\040\000t\000o\000\040\000b\000e\000\040\000u\000s\000e\000d\000\040\000i\000n\000s\000i\000d\000e\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r)
endobj
108 0 obj
-<< /S /GoTo /D (section.7) >>
+<< /S /GoTo /D (subsection.6.4) >>
endobj
111 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
+(\376\377\000T\000h\000e\000\040\000s\000p\000e\000c\000i\000a\000l\000\040\000c\000o\000l\000o\000r\000\040\000`\000`\000n\000o\000c\000o\000l\000o\000r\000'\000')
endobj
112 0 obj
-<< /S /GoTo /D (section.8) >>
+<< /S /GoTo /D (section.7) >>
endobj
115 0 obj
-(\376\377\000T\000h\000e\000\040\000w\000i\000d\000t\000h\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000R\000o\000w\000S\000t\000y\000l\000e)
endobj
116 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
+<< /S /GoTo /D (section.8) >>
endobj
119 0 obj
-(\376\377\000B\000a\000s\000i\000c\000\040\000t\000o\000o\000l\000s)
+(\376\377\000T\000h\000e\000\040\000w\000i\000d\000t\000h\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s)
endobj
120 0 obj
-<< /S /GoTo /D (subsection.8.2) >>
+<< /S /GoTo /D (subsection.8.1) >>
endobj
123 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000X)
+(\376\377\000B\000a\000s\000i\000c\000\040\000t\000o\000o\000l\000s)
endobj
124 0 obj
-<< /S /GoTo /D (subsection.8.3) >>
+<< /S /GoTo /D (subsection.8.2) >>
endobj
127 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000V\000\040\000o\000f\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
+(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000X)
endobj
128 0 obj
-<< /S /GoTo /D (section.9) >>
+<< /S /GoTo /D (subsection.8.3) >>
endobj
131 0 obj
-(\376\377\000T\000h\000e\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000V\000\040\000o\000f\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
endobj
132 0 obj
-<< /S /GoTo /D (section.10) >>
+<< /S /GoTo /D (section.9) >>
endobj
135 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000n\000t\000i\000n\000u\000o\000u\000s\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
+(\376\377\000T\000h\000e\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000\040\000r\000o\000w\000s\000\040\000a\000n\000d\000\040\000c\000o\000l\000u\000m\000n\000s)
endobj
136 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
+<< /S /GoTo /D (section.10) >>
endobj
139 0 obj
-(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000n\000u\000l\000l\000i\000f\000y\000-\000d\000o\000t\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000n\000t\000i\000n\000u\000o\000u\000s\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
endobj
140 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
+<< /S /GoTo /D (subsection.10.1) >>
endobj
143 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000\134\000H\000d\000o\000t\000s\000f\000o\000r\000\040\000a\000n\000d\000\040\000\134\000V\000d\000o\000t\000s\000f\000o\000r)
+(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000n\000u\000l\000l\000i\000f\000y\000-\000d\000o\000t\000s)
endobj
144 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
+<< /S /GoTo /D (subsection.10.2) >>
endobj
147 0 obj
-(\376\377\000H\000o\000w\000\040\000t\000o\000\040\000g\000e\000n\000e\000r\000a\000t\000e\000\040\000t\000h\000e\000\040\000c\000o\000n\000t\000i\000n\000u\000o\000u\000s\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000l\000y)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000\134\000H\000d\000o\000t\000s\000f\000o\000r\000\040\000a\000n\000d\000\040\000\134\000V\000d\000o\000t\000s\000f\000o\000r)
endobj
148 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
+<< /S /GoTo /D (subsection.10.3) >>
endobj
151 0 obj
-(\376\377\000T\000h\000e\000\040\000l\000a\000b\000e\000l\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
+(\376\377\000H\000o\000w\000\040\000t\000o\000\040\000g\000e\000n\000e\000r\000a\000t\000e\000\040\000t\000h\000e\000\040\000c\000o\000n\000t\000i\000n\000u\000o\000u\000s\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000t\000r\000a\000n\000s\000p\000a\000r\000e\000n\000t\000l\000y)
endobj
152 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
+<< /S /GoTo /D (subsection.10.4) >>
endobj
155 0 obj
-(\376\377\000C\000u\000s\000t\000o\000m\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
+(\376\377\000T\000h\000e\000\040\000l\000a\000b\000e\000l\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
endobj
156 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
+<< /S /GoTo /D (subsection.10.5) >>
endobj
159 0 obj
-(\376\377\000T\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
+(\376\377\000C\000u\000s\000t\000o\000m\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
endobj
160 0 obj
-<< /S /GoTo /D (section.11) >>
+<< /S /GoTo /D (subsection.10.6) >>
endobj
163 0 obj
-(\376\377\000D\000e\000l\000i\000m\000i\000t\000e\000r\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t)
+(\376\377\000T\000h\000e\000\040\000d\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
endobj
164 0 obj
-<< /S /GoTo /D (section.12) >>
+<< /S /GoTo /D (section.11) >>
endobj
167 0 obj
-(\376\377\000T\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000D\000e\000l\000i\000m\000i\000t\000e\000r\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000p\000r\000e\000a\000m\000b\000l\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t)
endobj
168 0 obj
-<< /S /GoTo /D (subsection.12.1) >>
+<< /S /GoTo /D (section.12) >>
endobj
171 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000l\000i\000n\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000T\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.12.2) >>
+<< /S /GoTo /D (subsection.12.1) >>
endobj
175 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r\000\040\000\050\000a\000n\000d\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e\000\051)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000l\000i\000n\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.12.3) >>
+<< /S /GoTo /D (subsection.12.2) >>
endobj
179 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e\000\040\000a\000n\000d\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r\000\040\000\050\000a\000n\000d\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e\000\051)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.12.4) >>
+<< /S /GoTo /D (subsection.12.3) >>
endobj
183 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000\134\000O\000v\000e\000r\000B\000r\000a\000c\000e\000\040\000a\000n\000d\000\040\000\134\000U\000n\000d\000e\000r\000B\000r\000a\000c\000e\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
184 0 obj
-<< /S /GoTo /D (section.13) >>
+<< /S /GoTo /D (subsection.12.4) >>
endobj
187 0 obj
-(\376\377\000C\000a\000p\000t\000i\000o\000n\000s\000\040\000a\000n\000d\000\040\000n\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000T\000i\000k\000z\000E\000v\000e\000r\000y\000C\000e\000l\000l\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000A\000f\000t\000e\000r)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.13.1) >>
+<< /S /GoTo /D (section.13) >>
endobj
191 0 obj
-(\376\377\000C\000a\000p\000t\000i\000o\000n\000\040\000o\000f\000\040\000a\000\040\000t\000a\000b\000u\000l\000a\000r)
+(\376\377\000C\000a\000p\000t\000i\000o\000n\000s\000\040\000a\000n\000d\000\040\000n\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000s)
endobj
192 0 obj
-<< /S /GoTo /D (subsection.13.2) >>
+<< /S /GoTo /D (subsection.13.1) >>
endobj
195 0 obj
-(\376\377\000T\000h\000e\000\040\000f\000o\000o\000t\000n\000o\000t\000e\000s)
+(\376\377\000C\000a\000p\000t\000i\000o\000n\000\040\000o\000f\000\040\000a\000\040\000t\000a\000b\000u\000l\000a\000r)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.13.3) >>
+<< /S /GoTo /D (subsection.13.2) >>
endobj
199 0 obj
-(\376\377\000T\000h\000e\000\040\000n\000o\000t\000e\000s\000\040\000o\000f\000\040\000t\000a\000b\000u\000l\000a\000r)
+(\376\377\000T\000h\000e\000\040\000f\000o\000o\000t\000n\000o\000t\000e\000s)
endobj
200 0 obj
-<< /S /GoTo /D (subsection.13.4) >>
+<< /S /GoTo /D (subsection.13.3) >>
endobj
203 0 obj
-(\376\377\000C\000u\000s\000t\000o\000m\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000\040\000n\000o\000t\000e\000s)
+(\376\377\000T\000h\000e\000\040\000n\000o\000t\000e\000s\000\040\000o\000f\000\040\000t\000a\000b\000u\000l\000a\000r)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.13.5) >>
+<< /S /GoTo /D (subsection.13.4) >>
endobj
207 0 obj
-(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000\040\000w\000i\000t\000h\000\040\000t\000h\000r\000e\000e\000p\000a\000r\000t\000t\000a\000b\000l\000e)
+(\376\377\000C\000u\000s\000t\000o\000m\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000\040\000n\000o\000t\000e\000s)
endobj
208 0 obj
-<< /S /GoTo /D (section.14) >>
+<< /S /GoTo /D (subsection.13.5) >>
endobj
211 0 obj
-(\376\377\000O\000t\000h\000e\000r\000\040\000f\000e\000a\000t\000u\000r\000e\000s)
+(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000\173\000N\000i\000c\000e\000T\000a\000b\000u\000l\000a\000r\000\175\000\040\000w\000i\000t\000h\000\040\000t\000h\000r\000e\000e\000p\000a\000r\000t\000t\000a\000b\000l\000e)
endobj
212 0 obj
-<< /S /GoTo /D (subsection.14.1) >>
+<< /S /GoTo /D (section.14) >>
endobj
215 0 obj
-(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000r\000o\000u\000n\000d\000e\000d\000-\000c\000o\000r\000n\000e\000r\000s)
+(\376\377\000O\000t\000h\000e\000r\000\040\000f\000e\000a\000t\000u\000r\000e\000s)
endobj
216 0 obj
-<< /S /GoTo /D (subsection.14.2) >>
+<< /S /GoTo /D (subsection.14.1) >>
endobj
219 0 obj
-(\376\377\000C\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
+(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000r\000o\000u\000n\000d\000e\000d\000-\000c\000o\000r\000n\000e\000r\000s)
endobj
220 0 obj
-<< /S /GoTo /D (subsection.14.3) >>
+<< /S /GoTo /D (subsection.14.2) >>
endobj
223 0 obj
-(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000\040\000t\000y\000p\000e\000\040\000S\000\040\000o\000f\000\040\000s\000i\000u\000n\000i\000t\000x)
+(\376\377\000C\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000h\000o\000w\000C\000e\000l\000l\000N\000a\000m\000e\000s)
endobj
224 0 obj
-<< /S /GoTo /D (subsection.14.4) >>
+<< /S /GoTo /D (subsection.14.3) >>
endobj
227 0 obj
-(\376\377\000D\000e\000f\000a\000u\000l\000t\000\040\000c\000o\000l\000u\000m\000n\000\040\000t\000y\000p\000e\000\040\000i\000n\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175)
+(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000\040\000t\000y\000p\000e\000\040\000S\000\040\000o\000f\000\040\000s\000i\000u\000n\000i\000t\000x)
endobj
228 0 obj
-<< /S /GoTo /D (subsection.14.5) >>
+<< /S /GoTo /D (subsection.14.4) >>
endobj
231 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000r\000o\000t\000a\000t\000e)
+(\376\377\000D\000e\000f\000a\000u\000l\000t\000\040\000c\000o\000l\000u\000m\000n\000\040\000t\000y\000p\000e\000\040\000i\000n\000\040\000\173\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x\000\175)
endobj
232 0 obj
-<< /S /GoTo /D (subsection.14.6) >>
+<< /S /GoTo /D (subsection.14.5) >>
endobj
235 0 obj
-(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000s\000m\000a\000l\000l)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000r\000o\000t\000a\000t\000e)
endobj
236 0 obj
-<< /S /GoTo /D (subsection.14.7) >>
+<< /S /GoTo /D (subsection.14.6) >>
endobj
239 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000u\000n\000t\000e\000r\000s\000\040\000i\000R\000o\000w\000\040\000a\000n\000d\000\040\000j\000C\000o\000l)
+(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000s\000m\000a\000l\000l)
endobj
240 0 obj
-<< /S /GoTo /D (subsection.14.8) >>
+<< /S /GoTo /D (subsection.14.7) >>
endobj
243 0 obj
-(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000l\000i\000g\000h\000t\000-\000s\000y\000n\000t\000a\000x)
+(\376\377\000T\000h\000e\000\040\000c\000o\000u\000n\000t\000e\000r\000s\000\040\000i\000R\000o\000w\000\040\000a\000n\000d\000\040\000j\000C\000o\000l)
endobj
244 0 obj
-<< /S /GoTo /D (subsection.14.9) >>
+<< /S /GoTo /D (subsection.14.8) >>
endobj
247 0 obj
-(\376\377\000C\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000e\000l\000i\000m\000i\000t\000e\000r\000s)
+(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000l\000i\000g\000h\000t\000-\000s\000y\000n\000t\000a\000x)
endobj
248 0 obj
-<< /S /GoTo /D (subsection.14.10) >>
+<< /S /GoTo /D (subsection.14.9) >>
endobj
251 0 obj
-(\376\377\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
+(\376\377\000C\000o\000l\000o\000r\000\040\000o\000f\000\040\000t\000h\000e\000\040\000d\000e\000l\000i\000m\000i\000t\000e\000r\000s)
endobj
252 0 obj
-<< /S /GoTo /D (subsection.14.11) >>
+<< /S /GoTo /D (subsection.14.10) >>
endobj
255 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000O\000n\000l\000y\000M\000a\000i\000n\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x)
+(\376\377\000T\000h\000e\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000\040\000\173\000N\000i\000c\000e\000A\000r\000r\000a\000y\000W\000i\000t\000h\000D\000e\000l\000i\000m\000s\000\175)
endobj
256 0 obj
-<< /S /GoTo /D (section.15) >>
+<< /S /GoTo /D (subsection.14.11) >>
endobj
259 0 obj
-(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000T\000i\000k\000Z\000\040\000w\000i\000t\000h\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)
+(\376\377\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000O\000n\000l\000y\000M\000a\000i\000n\000N\000i\000c\000e\000M\000a\000t\000r\000i\000x)
endobj
260 0 obj
-<< /S /GoTo /D (subsection.15.1) >>
+<< /S /GoTo /D (section.15) >>
endobj
263 0 obj
-(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000i\000n\000g\000\040\000t\000o\000\040\000t\000h\000e\000\040\000c\000o\000n\000t\000e\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000e\000l\000l\000s)
+(\376\377\000U\000s\000e\000\040\000o\000f\000\040\000T\000i\000k\000Z\000\040\000w\000i\000t\000h\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)
endobj
264 0 obj
-<< /S /GoTo /D (subsubsection.15.1.1) >>
+<< /S /GoTo /D (subsection.15.1) >>
endobj
267 0 obj
-(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000p\000g\000f\000-\000n\000o\000d\000e\000-\000c\000o\000d\000e)
+(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000i\000n\000g\000\040\000t\000o\000\040\000t\000h\000e\000\040\000c\000o\000n\000t\000e\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000e\000l\000l\000s)
endobj
268 0 obj
-<< /S /GoTo /D (subsubsection.15.1.2) >>
+<< /S /GoTo /D (subsubsection.15.1.1) >>
endobj
271 0 obj
-(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000V\000\040\000o\000f\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
+(\376\377\000T\000h\000e\000\040\000k\000e\000y\000\040\000p\000g\000f\000-\000n\000o\000d\000e\000-\000c\000o\000d\000e)
endobj
272 0 obj
-<< /S /GoTo /D (subsection.15.2) >>
+<< /S /GoTo /D (subsubsection.15.1.2) >>
endobj
275 0 obj
-(\376\377\000T\000h\000e\000\040\000m\000e\000d\000i\000u\000m\000\040\000n\000o\000d\000e\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000l\000a\000r\000g\000e\000\040\000n\000o\000d\000e\000s)
+(\376\377\000T\000h\000e\000\040\000c\000o\000l\000u\000m\000n\000s\000\040\000V\000\040\000o\000f\000\040\000v\000a\000r\000w\000i\000d\000t\000h)
endobj
276 0 obj
-<< /S /GoTo /D (subsection.15.3) >>
+<< /S /GoTo /D (subsection.15.2) >>
endobj
279 0 obj
-(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000w\000h\000i\000c\000h\000\040\000i\000n\000d\000i\000c\000a\000t\000e\000\040\000t\000h\000e\000\040\000p\000o\000s\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
+(\376\377\000T\000h\000e\000\040\000m\000e\000d\000i\000u\000m\000\040\000n\000o\000d\000e\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000\040\000l\000a\000r\000g\000e\000\040\000n\000o\000d\000e\000s)
endobj
280 0 obj
-<< /S /GoTo /D (subsection.15.4) >>
+<< /S /GoTo /D (subsection.15.3) >>
endobj
283 0 obj
-(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000i\000n\000g\000\040\000t\000o\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
+(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000w\000h\000i\000c\000h\000\040\000i\000n\000d\000i\000c\000a\000t\000e\000\040\000t\000h\000e\000\040\000p\000o\000s\000i\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000r\000u\000l\000e\000s)
endobj
284 0 obj
-<< /S /GoTo /D (section.16) >>
+<< /S /GoTo /D (subsection.15.4) >>
endobj
287 0 obj
-(\376\377\000A\000P\000I\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000e\000v\000e\000l\000o\000p\000e\000r\000s)
+(\376\377\000T\000h\000e\000\040\000n\000o\000d\000e\000s\000\040\000c\000o\000r\000r\000e\000s\000p\000o\000n\000d\000i\000n\000g\000\040\000t\000o\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x)
endobj
288 0 obj
-<< /S /GoTo /D (section.17) >>
+<< /S /GoTo /D (section.16) >>
endobj
291 0 obj
-(\376\377\000T\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000r\000e\000m\000a\000r\000k\000s)
+(\376\377\000A\000P\000I\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000e\000v\000e\000l\000o\000p\000e\000r\000s)
endobj
292 0 obj
-<< /S /GoTo /D (subsection.17.1) >>
+<< /S /GoTo /D (section.17) >>
endobj
295 0 obj
-(\376\377\000D\000i\000a\000g\000o\000n\000a\000l\000\040\000l\000i\000n\000e\000s)
+(\376\377\000T\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000r\000e\000m\000a\000r\000k\000s)
endobj
296 0 obj
-<< /S /GoTo /D (subsection.17.2) >>
+<< /S /GoTo /D (subsection.17.1) >>
endobj
299 0 obj
-(\376\377\000T\000h\000e\000\040\000e\000m\000p\000t\000y\000\040\000c\000e\000l\000l\000s)
+(\376\377\000D\000i\000a\000g\000o\000n\000a\000l\000\040\000l\000i\000n\000e\000s)
endobj
300 0 obj
-<< /S /GoTo /D (subsection.17.3) >>
+<< /S /GoTo /D (subsection.17.2) >>
endobj
303 0 obj
-(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000-\000a\000r\000r\000a\000y\000c\000o\000l\000s\000e\000p)
+(\376\377\000T\000h\000e\000\040\000e\000m\000p\000t\000y\000\040\000c\000e\000l\000l\000s)
endobj
304 0 obj
-<< /S /GoTo /D (subsection.17.4) >>
+<< /S /GoTo /D (subsection.17.3) >>
endobj
307 0 obj
-(\376\377\000I\000n\000c\000o\000m\000p\000a\000t\000i\000b\000i\000l\000i\000t\000i\000e\000s)
+(\376\377\000T\000h\000e\000\040\000o\000p\000t\000i\000o\000n\000\040\000e\000x\000t\000e\000r\000i\000o\000r\000-\000a\000r\000r\000a\000y\000c\000o\000l\000s\000e\000p)
endobj
308 0 obj
-<< /S /GoTo /D (section.18) >>
+<< /S /GoTo /D (subsection.17.4) >>
endobj
311 0 obj
-(\376\377\000E\000x\000a\000m\000p\000l\000e\000s)
+(\376\377\000I\000n\000c\000o\000m\000p\000a\000t\000i\000b\000i\000l\000i\000t\000i\000e\000s)
endobj
312 0 obj
-<< /S /GoTo /D (subsection.18.1) >>
+<< /S /GoTo /D (section.18) >>
endobj
315 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000k\000e\000y\000\040\000'\000t\000i\000k\000z\000'\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000B\000l\000o\000c\000k)
+(\376\377\000E\000x\000a\000m\000p\000l\000e\000s)
endobj
316 0 obj
-<< /S /GoTo /D (subsection.18.2) >>
+<< /S /GoTo /D (subsection.18.1) >>
endobj
319 0 obj
-(\376\377\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000t\000c\000o\000l\000o\000r\000b\000o\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000k\000e\000y\000\040\000'\000t\000i\000k\000z\000'\000\040\000o\000f\000\040\000t\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000\134\000B\000l\000o\000c\000k)
endobj
320 0 obj
-<< /S /GoTo /D (subsection.18.3) >>
+<< /S /GoTo /D (subsection.18.2) >>
endobj
323 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000s)
+(\376\377\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000t\000c\000o\000l\000o\000r\000b\000o\000x)
endobj
324 0 obj
-<< /S /GoTo /D (subsection.18.4) >>
+<< /S /GoTo /D (subsection.18.3) >>
endobj
327 0 obj
-(\376\377\000D\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
+(\376\377\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000t\000a\000b\000u\000l\000a\000r\000s)
endobj
328 0 obj
-<< /S /GoTo /D (subsection.18.5) >>
+<< /S /GoTo /D (subsection.18.4) >>
endobj
331 0 obj
-(\376\377\000D\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000w\000h\000i\000c\000h\000\040\000a\000r\000e\000\040\000n\000o\000\040\000l\000o\000n\000g\000e\000r\000\040\000d\000o\000t\000t\000e\000d)
+(\376\377\000D\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s)
endobj
332 0 obj
-<< /S /GoTo /D (subsection.18.6) >>
+<< /S /GoTo /D (subsection.18.5) >>
endobj
335 0 obj
-(\376\377\000D\000a\000s\000h\000e\000d\000\040\000r\000u\000l\000e\000s)
+(\376\377\000D\000o\000t\000t\000e\000d\000\040\000l\000i\000n\000e\000s\000\040\000w\000h\000i\000c\000h\000\040\000a\000r\000e\000\040\000n\000o\000\040\000l\000o\000n\000g\000e\000r\000\040\000d\000o\000t\000t\000e\000d)
endobj
336 0 obj
-<< /S /GoTo /D (subsection.18.7) >>
+<< /S /GoTo /D (subsection.18.6) >>
endobj
339 0 obj
-(\376\377\000S\000t\000a\000c\000k\000s\000\040\000o\000f\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
+(\376\377\000D\000a\000s\000h\000e\000d\000\040\000r\000u\000l\000e\000s)
endobj
340 0 obj
-<< /S /GoTo /D (subsection.18.8) >>
+<< /S /GoTo /D (subsection.18.7) >>
endobj
343 0 obj
-(\376\377\000H\000o\000w\000\040\000t\000o\000\040\000h\000i\000g\000h\000l\000i\000g\000h\000t\000\040\000c\000e\000l\000l\000s\000\040\000o\000f\000\040\000a\000\040\000m\000a\000t\000r\000i\000x)
+(\376\377\000S\000t\000a\000c\000k\000s\000\040\000o\000f\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
endobj
344 0 obj
-<< /S /GoTo /D (subsection.18.9) >>
+<< /S /GoTo /D (subsection.18.8) >>
endobj
347 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
+(\376\377\000H\000o\000w\000\040\000t\000o\000\040\000h\000i\000g\000h\000l\000i\000g\000h\000t\000\040\000c\000e\000l\000l\000s\000\040\000o\000f\000\040\000a\000\040\000m\000a\000t\000r\000i\000x)
endobj
348 0 obj
-<< /S /GoTo /D (subsection.18.10) >>
+<< /S /GoTo /D (subsection.18.9) >>
endobj
351 0 obj
-(\376\377\000A\000\040\000t\000r\000i\000a\000n\000g\000u\000l\000a\000r\000\040\000t\000a\000b\000u\000l\000a\000r)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000\134\000S\000u\000b\000M\000a\000t\000r\000i\000x\000\040\000i\000n\000\040\000t\000h\000e\000\040\000\134\000C\000o\000d\000e\000B\000e\000f\000o\000r\000e)
endobj
352 0 obj
-<< /S /GoTo /D (section.19) >>
+<< /S /GoTo /D (subsection.18.10) >>
endobj
355 0 obj
-(\376\377\000H\000i\000s\000t\000o\000r\000y)
+(\376\377\000A\000\040\000t\000r\000i\000a\000n\000g\000u\000l\000a\000r\000\040\000t\000a\000b\000u\000l\000a\000r)
endobj
356 0 obj
-<< /S /GoTo /D (section*.2) >>
+<< /S /GoTo /D (section.19) >>
endobj
359 0 obj
-(\376\377\000I\000n\000d\000e\000x)
+(\376\377\000H\000i\000s\000t\000o\000r\000y)
endobj
360 0 obj
-<< /S /GoTo /D [ 361 0 R /Fit ] >>
+<< /S /GoTo /D (section*.2) >>
+endobj
+363 0 obj
+(\376\377\000I\000n\000d\000e\000x)
+
endobj
364 0 obj
-<< /Filter /FlateDecode /Length 9998 >>
-stream
-x}I%=;Jpq_**} }hLi#etEf-sȪ -I3#N7/̃Omټ9C 17{s6mٔ[Xn?׏Ƥb ܧoPb0h{Rݿ6PI>TMrNDk*3o9 ٭:\~"~}m˔7_ $o%%y'?v[MA3KD&CO460e=EX@4J}T\Rt[L7 ~
-?Ӑ4Xe1BFmXC|*cf_]]t9ӡhfS^-xjHB
-̟E2[yHs$> ?,y>R.kX*<u&hyQ3|2$.͎^@4nfzF-溅Gs8ݜ$z6JpiSI}o p;Sl!4wZиoD B*B|=#Scs
--AyFc AFud Wa[]ruRJE[2rH,R%ԸAe)ru ˟R\~~0K-Z~
-m
-f̔e3ź3w٢:fOFZX62gW!#' s85g8x
-_Ì؟GKaxj0c|5g㰍1z .qrokqL` -O,lN/9Z}ar=''w=eݪf]1
-2#mpH*Am#Wl}J3K륶D5VSV>TzDm¨ q;ə# R@n-6H3<czIwel5<, )H6(`ڑDJ=LJei3>3k{ɴ}ȥP5F/bAQF ; VCXy ;OHAD[XA# Rm0O@Alr-P vsH{{ bRMSHzi{wxNe<0
-]ubk&qL1O=
-{>?K-R͖habтڦphY[))h3CPFe诬D4DՕrQJHnG$jqn``Sʼnj{e Lh(%BW6aa6YqX \~&Mh(F1pzҖc0f*+& ,- ֽQL!*@Ǡa Tj Z)fXQEv`'q ;VC $ f^8Ezgx`SXVoKaTn;xO+b5i`rqe :\W"Fg}ŤDz\:<i' b~Ƚ;4*_X`D@`@Iƕ:t+mJ4:
- mDN6i6rF$ @u$R<Y-Wb0y<E¿K
-bsXͳF0aH@E T[Mx"|4.G$`M h| kp0AFD kl hĢVmH^i$ ld}$@=dˀ$Bvs.QyKUB@䘂慂 WlJ^"
-i z>4(_0F|FMKi0}SA&c6dBĴP3|9paBJGC"1.(?FVIa0*HUF!
-<dNe+Zkh6&53 4 >kF<_crDz[[E\oJ\Y%; dFQBc[Chj
-i
-+\j"BiR=H-Ɍw{4y
-U#!z1d$;25ƶg!
-N PFG SqXI&=IፈcEG ԌI[GT(;+3x0.\p 6J`X"m&laq2띰!OFv8J&à'ER1ޝ
-c*%yNք<"nE(̙*NR9JQHhHd.tY.fB2N?"
-voDqm;ȟiqLDbxX) E%oXj52l_$jpQ/TϨ
-d%
-iBFQNZ 38K(ϺrKaaz'zyPJ&zFBE #
-) _$&HSA31[CѵBWbPR0Bb:EcwXj'p>aT i;o׊f A|:`KH$ vwD,j58bfd߆kI301Q|AyL *%I4:ai1aQ<VWךf€S }Ab`*J40}i/kոq¦v.E͌
-*E%D/'JaސȽs᳎Q {ר-vT qAj+ebUMDj`5gJ$#kU"{Bh?<pY6܄@"
-V`8iZO4&g"RXbjH8ZPk S u[5M\X&D&Kdv 2TX?$q\,gjzNQBӜh
-(M&Dx'J(ΈrZg((=pk(SeG]5[X0&D&pLd
-~=~6j߯oO'W+T^8_ZUPh GEO*["_qy7Oe 'O͖i}W _ ;/6X W19؉XOG`Yba<^~kuu:@9E`w2_2/`Ӗ
-
-Uz؉O> _<e+OBaN-8s]2s=ɨ{ָ-
-[&0bM'Ccs.<'FzhZ#]z1[$K@sbikPƘUM0xupfI˫MPr+%L4LJEԝ8~%V⯼2Z@yX(Wnr1&!οr gk
- >Apm}t}P[m'k8St>zhZ]z1M_Ol'~Z?}Aû.6ben,#Lt_$ /UlQ :Kf]CĘM5 (s\`a'KpPkF7htlj]3t@~y~98EP=Eu12^Q酸 4(`0~|@gfi<O~XSZ_MվV}}ّ;J}_F;|.[X9G͵aGp-4^%5F{=Tv |{i*Lu[7cT`GnwaԎޝS/{ӻ ˥s
- o/m1=
-ùNBO>ڳ24SdT aˣ,,'&nѹsd6VkF m~U KZVSV]{ v.
-(f}ڸ\sG@qL*Хٚ6>bݥnW5u(ϔm74@Td#e!ɨ2eJp 1!*ަ 绦 giIm@uS 7\&骪=,W fZ(cu.Y;G* W}͛և9Uze{?渂ej;5 88{𛩋L`,lFR>h2I ߂;
-~px#y!s2" !<Xp _K~א,>f[ŻVb)<UBU9HJ{[HT$^\]~S)w"= S: e%z߂68z=qE{%4[&UkF{$lڂo4;%uuσyfK!B1d'~m ʳE b>9tr~E H5X|s>z ?I5R}.aR]ضӰJչjts[hdӭ/tLIi Ч\R~itce
-YZzF`HMޅ-gx(Ë/
-.KMy| zD&Ņ% SIlO&j<]=}#fx؀Ow!򃪑Wic x|.Yxz]|ޏݞ{=icbb7`:%FzXjJˑN\zqx.ao-q!CQ
-̫˾^/xneLݏSc82IPABڱ\ӸNx @]4c~qx?{<EbeX`YM (夒8N>>V>|<oNs>qD:<<;eUM)ұq!W̽Bo?(̴ڽ
+<< /S /GoTo /D [ 365 0 R /Fit ] >>
+endobj
+368 0 obj
+<< /Filter /FlateDecode /Length 10004 >>
+stream
+x}K%7~YcP(jb6]\Ԍ{ to)"8'NVٮ,dR||HJPn_Ϯlޜ!~9l-
+,_~Ƥb ܧoPb0h{Rݿ6PI=TMrNDk*3o9 [f%:-&-H__[eʛ7qy x< %r&|hiMeADϵh HXc8tC_rKn Lp{h~m^'Ty\}mVS 8,(4[Pc ?`4X_z0BO+1ʧ?=e4&l6Ղo.Y$(!O<]Sb߆,y>R.kX<u&z j/'CM1[9:\Ԩm`b 3cpDy9@{RoF ͜?ݾC\;omng-N m8A0ZQpq⼇q~d~l@RjX%b|ʕ
+Mc):^~LHH#}[]R:o-=f#!7ȌwYJR-Y<$`~_
+ǘd/y3bF=DQjy 7I,+pւQ.K:{
+Y5x35%!H_-5)X/I#RKmjr&ą|)vQAvB=3G@a@ @n-4HؽV:jxPFVʒRhp&das&|4$ͤTѬo-rҺv KIJ^ 8WA(1u ,r1e%-쬐[De,p_4Ҿ hYI*D[bV搸| &=٥THzi;vxMʝ-<0bLXr:Zw". fݣM+ײ/T~-
+ֽeQB**@C+*c/IŒ/su<rmQȵ]P,Xi&48qx )G OL6JD0ps F/X>`;\{B'MCXB$HF WL:BǥJ;4PUI"ﰒ@@~IXtb $ o- d\*:"2WڬǣS (̴9I S&Fΰ$
+<8ä]^\1Tb&fV3jN!WGf4eН1{DViY|G{j)NY"NSR!]Ar
+:;l:I[=\8\RdSByֽE_IͨJeeQEv` CgXe2?qx-MG`IAze fQAv9B`A!sde*OuDMaEQSUhXʬO}#!j4Nb0r)Y-b=$ @:4DL>EALw(a7#8Pw# -x9 g:%E3(_z mfs`l QL[C&h1>MQn6$/4ehI62Ei v}2 ć5n%1*o)\hܤy`[BGC"O@0q
+=QRFT%GM#1-ʤf" c$_8\XSѐ%E S#H$җn$m*#` |QLe+Z)Hl4$,|U$
+*|zFR/ad q{ !T
+$eBGPɝ)&
+i䛮\3LFJ()uzdDIHѕRQ2L$WH;UJ`ض(r8
+ "l GU
+ I3FQ&Ip$W3 9"!T
+l<6=#Y;g)  c"6JX݂8&"1z<,YdBFPɛ)n<Jdy"Qx|;zF
+hd
+Tq͔.O
+idMikU`:< "+BQ$2]Q¦1pk95'Tv/C#U+B$)hu3Sg'oSZHD]S8(Yt9YhAUlJuRI!nR;DVvD}׵NYQ?#gH
+^$^T
+$
+JP-j[ɬw\>@G~"HGFRkj)i"τȉ.JVvD}ׅ:~Fyɳ^m8@"
+V`u֊&dE2]ņ2tD}:z͐P_
+zL~D^ep8^qBHiE@I2"\4 \V:FA[@QguAj<naHMhEcy8&DN
+tLEşQA蕒*$I %γb(Y ez_ԔNGw[=wǕ.\6<=3hbӎgb~C ?Zƫ|cNGdYZ4^۔-F/'o֢*ױg֢*d_^SxfZ4> NxW2#&k.R(]X7tl/dz")F %|KįЄ
+-ķZN47_"w^0mnZ}0$`ϓqaVoC7#(PT^3/S޽D~,*>M[rĭ;p$\-OVIՓ`f
+_*T(MyпNJ7Vx_,#^x&
+/
+k
+0I{.lhZwhMw.U㑢p[153 EgGE}!*!nbe:R~pR۠]4>xlzXM?n .낟x:MQ}vBM[`]|tdl#sa.aԞޝ!V +  փ
+,mxVJxBF m[u>Y`7μ7n3nǁeNinH?38WƟSI j[.hgtr >0*
+Њb5{N J7$s@b}0z<x&:dwOAu]FSS76v˖%[[ؼw{I!_VZ9aw^M6s;~ȁ<}Hdix`|lyu7ik/qѝUTPd/68OWLs4Toy#so&ђMr22?-ع_f<p?_ug,rh?.x=CT?xK& $#I71!ϛ֥/COӄy N=YxiC]]4I\-qf68:i0!}3P\LC\uҷCc0'sR;Ntʈj%%,hcȖt2hSCcN#es i7ZץubǧDEx@0db8}]QkG Soɐ?`Y~k]ӯ mZ$s/ՌNVaû }92.q#
+pWe۩")D"\ŝqd r\ ρ \9
+>]`u_<S
+F
+;<ҹAc RlO8[-(aÏ3٬H^bdq޸jT‘hMfG2璺1y%AW< TgZ og\^[#
+$m("=C:Q0e:NoXP
+ɳ۶Vɴ47Ynn+ U΃97>ˢ\1m)#U7~Iw@-ЂxeBc0u?J;-:a^P~fL+Hĺ-e`(G۪[sZc*bimCgugIUhUqDk8:LDŽ?qFxR’s72S@t7~17.l9/@%v^}Ȩqm5Y>rX=_zwV񩦕 ]gO;w+{Cz'%;[\%zwHYoָt뙵?۞݁wMgX TY'4%~NnBJƷ[6asq!$Do*=T\މ-Y]xr$wz>Z/JCeE"Т^|jh虘LLa|tV!= Rp`
endstream
endobj
-361 0 obj
-<< /Type /Page /Contents 364 0 R /Resources 363 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 395 0 R >>
+365 0 obj
+<< /Type /Page /Contents 368 0 R /Resources 367 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 399 0 R >>
endobj
-395 0 obj
-[ 362 0 R ]
+399 0 obj
+[ 366 0 R ]
endobj
-362 0 obj
+366 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.659 499.819 88.116 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty)>>
>>
endobj
-365 0 obj
-<< /D [ 361 0 R /XYZ 78.37 808.885 null ] >>
+369 0 obj
+<< /D [ 365 0 R /XYZ 78.37 808.885 null ] >>
endobj
-366 0 obj
-<< /D [ 361 0 R /XYZ 79.37 771.024 null ] >>
+370 0 obj
+<< /D [ 365 0 R /XYZ 79.37 771.024 null ] >>
endobj
-363 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 367 0 R /F17 368 0 R /F30 369 0 R /F39 370 0 R /F48 371 0 R /F47 372 0 R /F49 373 0 R /F50 374 0 R /F29 375 0 R /F52 376 0 R /F41 377 0 R /F42 378 0 R /F23 379 0 R /F51 380 0 R /F15 381 0 R /F20 382 0 R /F55 383 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F65 387 0 R /F66 388 0 R /F67 389 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+367 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 371 0 R /F29 372 0 R /F38 373 0 R /F47 374 0 R /F52 375 0 R /F51 376 0 R /F53 377 0 R /F54 378 0 R /F25 379 0 R /F20 380 0 R /F18 381 0 R /F21 382 0 R /F19 383 0 R /F17 384 0 R /F15 385 0 R /F16 386 0 R /F55 387 0 R /F56 388 0 R /F57 389 0 R /F58 390 0 R /F65 391 0 R /F66 392 0 R /F67 393 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-400 0 obj
-<< /Filter /FlateDecode /Length 3881 >>
+404 0 obj
+<< /Filter /FlateDecode /Length 3882 >>
stream
xɎ\>_ѹɇ nInOC
ۈ}-mF? ,i;Q2v$i&Òr-{ٶbD׉1dydf"<S㌹?l2VHAfVZo,=e60'l]<LK~
@@ -699,1285 +705,1355 @@ kEEQAXQ$Aʄ,-l)LZi#ŔjnVcFYWvMFja56EjVŜ9$>!
mtxr<ɬ٬ɇ`lx
T+3Z J?vvVA ́$cUC14ItyߟW^"\clVSL h[ï, %u
c vNcKPApPkېo: '0L 
-OK>hQ>Mw`OK2
+OK>hQ>Mw`a^9n.RQ*~HrxZ-<飧 –|C#o^~(1=vx /_S3!0#¯ZC*9ߦ~ʲTfK*3Ծ0J$+d[%>~yS+@T֒]\_[ 0$mܥj^\5p}Ip IĵRaVfְHޫӌg'cF}I$un]Mk) >O6IOW{n,ʣsxt$`-5=Sa4>
L&%97f_*kC3YG x|f9˴"d/hbjcO3y;
X(
xǷ#iѡRF!_
nFw2BRG046/&mO>
-/yUM<R1 MsU)g0 bVhgyĈən0Hw)ϚrW0-}mƨiF뷚e(hHj4PLOKACl`U|. BGY)03%/ LuyhˎC[ig.U<ChŰ=!q#OY4uU'?vU-*5
-z:flіrG
-BS90bX3p@z)F'QTm>?_BfF(^]zT)6V7k,_7jdbKT{Rz꼜cRAbu I=!PFi
-R.cU1Cg/(whw*n_Ѕ<ўjͷ֓Tl3XQ,3wbZQVv0&ur<ygjV0iuQOFO\>^*%<0̇#u>{{ɪ%.bQڔ[Gu?0bblg&(J͏γe^JGJR0qp>헒iSc[:>dcuzUךR>S<W+L/$Be$_ϗpK\^\j`_\^)?I2f`]i%B[IpWa1kU$P
-U͙hYgVO*4J˙VZJ֜_Fua[dq̠uYS:-> ݗWYDyՓ˫aB^0w+ o?F1vZzM?^jS)RKe^V[os~YLg-*eN *M*^ujZY<ꂁ?-"خ0stL!Y.bo_-[cֽ_z``29ik-}o!yaټwImDbxA,RR6&c
-WBIRM^2Ukk[w\)6VyNZ}oScJO pNЛM(jZ?-X+79kg]=TZ ڭ'.aX-S$X0Ls7BC]idBkhߕmq_.tKb*NR+ΤonB+J$Vn1*SGF-OVhL&<:SX'<RQPK|B.A4f;0:cd<`2͎A:ODJ* hjM]PMS D8"pJ5oy1iUl⧱!oَ_DN05h>́u#o7G QbefApZ.XVic`!K#`;,,3,k%sIs@
+/yUM<R1 MsU)g0 bVhgyĈən0Hw)ϚrW0-}mƨiF뷚e(hHj4PLOKACl`U16(iaw,DϔXҒ&~gú<eǡ3*k!bBĐŸ',ƺR*{zD{=k3hK#@FgM1G8VKhXi(6/w3@z.P=̛
+Oي 5}~%*=v)=\u^1)rUS:Cȅy(rG̊T)ױ3 Yg{Jb;4E;oVKyuthS[]I]*`,(;1Zb;~Q:93tB5Meϴ('k'.K/tpÑtҽdwD(ImJKWw:Q1]q3r
+ֈSJY΍2/QM%#vj)W\ոU8Kɴ)-R:kM))+~i2}/K8%T./_.5/.$pukZ0.!P $˫5*Vy *zm3L'F LLKLU+DW%k/#灺0-B8fк_ki^
+#ð?0ͻ[I*+Za "n<ʻȄf׼Ѿ+\ :}QTVI\ӝWFITbU˵ ZZDS|BMxtOxBn/^\iw`+t\42UCf P'rJ%I 45.|O)OyqvA"Z87*6ϷlG/O"'JX4[z۷k=:i`y{[/otvįL)&
+`ʟn^1Y\{S^m}?vTS{a1rcm_%wT°װg7ꅲk"~V\
+Ud
endstream
endobj
-399 0 obj
-<< /Type /Page /Contents 400 0 R /Resources 398 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 405 0 R >>
+403 0 obj
+<< /Type /Page /Contents 404 0 R /Resources 402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 409 0 R >>
endobj
-405 0 obj
-[ 396 0 R ]
+409 0 obj
+[ 400 0 R ]
endobj
-396 0 obj
+400 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.081 100.065 256.538 111.522 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-401 0 obj
-<< /D [ 399 0 R /XYZ 78.37 808.885 null ] >>
+405 0 obj
+<< /D [ 403 0 R /XYZ 78.37 808.885 null ] >>
endobj
5 0 obj
-<< /D [ 399 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 403 0 R /XYZ 79.37 771.024 null ] >>
endobj
9 0 obj
-<< /D [ 399 0 R /XYZ 79.37 428.769 null ] >>
+<< /D [ 403 0 R /XYZ 79.37 428.769 null ] >>
endobj
-398 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F66 388 0 R /F70 403 0 R /F65 387 0 R /F29 375 0 R /F51 380 0 R /F26 404 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+402 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F66 392 0 R /F70 407 0 R /F65 391 0 R /F25 379 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-408 0 obj
-<< /Filter /FlateDecode /Length 4404 >>
+412 0 obj
+<< /Filter /FlateDecode /Length 4403 >>
stream
x]ͯ أ`\8/@{2[S:HERߟ3g?/;KR$E8zDž^~|EW=1y*P@/-#TOP*R/r)*1
J
-Gx HQddt4OQ{-ыH~Qj$EA-R֊s~Z? {5ҁǫ*Ӿ/^VO<㟰ۤuP}E>^Б[ u7%$:Y]7 jzGO*v|@WM-vgi`R]|SzWZI'e/L.RNujKkxfm@mx{-go(+a
-yLʜ[Z)C) c8\D13 .<
-`E(,ˆR|n؃q~o4)ӷLoDL5@ez ֽ, Na\q IJrqV$ޅDCFTԡaNB7o">L[8BG<'%B, T(76仁qrCyojjbҾ̾sMJYHmo`a09H7?n SXN57L/_=L=ony7vw'+%g*4_\F 㽊AT6! U@T;(LcEp3GZ^9 2k$iCHG'wg-}gTMa3)OZ My=}3YU? z/8#?yۯ}R)0
-ٲPaLT|zu.~p|x8FT`ʧ!_ojUPq8(q6 xqBa*+2c Lw'59F
-˧Kծ \iڢ?
-G -2/>Ŵ,aIZzXy:A:v`jaZ߰=JeYb8f<y
--7
-)Xz9kCI |/2Z9.&cJP?h (mo^#)0@c^%cفvcU <&8[IA PZޭ6l‚'b%@-@%Z'uxQN-l#] %¢U+!Ma4":wDoԐ8c0=,ǘ)^h-8~ LIq Q :q<M.3 ‹A4w86iu?Õxz+Z"u*R7gм0%drMԭ +ՍqŀCjv&%ow[ڧPY/uKwZj-5Z(64whEL
+Gx HQddt4OQ{-ыH~Qj$EA-R֊s~Z? {5ҁǫ*Ӿ/^VO<㟰ۤuP}E>^Б[ u7%$:Y]7 jzGO*v|@WM-vgi`R]|Sw_uݓ&
+Fo):5Y3ʈ|6U<h7U0
+v7A8YDXk}7|A”[wS]DS ^b=m`ȅx'0B8ŅܤQ 8
+f`GBSh"͡iA*tn0Go7tTu
+|O-Qo!#Xe֛~O@8^Y<7D55W1i_Qf߹&,M6UH7~Cy0 0Mi7[)r,pT.ӋeO7S*ěvͦJiY?/?Qxlվ nB 
+SXQ/#̑W`Ʃ@F8}+EYFub+rgl̾oʓ5|SD`LfƏ) $Nkbpcxノ)c:.0
+ٲPaLT|zu.~p|x8F ,iET\E?
+c܃ ^PLXee!fIM#6|D++WO@2O>"Vslv  k{.Xid^O?/ϟ. ~e Lu˫7մ,aIZzXy:A:v`jah[߲=JeYb8Ny z[@Ƈ
+C 3gA Qbpq̅{"yS
+)Xz9kCI |/2Z9.&cJP?h (mo^#)0@c^%cفvcU <&8[IA PZޭ6l‚'b%@-@%Z'uxQN-l#] %¢U+!Ma4":wDoԐ8c0=,ǘ)^h-8~ LIqI Q :q<M.3 ‹A4w86iu?Õxz+Z"u*R7gм0%drMԭ +ՍqŀCjv&%ow[ڧPY/uKwZj-5Z(64whEL

- zXy*Vi8Dag0fߧEh5>9h;9'^s\`}N҂BGkfz,.:g.zfUP"=hK(dKһ)\JԳm(c\Ŭ&vV;JZr4Yj0I +J׆D%XM7 JO`'CXҦWU)-5J7ݠTӲC^r 9ژJ51Zh;DZVo__anC}Di1>&c7반JK}m3S eX]?t&mkԭ(+SEU]x;~96%>f=nS쫓/$1jOyvl.^ =[WueuYekd)o(Mmh+MGU?(;w*+~J* g
-8OH#ey"!
+ zXy*Vi8Dag0fߧEh5>9h;9'^s\`}N҂BGkfz,.:g.zfUP"=hK(dKһ)\JԳm(c\Ŭ&vV;JZr4Yj0I +J׆D%XM7 JO`'CXҦWU)-5J7ݠTӲC^r 9ژJ51Zh;DZVo__anC}Di1>&c7반JK}m3S eX]?t&mkԭ(+SEU]x;~96%>f=nS쫓/$1jOyvl.^ =[WueuYekd)o(Mmh+MGU?(;w*+~J* g
Z=^!H347/`r9pI Wap8
ug)@ O5du<cept ZTuFY  p)/"r L
*B+.ܨ{s%QQ΍uyq!*tyq!*|^^t@$op
ဗGPB)Tӎ9{Ęb#JFk 
-"}φ?X6p\X6ѝXvfXŲ<y.X=#e#;nNX=#e#;6l&9.7|lLkȴ'4οgd_)Gԯ?@O79~(Fdb>P^~Va/|A2>>^|؂dƌm/?@RK`.B#|Љ+ʫ$r!ENq%ZwHG#<}ˇcN 3bu'TM8fN1f0 ƔW&qgkSM(Swosk1i9b.; !vY74ct^}P ST{aT 04o᎒
-F-X|߁OߪلE{*x|D:xN6;.bZU kϦbVe^$cT P$E#u}ܟV1
+"}φ?X6p\X6ѝXvfXŲ<y.X=#e#;nNX=#e#;6=vl&9.7|lLkȴ'4οgd_)Gԯ?@O79~(Fdb>P^~Va/|A2>>^|؂dƌm/?@RK`.B#|Љ+ʫ$r!ENq%ZwHG#<}ˇcN 3bu'TM8fN1f0 ƔW&qgkSM(Swosk1i9b.; !vY74ct^}P ST{aT 04o᎒
+F-X|߁OߪلE{*x|D:xN6;.bZU kϦbVe^$cT P$E#u}ܟV1
endstream
endobj
-407 0 obj
-<< /Type /Page /Contents 408 0 R /Resources 406 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 416 0 R >>
+411 0 obj
+<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 420 0 R >>
endobj
-416 0 obj
-[ 397 0 R ]
+420 0 obj
+[ 401 0 R ]
endobj
-397 0 obj
+401 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.645 745.619 220.601 757.574 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-409 0 obj
-<< /D [ 407 0 R /XYZ 78.37 808.885 null ] >>
+413 0 obj
+<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
endobj
13 0 obj
-<< /D [ 407 0 R /XYZ 79.37 706.75 null ] >>
+<< /D [ 411 0 R /XYZ 79.37 706.75 null ] >>
endobj
-411 0 obj
-<< /D [ 407 0 R /XYZ 337.806 432.326 null ] >>
+415 0 obj
+<< /D [ 411 0 R /XYZ 337.806 432.326 null ] >>
endobj
-412 0 obj
-<< /D [ 407 0 R /XYZ 337.806 418.607 null ] >>
+416 0 obj
+<< /D [ 411 0 R /XYZ 337.806 418.607 null ] >>
endobj
-413 0 obj
-<< /D [ 407 0 R /XYZ 337.806 273.495 null ] >>
+417 0 obj
+<< /D [ 411 0 R /XYZ 337.806 273.495 null ] >>
endobj
-414 0 obj
-<< /D [ 407 0 R /XYZ 337.806 259.776 null ] >>
+418 0 obj
+<< /D [ 411 0 R /XYZ 337.806 259.776 null ] >>
endobj
-406 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F51 380 0 R /F54 410 0 R /F52 376 0 R /F41 377 0 R /F26 404 0 R /F58 386 0 R /F65 387 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+410 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F17 384 0 R /F26 414 0 R /F20 380 0 R /F18 381 0 R /F22 408 0 R /F58 390 0 R /F65 391 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-421 0 obj
-<< /Filter /FlateDecode /Length 5840 >>
-stream
-x]K9ׯc!c^fO63I=)YvCUJ")#b.yF=}~Ë,\> H\ŅEryBh!|AE?ؠ`mV/M=%9EDO4ǰ_? u QtGV)x%qO"pV%17Qn# Yf:0P# ԌITSW>-پJ0; v p+[ȍl~oOָ\Gu$p?b&b]7_,ۗɯs@Ëҳ\Kꧏ?SW"] ,=-s#fV/_~4Dp.{ytL0ectF[I_iD-]e>X0$me~Q&k%hzEW/rq{AKΦQK┼;E]dhV=Cd+Yl;3 
-[yA& yfQob7
-*g؏4h^#&rUegL;S%^0[ ЙzF3uc$V_9&TiPe `Dq;TԽL׆*<poR8mLi;TYJ|bW66hd) g+?h73y^ZR>( 6z֜6@&?izm
-~7<Wǫa0;_@vg/`kef$wzV Nm}9;woxPsk9U1
-@&#WzUmePx&zsٍVb\0t%[Ћ>KC\f^QV.=3[$5<=  h F$5<4ɐ+qV=IX*Ix\q6HHA,E
-#Th|`UGTeT*"z;B33*oH[g?d]/LxFUHx2+DQs40*: ޜN4SS)=q-F&4=79rrQ@0AͭDE~'|8|<u6+L/bә+kͤKq5q"wȎT^"QU#O<Pd8<> .kMקIg}닏`~;h=&wKP5ș3A#+9 ~+1uR [G.y7LsZk;ڋ Rqjmoq<P}t'T;)3S5
-mEc77&b
-3#+4qa(9hL{t.aze f|_JYUn?J"'hJ+UE;ʨc\2+&S@,'&{F=դ/oiZ葧)&[z%ǁ@ǃV˩.i.njoZN uí8͡OGY&^©r:@` phGNuB+󁥞OPeOFħt~r?V%N5ⴝe˺;FuxL=5Y`ww :
-s*w:T>[M("/ g7qRV;]$܈k$;!%cr[څֵ][jRx7%=]y1_ pǽ
-4K`ٍ{ ?쒆QMіPpcZXXk]*諺ApC`hkU`WŷY!( 2v+3{M̂;o_z.1iXp
-=-aiה9ŇFۅ!+ŏEt"47yT_ԕ)prEyo
-&Jݾst(ATDΤp9aoX*#Z0S7f/'-)Q `™\n`J3*u#YjX udcq#hUO\u8-$<susnPu%fm%, mug!j}^[Y
-xÖ,)Q 21b Yp H1n7 '6vڙ%Q0֍k6hilȪRӠhNnh!b-5rCg F4lZC9 WZ:;4*v46a3`%eǠBһ#^QY2`g s
-1( lU}
-AL߰BPqV#u[Sr<`HL*@YHG;BKϽKkXDZ_8G\Z9 ^ھ$ًX4Ϧj&)6N ^SwC$Ho&gwB;Pv,y[3Skm:5M6xg&''4H\jSg5>a5m!URi`%:QP3z8j%Zublpn&fl4+:AԢPn(7kdڏ΄G_edy[3SkmJ5M:vg&%,4+J- Ӛu2t[H2,#`&l:9zXj&Zblpn'&g#m4+ͳ:Ip򤎻Vk
-7#T \T9
-7/FIV1ojVMʭ)lDEqtקZw-i*aPly'=VZVc՞ lMry6TT3 9;E+0껄
-::RJːiǒ5C֦UشowjrrҢOcҼ+UMqXt]lJr٦H[[Rkm*5M6xg*flT+Fw֬dѫkzIr .b]VZRcӽ έEry6TT1owT QR)خ|]+k#7{f9L*~}ؓ"(Ee =*FՊ1]0]eμ|ѻ
-7(Pu/(Tr -z",3&PscS(8҆JXB*U
-ԣNR/3 $V5]Gs hh7栽"=ġfP C౶U ]e\0tKMt!a\W˜i2x9)TAh^Wث6P~DyQ y@2k=`#h߆:"J7_/컷>Cl߱:iVpfѢLJ 82H_~n
+425 0 obj
+<< /Filter /FlateDecode /Length 5973 >>
+stream
+x]K9Wq1zP/[Xkٓ1 E izR
+E26@TRIIEy'?{ [o$iwqVn /^^-? ?,^
+a7szS%z}vOW6D}*RfJ*DJboFa_$`u l`G&yEU!|N-ɗj]u]<!0ȭ!+ rGȍl~oVOQ{\GuK.!7a?ba/]SN4C 36ܔKO~Xe4?~nDl2J/(_.Q$o:xs˻tՌL0c7tF[IߌDmSeqsYaNI$P"L[
+Qj_mKkAlKκQ %qJMj E Z 钭dl*+EKTu үt}mgNnVhŻ+ԚhzKۣLJ?h
+{cQ0Z:T`?{٤kno`^V.%c ԢL_Μ<4|ObL_f^tSl.v
+fZ|ߞ*AzAg{N'I_^?UiQWe `DUԽLouUQQWEۥlLU^J}i=F;4Jl
+aZg&_^6eFΆ;_Μ Z۝Qg7oͲ2l֜
+Lޝu@gTXopp8pM'ި'
+9IJ;q-|㜂);S9?0 g G|y۝ݬ ӈHzmu?a/;ewzmu pO4sk9Uu8窵槥9zG , лlR+/⬶2([wyĠpj@׽{l,9trsy ֧G}Z=aTbާH,TKO{'\$Ec4z'L cu ҇H/Wy?z7o^HD.=
+#Th|`UGTeT*&z:B37*6~oH[gg]LxFUHx2+EQh!aho/9IhRzZ4I-ηQHOӀM
+×Vz?2yѐ<m~Juk;Zyu uByFJHƩ#(u` aݬV1NrhLTuXʮ^=e8T>.^0iţq r3\c,\GwBH ݊/\1- Q]qN~4*)JVGpPCNXE:0:M۩i!t t:pA7dq5y:aYD2ϬN"ֆ'{;5,c |כ/gECIVZ<nt[c'lp2T܄:q5y3wjVV0{ٲZ+.teg2NXT X{9.y } uhQ!w˗
+3#+4헬a(9dL黬{t.͇;k ^5 ;f6wVΪjQYIMAYX^TM_U(^50 _Qwl5qؤ6zyFZgmGFeo4v[cD-;HЧLl^eT\}# ' B.uBVFX=0T-zħ TW-
+N1H8.©cUF#xD۲(wZfd a`ǖVQe t9OZ"hLXpNfЛXџ*mܦvl晷݉-ƉkڤKZ|8Z,dwH~=?8 g0HN+m#Aɚ~XiXbs;::
+VSº0[钌^L~o-H|}M3x1{+I[ٶ<.#4)(*aq"٬ ŸP3w9T9H^o椄V9={&
+;PyF>GEy!zh!vVb;AL#VcU{\5ցp+@^cK22"W{-XSw,=Qڱzcӱwq"؁)D
+Rpcr _+oWGܤ !d
+4Y7K#lJn;LL{\oppwfY5S@j-|7 '6vڙ%`Bƌ0NRJ:4T4h9Zd=lc15#JV6 ف
+8~b͕]8 vL h?NM2
+A HVJnNeYT+ae$&=N@qHG+BK^ϵKiDZ_8GZ95^ʾ$ًX4Ϧj&.8
+N8;HL .#S(g;6Ǧ{k3SfuQb$RF\jʮ?,:QB[ 5#/VbU'ƱVjb6ʦM;өDm NJR|n&a~L3((1\Q@Ƒ53ҦTؔmwVjRrʢMӻTa܆q'Y'C"d(2" fb+7Ze+fbU)Ʊ*vbr6ҦOc<۩S;Opq0BusPE逃p@1JB7yQR-lUnMng&"'-4;>4؄uH@Av[gʪXiՊqڳƹX4φj&.hF}
+zjʨ<:tqƥc־<<z.U2kP]rǠF&BAl-
+Ā9`G؀CFv;!n?zޠ]~+1;憶 yw{9`/[*ޱGonL~\V"^ t?[uGomCC] sm&4TL@x8 [ȯ8$k
+F;n6'|Q{ߟ x7V%}fmF_jy"+pN*,Ik}`?Rڹ aЎLZ7' hHX@b ? %ح|
+/sl70}DCP5[A+1?ȷ*
endstream
endobj
-420 0 obj
-<< /Type /Page /Contents 421 0 R /Resources 419 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 424 0 R >>
-endobj
424 0 obj
-[ 417 0 R 418 0 R ]
+<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 428 0 R >>
endobj
-417 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.89 83.773 247.93 95.23 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+428 0 obj
+[ 421 0 R 422 0 R ]
endobj
-418 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 260.985 83.773 271.442 95.23 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+421 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.89 67.03 247.93 78.488 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
422 0 obj
-<< /D [ 420 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 260.985 67.03 271.442 78.488 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+endobj
+426 0 obj
+<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
endobj
17 0 obj
-<< /D [ 420 0 R /XYZ 79.37 656.936 null ] >>
+<< /D [ 424 0 R /XYZ 79.37 657.502 null ] >>
endobj
21 0 obj
-<< /D [ 420 0 R /XYZ 79.37 619.544 null ] >>
+<< /D [ 424 0 R /XYZ 79.37 620.11 null ] >>
endobj
-419 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F74 423 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+423 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F74 427 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-438 0 obj
-<< /Filter /FlateDecode /Length 4829 >>
-stream
-xڽ$-߯V70Xf{
-{Y—2T\ߣ? y υ3p c<˅EZH#`R:@u֞֘$:ZsUQK9FmJaAƬ#[H:#Cv0UNGȜl!Y`mI>vޚyмYQd)OuM':<+yyĎ'#NƱł*NjtUoy3o.%-9.e*Olh2=5*ństãa~*m-JzM2rFY6kp/Zꪐpq~b&f(r,8rE)*W)U4U+r%zl(TYɖL,[ҧ"[ҧll|b ^-Ir hw)E½0 )z$< PߩWvb\ LYC x^|YdH \=3÷RVIu3m`<ŇiW%C>L5g +F:;8&+wY4{Y?b _?|^
-#Z
-LI?̝~9ѵXJ=rMg[Jhc; 8in솥S9׻@ׅ-$LN0Ey]J;Ghg8p'3?B03&
-E{fA2V6 84
-"{˗w.պ'Zƺљ.RnvOc.P%ѕXbs)%8WR@# 6{Ѕ ĕLiޢx~;[I4Vx70D- ӜX fqK^/U 4
-E0Ur$ @{=xq"f`0!8-FfB4d]sEBTL~VEB"$Z-Vdݢ AG?>u!zV%k)B? =72-"m6~%5;J}t 4tEj';Nq4gmx|Ztbsξ"S$4EQ~L+,O;9Ǵ[f)׎aGiy s}}ܕd~֊3]JM!G2nQDaXRڴ˪ jﰈPZ1i9!HX5Eؑ TJva}hJ\O(q9@w zX䑔Dש-=UGqIԽm.$;/qc%2,ɷ4n+OV$`0ZyF"a҃*ѿ{#H1jw[z|Ƶ5;=\źfB$ѓfHc7A3An&<>
-]7Pʾ$ShY
-JzױɄ;dN8YLB6+"v%WCPBaڥ"zH7$:9.'RDŽ׫]mR
-QeYɴK4H*ʤ3D'ԋ WR~/Kʵ!tH*RzZbNmX$IXr o9ީB p$ 5w:-nf;
-6E 2wBiZ)J+=1`,ɱk)]gKޫhR\Q|xĭo[qLuaLY3 i?FіpY
-'MeҘ/Q\[%&@Olћ{C'+B:9ǵM>>F,CGFwj)!g ~ P8כ/((ݡ^;z0]/%~ [/d@FvcF2iYrֿk,l
-('vS/ŔYX}i|oC5+(P{5
-ƕp2VǠڵI:`ײ;,~- f[]]:%zlW]%͔k͕E'Z]{Ec*da{/>w4}%h"Z;D
+442 0 obj
+<< /Filter /FlateDecode /Length 4756 >>
+stream
+x\9+&q ,ae Go`'.ūHY,"7~>߾}!3o۷|L+}F0n߾poekǷ\>|,'|%<ܚD@ o:)djˬ)
+ <^uȇx2H8s3PVIݢ"$Qq7@T <9ɵXIJeos˕喚[ޕb"$.#q*լ \;^S*fQy` ׅ3@fp?j> WmKxxOLiDCH\I>@jfgJwoA0|
+ql>Zfq`ycEIb|tE
+"
+o-Y5kb%FS֒%VbK
+i^uY.2Wmqn_:GgvM幆<ifO_CB$_XJ0BK.Mw&f]nȤDDO2iIuUxX(784FZ%oޘꆸqV1wYަ~B)&L
+up
+j^fJ| t[)H97uɉ &rtX<7#9_5, X
+G\[.ms=<iSz^HyklEW #cU-M WBTο]lo( ]m+4SüA*a$ӈzx}ީ V1n:2Ym`7JC+C-˻4:ƑL]U]g+Ąs
+nw٢SuMJGX[#0Լs9R(MFfd-L2?!|ZCLtk,ETD $YvuH :ٟ:&^hula|"Q2-$bdt4M?S%;c b3:~ZDuyk3H9K/Yͤi1sp}{2FWh L=r&/C&1dH[ayZe~nN,]kC9]{*A%9㮤 V{lsdӔlQDyYVifb4f2 $G貂c:c<[s՜7kyØHЊ+uz$YV\zQӡKKP;G*fs>TǨDƕg3f+ךgimVݜMvzLkuF/ ɦ Dz(Icx F#*XdWvɉޮTgg 8xlY"<Sh! s jppSZ2>
+Yu7jJ{_oA%ThwIej F!䖛S:- xf9cg}8/AfCd.a58h2\8~vWF7I/浤4AN+У'.H2A涺\myfV4UhP7+ϫvOЦC4ҍ^F/J'Ÿ^ԡ\
+6
+Rkz <88ʨg?v[
endstream
endobj
-437 0 obj
-<< /Type /Page /Contents 438 0 R /Resources 436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 440 0 R >>
-endobj
-440 0 obj
-[ 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 425 0 R 426 0 R ]
-endobj
-427 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.344 413.325 418.299 425.28 ]/A << /S /GoTo /D (subsection.18.6) >> >>
-endobj
-428 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.163 277.374 205.119 288.323 ]/A << /S /GoTo /D (subsection.18.1) >> >>
-endobj
-429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 464.884 216.062 476.84 228.018 ]/A << /S /GoTo /D (section.12) >> >>
+441 0 obj
+<< /Type /Page /Contents 442 0 R /Resources 440 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 444 0 R >>
endobj
-430 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 509.928 164.595 516.902 176.55 ]/A << /S /GoTo /D (section.5) >> >>
+444 0 obj
+[ 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 429 0 R 430 0 R ]
endobj
431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.889 151.853 122.863 164.595 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.344 466.187 418.299 478.142 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.257 141.123 155.963 152.191 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.163 344.789 205.119 355.738 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
433 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.533 141.123 205.489 152.191 ]/A << /S /GoTo /D (subsection.18.1) >> >>
-endobj
-425 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.348 86.285 347.573 97.742 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 464.884 287.206 476.84 299.161 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-426 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.276 86.285 364.501 97.742 ]/A << /S /GoTo /D (section.5) >> >>
+434 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 509.928 236.981 516.902 248.936 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-439 0 obj
-<< /D [ 437 0 R /XYZ 78.37 808.885 null ] >>
+435 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.649 224.238 127.604 236.981 ]/A << /S /GoTo /D (section.5) >> >>
endobj
436 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F55 383 0 R /F67 389 0 R /F66 388 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-447 0 obj
-<< /Filter /FlateDecode /Length 4698 >>
-stream
-xˎhEY`so6 {[wx@ [ERIQo~x˻?< =y 5};$&뙴5q#/ߦ?=qn
-XB'RG .^6CQA\M W;<aБ a|
-i,k(W.uKPn
-T*s'PӉ$HNO-6`,8{$|\2{R:C$QD ж@6նCچ2ᬹ:$E!V2k1E <[oT?dzJeRDe8uȨdFǖlD;ӷ~a^p0uXa(ԋWQ F%/7c\j켢%^IgG'B$Sp{[rN}O/!_Ӻ,rϢ>c'M:w nΉ0vӝ @w4PMkifS #&iޥo&09{?IiyeeFE^-$>0&8duo+%%{ZR"̇&^[
-硄SO'黯4Ṻ'ʅd˙FMTK<KjeƲ|u&ZߦHUc?ka;C
-5xDzE!\MC o_ݰHYO KE=Ca·cKZøe_,VJM#8&{TH(MIZ0Hf. f»fΟ]8C`;.`$p`Š.Xu.Wu=jsu"[KdC=м+s!i^͓y kDg6"S9P}xaL1]GN/QY,w=0nۻLh-?LF47x _oԱB >2, }@$ e
-K@H{|Bnp{XL'[Dnpߧr6/R3MSL6B-37ϔQFNȥBv㶢4~I˜@(ѹItC"+ݴzcB(8"%|mۀaX&.M!s3UKWjyUm.)Q{-$W
-_<J ~ArH2+(ѿLef+I#`19{P,c΃sQLPZ28z1^8<&8,4h@
-}}Yrf̞Jzs߹"`f:
-Svb&v lҙM7)3(׮tR1g<mG9BI\QT96tސ 9^9O#@#Xn^Sz-fwdJUhӥB24.Yn+U7E<ٔ=-) M2P3-909Kv=1[ԔL=)E |GVT'Z
-QTE\ F7y #jjB74Xƃϰ(bԧ[𕅚Rg~Nϫ!yc)R9 @: DtFlE1QKeT~ `@zǎE<@!N\
-(`HNcX'*&1ǑFasLP/F}ۑ*.y133ݗ̢+R: 쀩";>E]e;[疂܋ܽj]NplzE6ԋ-]|hٍP|*@nK̸1axIśLP. >H"(TSDѕj<2% YXuo
-&zՕ̴Ey3[+
-;KJikw:ǧrU,_i*WW!vcOuZY=.LhMh\3BR7L^F/~HioK+}ئ`(@.Hj= PbKu${4Pwq" %i='9l52
-;%ʫSzڱku5I^,9JX`u<J {uKQTXfdSX ,;цe:I]. @݂r.)`n"}Bt+kÞ߯=n.rT[07U{>ψ⤥'1U--Mƣ
-.]epj掺5
-
-;B'+_|<?ѹ2H,>46.tf/c䮸QyОN_Ś
-%XfJ%X^y
-jK:&R}{>VճֱTdW+aHɧQJO=JtYRk%ԴmzH[rMG~DTC>kb՞@ @⾫*y%W&kC MǗĖВm?EjύEHh/l4g 3t7^G97{4 Iՙ(rܰ2T2`+r6V_uiXh QEKs R: #=a<2ۍ8\Tey+EPY3m  h3X´"}YOf BMzZ$tjD+xOx1"݊baOdsf]^&ޝə*Az^k屧EJhV;#AR|0}Z{V-ڎÃ(4Z1C}}E1H9<5K_'w
-endstream
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.257 213.509 155.963 224.577 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-446 0 obj
-<< /Type /Page /Contents 447 0 R /Resources 445 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 449 0 R >>
-endobj
-449 0 obj
-[ 434 0 R 435 0 R 441 0 R 442 0 R 443 0 R 444 0 R ]
+437 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.533 213.509 205.489 224.577 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-434 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.161 758.022 485.886 769.081 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+438 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.161 181.622 485.886 192.68 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-435 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.837 758.022 505.811 769.081 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+439 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.837 181.622 505.811 192.68 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 372.415 516.902 384.37 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+429 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.348 86.285 347.573 97.742 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 360.46 121.881 372.415 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+430 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.276 86.285 368.733 97.742 ]/A << /S /GoTo /D (section.5) >> >>
endobj
443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 67.379 93.099 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /D [ 441 0 R /XYZ 78.37 808.885 null ] >>
endobj
-444 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 108.82 67.379 115.794 79.334 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+440 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F67 393 0 R /F65 391 0 R /F16 386 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-448 0 obj
-<< /D [ 446 0 R /XYZ 78.37 808.885 null ] >>
+451 0 obj
+<< /Filter /FlateDecode /Length 4573 >>
+stream
+xɎ%>_Q?ځFii9ML}u
+ P3ѳȓ7<&y v vM)V*&  $lO6!
+rxN*.߇<c Ҵf>r`>՚=BVgdMM/?VF>A-8F{H"
+{ p5㏑6jcKsGܵOscQ*k !͞//|8h%pXu0AҤH0"9Su<C=HNKp0ɨJÔ8w+ޝI<U[y5E-زC%c`]azmZ2)t u"[Hd#C:Ф+iG]ʓy ?!(H >F"˱?ېO_jY%z.awzײs9-KMüsD >i=~^:IA<З9 H:敼H?a7}C3D!yϙ)qȃsZ]} .RaݛtY-[,`-3^ϛg(#RQ僴 a\jC"+\LYaX&/S&"EĪ7:ګzpuFDP$9\V^W4-R&i1na}-7aŝFq U8Pܲ>p<:'8qt?f gv1qr?+CTI%NO!٢HУ:4zK%~vJ d TMN2yﰥf$VdZ S+EgNk%oh1mjf 2hͤ`ԲȞDy뮆/\B,|Cg% _ <Cn97@d0BdX&-Dĝ"wR3|dMbQℐRF? R6G}}8{&8\f#x^m/=rfO,>}UB2wWF3O4W|J뫎Hkռ_.0dF =򴒗Q6`
+|g5`wK-96rvMq#ܝ+ x{quZ] |PӝM 5#}uV؟w >j< VzR϶6fc_OE5_qoW8hIq2utl?Æp`c[P?gmwb{;p8:jFPBQ=:"h=Qf 8\T ൧a7!> y8zۤ}De
+9GhX
+o2\\N64tkފf:kLMF"I헆S[ʵU"05fV4l,PuW8 Ye5K GшSpB%0m,&&\1Z ;W`,/ uϝ.G,z֔Dp2 z |^%csTs"<oOS</ҸډZ( %UF+THbPJ`F 5B.I#HW6 =z dxj)O(zQtaVt4tՠ!j.L
+eWB4WAp*&'E~--Vb xG'>eer5Xt
+
+I9-5-d[YW}h\ 0)T-׍Tۨ+K6tc՞<?Zc-ZJ(|d4P}׽5SX51Bi$@54lILJU1&R$L#qk ԉeZPu V"S_`I`1P:ťo2/0QFVtˆm>OUFBYvۨ1Ĥ0a5zIi{I/yt{s"T;*зxuתLjOP/|䘯΁0 ) gK
+8-LNyi,+%908Z`{L ]'~\e?[IVL> 91h^jS=p~*wjܸ ̣K&!ElQBhP7<4H'e 뮿{R9* AzFW'v ! "1~[wti,N<n2B;  yTQݵ25>0B;U-|Zi=-]
+2={`;e\{)#S HOƹ8,MWxl)ZʘEO)fшf7J޷x'fH\HG{:q!H>M}$lL{.>%s_wY2GlTT2Q#ޕ9g!km[&u,؞tR^նF
+Җbn&&j'?Nw~m:rad'
+ C*L_ŶzfˁP'[5T׭F: 7e{?]}7ᰂg"nN(frtsϦOVǀmaч=+/û(wZN;rjNynZZT.~{cG[i>^%.H#*$]8A,^y{rPY]퓮ĜUk" m*fo"Xy4CSty\;z^?vXS]o׽. <C(,Fa/b&H8gBJnm=j7=ߠWrUȈ]j(C_r'[˺N'[M:<•87lc-S[;džxez0;A6Hq P 
+zs"܌qDwzВкƬX fK#i[hAj˙ j:j71aE{UxRZU^W|zsCwРѧ'^'ʩ
+wt wwF T;Ϗ-6;909(\Nyn>&)N!W
+EVz<'7
+endstream
endobj
-25 0 obj
-<< /D [ 446 0 R /XYZ 79.37 495.051 null ] >>
+450 0 obj
+<< /Type /Page /Contents 451 0 R /Resources 449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 453 0 R >>
endobj
-29 0 obj
-<< /D [ 446 0 R /XYZ 79.37 138.034 null ] >>
+453 0 obj
+[ 445 0 R 446 0 R 447 0 R 448 0 R ]
endobj
445 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F66 388 0 R /F56 384 0 R /F55 383 0 R /F16 367 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.932 400.538 181.657 411.606 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-452 0 obj
-<< /Filter /FlateDecode /Length 5122 >>
-stream
-x\K$}(YhrjjS}3|Ŭ%"%EDFfO>dUOEI 6ANo_>ݧM)SaO䦶 [JH/߶}$)]ΧQ2
-\cwO/&8(7[/7?RR(,}:w$`p*6a sULɅб[ߙ¨ RSRfcK-Q$gk%#
-
- ީ8ۜG;6G-=ްx4MwJy; 춲:UY.׆ЧlCa+~p 1IZzr'g.]Bw |>S
-ʕ;p^
- \2*WWЀ+Fj6.]߿& wHE-'):c%|a3QI& ^@M[9!\Vö3;QjVKLNkjgcs y_͊qĔe!b QwL}p7ʙ
-';V[11qP} l+a!BRqT]pف
-D )en(#"=5>
-k]2wy.:0(fAt-`>>zkyngwvw$#H!
-i7
-.m]bAQa/( ύ}nq1BF%TŮy_y 4Xh'އoԼeeUٙN/۰ʌ9}TRhkAUP;9Zb~ڹ`C띲ױ /b\7ޑY%̧HO_P"R:;:<+=ݽ>ozPg-u|0rG;i/[iixe(m{9ch'9''u'x7R|3_[gL{6^B_;`.C.Q[N~E=,ᔄ34WafR=7|i,ݒ![᠞ԓ/ۍd&7܀k@]J[B<ivrY_hyܲj(5'(qP)s\c(n~4ciwpgthݙ]76tgvLUٝm=ԥ!^G[iÙO߅ܷ h
-endstream
+446 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.608 400.538 201.582 411.606 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-451 0 obj
-<< /Type /Page /Contents 452 0 R /Resources 450 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
+447 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 98.416 93.099 110.371 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-453 0 obj
-<< /D [ 451 0 R /XYZ 78.37 808.885 null ] >>
+448 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 108.82 98.416 115.794 110.371 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-33 0 obj
-<< /D [ 451 0 R /XYZ 79.37 771.024 null ] >>
+452 0 obj
+<< /D [ 450 0 R /XYZ 78.37 808.885 null ] >>
endobj
-37 0 obj
-<< /D [ 451 0 R /XYZ 79.37 450.173 null ] >>
+25 0 obj
+<< /D [ 450 0 R /XYZ 79.37 552.448 null ] >>
endobj
-450 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F74 423 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+29 0 obj
+<< /D [ 450 0 R /XYZ 79.37 169.071 null ] >>
+endobj
+449 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F69 406 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
456 0 obj
-<< /Filter /FlateDecode /Length 4276 >>
-stream
-x]ˮ6+.0
-F*Ԋð[4%^O',q:L]\0OMҟ>_~yKz}T~~맟KK?~&~c|DY}'KvRJױk¹9>KC(;',uyWf yB}b aA`e1g1p J0x?`Yfa
-YA_̡/AXR
- C0A`lžA2E@G8L/6 ;#$Q
-BK F6vW;cPDf#*xhnAy%)vp<)<nG[0<Lq1
-Q;ฯ4ϛ3<Kw X™|I@
-CD<cwH(<"=AS,1pfV~oA(D2-Q{:cH!iJNfK,nԛqdڊ
-ؑ$ (> G6nGBg䧮j7x$z!g\^f<6#AIPLZ]l_<,a>h?959=QA bxhnGv[8P^%θm Zj
- M%dǔOKҺhi皈EG-T?
-Mv5^U ?Az?5egq7pT{8D\ dokL,͵~5Ϊu̟w~4iǦj58j F
-b4;hwS-¦1 XS-׮81}OX`l)20(yjѮn 
-sm_Ok<~y-W[_sL{}(-ۙQ\bW+32>m2_^L~ݜ?)_}[x3J.ўoِW܏{'m{| *s07n߯[V;865|9>y쥾ٙ_5^© %_ $V,NW p KYs=:и!KJ4=CH \
-,|$Cp@bpa@)D{)<R
-
-Yan CI7,>a7,pǦQ,Cn$MiA08aɣmE'S96"! 3-Afs؀6L N 6"AI3EAt8 ʝ7PKpŸ:+C$T< yƘ<@4=>8H"QOay":@[<LAu8 ʽyJ鹓u8O<o8OM(
-M/18a<LcPʍ<$l 8QX: T@4=,(y*'s='dBS-z=Q^bp<y(Ǡ=yI$ dp<ϣ)4=*߂qdOp{<
-Bs%{8O'{N-g$Zn9%Ībwfq/|T MՃ}iݐR1R17YN0?M*W1bS1êA8Xejc|:*`ԌzϏfYfZ;'39a6J̯PDykq6\i <n~kjފx>Vs`:!HA}tGi=<,HRR,
-*rMW$V%,շ<TzO´%^>ߒd9HJ*5Y,4Z{0ˉ+=h{DAW٦jwpwɆr:ڡ1C />~HӠgIO`kUXO~U=/-O6S5YU[.QlEH^Ԙqmt:`i⠳6sˌ#2rOzkrZXH eyTn S0)W5gWz3mD_GH
- csIZ;Xqx3.\4Y6 ͟P<ǭĻp( F{jJ+k1ևi-nIȔ"]>nu.G@7ğaHVZstTU8UE^53%ݡ]3(,.F'נr:3gdMpYmJnQ1ʈzuG4<D3Vu6=2\co6|*J8C6ٱ iY')1r=(L~՚\=dPJKlxxk7x/:ehYI7ə ұnT KƛMe%`m
+<< /Filter /FlateDecode /Length 5199 >>
+stream
+xˎЊ00dķ ''
+2jijLJ8.|Wy~ ;n
+ ROVe05Wil/[G#
+(4g^|<1~pŋeŋ0Ixc΁{AAAs 7ĿE5Iv 2VA7A:+}/}Rؗ׊;.jSYGx'@H,51w8 goe~6 u)Hic12=$Fp3샯8S7PGG#~oj4+kY,wF;6^ʤYU89,IBᬉH#ev6'6uhFQ 9暄.^HD7s2hJD=x~Awot<
+)
+ػ yds3y+a_9
+ă]} pU>(yJ+ݨF]wgAnxgѶk
+};JhtIWAl'#NwVq3EΊx-BYeg\-|s֤'"ǧ'r[>6sl5ŃxaMgI֔39=)'ͭ~ڽ4jIIxk;mᦱK\8~:W>Mi?SDU7S_SSBiΤ n-ǿǟ߰v}e F ,eBR[^~lS$,Pֳ6ݹy^EA"]0"f<"f"Xe2ωP~qqIXm'XHkdۙ ubGqؼep:k#pq}{:Ƿ%5Ngs7%xoM*1Hqmwɛ̏szwڽhw,sK/5cHiSEm 4qU5o
+|ttt[OLأpZ6H3{){2uxLzbz.~Ye!/7$ #L(3TA[v?q %U b@mp,&a-2Niaqs1#5-lROy`7!0vo;;ag]흠Mq* \Ue vzյ6þ3bE]:3g6<zҩzdPA', |D燗 }$+B4՘;@
+.yHOūpV~N{G|p!ƚD='z䟰D=y{}>w'Y*Dc_SDDr|ͥ-5ݼ
+A}ZZ UVN>#^}
+ w@ IGQ &CXk6lvE;(,ushk  ="6ʰ*+4R%8a-צWjq1VFV?wm[N4;ږ~E ފ*1:LBYcY(J\R936J܈Jmmۡ˒Qx[h$V4 ^6`s恤JsV gFp*+c {W
+o1 u@Zh&Ql
+le:&87
+VXnjU|z8T٬uf"b.Қ
++֊Д}6HԖ3{ho 4蹗3Ael'²Po 5i]~-2ܨlđM}2e
+UaW&IMWn[\ĕ}mk۝F &}Ijpnԛu8΢}lHʴUX)LJb-}ӨVϱʆ}Gs8TCmYQA6-KO^3df~MӪrזw+s"&s`:0M#5սemT:1N=8ߪ:(-yJ(Vbvf2$[1GqN|W02~neی 2KhSJBD;-Ryz/5BF
+!z()QNU.wzLBQb뇗>QPހ0,2E6^SɨNjwzUyz9}۾촷s) ˑ0Bo~+?M_o9'o }J71oȓml݁ݓRf;>G%5#y &Aߤ.פ>eX&ש㔄30J\|VcS Lcx%iXTE]h'EPm7"(\pmJO$7`i]Y%V8e|QZ:NJx|Sy9N1I7ܛϱ۩](.bͫY96O
+q̳uԴ5jrfR-l2.):"Y2&\;PK@q<+k#YWm{;m^*p`pƂRh,f} l@c!veQ/wy+ŇWTIVh7YuEu =G?ܳcYqy1ݡ`)1@44prdg3ƳH/jO ߕ[nVX3R{x
+ڹ,I
endstream
endobj
455 0 obj
-<< /Type /Page /Contents 456 0 R /Resources 454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
+<< /Type /Page /Contents 456 0 R /Resources 454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R >>
endobj
457 0 obj
<< /D [ 455 0 R /XYZ 78.37 808.885 null ] >>
endobj
-41 0 obj
-<< /D [ 455 0 R /XYZ 79.37 334.862 null ] >>
+33 0 obj
+<< /D [ 455 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+37 0 obj
+<< /D [ 455 0 R /XYZ 79.37 451.007 null ] >>
endobj
454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F74 427 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
460 0 obj
-<< /Filter /FlateDecode /Length 3138 >>
-stream
-x]KoW!X|
-Յ3we wż&SKXP}+fa7}ot0A+ax`\p9p0hH19sFdN eBl\wcxZ{]Qe @ 묤zR yD)ztRe
->Ŏ1؛?v 2v9E,N~?9M.䅺XqՊm~ez_ P28ʟ~"/;5G`.`!
-nw^ x9;@ EwB}r:k羯p=ppvf̼-v-5砻x@}w3L95gZȞA]xTHI)tp0O_ss>V<͑Ǘ ovLJblYO
-DL>^k0[e~bn0c:H&p Tx'Fz0`Zdgu.Y
-.Xz:}ヷo[X j c9߀.gLyb%߇dL>(KJ] tL
-o8i+4ĥN{uM
-^ IKt%#@Gżt/.5aQ1D&Φy ť3<Jw^KaQg9Bƽ0G!tt'9 rZ&/]0G 0?F!f'QaJ+aT9
-Jgҁ?Af'QJE:weD:H ݋t jҡtH3d"j%·'Jb畅N(iJ~NT&/tc%X=uKxzZ:T֡::~<zyah{:[;uzOU H},@b\x}uCcB^бձ@bp%#O먘װ(ztLkH湽݇tTkX&'"*U\:Tǖ:B,XG!t[:2֡9PwacKG:?<]ۉunRwlXF-^t:֡A
-!xrBq}O_ @ܕ0h>b^8@3} Gżr`Nc] P> b^oН{x;#D?ZU/B8*np D8
-uQ:vs$5hUF8*u‘)^#Sߘ4F7K½?ZUJ7we>r[9mi/sPڹ#*/:rTF1zql80805ю#Q=Ì#*xBv@[82@gylã YLy:L!T$VUڍw6bq%aTuxr4L\߲N8SF}L9<S|nȚ$>3.柒BblZB[9^$He4Υ ּxV)>[g ik/4`fM4K'! JX‰cƅÚL9籦17QK-;#!I@5G$E#]*y0vtTu3s:5)TD<k]TeWTD+Uܷ\F5i#r`Auށ&wyH⪯A/}CӨ`SJ~@RM5ki2mf*J:kCNoL;
-
-Dza$Tk%
-l,$קmaXxa*gn0iU4k #92ްorr*'A, >ծ} 0=a֏zrjX81D?͑ry&$}]շRˉ{Xhk92W4Fx9S?q)wy:.+N-c2Gdܕȭ Bjk|Xt=%'Jzjw->L?BDuaN,!/16E/Zx<Ua7*ӂ׻7
+<< /Filter /FlateDecode /Length 4497 >>
+stream
+x]ˎ+ 5JvWNE
+YA_̡/AXR
+ C0A`lžA2E@G8L/6 ; H\9
+yR9i%,``Ai h˯ү2M(FD#LjbTؖc9XM ;D.=R[ ,=Dql)
+Nv;9+8͙8Kw 0sK1
+LjUBWѣ:ǐ\#,~؇Cv0]g鄾p{Aq:,a50<|V[v_cv$(I|Ovo!B}@-#! 3@SW7xC$0+x%O@1i>w}qd Oq>7G_߰0
+b;(!a[ mWuqK
+ЋmAM9`[BvL^*6m0 ~\誅ͭ
+Mv5^U _{>T=ܼF T!9>3O&8<B,z^ . oPL6T,)i~5N߯_+RH`¢5x*)ŦOKOi 0՞>-'ƷC;X{*[~ߩo<eKѮn  XzߩROK7x'aep":N!nŎyEkHӸ6+jo6hɚ;۶YD{n|Hs|7Ues>LC,k%/gx
+Ub<Ec 5w&7ˈ5qMKǿs]&A E5V)uɍo^n0 ey0"y7pQd]+iK{Iud3{˟w?Eg<Fr%`k|Ir+\4zY][VA+: {mYmJ^֏qǶ^6cM
+cxs?x xa=/Z "~7Mm)ȁX_X_`L8[<Y,5D}E
+.M> Z_ .;>XA,+7߻ ۺ)90,aA<-&yh86 %*衪OVf jtDDuI!_~kZohkPmR9ˆz^IOf
+yُgeK#
+kG7.D6Ŕ8Gōw_j|9
+^%Z3ŮV>4#Ť|9S0/7o\+u=߲sx 77N/+˟x!iҮs07_lു ccYbd3bN}G|j-{Y^̯//}ȏ %B+H#M|ӆg=sw 4׆иOqmTM}\B F>µQ5\H
+frwoFmT?^Y8G݋%O@snv"! 3-AnlH{qd &x|ݽHPLQgA^*Y|CUp'ɟCXodOh( Jn18N1<Ǡ 8ʍqI -AplPqH sLp'PqJApqJ s'#8Oqp%z=UQ0bpcy(9LAq<ǀ`86x8B8N-<'9΂r8B *hRO!4%ܢIQUqA -Y9Ƙ<\ǁ<+}@1 zc(DJ`f8ʷ8Prg8 ʽ<
+c8Or|g+刼;Ùa[DVX6,co™QU=؄F6 p7pfoʙS,)[sf3MwΌ=gߟ ׿ֆ4bY9})v
+Layחn@Rhhٚ
+tKqcNnV6t%*[:pD*/b,4Jf±$A[8BDDl@` A_ P업܈ʊ_*)cmGBj<sR))?U<hn'史׈%,3DUȼ.yXCu-m$w*BOx&>UWdieA^!t9SQ ו7\kSvdaQRϋBne(ߌJomRђUJƙ)M]S҈HIJL.D-)ɡJN1KҴK*r=uQh_ߦd݆GB&[28źxoc+ʺmYHRb-R5ۂY!?ƵOI #9G8Fe[Ϥt:X%SJ;1IIKppZ,4ˈ Ig=V× Z8&z'zgU=%(wVQ=ֲB`hdػ躳=/B'7ؽr@rr+d+$m k͔SZl5IqYT!^1UMyRKz8͇.LTOrETv6dhv(:V:/!A xxT_n|ɶ+*kbaRap
+ip O (Ǭ3
+UM`23S(Uq
+]jfu3Id/ɬ{pdM[[B#4@X\BPP~hj~h&uMom_1j,=Mˬǧy MR*h̨|*ox`J/WHjW`.df[;^T||hI*s!åim(󱽒='yd9OLv%$ hWDŚX$|tI~ט*k1Lɥ ZnlD`ydO~4 MS+QWR c6&7|m ǢCLX[_7?{;XI\y?^خ
endstream
endobj
459 0 obj
-<< /Type /Page /Contents 460 0 R /Resources 458 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R >>
+<< /Type /Page /Contents 460 0 R /Resources 458 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R >>
endobj
461 0 obj
<< /D [ 459 0 R /XYZ 78.37 808.885 null ] >>
endobj
-45 0 obj
-<< /D [ 459 0 R /XYZ 79.37 268.603 null ] >>
-endobj
-49 0 obj
-<< /D [ 459 0 R /XYZ 79.37 177.586 null ] >>
-endobj
-53 0 obj
-<< /D [ 459 0 R /XYZ 79.37 152.789 null ] >>
+41 0 obj
+<< /D [ 459 0 R /XYZ 79.37 249.044 null ] >>
endobj
458 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 367 0 R /F69 402 0 R /F55 383 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F66 392 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-467 0 obj
-<< /Filter /FlateDecode /Length 4536 >>
-stream
-x]Kﯘc|,ƀsCb9$
-\S|{ٵFS,*U((u7NXJ>ĐI[I+F;}|B)pJ9Jo~p +C){҈t(27ҡ.~ R=c/DHd*лz{ ߊ\}EoNQC<9K4' rlخZ3]&[FF@)]ѓV-v]~Ҧzfl}T0ZO:aNZZb: 8yj[#O9=%3%
- >O6Ă?yci"OgC2w+̖DQaB}SS`Pe9tɅ;&A"OԻ}mWn{T%`I
-u$4WQv)9 GnZcth K ;)PsmP
-s.Fziuw~*Ț{fX.$yY}p"Xi5.Yhy;__hEZ8,Tk\ x#yļ_QG~x7tW/F$c#6ffQ09mA 0HDMYiE.I2JQ?qlT.|RPi7S4uvesXb<9r&ZL tJ 4R6;#N`NC3bqsB"=ߥǖEc˥fDZ}8RK-0 vA@]1}yԣVAm#E3SSqH$^GJd`qzۓ K}鼣<d7F埜A)ʿ;
-Λy;筅-v۠TZ(1oa7)f
-WI8zк8џyt|tеK)D䖢^,9Wnt .B
-*;`"lWQ|oa;d' !+cWzׅl-8oÿ{~Gx{ %
-v
-.lpcO<T<x7
-ߊzy#g}}Y[loWiOnW-u[I=l2
-I8C3~_&4hZ*'*3 gݍI5Lr3'2O3b/ވ.tZV1 [uVEgC()eCmbr
-hL>m q0EaM~SʭurJF#a7Y]hʁ#.#Pڃ$:WpM\Af,i€?ٗv\>ܕj9d(D㱛cg' rT3`CIIy fK<v|saPշҮ bԥ+wڦ>o7d!{Rvnbh<5Q/n"-,'Y7&F3*i>֥dtr$-9؜xC7KjS0r2BWg%JZTJ8t޵tqhn.JɥK=bzo.6rMD9^YZ0L_v\o@۳*KIIt mSURmBM ˁwc]4ix\9;8wb[>Ю,}NJ\o6M^SV)I|ݲZQF>)W3l%AҪ4ioLC8v&fwzܛ wܺkmp]#\KE_׶} wssΈv +81KGys14GߴqIwc#ӿv;wP"Ɩ 3C9P|Wkr[Q"DR.Dr:D.?P(j*:aV.mZrR/f=aDA&Wf|[ vi&z2.}FڝHy_{:=ܬ0Oo/;ِ@*["06r'8{Sl1{INuC9pTMQ,˿N /oyt%4|DW׽ipSGN#
-PX V@<'z=ĔKkY'=]ΐtф%ơ9s,Õ\B&9h\
-w,~,*s{-B}v60sC+{wװU;Qoím:w\/)=gxiBJ{ iګ;ܣPC+M t=9\ ǺjAh2̤­-t#|3܄Du7#nץpX1un5[ӑP*ɕD {>ݭ pGy0I@{@ /d
-.I .5ۗ{݅M2iZ8+6 -h ߊK1˜҆Tn눛d'r}ٿ`w76̳۫epC",n8=@9yC
-w^">RyXPzHM
+464 0 obj
+<< /Filter /FlateDecode /Length 3604 >>
+stream
+x]K$ ϯ?ЊDǀ}doANFCK~HK]U]鞝]a_"EEk5ħx//BOyFM{JOƍ>~Ƃ+\s._>+2}w>O?~~vk4MV[f~DX Q&&Q?5iί6K w)\bGaI'zNp^W<sIu稖׹%vD*G>)<G{O!0]3He!>}^"j2dCDYKGċ'Yh_9ji(c+TE可I/3=t'8<s>BZ@Ckh,i i-&- P묞88darE` /U8pb,s 'IZ/h#GgV%+E &-ġ&dZ<D"UP&nJث뒁)$(L[f<gVB5XW nI'Ѕљ* sr+RI혰crY&_?ճ?QYHt1VHW$03A&uzJ 36)H%jI1j8ˏuIKx1m(oE>*bBz8UH[1LsT5ZpsՖ{)!sc][Pr:Ñ̼[3;HgOg:NJ:ә*z&d/jkm.O,JcJxV @uҫ+ #{*-mfm< Rةu<Z.8NzLPǘ:x^dfLٕTmR?ty_l# d k>k}^i˫8~N
+t=f`;huN,贾Z^Ss+l4iBk5A*RW<Ӑq[M.M8̾ :a?T-Y:hɶ^^VG]{|Yu!KZt'd޺ O\5B~c߄ѪM v-S Oq?? ErL>xsT&\|O,fͦy~0'`D9mOu,S:_ shg@Y^FflcRҴ*=:-fL1aß]z\D7my$f4c >x&~~ FHc\ObNuCoæ?Q74 ƔOgJcbS
+11CNS% ?dž:G=U; .rNB:)x~:p~f v#'ƫùxJ: 4L?OOK<'˔΢q0዆"U^? O])E抎E,~Hg>Y1f7]늋RܱSEV)} w9лlt4Ҙ 3sn
+4G } gF Zf; fܛ te; pSd{3D9:; A|e`x Q5c(H]AL54k0r)3S4ī nnR(K%F`= ;& 7 MC0aq~C0HDV!`' [ Mw#0A] ʐn^$7 9 Q3#`' [ MW٧|H= bnAw
+0PORzi@ (1 Svb 0tw\IDb 0*a Rz|wb t~1}͇WA*x"a b
+BW,īHS~UQ5`n
+"dΊ KWA~wWA199oiN9" K&jxUxUE,0澿Z3-X"Nf;3ہ `i~+o!^APL_j@RCA
+*oM"A ^$7 i8.$dVn=4]A"Bkؽ[ MwE_4}A#ɭ@ Gn>r\yELv_ef6Ah~UqE
+k K@k 59@9@G zZ
+X zUwQ)R,WlJuʓ+M]<ON
+<C6%9#]7@9
+%!v5
+TJ"Ezl3CժkA42%D4Zҩ~REWe~Ϋ n@@}p7|%
endstream
endobj
-466 0 obj
-<< /Type /Page /Contents 467 0 R /Resources 465 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 394 0 R /Annots 470 0 R >>
+463 0 obj
+<< /Type /Page /Contents 464 0 R /Resources 462 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R >>
endobj
-470 0 obj
-[ 462 0 R 463 0 R 464 0 R ]
+465 0 obj
+<< /D [ 463 0 R /XYZ 78.37 808.885 null ] >>
endobj
-462 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.12 684.847 463.094 696.802 ]/A << /S /GoTo /D (section.4) >> >>
+45 0 obj
+<< /D [ 463 0 R /XYZ 79.37 195.497 null ] >>
endobj
-463 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.842 672.892 274.797 684.847 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+462 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F69 406 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-464 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.364 660.936 234.319 672.892 ]/A << /S /GoTo /D (section.9) >> >>
+471 0 obj
+<< /Filter /FlateDecode /Length 5444 >>
+stream
+x]K\W(h`ʕ`ʈwAV nI*zsm hJER$%Q~Ǎ~o~yX۷$~ `܊۷_>sŽ tRkϗRf9s%3b ib]pɰP<3׺Y9f\뢢D>'I
+ϼV بXL;~
+kZ ϮmJBمm|?cˮ-H&_y`,<el-^z ^Qt1
+`#câٯl,8M
+YHXHZ#Oڣ5l/Vdtݩdrp#CTC[--3wY.i͍V ӢF0i֤Fs߷'GOj}dC1tkGf]Ȟ~aFl(XrEiPBe:џQH aߗ6޾e)txW3V4`Km'Z^R1a.C5zJ7T83YT`}q0+Rr~V1
+zzO/ );ZE۫:&_K5-j3Nq#RgL$mї7RY!-|S]G-]I2Ha:y3N~'@xPfb'ی㼕KL&JO$@Lw<h*^PNזy+ljK"R:kPW\ e3ME3E4q!^sa ޔ0_,-^P)mOkʽ3&Γ;5Qôrpy,qJҦQ}(%A%Hyrw7H}k2g"\簦LyEÅ z~R.+I##RiJ&^B~<ֺ 2@|hz*/3֥4|v:.vqGǴ>Uc)rM᪾5!}P,e?emȊR0-KOo@-RCXR>Y9릙P_7@ d{%Q]iǔ7XQnV!/%\CKv/^@˨g\qc`nޓ_i'ЊwrO}h VS߈O_yW3yQwۄav{k&W2WC$Ftuʡwͺ:S׹MyW~OarSg0hG~B' v
+ߖ}sbGV%!~t`ևK5dVZÿK=kr!}Q~} skǼ0
+߆b_O^7yXbɑ܃
+g& H02;H䅺 ҏB<uT r )y4գ&rbҘR(hZ|2 ap2p(Y5mERmM˪펑 pյ(PYw2/d@0B:^߆ҤP[A9߅k,V] 7S1څ{}BfLAFZ@U_2wW| f ԣAò[YW55iV&&t=Ѱ]
+YbY2h26$6&{.FHpbc(dxmEoCin
+p 7oGV^[ܨ5#{+%^@z+9-g, AiMJ7i)6.XƜUXuh .+iwqsqˑNWi[H2Ѥ}3٧,xھLN워*ɆM1@6wFƹi56(l!I K&n2g{c>Wu|c+ x>.qW|XMOJz*2gb}b%GTvخ*hQ*Y\[g"L?V$>/-_%~Yh1Xw<U(yiV=|#M$p0 H
+NUYE Hy•xFZ
+ETdS%U %pm@<Cgp*
+͒W$z,E({)!ta&͈q/'DAV5LN~y>qr21P<qP<q2s ^ J3#ř Mh 4,[.ىޘ7NAH:Op]<1^\bGD*uxlȑOJZJ=~fhLwá|imPɉųYjqUnvH Nc!(u[_'ܵt #RDPi#+P'CHj߫4 YCw&*ĬsHFFE$7S`i2º䱷0.&":D;,pPYw/,~CP\ԡ6&f<p
+ [YuZ3pB=NAsD2n}eǻ,POPI6o!0`fy<iferbq8yY- K>m/; '`[aJ"#mĺE%LdG*[6Z͔qb21̟Nv%ˬC26 e+5{)g>eDgƺ:k3 'cb2A(\J/r>X}b/c,:}6,U?^< 鄮V$c@k;ŧ(`]S pvJ%<*Kx{=‡  i0X_BiXzr8"z|RC1Ub}>7aaiD,mݛ{ь+C)0l;*ЩVR'TL]
+& tⓥ#GaY/mQ,U.mͽ*בp9 8\Xr3&A7M.Bϯ#R?;Q /|1^0WیCt;-0zfOn$!e\VƠ4@gbYFxs#My;Zs:}
+ P!zxo=+FK_:^qE2:jL12"VRrf'1|H4UT=6cIn펮_f$>vp_j 򋶖mC:i.\iUizYn3E,¢ssjacjp\d\n'$<kB[ `U[5iRKjtkKZIӯ{"yU˩nL2Opƌ%|&p}F4&roJ5Yg<魾i;Bz-z
+koup2bu _gxr.Dž~޷ ⨍L7OOɄjwښ `9+F=I P2a$te4?F}}q_q//o HvsnC|\,4#?tU:ܖ.^ptMzsm#]Gf^1Lʫ(Fwx:%SGm 3ee4I? '}Zkg{{ 0'ǝ:WcB2W,Ipxt u ]BZ,՚0+bY0a<ӆJ",D"y^ڮg^]GĴ#@͜G
+9Ŀz!˰ݫ.MէYE:<䕙pDEQ}f7ޯƟSpJ7hp<{AKe頂+;Dj] |ژk䫌k黄SRzɪ0~b!SRal[_׋_vcw.跎RIΞT"_ D0-(ʮ/nUWGE1&/qݶ%n
+PW%y|~s qHq}GFC5n[ h՝'yP>UB5%e9Jj3o( I_|>[7x5Pٲr"*Ԫ{}]{饮J~A˾b<ljlKբ_0IP6 elXP/$U#puRHLDbTzѩЩҎ& [:n%1W!jfM)Ll[RC9` ߮bjO%^p={o2 t7[aM6hI}ٺ |0ՑW8sC*۝:ֵNAZz]R9a7Qއ94,`VF}d];Sc2/w9EayϿ/{UL=ENUk6#ņhӽR-5٘Qdz"f}xV_;<u^zA,D?x^{!o|
+endstream
endobj
-468 0 obj
-<< /D [ 466 0 R /XYZ 78.37 808.885 null ] >>
+470 0 obj
+<< /Type /Page /Contents 471 0 R /Resources 469 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 398 0 R /Annots 473 0 R >>
endobj
-57 0 obj
-<< /D [ 466 0 R /XYZ 79.37 452.879 null ] >>
+473 0 obj
+[ 466 0 R 467 0 R 468 0 R ]
endobj
-61 0 obj
-<< /D [ 466 0 R /XYZ 79.37 181.387 null ] >>
+466 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.12 153.094 463.094 165.05 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-465 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F23 379 0 R /F20 382 0 R /F66 388 0 R /F78 469 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
+467 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.842 141.139 274.797 153.094 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-478 0 obj
-<< /Filter /FlateDecode /Length 4234 >>
-stream
-xˮ[m?`q<0]`VStm
-~%J:XM.k#Q$ER?O酗//?݄9/^8;9+Wε}*ɹo5?8ƥX
-qx;^!IRHU5,#.!cC9s0g,||8WY8S
- #Ւb]2kԥjjcqsFY8*8R*%7%DQntcr=&DhO /gVQnG
- Q:;K R;%]#M_t iFK!A ax$*D2d4]?xWZD8
-Μi@;|% A_OBuӯ/+2 }t}Dp(i6LF_ORYyU
-Ǿ7*cʫU!!*L$C ,b!ecdAAbUMc-X6+,ori vGaɯ+7ɷU[ Ysw=}- !Լ[a[ D-s 83Gm`
-]u'ZmRڏW;xMo rp' łud{n? fU@g9x飼|[\֙U{fTd
-$moH5SAQR Uq Xs(ȕG'RdLO"Gj/*xS88X^J[[nAob69\mئ3+0 v yV(z0śTfaKnm$ ƏSj&.[IĖ
-ӳL⊻F-!n$RW\u=B0}Av`+rgY91 gҟD tCzVH8
-G~mHW!p7k&L1M5Rv-SԒ.#098J:yiYb.fk+^`i%20e8:S ^וmQ1x `f-6,?ժk*BcH=VOm"mEs#h [H+6k1a;ɺ%UAH5h!Ӳf>Lµj=##M
-|t&bQq3NJ
-AW`
-17] 3@s ZI+lHfXhejI3apױE^Ό[~LfM_^a-9pa$Xpp*R9og-MmN r8:Dy,n6;_M>xK>@"kwPޠ4hUTI(¥(--E1^s)r$XNkcmZWdNHRZlGr#OFt>Uw,r`%$,/Ojx`#^@LTDR]jհ:8WuhI0/~tL[ͲC}\qMlo wPKT ifo5[g{<i -ERKRȧR.Ib54;.C=@O9$zJ,cUd9utݓl>' 쾦=YpD0-ȟ&>u+;0:Uz"sf'E`K{+$zшÊư;NVۓ \ ېÀ߽eNzB`looobBٝ' t˾K)ֺᨊ
-c{{qzFwlm9 {1c0(&Gj; 4<Qku9➣7Dd=׆ zKF+MQ)rR=uÑWzg=bSd5EK$\L)
-͖Ou2)"b< oyly頡Ebx:}rXЌR| MFCMTcOLNAaŭ.;5J DZK
-6 .t
-$}\C,x|@- >0}*$xMte\ F"zpIS)Ԍ\r2(aܧI?+% xYݼgGV#eg4mߴ}_H E\>Z-Ɔ05c}R* y=QJ뢣][{
-*y1(gd#AYs|17h˫o Jw O8 \2,_P~gכ $XPKF?- ;Ɲ-*]ʛ >y Ǭ2Ë,(HOYS&-^V 8j`XgvEcyKݞeHi[ݓD=;pNswY ><
-36V*ƊJ:E8Lv!dc]6DT d橅jB6t樊 !hXI~=ȆH@BCjHER6gZ 8IT+dFtU5\yC8E*:;m5G7\<8[A{o a<wo1FW*N* cS-bJ<81H@6r;-m܎uKh(ֿPCNG)Lqovrl.v2CuXY!ТGnm,9. s9]̅_R7qҢX26jnqzTrfOnꪔ S{AO뭛;̜݈
-endstream
+468 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.364 129.184 234.319 141.139 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-477 0 obj
-<< /Type /Page /Contents 478 0 R /Resources 476 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 481 0 R >>
+472 0 obj
+<< /D [ 470 0 R /XYZ 78.37 808.885 null ] >>
endobj
-481 0 obj
-[ 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R ]
+49 0 obj
+<< /D [ 470 0 R /XYZ 79.37 419.332 null ] >>
endobj
-471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.227 409.823 390.201 422.174 ]/A << /S /GoTo /D (section.4) >> >>
+53 0 obj
+<< /D [ 470 0 R /XYZ 79.37 327.868 null ] >>
endobj
-472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.175 381.479 186.13 393.435 ]/A << /S /GoTo /D (section.10) >> >>
+57 0 obj
+<< /D [ 470 0 R /XYZ 79.37 303.071 null ] >>
endobj
-473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.977 361.554 414.932 373.509 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+469 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F57 389 0 R /F69 406 0 R /F55 387 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-474 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 286.882 342.187 298.837 353.026 ]/A << /S /GoTo /D (section.9) >> >>
+476 0 obj
+<< /Filter /FlateDecode /Length 4679 >>
+stream
+x]K] ϯvq`
+y=&Ѳe3(lM-KSҁu,o0Z 1l0 H7KkM<,dg2_=6qt7<h>yDom[&)ki8I݀Λ!8QNaJ'kank̋^^m6pc"8FKY#l /TiGRoVxkA$U׿gpԶZ'cЄRVO_<}ly0ǝ!)ZQB ~CӘ2K,=t\] @B=+o&91\ߗHKd*A RX-:>9 }~2ˠu9ZtQC>p [-'N߼_<\ul|/k(h4~T}Dp9՗??~/lK8.\{yx9y~?ɃBϗPpx>
+w+c0Tb
+xO{%6 ?NFJSQ}5*
+~gzY`\5?3 ?ƘC9Jt6MXhSjzm?
+QKTy֩4Ep7?M kSq;/Sܙ(݄-IGS7qL`6ia<}W?o/YIyN-5i1hS^'=p5(VA>#
+P9@ZDeNExVҁHp259Td .|^D$diOv%۟d!f04ۧ0L
+e=LT>ʽ|Z
+Lژ 2(5`0=L^O)|2WÛMrKFiJ|g8t} 2lJ2oς=)Z@,NwZIYG
+&S$e$ȚjgN$s:pmnJ'fiy8.c>uiv1ˀZzQ-fԫNlL9@^ıtfQ'p+"t}eFFx ia*!WY`K HXoº}-ZR_QP;ϷkasKI;Vw%ʭVj)aq$FN- [m%w;*H W
+![,~[?YQ-ei}e|)Uc &T?9Txx/"DF"rw 7iﰻc˗|
+FQ"})A? #̦9xZ,mF l%
+kJzHg[kZeZ(1kjD4l.Ei
+MR␦cgFhz8k8O\RQڶ5G/IVz] µ<LN laO0 s]~}xH+00*OWzy}$%G¡-@Jݺ@ؿN F QI.veױdO Q~̣ܗ,2派*M^f61°k;{aAE3},v9|ˁ*`G./~}P<sSE= ̝b~G[ls={jz  8{!”󺓭!
+ϴ`
+ Y[ O2t6 (1hmK R
+RgT[rځcȍ n‰;wf_aIB|*Ɯcp}L׫wf v>aT?Yr|A /=e"|1u;16'TߤS[v q&R6Mne+Tj/@QQ9&59gtUJ2XYԠ6V>RĂ.eKUB29QvŰQOg=(+!̈́q2:ba1AO'%}oK\(env)J^E$eH\y+jšCߪ-qkLSrدR\jyg[{띨`&-`c=$!<etj$,Z1=,6#LmʏjC"܊_羱@m6E~GlQIn7IΒgf6|pg
+7)NfFq'%l"6Jl09fXD+Ӧy=ൎՕP'@<*nkXA7ZK]dW}Rŭȫ(BM<>SD/<
+4+;#p`gs!LpќC{C1{+͝ؿ흚*&0P_ʇ:8}oֱ+nvqpjsW4;e&󩥇[vip()jAN Z~4|Jم1aY=1i޷碜J!r+=nŚ/UFo]˄JL<1 jwnoItUC-M6rOnddAtcw!.--ȻZ|(/Ct$kf. 3uSbXp*/g+jqC=OV [@m r㎰Pa:+@}3rz#I(, <NZ ܿ۳oܗ64J 9Z Rx0+߽Ir-gDNm}zhZ}ɗY%aRl,6S.aFP^*f{ɠMZeC>MY8%lFk-6Zvjw"$#@Uzn{@%^;7뤂 ǡ.@F7 HC /H⵳HsBڎ8oW{ &SlǴ`iTyIJ{'G%Qa۵G4jXgցo0
+endstream
endobj
475 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 405.876 286.286 417.831 298.567 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+<< /Type /Page /Contents 476 0 R /Resources 474 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R >>
endobj
-479 0 obj
-<< /D [ 477 0 R /XYZ 78.37 808.885 null ] >>
+477 0 obj
+<< /D [ 475 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+61 0 obj
+<< /D [ 475 0 R /XYZ 79.37 576.53 null ] >>
endobj
65 0 obj
-<< /D [ 477 0 R /XYZ 79.37 584.727 null ] >>
+<< /D [ 475 0 R /XYZ 79.37 306.505 null ] >>
endobj
-476 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F66 388 0 R /F58 386 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+474 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F78 478 0 R /F69 406 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-488 0 obj
-<< /Filter /FlateDecode /Length 5799 >>
-stream
-x]Ko$9rWqP lWk4$o{X>`{emzd$3>*+||]}yE#Ns-/_za0]|Ra)U?㗟 \1NQUXO~ O'^/9R_'t?0Dk5Q(#7ڍqN8e>[1e
-sjtߔhbBv8pI3ߞ fq G zj j35V{[|cͣl% 
-36~ϑv66yIxbhmP˲hh#M_s]7 :BU.h{䓂jKj8/vi1dyOM5M֛gyzQvniVu.Q6w {aUBMDȾ53T0K*dt.`+yIJ/q3m,$E46qСN.6~kv9:y̼tuGpAHjQ*\{ZSb tl6p0q-ɼ[ICXn@4G٤H4}.ZަbKxT!y!ݹ;t$ F{
-Wk?9+p\}p0[a8FLLžo5c_ &{@RC8?Qw5VBiyXQN/ Qt3y\Q/WDWGNy|O|Lw.a}?wU_! kah&ʚ3a~0_LFH<d
-cfQ}7|`K=GF]Q~?)aB˔)X43s\R=Frp .z2T7L韃Endڗ2~= pot?GV 0sڧ*bN1fN7Za?f U8aM
-ȷ*!N -1\GpkO~WuEeD{ t}'.&:@i*ze_{0:3̺$u޻Ey֩h)8KG̒b֢Yީ*ofE9ީl{b\XpCP\R޴<(];8twyxvx]y.k3҄n 9`vFk|õ(#pMg[ 9v", Lntpм☂6s+ہe:n q"& ؚP0hNZE|aQKsoC*(׸*~L [5TK9)RG+Gh[A3h% e<Q?6|3&f2Ϧl5$ʱJ\mlԄST2{uThB|1 !clDo-(j89/@SE`lh"q3UT쪋F|}t#Sƍwig0~ %vܩ-9-QAUy , g8fC`"q>90MKp/[mYԦG۳ *
-BRx ؒ3J"T#'cxqwKoܷ
-
-VB饼)PwaFm7-MgoAy7֓g갋mo=G{o7
-(i޲z1)$҂Q]XZb!4PJ_ZKb
- dL^R|T~ q~]Z\HU]י³|khXfda[ŷmQmg~OB/虗1 yyz>ֱô]żG`|:eO~n54Tme yWlrgJi*rgfLTX
-n5v9LkKYo>YV`P x/] {NP@D(b<=39Ӕ!F-yxP$z1%$2[-s*
-]'S
-L)\DIXJfv&n%St- vG2~T5.%#DI|UBJQVCz (s 7r̕ne
-Mޚ|*O~9dTD Y_hv'^mՎޮRG0q >0]t$G }kg3qR5lM`>uyԧvB]iF4ڨIo3?̓Ny<i78l}IisϪaި/QVv{pAfcs]H09s⛴ `Ćf"
-fi
-o3pHZ0bboQB`x oN$c,ܒu:SoVya
-qU[ 0w5giʪ"f9IwrK3J,;8i7gLL{i
-h"
-/AJbª[RҬtJ Z8ȳ&8ںsh&q?gG14赖}G
-^ )M!ߢa XmQ5ZB4q$7q̶ڷgA>6چ^
--H¿׶>~m*߾6OB.fKc⇮QH
-@6w,IE/SfJ6Զu!YjvMY ?E>ywsϥx4
-Oً567j,;d(l!G
-4`Z^;ǒe' U&i^д*O4hOh?Ge#x}*)}JίTD:ݶ_/F^[jj~1ԒKG'4FE!0*V/1q*2%ls^(@$?ƭH"̿TetYA*%M
- YĿȺd wJ -+j%%IiBݮ`m^(Op_vdZ~,E+QPsg:  w[5!旃+~mY ݸǦE튌-|+xmq1${Ie8okءu4v߶}մ[v&oJ|<9#e.y5U/˺"gG8;r4\SGN`/[EooJ&TJ]b՜++v;oYnKHdWA8t89g~n9? /Vrx3Y][]ygئڵycw@TB)/IJ"^sVvu6ȢgtSvX;Q)O5d; fIь-W.Ae 籗ы0T)w' ubŬ5uNIмcB;Y6bCnl|XiKtavu?3
+487 0 obj
+<< /Filter /FlateDecode /Length 4591 >>
+stream
+xˎ$>_eb H \ԻT=A]EQ$EEi |x÷7.8͵|.a.F3B5|t-UX?Q|7y8^waOo 0FƧ0(.m|cv<bWSgpaH<aKJ鵉£$s)R.ߢL" _&a^F! 4E`x3OηQ,J"'%%;%8i!Ȃïi1 $qqK*q ;B48q=ElQ'Fd]&pZcFz)CHGTXPCE3#Ses$0,3%Df\uZB 9*G!i[^*E0U\s*x[S_&b қ9G M c,%<BGV?jkm%OӘt!FL_"A{֝ub NM(m t5OvP̐hl8SD+3 לPC%aƒ%-d;yo64PnL= uBFW:0CLG;CebFE nFA5u'sfAn=4(60S]R!ʚuR;-j{e. ^\A1b#iͪГiXkϕ&5LKm#Wʬ!c]+vyc0h0OqV!!C5tFsLS ]nmJчCQzـ#~ѥ^?Lk$G@͜S28zۙ*gO¹zWہ-a伎x>cC~cn:_ECa(!7=H",BwR#/br%4CmEc{?zT}q@8ns_(TA: ; <͚2Nːyz-JDlbIZii]6SY q|%k4EkAZ^}Kշs} ~ p{5:,1k^48zi/N<O1pCyx}-t8jOيC֢u<ㇻui |KL L6'8
+Ͻ&p+IQ)#F#lKk?W\rtu; ɫ޶4y?5#FCPw}G9M@aLi1jڿ_1AjL#;+%y۰0i'Z]tSk_ th;&ҘY<]uI分G7ƚ9܀ =<N`ip7:s4
+[r=VђEJ-م2^dwH%sy!BmwZ,I涨nlfqɩ"QTܕPm)OʏB)N+%IG^Qm<`lL0#uDل^[ &;d{zgFrN`S#4AHnh9љH^wV^]<Nvo
+iK0ە/+,Xܩք)f˧/
+x|DLm* '["iPG謻R
+0 Y- iSjz-mhq3O'Sw
+ujyM`ߣHaa`+|yHr,JGɟנgvyw`鿿&a-+l[~
+}% 5,`_fxe/d<$33Iw bl C]JqsT|C6nv٬Je꺐ͪ;j,iFq,EY2XXNi5Yb41|zX
+1R޴ #dUoj(2Ҭ:53v, șbz- O|N9P۶kV9nL'g
+}U͓N
+GsU^nhÓC]Q0 9C\ó=
+()c.u=H
+iمK_̠t+4e*Lځ[rO2j)]4o35IMpPSM5ۭC$ NH~]J7~$RGO},B`Л$hHӨ ty{#i?B ,:fe[SsK'yPá@qV8;ς֛ѵӪ+Vӹ 4$2螛J>mx"!`=ʩHQi9!su^Ap&KS٠HNVe{^4uk;TeֿmR &^~K_Ag}JK.{VS*[F|{Jm7@0T/IhbR,+a>b&A*$c ::}OdUWpn[w{_@'Ep'"//7Gt?m}nW̷x_E]ް7u}[{6S_݌an$E7Sp^7?zC7nf}t5nknft5nfWfָOfWv3kܣ?v3uq3ׂ`L^t3u3K?t3fGQf
+|XK Ϙ w8ǧwĀt
+PfpnK+xljv p?u^9L~-U[o)&.kž[Y${gW_xX
+id˗(7? N9N#UTVMm[8]h 9@ǝNCg7fRdPߥ'WBk筜BmNӻU[5F^LKw*NutB&{ihVvtaDrf#L_ayҟBԗַ6N7&SWf:}mp5 CQEep7 UN`c\=on\ S]۶
+'y[Oo8
+?w w*
endstream
endobj
-487 0 obj
-<< /Type /Page /Contents 488 0 R /Resources 486 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 491 0 R >>
+486 0 obj
+<< /Type /Page /Contents 487 0 R /Resources 485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 490 0 R >>
endobj
-491 0 obj
-[ 482 0 R 483 0 R 484 0 R 485 0 R ]
+490 0 obj
+[ 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R ]
+endobj
+480 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.227 542.814 390.201 555.095 ]/A << /S /GoTo /D (section.4) >> >>
+endobj
+481 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 174.175 514.471 186.13 526.426 ]/A << /S /GoTo /D (section.10) >> >>
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.048 271.858 475.754 282.916 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.977 494.545 414.932 506.501 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.475 271.858 503.43 282.916 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 286.882 475.178 298.837 486.017 ]/A << /S /GoTo /D (section.9) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.202 224.147 176.157 234.986 ]/A << /S /GoTo /D (subsection.18.2) >> >>
-endobj
-485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.601 81.696 169.058 93.153 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 405.876 419.278 417.831 431.642 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-489 0 obj
-<< /D [ 487 0 R /XYZ 78.37 808.885 null ] >>
+488 0 obj
+<< /D [ 486 0 R /XYZ 78.37 808.885 null ] >>
endobj
69 0 obj
-<< /D [ 487 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 486 0 R /XYZ 79.37 717.718 null ] >>
endobj
73 0 obj
-<< /D [ 487 0 R /XYZ 79.37 499.967 null ] >>
-endobj
-77 0 obj
-<< /D [ 487 0 R /XYZ 79.37 211.188 null ] >>
+<< /D [ 486 0 R /XYZ 79.37 279.235 null ] >>
endobj
-486 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 388 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F16 367 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F33 490 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+485 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F66 392 0 R /F58 390 0 R /F65 391 0 R /F25 379 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F41 489 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-498 0 obj
-<< /Filter /FlateDecode /Length 5207 >>
-stream
-x]K>4,x 8M9$ 流d[-QY=bWɏУ'>~*X/'1[1}2Ĺs#>J;yrNjZ4.^JhZx F`s T퓠$ġX)9 _9Q#d隫H!24H)uxqHkT-?EHЃ2g_oNgˋa֨^|u ޯhen4u#MYTqq"E<INjRjF(m]BHXǬ
-8$q$ю9z/ `=gAt,fI'iD2lH QEҊ&zc굚m啒:v-OgѓΪPr_|jr*pX4HoLREPf]~#,˚`| FjG1rG%dƅccg/]'2Z2aS'+Qg >*]R\KZlilV,cic\V|/UQmqEnx *xUύ Lr3ˇO-b
-LVI%
-Sҡ4pϟ|Paw‰3Na |%z0cmNa `Q̕.b bb
-'-YL6Qo(MjgKh+0DN9Iz{{%ԁ_A}K 2΀
--Ipe ը-39Qo1]0
-v]#[ +aO}~$YycxzOD=qIUw739RWMjfyuQꉝb!bܙDDiQ7 [ҌKa$c҇q.vVeKdWJLR1w&eK0QWV7a.q^
-k'MhQg9҅rX
-u%PIZ>+q+rݛ۵/P`,a0!$~R?.^5aZa?dXe*t>)CN}$5:)Ǐ%tSO4R fEQR11Ց[4--#)?,ʂȾb<rcì$TA5>V-0ۜ7\ՂZ,x=%iƕʈAX['jQ!RWuK`U4zR6©?=<fbE
-097T.Sgmӟ$gntvx-)}n;C(2:9
-URN C bW\#|&ᷪD4_35bIjU<A͕|uء
-0~%^V˪%\VlC,$7: `L87ޣf:ΦoRK͎PZ/RPLo(ǼRL3˷<މ0WRo)ԴZޛpbq:0qZybN^~ʀ8Q  3?^pY1U·Y*<o߱XF<=QoAWI
-_,F<(VG#~q ScLU:Sc]ŏa- u܊F ?W5i7kR)յL=kUYum ;-];
-dqƭMߪg)nG-S[[Vk [|-k;􋵍͟gavX8@9D4y%On$)~iğ nN<}r7
-hKnKv$mIOtʪJ*
-vMP](8f6`qİi:[ۜZyÀSk&ỳ+JnS6bb
-Z4w7׹hr5{!"gh+|~mF/pY|S:f¢|b{:͠cR0KY40۬h)Qxef2g凫$R@@ \27( Lj+Q?^GȟZwCI<5tگSyMmf\}+c&J&_\]ګE
+499 0 obj
+<< /Filter /FlateDecode /Length 6106 >>
+stream
+x]Iߡ8ܗ"\j"ޜdf0ƚ,~
+gl$a}fdzH~LDdo2#
+}MJ^5RyR祹_5!p0)-mF5sCT&߲Tk{|OѤK:0mO@ ձ74\ tY\1 Wb-jӤ4R*T%i
+i(e֠š[sˌ55#^kp}!oulvR
+΄]<lԷ`na޻̚zݏm߁kGn<sz2GS@omR@)iN|t_N\CoNuzSeq3tкi&ə
+~fQaUg)IJzUVтA!d22<yF~0ٽ_,bv@(
+F6Yԅ8M1s׻ Hۭ4ԃZ鈩úCȴ|R{BG}Fq<(pY3zxT9<\wL>?4 ?OOp^C{RO2΢}zfz; yki^x<Cտgzo ))_2ǜ̜%sO:_2ǜ̜%sODQvϦYyZ!wy u^3=b߬<k3l(LyfN9'Og/cNByfN9'Og/cNB}0?3)A>
+ؽs)f';6V";8&;K]mߺN^iU~>$Ag/^|G*ޮ~zaɏd(R}RLU>q`Ulq~Z;"=wj^'<MHz>i}e ޽K0|{`RQAJ^9X=+
+J#t\pd-E\ogR;C y>C򔬐 Qo/L`3,M\3$Qr
+$-^e"UDy8BSQB#ż>!2 f!~qDVnG\Ffr(9f2vZM!(-Ƶs0r= ;PLpL>o3ui#:C 䌢v *9 nI30}߿Y*5Se6t 6QvƔ\\J#XUuiݴ-@) eb[S8(~"X΃X
+4Gym#<,8M}t6ř6QlvDjisd8̐^Rưιv i0|AT"c]׷22.p沃gnud'4Zu<} U'cmҽPAGvW{s!N^.:=d'ǽrzA}k~Q}(a"ql&z5$mA)lSblQhg!x VRN$S,bn>Cu:Dh^y|blJN'̥MKuRF2#)PB3RC3Dqὀz[bpKun`w,||BWa ǚ[ 2eO02V˷Iڳ秴̋ÞXvs&*D϶Y:MnK& ^۶0=~/L 4SBD^뢱&r]ێIxԼm Q8[9rbN֑qFb*L !vT;2[Gͨɒ[KH]W7+ƁDN{W9`L)3mLN1n׈#hN{
+9Xm ۫Hv½D#Z6`C6or%%ۈNY0>%4D <",Vgrkʧyi:zISNXP& %"Zω\Mmz5"c*n&s}ךLњ8 }w WtժG@UxC6j3 О
+
+4\G+brisu^K;xx O
+u>+4`2'zli!y"^5;',wP؍%5be1P69c읶}PA1ĜsV4c":r'`X
+.Z )}4Z_Op#S7Kdjq|=
+o/##9UX~e}.~
+sCBOzL^쿙WB׾$/'6e9jvv[-"'O;?Kc:8B)f`7Sbr%/ ,^t!iՆOK09pI:NTe
+4fDf&2ę~8Y- |C6p׮?ek&Yz؃(
+g`WׁlOQX6fgћ1Ӓ:-7J|'pwT>I? g3-kgx`k*bv1+cy
+RLc~s)y2sǻ%]&:&nI)Iov-[ͬ {r6Iw>kIcVx ,(pj4~y& [O6
+%2W_N2 $KJ9}|́3hRAM-C!/Q 0B`/a0[wď<y1 kLF)3ymp0o4~ xmm@u٠̣ixE 5~qTN睮5EODѓPOGNFIdyt66 ;m` IU |aGK?17ҋesGq{\d&/7 Nr p4iB>m6Ih%Lۀ0<wA)6 ϝlPrʴ s'92mp4 CIH<s~6 e$?qA)6 ϝlPrʴ s'92mIh%Lۀ0<wA)6 =gD`on4*J05Hܱw
+ycxi uHipR}@*zݘyiY=CNoWG,D< e*uq DhymΕ~8ZNPf=7^"kXg쒝YύǰlPa7l/r++-+q `z/*VQr7/~*Bli2-ak\]Ld ),R^s8x^V~h+ibUUCHL՚W\FCH֨Z\?8kIP0xl;qr]mn<jqzD@db4[ckiN*.b\rVX#ڪ2Նm|ǖ:_u$T*f{l Mu L6[lkHl3.^~!k7)C'4~~/_8;:
+;݂=6 '?a4\OU,pR:'',QrYJO CrFZ|I.g#ڗbS,D IR:VWxz<AWzEN!.!\дäCW1.衢QQ0|2вCj(cPJvry |Uʡn@t_+Qz/Ђ`6,օzH_X92:߶a8r!}bc!RzOUy<lGvL9N1]_jf4i(`0l1PtZ-*>%+gW<O}|)R,˚Vg:V$I4msGxa p(֗,)H׋
endstream
endobj
-497 0 obj
-<< /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 500 0 R >>
-endobj
-500 0 obj
-[ 494 0 R 495 0 R 492 0 R 493 0 R ]
+498 0 obj
+<< /Type /Page /Contents 499 0 R /Resources 497 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 501 0 R >>
endobj
-494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.173 233.701 441.128 245.656 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+501 0 obj
+[ 491 0 R 492 0 R 493 0 R 494 0 R ]
endobj
-495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.358 221.746 413.313 233.701 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+491 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.048 411.848 475.754 422.907 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 115.666 514.551 126.072 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.475 411.848 503.43 422.907 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 104.988 98.706 116.445 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.202 364.137 176.157 374.976 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
-499 0 obj
-<< /D [ 497 0 R /XYZ 78.37 808.885 null ] >>
+494 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.601 69.924 169.058 81.381 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+endobj
+500 0 obj
+<< /D [ 498 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+77 0 obj
+<< /D [ 498 0 R /XYZ 79.37 639.958 null ] >>
endobj
81 0 obj
-<< /D [ 497 0 R /XYZ 79.37 197.28 null ] >>
+<< /D [ 498 0 R /XYZ 79.37 351.178 null ] >>
endobj
-496 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F20 382 0 R /F26 404 0 R /F58 386 0 R /F23 379 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+497 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F28 371 0 R /F57 389 0 R /F58 390 0 R /F55 387 0 R /F22 408 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-503 0 obj
-<< /Filter /FlateDecode /Length 4574 >>
-stream
-xˎ_G4`!pNu3|%HbߧHj{Ūb^nQoowpқ#Ns-c
-[ݻw8i<s|1
-qm_zf#RM)byn<g2R>H=Zd`t?6=@ug=?=%2q% 5=WD_Oc(ߟ2EђOm\"s{IШZP(G(sw_6
-[/ޘAV|escRsg '+榃>in]@kvI
-ۓ0TU# [XuC  QbY1 :>dz2`+_cO
-`-_@oۡ_nhJ&
-w5-C:Ԋ} 6)+~h#PW߷nVIgal2x,Q/x3_?_XIhc 67ցl {y<q"w<{!w<|Yț{+m/2( gf&; QZ_m@p#-iXIPg󄏆gM'aVrȫ|jK@cЛ'gcBI)aATVQ[4xN"(Վ'B ஒoAbƖn$bȠ0cmzoYx%vZ:98nCspV`HhJw49FWSxs,!-ǨälӾ>R_)Z\Yn4noPQ0#4 pQ7\`:=&
-|&hTXJ'UŎI#: 44s"G>4J37 Gq1pE"p\͙[5r]Fn/.C30xΔҷa- }t1n;1V7Lp"[﹔a?
-B_1y RQ/>"/"}aŸQvVaȇj׳7#yӅ sFW;C)AoIW9UUe`-D&EO鱍]9¸O!ڔ()n2^i & .4pJ֒O65^lj[#= M<?܅EyzysÑV+u/?YВE4yTsjSs@̃
-E<XMۉUKf}( UdP H@d? LX?2<t*"d҄ äeZf[&2Azk(Snc̎ڨf=15F 1qDgFQߎbKva\o [{F11s(2A`QT4DFLc 3((s}aڎEba Of(Y
-("YVJ}
-ٌ<'5 pКIN.M[Pe?O3]ΙM'zI2PBl>d:j;5ڑJy0OWo;(m$~5Ap`9Ub'|ҩ6ULZʔ9NڐC$r[k1M.Z6c.L_j2b:wH*C
-Ar9K|ߕb$#\Ũn)fFMPz3:LK%&[R U*$UWWd)A|Gt,"-D7f#i!{SKfxwHA;عFDYcǦrezWz /;HfTU_ Ob#av*"
-u"8t 3Bk.Yb3{#
-&ߟ2\*U뻯!gKsE:[ES9=C[ Q QbIcBp+iBvlgYqe3—73^%@Ef%oZӍ+H9ns5B6-pܞHxANc~` gh"&Edjc4KLpg/-t+ɥ
-fۺ*RSʑrT':DJO
-mY,RX\\:% vW[[SDB^VXR VײP5ap{&Ԕhz;R$8Y|Y {߷I90=G<=>~+7@ЮfԀR  es{<MK=f[yqKP/|#Uw0Q,o^
-op:/HHl3$LD G p~$`5E3g^&?$5tc CP??OjFfhJ|;mj6u57hGE%)D[NMvG׌6&v;z i͈= Ip
-Iľ+{"mܙUC;t[⪸v8bfʅ
-W m-RY Eʔ|,gNG6I'3N8dCj6~Η } UZ9Sv+͋_kgc1llbc!&S5rs/n$Gw:鷬ﴤ8.ӕwF.=vNjcNs&=lr|r'rONlfK/)CjNDX˔T1PM.-+
+506 0 obj
+<< /Filter /FlateDecode /Length 5224 >>
+stream
+x]K$ ϯ}hY0X`g'c9-7{zKRUO;F3ݭ&)EH9_>=|\?|A'6Gfj6}2}Haw!(jZSy tFwЏK0)t?Q7M kIgU4K
+IN4H3.r.#V^}g`1N,2\# CۋMmDkJT2"z|}*x>π:J'1h~_5}%ƥD.]!V:p2.*ikqp)K *|)[N-- d#~-LB! } 8QxB1zF5m="zm){ѝ-{W_wt>~)Q$
+IMY\O𳧏sGz_fɥ'5pO7PNm^b_&^ڞ{K;ڿ_K\͒'g_[Bª \
+&g^HȅY9_y? ۗ)7nx:;+|?DR&R5/F=8Q)F*zaX*a?hoqHL ,n)w'j$>ymo'O AO8ؼ>=:=|Fb^glhvB}!bC _ )Y%. bE?$yΓh WvV1XG$hֈ GboDt#<Q#1#\ D*>A$Ǡc8zә7A$Ǡc89̹7̥/M*uH=tE(m
+\t {tD>Ap 0?5S(["EHp-]9N5_Seΐi55g3@Z>Fh{ 
+Sgx/(FVRx;"
+0({LvdN6lL<$;^
+o'[lEPR/ BH8&9fV2afc2/1 NG@µ7c?%RX!-0j¼eԋ#tnezQ!VtnJv8δsUR]5R:,77C2N<Od,ggzam_5*k ϭ24Wi^i,gKWd6c=`=6{/!jC7r+GMF6`ԪdUmc]%梟rz%T?Ӕo\ZB3vm&b :!ۧ
+TwXDUyJb+6U &}ڬb.SՆT̲DG&<89\}DGyJ!uhv{Ηv;9Lh akX;ΪVo>;B\r_f
+~vJЄ+R\TMWFٞg.wYLfRw)Ɖ;ߪX;#eP<Xk4fzH-CF.PmYæ,b[ѡ(pE&L|<C_ק $awi`HΰR_4r!7Snkj}) ֑z"~ kf`mTo
+ -Ꮌͳ7ᡕޛ[@ Nt$lA"gnJv$Bf'Juz+ɐV\
+Xa9Ŕ#IC\>ۏiBk}Wg *E(hvg G=KKlSg O3ljaW8Z
+lk˹Js6|f
+_V</srRBiGf{w#%3ZI2CF93xaZsj\Ma)\U/d;VV̓<j/Rtz =:<H4O'h}! O5JUPxƢzEzCN{ipRgK=%ܯ]+֡4ѱ` z939h_vAtWiNǗ{Qw9ୄ4Fzװ%?-wޝDTcޟbX\]@nR^}%ծ$AWj5^߀EZb:p2 F8tX́DSGFsZvC"O_aQ
+Qg?6Mc>s0zȹ )bNբNToRogk%JfNS%n;%G){tSקM^JMG ^zSG;&XܶR.du@dJ9?$DINdWW;<5QApsp7Wgfb3Owk`1UgI#%gjm{3_p}ib>cfeUQ[?5ַӉ()ݕFAS*^eUO&z9xU݃Aڨ VyQTMeq.|{*U}2vNi1^.0֤pZrDZpR m/=zȶ"}7j'ږA۞R)JE׌d|bj+[9ga10p*)bX- Y+|#ժm~ŽT`*TU-QELbiQ&Mr )%2cGJ7#Pu5B3YXNU
+|͗x7[uܒHANdp~z=ZO1OeEk:C*'&Ǫ.U t_OMmSJ]lz1* %R=L.s brH$8g2
endstream
endobj
+505 0 obj
+<< /Type /Page /Contents 506 0 R /Resources 504 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 508 0 R >>
+endobj
+508 0 obj
+[ 502 0 R 503 0 R 495 0 R 496 0 R ]
+endobj
502 0 obj
-<< /Type /Page /Contents 503 0 R /Resources 501 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.173 406.451 441.128 418.406 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-504 0 obj
-<< /D [ 502 0 R /XYZ 78.37 808.885 null ] >>
+503 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.358 394.496 413.313 406.451 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+endobj
+495 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.51 105.14 514.551 115.547 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+endobj
+496 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 94.462 98.706 105.919 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+endobj
+507 0 obj
+<< /D [ 505 0 R /XYZ 78.37 808.885 null ] >>
endobj
85 0 obj
-<< /D [ 502 0 R /XYZ 79.37 654.722 null ] >>
+<< /D [ 505 0 R /XYZ 79.37 370.03 null ] >>
endobj
-501 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F23 379 0 R /F15 381 0 R /F66 388 0 R /F65 387 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+89 0 obj
+<< /D [ 505 0 R /XYZ 79.37 204.438 null ] >>
endobj
-508 0 obj
-<< /Filter /FlateDecode /Length 3951 >>
-stream
-x\K?04Y|4ZX7C'!Q
-fG Pkw~ĀC[M=
-2C NKi:A&2iP^3U?QyR.GU+6?yu9=V%91:Ac12 !wI4b8ir 3uvfW >#h{B/PzZӚi :u-^QRe?{PiGzH
-JzMRGuJc3[YmN)ҏ(pKi\ nDmıғgy:t,IpD#HeqQuw0r(|Wz)ԋp&|c{KL|+#9(|ڗ磻iCi7(զ]%&U)Ie`5|&3wSY[f.|fU<@61ی\Էf :yoGI]vs7~9:&D{:B1jVř^U芦ݞB]Ft^H<-YD֕V9IG;sab}鵬٫'5vx͚Ώ4omE%m ts]nLպ]tx8~NHQm6[Ӳ,Y(G \\זD<>Ko
-^:H{-ѺL%WhGZ9򜹆RsLٍM7Fm V(SY[neZ$|>'-Aa;pnkOlKuRҲ١( m杺۩uħ[4o_ D,.Qd.$ EVttz\sVG\Q6KeUy %=ZOr8rROZzUJS V;L6y˶JŤ3m1X|>"{)^p-7̆W0pgĔ5c"umO5iKPS}뼆Uz/d<i$+:]?!jm<6":F,;8>}[USUw!8wGh\y|2؟Q9|tM;=v>dZVk;UZ ®u 릣LXDe oɨ R#Z[=SEKUe'ZcDM|bTں#-QƷ&hUCIs[}Ã!}۴L*1הy;~+a) M/.#xTgބoZ
-f$T(}8:n'?x1O|p~{wjي7=4)˸ȍ;$FV~):́8Djﵠ@a+6 T)1\`9CeAZ$а^>8]L#W"B< Jܟ>J2.0%vJdѼ5H=~e100
-bڝ"+yfI(m,OkJ캵or GV MLT{f2[.h)vtQzqrM#Z7iKZVsǰ}RW"Hu nZh;#?*ۖTUcK\?(d7rxvawaԨ)v:n[[zIP'4̉T$21|pqV'=ĢkMhsj. URl&09 N}u46B
-yӚ -*8fލKmAj9P2gr~$E)]c~.]k}Sgx!w AgUUfJWO$۔u=(/ef+.1opBUC\Pʓ0*%^*Nh ŌyQr˸N}F ,A)-woƺ2Yd c:l,kH)]9vٌ1xXô4C!QaE=B/ܨhbäws;׻ WuMYL(ս:԰My橊R }/j 'x[UfUOQ~P˾6)mȶ7Ont\ۡM]#E3; IŔOmfةJCAAs]wB)ۭSy嶭[C>N6 $o7R3 :Q #n:vխRqsvY[ @T+誢.<ɟ|qc@Gs(:7n~Fi413m*  NJ2+ppҵUJשN,.%ެʝR]-թvPV{
-endstream
+504 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F19 383 0 R /F66 392 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-507 0 obj
-<< /Type /Page /Contents 508 0 R /Resources 506 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 510 0 R >>
+511 0 obj
+<< /Filter /FlateDecode /Length 3972 >>
+stream
+x\Ɏ$WQ>MFpXst-.}5+3Gˡ+3$ |ćO}ӠO8TZ\>~|{Xpv+};Rpnt9ǧ_*ə6p10cç'
+4)ȵk簔 _ pf%<?32RI7ܚ4,L
+AMR|{
+0qQ"}" mS4Ė*x-lQ8f4*prbkп-!2&TT$}
+5N$Q NJ<Yı'G$.50$(;H.{ sA)`,oc.( G.K@9d-2 
+kӸiՀ"4
+Z|"QQn4;uUV3ȗL) 񂘈}
+;` 텬`ahzjſr7.^B`[X!%EVQF iv
+6Ș+ĻcZm}Ц2emxYN.fI3 2gx1em.>6Y~xO
+s41jynĜs?>TV\l5gewg)(̻ȼoM6E
+{5jyZECd3U(k@OMURIǡ![,~Mub`Ķ+djtȡa0ʣ< *^&ƶZ "\,73„BzƎ塯NU( *)_uc Q7͜}p(ʗH ^)+"5-18qzsSIW,D|hN*(}.gD\)5TW֤/9-J])2%6*CȀ@Z~F8(|YwצC(5*]eXv%&νWw*i%N9R$$=3[Q&>iKcTfX6(S`UK5Ӷ/uM69Tԡ-˻+Z2)Ȭ7һ,,<Y0/*b3ihzaUos(&NS A?R
+?JZ_*AMJ z<mv'<]y.=iR'nQhܑ$Ŵ4:ҟQvC۬3CM;I6mJnR:PzP/05@!|G%f4.0:E""Gu$(N l0' FP?-͒$l-l#-Z''Ar= u?Ih@% m 1zvr.q=, D
+k8舖ml*Z[DZZ2'>)SKm(VӔpm{·
+S(vz\y*/u/99 &id>dfn%z+B<H?7F[FmF8ڸikxrq%-+vu$QI~jSz.x>8b밗)sj]o11ˬ/:z]ҹ.9~4o+9PD8c5ZˤrTݯr6/RN ԋ!ͧ!8] VGZr)݂hf?iʐnPfBK4r) KEaF3ű8lU9X,{B_(R\Ur^F呞,E]cZ(h(T#Id,Vz@Yװһ,>4D;x
+)QҞi#g9g8,H12Y@eR[sz5Ǣvg93*h^\˿5Le: ᛀ&PY 6AΗvqMk+jM,Ā:pyrӋv#^djwh
+i꺼W ٚm]`ZpJ.k_}LlzDangUH^4oZ/
+wZĨ/w1JaHӨC*
+.H'c6Ș3y us! uHHG7:i4 3ɝJ'T7C#D]kHzz1ED:q9MJ0=f_
+m wW -"vvnzO';Nzi>vAޚywdj?}?;?xC}Hܰxs
+ǑVf~Y2~ = wd{lb|6ǭ *!rdaz6VotK`/ͺTJNc<*'T
+endstream
endobj
510 0 obj
-[ 505 0 R ]
+<< /Type /Page /Contents 511 0 R /Resources 509 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R >>
endobj
-505 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 155.143 312.516 167.098 ]/A << /S /GoTo /D (section.10) >> >>
+512 0 obj
+<< /D [ 510 0 R /XYZ 78.37 808.885 null ] >>
endobj
509 0 obj
-<< /D [ 507 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-506 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F65 387 0 R /F55 383 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F19 383 0 R /F58 390 0 R /F57 389 0 R /F66 392 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-513 0 obj
-<< /Filter /FlateDecode /Length 6710 >>
-stream
-x]ˎ%7rWr@aUj
-Ѿ^X%ل8;n7^ϑSw)g@SPA7kG8[jqq?'֜Y}&@GZ4i Gȶ r옶PI}#d?EW2@37Yzs{0|C.30gnm0\/30gnt1@Qtb )RpЮw/C1 -ͤ"5|r\:ցXEzxk{Z50f<,}.%مl'r[8nLGr?ClꃌgŶ{MG'zy sf{}5 ZwѶZ)vQtSnYQ/?KҲU3J
-DtCBevH C;' 9mH6  SD=x'JʒH 28E:i$(^
-WS9U[3 v+fm)(HHC4 R~1! 5RHg>HrqE7C
-/.+eڥ{sIxS<aV|- "a
-w:qgBb"Bز*F3,&ߛA3i2E,GB@$ X&++8bB|W2-'2^T%3M |3 i9H|,D@B@dmr7-MvNs8g\,Ɏq+0'2`Ȫz2
-N0+xWm)#RA3:iŁA[ҮXS)r
-4v̍8'Tr,ږ)nX*`ؚ@R'n;Qd bnVPB\:ȗ@:7 iۡ ^O-nD`CR57V,
-!A=t]2`{ gld2$=z"aF F1d)Us#މ"cs;2]d(bJ xI^8#Kͣ"/
-`˖DAZ )P9r1snEXZAJ6$R5+(v
-C
-5PS<JW)B⧳r!2Jh9^9zF_Ҟ>M7tͨ o7<+l,㞞+[Jz/h[}(>t'|Gv>A_v aсPa`Ut݄.:E/:)O-UW(k,gڐKIUKtn1Hrܾ/rS-|f-77Ƥq߃ϣ[5خK. {,σ[fӻ#nT;+Ox}îT\'ܓ w27Iܚܙ-{kk须anݝ4q TH{|'{zĵCܿ<Az' C w/O!|ۡދ ~g<xwP8^6k?ryMЕeq^RCy8'(7^ϑS{y9g@SpB7kG]p0~9޴\w &G({h&Ьڭ zteޚpR{k9ք & [.20gޚ8BFx/>׮mHW&Z(0{Z<&g<?|G1mSJ\ܟ|=SxxV]l,n:xdXK 'cMf)Lh ޕ&4ن$>&oVC=U#ax
-@8ܤ$iE%Iq^?{Ua3.Gİ!S"EN͙~r(*D31Z鎘C
-*6tE Tns$hW,I)xI
-R^I&FZ\tx˄Ue؈ 2I&6Dm
-@dbCPĂ^f«B.V7FML܌r=r{_vR V5)0UfE-J 5R'fZ53$ If^[ ҕ
-
-^2vf&ܥDwX4"X:R>x3bIv,yъ6rH
-^25ae35JP+J˞)S|AYuhMFLw<iJve]{XW^ B׭ >$g2$^b i%#GBĠo>of}^?j_"<rb[njQ_9;VSS\hO&wmq'B
-5>E}
-GiGbT"[Ef
-Ͼeңc"'}A\/hXN xRxj܆v,AÃ<&oMjstfm_%4ID]#:]x%4шU;۽,9Djwx۳ymoMD[,t%"n9LʎU}0 q<Ǫ܇
-[fӌt
-*u@; \1}4ZڷU]j_Uiuў|EѻO1,'GRf-T扢#ZC2TS 8~I41fyL.+=JfbȽR CՉRnI !Y$nr\=hX4nH,LuW$ݢߦ.3&Oo^R5px:b
-#BjP_NET ܐ%b0ϒQ1ãG =Dڴ%NKp;e,\<sVGC ֧&F F<pBt4"u@3}xtRB?-qmQx;<ޅV;vLO!-^XǼIneBOF̳_4}HvC‡w(]L:ҬeVGw2۴-r~Jih *b/3A$e
+516 0 obj
+<< /Filter /FlateDecode /Length 3659 >>
+stream
+x\͎ S V
+SMg|݇_J~}.3VeJY ŬRx?KY"(|fNxOoqcq':) 7 Y5xC ;'LWp_q']; cP`2.2$YNFNDV:=ԏDbS}T)|qTWJ;V.\$G}M3;)I=a y˰;x롑<SOm/;o&^p": {N;=N'{;Q6k# ֶW{]4wJs׽^w;Ї]DIYWR6J#粥R{jxnLTqƩt<
+cxF.LX|xF0]/H,څ^(xJ/Z3Q.>^ݻz 5tUDF'R*e:N:elCśQj3qtإCgsX1L*#t3?u1UC
+ ^y|H6
+ǥk~U?zCHȔ:/)Pn\OmWu>Q,
+7J%M,u3[5x,7rxӴmZxԖ[uIʈ2ydq<䊖+l)#!El]PMx*LBJDi>J=&D_GcU+(d(*wM sz\# U>J \BP]N
+Ug3rM<8D>\AC5(¾W&y?
+fr<ͣ[Ii_F1a-IQ=[LVgTBL&4ӧK34{]#Q#+&Sw;
+i&oa:
+DZ܅tZ%yT[P  DhŽ,{CB
+Q&ȀY5 FKko%}Stߜ
+:hbg^ٽfG?nv£:ͫ.Ba4ft_!JHST77R|>d{"~db CI/rGVêR9?@m(:DUF]TIk-A<>lwOX
+f.nS4ϵOo-H2S'5wDڼfG= 5!a$' L8x#d$-jϽEV6M<[0|7օNʬξWu=)>>" _ cX\""u_714G5 ܣQodo :J{k5yj2W?ȓȨݜBȭP
+.E .W߭حy0Ւʨ+z, 4gp]5LK3 J?nK}@(#LF7FWf5abÎh7*~Jʁ>?63[38ArrGC
endstream
endobj
-512 0 obj
-<< /Type /Page /Contents 513 0 R /Resources 511 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R >>
+515 0 obj
+<< /Type /Page /Contents 516 0 R /Resources 514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 518 0 R >>
endobj
-514 0 obj
-<< /D [ 512 0 R /XYZ 78.37 808.885 null ] >>
+518 0 obj
+[ 513 0 R ]
endobj
-89 0 obj
-<< /D [ 512 0 R /XYZ 79.37 382.758 null ] >>
+513 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 92.359 312.516 104.314 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-93 0 obj
-<< /D [ 512 0 R /XYZ 79.37 345.365 null ] >>
+517 0 obj
+<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
endobj
-511 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F78 469 0 R /F15 381 0 R /F29 375 0 R /F20 382 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+514 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
521 0 obj
-<< /Filter /FlateDecode /Length 4700 >>
-stream
-xڵ<ɮ$q9ڀB~ z\7'm̌@RʇDDI%mOo|{w7!ZۯoMl3e7kFl߾oĹќk'1- {wojz'hLoOɹҚZ<ځ%ϗfxJ* ؍ݻЛgH gZ""YZBguoF2cdIfA Wmd
-UF ۙMy*H >4~O8=mFSLIJEdM2 k$L@+mX;1&}$Bd"DTbOlqK__T-eꔹ4e e˱R*ST,3w{F$f49gNhMnUpąlbz=?jFaWpoԮ`5+{{RUD.L &_SؕvI-f$`ZnJcYzh +W"/m+ZPt/(2'J)GKSLi
-Q޿/٤W~%A\򢗬7uP*sw5^+[G@Y AVKmyă[&<Ή4u7xy7`+ΌPWxq{f!YU\`ZMǬeɳZuRB39@o52b<'"9!pdr~ke Te@9#-A6h8=1QOLm bPŝV"TdC^kB)SL=Jg*AX}
-tY/#8J7;>BlB\d\1cFYi XT+SI)^bxiXAF1`D0]5Jp,
-If8ge$i-<.$@"Nz+I)Wx wb
-z`H/SgrWC/ʺvAO^0EL Ezz-ze:'K
-:zy&E3+
-W8[ vKVتsÚ:9kCf0G16au,3( %Xq΍PJ@t|!3>r8UKL&eVv_vԀc'[_vF
-{io(lƾa|a
-O6 SjbQdsgo]JCl+jAnNEj,3
-FxDUN%&r#\˯e 㜂4%K8tIw"@6V|vSg6{|m^jNp͋n>k w~zN#6.}ظt~k698i?1N+u^{a'T ȁ Հ+e`bZdw4OeSJi:
-EgN/pa] HaA}??g ǥtdx#が×z(Qa[rg`oC
-%2Z5QXJ I4m簤Mi 0KP]hr2kQpWXBq]krOChrYd=sWU&;9 R+ԋͮ~fp#{S@&RTLD)
-V5<_kFseg+? 4GHZ0
->n:l?vo[ߔj9g<ƤhuoB2Mx+ `AjhG^!zd%
-gBi)tۯ[B]ĨoORƞ$xPV6QE$eSqSԸfQwUkEfA8=s=R?HȧʹKR>h޶)/N O!6{A˼Z&GeyO 愚Qܺ,Gzv- ~U 4rv_=?m_W6)i# U03Jg.(1AfjI%x R<r<.~ʵkG{c/k N) @i\aԸG5^U9dy<};V~Ρ7L9>e:}Юה!iĞu
-HQNÕ`(dAu@skEЩkYf~"97[߷? 5dC,xAEŇ\]
-(Fۏ ^~x'V|ζF} {؍AP? ?~ 85Z6KkF}
- 
-vݑk|;o[5µl{&˂xξ?ۺhϘ*\JmxTr:KFQSȷ=5 QV*gkÖMY(Ju{M>Wjy7w֏o7twEu<t vc}{ɼ X
-3/hPRD<\AuQK1[ 'lq8z
- ;l/̺COuҞ(EeR[ժgNB[0we<35`h5BWְ5۞\Oqu`~ѥp2gteRs p1ZdaQ81:[ ۩_5A*Q/5U?-h7cef`S^
-
+<< /Filter /FlateDecode /Length 6721 >>
+stream
+x]K9rWqй|?`4Z`}XŞe`|ٿ *A3ё>`&s;3ݟ?x[M.˗Y؋5as9_rIo >o>c?^I߿l6l;V<?th1oKތ)e[̟z)sr]ĒO>WԨ'ߴH^G۽&ϱ,efH8/?y;C>n91o˯_bݢP\2u5vO`ڮ o\׎eyQB׺k=y^-[{,KK(nseDΰ] u&q*m+o[?SʂS]m{<c?QfA?5=:~/hBT.iٗ}s!nQè,:2Kp-bs ]'>u )O bB2-Ű3\p6lp}2tOQ?tCOg0ѝs\[sz0is)Ko5GhRR ;>&>{Oӿ뽘%}tl`o]#mbBHxw1!mkuv>lǻ2_ase͝񋍘
+]Fs%zܹxsWF+4 f<uTԁA*))kIQ8rimN+D &LQ@v$.a2򖬿߃a Adzd;.'q$\[<Phha-Wg~+#Glc*"γA9qD$;Fۖ?̿^F#1܁Λ V>o*V\X;vq5V\ L)("-~هlm
+MvЫB S%;l2\.t0ws3'vU<г?KSi k`
+N@4t_a˻-dwy*0I<1~8V]tDftPׯnsOR`.O1BMhPn4ٟt%LtM`*_Vm>n_>Ҧh/{CлpI[gCJ>+k=n$Cj*uKPYA~4-@yr:nho7Rw!^@!SPA7FsG[jq ݛ?'Y}&@};Ц1MGmkC-*@ [nɾ{L"HN2@37rY|s{0|CN30gn䳳m0 (z>3p#d/{n}<tO@%<S(fs9h 9n.͏~a}Pdkf z>ÿ]g=|GoⰺR3=' ɦʣmךNOp
+m& n._ga(X3Ѐ{mebA
+WS9 >Avnl͔2%E bTRJo2#&w]&B
+H8I.vKr )Y7i%SD"Dp@`CJS<KC^A<W&wBraJ$VF1UumbJ$28M9beGD: W#p$Ŧ )͚b='k 
+qCMGB!n]yjkx
+R19 {!+D)BcJozI-{@0d0B*K@9MVVdD8.q_ {R$C;"LGjD`$`Rwoȥr
+/TCȥ w/|T=C 11%F.iD@B@"i X&++8bB|jrt$$kTI+WaTw&BIdRYvHt
+l ~+Z..%$-KěV'li CFHei#V"ʊX0Y+ RW R<Z8HO7dcNăH$$ d_EQqM9FkG/w:/㎄DeUp f2ߛA3i2EZ 1H*N3ANMVVpĄ@Cex[dR_i Lp iho$EDh ! Cnr7>)4qkIv\[g=|
+qv-v0^{zR|kۋ+O
+W,WqM3$Lz ah-{)dvs)zH 0c!c)q=/8 badmm)#RA3:iŁA[ҫ]E
+Żc"_G O܀n&x?H)k YJ܈wZq`XAa#
+bNK^TAN̫r3hEœHXcBPMՆ&}C@fq%KU[6ԉQDe_nZ$Ĉ5F,jf;Qd bnV E`)K ۠+cpm`elUm'^1fmI$
+$hvL+'ѢPɦ Bsk5-8c'뤖!ѣ 3"e0b!KNہ"CQ,x<;c)[H5 gdɺyy\ɖ)nX*`ؚ@R'n;80XFAl7C $*ǃY.fpN׾hbKT2Rٚd\fE@le* s9
+
+1vf&ܥDwX4"X:Rq>x0bIv,yъ6r
+=c+E /3lߗ
+Yg6&/͸m!m+ 8wj5l"^/t[K 5k^gd+Qq+tO7r[7:R׵=.zBR[vw`ͯFq%4-E{JbYz]yyZ7: #Ѕp$F5o70ϲ~_o@K]nң-,˓R>˺6JqFVNguOVm|>
+DN,˦0bѹz,+MM):X;j6+IU;Qrqu+&l-=btiVcQo~[gpf eL7gޚdȷ6}iY9-)q>febv/ڊV>V]߭}7OiF|tc7{:UK_GOlYܽ_Oiu|AѻO1,HRf-TI)U!miS`p?a$Y[Z^Z3h&Yz|}!)&Rrڅ!jwzLKQn̞c&R6/CE3XA TwE-mz%cD"6Bb ~z(:xlw˻w!5Eo/GwSG#'q-]r*#6}]㋎8<z(PMjzpb_}d<˨^\-\,\?;gE~D.z/m}jbzؼ$}Iqo8rOg<]|-Hnxh^OƸyQxOe_!_m4ů0* 7ۻ__ kt0R@A.1ǎa \2<gN{y .o" px?]mb큛;1)}y
+CRL%eI' Cv>EJ d}|#bm?8ZM} }l^˜S5SNފ,wh8yT韾wBNu/rTsNʰ
endstream
endobj
520 0 obj
-<< /Type /Page /Contents 521 0 R /Resources 519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 523 0 R >>
-endobj
-523 0 obj
-[ 516 0 R 517 0 R 518 0 R 515 0 R ]
-endobj
-516 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.353 470.815 205.308 481.764 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
-endobj
-517 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.196 452.486 516.902 464.441 ]/A << /S /GoTo /D (subsection.14.1) >> >>
-endobj
-518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.947 440.531 142.902 452.486 ]/A << /S /GoTo /D (subsection.14.1) >> >>
-endobj
-515 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.002 76.658 194.459 88.115 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Page /Contents 521 0 R /Resources 519 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R >>
endobj
522 0 obj
<< /D [ 520 0 R /XYZ 78.37 808.885 null ] >>
endobj
+93 0 obj
+<< /D [ 520 0 R /XYZ 79.37 347.258 null ] >>
+endobj
97 0 obj
-<< /D [ 520 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 520 0 R /XYZ 79.37 309.865 null ] >>
endobj
519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F56 384 0 R /F78 469 0 R /F65 387 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F78 478 0 R /F25 379 0 R /F16 386 0 R /F69 406 0 R /F67 393 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-528 0 obj
-<< /Filter /FlateDecode /Length 4671 >>
-stream
-x]I%7rׯch hJ%`|Ll<H[F}Gp's#_V o}%%H&]~] ޿S#Ns-/0xA8FTьP͖/-̟ͧSkKxƍ~T1J=+ġdc_^^iJb!Ɗ^DJ0F[~yXZB3CA\BY(#@s%/ 5]*fbv8tQcЦ3qNyx[8!w(ʣ_'ʒ:4<+&k0AiµF-iѭr#j"-Э>'![#idabጉ0YIP0ۊ<)V/-Ș۱#g<4)?/އXv_p7 fdSCHۘ,GP/)0H-MAiY2`m7W&Β95~ʉ2cÌ<[1vbwv)tDC(xmAScWicgL[_vѬE$m!%:{ _ɠmZCs6|W$*Օd@sdKf
-:/@⩡:j 9ɺ _ւ(fPH~ͳT9OtoMs/_)B]1]
-<ݸ9!͍3>4 : ':GV3cn7 a yٷŠuq{ C{mfX{3F'7{Gi&:RLfqs'3LB;$?+59I5Dor-9a0=zP n)[a]ffD,p2k'0Q8 DQ̸Ț9΍)1
-_iy xä(B.R?_!If|$1s>5HqFf9-mQVxN&<4HiZ9Yv@a4NGS1#L}::2 ~*}\@dVƥ?.]! (EsV Dz*HOZO+%
-Co'ĀqSr݀NHS)zfJK 9ށIUaZaT\XŃw3>91f)_ѓ&u'j6EL'-U=H cpsi=GQ>{Cx--.,w;&w@K'w9ɹbL9y8q4- 4&딪uZz>JaD^9H$i1'"ѳ ʣqb4̦t^ƝY s"` @qfRBtB~䮘{Ith3]1O<U!]?`Č/m]8hwQpa
-J[y, 9$; ]_2V|WOR;RwX/ۂl+B
-@L
-zXf0bZmWUDyg(5(jP+ &yodD: C6J{]oC0eb0ltAXe146qH{RnVy>
-2w1={
-Ƈ R8
-e/z1̢֐ zAZ=rz1!Ȳ֘ 1z +RI7%~Yۓ-ֵi&.[(
-$O>mnPE-ٝőVxp;z+l ғ[)篂г2Jdv'v-N+\++ͬµP6+pjUi ok6doid̔KR%ݥ/KR ɖxIfŚ-TOVK$$\lOe J5rs5Yn^%\ox%o5F֖oKrkp(zMx)SkKu ƺ>o0p?Ԏ^AQ7wp^whGf`l?.kLK{;=z{7pH֍4>uue_02R378!w@lȼ0r?ڼxAQ˞fj6RirkSUY^*i" Ql>hqq5\1ĩ4"πuRw.ƒ|37
+529 0 obj
+<< /Filter /FlateDecode /Length 4319 >>
+stream
+xڵnx ܒ
+3 u/P}%M]0!s$w
+RxEu~[{H})<>;\@8ZZȘ>
+{=4Y7xI2tI=kDEQU(U경BPof]mZU;ֹ745
+wg-L:wA0H[H5U 􌰒)="$R56c9tXTͰZ=n7.˽Uc@ٓ(+цtY6̂1Q]
+V`vr{
+F] k#t4?Z54'RQ#ȴ4@jw)ךgcZhg'*sH|B+u0QWz0z+rgMlF{% ֤ XMtYF0T\+rIa=WN:>Źy"GNDDpB&LQE$wP+dyHpAI%JAXQPkЏON\W?uk%RrdȖ<0@Xs <  6Lf ̻@u!Ό0i3\semp(uf\ӚWQ< eO*'%AK z pO2Fr֓ulO1Q3bF.PI)( P5F OfCt;ӜHQKE TF*-ga
+~0fG{[,QTdi{:dVq}(tE8-?NZծ;ΎL% "띭i 43i (yto4υĬ.
+wHx%TG(5c mq^{)WF(B`NOQEK΢q ±`;"׎)k]rey "JF2V-'+1N^ +cr}ٔÉx)c={4
+bK;H8Lmۆk$
+gBuDǔ~Y@>jLt֊.c+wf[tM$n<:>f_*@EzXdv%dY§].ήuH+<Bcv
+xtD4Ejm
+RO?#BW|4n
+_⋜+9*%I 0T.$fcWYX9o_LƳ|H`8A|y`D@8tNکv81oqAަyc_7DH5LC
+3&*ƕOI!XSS[쇶0Xy]Q[܃i#, ,E:dڨC^L;hϤ+)DŽ*0>oς3}OoΑ>ZqJWQ'ExP%qX.bb|cfzVE=*q'O6b8&cC5W &~٠zjۘ zŠ>q͈.3G~08~/^B{VC=K:y?L`Gct'DyAvMN1f; /v*ͮ`xSfgTuR1JE<7Օ>tOT87VDE׳8p5tKM;YAh$)5v׊) :e^Σhufd/ զ]wqFYnrj)ﯳ u &BYr:G^t7
+DYQY6+FTdroYe!fquY8綗wIe4
+ЕJ@.-߱Ҋ+m1`ľED~+.vڜ r~)(kі<r[o%Dd1$ KUt$ӸzC)c/gLXϗxKq9Vitߥۮwf2f
+J>L0Ί9Qxb/>xb/aNdNO9ǷD!"btp I"jeJMDP\!UyG7A>VuEK\;Y:fAW0҇ ʏ:X@[0AwSP:0iEr
+BNAxf0x񪻣q㣡{ :_&˟_8v
+ǡ3].5-'
+x* ~ r!6^^Lyi_% zQ^Ra九͓fQȫU4g78|ZCI=5}}
+mvTEJ
+1 ǑFLtY2X~C}&^9Haǣ5A11 `pK|Jy,3"Z&]&*J~4WVB(BӉ`]@vo= ̋+< TP4"O '$ _ߌE P<rg'rc_dz~çM) AjK9hW=ot4gJKT+*!U`RefŨ\s[ ѡ
+'Y'$Uv7ݝ
endstream
endobj
-527 0 obj
-<< /Type /Page /Contents 528 0 R /Resources 526 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 530 0 R >>
+528 0 obj
+<< /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 531 0 R >>
endobj
-530 0 obj
-[ 524 0 R 525 0 R ]
+531 0 obj
+[ 524 0 R 525 0 R 526 0 R 523 0 R ]
endobj
524 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.232 593.689 461.187 605.644 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.353 367.571 205.308 378.52 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.669 408.443 427.624 420.398 ]/A << /S /GoTo /D (subsection.14.4) >> >>
-endobj
-529 0 obj
-<< /D [ 527 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.196 349.19 516.902 361.146 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
526 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F55 383 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.947 337.235 142.902 349.19 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-534 0 obj
-<< /Filter /FlateDecode /Length 5051 >>
-stream
-x=n%qw~;ڇ}
-f5x6/<#3=kZeu5Ie
- K5I# (0#0iMːf _}
-%IK)' P(/I%Q"OBN"Qr]ylUX$ֿ?Ɓ a.jS%.uuWW<z[,_x)43]ߍi o1aSf܁ + 5¯[Ŕ
- 8JvaN%\xU9y=KeA;KKkXB*anAm
-X $5 f
-P[E*"\.&Gu?pbF0LL6rxb1 E1xf4^#z胒Iu^^g@<pI w^yE0`%Z6"z2(qB5.LB+}…ju+ͫT@p(^)H˧k +
->tN%bGF&.3P:/J2 B?0yƷU7<IǫzϻE)nuݜ8j%
-R$qeOD+C"TRm/|pץ/K9MqLb^^'jU7:uX,Ux>n[?`1]kS)sR8,~ Bz#ڱd03WDM5ˍV3Z2@r:n%SXa9]ԑU/Pq&bXSȗ`]J~㊶ph׺ƢHzD؀Gv{ ݡVr R` vbYE!css22c N͉yrLYKaC,d;; 2O
-vmm*_aL`Be|;3!@/}a*80hjX!Chv8S4DFُ
-K4UNuY+2mD).OnrXB| _kyQMV Տ<S\M#Z;jmբG+='_g 8HU#
-k SNX42;+ɐn+G&ӧBeCA+a)XіJ8x0E:uKO2́!rr*h 罀o',
-BR)LCR7ڸ(D+ϊƒxSD&6vS*"Eٳk`mu-&*V.ꤱ׬koBQ+ R*6A$K]# ^
-`a@/DvƟXQ3Ұ-b,d+4[Ss-)hrhr. mm{Q<J^T'
-ga ˳+`2Y8;A'ѬXԥxyJ.lNs [y%[*Bl
-"ɽj?W;#V a_My+eT/$ %3O{ƒ5DVlBBVAU`/7?K8y۸p݁T;%r A3ç=Z-n1X@ g ]9@~02G
-p"<nct_ O_WkE'U&'`n=#^&{ :1?,1Xr-nwƉPrOʸ;$a]rv˚=D5z|CfadY{ѲfLI8sne7R,O/2mtRr2(
-5Qixj8lVi6Ie'5#«U:t@-t[J$G5!IBC,` 3RGYVh`pyeΊ$XoHwb@Kj nhhΣd41@F#*jU8z5U2]NF;9$%vz?iQD;uQV qfR'eš^V b졲8G8J(CI"~A䎈 W 0xg0^-`Uh)qa$I<$ U]!\$ô6<љ O_D BC3GVvL[h19G$\-mJD."'7o})fޝɀ
-ͪlM*!nUϩݪ3GìZ"<AWkYDD_`W3o>8
-x;׾Հ<,\bRqjP9K,;-̏iiKvWg1dsbF~!HdA3s:nfP6Ga5|0ÉzqpExA2<nC\Dž3 ;+vY.vji-NAfK|LhʅC?qtȗ;W|eBRVo`q#VS͐[=?{0?R!g&;nLۼ}\od" z/C RL2G+y FWӏ(ۜ`te ^Zsֹ.rC!V'z!(}skO;C 0g#,`=Bȅ<o~/`
-tG[l?aRicMnxlz>C LsjlɍG3ûჂ6mn]oUv1CF%AD@~ATn/aE:5}tװzÂ4.\뵐Ҹ/\lTa]3߯6`sm%.v B+˲I^HV@oe eO_-C#OO-8|<Pw- 8chq Q|DzA dN[ROǗ<G"wr(y 3Ջi]bZU?ߥE+P5gj&-kZַQ$< :.A%۩Ҟ6-y*
-endstream
+523 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.002 87.621 194.459 99.078 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-533 0 obj
-<< /Type /Page /Contents 534 0 R /Resources 532 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 536 0 R >>
+530 0 obj
+<< /D [ 528 0 R /XYZ 78.37 808.885 null ] >>
endobj
-536 0 obj
-[ 531 0 R ]
+101 0 obj
+<< /D [ 528 0 R /XYZ 79.37 669.948 null ] >>
endobj
-531 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 485.826 516.478 492.8 528.433 ]/A << /S /GoTo /D (section.4) >> >>
+527 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 392 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F67 393 0 R /F58 390 0 R /F78 478 0 R /F65 391 0 R /F19 383 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-535 0 obj
-<< /D [ 533 0 R /XYZ 78.37 808.885 null ] >>
+536 0 obj
+<< /Filter /FlateDecode /Length 4863 >>
+stream
+x]I9rWQ}(<Vk`|n{ \-BVV5'*3#䗌,J/
+7[ܻ}oJ_qkyB.J͈d.B)
+Wsm)e?y 22^(&l=oW/{{h}3)JVLb-hssm}̅ք!ҹdMxIJWKuO&sesS<_~J!GOS<PXbM5k3,uC+d)_05z;&}CkBy}Ѻ\H"ׄ‚0Em&[iA6)Hylb(3v~ ^˯>?]4Pᬺevu/W,R1!|~?_xBƺUjHNYFm.Sbz._7}Й/ rN\%1WƉP,`b`0+qF+*Bq^KFt w*Q-VrּZC55B}R|a8_*߼1ּ%(նUʬ9
+e~9WlTၛx΍
+=1ƈ^ODa xZƠyo~g C[v]Tә F;]
+{k`GC5Pŀˡxν=+fb { v H y\z\YC> m#sBx
+)@'zB>p_Љ^765f E t`3!yͪeDaDm'LjQ5k_Scˇ7pa.n2lƫS<3_
+~d6o[=CuԬ63*4|Z܇vЛ)XfU-D+įܸb*>8&TSO!/ߡ뒘vjir XI{a ?-ۇk1{
+wqGw44=*#e-.P~ `,@zn:Ŝ[oC
+ 'M'-%.%H$Ý$1- J䧫.S>t7Iw+$SJdL9E,Q#oDf˃fQ%d#ļԙ vLA|}+F NKU2pK/p~^I9-r7^ SĪgi9 rWe&":TX'Lm!UCEIw5$e@T0"]DFB>.b=xʼn5&E]ԝ8ʑ1-"&o4XKb nDn*El z;Jc
+0Q PcRW\E|
+UXn3I5IF(k~/wX"J
+5mt4e1К44;
+B:oLZ%sZa.n(W\4;s \ǧQ<I׃1GV"]-+,%s 6kb(g
+R8d"IܳɃ
+?4BVoʅ\Ë:5L0W
+]ra
+&ͤc3G/PĖQ3zNDumJxEI_
+endstream
endobj
-532 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R /F23 379 0 R /F65 387 0 R /F66 388 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
+535 0 obj
+<< /Type /Page /Contents 536 0 R /Resources 534 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 538 0 R >>
endobj
-541 0 obj
-<< /Filter /FlateDecode /Length 5113 >>
-stream
-x]O中(_ Low{J9L}h*˖\5"*HJHJOo<2Wo__~r=y0j O3d goӟ>?/Dgń5q,'^/BOm_|;~Ÿxp՛0ojRPxKRK1sͪ$y &%k%h*\$M\cIfi\l P/w---Q̣NORI)S$:9 `5M3ϿN|Y ,[K!nXmJVvV
-/aV׋⢰$N޲sOQ;R?boYygس,:Ֆ(U˯ݶMn$jQבbQgO$id"~mǶ ﱖyFd>O'+ȩމ_jiչ.M4߁™,n@Z5/ pE`LqauOoIײ ,7mcLzP)iC֞OZGF)l=E,uw۪+<~j:0cuݙr`XL@ha!2;);QgJ:(~UR+YBb"j%r8FS֋P{2Hsh.m¶H'a2| Sa?h !.'+&!%!9lJs0I}k/i 0diu?YWJW97xƶk@ZoҡDiGh24ocg\Zd][S혲.t
-66IS)Rʡ@TL-+'O6w G%fuo%/-KhυG*Az(M{,ntEӞn/[ B<8ƁD Ei3d}(e<"0)3G1jF N)PaKmc̜.ztpW~e*j /tFOsSܔ/l3sSR˳Mڰٝfn7 LÀ+Ϝ_\
-v;a.Z-XjIG4(w-_ŽSpZy$-U2匷cEe*C ^\C0!$˝PfPcXn.CwI~`![a-z109yDD 2h N[逋
-0Ť[%K3OaDGKfݔV̺)=¹)ƌ.ȓq[n33dXjʙ˝[7T2a;dy\l:n/jjj&=vуi "]`wLee@sk6l7L@ \v
-]0gcw\炁C3I?Á ؁{
-b|F<-]0Ety! A(,3C:&ǝD(B;*2ȣ薂 Fc'`#BÖ,Gm9 ̍9 A(<%G ?&À-9!;̹~lJ0O0(ȁQ"'e<+i{c|BۭD^@71a@c:8{fR/U+5í
-o?
-7N>yMܩb跂>DxDn$Jҷ7=ctauy#
-_Ly _0X[~;wpӇHpGq
-0F"'abxg"}*Z;p0`s9c8E%cuW Omq}* VAs>T[À ~*d'pYvx]1<hkܮOEfP1<O6.ʰY {_Tg!ḿSRqiOyT x:UUP1<>y' >̠u-T O|T@tT3>P,6ᩃo
-(U~X3<uRK{fxjS; BͿϧ?%m1ǟ>pVAT3?}: *6(qv
-:
-i< fP1<xܧZk;؝TL=waZ+[xzxx|=`E;;ȇf귇ǘܧb{cC:uȻLjoCg3+H?X`14(Cz)eVJ[)e<E\K mf5f%r^2k%0&hx!JO J g}⾎f>țYo1AN*&G&d+ |5byzI!E3UbyO/</=Ѿً}$<ؘfyhdvwhf)< ƒiLGwUG*]qNҬ/wBO)_^t)>ѵÔNt[Y{]oeEw uc3ozS2|c0J/ʇ2̓3Y>KK0AwEk+'1;jfV53&| F9i#ͫrf*?wR6PL$,2RJJ7DE$QLk:WQ/c^J/Hjwɫ^Uj`[u+])dGUشe*-2@ZJ[JYm@?RO8p"h[+OxV_^.Fo >n7!CZ6T:9YV&EA!)-[M-UkubV{GMs3"WRbcR4jq[Ҷm$$Y C@2a0#䉊lz'ԪHVPf5JQ?B6K2} 9yT-Rc2c\-cMYoIK)Zưb߿#)$5^ٲ[nzuݣ2N+^?;qͤ>͌!
-endstream
+538 0 obj
+[ 532 0 R 533 0 R ]
endobj
-540 0 obj
-<< /Type /Page /Contents 541 0 R /Resources 539 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 480 0 R /Annots 543 0 R >>
+532 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.232 490.841 461.187 502.796 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-543 0 obj
-[ 537 0 R ]
+533 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.669 316.919 427.624 328.874 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
537 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.619 67.03 177.076 78.488 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+<< /D [ 535 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+534 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F55 387 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
542 0 obj
-<< /D [ 540 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 5217 >>
+stream
+x=Ɏw};Cw@ uu5sX7'`Ɩſdn̪><^>F=0iƍx|G X;6s$¹/#~K<aۇd3jˬ?@?C&{}#l7ڦ}jV{2iuN[i~A=c>HTk
+xE| dUiiM*AŤL(
+ۢҚ -6m&咛D! HoԋkIIO|3g#
+)M2LZIU)3!t%P.h<R1a_ͷaƞ|-2z =KӼnĪݪ&
+P͓͐&ݚ(LCd2U6QMO+5E O&L.u$ '~Rcץ!=L}0q)0yRR_[K ZwuR*asqɢ" 5ݳZH&r=nr<T=I/)%$0P2S&ZU$9Ct3>_ՀXQb>Ⱥ*4@K\hZ@Ózw`r5w"Y35ݚ%%¦595ܷd=D.#oS^["m"YX8'$遗+eNHXRjxЏ 2Fp2V" 
+B"&]SL][HryVS6_
+&,42iR:S [7Xc_#1g_BJ
+G)F; ZeRE,q7
+Sd~l'@
+Z*fTV_1B,eKdrp_v܊1Euh JGc!qC!٣d8CL!#R"K[ 5oU)+.1\(? ImQ /qG;?RP@2]h^TE 3L1֝(0ǥ:4ʲᕧVyFO^TzJgyeP *Iif M0В;hjj1H9"+aOĻDC_)T-L=kԝUB+[m P+n]V{.^}ġH4o9v;W9eavԠơF ?1ĸT&U qn-U}t"gCwSYBaJLnz@{?BR=S¶&5R \SizN)Bω!)Gl࣮1TR:XˣP;K_ T H.rFt6sjșHb=`Cš੐Є$8WWH.ĭhHޠYb@C
+8t'둑LK=(O0ba_γv&wke+b'aݲo15a;W|I񒋳`&*aF%EY9_b
+q.8G%=Ɗx\θHΜ1,J2Ď?@>"t0ʫt<m`(I <<⃉'ßMYWM5x?I0"
+Q?eqU@BuY u+ZLj:f(u&b^qC?83ʉ=nm7S?Pl)
+{? }h@YF,%
+5F6k3$qJ\`j}S:-連j0Gh-666AmS \Z&%]_@FpRB؜^P@Sv1?{N5$zR4=5p;u76Z}tWfH gx-8Q64A3h@avL|]P)qOv8ن mN%ȧ:@0Tw'G*ޑOp~
+)~
+!y,
+@iS,
+@%2כ'bGIǯIb]Y4}|U$pɞpWPFv.J)E i~gIL(X˅{r {xx˅{xI-nh:敼̮u6久;Jط[;ݥZ=Cˁ^C^uv4ݱ{<=,;5b~کz@a&?efrOb-/7mz
+v)}^rmAvh4"~}ӛsMMBV$ Hr4*4Tsj4Xzq4E=RYW!4s KFOdK ة3 +is2 _`x ()8n8?A7-00"
+)f@^_7{*+~WM.b^_7+'.'C8.7/KHbJ#0YJP% 0PG/B{oH0%iC$=H(WP*= 9Mg4î~6;=tNl8:kEaGutjBNKo6=/k|D:7V8J}1?Kr|tgyf͍y'KG1<D `&y@`)q>JM?lnUj Or3Ci\kk/5ripk? /sNcz:S7.^V8uI%Է="9۷ *StRՓkAEt/ivCq0+i5SaA3[mڵעi"t0 SްNh$VO< nv^'x[HWSܜj0>KO7v?rZ\MuK3$ ^ ud(R9Lńh G)WhSv83w @
+:?uÄtL 3x}zp+/ۻw`5W]_!3}T *k>Na#K:m!RbA5_a ᘨTر]e»+؈SlilB ^_Z_0ƼC=DZ/P t=
+l7eBg ԻGY;]/oGg|
+endstream
+endobj
+541 0 obj
+<< /Type /Page /Contents 542 0 R /Resources 540 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 479 0 R /Annots 544 0 R >>
+endobj
+544 0 obj
+[ 539 0 R ]
endobj
539 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 485.826 484.38 492.8 496.336 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-546 0 obj
-<< /Filter /FlateDecode /Length 5970 >>
-stream
-x]˒+j9($Pjzz"t+ [o&ŬZh+
-}W
-ӮPȱM 4ОMPB$ nx
-gl c'NcՍyqş:R-Rz8S2+ʗ8W-Oӥuzr!m8OPۡ^ $d[A+IUmS
-PN,qƄI2:17ALtR~BE&zm-b0˕
-r%mtA 1Dkطpa69Tq;'XD]l1mL5y .t%`5SFAvITˀ/jH:PGE|w#m7Ji1o) 鷵)uj_֡J\enP-h?w$J2I0SY\@΁Fn:}iWJ%^,Fre-ZJV&}IZ9b ܒ!BRXǜ^:BRJ-E(j>TLec ou)bꔓh[TSYB.:Ky׺F!/b}
-5ϷffH]EA,p)V0za.uBjhxCʀkS^~Y&L}:y %e]Ff`nP \黱G1"Q6Q
-u\~[ukB%sַsd=/1Ǥ{?n 8#18w˗w]PKƴ\ζh+Wb7_j/_Kڍ>n^qA50IIQc!bN\+u~nGǒsոޝѾ 'FyOPr5v<B4U?i?i7]!|2u ˿~i?Vr5B ZZǝnD]\-/KŖx,GrUU3 j!5|$W. TWp5fHvJi{r$XR$r X;s (` Bz)h^ PoR+~Z4wѫA);-@ }9O
-rmX Jp5uوXVqcM/YIc
-(KŸ yLųtYoEk7 c Nc `P8Z9 $sۄ`PXB@Ȥ-@ <Y-F(M0 q<A0l0* o;1A1p
-Ϙ5 u$>0k@)igWak敮u
-WoA3p\#+oexPx[W"sENNĜcq枈sq0s9&!H
-O c0(u0==.FN$}zAgQĴۄyM[I|
-3 .JuNv3C҇9gϔr
-Op `"nBL9wD`Px;AΣ=۷GμST:S?Y OgQDѣmr?I!ƨg\Nz&&T0d: oV
-x1~3Wt 2[=f998L ^}x W(N׫#*!k>hLo\}z+e~9[I|gcE'L;/,zr!ruE;avV2CRePh^y!0%^@[N4G;pB˼r\hUOF^Zi[A2,nJkCo^gKS{Ʊ)PD/s)})iԍa9ӭwٰqQILW+;!$_I@0aWPJw 8Oa#4
-
-15Dn)a=RZU^;jގ>游s Uo %7Q=qfI\$nnWDx)<϶GڍhSt$^y~nG
-3 F.0ibxۻؗ`!:ecxDAA͞ԬcL
-3@`
-3 A SS0aY*$ICn[{s:5`ϞH|)OeO'+DyPA߲N~@/F {Ε~g(k hdzKdz{RA@&õәT&jys)-חƢ!Z->Q;k3㘣o6Le׬>Ra{ť&REqmݴpƜ^18I+b%;TrKޱÎI){LbܕA729.N.sBG_kv͓~~lҥ; kԑ>kܗofZ^1qW%]u'}xݏVs浨~Z{W&_-u(TA
-pNz߿%俚{~$]Ɍ큒#Gh^/} ))VaڊQkDۓ͓Jr@g -m}%x\!ʃq$)X|YH|oJVGo7Q+3 7qP~O}3:r(1 T1RU5,
-kQv a&+so'W:;TCN Q>n͋5u%5,*Bnc;[ĵ,<-Ѽ)T̑I6,\Vhmۅm;#9ӳB$y5r7qM jd惓8/=L_Ff~
-kFt<Ihe&ɚ+D&Mx ZRXi#SPGFAJJL3z12#\j:w{M(&T.;'Zq/f?iVǹpgP|>fK2C& }t,nzB#gX*nPK,ܥrD . ZU)O\oW*_^ y<~C*ՒIA,^ 8SV<;&Cf1qWu,k_XD\eĹu;6-x&,>`[~)eo ۤ
-endstream
+543 0 obj
+<< /D [ 541 0 R /XYZ 78.37 808.885 null ] >>
endobj
-545 0 obj
-<< /Type /Page /Contents 546 0 R /Resources 544 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 549 0 R >>
+540 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F19 383 0 R /F65 391 0 R /F66 392 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
549 0 obj
-[ 538 0 R ]
+<< /Filter /FlateDecode /Length 5128 >>
+stream
+x=ˎ丑
+@r~
+Bl1co/x(™]#]~{R,ŭDqێㇱ0B(lDX͈bzN# E2^hxӤooYϼhTG#F#U]gaT{f-eKwz  z8rDV{<F}
+- ~i5O0vO=2Yٞ }IrNB F!V8IsvXC$O [9 Ki կ}$*(o9y-MhuiKӔNjK_GzGF*}Ehu ;L#HJG
+=1i0
+nYJ'4Z _)&-{T
+XL ؃$C*Zr@@FAZ
+
+q~F0}K_Jg.} 5g%R?o¿m)7.B"q/0nˍN)L^[w@ BvammY;x î?c@q
+"vfQ8
+Pf"RrG;F`LKD1,F rJ>Ћ6w:%FBk"zBK$opAy5 U`6c a5.|^ ?P <Awðj@3cbl\a
+D:~(
+P\bA Tw+BJnUڹL\sE^zcctlʈlZiȽ" Bk1q&3mt`Hɛ~zA-))Wn:06.`ŵ;)?7.RS])h2&5C?ۜ<Ǿa۰LCp[R*,Y~iJL)+̉:O9DFٖc,9IIÊ iA܌O4ҵIdg^nod?B6'3_Y @ۑq阭]7{ǯ!T˫ߛ&} %%"/?uӉlH\2sGZEո9O2wf
+V|@l/{Bhrl5E8b&am>!q
+'a]03r
+' <.x7 zXc~z7&!6%yXcc }Kp:A/?A/N$ z7t޸<IN)z+ .B&aG {"GRJÙAiKNƺsT}z34|>'U؉z1VpNаl,n[ ඥt)w4'}.έ3U2xhyV9)ciX6E7B[8G&)0WVDZǥ"z?clÝlȰ0MZڈټjg@"YꢺE\Q74•AbN;i(!KT4D\C<{DZ𗶥#0uk}X]?u.,"sߖ?&B!uCqBn]mr?(mjO^-ŐP;7>DZ7lòG}C8q>8:m =mWVpߟߢWj8Lm?]|U~sL*h i? LR1}ܞX*n'/a2x[iNw/P޸İqF߶3-̟fN=(/gi:rfTh´#j|Dθ ud 2f'n<taS[΄] #" 0F:bNrKjJ_L>HrKq_ `|C.?bitχ dX<LXcR,+ SKsQVp 7$@^GZ5|6n7q˽pS`ҩ#<! 3Ñ桬Gc9
+1NRc6TN
+PXIVWbT_<sQW8}D܌zsX(trBQ1QVcoB;/./Q/W/db8W5:j^D['̬\XI%&_WW+Z^z'*p;UawRl^z"k-I^j+Vt`J#Vt[{.r)\o
+8?n_Ih_򥬿A]9LХ T -\eP&XbeU_"a/,FQTZ)ol=B%B&!EQVm(Q*Ն
+mhU_*rޗR?hU=*ߵVTܖ$ƚ E]Q
+olmQS, mDY|m 1̓RHSq}h9Nłu !r ЋU]X1l[M\S:ɖ)kU-\5L]7^o0klwQWŴ7/B)*cRtzaWpG嫵cL<Hkc+oP_'-ه/(">dQ-_IYb@E ]0<4_)7,#DKY1%\c퍟_,^ngt-p_+ߍQpqsd鵓ƖW+:~>/
+AER+"ۇy*S
+endstream
endobj
-538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 745.619 315.545 757.574 ]/A << /S /GoTo /D (section.9) >> >>
+548 0 obj
+<< /Type /Page /Contents 549 0 R /Resources 547 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 552 0 R >>
endobj
-547 0 obj
-<< /D [ 545 0 R /XYZ 78.37 808.885 null ] >>
+552 0 obj
+[ 545 0 R ]
endobj
-101 0 obj
-<< /D [ 545 0 R /XYZ 79.37 191.651 null ] >>
+545 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.619 67.03 177.076 78.488 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-544 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F20 382 0 R /F55 383 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+550 0 obj
+<< /D [ 548 0 R /XYZ 78.37 808.885 null ] >>
endobj
-553 0 obj
-<< /Filter /FlateDecode /Length 4830 >>
-stream
-x$1߯&opV'@NLP$[lI]7~fg,]d˗_|‡/(7`?E,^0b`܈ˏ8ʾ g$b`be_OY`¹-|HjAKPz\}"~wL6D(΋q4ȏh7)廭qcK"~rKUۧȀ+R-y+n5RX2pJ0S-ef+{{,DT"0ZY'x/_)b܈ HԺ,A4>©ѻ#@Z[hEX%`"YQЀ=I;$!POf+U~t&+`! 9 s|4
-3ΰԦNjK(!AƖo )
-g$ D˶M !yv\zjMkS?jeUƜ(k
-;:RQWIUb@|Fݶ_-YVn(@"Gd{LDq} @BjIPFJ"3i$ +yd`"3*!{Ҟu<OM O iVP6xtj:?}m7CD!0nSh(fY)nX)~y
-暁5?z)b/ŦEIbc9}v&Yzn;>MVĞ"Ha[#)|"d(!
-6zVB[!HcQW6$A ~z(ym//=g ] z&q8ekphܞ7+oݏ<r$L&yyǮ=M z(U>c8@a4OlwA%  dnJJh]N*vЪvM)/LIa'խ#RA|: +C-"=svh}Os:XYB?K,ޘ;e79N vEߌČNc6`gDyl}\+ӈ5%#
-q3)n+\M
-$qJxdy-
--3A;mWZT?TgVcWUme=R.+&y]Xi!ls#~YJ۰pF=^0% -2e:N7.Kv=%u}Y$ܒ)N}!-gҫLJ(혒>s1c*aƑ
-eNb YB"]vgX7y>I
- KϿйi GNcMkܐ:s |.DU)s۰A1}k_}GzL ׯKo^b bȃSaT9)I!KܧoRĺP #_a9
-L Ge^W(g ޏ?[P(q|mS]ƔI&H!F5eLE@r5.A@CzSqAv%
-80+ۢ"i,ɝwZ旕<Kj\Rrڦ S=q'آ`սcZy8VcF<go Ht0d5C:q[tv0˺^cN-H{ Vml[T0>,Y4Ϙ
-ɾiseekK7խ~DZ'DxXi`otʞE,)4];
-l*53{P˥bʘ;P…;K|$R,{}7ȥ5QT{*S?PY
-`ҵr`{ |)V;F|ݯ( 4Ӈ:?[& Dɖ[@*A{LstQ
-[X?j ̻Jw6%@7T3jE Ǵ&dQ W'E vyS| gnIm]j<ZaO3kۜŵ J̇* k;$Z34A$tgc͇} |bT*[=.Kx$\V$n
-[k)ANߠˑVhž[u̵<
-43knBAlz=Q2-9"Ž!8:T\&GE:|FtlO#muht*#7# 'r5K~ZK[c-ifE)p`EXizV߄lO:lb~WJl334[).31e0ا ?Gq</ת۰qPVxϴϠ!^A,셥X¶d3\;o$3PdCrFJ4&_tsӸrCy-\
-_ ~<OeLWq
-y
-_pvt  v~BC-Utv 3چtPJCsƄYig ~'f.XhMn̚,S|1f5̢ûd<^ES9t lSCyN+TНtuO<0[ڡ `>/3/U VN<6ͯ3@2þbz v<_
-K,/lu2!]kM.rs.z|1Q1w܆+H[:nåb9i&
-*pƏ|D68 1t}ݠh@]>:Hgsz(c\>:(0tǀ!exypVaz{`l*`
-b-#Ul bUdžcA͚% jiwgB-Bjfh1wsdVp\Kp'{cBSQ>ܮ$^1 G7pr,#>6w.m:ؾWQ4YZ6umܲn]a<ŗ Ҽ, ^/#O>DE-YP2zRgnK]\Q&f}F/zO@cتET`5Q1]/O8O%X$#Ozl{RD#"Y:*폿 Z-%F¥‡d +ݟWSipǺK&+P@WP[ey(FT|m{b xڒz-;Rz6SzUwO߮6z Q+.nu3K#GAT)|B
-3c&RY
+547 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+555 0 obj
+<< /Filter /FlateDecode /Length 5972 >>
+stream
+x]ˎ+j9(Dž @5`G;+ڋko7o2d*̢`0Af2O?/;}~W.8͵|;v1s1_S-~( W)^W b_A%mm'ɢ]ߞI_Jz%#JOslۑ4|FM:Ɔ;N$۠{ே> v'~ >I{Ђ0AoŖ^q8McZqLp w0 .654&PpFur?w%."@9 nК}x|*L-I
+L3
+!&5mrS iWʇK'H 6u7v\8V͘{[)#U#{]
+<&"]p8]_'Gk"THyë պ>Q qES9P Z&9nCT%p¨1Az_HKOx)?aJ!
+hM61@y@{hSzPm)AW8#b-^:M
+<#9"c\0/A&xZxj cMb2m?0})y'NDrIX t2⡌j['D:$f>vbJb'xU0o uYa_P >^`D*X&f,rn^qRgaRX/Gp`K2*ٖ[]x+R.$Īc-$9wj.p[*X7(|?v,,,eH׾[rl˟J*YgQ>-PZ?( (q޵4T@eMZ~o6dVKYPʗ[%lyճLd} :i yYF&Ĩnh!ڄ.[S_ţ?F"@lQ |[f=`_ 9тzgCSF].ᡭݏ]4.wad;iːL(gȰ6[F~S~>vW%g5Q:'=$e#ݻyߜD
+0sI(:xLēt^E:K7C 0Lc; ŠSX
+w
+ 1g&D'3Gr\%s;gI<S}'1t
+ k)`=u%NiڝSO9,j!v<Ӵ ͢0y9 ANaz&\E0sɼ<vOurHP4R
+Ov Hy`Vbԙw
+JgWx' Dl+, G >f.'J>AI DمLAă3 N(+RCM{$RYDhTXfDϸ'1ӹWXyoFX& Tfq>_w
+O] H嵅`BLxT^àSxz<A*}K:S8m qK+s8;z>w6A½@PMM@
+k(tH Ɛgi
+fע۽LŸ _Kע[krAZT;ʐ0_Q4;<oYY-V_z EuQU{V_EӃﺝnL[P+ryAN a* ^ᥙ,uyC`Rl@Ѹ1)&:'d&_{̲sa7rA!\7LYU>h<ī
+*luA됟 WBǬQ>h.NoK;0,zt?aI|igCƷEN0/+j ҐJc 5jD{(<3X%OԪIsκ7}W)xPX<_=%[: ["^Ƅ~l2+'K{R_2w1ju tC6,W2QJ"`҉u/Ǥ\f~[[~@:+ےO\hW.E0Q0򯫔r (;*:'zۑAUh9~z͗q0x [RV.yV
+^Km@[{MlusQsX3$S*Df8qBdv/~$n0LLqDM%9™=a#Q!\σ&"nKhxTѸk:9%
+>G6 3AT|<h$[pJ%ZG>K-cnq[bf͝і2r06zvsZXRK{bґ@Qu3lzv9Қz%TeXpHoa_Xv
+GcUn"=_cvPpFYk#ki;:6wo;rP;|\؇i7팑XV
+b)s o %-OH[ șa]))%_gCJ/,xDp(|~Ԯ{dK]|+nCSJd'J/%KGPQR޵oi([1z8,<BCƅccBeIϿ&U1C%Bkq
+,YHdp``RΝ>Q=ce?))WwS0녾G]~}9ܨ+Z||Cި #‰iBW<]苷yYЀ'5:O4ğJBgo͎3kq&<fΒϒ0)ZOf~c,AW(cVyK⤛ Z *ǷGpٿruqnU'e4Q ~9DWПf:r0ň0.uy8jLs 9~6#nf>ycɯUzJa>w_uc3UO!ԧ`;d-7Qnk[*{
+k
+ӨUFŒq~
+3so0ۖ;BO S/eW6n88w A
+V}(zs0BsTYS:ضu_^?qriYp?׬#$Lo?y;_H8Xaͯ5DnSYQهVH$4XkM*Mм&qp']1;A@2巾wt|(mʫs/R>lSSѱ&퇞_Kcҏ枩5OR+DͻSѺ .H[ Aٷ%i6Gy5d
+M6l5QU? '035[:-1(n^VjLXeX('ݨSΐ?"f(2Y?i2 CپhEDDue!0$ւ-N<&cU씨BkMpX:#}{zR8WNXf0T{XS 1ȤЏ$f# /v_U8)k%? QӫFo?!ӆEUv+q_<Lx!GcG%A8>`wVkMWbCoí7$HĭoP'%#w09t2-]mm&ɂ8f|Z;t "ߤA-Xo5pMU§H[Q$ھ. !rrRޢZm3~L>JCU`}#Iw[l^4qP l*d!6-?f*Jva~:ɱ[^+Gȗz?R^Þ"}q驚,^ i::p%eF":7=Wl-Y/Nd\]Y=\c5/qF42e~$o԰u b&}EXUQIjI8V֞^ybWD ntyu%t [o]^Л{y o|/կr `nopɋqŘUk9CE
endstream
endobj
-552 0 obj
-<< /Type /Page /Contents 553 0 R /Resources 551 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 555 0 R >>
+554 0 obj
+<< /Type /Page /Contents 555 0 R /Resources 553 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 557 0 R >>
endobj
-555 0 obj
-[ 550 0 R ]
+557 0 obj
+[ 546 0 R ]
endobj
-550 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 105.214 98.706 116.671 ]/A << /S /GoTo /D (section.7) >> >>
+546 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 745.619 315.545 757.574 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-554 0 obj
-<< /D [ 552 0 R /XYZ 78.37 808.885 null ] >>
+556 0 obj
+<< /D [ 554 0 R /XYZ 78.37 808.885 null ] >>
endobj
-551 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F33 490 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+105 0 obj
+<< /D [ 554 0 R /XYZ 79.37 191.651 null ] >>
+endobj
+553 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F16 386 0 R /F55 387 0 R /F19 383 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
561 0 obj
-<< /Filter /FlateDecode /Length 4632 >>
-stream
-x\K$ ϯ?Z`mOfxoONCK~H_UbvIJHQE~v_>i1FRl_}b ff3gJTYJ{YNao_n(|AOSJ;6SIi xOd%#
-Va_> $b/<D+1NۿA35zsieD(M"A6] lVT;}27fM2h lTeiԎ #>Ԗӛ)'ރP(y>.A5B 2&Jo%GG*Ss[KL+$Ƚ+m>lI%q  4
-\
-Cbm{y
-c gnmr}O ?hm6YA&ZfQj\IMjHV(SAI^KC^BhQɯ&;/rIU5y'LJ-'^j~Z}' }ť׃'77z#DMD,Q?n{C"5s-'V4Σ5>,(\+Ӹ(\)8Մ;Hzk$Z i2Z3ᛄmnP"iC& { MҊj;ɢU6CP(5f-Tg+;2#Ɖz)pvyDYG{cq; ?к"K~/9 qi_r0
- rQnZ?SЩdI0|+dWZ.:!}ż.:Ce(]zq޽;FT@MɝjS7Wvf/MINXS&;*hv,g2jubϯ -i^|Y6O -D0P<f᭿ =iq5r9w}<~;uX(`ONʩ=hx)pOh|~'iOv8'COie|zm_i71UvecL~ ~o1,D~nf[s/ q#E(h(.4nQ&G/IyQ,f⪷J5(5#RqcqA6{3\R"
-Kvο-)!H=q](fxUaꔂrȻM^ڽ~bۤՉ7IayJ 05vJ+ 5Eܵ4C+c|翯xjiaV=uGzjP)`kȡAsa?-3n{U.EC#}AjӮz7GMq ֔qK
- 0U1$NDCj
-Tl?AxI͙*Vs6@^`Rr,i)O6r }|t6=ZJiѮ)e,4[*)Ps߈㕴!w91su/+5ס>UP⽫-& mc&B$1m*l)(o4jB@f^O1d#w YG=Ԛk# ^"u36<cw?WCS<R$wReࡸ5hm36:t !\W秲jcMIv
-q<ְa;mݻϟ;mA3|pNg%k޳s=;Pƚ̋]#Ͳ Kc V8N , Q?6 yjY8 <Nn(LKQ2u`oǭ
-rW?v)D
-[ EvA4'%a{$DO3|/1?a>hB!4m:B𵆁)@;DnroӸ&`@X^Arvo?Ç'j$;u!].,
-&h;壼U8#y< ?jߴ#H5>CtQs"B!^ow;afP O9>mbi2q<nQ{<ĂUHA類t#$#؈ˀDϧt6r}
-kҾ5Ɂ33Pbͮ&oad
-ֺ@#oa}45Z0*)66O1ʥJ=|S'$UAlG^4t-Ipu 7ږC4qxӤo7P GUT{V^7X-"6Z~nqSȭoޮ!AYvJ{n+nӥdtO,k'QAfK[0^j梤tA6WJ+RP0A.yA]T w,uKy~~WñO7LuO
-j·\ wE4fW+{P]\PJ)1&/I ^ը]T[|r2-JGUiO[Dqh*n>4 lzPaMiob;P=SmR\- Z\%UDy?L@;rRS%c9~L_
-Zgk\J%Xq5혶&$2cS)Kh4Ѷ}K5SKS\jhU<,W\&p&lamf
-8LQJ/u_"A M޹ [yzwN]([]ʰ԰9^ORn׹ t(yySԋϵW-j%vj`Dkͺ(z'HDљM51+݋
-mrɗ>ٯmꏙ$2Y+V佝t- N&ps E KJ_sy
-sw 6x٫AYc,Q؋c5s~A %RX!O}=E̅O!p0鿅$4~zLd
+<< /Filter /FlateDecode /Length 4775 >>
+stream
+xˎ$>_QGЊ`Y97''6x ؗ~Hսrj)QZ_?=˧_@8FTьP͖Oӧ
+/OOdLJY2X P1¬]aM#"UZTr WJTgiɠKb{3Ћx{yk|~ !Z<d05ZxZ vaUMW.Iщ.F^{–MC-,Y%H5ykc4j,"Ϸ8K:5B% wl]?J x
+/ "H$Ѐthg9Vߵ`ΈS!,XI* A*RU|,:Ft}3uG}6>_}z}1VT:~Wrks쒋0ВU֘~Fmz|̬۔ |kSiŷF&a+#"[z^ۏԕ(7%#{b44zEpSk4·,F9.9L+&L15M
+ku@a`c<9aǹ(-'rQ1A Ʒig W3=|2m*>.pNz4:lɣxAqj@OTV~Τ<y<O{1zYsjxɡ&Ժlf;uV@LswfWkMЏq+%1 m>j(>,XgLL'*bgiKQhaDW$?9kڶgki
+Ӯk&trOPuɠC]cTqj)8W"?$Y"4ހ2 o>͟:rQv
+W[2@o Kdeuucۛt)RQ+؏vn
+MX?>BW~;+<G
+`RMB
+sow w_ʿoQR?~IK@s!1Є n.OHsn`&,Y3Wrgs#+5$MW0#|GFOO|A3}woO5d}2toq&ݶ uv!q )(^w7J$8:!Oh=r8k["`Š!dRA'y[|ŧu4xW xeQ8 UJ@lAfYwZ9kzX[4IՇ<#}:.E:\pS1]DêP7?m534 Ue40ԒZ#ȺiTBUU(a+]*0~?FAf<횻7x"]u"?ȚԼcȵCmlsJ: I8vc!sxt a\b xz=5}w[7'V\nM<##YϤͅ'tk9E!>ȟԼOX)5iy7@37*ͣ|&sSn~'?ySPyֵ:ܾCU&m 4n7"94] qS.U#ʅ$RVA!&>ȤԼg_֬n<eW7{SzlX}\q#bW[>4Ef)-Q֫~3NM?t^=v.XHaa}+ϭ>=fP={{ʇU(56q}agfqu]聱QqVm_>`)):3SpF
+]cžrP.iRa0r%Wu0e!s."(+X'(TqŮä*K_ dQ$]Xӛ&ӼȁJڟX
+o-)uuͻ
+3zM(!ѧ9/TWX/y`bBQKj#ZA^.p1v2aMcRA̵t<g0Ivǒ'//SiKi//S*\_Py׊~E#M Mڣ/G}} ,j7C])9SKCaŪfuZ`SU0`P\ `NuR9wsbj};3u<I{$RUp;~K\
+lQP~x!Uy+C̐P.a.C}rqU 8P̀cXK.!.4S` ɗ5Q
+Aއ6˻P7z
+uR&?*9N,XE4_y3hVe^ jaG ҅Qt\n298
+ a2M,^,FA\=7v8]3+ 4}B SET6b"o$ "'(/Es`7 0[:\e17۪o<r)$(
+kS0QnEM㐺zvi6ٌyauxGRGX;>Tx*_Mm0+qwm#^Q ЕMV_WGr(:^db3XI_QU
+مi@D8Oald#l.oM}{|i|u/5}MW' -6vHnq"nfsjtovoQ.ꚣߢy{sw^
+b'*O ;aKTJT_nD]1IDa}ÂW]Z?0!(5/7 gZd.C,
+2X粭6?>PU·}]g4+мSb{(k:,<#v*bX)Эmv JeZUAjJпZkceTQ7-u˝M: )N93R[6Kn)v
endstream
endobj
560 0 obj
-<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 563 0 R >>
+<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 563 0 R >>
endobj
563 0 obj
-[ 556 0 R 557 0 R ]
-endobj
-556 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 433.094 502.851 440.068 514.806 ]/A << /S /GoTo /D (section.2) >> >>
+[ 558 0 R ]
endobj
-557 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.881 321.362 261.836 332.201 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 105.274 98.706 116.731 ]/A << /S /GoTo /D (section.7) >> >>
endobj
562 0 obj
<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
endobj
-105 0 obj
-<< /D [ 560 0 R /XYZ 79.37 771.024 null ] >>
+559 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F41 489 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+569 0 obj
+<< /Filter /FlateDecode /Length 4561 >>
+stream
+x<ˎ$7~
+޾Ld ]-`ՋjΌK^!E[n,[0Rѹ=u[7w̿HDD#=<LMlYQW,bTqǼ+ .uL鉚3I8N"BZ|+tH n|EO
+dB3z(v{ Q#ԉ=a+'(yoG4U(tJZɌV@ k+BNP;:&SLܒRӠ7Q&<P<i"%j(5X+Y9 M_g&!NiRZ:D!yBi4[;JMcͤe څ@ozFmauIw'|.<q1"5FK4?l~A8h$iY1IIv¤bխToGiԤXH:H#)$L:?Q˪8LTP>(_iE=~&0zԻ=DA;F\khB#E38Z;@-&-QLlTYm7h sAMSW@x2Sd6l'BB
+aZqϡvC(D}g,vb:dҁ2ƧOJQJF{
+u]Gr"Id:D޺, V7Y JK ʐ_t㖀M:W;V %PQA_[*]7Lp5> ZkIEmQJMZF)&6{jT7qg$WOTaȒg¥ T҄^%Щ'\RA$<q8 Z.:cdy; SLnuii $FDf3F1)Kۙ 4n|ү g?uo/4W2gf4t<Dg`ۿKO͕u{SpuUw|(1L-J")IQf&rDZ]i\{-Ow\v4iL`R/CZ0|~p4L;ecg@8fAF~i[(~eWvD1-gi1_ݞ[=tLwZ{}X
+XtSbKh2VWOiXܻ0D;KQ&٩1ȌBӮv7GlMy VJ:$>3̈́QzXXeBN CcRñ[D3ܶ9z7 Oj= R byH>@
+m.s) fBfʠ@Bw`e%`0X0Xaŗ(1-z||{zoWuh-㦷dY\k"Tf?6
+p
+f=4J=,<%sZB=^@MfEr;s yZF|RIyK̳>K8 > 9,ɑ|nŃBXX}10ou 85C 9 s4Vȫ[Q l DhE3nE}65k )'7O9~VNJ)bl&j6g佞2vZX#Ń& JYÃ&|Єz
+RStS}:L[չ7ǭ% v'kqK6g܆rbp{fՊJޏ|xґT9='
+D}Qf9IUZp YweJt<LڽX45qfQDBV>6ގsgjW긷p&k:D{iVtJKFsUwjPIt
+sNoXb
+q,cNË@)!qs/OtUL_"#;{-2P
+qjؼF7Hv1P㎜WENmj`Ts
+'&OM'&<Fv9 i?j"F}V,>e=lOdKӛmV2%qZa|L/Jd@$^\5Woϸ c'7jϲ=b/O(غTDŴ<+
+Da}RST%gQf)DB}JMp2'sHӉFj/n#I& Bs5[R <Tdb bApoy( 3TS;O;c
+XiL uZ0?Դ™V^i~^Űw<s{dQh$hY8-Oe'-/#JvGGG=)nJb5N}ifv~p*RxgN oi&o9LٮNx!8L9̗˺tn4Fx7aER#| # p#c͍0&ӛe%X‚Ȼ̿4x=(U˪bV {HhL%+PG<.?jbi%G^s "L9;M}XRw!4:>x<R05g-,MaWu%\ՕpXjb-HrD*=O;zy4}__ƻeZɓb 1"HDv6dJU&c&c +Eu0rCRsz@=ăP:nc\\lxxG*u7 /| {$w'qj[:3࡛ش-*΄٤kMY4-*'kZHk;V7/Qy ->|WU/»}AM4ڮ 2,
+endstream
+endobj
+568 0 obj
+<< /Type /Page /Contents 569 0 R /Resources 567 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 571 0 R >>
+endobj
+571 0 obj
+[ 564 0 R 565 0 R ]
+endobj
+564 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 433.094 505.9 440.068 517.855 ]/A << /S /GoTo /D (section.2) >> >>
+endobj
+565 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.881 324.41 261.836 335.25 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+endobj
+570 0 obj
+<< /D [ 568 0 R /XYZ 78.37 808.885 null ] >>
endobj
109 0 obj
-<< /D [ 560 0 R /XYZ 79.37 659.686 null ] >>
+<< /D [ 568 0 R /XYZ 79.37 771.024 null ] >>
endobj
113 0 obj
-<< /D [ 560 0 R /XYZ 79.37 294.448 null ] >>
+<< /D [ 568 0 R /XYZ 79.37 662.735 null ] >>
endobj
117 0 obj
-<< /D [ 560 0 R /XYZ 79.37 254.604 null ] >>
+<< /D [ 568 0 R /XYZ 79.37 297.496 null ] >>
endobj
-559 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F66 388 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+121 0 obj
+<< /D [ 568 0 R /XYZ 79.37 257.653 null ] >>
endobj
567 0 obj
-<< /Filter /FlateDecode /Length 4404 >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F65 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+575 0 obj
+<< /Filter /FlateDecode /Length 4400 >>
stream
-x]K W1> $RTzrNؕʧ
-`ں saf'M>caRy[aP
-q].uL,ld_E^J7y沖)W-
- Ңq ϼ娍E3MFWqvg(:nC~e\ћLC[,[~"piԔBo&4?,_,fPqOcZ_ww^.4pV]{y˻Obidjh;]J06ZQCA O\BMA](X
-%S~":#y_=Q묣ƺ2~T 7*@
+x]K W1> $RTzrNؕʧ
+%Sa2"y_=Q묣ƺ2~T 7*@
g[- *_H}
-dndcH
-6uWljk\-JuW1ƍ8ߙ8RwՇ5TH#'9<QjO0C}\%dVY $FHm6WFDԓ7Mv
-Rz+FbiyKo@>QalN@\.iO4;']{?YÕĭٮy$cS-L/p]iv֬^Bk)SɋIҞ;]wbR-6:%?MYܶ.? LHƕ.侩PqB6a;IOy Ob64IaH/J@yôDb\,RP2 R
-z~evݿدVx6G,&p)L鵘`&o} *#po 4JR
-;₊`pA[\PY
-~\:[- @Asraou#1$(swZۆFيei"vAXGƏ@SԭcT3dsVQ6"Q' ww'GۗI1j#F#P~G`?Z~~86CmN4|j`;`3wz_Y*a-%aCqn L$~Δ;+av`!Ʋ 8<Œ\cl$JC?\8D.S9Hd
-3p 'H}<es
-R (ӡ.G~Q ˗QupPGVxd=3hZh"P;>ϟuTZĉZF*mFB'bTI4\<(TG&
-^n`(Te[8a%.U11WX[D(_l
-Jdݰ8M.#*E%ջ$8äGt&Er)B>YШٗJ4v>բCK(Ε\י`0byVڙק r\x޸4>MdVQ߷-uz[;Xsƞe[Msf<턵yijꕲ)[m0ggm5u}1iWrTjs$6dBT( )/g'Xf-Zs[XZO)ӝL$ vQYJ[*@٬[ LzESJ𱕇ڈyAm[⇝ >o23-~$oGTAWA|4gYM 1k2c}GE;V߿7Hި`;Q?^Z-8H9E^Z|gnv/ͿL/{A]0Ȑ4nxg3Ʃ:w8-RU%>Yܒ)ftN>萩P[Jx4]£pm3rfkrzMq;C_8r6'V-fڥJE{&=hQxF/^K峾1\]DS҃#t8X8s'qÃ9%No`4u{4k´ҵ&hͩ\!53NSs+[ [By%^Z{mH-Ydj>ߗ gүOV((YՊ-[7ѡ/oU 5"!}=xH9sJV\UΚa'JT㫰U~A{^p"g@י<ek9P2BaóXwCІ㍃%k
-'@;(egv!lBN8n9oClC3ttF8}KĔ;Vs;iuX?
-%D6z>B(?&?7s|>JI\輱i+xeWaOwp"'깳q)ߵP%+M5C4 a_m[hK}"Y[oN\s =<N@es%v>b͝aB`s1XZO䘆g(H2*ZikVRLhn\4}vEG\4# , T&[~t'*RY!+ѱn8y$OGcO?;nwNɑnw(_bfn;o{]d^W}^wxsEk/aN$)9@np*-
-7E_,Sط]:* &C԰?W5{ ڄpLrm$oaC
-o| ?xhiꪠƃQWnw/.l?Pd<M&Y6ץsƀҏHBOV}ɥcݳ}X'0 @wJS5xM32ύ[=*#.6Npί J%t me=H{L>
+dnd!*
+Ɗ:+65׵jwS@ȈTL*X
+B@ 'bB2ye{^
+W.ȢQCO!.n-,veϛ}&W+{I;\ %ȑX0ag%-?X$ck.,q'&ْkc\ml܍8j\Y:rL:*d$F.lCӛ J+8'q1L+Jt(2[-)Û
+ZI
+ÜZu/
+8GH}Nr%ץN*OU0k챦9G͵UY}7&s#Ǹ*لm_u7 )jRX?DeBk͇le ɦ~aSU
+kζܙ{ h{92fC j"#<6P!tF:[/#Lκi͓fJYŒe +<UC q@Uy`/5iseq-OήVصH.%˘ =lҝ"\4\
+!lBtc͢ЎtJKLA8.^B-a\5Xzo:^ڝ#6d]g F5aoqk:{D` {hEh*ub
+Zb4ɓ0b` :[־.m}(.: *[Ke *@k\g
+zQ
+] RY#u+v >(hn_.۵`n?{Nkې`
+F:$uABN|R^qhR<")FM{H}
+lSSۦohɟO-8llNRO+ \6b2L{ .ڭv}ߡ^߯AÙr~g8.,Xvڃ'Xv5vL C\`kȠu*x]a.)l.DA!0s`:Pȏs 0a9vH`TۊqQUXLgr~MR-QbgN*]<p_q\U˒8P(>QhUz] ja?K~_Bp(DM 8r2}*&k߻xQ
+\[z%G%p6KhH&YMڈr
+]:d>1ԖM(\L)©nknZܧ^}1Na(͉a v߮.Cў oZ1}.ы׹R}a x?WєG}Hlsw> q= f+8I`N}>7qi <!͚0t-!}s85WH͌|
+[Z{7,rxS& ѩ(#,6<e
+|7m(?8ѝ_ 3 d7@"y0Z u#T, p+^(ʘ>"_U:}EH|]ߣy3 [c!{S'Wbk76s!ș:ۂ͹BG:z#ƭ?̇(Qbʣ|y :eyrhHG=g!~rT@G>U~@DO_4t4Rcy2ۂ0ħ;8f9 P߾ؔh{&! SZ2@ȯ->
+-N^g9*Cql29rX[rj{ f@2b2!]G3xe,z-eH(rL|$4|$^u G+|)&\E7.H;#ĎQ.ǑukƆ)+
+pevwԊq), X7<'# ?۝@rġ?vvA3Y^-置zU_oњ lӍI}`Jp B97˔p}:B &C԰
+QC "@)c_J:G[/=w>燋pB"_q2@Tߗ&.y5DK${u3hwu ehNmn8!o%vk<
endstream
endobj
-566 0 obj
-<< /Type /Page /Contents 567 0 R /Resources 565 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 569 0 R >>
+574 0 obj
+<< /Type /Page /Contents 575 0 R /Resources 573 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 577 0 R >>
endobj
-569 0 obj
-[ 558 0 R 564 0 R ]
+577 0 obj
+[ 566 0 R 572 0 R ]
endobj
-558 0 obj
+566 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.425 745.619 255.38 757.574 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-564 0 obj
+572 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.68 333.295 403.654 345.25 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-568 0 obj
-<< /D [ 566 0 R /XYZ 78.37 808.885 null ] >>
+576 0 obj
+<< /D [ 574 0 R /XYZ 78.37 808.885 null ] >>
endobj
-121 0 obj
-<< /D [ 566 0 R /XYZ 79.37 185.953 null ] >>
+125 0 obj
+<< /D [ 574 0 R /XYZ 79.37 185.953 null ] >>
endobj
-565 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F57 385 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F58 386 0 R /F23 379 0 R /F69 402 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+573 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F57 389 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F58 390 0 R /F19 383 0 R /F69 406 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-572 0 obj
-<< /Filter /FlateDecode /Length 4087 >>
-stream
-xɎd_eځ
-2<>g /dZL+kpeGUnJ<O<姑u~> [
-==Ɇ?]bm޽M_7 o9Hx\KV%$eZ4Dj<J']Ԟ(If g$Gxl^5s>Yvh{:?X,{::D_HzhYI=q#n+pӸS7B.6hMSӉ,|AI _׭<Z8+M2Srkꎳ 'p8<Ot;yF:y:yXQR<q.}f op6Pj"!rnҮ)pT2gCո-*5j(W =U= \a%̌[Z?dM;i孨#E','3%Cp5<: (|ṯ"n%8P#()wwA];Ǽq:R%/Nc
-mE%/цSV_BWy`^$&n (@'\;&`GF}$P
-geOEJL(h1 sjUШtA˘YqaD 4ZΙ#z16SI_NˑtNl~d>~hÙ2Z} ʭ9Y#Ybւ JҀoK ћF|{Goq՚
-TuU2A̎zM+A^%uŸqqqcFEr@K蕏ZI#iI<:n0)5LiAkڼQ@3.17m
-.$1ؙCc
-<R2C͢ C2^,i,pcG֊iD,MaWɹd]X=.OqI 1/7
-D=z_i=`#U`7 qS-%r׀lv^ xǫCbLM&?BZf&˧:+oIq;UwҽicY]"6ge?Si;^Xv!MOʖ\-Xwghhfm1:ƔmJ`DHx^]*h#aB2T;ɏ'r͚IV4#}/5-$L[_uuR+}Rg#MR-OBHx5ER
-iFRu-cJJ->VNS%~Dw[in
-"Dž!N.mn'=*eR|U'%ԝa nn?906RZ#6]*5:3=lyQoѕ[x#mvq%h>xU!<,.
-vK F&e C[9#1\1ѽq_uZa.-.6\Z|$~{FfɟZpOϿ/ſ^#QYry
-Y6ij"4
-FSL8!z}jjӫQ?Ghj0M-P, ¢tZh7xWM=|4%M=bzM hEe~|uuCH U-C'Z(9YjFfN_#Дj #5ޘ֢LPČyAB^냫y|]x̞E|9hڗiîl薑GKz̞6Pwϰ?u)sibx=^Iow<7 HQgFA<ah{VQ%MqLF;{rTt!Y#<վys9\ȋu%;DhHqM0}o*;Yӂ7;mT+ A=[y6u/(3šQ2R3Jt݄ykktxEGgohU,'(a2TzǘR6w *fPi-eVoX) r
+580 0 obj
+<< /Filter /FlateDecode /Length 4098 >>
+stream
+xɎ%_QGϡeځFyii>9Hb$~H[-I=^=HoO߾},7`wجgnƍؾ~~y83OO8}\
+3xQ( <_ f[pL]nxn,ch{C
+-af܂q$mک Nc.oEE):a<~/p4iA1_Ӥ>,p,Ɓ
+Մ GIc3ť85+Б.yq99%<>3)GTJrB<[$Rb;6HcgDL5Y]TmR]5`v^{eAZ.=wV
+],GX7 zқ Q\rs֎Uprx6eƠPZBBq̒˫!*ľؠr:K{+9 R,<QvJdq1^ * FhILLQaiOBvLA/  2H
+Ό˞#pfQtcDS,Qr1(2HOAh!?ֵ3'FdcBsclcI_Nˑ4"đn}73cKe$ 2 ncc\|؅VnJfPLx%HFo;Џ@ߢ4n&
+P9)JB6쭝 feҏ K]0,Y:Id'zw?x$a|!A_.{%}4y M<@y(ˬG\5=,Z
+(j6$'4SP}|k"28!Hp!4{DMy$PwD+ @Yj
+ze΍P($U'FH8B_ 5ΆcGU9ÜR+Ѩnm[.Zg)뫥?qCR3nJ1=[ZΔ91[ \ou"7ґ%ԫ3%'xsU^8)٤k8sh@fe4 G g>L}I}I:gD֤Kv@^O9?1|N&D~H<ϰ VA m:)RiطF7biluqIJfO%;diPgJ|Bs[dήHja+ jW=Ǯ]LN/ QoE{Og9|h$9oS~vdžh<;{ve+ bm{Ǭ'Y -}ٟG}G`ƿo߶wfW,-ϣF~> mNX~ahPt)آʶu9ԌuA/,e'
+p_FN 7_f5rH:VKE=mW9F[dO>Jr)W {@^ZMp3QGPC͢ ],i,pcG֊iD,MaWɹdڙ˷{qI 1/7
+}?X(*k!Z>E֡36II;5i|Y]"ee?<S.i^Svav5yhK*x3Jb41ܱt]a`ʥ$}0$.O0!}^ꀉGfM$+S[CWIʚ i: ,@>1VJ:Lv)~Wu4@YT5֩ ubf7>C)ze91*ڽk t:r\c!+(vEf$:ٔJye]h,qM֪I?ojnjvzuw 3lura)vURv, ZJ65IoUW6:oc%1F3+^PD:^O]6NwzC9vkV2?0B=rW{kjy*Ҍ*"7SÕZ^| P226K^J^?g ECd5V]FNX[2Ta+ :OkK *VўWwr},ܻ bڸ+KjC(uzֺξ`';i|=E 7
+bP+}/&aVe' n򥘫iGqbuZa.-N8
+L= V_m_"cZq 2h
+7(ɺc|Mcz]~:x;ּ/.bjɳl 5A=d EQknCͼ|?#MiaD1tm2zpy^ˣ {0쾻(/s]f
+ۣƗ2;ަӟ?IK"Qtz4dC j|o1!6 iCp)@`lN\FS=\19zZ5
endstream
endobj
-571 0 obj
-<< /Type /Page /Contents 572 0 R /Resources 570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+579 0 obj
+<< /Type /Page /Contents 580 0 R /Resources 578 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R >>
endobj
-573 0 obj
-<< /D [ 571 0 R /XYZ 78.37 808.885 null ] >>
+581 0 obj
+<< /D [ 579 0 R /XYZ 78.37 808.885 null ] >>
endobj
-125 0 obj
-<< /D [ 571 0 R /XYZ 79.37 432.887 null ] >>
+129 0 obj
+<< /D [ 579 0 R /XYZ 79.37 432.884 null ] >>
endobj
-570 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F20 382 0 R /F69 402 0 R /F57 385 0 R /F26 404 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+578 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F58 390 0 R /F16 386 0 R /F69 406 0 R /F57 389 0 R /F22 408 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-581 0 obj
-<< /Filter /FlateDecode /Length 6103 >>
-stream
-x]I%7rxGp_F]j/f`e`N.W4e hUU`|_ &S=?~P#/9?탆C?b^l|Ġ_Q(|zZkA2JQR{'ojvf:jY Sx
-%u94-\3RO`wQ%Ѻo-ݓ[?..ɯ C8DQa>Br"-Kdʅ|xKҫ`4;l+'NmYi/'Omx)ݦ`֒aa`sۖs|B0ZtmWC8l3%*f…
-2 ASn{@ևI]9IŌȳ>3Y X?qqr >>yWk->}njR>{ŕhoЅ~7#v'G
-@hYc)|
-]8>npM@C&Rt'1/aqѪZ&ɌSč@Q{.`S7#OS.v$SVpFN̫qǗ!sᨆ'9ve! lNleZ?1_ڊQܱݍ.)nk~ ,Xj5:dqõ\Av&oy,DZ-n?Yݙ tH~]r1C, /L![3/=͉~_*g]60[=|*t=10w70/꫔m==WVD_#)+\zKNWI(q(/J!CƠHj봟[?k2CQ=hśV٢VrbZAN8Ň8 97Zi\Œ[pS2 *մkK)v{/WάiKhۯYg8=%H!C1}؊鎻lv&$W뗲?!t__aBM_mdw6!kv䄬[6 ݴ:kg=ʌڮ^$70qWB~$؅??aZLH ʍЗŒ}P"nݍ0"vڦl!6.%;uԻf6ykLm7}j(m ܁٧9Iۂz<_TO)m!T_xMśnWrM[ \Mgj4ot\ӛ}h}>ܕy̎GỉNx\u| U tlYaMIRE w|]u#;q>p6791q$}i' :u|}rp4?ǵ-<ea\n IDLޮ#avk-<lSﻗ{*Pߞ~OUE0˹j#tSiC<߸?<#r|Ekcw:jWR_b8_.[էz:5qeO5PgBޅ8r8&yYT.{7(0f,cJώgAQ/A \ؾtS "T.s&t=0'
-nf <Í%IzW3no=7ٛ;n^ck7qs`teQ:e4n8xܼFj7Hqs |ܼh_?n%!$7ڣxf77𞗄.RִƮel6kwfd,3~5PemFN{26IwHf$4ۼ!~%u
-ʁO3|rWNvmXsspyj FW= A=hFH/_hm*ߝ_RVT0:/ʔ^HK:MO[BI 4id]6C(, J .cjȓZ4uOjq*0xA&Qm4T l~ze]2j -M`WlPN 0L
-
-DaQO hr6%SLwGt
-ʗC9>`Oz(tj ]#9fXa($̍"ŐсN*4۹F pv_h rd~FXW*&# `GHc@9Ȋ[EzQ&"[ʚ}i"K@Tߤ! D9!bzasەR`N4*(E+D4Фɲ\Ή3zTLG=# GH c@9Ȋ`aYlHy_р{%HyƗUWeKbjV2CI5VXq&U!KLAIwR}
-37j]eRw6G""2Ǡ݁r 4‹L+mW2-3ݔʡ !Jv@┕}JH!X&%3T$hm3#
-JQNݕ"oJ<" 3Jrn2y4G"A"2Ǩ݁r 4‹LPjeN% ʲJntJezʁQn*E!E<dPsvP*nn#
-"YLz_xf Gz@M?*f͑RC5;CVxa8D&ђZe)Z{f_^FC^E˒p,QU"˰ -bolV?jQ&kR)0,JmW̰{=7ŤĚSZd@#.6'vSj2JF>#%T ?VwU5[*b#.mɔpTd82nWTa](bojM+RiD))EXlsSTehr |.`'J3.,%|&U[u*MlJd,vU%N4>#+T GXJ,d L$D,Tehr}.n'Vz'e\X>JXNTaI:u4*)F\lsU(
+589 0 obj
+<< /Filter /FlateDecode /Length 6105 >>
+stream
+x]I%7rxGp_F]j/f`e`N.W4e hUU`|_ &S=?~P#/9?탆C?b^l|Ġ_Q(|zZkA2JQR{'ojvf:jY Sx
+!`< TG;$}J"$fH7B¥% \`4"7E|sY>s\b>u7.l7.P w dʍ8ٴ]kmkHćvKpqOց?Y~)]It>gÈfv<Йɝv(zdP5L@WY4۔*uV]rʐY|3Z{{F\BIUeTR,R aPVJzS)G}*/lpgYkf`GG(岘GJ/ž?"\.TNђcd[ۺ02ﶉƮ1oM"o zm!e+P=>MWKr'^̸'.+.L/YjlpRSbnDhk5)6@-x6 apW`<9 UvQ26=_DeCy}EJzjƚ54s-6v7!pT[z? 8XP7)`t.@wI]I'M[f߆'T0;Ϩh?ɭt@WW]x}^Y] ߨ@\!9{jV \Fc2M
+OfB>v<%U0iu ·Ͷ9Y\ߴ]~eFzؔ KPnS0k0R̰q[0C9m˹ŇM>[Wb}f|!l3u )rϽq ä.Oq$bF^RFk~YhWG,8C9R<z֫M ֖LgcF)լQ\h+1]xw?=iw| Ԫ<-+UO>§9 pRP"G#d򢃞e44'xs/3/Υbn7n'vݫ!`('z\jI2q#P"tv '&b4ӄ~lTI,ƃ6S0*vCa8I]
+
+5^mU
+a1J<cȐ1(RkZ:gڬPTO}$E~&}Vp!*mDͺVxW0c'lL|J5-)$#gżS^3EyR,%dVw@DO RG h㮴(-3-wX0~T_ʪj8w
+gн~~ E"46~q܁ڄّnY$tj07묁beNW+!?SYܰ͟N-& }qyFKa>b(X{FD܌p;Y m[vZ:Az5&;>56霤>=/|֔`vN/<vMY_9D~٭q`KC[qMoaإz-urW1;cw3':s9y7T-бeU3'KOp3U#wqEd ?_۸0/9Ώ᮶^.|>9-q׶q}n&jZ1;uDX<nMٸeTty*v}qO*T-c9Wsyg䒓.)m<߸5<#r|;Ȉ=y:v{FqpP^|&fnmT77
+}
+Am=Y
+wk AAd9;ܿ|X;4 wNysJU +E&KM+i?'uMMcGEn<oӰZ ;VyI*p<'^:Ǔd8~Gr֓}%߳/|╓]<n/+!eFߞ
+4#/VQ6/)\*ea/$^&'UI!k$VCK.u}
+UCgp %|5fI-캁'8c<EӠ (öGg*S?. b5†&+n6Y('B&a
+<h H(vE& jAe=\ѓ!ESH0lEՑ t7Ch$F(06B]EAWB(MĀL9$Hͨ0KBVi
+[IFp[H6$UY`8#-[m&i\"H좉"q9aCP8P9WKlbH2@8c^S$cu1LUiYS/Rje`Afg9L- 0!LQNeBzNFx
+rJ."e $SOj,D&)Ăv0`c"=uXc@ R9e4#zLJz@3Y-?BKFH bI;"]G%h"Ѱ'B)#t:
+ d>!9&'@Јl&$;TJ5[YaFlMay+ tAu Qk_KR lΔqvEAybuڗ"A7n8;.~P! kB$RDC26;0CI=Vh,rk.OI;XIB,aV1.Q/rF7BhCV%7)J-r#
+ʗC9>`Oz(tj ]#9fXa($̍"ŐсN*4۹F pv_h rd~FXW*&# `GHc@9Ȋ[EzQ&"[ʚ}i"K@Tߤ! D9!bzasەR`N4*(E+D4Фɲ\Ή3zTLG=# GH c@9Ȋ`aYlHy_р{%HyƗUWeKbjV2CI5VXq&U!KLAIwR}
+37j]eRw6G""2Ǡ݁r 4‹L+mW2-3ݔʡ !Jv@┕}JH!X&%3T$hm3#
+JQNݕ"oJ<" 3Jrh2y4G"A"2Ǩ݁r 4‹LPjeN% ʲJntJezʁQn*E!E<dPsvP*nn#
+"YLz_xf Gz@M?*f͑RC5;CVxa8D&ђZe)Z{f_CC^E˒p,QU"˰ -bolV?jQ&kR)0,JmW̰{=7ŤĚSZd@#.6'vSj2JF>#%T ?VwU5[*b#.mɔpTd82nWTa](bojM+RiD))EXlsSTehr |.`'J3.,%|&U[u*MlJd,vU%N4>#+T GXJ,d L$D,Tehr}.n'Vz'e\X>JXNTaI:u4*)F\lsU(
hq|.uGJ.'|,G@XJ,D K$ܸ䉽 qODVbjjG(b&
-bBFզ`Jȑ,,`frAIbs^4,y>JUװx"]1²SZr KQUI TI1"c
+bBFզ`Jȑ,,`frAIbs^4,y>JUװx"]1²SZr KQUI TI1"c
+pCZF;~f'^RW>]'bxBSx5)+n5\
+)OKo+ۧTtRz3ptp
endstream
endobj
-580 0 obj
-<< /Type /Page /Contents 581 0 R /Resources 579 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 583 0 R >>
+588 0 obj
+<< /Type /Page /Contents 589 0 R /Resources 587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 591 0 R >>
endobj
-583 0 obj
-[ 574 0 R 575 0 R 576 0 R 577 0 R ]
+591 0 obj
+[ 582 0 R 583 0 R 584 0 R 585 0 R ]
endobj
-574 0 obj
+582 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.812 543.437 234.767 554.386 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-575 0 obj
+583 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.658 507.571 257.383 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-576 0 obj
+584 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.104 507.571 285.059 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-577 0 obj
+585 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.065 151.966 362.02 162.806 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-582 0 obj
-<< /D [ 580 0 R /XYZ 78.37 808.885 null ] >>
+590 0 obj
+<< /D [ 588 0 R /XYZ 78.37 808.885 null ] >>
endobj
-129 0 obj
-<< /D [ 580 0 R /XYZ 79.37 432.717 null ] >>
+133 0 obj
+<< /D [ 588 0 R /XYZ 79.37 432.717 null ] >>
endobj
-579 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F20 382 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
+587 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F69 406 0 R /F16 386 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-590 0 obj
-<< /Filter /FlateDecode /Length 6715 >>
-stream
-x]K$7rϯt(o&S;  h/>A棲z[{+:#`f狾|A_| r_/\ʦtI(/<iǫ]F똵vVkg'wX~ihFfڗf6¿/?}zc5wk=֒m}vbmm՗.B)}^zoU=H!D:9Βyp%T
-ZXX vjS\
-DXݔ`'v]w/cBqԬXsj,۫$}d/s`Ag3rT͚[\Hf7w\W"X_v1YaIǜTr3g`YFXskI?d:heέuU{I P?d32=葾ڶͲN{^Xlٻ.Lr)̊18>:
-ؼdžZd,K&B_jC+8ݺ^25݈; ?,6YɃV]ꪬ(P?G!S4Ї"&@8~nJKqޘ#t0 1?,*ơV3nre9t<sTry3]*77FTHqEHqy3bMe )耸N큑QgsTS[[*3*ڝXv%xҞ6"Y6[UO0|LoMCkX J JֳK؈ԅHt7Yckgj[iex(?uU3L*9=6[wWJehis騂1{ cu^$Ip"vgVz؋<)pprN32<<L:FG^\$Uy* ٪᳜UdW &ĸ:/^EִtRӇ[R۝;j]:15U47#l=5~3m-h:&}l'8oGq׶tWQNjpaE3#ھ[:ܞNg^,<Wpjga~Y-:)HX[>ЕAx*Jhq,PJ[xnXܜW<{Tx ^YWG&y/<cpf<C \ᠷ](N^H,r+"V9-ߥosCTNͥf[*a' 鲯rDEm[dkWFqx*"lB+a ʶl<Chn On6d_C=l/1A/CYxppkU0NW=W}Ah#ޞ
-; ,|{=${{ĮNJV-~decA>[ ́<ZN BO xmtg
-dZ\>?yߨ嗵o=TKP޶x˶
-@oj8o|"B8T6/~
-u6PNhwwRT7׆ԆG]y;$!^1Û/2>i[E>!^y_qW6^0C>:mJQˉ%*-UȠ^i8o7rv*R{rtoye]">uoJ-i2Ѻт>6Z X5+㬳d޺Xcm]f&@Q5ddslNbӋ4`zG6
-UCgz{AI0Q~ V
-O,OQ64v&þG2H`wH64]qB! N6d& 0HP42(69nGV#Hafc\0qQ4# YdAWI sFy_iH>a&꽎hp$1%` Hues^ ַY2 g3HQaM=%$=|>aXH6$UY`8|(M*ف$4`7hH*v\aC;|C Dc%M!
-v’p:žz'Q&2Khdh׹`˸)`ȒL[>DX֒ ,Tb &Hed&QO'+8hF&&Ya$f(`_2uN &HEŁDŽ9]uTAG+(IE=I#ؕL7 hB)c*z:}q@;CrAY %!"d=%ԡL(B
- deN Ih!24"IK:
-o9W8b!:`0]%6D "Ϙk];-I rABA+z+
-`hnY6)n
-@,N*{]a &($%ı5Hb1KĐ{R+#l fkvh%^H!Y?U.!"!cz!HQVXa9q"JIN^CbTAI'R C^%'ֈ!1v]Ҳ#$Q62`C\ Ҧ/n$!DdR'+
-`hnƊAʧҎ_#&UFq6z(V#K/R؁1KJZ9ڌ"L2F]["`z7%Xj`"X~H )abv'u7B~@fHI qHAƊ͚I## ]EZFE,Y"XŽ^U
-^bDŜd
+598 0 obj
+<< /Filter /FlateDecode /Length 6721 >>
+stream
+x]K$Gnϯtt; <V "n=kH2+QY{z`_`dvq|[o}X?˫ hXofVؔn)e/?}\?=\a5uuv]˧F=|6 R}h+G.6*|ziϐ"JKQ9&iRmhdQ a'7՟qdA!Mn,e\B0ߦcXE2u?=,D{ mXj慈|޹ŭsi܊
+2ʨdz6zj:l/Y#)=XѰgvgy97)fXs|KI.9]b`di_|%[`-
+&x5wXQa0a7?4&)h j`8ڔWY* nnZ,-؂+661yvUs.;D}=xb+V%T:H]{|Ѵ^יx
+fꖶďx@_9/-z FCv|u"Jqc<m.2@$Oa,y!N-&xX^\Ҍ'][$jcN'׶g;6+@`yESv3ƸR~q⼙gGطTC΂z(,n[[!yv8Ny hw}Ww,朼Wؾq ;|cUWGBwQa'XW ǻdpYw(o!#ӱViEm
+#^
+U 8Y55/pBzGnAJv~b`{!|QeRgw!-S#j@++t䏜V aY㋎\u~xc-٘7檸bR6mt$~{rR.R7,|.Kcw{zSG
+FiSM}y8".M|Yء ݻ'Tk dSZR͞ ב(N KvB<]G=󾡊 n_8o6xE^WQ7hA&Y 2zս,Hk{ f#SZe!+S]>TŤ wZ/7t]/;p$s}($ XWyE \u&\e;HJޟߗ#yMv][?ϩV]nk\;>$m9 <Tg3v/fU^_KuKݕݍ}=t>;"n|oo\ZS#l||x=\
+ԕ?PH=׷z>ϙ|lPypo`[ ?ܙ7>=x7.HnK)= |~-CcyLc8@տ6oh!ܜ K_>z5;J}ۇn|lnO&(%:Tash?r|4}!B=5?n܀qv_nF^Wa*4
+ԝiK-nsמ AoXh[>o? q\h=R{3ؑÿ8hw#6KgM{sMrtlFs;aiNA&,݂斘̿z.CֹA,{(Yg!bz-`0|7@#W!C0sknAUc0gx
+Ya|`z ӟ
+aB..WI]Y=y!n_CY~ "ևe{P3ܭ}ǖpOgGgˏp>A$uN wOP<շZk;hzY[4ȷhX[4hdMg._tPcV85>-T"<>
+qcj"I#
+6fN
+9Rr4TZk/X)#|F9
+ILG!QhFP/ mJ1[mNglDd"L$IH i=ɠB8HUC!6
+%PqPسYfa0/>Hud"P
+dIeN Ip!$H[6)?urvI\ňPăFqMi RU=B1BEI1IDpzjIcPa(nu&e2~jO$S /ůo0a3$c̨!E#h c{iV '07ۊAuŚ"RoQB^H!Y?. TJwA"ZB^UC4l؊ӌ K @W1I>,(ID#HJJLH;7LBYǶ/"YQ#F//1rC%f8ߐF $mY&3
+Pl+#d1.>h
+P 0bZ+j\hp= .DLH04c>aJ- .[#Ġ_`z7%X
+RO2a,NۊZڧ!~32^uu=W*X|}v=jGX$qZU1#&C(R"P9_dO! KA?|}kxF $Y*#Xa" WVh P SS}~]t#"aD48D#>i֐aa @-JмֱͮNYȵOժЉL(- $d$X6s@"e?S5Փ]SxUAV k*9K/*RPdZ]\&E&8ީّI* B[rB2ZD
-rl5(e I";T 7YSAkS:Q%݁qa(c7QժN+SiOMB#nCVH\ɎtP}w ` Y"tTm4)e ȄIb@.&vbk1""R2DRWiRYR$3dR\`)/`buTm54)eL I/zT GYUA+s<QqjSrb
- Xu(e))F\lsSd8lqF>W#'T1;0*A%¢vlJUR$@K97OD bd
-+S͑*,vfA!bA94R\AޛwG{2jcRr^|^tay{0\v獗{W"s} ;/&utc0O}qk#+pxk
-as"F6-ssD{)BWuje7GoqHiNĦ?Ճ4xW ߊ,9F2++"9vޖͰW!diz7'
-t)v<A e6 8jNNޓe䳝fu3^pQ94o&;+{ o5엧^j}a:oq#=5>Q2\Yvi"@H3erniuѬ.֌OvVz9r]4dVE2ʳ9K)eq
-JQ
-00s^_jXnU/P+xkE[} ]hysOĔf:Ʃ~cu;y=}K:?Iht='ü]m:5ݴ/V^ť V
-PTOcY/ KnSߞ#m&ywԸ(:#o&o^齉 v/B<!X()(l;ᵵ yn!&
+XQq9{ *%Jc0!
+#`;obwM쐎Z,2~
+7~Eu[S_l-~n_iHjtLSkm`~cy/i$N ҩ ~Qu8ELE5q\}-U+5-jlntyt-MɋU;l23o.&lx% Xo[LmC0"'\usH|Hcl"L9y/`s!moXh -kkk{ ?o|-um}V֡=kke⫑h‘IԙkO˭Gֽ2`mjzѼseiuj[%Y;Jr.N3u{<o^4?a(Xi5n=c.e^ݦ?EHek_ۿ?5NC;nۃtvz ߊfeNC
+g$_/M27ձoa2 ܰ}^u}nlm<KK[
+PfW2q䴎6.){!ʕǻ.f`
+ncQuADSYR:x;޻6hI<qMvjGImJ[ n7x_)#xY~tk?[~ܻi}+_h9
endstream
endobj
-589 0 obj
-<< /Type /Page /Contents 590 0 R /Resources 588 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 592 0 R >>
+597 0 obj
+<< /Type /Page /Contents 598 0 R /Resources 596 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 600 0 R >>
+endobj
+600 0 obj
+[ 592 0 R 593 0 R 594 0 R 586 0 R ]
endobj
592 0 obj
-[ 584 0 R 585 0 R 586 0 R 578 0 R ]
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 666.582 309.624 678.537 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
-584 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 666.568 309.624 678.524 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+593 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 182.984 168.536 194.94 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-585 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 182.934 168.536 194.889 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+594 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 119.666 390.013 131.622 ]/A << /S /GoTo /D (section.8) >> >>
endobj
586 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 119.607 390.013 131.562 ]/A << /S /GoTo /D (section.8) >> >>
-endobj
-578 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.743 67.03 308.2 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-591 0 obj
-<< /D [ 589 0 R /XYZ 78.37 808.885 null ] >>
+599 0 obj
+<< /D [ 597 0 R /XYZ 78.37 808.885 null ] >>
endobj
-588 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+596 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F66 392 0 R /F65 391 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-597 0 obj
-<< /Filter /FlateDecode /Length 11689 >>
-stream
-x}ˎ,徾""]7(T
-fkqսj@3fvH%4
-Ⱥ'̍va ?n˿_o>\ۑ}?nK1Jv۞O?}]/z=n:jF&W>a~GWlwkFؚdU}dDJbV!H|O+8p\y9Ρ>SD U<_ܿ+&?H>EWZ*31G\rC۴8}jߤ
-npdc9UxlnRUV̇q8 ,H/=z $Qe>I]ܵ)q(Q}ά*8kH{ F_EAꋩc^u!-)jp6sqTB[3~1[bf>u쇷q%ޕmZ71_VBXYp#v~ .My[*y(ʐ'Uh侜ޅ-ǸzNiRhc[<3z<89uisG"Hn5!Y+S6|bg9PnI^zsh
-e? I5lW}x |ֻ jlZ/-P9, #͖qîXܬWKw|;ߺޱ _^yqA#Cū]Nq_[C5on^[GM7-S°FCeYj:KvX\_VR*OԱ_,쐶4|TsT\ުwW߿V~^\>ufGWhx*8?R'ځvБ8%sң
-2 B%PMY[(}Co^84m$'gpkL<co?ܺ/[OƢkk65
-ftTc0=iyn9Sb}DbrC微.쟊OZ(utBAy-"),tzDF8= Ho[X3\ccw/axnŴH~[2oӳtNje4<2ŠGUmq+xv/6OrvժW}6ϕv[o8q(1fjɮ<:.nH<Yؑg) gGW<id= 4;̹^ q8k'3VGzex~ކ)7OȲ6#Kۨ 4]GVf^x"]hX <H-z\yT&{]|VUy uJ4iK<OrDS\)Q/~<|J2X}
-{^wͣ ߨ,ww/?3< g:WOԧugSzGofX+=s]oHG|crfE5F&z.򵅧*&4BEJCIcCX"u!L~'*[u4?}[:pPG?oanGu7s*Ylo`6[4@,BsFh׫1q=#w94RUk"J<X%*W [!ʷ#\y"խPkvVQ뭆QoaK<]'"6UR{~|-L0g*QsEJG楀s_:?%T
-boyl5/q7ME'Vϛ0J&jVʙ gddF6iif/l4`gKԉg5ku߶oI߷̚џ;\?ATvz.8 M o1`s"M*q\?d_Ba9 LʵNT NT LMPZB1{+'qD]xIc藾ٵ}dS}ͮ]|HI7]+3՚X"Qq^xnZ^z\k~ x%Z]R_JR"\䅖^1DM3:lXNVTA]LS,Uq r+_./4YRqB9 %SA)˝gi҆*!(WY3TΥC֊R ͠4H
-d!hOX@,`ዻU;PbjE!xhqkB6h8X;z<~e;%l
-0w''y.n)A^ s -͝ 4h +Az.4 MO?DA&Q̂W+UK2O^K RwoLYg%NAGpP f&*%JW$ zXI4\'_
-B'Q͡Ds 4VФ qw"JsGc?Nh"X]
-;oML5S;˓6Pa`dF͔:Q=)s +
-Cs=,
- jκDnCa0EPh [ٞTzrSJVqLbجd:O. ѬiaXa eS#d.ORSnP]ul lTZCaxS*Mb֭آ"Eqy}Zxg E*01U~f&ӡҰ^,Գ c4
-sG,#,(?vP:0LfqPY;YHiXgAC%g'y RuB (͒\ph ;slG X{.fnX}[*P>)t%" L <'Ԉ3C*ج*{pi> Ept8&"? T`Rhj<=Uhz| 'uWbޟr+eDU?iE4,ehQ
- [iu80ey:,UxxUl L<4LJu"8T'Jlj25r~ UQ[_{KyO+ibxl MD2@hDfA8t+n*9s$7.0RYn&GQO+8$%e=`6N0Λń#PO'H [4?j33;oESWHBvy$@|Lb{VSraCKjrzSq -H *Т۷BEɊHBSM|8o
-0aN E3222]nP\!WLBec/G UQh
-J-r\hmkGffi:GxxiЂQWI5U}4k̹#4brZ#~fHu.7FR
-M&;T3P ,)YRk"@q@)+I;Jϙ+  sw;A2 ;Njb>É. ǎyjaxP4~28?yD.7o{%w>aEKjg\ݙLp.=m.l34R65e.;Z
-`-XiԬin#Bq@U7{a -1)p/HH?
-I$w?M.|o_򲹽\TQX=jp)M;P\
-^ວr" (]=x Mpy}Am[S_޸;tKGD!iGvK yK@q@=ϻ,_{#63!
-5M44<
-veŞ'),1Mls»@ F a)4fDnN,E`};I`iZxq%((8SDAaW+HCW7'2a;E=GDގke4Cʨbiҕvl(*&PEc39y0xDŽ!^˷L 2N5jߨ{Y:m0BMM4~si3f%fm9*! 7S+?]LfFBz] KiP/u\hk[(lX@#qg+UIW#hC}T8 o* /mz^uT;Nhh4݉NM^+swR6֑7 Ta dW]ud :;%Ţ8 vbkЉOPs'6*D fKԹgToU|F2
-qe|I x;Qaiӑr2n|b#7IBIdXy)N!)k+
-BW7Ä de`/n"Q@ BEa-wRFCAA|-<EgWP-2¼Sx@;zh&w
-2
-ugI P pw+Ső ?x 8~l=C=#aͻw=>r)F9ՎgJX=@Oy%!:N3j}'bF^_D̸󲍠Gg0{j"閯X*? +rUVֿ1mVa$zf y'r6|D+=}X1SnjL &QUt_?WLg2ʽzxZ͖6.NOu{Uk~Zj1jm/uDWՃѕ^QzҼP>;AiŖGri2b38=O;DixH7~ͫ_:ܩ_f׮;Qrܜ۸wjW٥g~Q_˻_r=.+N:>/VY/͍|(={\>L1kHt`МʔF#aX@jl)~/ұkV09
-P_[6sqS >F dzijqI{ e}c
- :i og>s{Thd24{ODޑkQMP6gH2iKhGo;fePyIЀ/你mإ
-
-jjްT`6+EptnJ{@-{J L̀pu
-жP}Nۣkj19$ \fG'_"RRQ8xPtd  ;Q݈4|FQI^B'%7ʼGec+<*bΔXpf݉mDTץ;􁲸e,4`f~"$ C[-tEbC;$V x4|^n[]}.םPc( o$ ,&LZ(gKܝw4XA%,7QeJoX l4aF"JI@:3Z褌Kܝ24?2;>OdQK[:Y@uAC)W+E(KYN>g9D\xo=ct DdmaXSJI@:3Z褌Kܝ2T5Fk͇pvRpn[d= m4]"KFn7VыGbSˉM#dhd3u<H u؛uQw60i;1(l TC$3ܝi"Bi \E$Tj`e"i`LuX< uHEy60i;/(l TC$3ܝi" }`!%c)rIg4a]":!<GoeN%L{gAt4|
-8onO]-ymzQ;Xsڢq+swt/bb;J}R_U>Ƌ5Oz xm{ނ {Xx5e/Onm;z}ZvY7?y}6K*;B%SA_z_m٥]Ֆf7?fbI}'s~06xIզ-ƺ{&·,|5pvR?=m+-O.3O.KZ
- Z?/
-ML5; g~m}Xh{FL4zrr?, Dpcu9E WsD/g4gJťmzRJ\0X٨GK$u[%oTWRKąIj
-rW*ؖ;jRI:C5
-EFk`]p@N\b+( uLGZ҂3Ce`NTWah+) V.4`m&툇;]*iJ \ab{Zc+4(o|`V{͇yh ksP/w=|e>T sy"}Z Ǹ9+!X&_li20)}σ{|<[2S).OZ*as
-0%`jdekNeAbelP8;0BtIN)+. P pw滪\:.WWM{(k E򉟉 4ބP+@w
-NkȚ3݇E]j8>;@E3Z$[ڱJƄ6"< +ܬL$}\3Xwl2*s\TF3A|-<8^p̯
-N;0g¡.pί5;Gko
-ʹߋ@y
-ȩm!Bi2hEϣ=;@E3Z$y[ځJTW#8Rqv4
-_8ug\TC|@^%B$zyؑBեY̳]U O=B&Fg)vFCA cLS^px~3O+WjnX8op6MT^4I޵bBA+u1KYx4k=+lg1S
-`e.E
-`R&
-_$# JsMgtB0yzDDXIKH s^gx?d|F27@KBG@#TZ6JdApAw+e1xҔk>ӄٴ&%bJ \
-(0ؘ3uH"9XhI%s_4S oJE,>0meNCf-4/
- L546L|,,>*$G/:<Me. 6^R[ᨓ ;^''?)MN2MuB t2؈KoNwA|,H
-V>wէ[ tu!T¥ϽRzSWGOVn"xJԨCQNN.DE*tg_mcW}I[?zӲ$'YurFru|or/a1q! U3IiVŤq0([{Z»<uv~x|,Zm;s)~gk-w{j×LJ7\w&ԁ)̸ަ#;u8!^̾{mމr҃{xqMTa:Kzf)Xv1=.;L*R#DuRw|t#oޡI-*+yje@Od[\_?x|Ƹ:z$E|2K)7 ©f/
-ϯ~[T܊ѲZ MFGyrϧ޳x>M
-Zcg!I
+605 0 obj
+<< /Filter /FlateDecode /Length 11691 >>
+stream
+x}M$EC8@Sܴ`Za{
+j*_=ѝ?|/w؎sbӭd߾ߗO׋KYC;}odB?~c;iؾӿ+[g޻5w_ldU}dvC
+ ?rQfrQ{bMPzKdRG_>ROѕJ#W^#WrmZn>HoRSSfk7x챜*L<6g)*
++øY-H/=z $Qe>I]ܵ)q(Q~ά*8kH{ F_EAꋩc^u!-)jp6sqTB[3~1[bf>u쇷q%ޕmZ'ۘ/~+!,c?~7b?<n-z^xeH*J[4r_NmaO–c\=4)Z1-hE Kr#iRx$rF)|bg9PnJ^zsh
+e? I5lW}x V;w-bb=b_6ZrXlG->`]tYwuc%H`d8<FW=l5/{ӿ4aj`ݼn[aʲԢu$Ա>,pU>w/cs!X!m)i0xtQ+^==.ݹU?V~^\>ufGWhx*8?R'ځvБ8%sң
+gGF~P6QYq=p;_~gݏyUoivg_՟hO(oOM/|vV+}=s>S.SH7z#>Ar25Bά(rw$PMT؄FHYyh3xlB}KN;^1~ɏUG/ڏzw5QS u}nfvTw{:_fn#l=(%Yhb( }1qY;0nBoV.RAJJҺbMDg˵$\*a 4W^1R]qO5W+R
+YfgjETun/ri^(WGbtoh V]bLe>VvH@(ڼ|uNԱV$
+bZRlVr~},OUFXLX??P2V+<7@4OR\(?5{'%H6zIolkbFY
+=[N$<_jm*%fuo 5t~}v]p.^)' bh*AD_T(&e*T\[T LT NTd
+u*'b{bؘHplޅ'4֍~]7&_6kǥov;EM
+9z\.y?K3etsobZOu-k?.iRBRj1"/m!j)MԹĜfܞfw
+bǥ
+ ep`KGxf$+]B% ԣ2Jz1
+4+1S;KCRӤ /UCQ@6f4݉IK!\чAWi LʀQ~M2BОꑱH&Yw',w`ՊC(=
+lfmpFw
+rgyVwT K*؎1CaN|O\
+AݮS\ѝZ;A&iЬFW']h@@L/V"#e~}˥#K5A] K APۏDA&AL7W+UKo;g9T(I#HB` $hֹNNCTiҁVI0Dv
+4~D~v޼ԙ ktP/w'mաR:#Ȭ)uuzRZc ·=W5zYA)ԊuC=`, q=is Ę%N[Yt\K5Y^. 6F\J|e;BwSMhQ
+ =H
+^tMH{Nu4ZbNfYkA</9'8#|TLKzX>Pf
+V4ԩjN 2afB\ҋ$!ȼD,TIP* (T(A01Cemrgy#(Oۧq`Qh [҂H 7<4Kr SY3T^,ϱ7lbcl?hLBе8/E"yNg.TWUY%0U0)}qLJE~tx˕I{tN@?NSWlLMsX/}?iE4,ehQ
+ [iu80<\Ey_*<*6J\&:PeJlj25r~ UI[?|VLAZ׉dj(63,f͂p&WdU(MsH
+ O'"kelNQ}.\(s}+R1Q#( 4KFvp%9T4d~᭾8i}"c푙pN,$/ Z0*s>Jf9wFLNkگ<b %(]
+L5 X@ -s6U
+BS'Xh#DP [_,"ܷ;+! ^踰:̏WUȨ=m"1Pog"
+/!}(D4V^RP< J\Q>Ns'8j^[/hw^2
+hlbOH
+Rm"vhK!a{)(lԛBAM4~sit xE(uYT*mnt
++Q**6k&Ef6#zqsf)3t
+5M44͉-Ч{EF;bOC?~9 EQeބ hdf3W7'"Q0}t4{-EӸYBylwp )0QOgXXbE0BLǞB"PoÀiX2!eTS14J;D@EzZ(Ȣш_x<ZI
+6[&&F9P~ uf} 3X.L3L#B!^gRcK*|;1+Hz|fgJU8q2<iÛJB6~)ƀW
+HA[|kG
+?T}hipʑz ~z0ݎr)F9ՎgJX=@O$!:N3i'bF^_D̸󲍠Gg0{j"閯X*? +rUVֿ1mVa$zf y76ç6|D+=}X)o5?1SúI(}*
+:Խ݂窵X?Wm~?\KyGt.x6DԶ4o%or4b ZbX4FTǞv4<?U//}kӝ 9nm\k;+3/u/ꕿlHiaaqVKs#Jχ?^2Oģ*S گ=]v|.<?4g2(?7s> h8"CC_4<ӯ" ++fn#{PĬSs@/(ڂ/6-LI 4qު%m5nt2V
+j3u)[tmxhCb@3a`fN
+4bvBٜ "Nʤ-ţmWi,XSACe'e@~_{A#M۰KlOTܝ[x2u\)`TGKjy؛jXjwO+;ŰIA'E%|0Ս֋
+}QNTR# Yݬ b"X4 ttZz;OF'WRHbnV2 +S`uݡ>SNO
+825(5ӸՉ"5m-M>PaW,l0UW`W ԕZ"qd%#mU56R/EGkj19$ \fG'_"RRQ8xPtd  ;Q݈4|FQI^B'eV2f1Mf
+&O :3%l2/qwj)hsdx"},nm$ p9b{CddTx3cNHlh'R4Fm…?s e!0S~2㍤ar5Ĝ)]+exUyqNANXxTPyQIFf4.r T3#Nhph݉(NM-
+~DhkQwNVG-Pu
+}(t( wg@2ƸP&2qpI`4=""!<XGneH$)xg-t{
+y(D( wg "CXHXe\tMeGNbQ[٨E Ff;^Y @^Y'g62̛0bA"P vf&
+OHڙ5>@v\f׮%K_lM/\0g\X.X:~Ev/^.L]sk<9:?>
+sğ$?/i(TgA팶4sFw
+FuK D\(oV q%m)!,S>'\3 X^tA&5"33j%pIxZDh օO* 4T P]htq(-83TDuP]h"I)N!\OhҎxӥV..
+KԬL]MNCz8Q[v\R6ns6ns6ecH\ͱbSu%bVC4i*¬uw"r)ɒ9ٗC ё&;ͦ\̻,@5DrݙΚs$~>M$_4\ '~&&B=hm*JiwFak_/oYzh8h@ƄHv{|R{ :ehe<F
+̆9X@&)k+
+]' kA>(
+1
+_'$U?-MӁ޳RϦ}.3
+TCcc"BJr~$/#T1`e.:Y`8Șur2xKN$Sٴ<P'@'TV8a!Qy"$`QjLdN:@KCL'TZ6ʤ101og˔eRz3X4fƿ'ub:}]ewݽc'2/wي϶WsOwZ6c{S<^w{]TY{!2%O9ǻ+?ޝ<@LQg7nfM
+4R~n핦k V8[;h<`{>Ij_ﳇ5;kÛp; CjRf\goQwyvr/cf߽MuaD9=|[J8&_CS#=Uz ;s1=.;L*R#DuRw|t#oѾI-*+yje@Od[\_?x|Ƹ:zFޝdRn܋S͌__K-J]թte]{'HӰQ:Ow6&n4lRX4J
endstream
endobj
-596 0 obj
-<< /Type /Page /Contents 597 0 R /Resources 595 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 600 0 R >>
+604 0 obj
+<< /Type /Page /Contents 605 0 R /Resources 603 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 608 0 R >>
endobj
-600 0 obj
-[ 587 0 R 593 0 R 594 0 R ]
+608 0 obj
+[ 595 0 R 601 0 R 602 0 R ]
endobj
-587 0 obj
+595 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.992 722.266 170.947 733.106 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-593 0 obj
+601 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 337.833 111.814 348.29 123.493 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-594 0 obj
+602 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.903 92.662 263.36 104.119 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-598 0 obj
-<< /D [ 596 0 R /XYZ 78.37 808.885 null ] >>
+606 0 obj
+<< /D [ 604 0 R /XYZ 78.37 808.885 null ] >>
endobj
-133 0 obj
-<< /D [ 596 0 R /XYZ 79.37 695.352 null ] >>
+137 0 obj
+<< /D [ 604 0 R /XYZ 79.37 695.352 null ] >>
endobj
-595 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F58 386 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F79 599 0 R >> /ProcSet [ /PDF /Text ] >>
+603 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F69 406 0 R /F55 387 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F79 607 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-604 0 obj
-<< /Filter /FlateDecode /Length 11911 >>
-stream
-x}ϓ%7n]ECɍ^ELOa&<7Oژ=_ I
-_SsOԎɍ{m[>֐/:><RgT۳}kn->τ<ٷ[eysӃow螪Ĵ\J6h[sᮊ/[ 龊R C?V*Qrj*/?__|9+^^^^r{"O,|WS~ml?Ko^J/%-67oP탪;H٢MocÊ?͹Kþ=J?F8ƿZ?~/rig^ehѫhR)ee 4< "7=D>jlCQWdҤRӳ'.xڥSX~hby4
-N
-LW0_t~yZM?%Od<5eծl;%9WthlqWpVi IJ=w|<:9:_~Z-xzXRr44PTcBݧYУzZH s4$]}"s't "\8UnzHkIs Np/%CQQ ~%֓ـЃ?ͤj@t4;sPKVE4c
-d":T3D+2PEDayFU4̝\p6xfx'jV¾;tSD398P9I3=&0B5"K:M,xO&m&||#-<M~8hj3{(8yL݇:l@j=L@8Ǹ>s4pЁ4r/ΊliRfdBŮ.ufMlT<c?qR8#@[{ ŵKJsG]Ӑ8ej*z M[8OS5p~:a3)ɤ]
-THH,SFejmڜFvRWP mЀlaڦFjj #:>5 @/51jz[CKL,a 'RfL`43I[C$.B-Lj숹5Dm⵩tX l&aXHLZxM<Q%}Y,oaїz)yP ,HSUjH#/m#4uJo5uPq6$*`JՈKad(@m US* IaJc-mc2uL
-L19їELJGd4v12U sg+;k̕rl.aD M{l[p"꺼'&U_QsCs תLJ|sJT܅vE4 #"ҁD5
-=
-EvASTfw`K Z*x8N%#jK( =4e7aWieFeX2ċz4
-<\Es 2nLx̜vs;  n[a
-ȡm)D®e
-фD>Q́QQsY۝QQ0k+X o]K8)L/~ iV,5P9ì"9* 5w+
-GMP` 8hxKL$KY<'O&6`fR[)F
-)G<=GSsBsu~Ǝ=8m6$s~ɉTNKgLZbn[C #bՂg
-Y ]COǸ2X5JǢ+x|Ջ;{{<f1ϹLZ%zɷ{I7jw|8[>f n3GˢZߜW)jYvÚ\Q=<`穇x?wZ{xZ?=)\yZ?SMhuEVfl~_:֛Z3'9;W~0Mz.子2A?sQTiQ#;/10oܟ__%wacO3-)<띉Zk _\Z&Q$PHiUoޭ)_3R/+OS^h5GAPW%aI}G#b.&@֕Iwk*8FјܶrVT?]=B}wVX=iUE[pp~޺5E~4Oh?֭l~ ?H .ឭ
+612 0 obj
+<< /Filter /FlateDecode /Length 11908 >>
+stream
+x}ϓ%7n]ECɍ^ELOO;>)<7Oژ=_ I
+_SsOԎɍ{m[>֐/:><RgT۳}kn->τ<٧[eysӃow螪Ĵ\J6h[sᮊ/[ 龊R CUjT^~雿rA#Vh57^^^r{"O,|WS~ml?Ko^J/%-6oE]O e6پs }k{{
+Z8A[x  LHMaD@z4F0ST \V|+7`c(czI%}P
+PHH,Au`fDЕLI5X52'124(՜0B̜FS.]*"aweg2[ͥ·:ic} .Q@""8CD]Dc+*R@bnhDZR]/`BʛЮFAT0܂WR
+̝v Aqti!^KשdD͡t e=, MLԈР KWxQPq 0|XkB"P7\y!i"7HhDƍIS.c0s'Dr8 BA9 8PصL>q0w<99*54j0k9 *vfm+
+{r L-&ƇhZBLELFw
+_3%#Hr gtA0uZDb&;4$'H
+x]e,TH}G,$G#<_8j- 822]FI,hn,8f>4#4<2aV 42
+ L
+~h7UИ3uP"1 K0՗ 8hDJ XS*Rd@k+u2sq񀤁> }Hj_cIM Vd`RƁ)pS ;_W$ %#J
+( O@UYnIO&6\fR[ȓ ;^'3P#xdI12L*|kx7EШuBwX
+f[Vc߭1 fbc{,!GqcTyy,\cѕU<u>ѝۃ=3ޘg~-Q[=ФOcԭ37eQ-qmqLgobw{m|,;a\`K<yp?wZ{xZ?=)\yZ?SMhuEVfl~_:֛Z3'9;W~0Mz.子2A?sQTiQ#;/10oܟ__%wacO3-)<띉Zk _\Z&Q$PHiUoޭ)_3R/+OS^h5GAPW%aI}G#b.&@֕Iwk*8FјܶrVT?]=B}wVX=iUE[pp~޺5E~4Oh?֭l~ ?H .ឭ
Ki* oUpI48K2
W*0C_ }3*8C$j#ɖ<5GF犟K_ڥJ[.=Yf\j׮5f7/ʳUfvE=]a/ ScG#S?8„-=<c}1q&n>P1nWhDqr6T?֦8kvEcy8;/-"S #ں6x𘢢6s s(jΎHkQju;=sp1H@nGtZ񀢠s S&CjnF`*{rrPWkzp kCáHXpVcv|Z[Y{ 뉙[LM(a=H15kLb'UhgŔCuԊq%&TkiSV!8|@67< B99-Vp5PM`MdFka=d(05j@bMjg՘F*fu%悃dJX"6<͜l6JÜv **ĂDm"# Cں6xL𘢢6s {lu;mg:mUG٘Ol؎lzCۀT 4۞I#B1i93i̺b?quJeNng1y"rRgL0(/dUNF WSV^5D Sh`33O@TZh
M(qTŀEQ3HMV *_M2@[ ☭y[,B7VkZKZo~[j-VkgSRu "CE(QYZ]
@@ -1991,95 +2067,101 @@ MG
ܚFI0`pAolȊZ*d˶BJ̪}MH2b2ڞX27Muc"D
[h$ʐYR&
"0id|DE̅\K!}@dKaHv4fվ&QT1AnmO$jp K`1qiy{.ι@'9-e\4K:JL%K)W
-%%UzQ\W^Du7N/o$k.ViIJrAA!>wխclխHO G.Pu}BFU ri/YXkťfRy.|vWL^xF{/7 4~F}od
-j2EZ}T?w#]U4.Ov姚S<v۾JM?}4abSdo\CN!Ƴ{1}R@s rRT$Go%
-^#qJV c
-s|z쥏F-YOwm\Ȥ~U13M?s~4BD*~<OԖRz{G<xGKj!-_oU+ލ'1/s3\mo_Tnly cEt۱36{X; aoZZU2E*DSW4g_X]G@uU%t^dӧ*n9ử}UBoG?..3~(9:0'E{
-Sd?S+5q}5o>RĪaU-
-q浗xz.^K* $POcǕrbmw`~q^Xey\ze9=ǥW^kiReΕzT!uPrL9zN^"'CK3ّٱsפZ~1޺\>%UL*L5Ժ(* 0y.% Y [؏O[_ԡ41ܑ':7GIfMT`=ML@&O)dwAµtTK
-z9+A =is&vSQṕQQsZ۝QQq0s'B1"*ݯڥPV] 7F70YBpR ;q#bPc'B 8s0${aXfQm^_\p4CqcR ܘ8`^)
-`}r-<GȊ KiaqZ )TЈ5,NԨs Pc@BjtgmpԔy?*`bb_(2nLp̜vs 3w+! _cw{
-OqP{./:sMfk"rDh`ԖAF'n;ST fV$B
-ht! K\7Onb㤨*a(2vLx̜vs 3w+
-5
-9XttGO\*J?ڲ %iqK8QkY[En=U4jV(@CBQHeHZMa|Abܨ-Nܨw80j$)\KQG
-|~Š,;I踦ZLQQsZ۝QMQa^nWJ]KXp,T2[i#͹L9=&U<fNQ[H9[aF
-TC
-gv(ߚ^nZ=QQsZQLOAZ!Ǡ(,Yydr?qYxr5觝嶹R'c&RڶOmr&UPq @k T#SM+:6K`9t? 9gIYf)lܞnvFНr2&ݔ1y
-8NxɄtHFx[gۓ3J1l1P H]>>I9nƌ BaK?>3}7(<)db?Krbәԥrm]ruu葜T%cPd}#i? #;h s:^Sz틳ws$ s7RGޯ-tZE?Fw!wz$ZHw$|;N?[:UȄ^r'{=wdS{)S6?W65'qW2x{ʳzH/:ZVڏ]_-۵%)x7ӴEWLvC8ק7c`i$G7N6::"QNk`b6E,Y,[$L6ˣCE}'K{~<Kv/qQDuxK۞~$/:I{~8Ir/% :E{V~<C;k5xERf2x>?;'?<:<2Ͱr}+7uOL.G/q!Yl`VJ G-.z^O9Sc(VhodG3CRc #}GǥWO^ecssΙn:grW@w.\T5 9ErԖW _f>@ڐa0Yi) I]$$`IH'0.#
-1BpnJJ[,IHK]wׅERã ;ѣ0s'`>Eﮅ R|`{hiy[҅2 .[o9*ŌaF9)
-
-j
-bq۵TRuwskid.o]WޙT1NERKRswN Z hmA+ZhRCU%,u3S:nz" Go6aRZovF3=aNhXtZ*iC\ArהnuMBiM/׽>
-b2 I, I۝RAT0܂WҐ
-=
-)JǕMsm5тA)m%3RXǏ
-6kZ Yo{ZYԕM|XU-O^}{>sWeV4
-=Eu\2r^- 圬Ge囍Al5bg(˭ϫ"E׏V,M#"iꠗZ\i2$wS"jĥ6xls_^u8FMK_O/d7s@L/rM[5zoXb}2/\‘QV`1 4Mݸkcpg*vVrG%EOl~8 Vj6G^(le˔wq@;Misq?+fw׷@`lLDsd+(4QZgO>TlNv<e~.C9(w$.{BOk=b{[Oeo.ѹ}`_}ۡ*r;t$kxrx?p'Y̚ |(6MvO)I.hrwvxr>:3!F-ovQ{FT݇:}W&_>գ`~q]s)yDŽ,pAA_}9_HzLfꉗOȳa SW(~AVr`nk\Rğ8p[
-/y+Cr裯8]CG$48
-i&nE 6X]'D
+%%UzQ\W^Du7N/o$k.ViIJrAA!>wխclխHO G.Pu}BFU ri/YXkťfRy.|vWL^xF{/7 4~F}odr^MHnt&9.Tv{'!4t۷7^ٿ|g7o۟2Ll}kh=)$xv]}=0ftvQ
+hAN
+vb{ 'f(>[ҠXRP^ :)@Q ~q YI$MlܟT.ܘ4n$;@qSxQ~㨴k *s5s}\kں;2L~9ԣbIw>927N6KUi-'Ff|vcd#sI\r8F㍑roK'ҌR~o(ydmY2 s~t<N҇r}VhרL
+pOpɾ`<+wSa݋r47NiX
+1ܸ9a6?cBaΕOUȣ%in|mq+*fzSGyΏF([cBIW^xohU<>|I-d%|@>ջDy tnXK*ޏ-<OqaLq3(.y;|f~^v|g!m=uBuBkyJ(?]%h*+@.kLqT%-0| xs=_'qY%tў?D|# ВOP>HPK׷ OP;'
+h?O|^_
+z eaC}K
+>R7R%R
+̝Je
+=
+18dZ:(eaEfnhzu#v0~s EƍI 3.rcaNx*"˵T8!+&$.YnVk10SRC# 4:QΙB0c'B1
+ݪ=;q:SS-ey8~ȸ11s
+EvAT0 0@Z*x<ǡC޾L_G5VQ[YQLQ1X nV(ҁD4xJH2/'nr<}Z811sEzAT0 0@ݮP.^PBXy8¥lj*3`(rTjhԜav'rASfm+
+Xc9j=D6j/m/59*58j@K7)vB+c!ҽcҁ&u>q*)h˂E/e
+9GiX#I<ʖe"i%7Rp8qB 6:qޡr
++Ҳ$iHbj13"`GGjmwG4EaNx
+B]P63)@dT9Em"= *hn+ 8[]
+N)w,;L}R7*50j k7 3Bb
+GhyɃ(I\OL(c$'68y)NL]*zߦ%Wz_ǁiOX8E<fR="0#k?e8'X/ܾ8{7L8~:g|#uBJKUa nt
+ 7N5~ZG·s^uLX%xwS~G6wBZ?eSʦ?Sʟ__Oyv]PBWBK|7$f㺈iڮzhF6 ,MWfI7[GG>Ivz ̝C溺h=k?yҦ{yTPzOdiڏgi;e}<β?JP^vi/E}P_'i/'iWZEA{~מ_hʏghY>Tvx'x~C}hUlu[gg_"=#QGVofE2s;<]>>JvH7~₸\I\p?gJv7
+Mufa^#SJv`v6WB:JC«llN|n9_Ls6[~_tr}y؅J!T2Hu^|W;*rڬ”ݧH_270+m8%!k
+9ҰҖK Z*TGł8D`I@"ilmJ'@Y*|*5gYW0s'`x(<FE?9$*>5y[Hs"HbY7eɉ v*
+Qf V~y|`w8;O+׿otK_{gڂԠ&8\a0TkZFnޫ?v ?w,|<FX eyU$ZjҚ}S5\2Rk= SFzzJU Ԇ`k.0HzuP_>Ь`+۴UQ֏,F^Gu;كZ8>j
+,fu\+/>SC;*͆/r}`)egDJV~8Fd+_zi
+ Nc_w])0{Կ˕8fc%#]D馉:3|ROd:'gd4p%7W)w,D)}/ q~SwzZ{sbΞN/}p%sLUߥ#]Żц;f\C \ynҴ |JIrGCSfVpwנ 7Roy7>ԁGӽ5y}h^bOy;&PWf栴J,J[DcOW7UO~@5o _Z?E w["āWx5^C}":߹)4q*G$L܊w5
endstream
endobj
-603 0 obj
-<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R /Annots 606 0 R >>
+611 0 obj
+<< /Type /Page /Contents 612 0 R /Resources 610 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 614 0 R >>
endobj
-606 0 obj
-[ 601 0 R ]
+614 0 obj
+[ 609 0 R ]
endobj
-601 0 obj
+609 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.396 67.03 223.852 78.488 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-605 0 obj
-<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
+613 0 obj
+<< /D [ 611 0 R /XYZ 78.37 808.885 null ] >>
endobj
-137 0 obj
-<< /D [ 603 0 R /XYZ 79.37 520.772 null ] >>
+141 0 obj
+<< /D [ 611 0 R /XYZ 79.37 520.772 null ] >>
endobj
-602 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F15 381 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F23 379 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+610 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F15 385 0 R /F58 390 0 R /F55 387 0 R /F69 406 0 R /F19 383 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-609 0 obj
-<< /Filter /FlateDecode /Length 19742 >>
-stream
-xM%7%ׯx˪ŻvdRԬ]M-Q=
-]cF̎ѯwoR0?s.NI_߶a[zp;J !loZ _{mk{߶_K b]/tA?V_&l[2 L8EUt_%?oiY?q;j y`w=15BCVQJTyqj^L͛rJ'x -ɿ|I)[.ee+S|_˭+/#Q7<xG-33u=C+R%oˈ )6sއSm_rD2OW#zr/TJM.\mQQS(8e_z/kNre[kVgHєLZWX͹ZeEΎ5O.FVMPG=8މ@,?rhzN\[>HW5V!nT;0[ݬqa!j=no4BnEVҎH U}SNgiANyV/#64㸕|Dα3.ݷ|%j#el6Erޮ -mywpxĕ9덚ڕn9˧^-+=J/Vjur+ZG|b^A\oy>^m8Ahr<r,lzee'D(:fueMS ]{n?h>ᚻmȖsWVyY1؋QߐG,|s̟[9tyXeu4B^槦cJ?ty~Y't,ǿ{^yT=7j:ewyNt۸{ה҈ſ%k+^DG^~Brw%mBۃSԐRn /Cqێ8$C+Dx:O[o?緮T:~f]Ax{ۃw7? &?Bq{`L'kv'܍
-?3}]0owtgKߥUYf3 ]D$z3/ XK]Yf3\D?o{mb&ԿƶPWO63֘4=߶=%_lwMԵ>gs5͘SA?c9A|X sȃ =sH|ؾlwc[>gs1ǍSD7߳>g4hl6 'yc=sH|ؾlklۧS]hT{KO?q65g.|?g.B`Oe閶BQr6?y?K{t5/|+y)Psyy^n.yJ9~F=|Kn{gqE?zNn1רv_}U @y̓(^`i%_oKVoq!y
-W)!憂ATnH^5R7Usg]""޶I +Q!=̘;4BeBg Iˢ$ucZ*gN3@HG6{4;A1@]!
-dok@QPIiߪ"ݨWw׺JC@S!TTJtHb&ժQ 1 =랮"%Bwߐ&
-Q-%츥=pb(*Jjh&a#yZ5NC@h&HEEmV[j&opa1n3 T)!IFjCLiMc@@q7na5Sn9 LRZ"!yaT\Vy
-dg^_kbFe HBVc/}{tQ1 bf(hdEIƴ*;T
- h`@hT^hN&y*oz٫3!w7v/:'^PVD 7m *8ÏՆem,OraQ֦c/.}\ZړM]2.W;O՚;ۈTwVrWo'n8W:הya|ӅE}_/~ x^V;&n%dL[{-ɔ{piա?/<-5ߎٺB#HJv󛖝zy9kYg@ .2-[׎c)\/̅+HKj}mÐp?YdZx'įyA/HK!Q$ }N; O0Ý O0Ý O0Ý }݀_3.(Dž/#)=ٮuckK?o׿g]
-tNH^6rG*P0*?p;w fZP^@}Qc;XaY!?L, М4JVUɛf=J-cՔHHiGm\oak@ИB)!IaH<Y2fٛj9&o}kD"5gG7j՘3ia2R3C0ݨb P޶xM*4ԐbvfxPnP{򸯄5C1ULR D34/ #S(KL ew>P6VUx i#_GmZ n5@,{a2R3B򲰑9mb%#=!\wgae j6*!2DmPLW&' ȩPi߂&Gnc:ρхcRBe9! &):+$/ ܍jQ(^
-C P/"x|z7G!St #xC0ZTm[/C-ϋlR`0$Qw0\H8ajik&>Q7=l|X Jq u8O}ul,~%qp5WCμ_rR/%%}J#3]BzYJ2R|~Vwow oWkW{O8 c}~wֿvQ7j៭:BՉNݯN50k)kU'-|+?wQ:KձTsv{.||b}ȿqΈ1DŜBU3SRSRyoBUjVFf: =iF\вEO](-];k՗OPNU:w|>KU|]U!~<[%񕪜)4d~XK}&7+jrŚ3a鸨 f'ό\P“5{wjvǟ?yd >1C/uy:_?'ݽԏ8<? p~KwgwKwnNd4^vk<Aj;{ZLxGH;+|{yH 5+5a-n1Sxp|/qչ샗_vwUSIz/+^~<k}H 'ƥxp7<=Sq|F孔hw2K*^^^N;#.g;e*?5͝NoM8d &s7JMqy&s7㕚̽^zMμ /L7[ގWj2zKU Io,|[Z TTeF%~|Ӽ<r |G/qAmuG|>{DzԬq+>HS߻5w'}[NU>w"ɽo2'T ti^Ss~Vw|S@K+A/t_,nm
-k0G~ B Ṣ=Ry"
-l<]#=VK9V=JEN/<^YPSԯY]|N*KUG"|lU8ypg*3[aۏ밥tNu J.UϤj/)oϔk:_q-;j~-w7pʁ{؟$;*s wR'i+}^e^?tOꕥp[*WKCB]sC!ܝT`W =Uqv44_%O'D[[zu@W=9 Z
-z|IzwS=d|4@u)4>²> YGHOk3?_u|AZ%/Uk%=_uR잯:hzTV?9hzV/56=U|ցZGNkTu|֡K[{bHZ.9!C]'t;]I=u5{K=ui/LGSf:z6KKSW.OtIzf:z>FW/0W/ënf~
-]T!"wQ].Eu.BpE
-]T!*vQ].u<ClO^=~\nuPo_bk╽R{E!JWvJb^d׾
-rv1 e+Vv*gHGpfņPz,~F R)%8{4QUA@yҮf,p}pt"j=U~}00`Sf怕̲D]'bBW/kTuB'9JZfZq5b K)A<!R
+617 0 obj
+<< /Filter /FlateDecode /Length 19743 >>
+stream
+xM%9r%_]91TTV
+;P0BkH1ȬTRd0?s.NI_߶a[K=B_֎[joVۯVⶵܷ~~B(X +]~şS+/D- ?&Ee/z7OG,~ 5|DŽJUK̻ٚ{dhs!?V%<S8i5/M9ޓCVA_ڤ-I>Vӕ]͗<Σʖg^eą?uÏ)aa/9"+ؑK}=FZ*Zo&|gr2߯?5'53hJd`&_,fQrO\wuV?U'#돦a#N H]D}Krw9[='yHn-dw7Jn8ˍuz7[Q#RjBUߔYtqkh}SUˈu=f8n%-s 35w~-jl7Dхeƿ|?k@~K[^)qe.jNi>?hzve;>i?y[pJK=ZznʯVn-+=ma>.~Wx~^_}@owP=n;d3 [rY JY]Y~?ZOmn'A[o\+]<z謏}Emo#|s̟[9tyXeu4B^槦cJ?tyY,{:ϞsWUMZ!~@z}^yo#o56Ğ54"ho,uZW=wl_\݀~{055#|ܶ#?6s
+Q4Sm閷F"+:퇿YvPmzD=( ?-Í?DvVr0e5ᢻѣ%Lg &aB=uʗp?^_Kѫpg@4`. H,if3 _DPȭpg@4`~ހn1SL4.omF;llgs1?it{տmM{JyM{ـk}j1ǏX sȃ = 5c{6@  }ـ6P}[cۧk?olg}
+~w#P+KqayeRvhtJIfƴ3L /W@H>*A@[΍x&%k
+S&C URL-ݐ0jnLi(
+m!t*hvPcBP7 0/SB0Bs°1=Ȧ߄\"!QV"0ҾUEQ.lu; `BL ,L7UbL{&=]SEK # %!MΣZJqK{ QPU(*M FFjN?MN |x((ͷBM$Q#cfF%"*S*%:C$1 j(NÛT;ưn}>jr
+l_^YcP4ɜ:/$-ԍiU(v
+Un#)V~"V_?o)ES
+ hk){c@Xfaɐ^ܼn`jK:P #ϞEčȋRiη-~IyCT"ݍԃ$g!`&@L蜐0lTNaT8=~w`SAͪ!bJ[S* *vB0Y9iD:1B7{P&>[)Ҏڜ-;Q,{1R3B°8R9yd̲7s= Ln6VDjΎ
+?-oD 1g
+ Sm{
+I1Th! ܠг?q_ !jb@Tfh^6rG*P
+@gea#s#rK^%G1?c3{BR)P!*A~ mUBdڠfLOC$) y#S'ˡ4{L Lҏ܄pt u,'0 ǸsB0 L&R
+tVH^&բP0"j(UTr6Ν+X ۏrv:6|¼5o<\80~UDPuku+ᲿiF瞏pZl'7F^ =YYrBnwN>"ɭP㱈t, Tmʫw_?nH~dƋ룉s*)+F|<vq9=(#;mdݛq~1?ݩ_tdb(K]6)%41\P(89ȩwZ\ϫ:UqޑᑧvV~pMR5Xqok۩o] J:Xal{bl<;73̋B<nwG5oT?<~5R!˥xnqm ;HC]f;r.
+G w$oJVUjOgW?l2RF,?Ri<Q؇5+[<杌1<D2[<߹|۹FY/wMh<>[0WTm=\#k hu?PACpFuor2/=wP,g_]Nt_Cwuoy?+
+ [xG|G!"zhznQx^d8!7^B8!gs#Y\G%<FBa5/+1ե<ձḚp5WCμ_rR/vM(H[t =we)K=YaY߽]v߅F7jܿ]_mk>7mFYmF!ިH U'Rv;u^:<5#EWNL<V-|+?wQ:KձTsv{.||b}ȟ[XHOgbNVe *V_)C^ʼ7z*|^r+bxG_[
+]2C_Q/;B f_}=-&<샣w^}p>ݽ<[s$}p}I)Rs\K/
+j}$N^/q_O̵>[y$ʓxqRyכR)8RyxVW;l%BBw_yhrΝޑ wⳝ޲?[}@Nogg~u7&jPry&8vѼPJM^/{&gކykr-o+5{%ԋ|]7`>}sU{wv||2[#IA
+lFzl~Y/,?׎,.O`~
+D*#>*<3R-W0uy޺`%gR7ng5{/8T喂G8pG=OQ;GDq)OWʾR2:'yL}- ᥇!Oxxw!|Z wW~
+C ?;ѯ 'Cxɓ-: «-=$2>B^ Ĕ_aY|#:FzZ j㒗:JzVKvj4=ՏGMX4=Uq}^z#뵎U^:tzb饊-=_e$rkcל NPk:Gӝώʹmo3N=
+]T!"wQ].Eu.BpUYwQb!'}byTwx|hv?}c@jwK/˵v^ҫwxet%dZN/kK
+&(bI! <V@kXTݟVaGhKz;=c  2ؔ9`;,Q:9EЕx{;X3$~ V#lbC(=w?#f) ʔҽY( <iW@]r `QFX|>8:on*a?z޾J e)3JsJwfY.t
+ʓv1 e+5z!%NEvChk1tJa _KNI)jp6&0GfiXdFMkuNjMauz~-U
+5`5xfWzN^U
(8OȾxgBUhofB< W@XRh5?EWԨ͵>PY nbC.R1`Sf怕̲D!TIЕ
2to&B <iW@GUBEWn԰ U2&h;̳zCXJ*MQ~+YeBUԒ6Ńψ&a/sp: ';R*CT_YFL&%TڼzVj۷ "!Pu
-OPZقx0P
+OPZقx0P
 Ja&AV1-n8 ݴRUZ
F@fܕ=l
>U\~茐kq +*hB,
Sֳ  [8m5" qbHNJ)i H}t] Յuꏬ%|BY輐5qcږ{ahN+[fB0jRҳՔ7.t"Kt Ah Y `EeբsC"j%x,tuF7,o% (Mi>VZ.rGh5.K\ӵ.XQ:Z:F57 g$MҞ}8\-+p.itV:7Y)%A qh`}|!t)ɂ*]%on& ,ooD5/ $M&sH'>:Y講d:[:R8Be+4o% (KI+4Wwd#\Ggh\me.x.tk
-]ܸ+,s5shZsrpAҔij,a|FYܐuLG Zj4ZprY.ؤ)هZ"Y
+]ܸ+,s5shZsrpAҔij,a|FYܐuLG Zj4ZprY.ؤ)هZ"Y
UНd}oUB:u ǐǭT1ov]"t ?Qc
CURON]Xݷ}-B}zp_(UƨETssF -FPU'g{OX{=Õ*<
RS(Qw*>[O1U5Jy~r
-ݩRHrl۷5hcj[uӞJ_gjlFC؜CJ$ZiQ];X^Ah`\u!¦*4P(㐞8!;=t l:]Kg#uH]6m8U2mTl!A!JJ>Yt6V
-7 .bN<i?uߕ{=0rN#JLW1o %`toy
+7 .bN<i?uߕ{=0rN#JLW1o %`toy
/#3+,w&*F޹'z=V)U4[|(Q{s_GۃS-zO5n?Y=p'\ M=(QH,=<#3Tq-bWo.\HKq>RU*$[c
]3q.tZ
ؼa.)<BblP /Ak
130tR2W
-ZϞfGTܙ *"X9`Em 'JqT.1?Og|G<G/T(݅8c4h- ƛM`E 13YPU'%@~8=hs?Aܯ+@Tld'!Ǩ%`pZ0&q.}BUR)e| '4֫DF:wpaXF>{K+!} -k9^\=]K
+ZϞfGTܙ *"X9`Em 'JqT.1?Og|G<G/T(݅8c4h- ƛM`E 13YPU'%@~8=hs?Aܯ+@Tld'!Ǩ%`pZ0&q.}BUR)e| '4֫DF:wpaXF>{K+!} -k9^\=]K
D%If+r*-h#-U:5׋|GDD8ѝUF7M*@FJE7ޠd=,fW@#ݙ;I=ΈR,
Ol ~XzhG
--ն `_4ӫ԰-@z*4bB:US&b0LTMU4@ .85Dtr*:x[廝O 'H#<H]Xedh;U4f^ol; Kw$Q*`2/@OW]=gA
+-ն `_4ӫ԰-@z*4bB:US&b0LTMU4@ .85Dtr*:x[廝O 'H#<H]Xedh;U4f^ol; Kw$Q*`2/@OW]=gA
ZJVxhuNc<@U7Nz 9 E'2^qN C7 
-&Θv=2fIH?jKfU-:9&}IzFFz`G7<O\f~"W )!<O-VjzLI\@>h#ɹ
)/FMz%+z>{P5'oE+g;-~&xl4̧҃ k 2\ܑ @B
@@ -2087,7 +2169,7 @@ FxB;tMR!0VF8 pc۸;bt
RZ]blm/>c[ Ӿ*r;=R)ah~HujE#o+#w .} G)WzK2?_(Q1}[X}`(uJ(\=0uNV繍{G].\>Pp D%t/㾠|BТ<%brRrKu+G'-
\6^Olg.TD $*+§JDC#nq/
}|8n`r*qI0@ (|\yd BJ &<]1B/CSwkP0VX+.
-bdME69^le9o]xA8:>pLk-:3"8r[<FSO} T! C0JSڳjE||أ_sŚWAG2H&' 0ŭ6K|,kZY ) iyIbM]P@y)?dNԦ#Dx\Tc^K}!`|)/o|%UE@咨 }C^+5 Sg9yvZ ՇnVa4Lʖ HR^Cc~g.Vt**]B^te}_+=| zKj_ľľh
+bdME69^le9o]xA8:>pLk-:3"8r[<FSO} T! C0JSڳjE||أ?sŚWAG2H&' 0ŭ6K|,kZY ) iyIbM]P@y)?dNԦ#Dx\Tc^K}!`|)/o|%UE@咨 }C^+5 Sg9yvZ ՇnVa4Lʖ HR^Cc~g.Vt**]B^te}_+=| zKj_ľľh
\!U)]Ui55?h}>D(Է6
^K*5[Jso[ӑ*^kXJ+ ~ VެPA@a!%+]DhQFy7^Rmrmo,ec2r~C+/+"8r o@փ `bd&(W 5Ԇ9Bcx)aTjCNcu= BhGF"ۂDp$0 TRRFM'"K(*_3]K_Zx]+(I:g{l*o()Q!f3.iOˊ>&Cϊe!+ |]2EPKGd;`6k]fv<{NƧ+(b@a<6ݑeg8xvˇov^C{0o96
ŮgCO!Vsw%:;DvQ1nK/ඇuxWMhbi P vp`A
@@ -2105,283 +2187,299 @@ PE2 ЉKt
['4o!`~3e@c5,g&&W3$o;Q[lqQݛ--KyG\c[EY>:a eE(a<#@xc%1hBg0Ղ>[IgBc5',ge&K(/eVwtWJkt{\黢BZ}_h-<|#0sC0 P6YBtgٸ+:_|}T$.r~ލ5j a`S1v+M$5Lbq)͋ƯTDorM86bm6}VIQC`d &fҝe
kKXDnoڳ[Jq<h؄e^F,GC),ڎWRssD@"u%>,B~f.9xFQeM%Iw-hdC"h#XD%>;BW1hl܊E,A DX,BV7ݮᩈI&o!jbo1*aжa撃0`P6YBtgٰgIY]g
Yi+XP$w4G0ęR2m:,? EuxV|yp^
-U6W6JGlu* B<E'HCMPef_~}!п~NCЗ4>~_?F}c=o5̷L4
-/OPAoӓ?BJG6Ou[]MƟȭr] ?_z'hLڶFY[.7Ługɢ˂%<
-,aXO<_:Yɨ_U3Fq{|׵4W7帗iU=4R")L|ğdg_?/X&cZe=T<VpГBF jK(o|Xv9_Ḣ#˯?
+U6W6JGlu* B<E'HCMPef_~C?~NCЗ4>~_{ooG /j$oi<_~~je5ʖSo?R_: w^w7="u-|}<3m9fR9/ŁuEeHdF0
+,xdJ/B,d/ܪt#8s`=ZU+P^r(U)THx0YJ~i|:@aԏu
+kawQPXAO26従?PȱHs;>J8'"/i
endstream
endobj
-608 0 obj
-<< /Type /Page /Contents 609 0 R /Resources 607 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 548 0 R >>
+616 0 obj
+<< /Type /Page /Contents 617 0 R /Resources 615 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R >>
endobj
-610 0 obj
-<< /D [ 608 0 R /XYZ 78.37 808.885 null ] >>
+618 0 obj
+<< /D [ 616 0 R /XYZ 78.37 808.885 null ] >>
endobj
-141 0 obj
-<< /D [ 608 0 R /XYZ 79.37 771.024 null ] >>
+145 0 obj
+<< /D [ 616 0 R /XYZ 79.37 771.024 null ] >>
endobj
-607 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F20 382 0 R /F58 386 0 R /F50 374 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+615 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F25 379 0 R /F16 386 0 R /F58 390 0 R /F54 378 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-616 0 obj
-<< /Filter /FlateDecode /Length 9837 >>
+625 0 obj
+<< /Filter /FlateDecode /Length 9836 >>
stream
x]K%qW`]ƀ
ϝ|Esϛ79՛[ۏ?}c7fon>rIϷ?}0&:cr1ۏ6n. ~~~J/
@@N]SY#`)S'i߆<HI>kGHS(MSNU[jr):- hk狞m@>4.`Eono'?Ѕ0Ag
;TvGW?b
-Cu;)P!OޛIsML)!l?}M|yƮl1y~YF-jTnkwQ##g};˽x733ayiy=ޥO}BV[ٞ+^=^uOѡKTT#z޽v9T qS9/6mɌ9!R9It?6ao4y6$c 49utlq[aUN&??s]—Ըr=\Uz eV/qn7` Z=>2grbg3lr^SY=>6\JkGc~hA .8 ҩ=a͈^C4>nf~ }(> xd
-=N y(,gz?vglb S4irP/POၜ7,;w)ǧZܓڇ}qEHe^}]|9so;N,O*g}O<zbފc˙>LBi29jwZAb
+Cu;)P!OޛIsML)!l?}M|yƮl1y~YF-jTnkwQ##g};˽x733ayiy=ޥO}BV[ٞ+^=^uOѡKTT#z޽v9T qS9/6mɌ9!R9It?6ao4y6$c 49utlq[aUN&??s]—Ըr=\Uz eV/qn7` Z= z&-xKw6cM./&l.:Ci3ͥ}1n9_$Hܐҍ!ZaیU:DjJf6wЇ3ݾ7ݎGJG-5ؽ]bGsG4YoΆC??'-|CmB>Sx4MwZz3;m exB$S(0\JjpO2P/K@@=v}V+(򤐆Nmi3ֱz ڏ>ygo|
+/Ϡ 1:8KcgJ1E3z-܎aa҃#;Up;W aZ( F*AE8T}7Ύ_$HOPg㱿N0N6Ѷk)C\#\]9BE\
"{=#{$P}FR<~Rm$`Q
-ؔ7cozO󍯰훿ܾ&1V \n;!@G3w=KeK9 g16'ޠ5C~X͆H _fyn\4/پ'ֿ$X; >-`6n0=
-JW2l`%h<Q_3~!>eRU'̋d)yLsAvi0è!u2,'  V%piC"Y:`S*^@kSvBc
-}jũM,ȘRoo cDHf ~ue4]8V4:cj-0\ۢ$cj 4Οϋ5E5mԤ`]<;T sMz .3Zް0flԥRہzZ[׸'tb3[M{ b
-`1LT
-hrDUԥN cPQ9ʼ]X-\ql:tʊU;<K져14CMAM yLBQ̠Ӆ֐ b'ƪX fQMfٲ>Y12Cu3 ]䍼b
-:ZQUF/4Fy+̆',D6ÓLNPDݸ΂B&lI7[OJ#~&0Ŧ#[_̖{ ܹL
-'g7) 2"X}aZ9Fi%Aa1V+MH
-1Oi%vq0!~21B'ű
-̦s胺eXo
-bR@izMH
-7uKxV<uj/iraڻΡ# .w.eQZzJ{;졉-IPYBw.I:cR wfD0Mʼn,e 
-]V>,eҎ'Lԥ>sǭ Z%-B'60ԝc}~0:/iOaMHjn-HY`K,nUwWSal2Bcns{% YIfhBZq]X=hf2,;Hͺ8 {k,m5|*XC(|_jb¨UO7ut:7/#J[חSdf3P>%t`( (Į1ɸ604<ȑ%Œ8ba.]wSܠ[WTB޺¤ S&Q|38
-[cX#2<o&49 :Fh*<eE?`6 Km/7 429(uuI7E5"N;C/r
-ڢ25z NV 
-c`
-%۶/WK0 Ҵ4PIC榠.k7 ]oI[זTTCf3]"6B8d;43@>
-T+&GPTy)gbpSPKmZLh vYg\޺]?SF0srO
-s/Pv~FM"XM-~Q[לHf7Kxu(=
-ƀA/u5,aiºsB
-]na)XM 6WIch$:)Ff͇vK>zs 75M1,2;[RcM8f.E>R`ጽuYOM˝'mN&``xH ::>;laVt԰M8(D<@
-]AĊ6ym2x<&v)c};ʌH.
-g(;|K4Ue䒂{a=[ O1@/c; m@
-婐&\sTPM В0;E0At*Bd>(o-R.u; O1L
-(qPA]tkPPMqXNb "";b9cSjf`RncBD+=ڔ!D|8&C:1XMY1Agׂ
-piCdޟ+&9n.,0͒zұMX-!:}NЋa_' è7 = MZNb`-pO%|2k4@Bq@ vEA *,YbqTf.(=z$v ^e䒂{9@Tƈ#0hX%{
-
-0Ce(cx*_=|GmT+S{]fdyKZ9kݰYj爂[!Vc0Eytz5 Eǀx_q+0r@ŘN,fgX;!&2-p%cB l
-LbT.7Oۨ2a|$t#"W;GԄdgʘ@`wnS~^axzVE 6h:|D
-ߘ(J'?qXNvXOkK[SklBhJ*:E͖İHG!x&0q؜ $0}"t KO
-)lb.[
-I^Zw`6cnL~+`T^=bDo֋*Hib`7lI"dCf^9⍀_dM,T$S Hoi$KO
-)
-0Vn["FVd4MR/㫯(SM8{W_-
-rve !ej܄tvճW=*GjVܕ/olK/ϺrzP`gUHu]ArOw-i.PôREc?R(ߛç|x Y 4 'k]B9o5ƹHsjZWA`t3mw:Isʅoq$y԰#p*V]w`diewtVNJsm._>i8ebqj5Z2D۫JGSl=ue{q݁lZBAA'c` ø@UeuܥaԼ:6l|۵~ F8~İkT1>~zO}*nxYN="@FC]G6|l=f%rO.ԇWxsKS¼uZ +/}ts6oQ9g,N7wB,fpXXvakaRi;WwHˢB!qݢ׸ ua4c3s*=b쐬GS
+ؔ7cozO󍯰훿ܾ&1V \n;!@G3w=KeK9 {Dۜd{vD |ma5"3~rtdB7ޞX`0X{ٸX0TbjҸk=쥿F}0rj?|ZdKSq@((_eʰaD}SKW0/O0͙٥pש賰6pO4xZ 
+}wLµC)Z;P1վ]c
+R@=cwSfwNek:BrǽlK1n0@RI&*49f"*n
+R'1 e^ m.a
+V]x86te*%avPݡ Jᦠ&t<&(fBjkHehrЉk1sacUm (&lrɺI.oFJm1`-*#BE żGfa`"Iw &'(n\gb!~ 6-'%mP bj/f=
+\M&
+'t3^@~Pt0[\]rl~L# N0dhv&${ۀX예4eu?XfSw9A27iq1Ps) 4=hv&${ԥ@s tel4B9z0\y;2`(B-ʽdlDʖ GX
+
+M>jPW~_!a/5U1a{M* Xj:Pv×N %K)aڙQv(@LAd0jbW\{dqh\VP aF sqhSPKm
+)n+Z*!o]an)T(>Y-u1hё Nb ٷiĜA#J]p P޺fP9
+j
+Hu0' UR@pTJh޺]5j"C1Sg
+@ؙ:dNaDt(0Qxv0j`
+gUԥR[B-3S9PRzv4]YfSbHLɶ:tϣ"n|D3 A
++ADj tN~amQyvLt'Ned:Hd۶t$
+i2"J.2O Nq!gJf5}ܴ7!ӑP1n@d+v2f2t3z׉'H"((\RUyZvsZcG;S38.g5
+!NsSPKm u赛b7A$kK ?3ڙ.|W!
+j*¼S3a`I)-&4;ͬZ.Co]実)#Z9'kx
+X?&̓zikvNDdkNZNb ΎҌ%armm:c մGyab9o!.F˦۫$a14n[WRm#\Jv ;J%
+Qƹc}߿Kƚ
+GX")p޺&e{r6]B FAI0pA<mgsL$\mR +ADjX&`Wp"C b<6l|_<1پeF$WSCRw܌y
+iDߓ{~?m{oC V :0CRہ!L)vj!7Ȕ kg,o% 'aT^A<zL[ۑW`QY,B1LǵF)mm
+3P)nxkPNl% ~Z6hJ;
+qy١)
+6 dщfTH~m9*˦ƄbdhI" :s`X2mfis7 )vs|ok&UdqBNvqb.U(EV'TVPjI1 gMw0Ly)m~ɱe O!zmQAt" !j˦ 3kak8!lo2S C[x7TfIoKX&u,L>T\@'JŰ/ǁ ᭹aTPV&-'J1r0\sv8'Qq\|_5M !V`M8 Ev 8X*YSP=;?2DrIAMHfhv *c4e,u=
+jB2C\ay;Gbs䗥v•fBq<r@ŞNr' p!v{1<ўd #6Ip.32ZL%TCA5n,rsDAMحnjb
+m=G؅c@@uqÌ˸ЕDCR Hfb`'3 Vyp[[|1X6z&x*mklxdv
+:vh#
+jB2Cuepm 0;7V)^?0<"Zk4C
+}
+Q':9evo?Ӵq!ą`Oar/µDM&T ~DlR.*•{0USqO-ԩ4.Pc']r?d+7-n{e+2 &rPUW&]}뽫SqT2I[u25nB:۫?\#C+g ʀvU7g]9=(0\z$: '廖4?Y(aZAǢ1\x^gMT[xuE⃁my .q]7jh\h5 j0z}Yq{X6;Vna9a7u_jF8D+Ůk;On C2Nʉ;+'wڶN\|/մh28~-Tf}#)6:2ý@6-p!RRM1xHr
+Jaq*P0Eb~ Gj^ 6Z? #?bXZMw*^QFaOK{>{G,͞T~ ܮJ}>3F_j'+<v9)a^:-M
+>~J~(~
+3e;`!~3K8,,Sð׵B4oe_WB!qݢ׸ ua4c3s*=b쐬GS
`]@ze^%n8{ͤ>ٓg ;G)VMajmcN  f`iH _~Te}Q Ƹ83E80t=\슈^jkm  .6]čf' 0cavL
-xE}mdf K_#ߊ jWo>w,v%%񠊻<_m=Ə
-<`|W?U{uxpH}K++o1.{fxgvoCVW>߽wv8{`zai!}Qҿrsi3^]z6j{,Ts]ͰStBbU?HJ]sI3p* $=d-OU׶vyRbg%ca}NMď*O+, n.[oL?e>=;\5ʿJkɲמSq^{&~5u=)%]FOa/e7<f|q1:3ۮj
-Lإװd7dE.I7`shY6=} s{[ikc 1.nLZsVelO3sG (%6zn͊݀\j;Pk^5B\Z.CPBe٫`xlŒt6vfJZ](ߗǸø}a2NA].+JaJN\F1*3^v2F9ĀœUн${Yb 9ZA
-t uXj;Pc
-bW
-}2B_znvlxZ 8hm슆*SoUͩCGPc@5 Rtui5.SR6WSw+%!GiBR_s[ er@[`*C}2gYGxJa( N&Ȓgvr-0?{SVZ,!Ԓd3},Q^j*'o[EŀU2L|j8-~&p h 7HjP}¬iG,Էi&Tf4Ǯ^lǷf[+`
-XC[ jK9TJ.sīƝUDF[&cjP*@`PJK$sbEDeb0X,nkA#{a%HH3X`.i.k4X`6 `}+ }@ߥ3<lUռ5bfɶ4aV4uv ;i* QۮЉ l5Uj K |ˁ
-DG:5X˄X
-X>ZnXNX, 'dVåfؤ\ڈԫs +V S %g3i.Dž%c$Z MtjsPlkD3FYO!V2˝)W\?ES0w=U_%ӫ~ y8֔
-va;: ŝ^Rq-썼5kz
-acmq-)cf,e)X]ncVq
+xE}mdf}Ίx"7mv2s.rII<?W[c:O5_*s^ý3\=rĒ<JlhvǛb%dې*w]p,ض^pZHoT)\8-bڌWW#ZK7~a{W3Tx5v=7
+ۥ[<OcRDayxu]bOJI׫SgkثzKFY 2٦&_fLL}2ڭ9'Gy V
+DM*hAb7.ڪW v9'TuPv/4r$[$]ݡٵ(V
+1.0nDD zESPKmj}Rص+!QL)( fݣQ01od+th2= CA^BVen5]+n榠.XBvЗF0A/"^/hZ[p+J~
+>PL_E.,~X< âSy& ݀\jK( =;#K$ٰAxe(K,b5`-`IVQ1` ߀~0NK !2Z.2bn߻0gZd>m 0M+[m+a9(}
+m5@u*8З40daD<vX5c0`ܶ Z8F޺])M0<Nl.kX
+7; Bq#9P_Ė<4ȰRUK;*qgիy%V)Xyfڨ>!vA`2k5\X$Qٲ $#l^X %7 :9 DZ Vy0 c/'1aFߊ@4Cn+wi pG{U5zM.YMXzm@]*hqBhdJC.CԶ'tb3[Mjr QNdnl+2!/
+Ymg_i+?;,Gov\YX Ujlk,o=[U, ;vq}KLΪ{)GM`enкɇ7Zܔ\">F۝.9:Gw1*q)xS
+ל.+"){Hד5I(S<s\h>ݱnaoX9ٓ/Nڤ+0ɯ9 ta 9:_-c8rf8ljy#=J<0z/{V /K*%)X.%:ddr)w̭_r(OH{lHs<HF>|6l-S_Ps<o6F<1'z?΢3ΟuDg$j?v'=Q~AJGґ<#ttttttttttttttttttE$$t
+dNJ2Tg@KisLay᜝t3th < ;RQZqWH'_i F@~ Rk/CX1nqxAD3sNZރUXC#1пmWq 1
endstream
endobj
-615 0 obj
-<< /Type /Page /Contents 616 0 R /Resources 614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 619 0 R >>
+624 0 obj
+<< /Type /Page /Contents 625 0 R /Resources 623 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 627 0 R >>
endobj
-619 0 obj
-[ 611 0 R 612 0 R ]
+627 0 obj
+[ 620 0 R 621 0 R ]
endobj
-611 0 obj
+620 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 326.699 386.919 338.654 398.874 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-612 0 obj
+621 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 327.143 174.772 339.098 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-617 0 obj
-<< /D [ 615 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-145 0 obj
-<< /D [ 615 0 R /XYZ 79.37 771.024 null ] >>
+626 0 obj
+<< /D [ 624 0 R /XYZ 78.37 808.885 null ] >>
endobj
149 0 obj
-<< /D [ 615 0 R /XYZ 79.37 433.664 null ] >>
+<< /D [ 624 0 R /XYZ 79.37 771.024 null ] >>
endobj
-614 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F20 382 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+153 0 obj
+<< /D [ 624 0 R /XYZ 79.37 433.664 null ] >>
endobj
-624 0 obj
-<< /Filter /FlateDecode /Length 3997 >>
-stream
-x\Io%W}F )sp."Y{yO-hd|U~|Ʒw6!X0FOMl.06gVl߾opn$.oϹE0Lq¹}s}:~^3/r Q#|OxW5}S;VFxf ,Xibњ3#<n}C3#af3r\tɼ8N|f](`JKa.7vZ$AM3W|}Y^1O/+-W}Եc{͔4=<!AM2@͟!/Z{ ВxF+yM+.8AqWgn]^p);5ΏhAÆc`v
-tl'Hqx0LK%+T/EXW`
-~_@Iqv8 vົ{˾7ytpǫА;j\0zod[P#8Ō.$WVYP<Lq|1;SR@>1ׁʉ36a+G-l.[0BYw YwpQYwt+?7JҶ׳(JtAVD,X-4Z`v!^x^ ZA]"ڶ19goOԜI#,$lo
- #zγRRޗ4?/܍8Uo
-qXPz3vHD2onh.y5]P:f9@%Il再\<|Ln
-boޫ@;~o'S(1"G5Kwop N6@|\]<~v7 ~B
-tuIWτSzjD#X_20y캎
-W犺Y~SܰF #n"Qok.$n{wK0Z
+623 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+632 0 obj
+<< /Filter /FlateDecode /Length 3996 >>
+stream
+x\Io%W}~ )sp.).E^ޓ| 0u7Yb-_'>}{݆MnǓ;| LY۷o/ɹ s~s8! v(ܾL`s}/z>+g^'S|FÏ+=?碌2^û9[cebwaV/93# ;48j_NqRhGSB\J sJ% j혾
+w};+ar_FKhY!(/vjAg^N=C$#J^ӊ< =hNt\=+z+vU|k3e'>Ҟwڸcq>(qHx> mWE`&F'nY'O$.`6V?sȭJ?#l;,q8JqFxVlII-ۍ݋qΏd%JhA;WFM߅AI3+Ubh\fa&m42FOwik
+*=f.I0*O9O Tw-n00F(/{xXf
+o
+Q!f; CASG.b3Rp2gܣ GWYKU(δ ,'  Miì LL >t?^
+EA߃Vy ' n*|;~1VJq뼝D#HfɆ^<htg5~c 92<'HEy`~E\4 %\y4'0ר1dlڇ_rtD UWKH츤 )B5Dwy(4Dr <!؋-i?~Bjc0\VpS
+tlgqx0 J&*B,
+VO ӗ8 
+vAʗܽcîYw3u܋/%Uy &1j/;t]V-@}/WtI$p(QЏ
+~_@Iqv8 uw}oZeuBC~pu<mY@%ZN3"<~b>7 \AZGgup/fg $ٙ2GqyTN [A?zoAfsŚOڇ-O򼃋j43k5XW^a,QVG3d_Ϣ0m6 s
+Dr+Enn[iQ`v!^x^,ZW.DtwZ09g!jSoOԜI#,$ln
+ #vγR}% wcpNM Ihjj)j{[Jl949]nNS]/gHw
+)?xU㑪#3N(ҏμBҦZJ#*&$SV<G
+SF$ˌYn/Â
+Bz̀ޢ(n
+-^#
+Ĩ1K?nv(EN;q`q&\u1};oKmp'Ž{S9 8➝Y+۰uԼ& R2=ԕ`wz٣[D@l!!0%k17!zŔLQ)9Flyo-OEd%YG8}.Hp0
+ħxnKsOD-^m`!
+WτS{ZDCX_
+20y춎
+RFm{LӶ)}oP^P{EVsGz~Lj5RO7IvڈanF-B2k98w?6?Z
endstream
endobj
-623 0 obj
-<< /Type /Page /Contents 624 0 R /Resources 622 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 627 0 R >>
+631 0 obj
+<< /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 635 0 R >>
endobj
-627 0 obj
-[ 613 0 R 620 0 R 621 0 R ]
+635 0 obj
+[ 622 0 R 628 0 R 629 0 R ]
endobj
-613 0 obj
+622 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.21 725.076 396.165 737.031 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-620 0 obj
+628 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.821 351.038 461.776 361.987 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-621 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 71.409 416.581 82.866 ]
+629 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 71.415 416.581 82.872 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots)>>
>>
endobj
-625 0 obj
-<< /D [ 623 0 R /XYZ 78.37 808.885 null ] >>
+633 0 obj
+<< /D [ 631 0 R /XYZ 78.37 808.885 null ] >>
endobj
-153 0 obj
-<< /D [ 623 0 R /XYZ 79.37 771.024 null ] >>
+157 0 obj
+<< /D [ 631 0 R /XYZ 79.37 771.024 null ] >>
endobj
-622 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F65 387 0 R /F58 386 0 R /F66 388 0 R /F81 626 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F67 389 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
+630 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F65 391 0 R /F58 390 0 R /F66 392 0 R /F81 634 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F67 393 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-631 0 obj
+639 0 obj
<< /Filter /FlateDecode /Length 6161 >>
stream
-x=ˎ$7<z(4e{jL <^x|_R%JndRI#ȐE\~z˗I{Ktʙ˗?$|!.;'/_^~yHyp^' B HE>Y
-=OeQ]%q~O9Q8##hn^H<JE<y+nL-6xMb]B|n դɑT OR@4>ȼ(!S :2\ubfڃ6WƝPqp[o_ՙ9KcŠS[f ZOYSGH}ZsaW#L/m"]!7y FqìA?
-[kDp4z2b2x&6[X[1NdսyPDKZkLzغ
-y7?lUȚ20,aX%|8ƾԏX, ?mr[Xn:"oFqrD.P4;)WFa3qo'Pk[ghIb=+mJ-Y~xg5E8  6"ُ|-}8>}^`_ɭd#2=J7O2Ս{ٖ[ž>2Nٖ̓[puQ8G-Zo?۲Gqo[yĚ9t7ukv<JNteX!roŊbcFy@,"EQaź7Q"]En܊?GB-Eauf1ק?/Ο.I<󥝂/1F
-v!_\
-P;jx<lDN7Kp"lv;(W=vmG"70l.= A]$egݢ=8>6b<nOOfQ}/BN䟻YAj}E0+w
-m/pHs(X<A8,񆟯(MejRH?|l1NUvŽQ7P1
-?FBaǨ(u~Q5kp=Ԩ6lJkk(sK+[Xq:s ,`Q. rbH84)àdY]\֖m~^y5_+fYa$<z
-R2y#N~ tWT\|w_^_
-ޝ2ֽ"*|>)}Ă9}5"})xn*>2uS> -'6Wvd\
-b^UMa*LZc]*bZX 4۽ߎ5- RO
--Muڐ.1f XT GwTBIm: D
-SbIrT(\=Z.ˬV0ӂg+U#;dBq꒒o_p4,#wS +_l;yC+zŌ u,`+_-2vďJݭn
-.=6
-lR˿
-X gW:) )+S_;:oW'g\G=԰7t/G_+fGkU#K6>P{x@EɑA;)y\̵Y*+bsS %quaU.,RJUI^ܿ Üy^j_Zzf8L̔]a/uSYˣkBȤg,s:ц:vpq ƊsN(Ҋ bgdY.L쟭drG-[{>'}`#p<6PVF²oBR3ͻ.k},U&"aXhMu^IYq`L >ⵢT a* jl,ܬ*oUkYsQUST¤DTм`Dc(`!!`
- z0"بOd t  ̩\33` AJ$tOgCI>g퇳\ֶ4攺wXR%Dw}[3@}{lLC~pF׌ou"k3ͽ ͂]o$hl"w3
-O؇ !Ie'9$}ù :3\xiy*58N rE4H}kjXy.mM4&Cn;?}=`4{`1ɊZi`Vs3i9|]ϹG%{|ʈYQcXw֊~-70x -<9qp4mU<N ]iNvL[u5ٳy6@ba1 ɨp2 47-ʘ^R->-m[`%AVqF`0;d6Tq;5 62rD j(静`HpWј`JTh?q8z|+s uVs +!Vy9Jzb%PȤ r+̴
-S+,#h5Ü2T52
-` jPi8*]a5V VZ H$Wb=ut> z7v&Qz݉ ÎZ+^}kv,$CIFI:MJ"VtT)&I ֹfSZv@ 6H;$WTbu)YQ;) ɵ(N7V0Μfy%;0:XcZ$RDos-569fBuD6UkօMhI Do0i/G-I̔j@ WX=Iq-q( (6[睖 KI$W8ݪIx] U*!t!`!18f
-W<6SS-25U3Wc6 J$NiC6a]m
-As9ˇrNCx%cKN|}x\N/paR!m\KTXj>72y6snץ3'YZ>zuڜR y~p\< nuY`]^0j!CynFA(Ɍ92d UBF;njaÌٛK>$8= ?Lmnw4#Iȴ|-w$Ro&rI_>)^,KLƷfz-WC4!gfF̘7qin$Zˈ<|:
-j^m=,㙁qV.fZyE傍xfV7
-XB;]2]؈K2Lvn5D=R{D|=nl⋘S-SU%+njTb1#%Ϥ!evt&Q5Oiɫpq"+iZbMy)aq鶰Y"Z"|li tFCj7mdu8>Q5#C=k~-Urv_J⚨v:]_]KpL^.(oc{Wؗޣxҁ3`^[RFxt:9X ql'PoVc͑D)~Δj (xs|gk)$qqZnV-BD_.uy>3ZVumW-օd0}[Ӥ<C-jf%ӧ&U_1I^fr{,P^:Fק_~+r˿Wp-tĿ.x= 7+W>ڔk4ܤ
-ډ  F|yA+ʾȮM*gV{KW$wuP]*g+RYвś6MvGwqA'Э BaW =QK(DZ}:'t]UxP.MƃIwViVYabzmxj8>>v6.kO^W_ne T֝E53|z[dtsC7AH6*I-ϵVvÃ`K!~i3D5#6`HaHRÇ
+x=ˎ7w}E=4U'at3|xY`F4$ 2Y%Z
+GF$q(뫴D|/E^|\x'OB ?/ dBW!¿ ߸'k2(=m#l&VR)UWKCTW- "rly NpiBtoc4"<Qi/_~}X7ӇQrՠe2\ƺh=bV14VEL4 vc"#LʅG?,E0vV2k湈 ,&gd@b{+A&U C1A
+GvZunO*;8;[Ϸ
+_[UW)AfwWf={jE"h
+v\Q]|ұ4A Q+ڷR%<aBy2
+[k„˨P4znevxnLl&6bɪ{?ӠhPzݺ
+h޹MְJ`s1ss:!6q
+i7?lUȚ2aXjX%|8ƱK,7-vN5 k789"(e+8lf> $J|iLm"IUgEiRZi6|[(ęOK'^3/e }0{?u,w++735X #<=J6O<{[žEV}d ~nqݠQ0G-Z/"?۲G0{wU5@yԌ//`u>yN*U\&,u"gu$Va bNhXg "EQGE}JI (̡µ΀巯<$ŠFGX?w/|A^xwR]6 ʠmKƔߺZz\e
+(Ú8_'hN/ܮ:uyyiaOp/u{a x7GT.
+ & W׮jGt w؎2B@J@?h`{`;0'os'M*s̹~%JbVX/}#'Gui}NaN
+x'_" >14"ʁ#:3oߔ6BadQRewXAQ vR7@QH;J݀G (x]5earkHkf+]K<t~IKk;6t0F<tR֋d⢜=t=2.* wsZ{~>-+R/i\]1K
+ fWj`A!kl"T
+2<EW9?D#8c64n0X~/Ayd5p[/LXD2_yƹ^UH*7J-!acڰbq
+#`bߩ'-35%6rFy8c
+
+؄3kCzJ`( xKGrWsO}`{J?X} +P
+jFJX{d4mq * s:@pQXpVS:4IՏ9#m8CÌj)((ЁaO2Jy Sꬾ((8+ʩ 1>+i97:QgDNғN%`d#'hO>x#{q*lX<5{tcgEyR{"h HjԦL|&[w'txioX`*."k-c5,{ciXNi`F?`nY1ڦڼ;%(u/ KC2MX{X XJ/^Up 0\ّM:r)dGA{oZtb*gMZ,e]6bEՑwW۱%eS-@W{c`~F1lv(3[43W䂃ƱKSeA7mH*̉B'RQQR_.Ңx)Ձ([AW*o4prIyV-_XbҀA/iI3L&Fk%.I)یUw3'%
+d_r+Czѫ,fFVp3~a?:V-U<w)pd:I5+`]a70O]Qq!RþMX<pUe#ύUުӍ%@^=4X"GlߨqRr9fȮ~M6Ttaf `y8
+m+dWn%뙔g31Stebօ]ooa/
+ #LfDDծ -K[9䢀@#bzK&Ud>=9XA?[AfK[ 5&u>/}`q<6`F²/-\TL˒qJ̹HXǃ3|
+ߖ f%1;.KJ/tA?
+OϤ+k0>EU[<d17hGq+hݭm+_B 
+qpxFoS
+|6} -stM}YŤc SZZʠ
++VB˝+ƙ ]5:`ҲjN"5i߆5a{\\0z +ٰԋ2.J63)!UagZKN#5i冎hN4q< ؟ tri`-B52:Je*~ltoB\"G".+֐dK|)ch#RK'&T#{,lc+灹,DΆKKoZGEE-4b'L}0`HkQ ߡv3؜ɭa+,$ 69oenS4<kCB=1Р8T.}k#C Rndj+Y$+:MRYI;A?(%bwz<q9Valܷ;A5:9hP8'AqU$.iJڸńVv܃a\V
+[z;PRo%}Tv\kIPo &ѥ9nXy<[k;srrV;䳄1)uRXos)529dLuH4@q=%/:]4a$gghQRo%{Rr. s[Eb1W Ckbl]ȁ`7|vމ,AK[SZxj+md.$F#lEHmw&lgu]6
+B5mPKk$yR#r m[a;7[+Ozm#ns:#uCK([SZb+lp.(F'm\EP&^jm\anPT]6AFAa(yln@Im\PjmNPʹ$+IPoNNVc 8hӃr
+3<h3\6&p0V\HJX#|#E@& \:n6]6p?,hXԣ6.$JL56x'Fg\$(Dc]E JGuy) -!uQ5C|(d_yoOG>>.ǗWv~YS V:uNTo)"bA}jo978ݮVpOQ|/T)9rYA3tux [\5cVݙ Goޫ=vgl$<aF͘M#K~!];HUZIF&&=Ș4{kti؈'tsC-;>uf$ƙ̗r?MBNl,uv֑Drɜ Өv^,hW!:͍L|i3:|d#E"
+"zAxF->W+èT0 `7fugI%[-z߁H)'ĔadVJ=
endstream
endobj
-630 0 obj
-<< /Type /Page /Contents 631 0 R /Resources 629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 633 0 R >>
-endobj
-633 0 obj
-[ 628 0 R ]
+638 0 obj
+<< /Type /Page /Contents 639 0 R /Resources 637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 641 0 R >>
endobj
-628 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.246 76.718 344.703 88.397 ]/A << /S /GoTo /D (subsection.12.1) >> >>
+641 0 obj
+[ 636 0 R ]
endobj
-632 0 obj
-<< /D [ 630 0 R /XYZ 78.37 808.885 null ] >>
+636 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.246 76.658 344.703 88.278 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-157 0 obj
-<< /D [ 630 0 R /XYZ 79.37 473.185 null ] >>
+640 0 obj
+<< /D [ 638 0 R /XYZ 78.37 808.885 null ] >>
endobj
161 0 obj
-<< /D [ 630 0 R /XYZ 79.37 295.178 null ] >>
+<< /D [ 638 0 R /XYZ 79.37 473.14 null ] >>
endobj
-629 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R /F67 389 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F69 402 0 R /F58 386 0 R /F74 423 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+165 0 obj
+<< /D [ 638 0 R /XYZ 79.37 295.105 null ] >>
endobj
-643 0 obj
-<< /Filter /FlateDecode /Length 5463 >>
-stream
-x]K$mϯn("pFHLxNtpH^uĞo$L&<h;U#
-
-[PSa¶@
-feoĤd8R;11jh&hkSlĎێ]:vX[=qNk70.4@<,!X%x{tA.zE}kKnuzߩ4zFa cҰHh .nM,.}9'&{9vuBh!:ћDMo|}I?ÐI&Qq$qs\4SpmvNb]A=B/Ldl|`gY3!ʗANSzg'_-87.ǿo9WCT_8W.~o^ \ސJ6"=ӷ)h (7ع {(2V0<zۈ434٬JJq,4.B3 f]ҬS5D?_Hy4lhE`,f<aau])CxƤ ZVAF#Sh ])[}&-A L
-ЭLB'VVIl` v0Ӵi<ҞX 9D#|dTD<^Xv'[f7؏)BԴ.{+ܙfsE5{n;
-;eO;)1
-m.UdH
-[<^CD4y^$"&=5.d@Nj}OY1T@Vȷ#Z)ک
-A,aAЁ+>wzNZ)SX7uld
- y5yΛs=-kdH hv-U1wtttOwf70< ;=N-Ln:ܩ׭7eY {PNWQJFhTʂ-qc)vp80v*3MA C `"9O$ ѝؖ('-tAu2[  S46uv8|l&m+,G;\A$Ti([Я+<i썟S:2[JVBWVBƵJ&>}te'먃p2kSp1hL5j^ ĿU}b*;@Umw?}?ձ2kQKZnxZ!eg*p]
-ڿAj2<^WaH<$BGaMU1E#K)W~:h)
-f
- ?oϒuWV*da"J^1L AG*^w =]N}ZA2vє~`$%fBU3>z۔LaKK
-w~nzSܭ0mff;O.,)=Sխ=̉))<ʼnjFzLHKJl ]'ǵW>Md,x@ePk_:0zQ'^lb?iKl)JvO{OS9K]
-|K
-c53q`KiX
-ޛ|.nKdԩd9UVl~fGu8]%,T rr_;_5 ^'S)Dq/Ђ:g9I㉔$Nd{I3~=k-z[TXzYKhY`lb
-,?!HeiʪSx{gFT`BR0wPe$ `ewطy#W 0i.fer}Y@OcƂ8CkùQ-)=|Rc=" k%y8-@#:-P@Jc}TwP_-B]6hq1ܟJHuUBSVj%7mgf>`NO$z+`F
-4ʂh JE,A̤f{|W:(+hn疖+ɕfhzN&8&.X
-CP?wu>v*b[h@NhB i.' pFA@ ,RhnAE"ZBnK>LG@#m׊x4o*tt4q5 Vfm\gִ@Uas~UXjnx9D^aA=oh[N/g~@Ed]_PջrPN6']&e9]!楋^F&g-f馨dhoZV4\rm~}qnd|̠\ǃF[[٭A–I$hC,dMA+wosfCƛs1R}L,~r",aP&Pd'-,0%Y5xDGs݈sT[FԄxv능8DJ m}[խ.E›v'
-T]&Xfܳҁ7o=x[ضseH8Y/4efA,4!Tz&CT;=u+O <0k0<U(^iIਯ+>-&=P a'DFʒ>/f}O\IM5TTrt
-!R/UtNTIITeP'!sj SYɈ]S7A,=ܠ!˾[j_
-TU8{f7pF9_) /N|f x
- ϢI ̶=jJ֚z[iU
-ucwZ-=+zR/9Gv
-jێi[Zlr̚
->_-tvR6S Ra#} i97<+Y
-x\M遡Ifqr}/dڝ
+637 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R /F67 393 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F69 406 0 R /F58 390 0 R /F74 427 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+651 0 obj
+<< /Filter /FlateDecode /Length 5466 >>
+stream
+x]K$mϯl(|woOo˄$^GJd2K]>
+G
+H @\x%&s5`EFQjGϭsSB2܄eN܄"C7IĔb8R;11jhɯM hkbnbm.T|?pCЭ8K'˂b!/4@<,!XP
+Bp<ItZPRkۻWpzߩ4zFa2=ǖaׯQјA%\#ݚ~]b]zNM9vuBhe2*yћDMo|}I?.!Lqs`\9 O)r6;'AIk.~S &F~x>0b&0[ڇ(_FDž=q\S|W_7eT_8W.o^ .~.ߐ
+Sjs+EzNߺԓ1Nv?Kmz5h2|3WH33桚PiVi<oLB`CaCb}uQƑ8O%4Zi300sil\vw
+m';2<ff0)[-!F#&N*(MS5Œ>1Zy=5}W S%"bFº;aު5܎(=~@駴
+Q6[﹯pg1q;mpݺDڵBEר]nK4<:j]Kgc"P&ҍy4IiXϜEq|{f{l-<mJjѵz"kyi'%PdH
+[<^w/Ģ1 (}ߋj0ߤGƥA)+
+(jvDk7eRv*7_x&}Y93t K/]k:0y_ǶI>1^oƦ1ϹsieJ~}i6$]K(F&d)'ĩ FS0Knɳo5A9w_W6\G+we?PE:g քǍժL#pɴ۵
+lOWy-ovV2!ѕ
+1%4
+u?(xΫ>CO)=Cn ͶGܲ[^H8s&q}ӳ\T]7Cޘ`F~k2ܥفvh%[mIkH<v5$$]!Z h7G&ҵKvzh
+oӐeAlu$ɳMۋx.'%U/BZF\-Fw6(}N(UEpMۍN
+W$Vى<Smϸw_~,z нs3e~ G_%Q`D~2oWC6y &k2ff^üu. t,ꑋ]I KGV\kV@|vQ<|*z@ҕ|4F9=A;89 x9hH4z2AFVI<5>!ZTߞ|Ҽz
+)o? o|BI?B:
+=Dg
+Q@P^P)Cg
+*QQ%+OT4oyDӌk3tWQ4*S7Y=`ohx}4sz&;bIvjj(E'Gx^MA/uR*~v0[Ϩ
+ Şz}[܍Ҋw,|M_oM\0d
+a\ fFA XmerFI(sq>IȅAg$P#/$)TU?[}LbROQ26kE<7:T8CzjFYUfm\"hִ!=_cǺ3))?f!k?M1+CݒzzW;3|Қvf+dL#<+Dt@Olka
+Z05M>x+5qͫ6͓Lo94|+x(|k+5<_2ɤm`K`Sm8-~mh{)e=?6>(?Vs0(RV3(53V2PyxLCɊ~L?|+kEֱC|&U"3]%boZHieXXu5 ſHӎVaUDD!> d7~:pFdނ7V)xg=R
+n.ǿhjuWq5Q1Ss'O}H@*:SK"JFy Be y@SWR~tK7=G6!>He, 뤹&/gmЯiޞޚp[A,t`PmTmVE;
+于i[Z`wd 6@fN^RD;)+i D>Bi$97<+a*gxvr_
endstream
endobj
-642 0 obj
-<< /Type /Page /Contents 643 0 R /Resources 641 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 646 0 R >>
+650 0 obj
+<< /Type /Page /Contents 651 0 R /Resources 649 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 654 0 R >>
endobj
-646 0 obj
-[ 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 640 0 R 639 0 R ]
+654 0 obj
+[ 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 648 0 R 647 0 R ]
endobj
-634 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.325 693.209 172.013 705.164 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+642 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.325 693.214 172.013 705.17 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-635 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.734 693.209 199.689 705.164 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+643 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.734 693.214 199.689 705.17 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-636 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.733 693.209 346.688 705.164 ]/A << /S /GoTo /D (section.9) >> >>
+644 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.733 693.214 346.688 705.17 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-637 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.091 333.515 234.797 345.47 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+645 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.091 333.568 234.797 345.523 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-638 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 250.518 333.515 262.474 345.47 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+646 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 250.518 333.568 262.474 345.523 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-640 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.107 176.759 372.063 187.828 ]/A << /S /GoTo /D (section.15) >> >>
+648 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.107 176.817 372.063 187.885 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-639 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.702 86.122 272.159 97.742 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+647 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.702 86.122 272.159 97.802 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-644 0 obj
-<< /D [ 642 0 R /XYZ 78.37 808.885 null ] >>
+652 0 obj
+<< /D [ 650 0 R /XYZ 78.37 808.885 null ] >>
endobj
-165 0 obj
-<< /D [ 642 0 R /XYZ 79.37 307.345 null ] >>
+169 0 obj
+<< /D [ 650 0 R /XYZ 79.37 307.399 null ] >>
endobj
-641 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F29 375 0 R /F20 382 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F26 404 0 R /F57 385 0 R /F69 402 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+649 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 379 0 R /F16 386 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F22 408 0 R /F57 389 0 R /F69 406 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-651 0 obj
+659 0 obj
<< /Filter /FlateDecode /Length 16490 >>
stream
-x}M$9r~E5q~@]]&J-`NkFӳtuV27{N';y\r\~~vqRr/qqҮ\Jv#Ͽ^H8YV_rs~a 7?G2W¿E$~];-o q BP%ͥKsA<ջT;Tyw1]3A;Jtq,} l:0ք-(oO5{ pKbA_Ss;jw 1E\+?%Bߓ<-ڈiڮ*C׋:$ү*{_)3\X{]IWޕ$X@'v,[Nx?#^B_e n5t)GflJSK٭pGR {֟ܯr)އM^w,|z}X%.L?y_] ;x</'klk9>ĽnG7i=uj܂**4*IH
-S}Ýf'5#ZDzI6'Rs\6T{>Y=jkI>j Қ ^f4(ydekm7=S {n%ٴ]tZΞQUhimH,ip|<Z=7Rb} ̹s)_kwf)|1h )K;0]*[+.?{v!qGiU׻iEia*^-W]{ɚީ-\S'O_^ʧ7aenrz f4ҵLY`CiJW<NyZQs7~F9P{Q/rޟnƧGiTyhMV"&^&Ν^уwJ2XfZ`îI?̢ɿC\5!eP9ڑNťkYQ3`ᛥ"qnrgic!q}SOS;
-S/v8*jgsm]{|Ey?>~{,)Ns7zDWn{UF좛|Iķ,=pPgL=;xLlj6L[LLKH&n[=ʃ ^)7[&Іɗ&^kMԄrv&(-g0⼄(kr_.$ğ.] t˧|.6j>5ՋWcX+aexZo]kJ\Yci.]VE՚|?ِ{੅p< E
-:E5NpW.qZA.VjKX?&V0O,p ?5'Ȣhc+a!8S]IS.7t .eFrN-v$GEnjMfV(ΐ|1WBky8<;OiyōhnVzS m0CL$P:BfLBEB3.7nCR'fJA]mTwahPxv;JL˵cʨVwrWeW=Gix|D}%+*Nn{Rj=1Ccr+KVԈE
-b[EZLxdAЖr9vVG$1%j<1/M)ıD?=`Gm}Y2
-
-)su\[saF364TDucN ^L9zHғ;Z5RPKQ[5b4|RIp9Fk(.k^[oNd^8S30]24J;:hto'2AыT>KQ#E8T+*p(w^(lqOEN\n# qw;A %RGeshqƅ)(G=۸&w4J-Pp)&]\f3@4Tn+SzZtذЪkzKHn J}a=\
-8M1IW%aWW~ZN
-r ~o2,Wy ;y A
-wxuVF^~B 5/\G_Ѡ$xbg1W=u(v^;|
-V.߁RDn# U )9w:lw4S̃<J"C;8\6.D$&0L48NmLob;;E'}P CrG|h7I Ifo ʶB>!VuIt(y^-0u)`=Rގh
-!sy.Z!-SƔUn񹻧\X++c:
-X4lhI~t(6<&ZnTKov`fx-&dPJ7x$%̕6aqyf80P>RIm#By{.4Kقqi\xNIeN@z4@|SncVX]ͪ_Jp hiq(v>unOw]r
-*uHTb3Ce`NTe<@1*dNXSܔ<] @ Gk-wGDIm|aRGȘV(1<F'Y <40j|&E@E3Z.cPwg"Q!~\}\28F$ -8*K͋KFr=O3UBsɃ_'4$L0d݉p #Ӄ x<
-4H53&Lpfǰ=L߄DyHNRRad3_F,H.L[tFG8KI*j*H0-k:n3m4vKL'P8a1g/"'Э->]ZjcKR4l+(?C@$RV(*dၡ0wg–QRɈ[ƚCIBnusi2"
+x}M$9r~E5q~@]]&J-`NkFӳtuV27{N';y\r\~~vqRr/qqҮ\Jv#Ͽ^H8YV_rs~a 7?G2W¿E$~];-o q BP%ͥKsA<ջT;Tyw1]3A;Jtq,} l:0ք-(oO5{ pKbA_Ss;jw 1E\+?%Bߓ<-ڈiڮ*C׋:$ү*{_)3\X{]IWޕ$X@'v,[Nx?#^B_e n5t)GflJSK٭pGR {֟ܯr)އM^w,<c0ó'u%񼜔rrr ߤDQq NsҫШ$j#y*0LYTBwRPPh &O7W؜H-_sKSdrx咯%m 7 Jk6$/[ziNHږߘ~GL2S﹅gӒv!k9{GW#m1]󼪧knHqܓu&|31|M%7ǨV%8>,CwlAX^ʢzGs2ۅh]GU_UѣaX{$_v%k^{rM͟<}}^~×{o+xIκ/K2EW daY+u_8njkGߦǟ-h,f||F0d(bukR{u=x:},SefP֘9,=̅;h>]B^=Z\6?sY+k&8~6&rٗ;4[ڨ0b7JxRѫf}Yq_{6~moXTgq`,x-xM2?^q~}G}6We.ȗDO|i{pDS~x//qb?ꃄ 1 V)ӣ<r!1jRm|of_kOM(GiG~nB
+#KRV_/_?BBՠ;ZM|˧?_k^@^}?6o^uxF۵&Kɥa~0vbݕ?`X[}S ~@ؾW
+FF[QHa
+5Shx]p9rc
+cJܝ+D)F^3s\G ZA 2
+]iTc sx-SE3Ns.D)_&x9*VkAEl0EWA9BDXP#w52`ָc"k
+Ff7ՀЦ 3DbA9k5# )a!4]$!42x1,u"*hFugi Ą+\=(Ъau(wU{yGWbᤁ6'y (vу<8*bTlLz\^((/q)[UؘˍI&m)acǿnhu@SvXJPҔBkL v֗ՙ!yl1Wǵ5W)m;cCCe NT8tŔ$=ɻ5ynQ#
+Չ(MP4F:vBk TL;R4 }Lr1LMw
+BPKi)uq\8 6g\
+ܑRkbP~dk[9a|g@~-xwbh;DCa6"8!(ߡuI ;)~縄ֱ
+_VBkDQvQ(sd˖ɇk 9Dʛ
+CM]ZZ~aH؈CHtZvugи2id:BIu8f瘜y@H*)PsZG\h&|P0rxnzͣ4Q=ji}Ҋ"=<ǫ«U6u.\=jj2$m823c"vn"94Ύsq}"?+JrP:JP;ZN٨nRXV)$k v2
+t1
+RG3E+dDH*ғMhLOH:s]<5x'(OtefG< %5<5^ꠤyT/,HV9S%^*5fjEOh:2ꉠD&(QۈuD*sNA
+l,1q1g2lBF 5tG2Y\IXPj`sלg ,5t+fk* ="ԋ ׭iG㩸-Kfjl剷脜D_Q
+:ѭw̯+H#> D7&!9f%oЬАw
+gRQ;c< uw+
+ sw&lq1)(- (u;l>)Dphfh([7L
+ 蛯cd8y3'ȼpftu'ZCi'xfSE ď/B
+o [zAs"Ր^o#@y98<z,W9o23; v6tU>X >H< 36^JmI)?ؾzcc|oalSisErlb&ݑ۹d"V=E#+-RlCc(׽H"y4Րxy<>anx}uۜe;[N9sMR SLwyWw==^P#2-w~U3rbRфݙMLa~3OUm?;]~ˎ8Ի_y ;݈~+~yߺ{^)n1T]+<ٮ9`앺IE/SWEvizZrͿo{m>T+xgP>(o>Ӭgl4~F~lԟeRhsˤ–Ig{&}GޞIgb痮~UMr6?09LO(&+#~|~vn}ĕIОI{6>.Ak{ay1k·LpP&>Шdx4fm"7හ
OܹƇo󲏕Zh E˯VibE3߯U4ewm:o}4fw٩i
?}+[MTL'g
R6O;VQ|:-^U#3T sJQ~稵
@@ -2420,473 +2518,469 @@ t8YbWmYpcJuǒsޚOgy$wH4L/~7@FREX3o=
#+mD<3C !Nlmf}:Ex**Q? qʻmiK7$h g^!eI);zR˼(c'<+МR!w;[%V{Ȏ
;JC~g[1KOc }ظ> 4*Z3'Z~iNdΠ
LO'" 0<d<}!2[`׎z2Hi
-/%%rmp=We$?j6j/L7OkRX~TRi<{AZFC1_~]U|gR
-્'p+ޑsYm/~=exo<fȣA=z%)u"|GsS|%A+W
-MϷo_G:~{^eتSe|á gj5M~˦S-K=>ƿP>Jz70^o/)xJ*\Gr 붉Y۽:2j,HMRݯzD*"CnN2q|869n'sܞ1NۥK5a6t/޸xP>]_E[S-Vxmնkp .oS3U7Wf)Ɏ'2G$\}x ~zz=i.k'xiV~2&'3 _yr $eJCtYg6r
+/%%rmp=We$?Z6W ~abqxZRzO_g 7/8zg^Gr<6 KrdɺF!#[,Z#i>GjOiOb6$_gņd>G/HY/?irN<\=ɛI
+܏[^U쨴 ui޽
endstream
endobj
-650 0 obj
-<< /Type /Page /Contents 651 0 R /Resources 649 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 653 0 R >>
+658 0 obj
+<< /Type /Page /Contents 659 0 R /Resources 657 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 661 0 R >>
endobj
-653 0 obj
-[ 647 0 R 648 0 R ]
+661 0 obj
+[ 655 0 R 656 0 R ]
endobj
-647 0 obj
+655 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.532 641.39 261.487 653.345 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-648 0 obj
+656 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 319.111 477.953 331.066 489.908 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-652 0 obj
-<< /D [ 650 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-169 0 obj
-<< /D [ 650 0 R /XYZ 79.37 771.024 null ] >>
+660 0 obj
+<< /D [ 658 0 R /XYZ 78.37 808.885 null ] >>
endobj
173 0 obj
-<< /D [ 650 0 R /XYZ 79.37 304.388 null ] >>
+<< /D [ 658 0 R /XYZ 79.37 771.024 null ] >>
endobj
-649 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F23 379 0 R /F29 375 0 R /F20 382 0 R /F65 387 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+177 0 obj
+<< /D [ 658 0 R /XYZ 79.37 304.388 null ] >>
endobj
-658 0 obj
-<< /Filter /FlateDecode /Length 5403 >>
-stream
-x=˒$m:"wDdž7B>MxnZE.dVՌ;C?* D
-cp Q×"R8
-YQVEy
-K)(:W@QkE#YQ`yW2 d[^; 7vJ@Oҋ}CS9H0/*s+NĉM|
-(٭&' :v-DD.-j-'9ZK&1Dտ054
-:'=E9=vM&ao ّf|
-|ډ*+`YuW} qe1p"mt-vkR܆wUlmG͈h/H:h$HFF>JKcGg"ts|ncx&`k$FFĉmҤ5لҎIi
-pn8~Oz2KHXnZt}zUJ"W} & <#@&/Aqr^.5߉Ɔ\#JӧE'u$T'a޵&B~GOpO~B?;)M?:{gmnpMbزЋd5$GW
-@z?Tc
-v݆a $Q8\ÇAifM7YPe57bH/LZvrw[Icܲ(1O(ӨcnQ{JЇpk6=v"Xw*bv
-bB!Tg$9m AB ĿͧADa|A \]ӟ)qnF-/(wF_v"䇫<Aƶs5VL
- /
-~(5 /
-~}aѮG7c=tvj>W]\]*!f{+"5B%QtҠ 'F<+
-A:L*ar:~{J;)ػ`'y$ L'K;/o>bx>J'ǟW$xx[O8\@t
-JsZ%
-HD4ZI;¸~sl}2҂/O
-qf=/P*Ff=HWwA/7ۙ(_{ k)=E]ho#H-H-I.=!
-4d"ʅ'taZXR9gVDʜɴ;ݫWl 1x™ Qb.Jk1vdwx7q?Ol)꤫ S/-X)T';Tw7Ox2Y!U!ku [ɄMr?2L
-lB$G2>zӣe?'1բ X9xtoB)śfW)~p>
-6CQPft
- 7=S{dMJƤԤ_3ij=SMY&-rU
-D^b鵴oq;pO-iL I̡en{YT>De8]CpA@#nLG3A}`Av6;BȌw&D` ypqQ]Vi z/"zw p՛J+'vl)W-y!Oʞg,+x+lQK{\*fA$2"Kq eynZҟRS^h۝}i3O>7V)KT]ji̭AP͕d4Ӎ5ŢB1DɠrkIѧzR_9mcĖ\{i'ZQ' T}*`)SQZЋd.>#^p~O>\;>Ae88W!fʞ<ӢJqgM|ikXJ[a⻮V=0w`\=W-I7<?3cP8woDDU+덛aWމoF޲S;rޕpQ}M8?ν8@p yЭwa'\A@ZڞH$#I-5sla C;C
-M !rM?GG4i{~)N/S"l6IKy CE,!_ }o\ﰡT >w#F稷J.
-
-~9%& iuHv6;yA;QOVK= uuMbϹa~h')MWR  3hWjxNxQm88zT:7avaZW9xMm8n+Wb>cz KT4xKz'%7YMVBhS]_4sG*%񪵌rIUƆ3&K0zV:݄ +gfMݜ_.bF>/BAMOh9ضVN aN[[)UId$KrOkUP~Rv?*G%ֲSKue>VZrestNhkrfp籾:Hwa՜OGnJV~Pø;=4gla
-DW[LZ8rC _ 5,i<al19gIC3csj~/QҙY
-C18Quѿ[-K]v6mw!B)S-&}3z AI Dp&0/$ zƾA2Q{]\RWsunZϤByZDZ<ZejA bvG&UgN;OimdC>?JOc:2mDS!wg|$~ ,18m_8}#-g#ق=idK7GNRa53
-tbNXv<X5цꀓEUuSNjkQ+La`9rJFjq+X''r޹?CZ/GH
+657 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F25 379 0 R /F16 386 0 R /F65 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+666 0 obj
+<< /Filter /FlateDecode /Length 5408 >>
+stream
+x=˒$m:&wDdž7B:Mhnqm}33U53U   I/Ohÿ1y*P/~A/-#T˗_.xTRJ+~ a;~# 𖿥?Q>cOKp Qof
+p%(Eh)<J<dAGYhߣ=U55%FB3TZ%9 %ɩԓ7U+<x,mE=ƏX i,-\FYˆzz9 Yo5%7(Ž `o|  e 'PFnzLE& ^kiVPV~U տj6 3k! Iqd1H8k )HM3m? 2[V"MW:[abAxs,h8g_e
+QL_.S+7;_ހ!h <A;ǾY <~
+D
+
+N
+Nic?o/ drԹB'?Z
+cs?:>Pœ>-J?#'J?!V6p5j]<~{5ݏi5Nl" س?}$owC nÖM|^t' wN Z
+=JG)AE
+]x&`]VߍR||Y. о 6Q86L0E~\*_ O5 }9-6!4bKXpiRm rn5cQ#;g[Rĺ#fm- ZZ@@eHtK 3V-K-)iQ䔒V3)MtHCSarX$.nFlvLֵ+\:/.X__
++c m\UC)(q\*B<&x*0}) )bB/UL'&I釮*"PhpJ2slSӲ0+5ϖ*i
+$n1cd)9*"I)]b.pE\ǐj\ehcD+@+Cj+Lq3uڠ%h[|Zq/a 7~oã%dLZPJ{$v+$$B~F&M)fmRQ8s5E)fDl'(eDJ@rQ;ghSR;hm
+?!]y?(M Q>O6\'=rGE~
+`8F
+6]QwP&x:WC|M](zs!$:ʞ
+PNb Ax>
+Ocpb+8# 5g"E#":J|)_D*(z]
+]vi'@t_-]k*p% x&aJ͑to{&fU|{1(eO3
+sĭt̋:~j$7ˈD'h'
+pwM'/>7){*өHs1)ʹ]GnFNN7b R
+Yb%ʭDRQ~Rݨ`9kĖl V !ɴ̟HW 
+}oT8RT:itLz9="9-򬩁Jۼ{b橜sY1-}f=ԗXƵ)k8rC | sǪ2f~&o1@8]a4&o!jr+[ W7+o9[;rJ˪>gzJs]4$v
+Wз#8Dtssa9a ]; 3W:1CN5^ʧ tD FqNxa4grÈ+gd~ O fyp֎XO|6}=GU5QhU٫2 lд\HJL]Us}ݘ ڍ|˴]j m{c I;9HoRܖ:_E|l
+:tu
+b1k:*=jXJ3^~x)Ҟ2af Y~ذI2pdK&X [!8ʘㄣO&&eY+mm2;{'/sw^bnĎ6lOPߔ<:tso3g,cgF1DCXs= ԭ?DUyp|y2L]<fU?\Ҿe v,> Re`oMN +.\<- ԴLA'5ÙdP  DI8c
endstream
endobj
-657 0 obj
-<< /Type /Page /Contents 658 0 R /Resources 656 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 660 0 R >>
+665 0 obj
+<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 668 0 R >>
endobj
-660 0 obj
-[ 654 0 R 655 0 R ]
+668 0 obj
+[ 662 0 R 663 0 R ]
endobj
-654 0 obj
+662 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.713 590.495 258.668 602.451 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-655 0 obj
+663 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 274.389 590.495 286.344 602.451 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-659 0 obj
-<< /D [ 657 0 R /XYZ 78.37 808.885 null ] >>
+667 0 obj
+<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
endobj
-656 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F20 382 0 R /F23 379 0 R /F29 375 0 R /F52 376 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+664 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F16 386 0 R /F19 383 0 R /F25 379 0 R /F20 380 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-666 0 obj
-<< /Filter /FlateDecode /Length 4393 >>
-stream
-x]I_ѹ
- ^OhM"J&h>|{L~(^lN^#7R]pE6@6ʝ?o;&vk%䥌h/ڦsᷦ>:&f^9N>tA~h*:n}M^ŽcWkKQWX&j?/_L+ t!1qŒ\~yO _8.OY>,˅Q𳍄"Lhs, Ԍi bH*
-[4qF@o|% qH$xþE>w$J!;kJ E@7_>Lu-<o;KU.&Zsn("ԽjW3E7f4]X}#.zOOzv<ИqE})K]s:} Cg߾w_Ǎ1 `U?nh[ճ!$Yՙ!;[
-BpX.)k;µD:zKX`&Dje䏱Ɏ`ʄd2J{U"ӕUU4'
-OFq ~͕KOϊ'==+ˆUÉ|'LK1cT0aD~\SoF=aRf W(iԭݴՙɜ7m6d. }Z>L+`mw|YsYSAزuQք0J{Q( ;g8%nסMfɤ9!riFL%=٤'Ѕ;-"tĈzM/5oea،hM/m:xN-/3'$$ʓƀOna*3jӷEc!'0/ beXw1ɍĦW*i2¶2ZRҰ~IkVHRmUWKu͍4x׬:l3vx"7GL{2Vl+ݣH ޢ,q2R"_e}+A~zPNȕpG6rR4܎\]Ha4úP!γTLÄg3^!'L!D-K}8<gbs
- '^K1wFzi^cC.hz-4qv4MWEz"̱2q _ XB#`_q` ~Wpx@_Uq^e!aX{Λt<u|CW*[ q9m<#VO{7N$,IpZ}ѥyQ~d21q
-t asܴlf6X a7LF_,V1+ &O ^lxR`G)=*Sxhc$X\),6;5lFF] r)$Z\)GƒI8aŅktxGׅ7F2`1ڸZC[Bc#n1mi̴H<)AB +,N$D 녈 WB{x]qkAZQ)SHv)SR,nfS6dGF<J{U*s dٍ $+HQ@rprؔbD|hm9P^)UO(k,Ұ!Wv WluxNDRi" IP2U I"X /S`Cm/+%f<"N3xbfe`h-W,no c0$m2jhSg]+=_E!hZ7`F&J~Mv.T"H8"
-Mk9иVT} Ӓ&=6[ -"
-Qع5A(PM0)k{ȉ^iN^Dpj/؄&\ljǥ9&0*Kk~ и4~D}Ri\g\q?vdKb8FXej[3(ϙIs %`ɠo)xYƙzR=)@8"<\Ϲo^8fE,ou]sK~\x2D1y+<w+y,,uII]aӕz${*!ړyguЎ͛9iUĵ륊P9Hqw$k"^x)E|353Nҵn{Mك,`;SK31P9f;!\mq&03"1q8e@"y"? Y{]`QKcn$y5"ʀJ vtf$qNΣY[op#9$:`\zQYp[wҜet QVI5VhcM>wmĀBS2-T d"u^l6 "Z)TZwbGB/;J'>^O)<=ܑzA+"z,{̜@sqsc 5B
-nFYS 9RW_Tp/;2
-бFVc՗ҸqV Cb?;HXO#¹o[Xi`XCŜ
-VLm 3ة-sIm1`@ȇs5ux(ippG/>_;‡ h#{&4k~i=PO5PI'C.aiWe-ՠM' mT̍ .{A$0IT/35LP ԱbX)VkF%խi[c݆qQG_/vrs5l*c,@њm1qwVBpJ) CsM}IHB8amͭN>y}L*$כ
-Mm9OI 82l DX-%
-ǝڬޥ;\Nu;"6@^0<0+Hl0Ԕbmߡ?#N
-ɍ6Ϋ:u1XkhUSEoi˝^tLIG*u3RYYY/<<(Жf}dڶPl،24QM]mU߶SXRx-~b%v'z#߯K{vf-m:,$:{# +)V|f6 V;s${>5jbaj5lqLvH+X%$&*G;={(sA8А7\vmb67{Q& LѼyY7era(9N~NNjsKg3)[|em{q<XvU&}Cu]Afxu켝8t> CTNRyVM~^<z$&5rǸݶmz[ձ\˸\vF.ß\?o1VUaU!- XzFf !V| 'eڐaЎ.fu *FFJeʫv6 d43cL:˙ V>fD#q¦մWT bӐSa=X5n"Ta1-Ma_̉l,)R
-0~
+674 0 obj
+<< /Filter /FlateDecode /Length 4406 >>
+stream
+x]M Wlo U%Qa7odԷ46A{hSfFI&;CQ$ERg/7ox4}ysO\<Fu7E\g`/Ors_@ƹ¿U-ox9|޳EHK4#o HoxGUZ>|̋2ÿGZ5}$3U#^wV& )/hK-[m 5Ӫ؀/m@?'ovvvk!ҽ3P#/
+<3v3 /mާ1Q~ 4ZWB<_^fԿJxmo4=VЎ#|z.gBߜſXoI2a凟| 7@ ӗ^åbp
+N~h&*p"R ҧO)*V*LquZ8A0_ +fR!Ѣ`/ėd3էbRkxG|{ ZDj_|\:2ˍ˚5&[s5rLIwHsYK;;3s4¡'@}\}Guv |x]cvcxϸ7uh3u߾<H ﱎ+;\@i 2~$^(M'[yW'{L ˤ|4Wƅ?p\.igDbD7G Yp{aRuM6&#gZ%1]XE[H'q|\syҺӳ"FNL}>a:&=Ō\Ä3u sIYpJ / ^l{i3iSxh-a4wGO^n͚kΚV,eM\A '%lr4q/̬9I04r#RnhtT1P'qϦh/vPLqAD6=Òvܒ܌NMm;5
+y3ON-3'&ʓOiaʅ=NЋ"uk% (=J`N**\N1,"l%qU~8F pҚU(/" Qn5e_jwZ<Lk<ӂ" &;0D&KBml&l6'ywjwJ͜J|ئVcuI;X<Lzc6b@N*Vc}Y/#1bȺF۰iǻoà
+s.}s(,~f2
+XNm:)gD-cgͯ1WBjƉjˀ
+e &
+$(GIp9a˕
+-Oi[ ?/\W}?Eqhj ēC[dGrbT>I{M
+&s9r2ѳ$IH9SA R3@&_R2),T㔩0zr\l\h2)Z=*ik9PyҏsoTVwPç')5s9S9H*-3[w(m5P^(t OV# q- vǐrT !~<iGC[ǪBVC@7{ܙCr2٠B "X" ~^s@# t߀{pc@h5i"HUNStmxp 1x
+5DITM&v? =*^ByDCA9&<|\CfXnщ<R•PpsFRu$i]g\0dxJT6d`9.f^^2Q0w
+pɠ[ eARtRaD?3GrCHL\3o<@ˤrq[!,l,GQ)}pIP]PrҖ#]Ȳ璣-K~VOB n/W=ͣw&LMjTKfxE356VAӭ~}M@\phL̺#T]NQ!c'8.Pޖi!<ʙt{|'vThƥ7WjwuM%UD qnjżWc^Mёq2ygu)}ilh, -;NcJ҆ig԰85
+WdK>9@Fk:S;E Oxeh}Ie*١TZ z;
+M쾃N|V6ӳNԫ>4bUv#LF̞XÉH8 >A
+ U\AUm"[ U쬈UU9@4TSf kֶN -S@\WuU>b6AqZ[Z; wd*YwAzZj_K=VTiFvdZԇ8 B}m]{V+;AJʉa5=JhҩII=dzZfw9ȝrRǧfw+؈WZ E~X52p%]W*}>\oh&&Ý; |GiuRV6\3WcqP5Qd9],Q}[.(j Bk}c`4VpYw
+cJ9+ W=fI4af$p_A[ 1h( tװzm
+,w %o\ |l2Kf0+*%zjVu
endstream
endobj
-665 0 obj
-<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 668 0 R >>
+673 0 obj
+<< /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 676 0 R >>
endobj
-668 0 obj
-[ 661 0 R 662 0 R 663 0 R ]
+676 0 obj
+[ 669 0 R 670 0 R 671 0 R ]
endobj
-661 0 obj
+669 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.659 468.618 259.614 480.573 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-662 0 obj
+670 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.923 257.918 207.629 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-663 0 obj
+671 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.581 257.918 232.536 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-667 0 obj
-<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-664 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F51 380 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F15 381 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+675 0 obj
+<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
endobj
672 0 obj
-<< /Filter /FlateDecode /Length 4649 >>
-stream
-xˎ񮯘upNus|rb#S7n4HѰŪb.r)QO wvwJqky@NaNF3B5;}ڄq=owjK}j8\w钎0k5GרM?baSYFfU q[sQb̘?5?XG`=$G/#i(v`M^3Kc;~ Y:CQ <m")S"~ml5m_Ϲ
-@WUPóԖKEZYƔx$1A ǙB(0nU?( z D!0QFqPHHc$-C=&zQj, cYF##ԠBT^iT3_&WR ci_VjKF:_K^KAg&>/#!Ep)$5\D7
-c+wX
-+TQF$'P ִ̄žC1bC8ǐǮҷ 1 pk
-\fطtp3E%P,eR\ĺ&T>ze,B gQytèLFf
-/ E',_ K{V GclY~\liX>!b@ ꋱR35xv[}0JkԊ^úb>7748lpg'*ab8u
-\F G"Qi.fO:D)eiCzD9RŭΒ_٦@n'h!xʩOX+.5?N-*Jka.k'ޅj+H;kaC>u 뉡ܵ )km hck-C l9͕Q%z7`JsB5vԔg|\d韒Ė8IPSlSgˌ:E13Pl0+@P
-<6J0WUێyztSD(⼽iNQ
-5G]al,` '=잜q)cCQY/-Se
-'~"Mql)dh|-Y5|DTmfBhۇi$mp?Q9nt6RaYe}
-p蒳F%ehi+ztf&u*]iB<Thu hR6BYk*s6 'b|DX ř}?Q +v`Y=ޛC$C )
-/lCjPλ/7ďWwrF22i><SIiԓB#o0ӃȞ#|׷[F*0K=ft;n!1e(4Gc \{x`i9[zY;Vec_撶D۬hcs 1;bfdO҅]Q]?f,6}0g]H= 2))tzmm'#L™$Ǒ;kN%<] ȫWKߚmDJTD ]ǝZd@ӓ]= -2FZ4)wRϵ˔ ;գM6U>b2:եӺ.*I}t%lzY.pcƣ,ڌ;fvEFU74hpuYh_^d]%^1ᡩ\-eăIKhLqЮ]䳰}ԑsPbb?Oj`YYm +<*/ؾD
-Nƽ*o_u" 'BSK%*yﵳ|l܆7F.+H61$]2dZUWwl+[|㲭ƷA_GD+V^ҡ3F憉K{!;[B\U"h;(8 jUu ɯ96.Q°ʶ=d꓀H%N'Z8_nC(S
-ւȔ:kxf#ڴwyw.@o%oZO( U @oě S2[lM@J6-J`#hRJb@o%sZG s3 m#Ig1 dLԛIs %藬R +Gg8#[-z\:p9u0[ٖ/ZC}),'03Wa]0K<szͱf
-sZc~3#(NJ6Oc|6"1N-&n% m
-]h8;SE0!3_|]F*rn[6fS0ͥZa틞tUKtھOKU@ߜrW*JxKDʷ_\4URF,Ξ4qFڵrBbǹ-WomD%E<2Q;׼xa_RiҎ[i
-8c} yuW۳ ^¹4
-<_(y%{,O}NQC#V]u:-"O; 8tKdy4۪BXz_2_Su?xI:&`V& SOt( \ +
-xReGG^J/ѿ5m߄T;S)jXA~paRmA6
-@;*zv~g뚓F
-dW])AMmܫˆa*Z*h*/9_TE<@}Y#OU6PTז z zA-1BnQMl)i`u' jqDчNtLS#LBUE9H5.&ê*E5U)P RL($TUK*Cf9O`lgx)Kċ;׿z<oa^{Xs!˱:F(9$IJՠ \_PwAI%L3eU}~'UY,'zaޏR
-5|D+4m]_Y+PLh؁q+?~'B$雴c JOU([Bu7[ GK?'!5Xu5ݨ?cܟm$?(t u@P6|K9Gϰ_#޴%xY[3uܞ>R*q?B,
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F17 384 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F55 387 0 R /F57 389 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+680 0 obj
+<< /Filter /FlateDecode /Length 4657 >>
+stream
+x]KW: Xz $'ź9>9`_ S7n4HpEz]D~<Q77_>+}rio;G9ӷj~ S-϶|NmOM8,yv?%aTܼͫFmGs01sZ30Q >k:aN2y:Js2gӑð~Wqj;&/;އP#?B^x&ҘB<%V=@kp^<.RAU+*ԖKO!,c
+޸HL.{pyeZ @ItPFU8P@=
+Ԑ
+@G=iQ\c`s爑pvNڃMͭs
++(#Z ̑ŽtWLa}2ʈzntrwX N1x;wL!@\xz.};
+ݠ/%ON EmK;K|!07XZ7 x=㹦+ c寸TSW>:X[iݶx @;k
+A긡:Paa{5ҶԐq1ڜ1!
+6ke˨r85ENz;j3~
+.Vt$bdAd5T a1(f ftcJdžQ 9lQۂ_7u/NB)(;WyO=*x>`cSօc-aՎNBe>T[^gM8)dh|-Y7|4ɥڜ d ,AzH mp?Q9nt6RaYe}
+x蒳GyE/a4m+3đH-MHUviYӄxxF0UJhh
+eQ{,#2!P<a/XAv ތ$Mܘ
+x+Y:6s&ܾy#ť}#8y@Gg ^ 'ށ/]°ʱa>d꓀H%N7`8N%;,2aqg+H ~nArbܽKZ⻼ RjZHȿ^Q*
+(:kyf#ڴwyO.F lě|"`
+VxP_
+TR9y Fi$ldDӒߣ H)zH"sZWs; m#הR9b}Șߩ?
+֘ŖU[V#; C}`}z{.w p9u8[ٖ/Zc},'2Wq]8Kzݜc56*αkU@=V }*_u
+ߕtuc| VH@?R T Nh9/k/|,2lNI==a{pNyh ,@!Y#KM劕ǛX>+p ]30b-`MN`w^
+Ο]h8;1w>C0Z!+_|]F*rn[aS0ͥZa틞tUKt>OKU@rW*J|KDʷR4UPF<"Ξ4qF۸k[P\Om(䐳hS4,=zڗhZꭴ-
+y9>
+O5R¦ڲ'Au7Zc .dsRꪍO
+ŝeʣWrb .aYxXsjR]L1UU։kRRAXjQ:IJe Ur^\U)IS* vtyT-\CƱF(s&MIIdahY5iH-L@(<U}~o&XN7/Q(.
+5|D+4m\_Y+P,h8q+~ߟcogՒhNߤkN
+5ژDsH9d\9_!b]sUxgۼ-eo\ (Nrb_LKG9~u| g}_"VTb_;#bW/6l
endstream
endobj
-671 0 obj
-<< /Type /Page /Contents 672 0 R /Resources 670 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 674 0 R >>
+679 0 obj
+<< /Type /Page /Contents 680 0 R /Resources 678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 682 0 R >>
endobj
-674 0 obj
-[ 669 0 R ]
+682 0 obj
+[ 677 0 R ]
endobj
-669 0 obj
+677 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 111.059 85.34 307.73 96.959 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
-673 0 obj
-<< /D [ 671 0 R /XYZ 78.37 808.885 null ] >>
+681 0 obj
+<< /D [ 679 0 R /XYZ 78.37 808.885 null ] >>
endobj
-177 0 obj
-<< /D [ 671 0 R /XYZ 79.37 533.569 null ] >>
+181 0 obj
+<< /D [ 679 0 R /XYZ 79.37 533.569 null ] >>
endobj
-670 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F26 404 0 R /F20 382 0 R /F29 375 0 R /F15 381 0 R /F57 385 0 R /F69 402 0 R /F23 379 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+678 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F22 408 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F57 389 0 R /F69 406 0 R /F19 383 0 R /F55 387 0 R /F67 393 0 R /F58 390 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-683 0 obj
-<< /Filter /FlateDecode /Length 4662 >>
-stream
-xˎ>_Q졵zP/aY 9 ["
-V7`Ou JIA<3ַ\yؿd3pg;np2Ph8ڡL2^<cyz]p \.W$TK->-SFДZ.V #$*'ؠ)]N]-,K:J.o"Lk}T
-/7
-.8*|nWkd7oCDŽЭ%
-.zz/~
-KОٰ) {]541i<
-FbDN m )z &ފ^;L4d ՞hQeը}s0 nagkœlmzRCX&\b9nKn{HsZ=4  8lal^ EhaƿM43`Bv*z矗^8rڨ;!giGsfg}5Pδprg]1eu`!݅<`sT_yP$Gz
-Kn'K{h}OZ ~o2:=RF5N4.u+;c[{x\ Z$)qwtN/-]o~硼PCE|x(?ns3P2ƐFoL\dm2Qq٦OQjV>]ӓwh i-:8BY4>Hv-zG0{Xۦk\I냻' J9EF.U:0ghkq7}ՊJ zwo,^֔@/"5>=gbu=`-}]H4>#>]'剪yv+~{GqQq(!=A^+Ű4[ee)Qv 3a~3 '
-@I㒀Ό6tB؉p?ˠM6 #R%# C$)JhL .U $!q ň<&[n9fGɣSD"q5)& QƕUG5v"CcX V_E\͝/#^ pofOc7pgn{(T+ҳ{<ˌ7EWg?9Ey5EOi-ZwusNrش<{[b#kJs]'ɪ:@QN }bWK$Za*t/]D #
-`6y+L6Tu<ЄJ/\VʂODSxI3[ +Yi7C"筚""8tvԦs&x&_hBE.S%p9UAWi0j+RжC/;֘젦d J ?Mg*(̉R.w BPY\a"o$[WV9ͣ[588Қ0 3ӒƑy6`U嬙7_v̹Qlb+' ,m+L+WT~s*I=ۜsי9mfəcEoc^Fn46P^֋.dMIlXMYzJ1,Si5<ՕMKl8bxBr1)ROI/$]=uN;/dL)5u4\^k,ϭ6zkŋ-pMI6vUoxfgnSt`ʫq1j\nJk>X7j;֣f`.<?aI =)C<2h`kb')i*W`3cI]v
-z荚~ε9l^j}\qa"t\[EcnK3mlȍ3eJDOv6)[#6PūzCnZMx2ӝ9rg$[f=Ĵ-3Wy8Gy5{)P^`?I7N8L<ziNlL%Lj.$q ^o͹n0W0!,** 1mpx9%fqj6$1\rqh>X4IJ젢z:^u,Voxnsy i˨C-J#JI x -UIqTKWOh >"Оug
-favh+of(CS}=s{.3wZcN/gNĭ%!tUl#yˉ8Rfu8ᧉ3Q%ІP=2(Bv|'hkaznmQ"G.Uc;ԁ'˨:uBFfHMb@J+ z8Y&`W[˻ iZٍn(R@eV@P k8<::W>td%{'A9*%P<7F z^.pqYTP|814NrH n0(Z Vq'l Ā NIX@KnJ]C#
-eosm|#Ԣbq@rAl3W/jnGm^ՏyZ"j۫.Nww_= C0q[Rq_eO[dü+׹\p_Xa^t<bvB@^)Rw#7*>w,7L(ms0KՒ<
-hIU3@]9ȕwvm(堥RVQ >"r!eJ gB#2կO^{TVhz|כh}=!֫|N˓m@07Rzpca`
-vS^)V[AkSTX7WPTS_cDc!kZ9nyj%|6{gf& <DU[;6L"DW3CsQ4֎ϻ[{ДBSF~(邾Cz0
-JeMI5 n1~-ʊ?$k7v;VZ ', Q Y3#t˪Bgnj[uwuk3z l=P4rͥ*mZ駐v bNə|+'bN}Ba0\U/Hsk? #t*]҆sN f6ҽu;,,NT4Iw""ʫ.!*둋kfx_[flwpS7bt߹h4Ffq^įn^өRn~kvzc 19kTQ F'F_(žhju2E'ƭG8J?D"[BdɦzM ,AsJ?!t3C0939ybu4IJA\J%GRqO$ӡംLQAÝl7 B>}5^C‡d
+691 0 obj
+<< /Filter /FlateDecode /Length 4711 >>
+stream
+xKbaTz<٬dԷIK>{IOkv|xGKQ|$r/?_2M??>UgހQ?= qI{F0%.?]xH%ϝs3k>=¨w 3x%7.<SZ4K>{~2&su ]2}KW- w˱L[7&s]V /H6ʟ>>#$ӮIkc_i13Ѩ|@KeE,F/$F 7XSaȆ
+O*ʘlDG*(qUri%H4FIsn\0#וW`(AuXq[[.Կ>_+虋7xOHw4Pq&C  kȤw?.O.9,\5v| -:/@ cO)JLhJF^V
+#4$$%k܉Es> \55X7i[ar ҉'y|d~w548R{e^1?
+.zz/~-J{fæ0xu$TQT9P0ڶ
+w"-Q4*o6vpldZO <P2.YDnI#{KX,Bxz{ˈ[Q:v8
+gs?/L vBSBzRjIE@ŨBIO[_TyR10˘%HfYz8mA4Fr[T*v/ !&3#<#
+&Tj9"y\)WŠs nr܍a^U?/[ۂ|*&>Eag2; Q]*ԛC}Wicy)ąg\S*.ҳTkǸRSή>ZVfqÎK g;( R
+(2L(t\vgS"a’<݀]0Қ[1 Sd\L򛫝&"n۞e^uhۓz,ɢۋP]>LGIń3w|q #ۑ[4T:ϥE_-p!7A.<V"c l\XǑBi2 ΋zy^Lr!ʥBl(N ?0|0u4n5 VNlJ0ZU50ng3a`Z.`^W;.slV 3|R,gV@ Y0CI"䁔N9ޏ}Y3ݢD|{_):(mRh[p\VM5dk<4l\?Q90G\t6.:r1uȥ9+0hV"~8{fDah
+Hlj.nĮnϫ dXGqxH8 .aؠZFyT>X*/(\*9ǪW aJP9{$alj@8T`4-
+_y1@/B\Sƪ6(E$!M=փQ^C 12 jC2yc^ 'Œ];A+ [RZ3Kb_9掫>{{kxażF.ޔ+n|;dI6dĸ'mUz4I˼[ŵ_0Oك_Hmi'EPqn,/}Y& [O9…gxd
+5sAESx)SLwMާNQ(˖US-wK+IIxɒD囤/5j|`L}qxI,'Ks{WtuX8- x7a t=gΣ`GI%!;+HhOY?VI
+Qt
endstream
endobj
-682 0 obj
-<< /Type /Page /Contents 683 0 R /Resources 681 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 685 0 R >>
+690 0 obj
+<< /Type /Page /Contents 691 0 R /Resources 689 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 693 0 R >>
endobj
-685 0 obj
-[ 675 0 R 676 0 R 677 0 R 678 0 R ]
+693 0 obj
+[ 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R ]
endobj
-675 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.843 591.898 435.798 603.853 ]/A << /S /GoTo /D (section.9) >> >>
+683 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.496 595.346 375.451 607.301 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-676 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 313.091 579.943 325.046 591.898 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+684 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.126 583.391 259.081 595.346 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-677 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 132.953 409.623 144.908 ]/A << /S /GoTo /D (section.9) >> >>
+685 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 160.807 409.623 172.762 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-678 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 132.953 437.915 144.908 ]/A << /S /GoTo /D (section.9) >> >>
+686 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 160.807 437.915 172.762 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-684 0 obj
-<< /D [ 682 0 R /XYZ 78.37 808.885 null ] >>
+687 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 82.049 127.958 93.277 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-181 0 obj
-<< /D [ 682 0 R /XYZ 79.37 665.602 null ] >>
+688 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 82.049 155.634 93.277 ]/A << /S /GoTo /D (table.caption.1) >> >>
+endobj
+692 0 obj
+<< /D [ 690 0 R /XYZ 78.37 808.885 null ] >>
endobj
185 0 obj
-<< /D [ 682 0 R /XYZ 79.37 248.911 null ] >>
+<< /D [ 690 0 R /XYZ 79.37 666.001 null ] >>
endobj
189 0 obj
-<< /D [ 682 0 R /XYZ 79.37 209.406 null ] >>
+<< /D [ 690 0 R /XYZ 79.37 275.838 null ] >>
endobj
-681 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F69 402 0 R /F66 388 0 R /F15 381 0 R /F65 387 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-690 0 obj
-<< /Filter /FlateDecode /Length 4075 >>
-stream
-xڽˎ#7_hE@t {܂vgK=w=lOrp]%Q7Y/O/<~}&3o/b=b`܈o_8~\BJ)Ϲ9HΕkh_gk{_Z +U5 ق~&L孽;8m_fE)eF5a0
-k(H ښR$-vqZ38;PN#J}`O84kep#jt'wqi>q.] R{x$
-@uh'FZY]d,nqk{>½-&8`XV`G@9.9sV
-|".8=B."uFY*~WXWo4\' Lϫәeg)IfM<
-3㜎fV?1( #W}snW(_4(%Q{gNSi< cj3(!(SX<~ ;+}&xNS!c6c> =d6kfF\A1vNmD;h{
--HLS,S&*P qi-mJ"nEB/URxn<gJBo"$rɘ3½^)Ju.o-=o2y5_tt/(pl|LX?r@axJ;t;d2Y*ͤ#1cHz^<T#`֊K{O661ΠuꭊFIvxORs
-c۵'!lVxͼr#%ZhҶ|ګ z2Sfuj(((Q[=[J@qRK/ [`ptM#g29w3]n )ݗ0 a dk npV(]s?f xk*YkKTdPZA+E>619i
-$5&&?R@{1 qhBg
-{%:}6f{mg)iiθh}1tHa}M݌ Ϯ{zӷ t̛l0ŐRcIRoauz=;zLE -lqhd՗nUd*.AzBfB[ʞ9#Ggՙ @F{1B_,{ij%?Rb[rtSqD'jT!
- CA->F$17 c])Rߵ6[S)~Y>[U`FmJ(JX~Sdh~ޣhƕNXfA{Q,<Roƕ6~1h#cy*6AhYGGoVPFOooG疋t
-$Ьp=B{ ~H,mz+O.]-e-1E{t}O)wȤuRUQeO}9l#ȳd3ӯy֓LWjzƖ') *IyNG32/^|~h7qG T;S15Ja5\)GtO^ζ!uRtnۙm&B x9˔1R-G^׌RS1KO`-פ=ھvn4WmnJ%>ifh@3'sdo{H#qN+W`ԜeoY2Y,\hL<&e"9q4%-ae7FO4Iul;Ԇw
-
-8c[G3𢱚W>٨l
-H(<}ȣKtJ%psb75P?뚇XPwrf9OVF>NہYSD=:ZPԡ pT\WBM4,0iӅiPByW3#4 YGoFQ*7e4 B1<\x*[)Z<NѶ@P9,)jvJ
-4rr@O2x')DG
-ɡZ-5Tâ=%/FH
-ܧ0;F;a!|(9ړ
-FAjp]ľYz؇:GxR̛t\HHfsԏ 1,h@9aʓ䗼()s'%?<7HV/|鬫@[Sl :fW/0`O)QHi{<5]͂?G >iץ#&OS<L"-ξL)wbRhQ3SB[_ 0ױFQ$V2Ƿ!V4EɔF]1WKs*ta29Ih%Z9JWI~Qogk~4H6$m(e_ʄJ4-F&y#F+881)WU!#CPL֝ɝ3_[B͙`2wohV:|-S{Ȩ _ʤ p̂^\ek+2; tt|lO
-!s@'ʉ5IդJ+ey$"ݥ2q@*=
-i8 n<zD8^id~Xmo0>:viak9r
-endstream
+193 0 obj
+<< /D [ 690 0 R /XYZ 79.37 236.333 null ] >>
endobj
689 0 obj
-<< /Type /Page /Contents 690 0 R /Resources 688 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 697 0 R >>
-endobj
-697 0 obj
-[ 679 0 R 680 0 R 686 0 R 687 0 R ]
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F69 406 0 R /F15 385 0 R /F65 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-679 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 757.853 127.958 769.081 ]/A << /S /GoTo /D (table.caption.1) >> >>
+699 0 obj
+<< /Filter /FlateDecode /Length 4292 >>
+stream
+xڽɎc_hY܁FiˀsdnOC2|笠HV=X,"_~o/n_`^ka/" Lڋ5q#.߾_~}\3~; xVi_"s>2qO7/yF-pi
+&mYpHsGrl$rL&ڄv;-<:Iv&ϙjw&rn"*5>TfR8H5k* %[bhi m-`X4
+nqVfڪ2͊^2-YZThJ1-'f(ڸ ޺RzەA6RiQ?rMћ0zHnj:WvHYr4vٕe֎mБK6H Qp WF~JjKpkq_[lcǜM0rRՓQȪVT]P~,=&S5(AvOh
+Ɂjd-$CJPbѠi`svݝqqJ\ @ F5e<{X"LG}f*H-1$c+F9 aMz?ೞI5.gBzK<tjYjY-_G{I!K/9f 0QW~䦷aԭ^|T>Ҷ
+?E&]pt;T̪P&T#dU{<cQ>ͬ~Tc<vG:jq9Ei.9QC9 QR5~f;-ړ4+˜\Z\=[$@Rӯ"h$MK@Vs׏وW$pFvifF\A1*@HlXDiӄ}SlT21Ljz`vɣPre3t81(G1偎pRbedxćniWlT`
+-HLS߂,S:*P qi-mB"NEC/URxn\gR:tKBg$rɘ\T{#^s ]~[zd-0jE.hE]P*y**7~x,qlcw8RwlTIGbƠb=R0Bk%Ͻ'h:VEd;]<8Xvmv9 ^36qad֙ a̒YjzK.vO9҉..(cgRq1?> fJRn RzO9V0e 29;cf;F@}y P0`Lt́f*R7)0knjoϨ]'e KTdPZA+E>eob`=)"!ѮA01 =%vio ;ʸ#t@s(>=˶i8h}6Hq'VgD3X|/KB Cx3Im\LN|SZ֓[L )=Zvɪ߻Wz1CCE`S2g:AɸwQ]q/F[qmrO9$ɅLnQO#bȪ%8Q8chm1929Fޢ6J T*7>f4eɻ>
+] N6޸mw}ňZO?HiN=sʌ#Ăk
+[(<<v>Ca}!Q8۲t –= c9dko[Z爒k"6u\J8,^¥3b$BOI-q\pLG㟛1!9L! !1iƥ[Q22ǚEm5n}X2PQyل3#3RX,ȪYz?(=Gg+ot6I*p㱎qnq38ӷ%01(V߿q?_bk
+&_^K~~ [l}
+љ¥L;sZh3?9Z5Ib;p1;mՊL"l⁍ؓt@n]b|ɋanmaJ!D<B Z<Y s8ГZYɺ5uMy{)B{F$u:5*{
+M4 0i2ӅiPBgFi?t3guBnP2> P0z #P J188ipEFaIvVS0ZP)$--DO2x')DG
+ɡ ZߒM1 SBaZX<0;FqJ80r?H¡ס70}uTJ)A8[IHf'j=R?.ƸDQ_)O_Gў䷣N_p/|=_?.2lvr)l`6DAY3 \l"QՁDgyC_S,H>S*'9_KI??x"EP[\}53!K ,șRD8fA`cH Al
+,1>DW)ND6zaٞW,^Ts
+/ͭ͵zBU1^/"%Ů
+!w
+QB
+endstream
endobj
-680 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 757.853 155.634 769.081 ]/A << /S /GoTo /D (table.caption.1) >> >>
+698 0 obj
+<< /Type /Page /Contents 699 0 R /Resources 697 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 707 0 R >>
endobj
-686 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 467.631 441.844 479.586 ]/A << /S /GoTo /D (section.9) >> >>
+707 0 obj
+[ 695 0 R 696 0 R ]
endobj
-687 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 467.631 469.538 479.586 ]/A << /S /GoTo /D (section.9) >> >>
+695 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 515.845 441.844 527.801 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-691 0 obj
-<< /D [ 689 0 R /XYZ 78.37 808.885 null ] >>
+696 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 515.845 469.538 527.801 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-193 0 obj
-<< /D [ 689 0 R /XYZ 79.37 724.862 null ] >>
+700 0 obj
+<< /D [ 698 0 R /XYZ 78.37 808.885 null ] >>
endobj
197 0 obj
-<< /D [ 689 0 R /XYZ 79.37 527.477 null ] >>
+<< /D [ 698 0 R /XYZ 79.37 771.024 null ] >>
endobj
-692 0 obj
-<< /D [ 689 0 R /XYZ 226.44 223.171 null ] >>
+201 0 obj
+<< /D [ 698 0 R /XYZ 79.37 575.691 null ] >>
endobj
-694 0 obj
-<< /D [ 689 0 R /XYZ 232.109 211.122 null ] >>
+701 0 obj
+<< /D [ 698 0 R /XYZ 226.44 271.385 null ] >>
endobj
-695 0 obj
-<< /D [ 689 0 R /XYZ 195.137 178.32 null ] >>
+703 0 obj
+<< /D [ 698 0 R /XYZ 232.109 259.336 null ] >>
endobj
-696 0 obj
-<< /D [ 689 0 R /XYZ 195.137 168.148 null ] >>
+704 0 obj
+<< /D [ 698 0 R /XYZ 195.137 226.534 null ] >>
endobj
-688 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F66 388 0 R /F83 693 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+705 0 obj
+<< /D [ 698 0 R /XYZ 195.137 216.362 null ] >>
endobj
-703 0 obj
-<< /Filter /FlateDecode /Length 3784 >>
-stream
-x1W,dh #ٰ{G}"G;6rnȺϖ"/"?|WEtڙˏ|QB^%*axt˯/R~JW%%ן/~W)-37|~[rN mt@р#$ʿ,ii h\m?S ga !9M%;\YuSW=* ۨ!O^:)e7-7P 3O𝎉7\`*QtQ0~"A:93%fM=&oU|"^fɪ$zSy״Ӿl%!irfvG,Pᚙj6OF'&PtrV FR{zյ ^(%&*zOM8qȗhW٬&Ҋ6rA
-U*Y\v+3utkB-7,LH+A5+֒t5=*3TOol~y<ŠVeBE۬0g[:;kjW@.
-ݼ^l5*{YaJ;bq6œ4]&LVɆ1p/vԽcm_Q)-Ӧi(>RictpH kE̴"cijĸk"lA(0' &(@U~N qA*nDPF
-r9OBfsuw<DKƝtǸ7W\XF1ÌOt7dxavWΟvߵ1v[KqXkFoUw.Ѯ6KE: 
-q!e>R |bSЖ}fɇ< V~P:3 #<
-^OM#m{ϫәYQBٰ4rc-5j EaTgo5zaj>
-<n%þ#{fi{6!>Z
-֡TYIAiItOxѽl&cS܍V0_v b/60ЌIXg0Q<XfC&CwQ\"G}Hq:~andRdy[DakS<tP4ԟg'i2TMcd[|9+ C3:U搪jOjeR{mKh4Sw 鹠c; ~[-,a =sҏ`4W Kܫ f3t. a`ЎgY[1 }rK~[C l0diJ@d6rm
-34;̲Zv;t?Y72=%7Tןl{ 1zCL)k
-2ejiZ{=noT?TK$[>k@ ʸw}a&oY<hY:
-MdgH?y QoB˥}  yg`
-b}n2-bK%Ax?HĎ^/WcEFvͳ{F Oi_Ójࡢ m sͶtPA zkӍ}wrW0V55 >K7cOƎhGeӓFTu:=+rt*INf'Gs~vڧ1g[V 3[G噍"8:ƸU,&BϓCZU<1!5؀0]Vx\j'19<i?wI<H]̙<v3^>>f2U^Yktcwi5X| wBY6.:J< &iii,`|Aԃ,+/SsZ+~u|E#/Gł?g"FVo7|w"s!y{0xSi߿/ݤ!hCUT3`ML'/(_̩yrs^ oھX 7|Uz{s}}'oSL UvXæ}T@SMҼh8}7es7qIĈwv6i"񀥁07MϬf+8 [Y 3
-T
+697 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F66 392 0 R /F83 702 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+712 0 obj
+<< /Filter /FlateDecode /Length 3400 >>
+stream
+xc1 GִudxF6ţxCݽM#u/z_ޅx4p/E\`?/]9ZbIk 8W owHz&5<ܚwmVεȠ πsoSr|9B+?pD8?8¨2@ZMqs9׼CpL@)[
+6^DH >IJxJ<Z;;Ӊ >%'k햮@XG*6%/l H7 Dv#;V
+t ,&`=;Hi3 vm'[Nv4kV8T%iM:UV3AaAt:ё4ߵQjd45l[/ iwmaj8&$*3`gJ=DD?]}ᑜR
+zJ5ғ6ʧ'd;L{f1]7v} XLy5VK
++]}.Bb|8m?9 賞4YAM!.a,Œ' Q1A-FDQrLNA5;q3/KJEάDͼI&޴ϠfOk19(S(Ki?Q!L
+}U"r% O$Ek{\)5ņ9`B &| ƒKE(h=g:kg-50m{Su7Hq#Um39յP%嘾Vb虰Vr< XLD
+:Uji39lV
+\\-XCi,܍'g&`_!fetnpy `1nNvfT=T
+Zqb|b\Ki l$s'hL6Z減urm: m zׂ"li8%Zn\zZRv[eN[9ڮe_ Ǒcwzj[J1 :7׮<xZW(jj4+7)L#
+c Bl0 kn`SMIEfk7G\yC>Gߥ U.Wָ:7cHi(Ҕl8!RV l)DU5 !gf#0oUO U{\81VL /g>=}^'p6N>S}kNAAp ?AGST),[cHcnRcWd+_
+mm7ϐpqHQna\2q$^E|0aƜcw N#M0x] Ȑ7|0}}=Z-g3{SS俶`_pҞ«MVk1Pڧe{o1d~p ]s5|vM;f [۩<
+Pũ1ϑeirf5}sS*cG%0zO3!XQbJbsZstn"4NmJ3
+M_]kֆn.>WL=Z ܌z[ó(~Lem)'j[7°V^AŠn:h;8uqkއ
+JAY?59ޤCaSőCǓ#Q=tpM G=LJA G6IeEc~ԒU·4q`i1{`~&pdIˌacЀXgrheڶdUSft Jpm:Oh%3
+0hC[D<\M6c !
+*izIpM>k{~;bzj&O~`z)fmĬh=Eh9C{g8:JV ^/34g3v#xx@.Cʟ4_}_o_VwL$F@36ƍ&<
endstream
endobj
-702 0 obj
-<< /Type /Page /Contents 703 0 R /Resources 701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 706 0 R >>
+711 0 obj
+<< /Type /Page /Contents 712 0 R /Resources 710 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 714 0 R >>
endobj
-706 0 obj
-[ 699 0 R 700 0 R ]
+714 0 obj
+[ 708 0 R 709 0 R ]
endobj
-699 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 365.604 325.792 376.553 ]/A << /S /GoTo /D (table.caption.1) >> >>
+708 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 433.35 325.792 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-700 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 365.604 353.955 376.553 ]/A << /S /GoTo /D (table.caption.1) >> >>
+709 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 433.35 353.955 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-704 0 obj
-<< /D [ 702 0 R /XYZ 78.37 808.885 null ] >>
+713 0 obj
+<< /D [ 711 0 R /XYZ 78.37 808.885 null ] >>
endobj
-701 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+710 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-709 0 obj
-<< /Filter /FlateDecode /Length 2710 >>
+717 0 obj
+<< /Filter /FlateDecode /Length 2641 >>
stream
-x[;6W( =m&3ٸKnU|Zfw@3jH?_)J߅ߟ(]х-a-__)5RJj <RP@N־Np%^/ҷ(a6\Spὼ=t|TpIQ%xЋ~*im7ͨ n Qs3tgjq0.\z\8D:hgZŊ羕 *l(Ekz^5IFң:/U2ԃq% ,ke8/n
-}Y[ [Vf8jO Pl>(H_jq<V߿JEkJ,Xwp;J&-m2<o=NF$1'a2L;ޟto*3,
- Ŝ)0kL0=1l@dt+'#9촆 C)Qw2R+٬i
-5J0 u5E @dLfZuf隥g#Sf9ĦYvҵ( zY`xnQtZ *忥Dj>]@$0x-~px3g 7J'c<pdŧ
-sZc
-j{V^90-s.n( DI̦+UYҲsи%}7gxVڭl̊Smrk7, :9 -naQf?aw%aj4sݻ{=8 -2ijx{Jcm#hc|4:tpe977f7Dyކly*2FGla%
-ȗb1Dϥ7*] -N"eDͥ"v/Lpnp]X `߶cOͫ3t$@|_Cohq{-i ׶]"̙
-|R-cw!d-:Aut?%Ps}@\$0G Kٷv.L=.eay^sXmTޱZRJ*QG+,V25Zz;9rp֚U4 8: ,Y6Ҹ<U"zWW_}6Fe?eT7'üĚtةŎ z̍\wb 1h7I{ɝl)m-e " h3l]6*_'͒<߀cU:酜ƺx}lxZM$f3HO9l+1Ze2,WC-焺w[YO} h6Yy$F>`Pgk{@8J:‘#Jj
-L|~5}5֗B4-=
-8%5,DvI[8<DXsV}JE m9}TŶ+J; HN[#iδC]`4:ZxMCLY9xØS=J.g}ĔɣjKokx2rf]&m#q:h[m!B0 I/4^#<E. G(s~+k6Yz:iRT47\ރ"JUT#H fG$ &WkbH)>$}8:W@̕U|Փ\6e;U/BtЗu.9>4;@ aS- ('BvhYE&%TCqrˌ]anV;0,xP|R ‚6:C (qWf 4+ ^_Um}9ϥ>S ![8֊VJ
-)6atQ-NȮ<, F$[(C4W HHN2Ԙ^5.;Lkn(tczHCTq'!)b1,w+y&)_pC 4. 릢>V7W 3ՖP4BCa֝G''!&<_r
+xڽ[Ko8W{(D T
+Ra(rU x")u2t]٢nA}W4Ihw*6dv)qKN[:tu=9ISsE잦os{)727?nEl ?ݥbmb܎)"Vs#kS і ө}ׄIۂ,^n.Ool.w:{_ğ_(.RF,~z#VY
+A^S,JXuFL~\2pFt\kfޅ bd5AFI3=BC%Q29 SWA.:/kI
+j0 cjђD)X3V
+
+-ZXT(f€cbb ;ZqY`xhfZ HaP0S?* t$!Z9pd)grtG  >" 5Q3RygLjKk[t"3%ʲwŻwꩌ -;6IƸXqՈi$޻
+'m~\pBnġ%NF )J",B`v+=y2 d#<!?KЋ-.z
+ִ2jޏqa
+-U\xC ~Xf?_,~.(mJ&\~ x׵c7
++vCw{㲽#Ҷ{"v/i`ٵ aD
+QJ(NЙS
+Ā[m'@FQ0ilSIA=c/t!Fd)2okDV:9)#jL*𖩭>[FcBj>Aʚ]\t:H$#AQv֑5@/hsx-mHjcVRV,,,Z+ WG 1(',Zad$ӵok$,zڝR.:n5y0I@j.[%z-@u\ߚlk;)'%'zsč,B[iSGj(`x\qt>a AUTC 1:Z6>qrDM<b\GjR@}BI"qwO4p|PX(e['OiMH&{x:.W~@aYM uI.Y9[lb!UqJ,# [^[?;l^QmVuWo(hxX}d*E4::V#)f+fΠUޚ@*D<*)ANC-Y#@WSpvAuo
+UNތ?p=u<ܐ2hoj]\]!SK#^
+w"*cA4_OgHu]3+\Ԍ$>obР%(10x1S]@Y|b>NHNq\t
endstream
endobj
-708 0 obj
-<< /Type /Page /Contents 709 0 R /Resources 707 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R >>
+716 0 obj
+<< /Type /Page /Contents 717 0 R /Resources 715 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R >>
endobj
-710 0 obj
-<< /D [ 708 0 R /XYZ 78.37 808.885 null ] >>
+718 0 obj
+<< /D [ 716 0 R /XYZ 78.37 808.885 null ] >>
endobj
-698 0 obj
-<< /D [ 708 0 R /XYZ 79.37 712.61 null ] >>
+694 0 obj
+<< /D [ 716 0 R /XYZ 79.37 777.001 null ] >>
endobj
-711 0 obj
-<< /D [ 708 0 R /XYZ 311.994 631.792 null ] >>
+719 0 obj
+<< /D [ 716 0 R /XYZ 252.318 696.183 null ] >>
endobj
-712 0 obj
-<< /D [ 708 0 R /XYZ 368.632 619.743 null ] >>
+720 0 obj
+<< /D [ 716 0 R /XYZ 311.994 696.183 null ] >>
endobj
-713 0 obj
-<< /D [ 708 0 R /XYZ 202.495 551.085 null ] >>
+721 0 obj
+<< /D [ 716 0 R /XYZ 368.632 684.135 null ] >>
endobj
-714 0 obj
-<< /D [ 708 0 R /XYZ 202.495 539.021 null ] >>
+722 0 obj
+<< /D [ 716 0 R /XYZ 300.238 672.179 null ] >>
endobj
-715 0 obj
-<< /D [ 708 0 R /XYZ 202.495 527.065 null ] >>
+723 0 obj
+<< /D [ 716 0 R /XYZ 202.495 615.476 null ] >>
endobj
-716 0 obj
-<< /D [ 708 0 R /XYZ 202.495 515.11 null ] >>
+724 0 obj
+<< /D [ 716 0 R /XYZ 202.495 603.412 null ] >>
endobj
-201 0 obj
-<< /D [ 708 0 R /XYZ 79.37 469.822 null ] >>
+725 0 obj
+<< /D [ 716 0 R /XYZ 202.495 591.457 null ] >>
endobj
-707 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F15 381 0 R /F56 384 0 R /F52 376 0 R /F83 693 0 R /F58 386 0 R /F69 402 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+726 0 obj
+<< /D [ 716 0 R /XYZ 202.495 579.501 null ] >>
endobj
-721 0 obj
-<< /Filter /FlateDecode /Length 3595 >>
-stream
-x\\ jjԚrԎM$ݚ7p M}
-3G*UjXB顏Z&mdgAۛLHxk1-,⻮Pm*diM6{=hil_>N\~~"F'JpcVڼիYΨ)~lF25OZD [+\h~"3Zj Ed>q~T ;9nʧ4(7s[/]g>>G;=*浼{Hg@=Qzx(~]J'H0-&ӄ=?$
--P©ɬ]KkLj5%DS*W.i[2m3eS<X0-ɖj5>D&=Cq:qru&̩*4__܃ Dü(rMw۲t(b|?R!ur:ѠvettgJH{Fіjhi֭7` ~F7֥SQ^G(ʑmV$4Ϻ4Фj&*12_]K2G[m=CFYemoq ΄I{]IԱO߃)vTimPׁ[<| zis͑VB
-CCr ^D3e!$1"$"OcGz6SaM )ʋY5RNfn$˽f;8)s=wj
-@ug[L*E<ٴ38a=At5h @i(a;ѓImk8sˏJSyYdd&
-5V6 J1kAo TLe0W,ɢ)1~h<᳍MpĝS(~6"Uᅥ9E(T q&G59 6Kze¹yzX@2i&`#~>` 
-Taj*koGD~bJ;WR6Tca*a &/!HO_+ q)^9U 4==te濽_4J& az4Ŏs;oct)OKÖ !\Z!tc7˜^YU$k)
-DX<L{ϪG8ɼʨZY# pa7PAiTX
-*VP!)@pY: 2(%%ب"TVѬ:IVaj. ZVYW`ΏN~*Rs h Tn%v1?Aŗ7.$k(gfUBf7J; `M xf^4\S)a.WU7Vg)ÂYj;'yp#
-_@UR la|[maEe2UTSJ/˼+vjyzAg{I(͟t Z0P04venҧC+`u XWikX7wlE0 }jǤ-m[HЮ<<*lRešCos[,\ma ܷoo3JyN}NKWp:k^ΰkEZ_(tM*p*&> N:wRV/Cp0-2&*SWw8R3i[8ۆܰ3AWp{Mn 6{7ӝ<zWsi"fF!-\f% kJy5o 7@Mc,jW.8J]>VaLkB-@S
-8cgC#)c <%8r =<p3EXYFJĉi-X t3 鸽Os3;ط+<9zoÙg)tؼqzY̋pZDEdY堮f N`[MZEr)cS4&`u> A,w\ؗE`RшҏJD5K[{a;tdosvL43Sڜ:cr1GpSI3}O,!XnTV[yP]7N/guZi Ze/3Ё_Pqꎎ
-t$B)##'K[1!͵M -o\Pt=t 8 蘮Pv
-L49r,dk~Z HV=+ܙ(=ʤ6jkfRyy;ROEt acaÝBXƃ<?;Ğj"Tn0lMUtho8kRW vdho?Lwi_(%*MEg?(1 aǣ!,ZEި0W
-URcX 0e+cZ/2A"URpʹtio#HvOEFKBV찱 ZNgpFޞՍԕ]7%=,o`+[Ywۑnpyհ p\[z}`nk
-`?9 p/Ľ\~Zh:|ULJIB|{*Egʘ]t)f%:wU\)Fh202"
+205 0 obj
+<< /D [ 716 0 R /XYZ 79.37 543.562 null ] >>
+endobj
+715 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F20 380 0 R /F83 702 0 R /F58 390 0 R /F69 406 0 R /F65 391 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+731 0 obj
+<< /Filter /FlateDecode /Length 3558 >>
+stream
+x\r\ + RjMUޥMVm&>ZVYd!ž@8
+p?m=`}A kLwcw (T8M|ҨH;*68RLW{TUXyq1fyI&x0q4 f [{-]-lɮ7M5
+UH#**
+5E2DE}i>ۑvZH0%mSp9}4~OIklOuUkp򛱯mș4MjaiG(A
+ 긏g}$BTﶥgm?ȯ EhkzW~Aսпr
+ύ6: *PކNl4n-ҥ԰^^75'8(Y'eHays;;}wQ r;אW+?ۧ|9_oީtxQSry"<*
+<MtK!fOU
+s=ku|GOwA '
+}"ES?WjNwkn2ܒܽzR+-`|Q[g>ኙAv56-.'Ql9=n61E^tl9ZQ֎qK{έCTC}A)¸|&֋
endstream
endobj
-720 0 obj
-<< /Type /Page /Contents 721 0 R /Resources 719 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 723 0 R >>
+730 0 obj
+<< /Type /Page /Contents 731 0 R /Resources 729 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 733 0 R >>
endobj
-723 0 obj
-[ 717 0 R 718 0 R ]
+733 0 obj
+[ 727 0 R 728 0 R ]
endobj
-717 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 185.837 483.078 197.792 ]/A << /S /GoTo /D (table.caption.1) >> >>
+727 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 201.659 483.078 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-718 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 185.837 510.257 197.792 ]/A << /S /GoTo /D (table.caption.1) >> >>
+728 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 201.659 510.257 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-722 0 obj
-<< /D [ 720 0 R /XYZ 78.37 808.885 null ] >>
+732 0 obj
+<< /D [ 730 0 R /XYZ 78.37 808.885 null ] >>
endobj
-719 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+729 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F65 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-731 0 obj
-<< /Filter /FlateDecode /Length 3043 >>
+741 0 obj
+<< /Filter /FlateDecode /Length 3041 >>
stream
xڽ[n7)ZBm@ 4!P ]n$R/˯O|=7?OqikF\~\~rjxɂ֎\=G>S`p̳0¹5q_ڬn1 wε/|ńùqHw~W6ᑗDu}l4Sv))k-#pvnrZG+2*)h<YcҒ_9X ) B,ӉL + SZN;\}<2MRڍ. ią2ͧ8/PI2waH@dI^ #GH5(aXPHŢ4J1ai@ԛ$Y ˟h5߭Yޭ0iGz),}[kI\X&.;gG222N:rFlQq2r"p$QGsq~2H߮-I|QerqRu\ O+FAT
-=CE*ZѴݡ-sxzv9BVfk?KPȢ-.8PWC`t5ہ"1]7t ַ'J/ :ߴ|@}BE]8hOl@NCRGfsA&;NvA!gcQa9_(Kcp@b9C/8ӏ5ga)6x9zL{3Qgһ[G2PZyZ%Z?|dV ӭs}TvqM:ZP )(`y>I==DRqM'HA0-;3t19IwmX ˸UB.F }ƑM+3 کUN횳mX'AKG (re/om[T(pŌEml sRT g=fm<m"".]VRz ~2Ό2,:d9Sɣa/B0 *T/a f\h^@ou+$hܳ붍ɲzڄҏ>W#upg n#eC2%\3"[3!C<Rt5l1eɠ)fd}!ř1n<&voa74xTD徟`28YގSN0')cfgyG@fwՎc]PYe4-: <0l1;<,nk^}A\v!
-=;wܳ2c8ܩ,JN2ҫn;_#R1Hnp. @~ڭ7KtwMNO`,˥$b<9HVJgn^3̠'F<[)Ǽ=$<{Xm-+֖Sn̛Fѽ5\՞ܛ8r&?V1Pn|b_v/0[Lƪ=ONFԨ-cs~|MBzb@2UL%G}&TJ
-mUv;~nqW<~G@y WOk7λ#uX(
-~j̸܎'٭zq4¬Z[?VM6R)%U һA4룜Ġ҅jbQT?z+rHport(/'驉K 27|!bnuM]虱|NަRkN_ru;!R5>nYu˴yuҖ)YoTR/-'m'?H MsUB
-\yngUy6/;)`7vӚ,% +곆dr^&c.t(D&\{ߋ*ZHb hiBi>V? iڰlTݑӞmŗ߱0(,Ӈ3OA8ƧS_ZhP{NV5d-Z1NO1BO`D| (@~" OJ0
-ᠺYy
-de%Ʒ
-oq/Gԉr<X_Pz%uݙ:2Hyє$gQ0˿~<~eʻ_q揋w?ҟadC,'cur_EY0ǰ )!*7ҝ+pg)۲ק‘V',ov!I̭Z $uMzY^5+ɤQHCn ށ|p=kY
-Q~k)o+ס :5G},jGXp9.W 1/Rj
-Z JXV;Z:OtyPN "NT/{pI# FLZ%pݍ a\+Tla
+=CE*ZѴݡ-sxzv9BVfk?KPȢ-.8PWC`t5ہ"1]7t ַ'J/ :ߴ|@}BE]8hOl@NCRGfsA&;NvA!gcQa9_(Kcp@b9C/8ӏ5ga)6x9zL{3Qgһ[G2PZyZ%Z?|dV ӭs}TvqM:ZP )(`y>I==DRqM'HA0-;3t19IwmX ˸UB.F }ƑM+3 کUN횳mX'AKG (re/om[T(pŌEml sRT g=fm<m"".]VRz ~2Ό2,:d9>y4?Ev!R1@%l6\{;QЌ kn܀{pݶ1YVOvbX]PGjѭulHdBK2uFDsk&${G&m7,4Ls}<83ƍY-,C>1 $xRy̽,V׌Nq+*˺QT'!B 4>fǚ #Ubͫ/h+nR"$ C K*oi&h 2>}
+BxmqV+=p{Ĭo;xw<+x0K Mt9̹%k=V@Pv"B/jCv,U(Zʞ8&
+ѭ^Ղ2KkƴyA0$;X1 0۶>
+%9:ܼ/ *fAq[OwyRy'zI&{y+*\[V-ܘ7{k((x= 7qL~cܒ' 4_`jU{""@ UQM[$3 Tj=0ϣ8!@ŀjke J&\M(9W0@z-I;gV9SsBuЦEޫDM-a4P.]Y W7WgkK| w^HXN+SֽMW?mmݸWБ6z~Tu*}ZU@@+Z#<ct'x
+,?t5bfMn~^xsgV=8aVG&psCY WNQ bPB5apspGw;H6ão:/C!Vӡ&B.e2SJ7TBZ?ܰ򥇈6qwg2#k9{J9~%;0;T#H e,ӺI[>ۣd-Qe@Z>JD#%d6 4U
+)p幕W)_ۼ||R
+=قj $p
+ިSP{K]@{:]Vj| 05CmP 'D58Jz#cyTA]n@izzrM(ǃIO̬g]}} 8?_\opߝy<yj|,JMIrߞ 7\g ̈>#Fbї4<9( ̭ [Z
+s ;"
+nr#ݹ wRZ-;}+ixRo<_fq*<E
+BMAQפ1_L,1XLZn=Z~"W8 3MdPE4>+I_~Uwb}ʠP}Rkάfxg10[C_ r"f^䎅i59Ng U`@ϑ=,)t[!Hk"4`Ĥ;jX݈] 68f.
endstream
endobj
-730 0 obj
-<< /Type /Page /Contents 731 0 R /Resources 729 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 733 0 R >>
+740 0 obj
+<< /Type /Page /Contents 741 0 R /Resources 739 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 743 0 R >>
endobj
-733 0 obj
-[ 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R ]
+743 0 obj
+[ 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R ]
endobj
-724 0 obj
+734 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 343.619 566.849 355.574 577.798 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-725 0 obj
+735 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.706 415.94 449.413 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-726 0 obj
+736 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.134 415.94 477.089 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-727 0 obj
+737 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.914 302.996 351.39 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-728 0 obj
+738 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 367.111 302.996 379.066 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-732 0 obj
-<< /D [ 730 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-205 0 obj
-<< /D [ 730 0 R /XYZ 79.37 548.523 null ] >>
+742 0 obj
+<< /D [ 740 0 R /XYZ 78.37 808.885 null ] >>
endobj
209 0 obj
-<< /D [ 730 0 R /XYZ 79.37 389.026 null ] >>
+<< /D [ 740 0 R /XYZ 79.37 548.523 null ] >>
endobj
213 0 obj
-<< /D [ 730 0 R /XYZ 79.37 349.74 null ] >>
+<< /D [ 740 0 R /XYZ 79.37 389.026 null ] >>
endobj
-729 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F71 415 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+217 0 obj
+<< /D [ 740 0 R /XYZ 79.37 349.74 null ] >>
endobj
-736 0 obj
+739 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F65 391 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F71 419 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+746 0 obj
<< /Filter /FlateDecode /Length 8392 >>
stream
x}K%Grޞ,ũCh4˞ (BhأY?Y̪:%= 7ndd|_ixfJ7ӭ.5n?%s\o9%O1.ow͘
@@ -2898,648 +2992,627 @@ u 1P^)󟍁6gl%G
&`tHsB:
19dMh?zo7]Kô1G#
#Vb~{-CVGS6dsc~.03m6
-k>?\`!}X> IY%m#n|򵃡6f^u{:{HEwwur:Sqsig@zfSƸV(ͱzx;[ =tPЪwk
-d?~0x֯0ٵh^<;ζC~w߇Nb4ᔯp|Jv~,BK'u絉ͦOO% f/Iz AVٸ[n,XGO꤭mbqL<n
-a\= [qfՃC
-
-Anݻ7U ht
-`,0Xqϙ W!)3tG^lW?,m *}&__Ҷ⧔ԼV:sTQGWےdHwd?hChen6%}㯑Ug{>7'Nx҅_ K&O⟴ϴw RڞM+1X,-zU'u9٤uMZ' =ڄ`vvO@R ƯtV󈧅,T$ħ*^*՗<
-Pbga_ETy p7IE<]oHt5MO{Mc  `.ƊIvnB pJڥp]rʯ=Ng 8_ l:H#nbebb\YD$XFHB$L.X
-Pʐa|Y}펱-mP'|okaNsbZA hIs,*@_a-*C L(7C]7hZwC=XI4ZC]@i6"-<D3#@ 4Û؅ ,`ڱtQuP3Dg-q‚5Zq@Vz=gEQҌmS)00oIZ':cS&&Ck5I(G=w0%/Jpά@zb7;n{䴛$z+d1&5Ӂ<(NUt$EmnQ$@MHyλfH( &)Ss,cCXDrUxX7J=T}y4z(xŜ}`k<pzaC [3 1{><bp<5=0 Q#b$zQ>h)X8G=cZL.v+a9EؕG)qɳ}`K<p~zbyNf|EC Ӄ5ªlHCZx\H$iEFSG"-탇#X#EF-H#-㇘QFÑ83GqoOԄ B%:0(7_z[A1Y+sJfӲz$&%ї(
+k>?\`!}X> IY%m#n|򵃡6f^u{:{HEwwur:Sqsig@zfSƸV(ͱzx#n5AA=&<ɨ,E㌂_d!_7U4Ur\ŲZ:S:WLuK(.ж^g0Qߪx-N$he)be
+twSӠ}M?-4'5:M
+=tWn8:~[Cv2h6|wg?HȯgkWA`0u<uE0q& <Լ͏KvNM< fbБ}ѭG[vXcr협2?U+3|U{${W%9ƛTրpeW<"&;W+#uϛ˜XÀg"Lqϯyg,ʟ8}:S*]"
+5.^&{7?j>4 #XE$Cc6NYeNo-XP[`]>uƷ 1(ۇ r$3oV[uW#P 
+72{S鰫#.bSMxwxVUɋcH'TmJ81={ӗa=L g:ƻwm8)NG&ޕivK&MѾw[(5q<l{'d{7p Ϧ5p@b>L.5p6o';ϯk%r22m8V-<ԼNpҞ{U6-1M6~~D6~D-}`j"$r܍
+Tl{cG7:Z|"IP~o@t~+GIA6tO9f\Y6[vJuz'1_K ~9v=zKG]{*$SwdϬC?)ާŸMi \ BԷft4"GTM yxY,eo߾H0λM5"H.1
+/;YYud4kvJjLIlJ$Cg¨S>* ;Pc] ki{x 2;tAr/6'nayr㭜NBtf9uexwɗ*F/L鷮v%WnMLf'
+}X'V
+2/<g0 y9<oz䬫r.g qχM);@biVKRP<J̠եtTQG_ےdHwd?hChen6%寑Ug{>7'—xK&O⟴ϴRڞM+!X?,-zU'u9٤uMZ' =ę`vvvm~kyBINNR/Kco[{}
+t$EmnQ$@MHyλfH( &)Ss,cCXDrUxX7J=T}y4z(xŜ}`k<pzaC [3 1{><bp<5=0 Q#b$zQ>h)X8G=cZL.v+a9EؕG)qɳ}`K<p~zbyNf|EC Ӄ5ªlHCZx\H$iEFSG"-탇#X#EF-H#-㇘QFÑ83GqoԄ B%:0(7_z[A1Y+sJfӲz$&%ї(
6,i5
-zC)\ێd̮UH>z1ZeM7JJh؜@lj= ڄBҎ
-. ֑a]b9%rs Z숃` ^)mVZJx<zG~0KJ/, Xa!;haǴ'Ѣ
-xƯp,P@T LTSCN#- f՝)pcԒGEmvzQEDXLK O^[մj+qFFHѣ jwԊ CMxeTP^?v<ܧ4jD̶8*=ѣD%%<lNPsq5nnQFP^6C!e' $)DkGn@Z}`nZ$h)as!ac#N8c)1Kq<gP1.^*“5%R()asaDO kD:_ҎuOK*#9'8 P-hC\57VdbmB۹F x4C<bэ*VZ8KlꨘDq#Bö2g:pމ@6`eTXsX`?(Uݏx\02bmT-x|5=Vddnӣ*"5XJx9cj
-iT1s@-R()asaEQ sD2*D8|',CaG
-K6y>AaMۮQm~\"
+zC)\ێd̮UH>z1>ZeM7JJh؜@lj= ڄBҎ
+. ֑1]b9%rs Z숃` ^)mVZJx<G~0KЖJ/, Xa!;haǴ'Ѣ
+xƯp,P@T LTSCN#- f՝)pcԒGEmvzQEDXLK O^[մj+qFFHѣ jwԊ CMxeTP^?v<ܧ4jD̶8*=ѣD%%<lNPsq5nnQFP^6C!' $)DkGn@Z}`nZ$h)as!ac#N8c)1Kq<gP18 .^*“5%R()asaDO kD:`Ҏ_&uOK*#9'8 P-hC\57VdbmB۹F x4C<bэ*V i8KlꨘDq#Bö2g:pމ@6`eTXsX`@(Uݏx\02bmT-x|5=Vddnӣ*"5XJx9cj
+#iT1s@-R()asaEQ sD2*D8|D,CaG
+K6yOaMۮQm~\"
iEw9%ZiY
-KxSb"nJ]'; T*T8c)A?!Qaq!<2!֍ztD",1ZPŽ[ڠ$RECiǁaSX`AT, %D%`H̵9%^t#䪘C6Pi,*Ƴ; +5m?2
+KxSb"nJ]'; T*T8c)A?!Qaq!<2!֍z_{D",1ZPŽ[ڠ$RECiǁ1SXߌ`AT, %D%`H̵9%^t#䪘C6Pi,*Ƴ; +5m?2
GdU1#)5MmOYT8h2
- ^]!e;@m5V^!̺ejEI;x9WM 9Z74$N9sP1ᡴ
-=s ԕ9%^ak s̰wJ! *M}E#!hlRpb*.nG^ 한)EI;ƀ9W {j[q+,QZ@m ËiȆՀVY6)2}X\^ I6, FUI&
+ ^]_"e;@m5V^!̺ejEI;x9WM 9Z74$N9sP1ᡴ
+=s Օ9%^ak s̰wJ! *M}E#!hlRpb*.nG^ 한)EI;ƀ9W {j[q+,QZAm ËiȆՀVY6)2}X\^ I6, FUI&
Młf\Odi٦.RRBd<$>HHO
=OGxUi-MLS5;2ePkZUp-y1BC iffY4ת<&E6ńLL
@8*'b#+<>32+xB>kJ+mRdAܑ)̀]ժLn댉>?
>i>1EJmQdSZLĤOT )a _HFu]-L5;.eK'hjdq|ZLP,hʯL~ZڤI!@rG3y2sC1#㥀ffY}m1jGX40 xX|db{^LLP,<@/5*-HIi1!€>%jU)&g2fb
-?-&h1kmRdUZLĤQQU((e)}xW!>x=hj/QL79HנoaSg;2{įCĜPmRautcG1E_Bu[$q)Z"uzTzN;Oa1 {0unS' a^VG{mV%P/\M<O|Ҭa2hUo5U#\0?{ԧJm*%r:|j+Ƈ"ψޑ1o`4eçHc4qϯ0wYzVbb}dzx"j;LR ڛIY Lȯe" ^l{χW``Z!\[(O,SZ9G +=0I=G
-#+r]c_~Y;G EsAe x-~erw3T^FJe5xPn Ev¼Li<o;4o?ʫ`GM'y]kBY Ta8R:=_ϓp(T#_2&z|**psoG)9݅mX'<BеC*yg,zs#&l#4u{2?@s?՛sypT瓲f}crlX(/ ע`O`w}viϝ[o]ܟ/̝Ժm
-"#CO{ DyZ9sjko<D E~A|%`:q
+?-&h1kmRdUZLĤQQU((e)}xW!>xZhj/QL79HנoSg#2{OGĜPmRautcG1E_Bu[$q)Z"Oy(zzk;Oa1 {0unS' a^1WG{^mV%P/\M_V|Ҭa2hUo5U#\0ԧm*%=:|j+Ƈ"ψޑ1o`4eçoLc4qϯ0wYzVbb}dzx"j;LR ڛIY_L˯e" ^lcχW``Z!\[(O,SZ9G +=
+1I=G
+#+r]c_~v;G EsAڱe y-~^lrG3?T^FJe5xPn Ev¼Li<o#4oث`GM'y]kBY Ta8R:=_ϓp(T#_2&z|**psoG)9݅mX'<BеC*yg,zs#&l#4u{2?@s?՛sypT瓲f}crlX(/ ע`O`w}iϝCo]ϬΝԺm
+"#CO{ DyZ9sjko<D E~A|%`:q
endstream
endobj
-735 0 obj
-<< /Type /Page /Contents 736 0 R /Resources 734 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R >>
-endobj
-737 0 obj
-<< /D [ 735 0 R /XYZ 78.37 808.885 null ] >>
+745 0 obj
+<< /Type /Page /Contents 746 0 R /Resources 744 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R >>
endobj
-217 0 obj
-<< /D [ 735 0 R /XYZ 79.37 629.659 null ] >>
+747 0 obj
+<< /D [ 745 0 R /XYZ 78.37 808.885 null ] >>
endobj
221 0 obj
-<< /D [ 735 0 R /XYZ 79.37 459.482 null ] >>
+<< /D [ 745 0 R /XYZ 79.37 629.659 null ] >>
endobj
225 0 obj
-<< /D [ 735 0 R /XYZ 79.37 275.636 null ] >>
+<< /D [ 745 0 R /XYZ 79.37 459.482 null ] >>
endobj
-734 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F69 402 0 R /F23 379 0 R /F67 389 0 R /F70 403 0 R /F55 383 0 R /F29 375 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F26 404 0 R >> /ProcSet [ /PDF /Text ] >>
+229 0 obj
+<< /D [ 745 0 R /XYZ 79.37 275.636 null ] >>
endobj
-741 0 obj
-<< /Filter /FlateDecode /Length 4819 >>
+744 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F69 406 0 R /F19 383 0 R /F67 393 0 R /F70 407 0 R /F55 387 0 R /F25 379 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F22 408 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+751 0 obj
+<< /Filter /FlateDecode /Length 4821 >>
stream
x]Ko$WF04`Ʋ 8,7'x*fwGZI1|HW,_9tBoh~xգv c)w [#,F3B5[>~Z~xG
>~JS>/(x¯ T^Ë} 1KHHGvA!,GGZ(fGK 9{n᳸V%a LX@%/Pgā;PU{n᳉PΨٷoĦGpˈƺ'
}ذT/]]? !<k#/< 1$(
-)tHDaDA;AmbZ_g!rQq\v Aηs57:o&(0j{i> udϣp3,ZU5ibKLk|{ԀvP5*hj}y2gȋ]eqV7{9O@pTDhqa߄%bbc|K^6rTDBīuTN*w~DZ]>gDmg7W'˧(k?Ǟ{AE}x
-L?z2e8R-_NIA1%q$R@~A E"ں '/J
-. 1zݯ `v@!
-wra)ɈlA[N?K2j'!;4rlN7FQ<IݪѐeG|WejƂ7I`
-S*PQhYL@P8V _U`f&;5^S
-ot̞BζU(VU)\Uxԇ\etr0ri8nW'b1'`Q
-)&6­+0,YQ7k&*?Dkb{+<]lL/gƮo t )0򨡴)\$HtD0$nLßL_FMo',Oi:?8gQ?{p
-qll
-04ndBMƥ-o',MaOqYZ!?htc@:MEwcN_: (%s?#\w˟]L"}?MW-u^zcM vAl1АR~hspj =sLyI!zd1iNa=8h.U=c(#02UUHOa]a7SځxiiQ:GoeH1H8.vSjE)e l;&A\:Ѵ,vLI{65"(#(pQ;C%T2Wl68Je=僚&QÃ^GO4lI
-T%,D"T5ah_X0ʁ^r
-%`olEqRL.$=*eg?/iAAI/=HOe
-ɗ~Q"CM[NU˕Tw~eajMex0ni}XJ8ބczR?![鏜Z9~ɡ-5c!uHIO_iiEN4!%
-S\YF9<~n9 p>y^Gd\䍞We̞
-ƭʶZYEe<0}|~UQSf#th#Jk:In|b%jAH/F>|JSF>cL0,Y}L=#;q&fyLdd[ߑ ,R`i_34$}= @es6xxҫ>5A(m5f9/tGpnذD3ӦڤvE&>dOq2FλLooz.K
- v 
-١@ νώo
-LϝN ;
--$[QB\&Cj2=E͘nW'k:cagJvZp = = +<!NwxʔPz ѣ>Bqiܻ9:]]A4Ĺ3J%q6Z~97V)~GVg3=.} <B s'xWx}Q?- &eC+裝{+lA3^/ Pȯ=``b(ZN*z>D$7YC ]C;}b&Ttz!B=V7鲞53C(TEb<e?@lSlCz+9w;
+^!]vuaq.ߏb8hIcTn|=Els9'dW9BIהӾMh7lΫ?hC4s?u=J2DGkɪWפ}-1mPAy.O
+~(_헟.:hƯF~b{e*g *h3^ƍ{NT`uA@ _Ǝi9Hpj$I/0 < em,?yo>VR}waϟ~]
+qT8KIFeE8r:~^0L WϟQ;!X,YܡA@wn@e~v1
+I:V,XtWe%OƂ7I`
+bp@N
+LvjkP*o
+X0?kB=UOmPS"P9ʚ *bap"|{O: bN{-p5*FopSM(l[;W*?5aV7Yst oo'L<U~2=J&Vx^
+y#x],DQW# R`
+)QCiRFHJ 3wo- q aH*yݘ4?ř:JNXBM __!2uBS26qϸ~+ah94>
+=K[NXžL_!&BR~2"1)ƀt<}<>5'Z(juQJ/:F?YD~!Z:ǚBb™+!$,%,: {.v9sCɬcҜÔ{nq*b5\zmqTmv?Wzxr#=IG :vNajey]D;*JxG;EIe#"{Dև< O D<#5xit"pvDB53% Hb$S⢘E iFP^mZ!cP|(Qbfj*F hx?ѰzG$)S iԋP ׄ[}Wb(z $A
+l`G@1 #('\$EESiQWۦ&½60ʳm$b@~1OB0)
+&Ɲa)J0bcA(P f8
+9
+RFC8' vЏg0Q<IX(bVBIn3=
+G[Gjw[ap}[!_0ӷZUV?nW/5荴''vIW%Ԛ<
+\R7Եf
+滜Y}jDs\$ju2\k Aژ (JZћ5an\_.ѵ{n3,K4K `eM"}ש'Wګ 76ݑp14%pmAؗ+
+[kDgrzUR>CG|k+r&IBUG[UF0ȇZʹyOerLMuҡy)gN!pE,gb0<{كz:s7z^A>1{^cl++jlf
+m@ZVEL|(I B&̓
+ lqAC#sg4CC*]Oz16[0z;g]1XӏSlpƙ:7{?2em~G2bK}caH7"
+~(:?7CM'P;??? B3@
+a
+0{~(g97<Ÿ;
+?;
+]e(0?wS;7>2@+ xԻWP` P;bىgKNJ0h*LrX* l oktkV8%SaR##CϪaЋsbzkB9/3 y6 $'N3~pƴ/QsphӮ_?70wt2*<I[ᘔvox1'ĄjP"ed]$MIecʔWih|c*9z!fx!/˗OSG_Txx 9R MpdGbB |,ibZ?ڹ ).-Ld6}9 H[\؊zYO%D|m2<&ӓZ^݌|{3V:{o5 C+@0LtWL =#Tƽka Z1Ĺ3J%q6Z~97V)~GVg3=.} <B s'xWx}Q?- &eCA ^a "j|!]B~!SCպvP!|< ?Ȳbn30 걺I]BHM*<)1ܖOHIx!s•ٻ
endstream
endobj
-740 0 obj
-<< /Type /Page /Contents 741 0 R /Resources 739 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 744 0 R >>
+750 0 obj
+<< /Type /Page /Contents 751 0 R /Resources 749 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 754 0 R >>
endobj
-744 0 obj
-[ 738 0 R ]
+754 0 obj
+[ 748 0 R ]
endobj
-738 0 obj
+748 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.709 67.03 251.166 78.65 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-742 0 obj
-<< /D [ 740 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-229 0 obj
-<< /D [ 740 0 R /XYZ 79.37 771.024 null ] >>
+752 0 obj
+<< /D [ 750 0 R /XYZ 78.37 808.885 null ] >>
endobj
233 0 obj
-<< /D [ 740 0 R /XYZ 79.37 326.887 null ] >>
+<< /D [ 750 0 R /XYZ 79.37 771.024 null ] >>
endobj
-739 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F52 376 0 R /F41 377 0 R /F51 380 0 R /F53 645 0 R /F42 378 0 R /F43 743 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+237 0 obj
+<< /D [ 750 0 R /XYZ 79.37 326.887 null ] >>
endobj
-752 0 obj
-<< /Filter /FlateDecode /Length 4623 >>
-stream
-x]KWQ: $/lGI9|arNx^Uj ZJ$|@% ~Ǎ~xw{UӠ=7q3Is3Z0Ϸ??sss>߆_>x 5%en`}Ҽ+}`wL@;UNa>"F
-ʹwz/0Nf؞[Ay'\ /rAP Jyd%M%v}>Yk 8x5`9aSdL̳sB2)l;}j"M,#n^~|9isd>1!bJ4bzψeZM4= șT- H ؿ'dv0gY& ̄e.sؐJd 3;fF˱9N*29Շ
-0gU L{?!v~#xp}y+iN͊yxΩۥ~ViOc&
-7Mm %K@>_x"I$-lU
-T
-Q/5EA+&"q\NG˻2ea7'7ֿ+h6vΒ<B}AG[ VAsqC9"j9HqBxy2[ODlӬ\lF -0̸eBjZ{+:RWЖ0˞?Ij;~,Ŷk40^ts/N%=KHwp- Du%Oh'߷}_:>?v^{4;"hM/Cm)S Ц} I<}ۖǥE74 3G3[}gqbml;F0ޚpbNU#oZd)e5/笕6}2}-m6kj~U[Xce6vfOJf~i5_- s0&Y`dߟo5'ɳh ~jxygH͸MleDݫpӬZfɻ;æI/i?ɧUJQn!Q_n0rq鬺ݿn~mkI欸=Y&z#A~K?|'~ߝ7LgjNޫ-ԉ8(fh繀? BYK&,<&#X>Sq+}5Qz
-}mYZe0k(hZK cl'ւcݑ[%3u->]t]>Q›3ln_ZפOԵ X/K[Uc5[NClew'#k՟gF|%o5P K1ֳzt, Dj@lK>j
-B7rdf%`E(Bx]߉7OXZL0hp ն1Rr:7]7{>c[xO.dA/[ZtÚ4;}uV ORY'ꛅ3޹:1qML(D;"T;/0W2xVڐoMƨ8})p8(ܫ0}1W
- m}qmațk?(ϮrL Ʃ_8Q)4 Vh6/יLV8B=㗿Fj`K؞o|p1GY'"`v3<Zy+CSߝÙKSxιass-g^;jribG)n7hH7UUc&{!fݿϕ Mk{m~Lhc/ɧ8ܣmvd"v2 <6^sA@krчK:glT?=6K#
+749 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F20 380 0 R /F18 381 0 R /F17 384 0 R /F23 653 0 R /F21 382 0 R /F24 753 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+762 0 obj
+<< /Filter /FlateDecode /Length 4622 >>
+stream
+x]KWQ: $/lGI9|arNx^Uj 3ݕH 2J~1A zoff`\o~4#+ _>x 5%en`Υy7ѧWOsOC1 @UT;9;*>\?}(pt<*y|jW
+} CvY$hf6M?N<t¾0vڀ&;_Ⳡ ^.u?<IT~dD嵌u+:&ތw5'ٶoU
+G zn˥ތRv&LY9HgET'o|~eB6ˡJ&0:ѱ.`V۞Kv<„Br `JUZ&&8x^fYyJ}~ "ex,>"Bu3B0@%hĂ#czqȐwnlVв_Ӷ{g2d X`Ogp• |"T % GV[XiպրWL{ %g7d'scɤ 7m{CaaĈ)exЈm=#ia786 gR0 %ܶcNP5P(fn:6 P0cC*5g.l:Ƞ(f0ZWz<.U Os>Fcys "p|Kh'%@AN1b8}j
+}yFLr{! h&9a.dk83
+e 9l݁D(63|\=D~Q?ťw%d덀f_6⧊Z0.-rjߟ}w
+0E9zS'⠨~_QXCL /e.K/~hbML]K{wĭՐG= W^ (}iW}\z^QP{QD]K][u?b_r)kI܊ f CQ[x@DL\Y@% yt4$m]fF.ºU^2/WQxU2e-([Ö(h%*"oG[S_5(
+fy
+ٽpX[2=gJF~1쀤'ls<\0Ӆz>̵uY*P;,ɲ ~|>@% G
+w E8\o,6)x|9&&HM`zZ3!fυscvAkʝEwpْrNE}vwL3uk23%Mh<H5 qۡM8">&z!WN2}k.4.a,Y$'wV")p,RrmW].zlL~.k+vw__In'ZHho2W\D}2I}< K2&KY78Mo2̒f,2R s,2N s.d.٥dȼ`  nqLe)^2TxDSȬ,Af27]\3Ku\7KudȬ[C]!\K vɐy.2/%Ad^K ǧu
+'eznvIvU~wu]偶uWɥ~mf0p/WRjva"{zfΨ^LS87%
+Dm|= z3p,c"/Vb
+@SjDAۿ]Q
endstream
endobj
-751 0 obj
-<< /Type /Page /Contents 752 0 R /Resources 750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 755 0 R >>
+761 0 obj
+<< /Type /Page /Contents 762 0 R /Resources 760 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 765 0 R >>
endobj
-755 0 obj
-[ 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R ]
+765 0 obj
+[ 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R ]
endobj
-745 0 obj
+755 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.089 598.172 185.044 610.127 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-746 0 obj
+756 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.765 598.172 212.72 610.127 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-747 0 obj
+757 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.48 483.111 211.435 495.066 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-748 0 obj
+758 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.719 483.111 362.675 495.066 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-749 0 obj
+759 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.828 471.156 324.783 483.111 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-753 0 obj
-<< /D [ 751 0 R /XYZ 78.37 808.885 null ] >>
+763 0 obj
+<< /D [ 761 0 R /XYZ 78.37 808.885 null ] >>
endobj
-237 0 obj
-<< /D [ 751 0 R /XYZ 79.37 579.845 null ] >>
+241 0 obj
+<< /D [ 761 0 R /XYZ 79.37 579.845 null ] >>
endobj
-750 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F20 382 0 R /F23 379 0 R /F69 402 0 R /F58 386 0 R /F29 375 0 R /F86 754 0 R /F51 380 0 R /F52 376 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+760 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F55 387 0 R /F16 386 0 R /F19 383 0 R /F69 406 0 R /F58 390 0 R /F25 379 0 R /F86 764 0 R /F17 384 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-761 0 obj
-<< /Filter /FlateDecode /Length 4674 >>
-stream
-xɒ\U[ՔRjUIn' F$
-O8>E8|0 p!=_3|,3o !nH Lq46=00{fpa
-asG^BTo}J2!!o Lq)n{ZpVY)'*/*嘄/)\؛LY[Sg  3.^*]4N< ~W@ ~1mT!+ 7-Ί¯T| a3! (DHBd TX+`  ۚqk<<%t
-&IQV(*u fV02v9uNj"B3ɶاb Z!VpqEV);hzBϫ{Z=Z^؉[J܍bSHvx<k-;-YXNbšt%[ը68lÒoL'HgV*dnb$zf-1=l6 ͪÓj&T"j#M>j*rmSO-7Yq^5y&Ѽ8=QRcl8'(nd,[pH?xc h3(s~ _TG,!Y#Ҽ1N 7 M|JkUsZkP| [xvL&g@ǴIS
-vu g"_1xF4^JXqK\Hy/ջK;y:ytiܠxB(򉺜~KUEsD$X)2xkiʳD6ߍ KJC
-xǀ?1`P^0Ǿ7iˏ*mW4fYjeFe#mqiS  r
-cz" +*w(zQ?XYq;
-E}+ v3c8sjW)rN3m?vݢ  BNXmR#&֝2Q 6G^rD%5~vEdTzrT%$0c4PtB%NZ.!rkB\w,8jdۃW ?!,5dJ6u'5x$~O3pp=#̫Jy%SH}@>-Ncm~vb*@ԹkY%hnC`ו+nVNpϠ@x69vi'UBHF_㷒Q
-S%nM
-HqԭR'ۉCNSϣ wN;ɣ'ɒi/Ȳ%EZ3;y׻~'nzJhǼ4{2O_c.ƙij7 4+fh[BO5b۲p
-̍8J5}Db!P1"1[\ish-Eb/dsRxMU
-%Js㵞e Olg7'=vI_3[T"qPT"ne]J,s<z4|Vv墓 qwNj<?fJv/ +.?@å+?P. ТP 0PM"9Y`tMnQ#K9PjX/9GIS;q䄁'2vt"D:&
-\Kd%^-,׏swELY@TO
-h0+2x
-yø㬸0T?LJ{T
-+![IF]GzyziGmb@_.Bin[Q3sm^JKwl/ãq&slk_H Ģ;my
-M_2<ݗHD9ų Qֺ3JV#Qid/|vEەl10sJf"ù|X|s?D+oҴG:4jZX́-h:0"#rOzZQ['M|Ǭ=?{=73ıTzP/'xaikԎYĿ8e6ֺ
-nxs{p7&:J@a{AN\*@ݩlP~a>7aNsFvB
- ?#!awaO!H͉T F0arTׯ)*~<jQ aD oS:.r\IJ@6:&fdr ًfMr
-?5ڻwUIX&b b&_ JMX{C^8=#G6MU%QMo9s6
+771 0 obj
+<< /Filter /FlateDecode /Length 4591 >>
+stream
+xɎd>_QG%jcL 8I8$prHvJOoY2𡺻^SI~~޽k-_^Lڋ5q#._~x\o}_qqBhfh€g(JskSSa[O'TGHޞo񙊄|,3o #3-܌*&lL 63B3F{f]x N>̠u!`
+4q%<@@f \D2{
+S$L{,4TUsNt BJ+>&su=#|SC-u^]eeH+@Pzo#AA1mda+-bE2b, fiE B$B*(26g\d2]PZ
+ihqD"ĽrIَ tO‡[n&xaU(sD!KtqUf^=,4xN_JS`|ՎF t6-kǍTJulM=YPʺoA XNm/<2dF4NkfG'[HP hnZPiFncW%dtφ(Dqmތ1N->ϾN_
+VuVO0S#v8.^V4{ ooոz[V&,e,<]k~FB^VCu!n0;4űd[sSa+YS3lM͖Lϼ%0&n$?[=䥰y_NuQ&o6G%b ]
+=V#9>NK<tM(;h<[9b{2r2@f$G pt$%gُ3zQVUu4޲qg L6镞 h|ay(-o; ,^9?fMwa~)<vu>F
+R2~4^IXfqz @3˿//~yRǡ!1ͣ@3>}B>_zx 4ƣ doOŕ t_RIS Ј2٨~;
+
+}}.V](L
+d;O*
+~ ˄{1bZlz0.0HUG$LmʒI2Y)x G}YՕj7E&CUaM3hvV}8kKzf<zttץTZmbI?}<nJ
+_ƭXdhHTaFwq-,v*IQwo%@~~R};˽5d%I&aTAc$^+GRR3̭"ߛJgc@G -8r:+W^CZX Iu2?օZXj9J#yn[QkA3aQ9۪JV vٮ喅G#&sli? @8P&>f'H6W4w]"eG,ɭ5(+JV'GQqd|a6j̃p (;5$]>~,:wbӴ +ШҴcZZTXH4
+SOQ ?Bwh=@{1< Nֽ}J$޷On䓃*;
+I$_A~]Q>)GQ35
+ P9ױ
+",itrD0_w %"Sï%xM\@n'C/${1 'C
+a6 JAao5}ZW9_f3lVM/NkzT,xĔk|f|>'%Y"+%*1ٵsfOm]i^> t7ZC%`ȷw<$E#3%&/O+3@S^F$L멵tRU-hhM }Zm&+dUK>qBMoe|UҬyDu3i d}Iq]r"%SuHStwhriIZ-!4)aZqx0'Fɷq$:o[xѴ`$\
endstream
endobj
-760 0 obj
-<< /Type /Page /Contents 761 0 R /Resources 759 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 763 0 R >>
-endobj
-763 0 obj
-[ 756 0 R 757 0 R ]
+770 0 obj
+<< /Type /Page /Contents 771 0 R /Resources 769 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 773 0 R >>
endobj
-756 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.589 386.19 460.544 398.145 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+773 0 obj
+[ 766 0 R 767 0 R ]
endobj
-757 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.974 374.235 468.929 386.19 ]/A << /S /GoTo /D (section.11) >> >>
+766 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.589 386.54 460.544 398.496 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-762 0 obj
-<< /D [ 760 0 R /XYZ 78.37 808.885 null ] >>
+767 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.974 374.585 468.929 386.54 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-241 0 obj
-<< /D [ 760 0 R /XYZ 79.37 771.024 null ] >>
+772 0 obj
+<< /D [ 770 0 R /XYZ 78.37 808.885 null ] >>
endobj
245 0 obj
-<< /D [ 760 0 R /XYZ 79.37 505.243 null ] >>
+<< /D [ 770 0 R /XYZ 79.37 771.024 null ] >>
endobj
249 0 obj
-<< /D [ 760 0 R /XYZ 79.37 356.374 null ] >>
+<< /D [ 770 0 R /XYZ 79.37 505.906 null ] >>
endobj
253 0 obj
-<< /D [ 760 0 R /XYZ 79.37 187.266 null ] >>
+<< /D [ 770 0 R /XYZ 79.37 356.658 null ] >>
endobj
-759 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F58 386 0 R /F66 388 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+257 0 obj
+<< /D [ 770 0 R /XYZ 79.37 187.326 null ] >>
endobj
-770 0 obj
-<< /Filter /FlateDecode /Length 4865 >>
-stream
-x=Ɏ$:J4VM ; <7'{ǀN\ 2KFFC>TW&XYA/~-ۗ~PBG;%S/_ozR*)|z:}S?HiMԧ6!=_6PڥO?=O= 6Kj?Ba
-
-
-c-c&П+Etp?
-ro"!·*y_i,= "vY
-w3Gl{"$?rI;5JpB°!4W-ОW8ܱ&Qū0/7r!3zxൈZmfYd2o#`ؿq^-=
-S6QXX;ygܧ<-kWq[i s&FTWLk%'{]68 KhX o}k3"YGarj;h
-ueƌ2;G6D0+#%4ͱug"rrTyGmK ^hvsUكǷ-@s_Vqq0℻FWȭ4 q
-N7s#&J›`VSX fdP "[2:@㞚yA
-gg4eHK%8&Z@YݭW!o+=M1lQlYzCdF=
-,?y;'ivʌS1p<~B (Gcj3ojʘ+bWOle W Ebc
-K|l.:W.S@ ?r&iR᪤TWҮ_o$=C$$;~w*iFo[V[gTSIc_I~8 }kp㩤Ku9-߄c? v4`&<8&IN  U`~FFIGp.nuFF !1W\z/q>7<VL
-㒿% ~M<"iul'>ܒgѤlcуᤒBS.21.$YK'g[kGkom@ĞF}0 !?=SIͩ*mfMm_jkͪJ)$Qy]q XXGVN
--9/kA ࣩ~8Q>f-4wۂU]|(\X9^q<6kPOwr9=9{0\):̕}+))XOYe7yؓYUb.'fҘ zSذ3 4\aF0`ags^x _M4K2
- B_hV 'xK}Ial|jƑfVf9mRH<o֟›A>`ĊJ~ռC:sP~$
-ūy<_|7TF_$ߚx4pep}TcFI Öf@VK3`<ϐgP@X yzS4ЌcVh3hX`di<4נ<+<. hY ^ ~NWB{mwI zv<ڥZ^!DgwkY>aCq> W#q񨥜bRVj_6:ɓYΕ%Gareq'xe5.6̫mu¡dϽF;{K<j>WjåS)^w3ȫeugpwoJYȷh銁.~P~,'Mӵ[O&ϳ,LV3> -o_ rT?|.7£` R ț~cb@-dȫEˮ'ymX>)O'i?ywiYCK~ ʭOKjj2l_Ci;7Y "r:^uLjM
-4y
-FZtG} .̖wt40鶳f F3:7|\-KtݣhYOovvsM'k+
-?`/`٩M7͠Wl$'Z\DH\
+769 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+780 0 obj
+<< /Filter /FlateDecode /Length 4862 >>
+stream
+xnGίxGv
+[<)ɹV<+h#S;me_c d[뇟
+cWPH阖f-4>pN kֶ}g\7ළ>)d?ñq~p~?Bm͔rAa֮c_ :طPg(Q̈́@DL\sy[(ă  7C3u]¸k(<iǎAk5<B?F.3~"CT<z}gr}6v"TYϼ + I&1x!q
+pH\A2eɼ!hC"Cdئ-=QfKo&- MyyHzj`KmAK-2Sn{mm㔥h*um$Ph-+*/:u.+gq_S +MYrZK~πV*";FI&&:/%Ohk/(ӵ"FUSO C8##fQݢ⮅D8f]\Hqwg۱΀GDhb+H
+x,{YAӖ$qPÂqg w=N45OԚ6+t710k8A[yqՆ`Rw'۔ԝ%t>mkbn,U(Vlm|-NlPJ,c(՞3֦
+,Z<bG ms==w0k/.oϷGg/YIG&j5
+#daIBFE{m젳_@Dʉ]Ux~`c- cP\zEɯ#lhP[;ɼόcvG"R˲WyɽUK춥AW;)["[It\bѢ;GܛwcF%2t}{L0B^Viky ]5كEiŔQ=,؅E_a5g3| rL uWjyN }1ݚc6& Yz&
+В[s=O11o!2ѶQ1qd#^D
+m
+:x[.`ӣ!0cԜ:eVgFˆ- xK0P[cwT
+<Vn4-%s }%
++r:+)Bךq'ҬbÐ9,=Kځԅ'r`Z~ԃljJQ]oǙ-h#^aN%?-wѺ17RU>, GB)8;F /`T
+9 }s١CI߶Y,8PدW$5C_%Ev(PnF
+׵Sy7QsqΓZjُ>cMkYةb9,oa+F&S.
+c:`ՃFJ*y.oZ(D %iR%F)KZ;JKŴԈ2f/~6`>)X砦x3QMӠ8QJґd,: n gK=~XA$=gji"^ˤi[ʥ8)(_s;$]a d诓7Yq7noH19 p'zP/8X,*e2@8o ?#%cE<&BlO]HR ?F u`\o-L2i<)ϥد6LsԺ(/ap[f!i5KV6uFrs2땴sg^5U΁_dz߶M=->z c^I;
+QUC_%Ev(z0CgSyz@(|xAA~FAS"g |Tgˠ/kXI(%PXldʋ.P^@dʌ}4,o@T#\C{ԇ$ $OLKu|FʤZ˝eL3\*kLxf݁EHOۇ]%B%v Ĭ7A.p^Qڎf\?S]))Aa9l
+V4~.,qi^\hxm7A@^#[jk@~#kc, cvuY1a)G
+DVv<mwt#(/[C+ (7dIߪKl%()cEg&`R>G__KLa/Ŗ4pi7;R@Y8,h *N 3I
+HWfom\VRm0o]BuE:"< pzџ#F: Uыz.,0+)먜yM[ěʜ&Y
+6@ eG3]br n9Knj
+M*nI~[ȓLE洄{p)E9aH?Oz)03+0VAW/hy pz^|<x;+y ĤwW$ahk*T}+{<s`ɸ h.s8(hc5_옾'}m5&TF{G{*lu+x 8f`i '_8G
endstream
endobj
-769 0 obj
-<< /Type /Page /Contents 770 0 R /Resources 768 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 772 0 R >>
+779 0 obj
+<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 782 0 R >>
endobj
-772 0 obj
-[ 758 0 R 764 0 R 765 0 R 766 0 R 767 0 R ]
+782 0 obj
+[ 768 0 R 774 0 R 775 0 R 776 0 R 777 0 R ]
endobj
-758 0 obj
+768 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 226.429 757.783 427.176 769.081 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(tex.stackexchange.com/questions/488566)>>
>>
endobj
-764 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.498 86.351 202.955 97.808 ]/A << /S /GoTo /D (section.10) >> >>
-endobj
-765 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.619 86.351 384.076 97.808 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+774 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.498 86.285 202.955 97.742 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-766 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.883 67.03 226.108 78.716 ]/A << /S /GoTo /D (section.9) >> >>
+775 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.619 86.285 384.076 97.742 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-767 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.163 67.03 249.62 78.716 ]/A << /S /GoTo /D (section.9) >> >>
+776 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.883 67.03 226.108 78.65 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-771 0 obj
-<< /D [ 769 0 R /XYZ 78.37 808.885 null ] >>
+777 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.163 67.03 249.62 78.65 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-257 0 obj
-<< /D [ 769 0 R /XYZ 79.37 731.106 null ] >>
+781 0 obj
+<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
endobj
261 0 obj
-<< /D [ 769 0 R /XYZ 79.37 691.611 null ] >>
+<< /D [ 779 0 R /XYZ 79.37 731.098 null ] >>
endobj
-768 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F58 386 0 R /F66 388 0 R /F23 379 0 R /F65 387 0 R /F67 389 0 R /F29 375 0 R /F20 382 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F71 415 0 R >> /ProcSet [ /PDF /Text ] >>
+265 0 obj
+<< /D [ 779 0 R /XYZ 79.37 691.603 null ] >>
endobj
778 0 obj
-<< /Filter /FlateDecode /Length 3984 >>
-stream
-xˎ$>_QA+l{{ rH8K~?ԃztxsn(HJZc7/~C%/
-;wJH?.~(}iR~Z&P>V}w!̽Ac7RЦ`vhx(4(S)˹׽qQ(9YA3JX8[mi0'3SmÇ|#*
-#
-ʰ|˿4ol/R_˧Zn@8><B
-2Jj"}y~ItG8ÿR.&Q8^(g 4g5KD>T.7%
- NL@mȭ Sp*En aBlŪo
-x5ąR᪊P
-8aKAEYåQ!=3=Y
-nh@1߻PBϹ
-|΅v? q*IM%.Ko:A# z 剷/w#3ta܍ &w
-PYTQN-bei]-Lr 퇊2DSK*y*꽱 V+J_U]S-Y7Y50+k[$f8lp.CI ^hCFa+M%vn/<qh4`  c0uT#
-++H;-"<qVͩ5%x'RM8C࿆bhr^հ۪#gd[`UI@z$1:K.ji(1NU(/M1ͳYZ) Oul0{Zƒ!UmhE
-NXeg,Ōe'`aw}19sl #dr2ºmTbd#}GEc굆+},s{Ϛ18QURu6P>K[`
-9sNZ{]R}7XE})旌z힭x
-l +*!blkCPhYe +y_Tp-D>q˽'SoYǝqږuǮZGYeu5Q7'[S0S+a'R fĀ2m%rd
-]54ǝGTΛ~&N3t\f&b*<"eA
-ekزSUVsLZ?H5$|м~֩Vi+A∬Uъ*wK8+UuximꍰBf@w*L}6w.]<{~
-e϶1ȧ[,>^~0_wкPv)'Tѩ|^KױJErGD^NJ݌z)/KiY=R u[W5g
-լ^Q E[FiQC\^LzID9
-<\ûPUD3нڪm-vVR+Y+ܛ<+Җᮮ $`%UBª܋%oBu?%<J>OH(I.ssKhj=\utD~aHNJMg$LD:+(bwÈ} 5s'hq< 3̹]̍ }:rj^46Ϯױ.e(V.
-/jt?cF C%0QG1\hKag2NSk9P*["DYM=lAXftpcx6|a]ƙp-Lf#A~:O7{\aF9!
- [0S$(yU>UӢr'\Ȱv6 +n=k(V-cnohx
-0~['Y*\ É*=r/3lZZ?УOwfʃRRRl] Nmڨ%lWLmMbֲo+JZR1oVg57vC%)V,|BS~%mQbޱwi}zvV3ֳ# 0cXXsXxtţ~zȃ囅=WZֵuof.y,]q.I%9;6ʸIbM'dRZ ${Y7ֽ"B<b\_01Փ
-kzd r1r_E7*ہµFy]duuDE ޮ!^
-oz9Ն8@.l gTV0=qDZP }k0=%1B Aa%.LSRXU`MP\$fT0<7ZFmRPq{Pʤ.aA ^_}$[K}UQX3囊 dBO`Sqx] |4LLO
-T~rчǬG 0:/A
-̓Nдz~Vn@wvPXڱ&|SÅ;SI;cd7-LwU- 3Z}Ź_>;7w"Mv(w^na[љLu>Nò9%\r;;+!]e?G$iJOwo sv8J47pM * =u)w7VMm|xދ-sO4SVli~+{ kPh`vDe
-)*#['$U*晇7&Tڊ|YapxyzgWY
-QJ
-B:j5l M| Y]Ձ2վ}#sMUy
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F69 406 0 R /F55 387 0 R /F58 390 0 R /F66 392 0 R /F19 383 0 R /F65 391 0 R /F67 393 0 R /F25 379 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+788 0 obj
+<< /Filter /FlateDecode /Length 3982 >>
+stream
+xˮd9m,AB⼥]s`բw y9wzf1,oUb;8\Y?EtrQB;%S?Ji~>ܴE)?P[L>@v>oso⍔#XmA8{[:>QT4vvV3M
+x5ąR᪊P
+8aKAEYåQ!˞L󞬀e74
+Z](P\h>B;Ѕ\j{Z^&{G7ȠYU zEqՄۀλewәy ƿ݄_QN
+9w)9yUrN`On~&iqgVk>/KW(D*t  7mPޓQaM1[tc6ll kd5*ʙїrbNpOiAuO#1 9t5ԉ i)AHԆKӆdEܘ&֣N@l(z]+PqA՜ԝ*5#X>=!VFRզDu,{_ЅbqCZ;)ED&KJ $\.աPB&ݶ\(Pע@nuP+?[T5ͺ %7ΒY9^WL n%0a ^T#Ipæ;Z84i$z12WvZDy 㭘Sk[sL֚p4 &&aUFNɶ,8::\<PMc'M_
+K1YZ) el0{:܍%Umn ΰSXńeG`aw}69sl #I
+~mn[6G2H{W?G
+c굦756bq;c(ːŕm}XEs(Fq`!_2{թURaA hYy z弯&*J)>p˽'QoYǝqږLܺcWO䬀؏'[S0S/+a'㨈3z b
+21ZircQ_t6`׾=^^5&cpOי RrCˢ~#>b3
+95TNapV4 0i֍V7ҶدR=ܱso⭧T_̨=6Ρ}`S6FirD0܁6tP/߁^Ӄ°DaQq{Mz6S2cCWׁi::i TmSޘ*4%Tr_`b_KNT&&RJfs)1? kLkZ'c0 \,J>tZ
+ekزSUVs$gU%$|yUIZAGGdubzqg jNG]vOd\^ S|%P#Aٙg, 4F{#?3%|̗g}]7n07nX'Tb>%XUꎈ?eUFnFU{k^FN{ʯhk
+լ^Q Y[FiQC^LzR
+r/"HETL<*i<!LLov)#}[GT둟ȮäG0c,+6YA^u4WQDak^!ܣ_`abn\fȩ[x$?n_Ǻf -ƣp[(t DzVw8 ;utpz-/^MR޲I$j:d z5cͧsC#+-2Tem_f6s?NVnx>HŒrBЯr:}VI [g v:e@2J&OX23^eScZTVND`3U,]q}mmAetVYO֖1Fx‚Y4]X<K~['Y*\ É*=r/3lZZtmckӝ`'ruf75doۮ$k[I{6X_jmpmd+ 䶦1kٷ%o-)Ș7 ;!moQT+i^xRmQbޱ;Zߣ!ŒDp1X~<t8xOoy3ְ|J_˺v.!Ǜ~~zkZ/y.8$
+>UC_~U0L"#X*"3|_{/&ӳ>\}kE1pA =dKB)Du ,\7[Х=a!hnM"N%_c;Dl#\pWO`jiJΥ5yٹi(Df3\pC ΤTSzViX36$Yk[nzxg%8-گt&0UUWiI:Bar1i~>/aAJ/bWx%mRn<Δn^
+f-9Ǐi`vDe
+&/3i<uy
+' &1 .ҿ@;EמU[ÝI\#Lx՞(NIِ5~Oތ1NyX IīHDb/ h#/ll&
+ʗh[vvtcLw(0জ:S٭Ur
+Rgbdz%~ʖIբ9RquI
+S!<fԄJ[/?3 /O*6K!JIRHG_-/a1t|(v}:H+FFW۱
endstream
endobj
-777 0 obj
-<< /Type /Page /Contents 778 0 R /Resources 776 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 705 0 R /Annots 780 0 R >>
+787 0 obj
+<< /Type /Page /Contents 788 0 R /Resources 786 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 791 0 R >>
endobj
-780 0 obj
-[ 773 0 R 774 0 R 775 0 R ]
+791 0 obj
+[ 783 0 R 784 0 R 785 0 R ]
endobj
-773 0 obj
+783 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.048 509.115 272.735 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-774 0 obj
+784 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 288.456 509.115 300.411 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-775 0 obj
+785 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 107.237 148.72 119.193 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-779 0 obj
-<< /D [ 777 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-265 0 obj
-<< /D [ 777 0 R /XYZ 79.37 496.156 null ] >>
+789 0 obj
+<< /D [ 787 0 R /XYZ 78.37 808.885 null ] >>
endobj
269 0 obj
-<< /D [ 777 0 R /XYZ 79.37 403.681 null ] >>
+<< /D [ 787 0 R /XYZ 79.37 496.156 null ] >>
endobj
-776 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F56 384 0 R /F66 388 0 R /F55 383 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
+273 0 obj
+<< /D [ 787 0 R /XYZ 79.37 403.681 null ] >>
endobj
-784 0 obj
-<< /Filter /FlateDecode /Length 6971 >>
-stream
-x]KWea~
-{ηݸQ([t#(84jd/^LtiW#F
-DS;].yA۠q ڇ&Tp#Kd+)&rvh#"
-F\ 5AFٟS.>F&\N a
-nJ)Z^1a5=&^쓮=CBUB~:$eD
-qB݉2WK)0m h0AQ.
-y%}5bfKliD|}R8[؆aGvFrR
-ͻ.NKˠ[ .Ez(wBPϛ^qΔloO@c#J81bhP =Z,?E^߆ΈcA{~萼ֵJ+x1ILn^Im>2BGBhSM /E]+[J֗hٟǏ?U=%_ljדK>s؃?h??*U"uE QzjX쑸6ܙS1ϝékuE @)
-ЎvI3> I`XWC^Bܓ|k$ @B4„Į( NK  m&=wTf??k\ᄺU# Amr0Js#^ D]̃LʼnfzU
-R0G$-c>;B<ؒ䱁)c#[DŽijǖ$ Hkؼ{QMs?}d`I-8^!*,h&TX-.nSg,\>WbFzC)i(C)@HwWu䲨;9w/P\@weQ/6Bxᒙ,EKVRS<˒9Vb)T4ϑQn%@Zndkαrx{#%KdsȥQ}5VYQ(w]ٴ>7@w"'<7B_};dUX0'zP\RZe{{X]|);ܡ1 noc䍻궱;}YݤԴǶ[
-篓Xo`–cMy\72
-S!y,KQ<˩⩣i\-YR}%y 8n)X:q>z ZN<(ǀ%XPYN^x
-%Kb)-a^#&WQu՚{UI4FNIC|/z۷{譄#,.'ǧީԱw &u9l݆d/u
-4+ny5CY&a*Ɲc)eǤ:JIOSw#7 _YdKTP*S{!}?&ZU<*|aIך`s޹cKp+<E[ý
-S(%seCJgNtK?a5NB>Fs>s/*yV`[ަ# D~BC+,S.c
-'6Zq}vZұ^Hg(e7DdX]:3I1/7v:V1"i/aXF&Xm c=)p}e;yDMyk#2
-
-šŠ|OsW}B;fP
-5!}
-K-@
-Pu
-vvvnq۔\kֵ=c<fpX Za/ -푺_Ŝ?mF/?T?*ҶJ)w f }퐠#;9zRexrpn<s#7Ñ6
-%9<=3^6.G$EZͻkgTxs,~eZ3ZJ6PBg<Ł] ;ĕm~4D; ,_C(M0[}X]X}8۸a3J 98Dbm߾`a}{Ar1Ax#t}2WH\h[\'t3~w,+#\E]uFَ- EOpH;uFKpSܥ KaJViOkHXub.K\*4]\c2Pr.*(GR|1F/JIC[ǸӮz<$%yl xlEJȖ1A@,z<$%yl xlEJX+u;m|$rYvdqn#;#Ud&Fe]vd ڙ"3ZRNI#9Z.;c?Ewb;K\wb?,Ë!Lr&#n ߙSU'v8G.7 Y-
-w's}jatpW ]H5Jpԇ[a
-F?jxMݤ_V(݊O"B\_
-69&U0b'NgsAGO;C.7w{)`7z :]G/Db.^f ʧG/6OF#:zεk\ss9$ct&wO1i?t?Sb$Ҡ:h0>]&F%Z٫^~hGT'+z.ge8k 5Y?]?|}*f/|Є),k9t<3~hǻ?-s> k|k45"q͟qC_Ϸ~Z"K0Ϗoq!I͖y~z&μ? OM5pea/ß1[+4 $+IӻH< i 33Ru
-(k7\@+xs<a4SVO0,Bڧj\uJ~`gT(/Z nvKWάμ.Wx[Z5 K^[ɤsnW_.'wbz_$exבsC?ɯxWMr6buÊrõR]q77%`:zHo$w7!)B\BVq%m[ڻ8-`ϻv")АOnVt48n:\ͅj ls{c[U JOe.R/w4O(%Bu 6$jU^8r޽)OђZ@2W- a)%W!`ZnM3e4NoɗGj,_Gz.RK'<s[^O7Ցd];ح` ݄Egό y3]9URR_QON6DV< ?]n*y0nE l=vgbIR[Y;xull.Iia60Rz}셽# :P?/H1[ULZKS-K3p+5&\5ӥr3#uҊ)}|3'%}$ [&3}` ۠
+786 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F56 388 0 R /F66 392 0 R /F55 387 0 R /F69 406 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+795 0 obj
+<< /Filter /FlateDecode /Length 6970 >>
+stream
+x]KWea~
+ L.8a/GsZko$ 7\;ޅR% @s VM@⎄!+!8{1|uE32'U)H=%Nڒd
+cKRRVdl
+1V[<6R<"%{c3=S%Y'}\¾V{E8$yY SaG<hMɳp\ !q(R#]Ցˢ0sx~Qܹۑˢ)^`6Bxᒙ,EKVRS<˒9Vb)T4ϑQn%@Zndkαrx{#%KdsȥQ}nqvQ(ʦx;]}Q>߿k7
+_މ'ֆ1<,-xӄz/O|ʼnٗOCclՏ7Xyg9tRӦ3nv<5[4c[K}(Pס
+m]\ec_#.Ɨ7u160O ;X-> |( ŏG5>|B;?yt)lTM#l<
+篓Xo`cMy\72
+vSTkSB5P]E|SUOǨ:yU':s:wU~C?F)fn T W`U
+R"aIJڒ=& ٪
+cKRRVdl)DpL<؊s)5R~aTK:˘`@*ȭg:^м\.!Hzڬ q#deQ
+%Kb)-a^#&WQu՞{UI4FNIC|/<o?N{W0n~lqZ!mH຾n_w `awE
+B6$#AWN̷`Ţ %r&76ny#݆dd!~ٙo d<)[11ܐ.3? 9oj7g?3iӿZ Uvr~g>#Q+ɔ'Ya)Ϲ'#9 Nc?+"Њ
+ l M2KSᛶdh6lUV5I*f.t%*HUUY Vt[X3ě_Fbinܙ*<"XvLs:{4*jQ]h. [R Ca5ѪAeV K֬ +_;/_Kش5ܫ;R2^6ԩtfOVv6~Q#p,آ6-]( BKZfr{fWظ|cx5Gg5o +tցRvә9MDuޥ3srS@Ijc#fƊY+jh"ն0֓)C#h[[Xp#XZ/G&U?!U,2"`)97/!]FDꊸůJ5wu"nV`91_J~?%vn,$ҎBºEkK5,[ hJʐf0*CFAeH L1=i3)Qh5PƃVQxʉ(I-^U"# !H޻&GR|1J.JIC[ IB<ؒ䱁)c#[`Jvrcx)cR*-H)kߡXebu"wi!ʠIncb &6,1ҿq nðb !."`<B`9b7U%P`N)T:A`Mie`u_
+緋u4Oߴ~99d_+W6҅sA:g-Ws7+ W!BRK(D:Z/@%[Fl4ўA ?>RsYA&4yhE$VDU_JU # kĽn4Z +648VP2^TTE
+aQ=7*փo@jzT;؝)M*^MmxS`$\ep;E;mJaum$X*~1FD؋ ,ggK{f16r#^*OJi[ݍ3YvHUY[=^2s98a7ĹCD/#GRuNyo3c<9WUpl-
+%] e(!3r@ERʶERUA?K~"Wij&>.>0 %kߝfpWQ1`o_0pN۾a^8+/cL"!;a]U( _:qGשalqvmcuCv E(Ҏp%\':w_b?7Xj"im KN Se2sIK4_P`+8Vpkl&Q_T">E H<E)zhKkUǖ$ Hْ=&(Eǖ$ HkbN0SPc5`gD.NX 1Edg\V_˺
+ tw3GElg#-7F.KIs\Dw~hYCwp~YCn "3vM|'F3
+ т)vڱZlQjg "AR}2CSe$vs@%NE2K39BirxWN Fz-M hNNE>K#@UБ!j$ϡ#r
+2"x"$U^>5?<2iN +svKH_Z+o\~8l Y{Lyſ"'W`Cآ[';9ȎGi5ީL;ӛ?k^ytn<za75?a#w`^qН
+69Ub'.gsAGO;C.7w{%`7z :.ڣB"1s/3tӣ`[dXs-ڜkn9v΂s0v)&퇮ϔX|НOt[ VgڤD+{u%7_G;"HqBB
+A)B\BVO>çZ۶wuZž{c)#!we$dS!)B7ܭh|p\bsv`4W'hݪ,_Pz*tZ |11~B/ z6lKe^8r
+{Y%#\Ɇz@#VWd0+ 1
endstream
endobj
-783 0 obj
-<< /Type /Page /Contents 784 0 R /Resources 782 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 787 0 R >>
+794 0 obj
+<< /Type /Page /Contents 795 0 R /Resources 793 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 797 0 R >>
endobj
-787 0 obj
-[ 781 0 R ]
+797 0 obj
+[ 792 0 R ]
endobj
-781 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.907 101.177 486.364 112.797 ]/A << /S /GoTo /D (section.9) >> >>
+792 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.907 101.046 486.364 112.731 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-785 0 obj
-<< /D [ 783 0 R /XYZ 78.37 808.885 null ] >>
+796 0 obj
+<< /D [ 794 0 R /XYZ 78.37 808.885 null ] >>
endobj
-273 0 obj
-<< /D [ 783 0 R /XYZ 79.37 771.024 null ] >>
+277 0 obj
+<< /D [ 794 0 R /XYZ 79.37 771.024 null ] >>
endobj
-782 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F66 388 0 R /F30 369 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+793 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F38 373 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-791 0 obj
-<< /Filter /FlateDecode /Length 6891 >>
-stream
-x=Ɏdq<HR ЭI:mȀz`aA2=5IhTW%36 _ t߼~Q[`Jo?N&n.0nN&/?\~$疧 q;Bb ǿ>r.N:'΍\PH"ņDX  $"Mnԑ')wᷣcҀCn(F_}4v@%֌r̺?R%I2q%c:68 ^\X
-R}py>a7#}Y(pq~n۟on~c!O`015im݅fJ[_(H
-JWHUh!=d! $ ʁQ0ߠ@.pl+g[ Wx+(tQ`ۏ¯vJҍF=il{R}R@Μmߝ;3ژj=cgXB1#ݍob-SϚiV ; Cd+ &'pZU[e诈ez"izg2jѺ b29zh j]YhVA\Tqyu\/~\.h`haU9A;M n05Wh^ ^Mó7Sds\̭VzZ7NcZi7*M)L:4הS:4V|}tͻzRp[6w? ZDH_N Qy$p 8;s+^/\\=oHqHܝvi9u=XVN݃I+]tQjlzk/PWǧ{ 7a8X xQ -++QY EW?I=+@TU'`>L+k-)oz!+֌/7ڙeIg/eK>?D5j;ETǨTN!^'.ю)懨''^ZՖԂ>cS#_k3?͋4a,>iOik\Qr1HK(p 11-'Ǽ*J|*J)K, `A-mUKBt*-`~U1˱ KI=ؠBula:u
-R];unN-izԹA^;uN2cS]:e8~RGwO5tAÍ%#u\qהTP7tt<h>u
-Md
-&k 79TCL8}QKN0*aÀ0!BA!:4xⳮ ͣ
-e.ȋʪ;ں¥kK%..UcF
-.(Qu)kbbgM7q qWaԌvqǃw@ċD:!H?W*6{x
-)k#;V1a?D@x)V8zX+G4]W|"r/TN Mmt0ܖ܅`օf3h6fMhWٞij&~Dt22j5A{O4r76HMfSrd/wIz2ܫlU'k6؏m
-D? %WXP^/tNCmS?gm 2Nyu^9o[;m(&pY;B 0H
-^?*`߫O՝b3$!O֫8oح:vޚ[?f7vO n_?o7_:y
-~O*`߯O׭q8ZgLf ֫4oح*vޚ[?f6uO lԮW?o6_*y
-^?*`߫Opԫ+^ݿre`#ɹ(s *0EI.Lī%z*sfSG^JXZ5}ެ=Jzv1/N#ׂm`U\F㛟y0׈3W˛VFmG+E+S`"8V^TwLXup2Áo'(j$z-.R\Â=X1ГE97ϯ2
-8٘峷) ҃? >.[u\}g[^|dڋO>H]|8oxu:;Luֶ솶S*vb7ok<l{Ehu"7s+Iگ;$ <=Zu D-a\:9
- H4urzfôszSx[Q
-j|CL0L+`WJiC%+$ TzE!,PlwJ4MjY*W҄0Պ۷S$ |~A;5"sZXTi>񊝞ZE[zkL~aR)`(e x- :oi].u:rl ]o79ŤP1mm">i.ӈ%Sc^s XVeS'YtZ2jA^
-_E}lTbE}.fX" Q RTjyvYlkI#K`Y*Xd;ww}1kX`^XMWMEQ2 vNwMVx=S{GHYֲѮw37A^*}Tߥ:Hw7ە޿ach>Iq=]'E_
-ϩN:f ]R^*݌tֲMl:*%Ɂ ÊA: eW!P.Rk'tIwn..aTMzvA?!B?`Wk_Qs
-"wi]M_)M,+;ŮĭAXZ**_F
-Ϣ)nh3tǧc<#
-o>Y$^J(ozxѰPjF3 4k`Gk4k䖛[%%`K,La?F$Ԯs"zx5sdH0Bȣ1 1p=(sW說GLeZh2~zԄCW@\lhQ̈O
-*)' '5ET+EGNjV
-b@āAF*Xou
-n 9ig3u K:S~-5Z&IqȌ{LH-Ju,]a؛=vÍdv0%v 6doveS.$i
+801 0 obj
+<< /Filter /FlateDecode /Length 5607 >>
+stream
+x]K$7r ~
+@:]ܦ t)ӛ? Eze9g/Dó7436*AͼvF]s58'1@|!~{ӹۇ'i;u<[A|⤫u
+axGHla=ԅm+S6M_ij$[5ѡi^Y2Rv\t;u٦KESg(R:v/Cq=mPҡN@-'<P
+R:h|hH?rAh!N]1&8 "J$|aPX]Oj(v}{ÃCt(x3g.k#c2e"X. ؄KFL (/NZHh`5<^wKvo`%& 腃WnV"~GX;&NL`3Sle-d P'Go>Y_?%}D_jX;n T<&*&c-U0if AR&YJ`4Cᳶo?v
+k
+$%I~Bf VaJw;J1ҔQ[I:Ԕ8tByz/hmt5յNPoh,OKB]Č?E`5cu[{L&'Ա,;^m엍) N}Or7Z^DB%+1rtyvy# k1~[6]yĈK5
+)[SJD&k(vԔ*0Dϕsk{ՅRZ<S`
+(%5*ֶ$mbk^x-Oqvk56=rW3R5?>(~&WO.+3^*wZfȧ<ɣ 6Pt*<cS_f&-y`M.>ux1jr ~Y{rO2Vc鹹F 8U7a<p8|U'zzx_bu.“G]_F-SX{Q'1#oOv|= YXj:pĵab%ks`_i5+}gl&,@;VhqIVH=gw<gkOel[E:mƇhIVɰ9־}~0KkhBjMF_W~k'?HJ1?{5k8RC#W3*~A)RuDFsy/-
+m}hs8 U*qhb
+whZ7i[Ym֖ȧ-s~]
+yЯg(k{Cn=KsnlK.֏M'&lԫ7/[^ll&W!G("&O6uY;v f^bvȭw17~n=a7ѭvC~|b6%fs~h_?d4S
+6DZ\B_tPY 5Ҫ]\?d1+!tq* !tq
+Zk
+}G^U<4!*y!jCTC
+ .a̚SבG5U-ЏJZU<Դ@?*xL?MGK]G^C sHqCci:.p^`̡XY%_[sסW8}ġX]OskCWb=!#)X6u1FsH9`yCR! U
+AB絑 خKe.+}GCqwV/;Գ; ?B|ɽ6F %k?Zim$/Q?]ÿ}#~ǏVĤaڕ I&,0pmԔYUn=djJ=^ KoAimqŌjڂ _sE
+:Q](u?TjHo>bҢ}q$fzsYz1/p%JPY5*#DS.K`|xrT_aE5_9z
+^nW.EvrB)x.lx\Ycm[3 ,;gvbg!dcwʁZTăѶR$˘KJljM\tsrXc,E݇>u֧\ݯ&ncXi^UòE[o7W^7ȇ~K%#g]mZa:f+1_/[`Ex^N*^NQi gk"xBJtĮ.%?|,LDU?~Ga/{)ľ n`>}Cr"ov>@.l2~/.J\ :\)v}KCR[wNv5#Iia-$:d3ҁ'q$Q[kLJ ;!"XfXo[9rhh* T˿37.Њ"Lw;볆nmh6 1Xo::.5dd_쏐۹?ٕR5us[1:XƙUzit#Y0ΐTElNO
+*$^\^>SvoX+qKK/Z5{"^p>&{YVD!B 7qIwؽ&HA "
endstream
endobj
-790 0 obj
-<< /Type /Page /Contents 791 0 R /Resources 789 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 794 0 R >>
+800 0 obj
+<< /Type /Page /Contents 801 0 R /Resources 799 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 803 0 R >>
endobj
-794 0 obj
-[ 788 0 R ]
+803 0 obj
+[ 798 0 R ]
endobj
-788 0 obj
+798 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.406 604.2 492.361 616.155 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-792 0 obj
-<< /D [ 790 0 R /XYZ 78.37 808.885 null ] >>
+802 0 obj
+<< /D [ 800 0 R /XYZ 78.37 808.885 null ] >>
endobj
-277 0 obj
-<< /D [ 790 0 R /XYZ 79.37 199.572 null ] >>
+281 0 obj
+<< /D [ 800 0 R /XYZ 79.37 199.572 null ] >>
endobj
-789 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F30 369 0 R /F23 379 0 R /F51 380 0 R /F26 404 0 R /F20 382 0 R /F52 376 0 R /F53 645 0 R /F69 402 0 R /F55 383 0 R /F80 793 0 R >> /ProcSet [ /PDF /Text ] >>
+799 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F38 373 0 R /F19 383 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F20 380 0 R /F23 653 0 R /F69 406 0 R /F55 387 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-798 0 obj
-<< /Filter /FlateDecode /Length 4814 >>
-stream
-x]K$qϯȣu(kZ ֞Z]0G&|z˃lwgF 駉O߾3z/$&rq+_s-8WEy9Q:$>3 X\D[9^3H/6
-R7O_ .m±x8"om3re6=Ė.e(%9%fSٌͤOIb ,"JN
-{-+'nC,Xi.=hcήo{6YܘCq,)\®V8^naSLcOCj# -7``wRa ֧.x
-' l0\gz;jHSR|`^^ V84$:V%U'}j%jaWG Ś]HCpiBTE:kٰ2tje2^kN.M~,eޢ7ɠzzu<N~{&T){22ѻuWa~Ew^L]_ ϶xI1!0#Ѭ^sݮV}p<w}lΪ>Oۺx783.a⪝պYYcI%O:l*f SLa,sA
-jo8h3w>\Lgc35+N:
-kzb]8_;/r̛_=t, `)P0zR?2~>ʎhO VFBw:nt.:>\>4 r$pz Z9A2C8+n|':b (&d+=L'[7g^~Y .o
-fe_(*̙",@Oy
-@=;8 dς7d`|iu9/u%@!ȦS;ҲHC9KD$ wn8vjeRihR0pa*ޤA lNwj7%! -y`6χ~IyBAɁo{uYs]gۿ y>>S?Y Oԍ3!W
-TMV?73
-Y1ɨ索j+&.8fis-jp?^~!?kgZ̜t: g֙_̻?>H=xW[!LtDr!^Ԟ2HL<MZ)0?Qs4_dpcd`b!PYa*x:weӽT; D#B`:stc☑ԉSc"f\ jҒ=cQÙ꣆GײGo%Й\p!_iu-jW[zv.ꪉCҥNwrEcz`* hlI/%XZM\2ux ޹7 i+[fǦje(,<k[ JX2} .Gc-g< \tD5)~+O2m}G|mfVa#JCZ}W|֧Y3R,\vT+Oyzb,[43b:)OOdԲ +-YYz]<{O[
-+VW=ssl:
-S~\?K{gUV$VXpa$6}$m/H`({K@W`$/¸q_d'itSѓIPu̓c}]{$qxCj`_S! r?oGN?#L[hҙ"P6gZRݛ@P!d:z:%xxo:3v*sGc:!t;Vpz46 UKNs^8!^GE 7(6svHn[uv!xCh}v!3ǃ{Nd+h0?:Y ut7t -Uu<B2mԝ d?˩B]{kKP;S8; a@%52MGyD<zܓ&2D"A`?]GM>D
-UO.
-6
-Ao??}w?¼`Gނׂz]}pӯ:}qڸ8'l4uZ#EYܢ[_.tǤ0ftE.w~YWOl#!TxYF2] ǜ,]sxcP8
+807 0 obj
+<< /Filter /FlateDecode /Length 6309 >>
+stream
+x]KqWe8@AJK;'A*}X;[Ud},.~ ?WE\L:uqN0./o~
+Nd)˵gv*jsiEr|*\Y 6Cvw %
+gj
+VL!:nIkU9A`=te TAnŖ9>920PC1V,ڎ6!EK
+e0ōZkXҊH%ʩ35Y %nwz9U.0/`Z@HkqgfK䙺-"O bע 4o<(@*QHh>y/02KYh&CLa=ՊeĝKa {Ҋ@J>$Xɲ"Ql{
+Hh)GNp!5
+F֙"kn[+6b
+̀po1
+.ɲSXK!p lV[>RҬC#qԕLt3Qe}LTK&/*왉y.&:LGñDRh;a
+gqyn̿}]d+g?]HU
+hZ\1B3<I-MQ(<SQ0akoפgUrA0n
+R7O_ >A@3N_mjb0r%.4'aYR>sLIa| E3>R(YQOI;mļ6ʁ6Pׄ6RVc7N 6K`+M{b_W;K}&=PGLvD[g*A7X.>%'A=|JMnfVB/*Tϫ`}^l?ca?" G^4!B^9p9i7ǩ:\4hNˬ1hcxk2(m$D̍6sйYX+Bg+O*sxk,cyPjɃV0p=<F(I;)FmXN 'nSQ0!K-NԆu(Xf$K?)>0 S}!5'ڨr= 4]I!:Fi2M*tJ5tNYOc-:n<Mu]sZ ,´g$JCoB`҄^'Oc#~^~ 6*{Wv^ULöSٖѝm`uT~.ε7q?mݛz۸מ=(3Qo۳g;eûSyU:gw,m3[]GwQvsŬf Uɏv/BhK]s&?pSy)-0;R3[xĢ|ns-BnG(gaA^Ym~bnx77<KlLwü9=q
+&jaξ1&Aam[xֲˢy̛Rҥ=ce7gk)/7c<~)އ1,:얖ھK4~t{W+$a{CM@r`C0TdI&&9Uۭ0`ƥE9O\$Ob,4 0L^C{ҁƜD=}O`a¥e
+41&RLd4*ll9-
+bD̈́ҫz%keK\\m'keȃ[jۉZ ^vy-dyƯ]}fX Ys0VLF#߈nzV{2Vg{{I%2tA=MlJW81?H!ERr~[i3HГFG:``vI'AWLA2hѤ;^`WGΔo"%eM7y>d?ƥ{YaR2+ Su (CIv{Rdkh,IҧH`‹'J;fyɛ'ksA `% +w/5
+>F&(D%).?-yc}`Nߑ)Ch>" ;xWUYu\87ֹEℌMt9KL@O^b68I0z 0ۖ2ӑCiPΙaޙ[V]‡>LVA% }<6$BŰ+6 }e1V1׋bBM|l3G{\;kقSp<ߥJAx'NOF
+t]ce_0+§C gC %Cgʇy1B%?h!?}in~=o< niw˯`'fh̓(-mFP56'u[3֝"6'S77V^O}BZ&F9l*O?}kR;-ZS_!xG ކ/7l#b- ZZO$&vQMJGyt|?h۷;bmWHSp#K#Jkڶ}߼|sitӬzwmHN'oC8B|y#W4jE*KܓM<txBbCoGise:dd} 
+ $^1HC|!`ws\366,%?{`f_p
+B|-vv!o-LLH
+Tܿ%8-\g8.UST//z:uKWWOߵE2wZ~ Q;|_b* ;?rԢ+Uyޅ1%R~G/frKͫM3yΗ
+L ^̩Oԭ2:]_4a0fcf">1b&^?T[S>Sw3?_̩OԝpgvN?3wiܦ2Vn>]eX`J+uX6Cmݚဤٚ'i6w̚p .a,~o#y|bdR}Xwms_pOiM21^3g^K}b-x=*/*Hs `Jz
+A
endstream
endobj
-797 0 obj
-<< /Type /Page /Contents 798 0 R /Resources 796 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 800 0 R >>
+806 0 obj
+<< /Type /Page /Contents 807 0 R /Resources 805 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 810 0 R >>
endobj
-800 0 obj
-[ 795 0 R ]
+810 0 obj
+[ 804 0 R ]
endobj
-795 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 276.623 434.16 287.462 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+804 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 217.586 434.16 228.426 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-799 0 obj
-<< /D [ 797 0 R /XYZ 78.37 808.885 null ] >>
+808 0 obj
+<< /D [ 806 0 R /XYZ 78.37 808.885 null ] >>
endobj
-281 0 obj
-<< /D [ 797 0 R /XYZ 79.37 310.854 null ] >>
+285 0 obj
+<< /D [ 806 0 R /XYZ 79.37 251.818 null ] >>
endobj
-796 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F67 389 0 R /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F69 402 0 R /F78 469 0 R >> /ProcSet [ /PDF /Text ] >>
+805 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F80 809 0 R /F55 387 0 R /F67 393 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F69 406 0 R /F78 478 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-804 0 obj
-<< /Filter /FlateDecode /Length 3541 >>
-stream
-xˎ7>_Q?ЊDm {Ʒ &H.KJ^#ɡ*&\~]IN/O\\8X\~6㳔tO_(^(j$-Q.[G<"<闔^9mBg BDw7e(g6VhYr[RkڙAb?wq&\Ai[y  e׌Kt3oiWA`Œh% VeZ}lsuW.Vduυ2?_gVx<d~d\OG& [dE<!hs/N4”5D:؞OFIMAD媐 )!
-)33>lxTx.H۔4g:>՘ K0dU3fb@1r?ƪW2c-׏w+l5:g#! O1 18<`/F 'V<gZ%{wI#B}%XtfiJHɣlٞ&V䩛f;T A"853u/J}G׏NG7aW7û"μ
-+2yI_fرG nYw + }k,覡GA
-k> :qŻzS!
-gԯz&MqG\fVE><K6ؓƼ$8A uOnJXrf V8f8ՀiҦ=qң]
-?39HϘ)f
-7SXicz# 3^mo2KYI8c-DW"ܰJ ^xRR#|CA e/`b>4LG0DB('oa?RT9_~*Ӟr4"JΕ.x9G}|)\٬"cpTOa:<Z$) $o\)*KB `:p .4(aP$»Pוk3J}٨A)f}TDcKtir re2|4nkI3LQ#
-@ivX%Rװ+Ep::U]syz}JYO
-a;\tX}uv5rNoOO`5EҜYƞ].}6ks;7#CS~mYRP6R6>!s[:VE47fv;D- ̲3;eA1e5h~Ak&l)v7 X8Ɛٿl;~WFy7[yI!b/*0+zsW@cPjo f8&A/7f/x=cM]΂*Znd3MW,ĶNSE\ )=l Nw?RX_
-Km|ӝb
-.3S{\m NV: sI3zX+8G2
-/; 1
-k8ov8矏iNgs*FeOVYk3AV=_!9n8'aU늼Ap3r2+
-WqGqYϳy J+)<npZפ^NhԊҷ_33AڗcOPcew:
-+N {l
-&a p3..vSJ2ä;+9m/@͇=pcĥڬBH6;ڄ 9Glw|
-V\ xt]>v.CR#+ߜqǵRãkh ϐ-n^S+4L2>Jj%7uN$]{  1ΫO]}Θ(,!]7ϒSY{av5F;D_ƅFEʸ?- cau!dN墨UaSO_@
-&Sj~/1݇nZ!CE 2OwXxEJIiqrڄzufk&,{ye|ʃ?~]@gUnXԸ^omAՉ=A&]ҁT- <e%@yUz;J0߶h%!E
-iLJooe®%OHmm~}G::-~-g1Ӝ)g.g&$gݬ9cp3ue'9g
-,w|:U ʌN(;kAb+h[q0^C[{W=38Cr }yk BR/uENs%COL]fsG^ 9C5RL> 1^ MKLJm盅\Q<=t`-OOPTLX:8|C2&c
-ϽS)I
+814 0 obj
+<< /Filter /FlateDecode /Length 3540 >>
+stream
+xˎ7>_Q?ЊDm {Ʒ &H.KJ^#ɡ*&\~]IN/O\\8X\~6㳔tO_(^(j$-Q.[G<"<闔^9mBg BDw7e(g6VhYr[RkڙAb?wq&\Ai[y  e׌Kt3oiWA`Œh% VeZ}lsuW.Vduυ2?_gVx<d~d\OG& [dE<!hs/N4”5D:؞OFIMAD媐 CSff0|T5v}]F)Kix?u}<1`?f3\?bX#zN1+Ud4[2#,# RW<kt,FCX;2b=bp*y#2"_(N65xδJ,GNJN6ӕ Gq 2=MS7vDpjf,^;*n®nwcmEyWw9Vd6 ۱cC6BݲW|3 3YMCS%9}vt=zwkBή_c30cm+MP.(ͬG}x\
+/l2vnFn˧ڲхVlmZ?ɭm}f CTbMu4hnv:Ze3fw* \cjj55^MR 6UoګpTý!vzo,*ĕC^& U4*aV7W.Ǡ;Դ/*<p/6M-^:
+zƚ U&(9fY OA6OS2${ش=oQ:+(;;\(;g<,5?06P1tf߽Vpe
+~[L}z誵Lu^|xm֣OO[u7й)Ooqݿˉ_paw'>Oo; u᝕8AG֝%{$y][\dr4J!nş-2Gk 21nsw^mpQ?=ik/zaCCA4;=sJ_BkwbZp`BkpNs?&wT@sʞr
+=`#j&tGnl{}*Xs-d v] ]JA|sJ&;>J '<CkB5޶{M 0ɴH*pެ9Xv큸4"8s?tݎ9c Ft@X?KN;<Vfuڽ?~i
++ק$h䯎.[ׅ9闋VeM |X>?Ms?/)4yOMHtϳ3~kTS^n2>aC1+y$-ɵj .֡_{闥
+*u} V}λkhcQZ{￵U'`? UweK7S\ȃsI
+ )rԚa;LlWA'+3;=n`
+xQn] e7UsDoA&J09͕ =1eLw1y6BپH1At,7|bxMb,\6-u2)IoJrGӁ<=CQ=0bӎ= ɘ8KP*<&O&SV2RN-̓Qu[ {0:hCTxV dw.u^PzZSIZtl*:&=WV{ ޸y}Ԏ7!c=X~  ?/iQ\b>Zߖ>wÃ0N4R0q{ކ3S&-[g~xގljW&
+R~}v.\Ƿ ᾿+=΄OHC9[nG7;
+dgޘ:o1g*4XKYI<|u9[75hhGr7&_V9!}IBآE|r+s<+[?Gf~Ӛ= IOHC= ɐѕHd F
+@,b(wub"JSo +_Ǘwq %YF"9v6I[ 
endstream
endobj
-803 0 obj
-<< /Type /Page /Contents 804 0 R /Resources 802 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 806 0 R >>
+813 0 obj
+<< /Type /Page /Contents 814 0 R /Resources 812 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 816 0 R >>
endobj
-806 0 obj
-[ 801 0 R ]
+816 0 obj
+[ 811 0 R ]
endobj
-801 0 obj
+811 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.381 260.195 448.337 272.15 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-805 0 obj
-<< /D [ 803 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-285 0 obj
-<< /D [ 803 0 R /XYZ 79.37 771.024 null ] >>
+815 0 obj
+<< /D [ 813 0 R /XYZ 78.37 808.885 null ] >>
endobj
-802 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F57 385 0 R /F65 387 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+289 0 obj
+<< /D [ 813 0 R /XYZ 79.37 771.024 null ] >>
endobj
812 0 obj
-<< /Filter /FlateDecode /Length 12542 >>
-stream
-x}K$7]"Xd4@[XJIsɁv]-Чkf4ճn?^F?/_/>]c*˯yKX/5ko޹+ӿS{ׯРO=#4 ǟ8>?œ?K[!/{@fKJn(XeXAJh?POc6OC!W^ݿyd"|ވ?OR5|ޣ &9@v'|ųqĢp {d]snɣ3-H6N=\y<p>t!ap?]1z TJ&lq=kR Ϸ/l O
-w^o%kwy~}ȭ2#[d#v=0f7j__qJ)m&\`\ 6/S|?5 {:/G Kws#=܁әMV2u뗯j6!ܹg؜Ԟq?1w K*M&Pûk&b`3^o X]cErRvqxD~H bݟ/?](p}ۿ_~5!}i`F:|_*b0g~24 /'\^pa5Йq0Y`ǜ" zoG9$9
-;`X%W]
-~~> P.P`'z\|~d:өf2Wa\ߞX) `k"-nzZZ8˱COZP7qG^]cS_ex-=;|X#6yr
-I/g"4fbf 1a%'Ԟhյkߨ٨RdXNUT%l(pu8fņjbB;LY0u) -I1Q7!P
-hPFkW%5 Nݳs'b4^['Ys3fSA53RMQV`#zFZ3c9Uw9xN*Z3lUcD oCb9bE2xFE1
-NFcV1r3vVh*l4*(ZQ׊
- 8>%W"$_zL)vysטN
-M=3Cd6<!o r@[B2 +\
-;&ZY
-6eϬ rZl&f€0#DiXpUBm@;PeF Jbߒ%f}LE0u:dP{ _1+8ce{sa:s-ⓙ fpb03ܱA )ENTaz.f^Ւ oᐊӢh `<׈q SN6o@+ZqkAȹ|5µoŚ {܌09~Q=
-RӜ oᕊjPLL9$3&dǃ9@@ b=UP3QsNȸ<M{pᖊi<C$Ciܩ桀0DOQ6vx*$*xur@rMMѰ#:a*EEj`XOM0D3L{ ǧ5<΅f†B.PW< 21Dµ9wvND9a3bPRdX ݩ G:9mu{C587g zP+9 }Lx.сSHrۉFcbAgLL A+8cux9;VI>֟"FW{8T
-X:3BNb{YrzeaN4h>枭Uކ
-D!XɍQj\Pq (Դ`| x"VVH $hkOT d
-6eTD JfL$
-JWQ 3>,JE!lɒjyiS
- S^54=jMx?478P!R
-dUeaNVa^6 щ!mCz":M
-AAQ
-5qR(!}ly@+G%`$j3аm'sUaO«]er(CH4pNJТ(:ZzJH86mA!>9!.Z 4r[FFUQ ۳+*8Puxec8*l+X-n
-w,A(Tt4hݺ @KL o&<+ZrCwf5nT[HsF͐ծqVu4@_E?J81X4XʕV} d3Q gӠ쒛 T!Z%W}`/
-}MN'3Ɂkc pT Z쨃Vðx1D`JJzpIOCRUO2E47XD<M.@B̘8Lԇ3G%b["l]ã#.VLr&Lug:h9 UwWcD`[QK6Ԩs{!4{<Ykٌ:izڵQUpJc1&.Ax -EXہt B&3P: x]2#Y9
-Aumqj=8$襈TBwQIJf;em»`aZכ,QtFfjfFT;ī% $"ެG%@:{
-r DYZ{>ф7&$~ l ۪nBEg<nFvmzAaCrc ǀ =m$m
-[3ID5NcvLBf!DCwt쵂wۆ3;^+U5<[MfT!OKnĿ)ALmhԌŤ!˹G9`^,jA:_ 9h3&GQ gӠŬ͍g8vVGi(3 |7Վt' [4xwسXq_v<;fD
-búܞbRDeR/Th=psjƤ)MifTJ/ko؆ ;pb&O
-k\rM"LuǨNFd]>Is<XC!zo|IRMO(˸+xt}$XR3v1mS4=4RUu Ǥ:-tv> jߓ 6Q):8-fƥ*gjܦIݜ;.y1iJ`
--sysXA-׫ RSn[2ʒ\!`Uh M3*U'&IC#(Xu{̺ypL6<]#Xb8eAcٓ"*wkxLTLR7FKlLќ` K^܃)"uy m˵`)ȌJI1n2e4շ{i׋"}~CC E؀SxWN-32i耑* 
-h-Ôo1LM!֤'oe2qsQMYjC5*_VL\U{HFlaT
-"هCB&2 GY!B-w1ŭL5A滛3Cpp(4AL 2Y]`%e0!d#2sȋ75*]"|I=3+ _Vڶ(bda'f2" 'LR:~Gf `iH\ QM9eU0*T BʕT!'VH՚H\oVpF 2WQ9@ZT#y$\bD c/ӑ,@8Zc'CB
-kX1$vD#ܕliC+eU'*Tjeev4
-f?+8ڶhmdbҀ= Ѕ4y# |22ֺʴ!5zS15CQia+[FXoQ ,6x\JU|.vސ
- $޶+a
- O<SaLbwB5-râl 0H$& JtK!w,w 0A}W:qO_K
-o |!3аm'
- S+!ykW )Z;ī3M&' =7+4 !j@(;I/b*q߷
-ު!m'J/mXl2"û)fcUP%3F
-c}F,55+%f6Q5Z)
-M((QS9kQVt3J]±)ӡ$VAjcDrCR~ji:"{xbڣB ӎ@P&h ƒvv%
-upL4"Q( Q;5b)#4hDt}ЃkIR̎. E)mf!rߛ1+eTnJq,d{"RPCȢB<E KH+D(ӽ!Caj30m'ZbkMEXCfyԌ@TB&P
-vA+8Pu[J-31A,FbHx@:B_'d+`(юTLssS#.N?4cqԊj*6Yg&Jh|^9mƈmYy"Q)C܃ ԝx`)4 gFGD!vմ`\TQEUÖ<٘4!06>
-7oVoh|c
-wbo͊f5'$iGPHi u5-\TQ<d=XS5
-G +}
-pgL#~Xn*=RL({~vTlX
-LFx~1ΐ"Dnn{fL&%hBs|bj`([< Ȇh4nI V*OQ11.pƗLWXvJj)9 OB擐$d> OB擐$d> OB擐$d> OB擐$d> OB擐$d> OB擐$d> 2I'1BA
-|Ϝa#XCސVD6{[̼:R2Ձ,(°?#lSYu ,am2n3Wh7=3.b(Q|R@[~G 7UCc>w-±4Ltۻp"ҫE# _|xlk7lCiiIɓ?1p86X{IE
-)#~;\k\;>؟c.᧘oEwߕ8~ӴjIY
-;"#b
-<Ʋ{a2z"1>yO1>yO1>yO1>yy/PfV8(P!
-V .{.)29\m-%@ìp )R:јD8{*7Pmh-KkjEvdpžZQڛ =H+1~t\)UCbv (SJ:wd
-6ET΄&d_O =r@[# 0 |'' <."Z[=ىFGp 0d94&a옕-N}\Vtv\ #͝um#XtЗikFkl5昬o#h5Aᔕ-D}2V"БM#'; E+ ^0 f븈k!Y] n8֚5E$xeϬ *!d LP)g"rNV
-"wB‡ ?1zY'Y]Iaf, ! 2= {8fgLlpa~̵F؂UZ ?5#(٨Sh 1a|p_yWK1W79b(BSk\#-N= `ӱx:noIVei7# nq0S=HNlӜ oᕊjP9828(`Rϑy&A2+$kl/ܥ .LvX%E@"7pLuƞ lbPǧo:;U"63! PxE6mxuD)VT }|\# Zf{ ǧ5<}ZW#2Ām@p!gz!%\sʏS62B ӘK ]lF""7 loXN]x8"80@%+& "a/__Pg:i%(
-DN:LH:.h1V.FtfK]38VwW55JM"[FW{8Tq]W"xG DI,u db9a20M'{'. .{Vb;NM (5YGcf("k^ěԴ`|`20-'ю2%Q5*0 TD JfL$|5EZ ;8i~<ʀpbn91UFxWMh嶌v+41fu EkW nD`-SB7wx/YN3R ;56^,F67W8Ubf,W}X O41Cj5 |!b*IkA?> sx94 \,6_7I yih12M-Zǣ%1c즕5h}_Yl[
-~Siˆxu9DTS`.BQZ4Zl:aa'p6CpI(S1hC@78?<v~xcI{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I7Bkxz%֍խi^ݺV!L4Z_o! iaTEETl\A [^ 4mgidC\n52Anx4"Q rB!~4D7%.ŸKmrfXLAw;J٫ e6yׄ,h(ngB$vxXn;]؍Wav}ڕDEI=b7-* ٨5B}T]S)@{=V{td|<_4?Gt_{{S{쭯x<t'˫/05{|Ken9m*.Y_ ty
-HSA%#F;S;%"+?6J 'C'x}7MO > D8_Vp4H惙(sylW;vsrX0FO}9u|cKt}?ħSRHa^\pLZ _` "Rxթw.a𵬰kIݖρMic@$ szVP=
-1߿֝CAjd6ظ" +PI[P
-+>AXo^c"= 8:?q2㍩A6Q[w>(“`=JhYͅb1?_i%x䥸)2&\S;>yf^IKY|}M\(1Ud0S^%|%;Kd8U;^fS*PD<D6?o9b? B$Ǘ'h b.O<ZsotiPM{;9h.9]W|i~EaSjYMc m̜\@DJn\VK n#$hE^,iDd ?QS1rw2q1Cj0g= |IÍa&. F>qջ]Ma*$5
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+822 0 obj
+<< /Filter /FlateDecode /Length 12544 >>
+stream
+x}K$7]"Xd4@[XJIsɁv]-Чkf4ճn?^F?/_/>]c*˯yKX/5ko޹+ӿS{ׯРO=#4 ǟ8>?œ?K[!/{@fKJn(XeXAJh?POc6OC!W^ݿyd"|ވ?OR5|ޣ &9@v'|ųqĢp {d]snɣ3-H6N=\y<p>t!ap?]1z TJ&lq=kR Ϸ/l O
+8/K=5f4Qɬ(ӬC.ˤ% эz4f_I\-az~_ dNnCj/k
+X\ <l|lB)3vX|Ex K7
+V#?oi=\x? C$!̲%;lY{;!V!*d"Tѿtk/p;#ܟN0הq
+,Lg `\[iqFo_š?m^
+}Ғhz(=n""]D>*'km?ɓ6yiGl*,O&Z?蔠p#]}iO&z,.={=6/>734ǥ {@[I/ 6v*ޫk뗒shm[1[{-o5A #1޿RKu}?!u>G0}L7|M7>HM%ѪA+~Qk$ZJ/p81xHk+-am뽦UfaN4&.Fzmx<S9AB5N
+)4 Hie,#^@_!U]h6%"!==C]S۱:I\om鰂j3]ev
+r@6b܀չ.C+Fs3PvUYz*]F)ؚET"W-I}qmI R_ &I%M!K6!_Z3{3 ☰@jO4ElZو5olT)2,r ǪvXm:byUY1!܈,ÊBGI NX TᄖA ר](lb4Z+ВEp'ٹ@N׭b3 䚙ru)&(+s=Y;zDF
+w<'Kw\bQ1"P1c"Te<mNJjq
+
+8r&` iOn6R1g(d:;U<)O
+]n;c\:̔iW3;hgp/g*5ScjJ H.Z,W_"@KgFI,ub/XNtX 4rӉsmpܳ*pSA;+1JMy:k9
+>n1| xvu{^J
+IUdm*!Qކ
+D!TɌDs`\"ZBôm|6͕6"(Ncȫ 譪0mtW(^N+eUPPm{Bv7wx/%$,g; 1{D{m|\T*1*arՇź`ܜTI(<-YZMB`6/-A~*=@Qܟ;<eɧFc71--FEkxd4BtfVr
+נ%GVbϳ`NA \iXm@5 F5EҢb87&LWT# zp4rv Zn؀f:~ *24 >I22"Ԉ|!RAǖx} s|BtHI=F3aJ65<bkճG- "øf'1DR
+a`&G&6qHy(lU b
+XB4C>Vedd$ֲg,Lc'(TF2@Z
+HZvmVA[qڰ6|݉aЈ8D!`=h&ZH¯ƅXpEh6G|y`г̤"堆a<20*aŇź`l]UǮ'7ʯ|
+fMؠA O7>a n3qx´Uga2Z
+>A{]%;jۃ&¸[}(b! gEKn!֬FMj inѨڵY9jۢջ3GзQ '^=kƽK\bWҪVLr&Lu]r3Sj;DY@T[r4
+rVT=&CRIQI1x[ꖞq¶ɜUfҀ%37C|pZlKİ#q=-3 rxtcq݅٪3ID5NvL JzL0,z >`FԘu.x/>5=f3`>Qg M3U7V6=
+0T!^)}L0&_>$|%ouk;^{9;YdfTOKf?+G!-NgJ.ʡ 3IiLt,-Tx <L zs43hT݌X̨*8PuxDڛh_gj-ۄ"6{~f j8S-fLJr4Br4Xn_ښ@sN~U6!M3Q6V63
+T!Vc1IgS|J4XK @;-
+)
+q LT4iwɍ74ޗ4d|97(̋^-HR Dt[C"m(LuQ( efF|ߝa Ɠ{v+N{ٌ(]!|STZlXS #X*^ X8Cr4շnV͘4%)]*4@| <vWU<YIaKUոɓqS5҈L>|'iÒ'v D/I* ewҢb$kTr.mFJu.T@ça|["
+3E[LָT _4SPQ}%O6&M lWe.` 0zVjmTPY+2
+ iRtF$vc$xh%nY7ɆǷc~KLк6Hw},{p_$cZEr /ɓ P6ShT1pɔIS9a|˔{p|2ED6.#/5zmL3eQ) 0MFPus1͔zQҗ[D/bzpOjtE|F? 0R%C Kl"ޔkx+o
+M$k3囡NJ o|4x6b0<b,G4 oՉ;"?'|e't Gk۷K:B^oEwߕ8}Ӵ <~U?@4yui.૘ \}C(y{n cZ?|2)S9s,XзcٹwHlO6R&]J;"'aJ;"K<*\2`|cG˓$> OB$> OB$> OB$> y !Q\h򂥀oқ L<~^#)šL=n{.) KmƠ ^ˊjPI4ұr 6c]A$b#sH1^DF7|VaH5+Ye.0`⣵&|w}b&VuN&h8ACfs<9" } 0dlD3~ RyFÞпqRKU/gbe{A
+VR LLFIJOH7 $A,M k!J)GLFʕA(S*
+Z
+D!TC*J5H`"+^^ hY~e:>YkdHY1XVr :.h5t:M=mv
+D!^%JM"26"y3ՎVP@Fx4vK yu s Ti^ |emY,ggSPLcA\&/st_\VZW6Fo0~4&4pS47bH1*-6sss+TM :jc\0e?USWsυP<3 E4?R
+*Ubd[
+$4%A+8ux}$!Rs$ă^ e33饐BLW"Va[1$vDeu UFox7L`dh`
+/5@d˃.[@U7'%oZA|Ϩ3t%QU6dBԬ@73
+UF+E E
+( V#b2SH(3ӘDDjXvZw0!G1D7+)xE=WUxm1j^0ӆ hx2ŦS!&WMPzBl_Zڑ ԝG>cHmH9!a37b›75UUM4y8fyQǨd KpI{,D=  xԉt9ځ@ >զ+ת*A"70w|EUy|QcQc*=FI*رK @S$0 XK"Tdvdte-BOh06(wUGތYA,r3vV[ d!CqB4%BuP
+5pxxgf$h496a ؊{ ?m<;wA!y>;* 6h嶌,0`X[o*4kpnJS4v|zsmX4@ 2Ћ$5F2 9L%V5<#Ruv9okW ZUjI^gef60GQw(:Y'3]I/5<_DvEbb+qq報.SԈVT%WV
+>3AUEo3FdnkhʔH/7\]ģNaX>0r$?>
+K.⤊j,Ƥ
+'"Z42ȇv36_?f,螤-^<I\3sql1
+
+cEPk"9W;Ŏ쾆ű9b~hv _ğ]7M;֟.Mc]K=k"*2a.J o=;X#C6yr&![/~."D - %z0>d3t3O/A1>DGKB6R^
+{"#b ;"c,&'2>yO1>yO1>yO1>yOoǘh>efR1
+Ҭ ^iRL"/R 4
+@+{~+u#
+YAor3v֒fVdGw^|ˠh#J7KK R\1$f۰2sט[LƬ o\tOLh*:MHs/5
+CCcR6ʎYjeEk0˹܉]aJ6AW }&ϹnD<ƖQca&<:XDNY鹪B'c% ٤=r2㼰Z4BY ʉx_]!aXեȰhYSDAAZ
+b(L̄őr&`
+X1^y(5ltl]R?AtA\Pu,BL!'ԉqD@(7hԦ6cZ;41CdwD Z4B壌yoRӮ>"VVH $hkD;ʐhGը@p7SA;*1hNJԸi5 x+mDPpǐWAQ\U7a2xǘu/]-;jۃLM(& {P1H|g9iHPNh/
+{D{m|\TsJ\a.7g?U(
+aʪ$^0'0 2 Ӏ`s߳|ݸ'5D9E4h-Fn|lVr
+נ}eU:A\l)N`N #bv}PM!zM"
+uGiha\XI,3h +I#'LmǠ  hc;?<v~xoc'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'yX7FvWyu«[0u6F.:"k-!(ܦYSSHp&|oy 2$͞ < >p)B^ӈD%U" qcB_S9ߘ.əb1)_8n;T>+e*7²>^N# _vaaVjva7_9ۑiW%K(ݴëwcd\ 9StM=T:
++dyߞ4˻~hBV< 48|?5ܲ~؂qoINXi$ҸZV:"fFL΅~ _TC䱝^lfCa=YPj5{Z;-ѱ\8tNI} ayqm1k~.~S˃|`ʃHx7KU޹<]ײ®M&yw[>+6߂!?"`Rm|_{X&w5= 1BU9f>9CMBtuDƬj^{.̼fOtI2kgZq'\qGlWSGFw?D9U{yONeOM]#m>޾^PvG8]xndQ|ύ\~sxt>DVw;6X57&>sxEu(%xJHNV8(n0W R#Ydѯhp-,W^LbR\yz¥3Y
endstream
endobj
-811 0 obj
-<< /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 814 0 R >>
+821 0 obj
+<< /Type /Page /Contents 822 0 R /Resources 820 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 824 0 R >>
endobj
-814 0 obj
-[ 807 0 R ]
+824 0 obj
+[ 817 0 R ]
endobj
-807 0 obj
+817 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.045 239.124 265.001 251.079 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-813 0 obj
-<< /D [ 811 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-289 0 obj
-<< /D [ 811 0 R /XYZ 79.37 771.024 null ] >>
+823 0 obj
+<< /D [ 821 0 R /XYZ 78.37 808.885 null ] >>
endobj
293 0 obj
-<< /D [ 811 0 R /XYZ 79.37 695.22 null ] >>
+<< /D [ 821 0 R /XYZ 79.37 771.024 null ] >>
endobj
297 0 obj
-<< /D [ 811 0 R /XYZ 79.37 288.23 null ] >>
+<< /D [ 821 0 R /XYZ 79.37 695.22 null ] >>
endobj
-810 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F23 379 0 R /F20 382 0 R /F29 375 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-821 0 obj
-<< /Filter /FlateDecode /Length 4519 >>
-stream
-x\Ɏ+
-'71k
-1M!Δ 'yn@w4y&ۨTpMtK/5l6jah<kabLyr@Fhh+TKN"8u
-2dvq贷2V^b8з:,%:α'L OZpR'w=UR&]Mr1nY9+d43x$|R\tVx M3eue|zrh5/@E"kb~BqYWyEV)vB;9w{:RE&͑[]P!M:R;4Q):N mz#rgPBP9O4&3?syN
-8+]֙w:Y[t+GϜ3fxf{5T.~T~S>eCE3iӵziKJmN"
-X6⥺`sO J8Qd_Rnr7 ضpی{
-58 xx|qh;6~hPg]JQ.AT# qoΑ -91ЃhS^ŢL&98R>",12A.phLj7Ttt4H:yTU5(k3.Amݖ6lL_ œP  w;u@\c;IJ
-Ij C* LmG%dB5֡%pզw9Fk+c5{Β3^fp͵,pQ-x6D gLgfi{2os_j3Z[Oz/9hacOM[VCpQ˙.-_b[$ 3D1 uG4Pu)צanCIqlz1h}9W]A_0R@x9Ɉd<Kw{<c]DXgjE`H>Lf\DDHYyybhU7KkcH2.e0E_ȅeQvufGKbpnGt%*~%Ndb܋Df7R]{LAjz3rG<Ge(tO>mi @դ4}0c*IA@ɟ Am~Q(3
-(6x
-Fy`ipl>]?>m19d˵JvTwWO,ɊTJ(jԴY"]V`}Glj s 1D;ѽ@~<<[69W/ #caO`ϼ؈K'`*00`.|VvGyXI6ى^Gu|nYnm Hឣ{+nX*KVM)kIوHQGaߖ 獸pWpx#zc-%Oq\:ձ e^eTUU9q㲲-Yy6=]ڨ$mYuiH-7z|s# 4/ru1/P+
-Ey-|–
-24e CÚ&bRYeO34Kd7NgAqPͣfm8_?/]"干̇d0}-2 ٽ[@<]%Y_X2jRe~q\FuDW*>EVlؖ_SFff,~)IUy3q+_QъHvelp -
-DUDWq{s*)Z5D-,DӋ$hMpxs{:(ԗ.Ij{zHڍ4} Eeܮc-V0='ejj)bMy_^gUA҂=GU LSW $_i6(˱'WMuY\=F|/e^oL
- S҇mONDLCϭ)Aͅ 3g<)
-?])Zh?װWS7vn@B-mrc^ӛ^5tVYA#e$^#T e/,z)2zt& aG8XH{̼ƘI<rTw m\SN.jQ5n7am`Em9)lrU6Abzsh+z-A_SˎBcWd3v6]BnsX :q[qE^ "?Ew0u6;jJVkTX`~SvVȽ
- 6J7' -~&/zs6}f']r#*{Pam\ s0DD g}蛏Wn ߍ
-endstream
+301 0 obj
+<< /D [ 821 0 R /XYZ 79.37 288.23 null ] >>
endobj
820 0 obj
-<< /Type /Page /Contents 821 0 R /Resources 819 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 824 0 R >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-824 0 obj
-[ 816 0 R 808 0 R 809 0 R 815 0 R ]
+831 0 obj
+<< /Filter /FlateDecode /Length 4340 >>
+stream
+x\Ic ׯ(j
+
+$Lu?L}IZ)ŔS/J9fX
+͌#Zs]9?;@ /><p&PۡP `(ϴtâ˨POճ 9BI(&){>9 e6blA}ϊdpO'-} NCپf$NpxKL0a)N(K(b\% TZ\pPW>Sd]ȟ*~ߞ%=j7@a,Au+jދjV9%ɡ<OT?;,91N:@Z=6tVzn,b'[tSe
+sj*16nN' ڗs99:Q*2-TwsGA0k95~g=uWg&C3; PuL YRmǓh,?kM6199;[1Yń2|ZRk&IQ+^"}34EiSo$I!<I+vMr+`RA▆Dڑ63UuGs x˱L%u5_bԊ:eUшA|};#YH6U˘g3a !Rwtm GBIYt*$'v 1’nZ`7Mғ1D&rWPi$56-T|ɁǏ|*-S\Q.({?CZ!͚90O|t[ih۷#䖔3h Z ֮][rN;>39K\+5/=ńO8\Ns^Op O#2J#V
+2gib׉0d<>> CGYHp/--qݐRLޭ<V$sRH4H:T:h.v\a8,|c MQELAic#8(mm`p
+y/[O{: bܝ2!ﳼ8C܁z_YIOdݟLm ÀD´jOD(+99~q[sv7X);;:h޷&JE&L澕${Tُ_,'J30Y8}9]gtefa7tzl"]I0#)-'Vʸ'<I30:eٖ%ۜ,t02VYwo
++˖b<?ֱf{+Hxt@$CӕJZ韄>WjdѪ69?[ u!jj٨TY֛ցp u5Fd ֪"q4jE#moa Lc>DS#iGo|
+rV^ .mH>`UT_нMK_,*|ېiHXj6 KU)
+QY^! FN\"lC^$oS83/N+5-'7ʅ'E(Y"Gu-Җ/f+)ULWOꝵ?HZ(r0h~lG>|>:R#Y"&,ZfSg4H@wꢋr+oǢnoGof>)W޴ʺo_
+u[Mkzyy p!}Z428dᖁv˚ٽ_ 5Ng g T# WǺ.(ˑ)rn=6~SwEs2(U"5Ԩ%1QΗtB_qrbqS:Z;9'BXBǥu}Zziẍ́$דjj\\{:LF^.@E[z TȈVy浾mz
+jm@<^ݛ80:R 9pN>cY4Q{>J7Av^d@(Ŏߊ"E
+endstream
endobj
-816 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.069 167.799 257.024 179.755 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+830 0 obj
+<< /Type /Page /Contents 831 0 R /Resources 829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 834 0 R >>
endobj
-808 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.119 134.196 393.576 145.882 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+834 0 obj
+[ 818 0 R 819 0 R 825 0 R ]
endobj
-809 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.643 124.503 128.099 136.189 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+818 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.119 148.817 393.576 160.503 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-815 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 107.768 67.03 471.982 78.716 ]
+819 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.643 139.124 128.099 150.81 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+endobj
+825 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 107.768 81.652 471.982 93.337 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class)>>
>>
endobj
-822 0 obj
-<< /D [ 820 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-301 0 obj
-<< /D [ 820 0 R /XYZ 79.37 591.94 null ] >>
+832 0 obj
+<< /D [ 830 0 R /XYZ 78.37 808.885 null ] >>
endobj
305 0 obj
-<< /D [ 820 0 R /XYZ 79.37 430.206 null ] >>
+<< /D [ 830 0 R /XYZ 79.37 590.246 null ] >>
endobj
-819 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R /F71 415 0 R /F92 823 0 R >> /ProcSet [ /PDF /Text ] >>
+309 0 obj
+<< /D [ 830 0 R /XYZ 79.37 428.398 null ] >>
endobj
-825 0 obj
+829 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F69 406 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F71 419 0 R /F92 833 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+835 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
stream
x+T030U(2 8LXX) @`@
endstream
endobj
-826 0 obj
+836 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 53 >>
stream
x+T030U(2 ,-,,r ,,Lt–fF
@@ -3549,80 +3622,91 @@ x+T030U(2 ,-,,r ,,Lt–fF
endstream
endobj
-827 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 828 0 R /Filter /FlateDecode /Length 15 >>
+837 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 838 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-828 0 obj
+838 0 obj
<< /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 50.00064] /Coords [50.00064 50.00064 0.0 50.00064 50.00064 50.00064] /Function << /FunctionType 3 /Domain [0.0 50.00064] /Functions [ << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 1 1] /C1 [1 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 0.5 0.5] /C1 [1 0.5 0.5] /N 1 >> ] /Bounds [ 25.00032] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >>
endobj
-829 0 obj
+839 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [0.0 0.0 8.50403 8.50403] /XStep 8.50403 /YStep 8.50403 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 79 >>
stream
x=0W Y".RRҿ^( U b1H<ܪY`2rir:"B,Yr߻qB
endstream
endobj
-830 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 831 0 R /Filter /FlateDecode /Length 15 >>
+840 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 841 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-831 0 obj
+841 0 obj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
-836 0 obj
-<< /Filter /FlateDecode /Length 4619 >>
-stream
-x]IWx x8'%r0|H&Dr,;~oݯgA޼l*~U&+>z\O [#,F3B5[>|^~T[J|E:)JRRn9>Kŝ5IJH)@Q;Hyvf-1z un8VM)Vny)aloH,6<PXFxz& *]!{{˱(&r\oM2KV=Uۋ'-bxGgF;IGu4}>k\
-+9T<0&DiEaN5.*v
-@(Qb7^uY[! b)RWuC72faOhf+֑?z
-8٣NھVYrE)ndL.ϭiHwqeb~iDeo\җ#_C5
-z;om1f5{##6A%28A_݇z՗[|^9U-,ɉH141}U u + 1ڗXmis
- V'BޑQStߦ:- ,X0
-`^wSTnn NuL.e]җor}Iağ|~yu3e69+ԧKy/meK3E^ܐ~ig}-U5M%yl_h_&ϗqz2b? j9 ј j.O1U,2 ؗquse^ώQ5[DW10Դ?\Sf
-.uDSH}t$
-~)8?Ug'Dknp eJT1omW}
-b*.F@x!/JoZ1RnPM{ F۷o*bT%c
-
-NK~X2;%wi|d:"d*n8'UU^`&QT]­@*&i;L!83G
-HI.eLۿ41j8慢tt?E?1C|Ϗ<mrs,hG!GVO/e;%†@#K^rю20wWbѺW܅I':sXG%~:(UDx9/d9ikN;CރhԧGXrj9IlmJ:ٖ,7@آ
+846 0 obj
+<< /Filter /FlateDecode /Length 4886 >>
+stream
+x]KWh ,x 8'r0|H6DXvTM6gAF;&dbU1闉߿ ?z\W ^ЉMa&MP*T;nR/wR$yȃyJٻ&LTxC<]|ғŧ*SP并Pmtixj;o(뒗҇7:RN,=a~hq4R6RPzJ*P )NlԾ2q|9fnu|/\wFnYC ==a8N.IAL?jNr
+k]ւܺEXo /Ȃ7YW ;DX+wE${;
+Upd LP7Y40x\jU񀞥`WaQֺ+,zL~̒@`E<kRI qf,.F.xZF(}P(BH(=F(oeѡ=L
+L/Wmu,aZT= B;< .IlY-ӄ 4E7J&96nGW"׾t|$s(ѵ=~*)9gkCU㐂l@[LCKK2JV3֒ oPgK"F)5Mˈu}!'3VSy?Os]4gq3(279 ''X @OIzH9Ƣi j)'aœ# aҶJ8%mX_jP8h61әQs{f{$
+ekN>Ǚki$86 }!˱}ĹE^dDF KGs~.˚r nmoVM%M,F]~ Jv֭@uZ;iF-B X*yB:K '"^Iּx>{ \E76y[Ί' T+YT= K=}xB#IJlf \O-RtQ>va.P sb?׆c({ r(jzz~]sF\2RHK]hpb91& 4%L|8`~{
+Ёe UC*el#N)`%ʀlے()|5o})0VUO9J2GT zBK(ۀa!|wJˆ 툓72pS,2{I33\юmS`V{9`I25I8h
+%%͌(S:͔͖:.EdR~iFb<-#_CqU*V."L,5(y
+mJĒJ޴0H5/MJĘgэԍ.vX.^TOvu!69~ߝo-Fj}#%?~R :=>2A'X&7m$'JEFi1Kf`R}CnN4 1sKW[1`kiOūש¼͗RC+9|qTLP$JKghqVHV(aq,s=L%k
+i\jvH*)­J }vJǪ)3}kdIBiVhWI \J͍ܤNJrϗ<~
+D[?$zNWenqnJ'ƺ.8>JE\}re5\r0˔,
+faERR;Mqa Bo&p\ `^V}}[QA˨zX)HW@˭$zX4h
+f?/ՖkN:yT{+)y쎁.Ef}/Qߍh,-);5cO%|)Lh!4ZS\n .w3{3FI;P`Qn#p]nBĴgݨq92GS6:6Zf35D$b9g $W`aٰoB{54,<
+S5%'بZڨ[DZĊ<tQR1,3:ܞcXcX&+-9p
+Vߒ ]}(aKΐJG}mgΐZPKJM^)ؑ/Ԡay "t-*wz\?vjA)
+D&ұi:
+8Wj751*?b
+]U"
+F ZkvUm擐=^LɍʨUDWUXp
+h0#x?1{Nj|qp{DUtz䎌xB~|0轕"eJʾ`Jo1'-)U=Y'8t|P>!_>.XuS>C{hh[e}Չe1G YG\cϊ&H;~v],ۂ-/<TMǤ1_Zُ%O8čN]ː=^x%orgKdsonPg8e?k
+]9QkT}@YAËQw_Xo7LOSJVb.LX{:>lf ^\S_6*}@D
+Hǫv*ӯln#+@N\Wt9L\ua]7"j.aM,X V;`Oa)^ )eȥ0Eִtc,]/ LWƫnH H(Y,3/{q;o-PQ(Jߴ?Qf>yF'cq=jckμ_ic
endstream
endobj
-835 0 obj
-<< /Type /Page /Contents 836 0 R /Resources 834 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 838 0 R >>
+845 0 obj
+<< /Type /Page /Contents 846 0 R /Resources 844 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 848 0 R >>
endobj
-838 0 obj
-[ 817 0 R 818 0 R 832 0 R 833 0 R ]
+848 0 obj
+[ 826 0 R 827 0 R 828 0 R 842 0 R 843 0 R ]
endobj
-817 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.533 721.708 141.009 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+826 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.069 725.053 257.024 737.008 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-818 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.73 721.708 168.685 733.664 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+827 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.772 668.622 165.248 680.577 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-832 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.409 91.586 448.634 103.271 ]/A << /S /GoTo /D (section.5) >> >>
+828 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.969 668.622 192.924 680.577 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-833 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.337 91.586 465.562 103.271 ]/A << /S /GoTo /D (section.5) >> >>
+842 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.409 67.03 448.634 78.65 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-837 0 obj
-<< /D [ 835 0 R /XYZ 78.37 808.885 null ] >>
+843 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.337 67.03 469.794 78.65 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-309 0 obj
-<< /D [ 835 0 R /XYZ 79.37 670.884 null ] >>
+847 0 obj
+<< /D [ 845 0 R /XYZ 78.37 808.885 null ] >>
endobj
313 0 obj
-<< /D [ 835 0 R /XYZ 79.37 631.598 null ] >>
+<< /D [ 845 0 R /XYZ 79.37 621.864 null ] >>
endobj
-834 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F50 374 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R /F67 389 0 R /F59 393 0 R >> /XObject << /Fm1 827 0 R /Fm2 830 0 R >> /ProcSet [ /PDF /Text ] >>
+317 0 obj
+<< /D [ 845 0 R /XYZ 79.37 582.578 null ] >>
endobj
-843 0 obj
-<< /Filter /FlateDecode /Length 3013 >>
+844 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F69 406 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F67 393 0 R /F59 397 0 R >> /XObject << /Fm1 837 0 R /Fm2 840 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+853 0 obj
+<< /Filter /FlateDecode /Length 3012 >>
stream
xڵ[͎ S ,=-pb:}(T]*"?%qy˻;9|_>ܽzvqQJDk_>|SF.jQ_SB:| Rw]StJYH=x- ~\gn'} IlHIzVv":Dz#U$@f) Q
jz#Jb,V&{gYɪ`VM I,<) "AmQӐ7U'?'l> gF7Ӧt!Wfbv+)QR厔[S{ᡙ[z+FxobWA?aȇ 6«=yRx0mp8!Ce\LNRF5$v^flU߲ۦ-sjdӄs:C-(WmLȗ$$ilaIR</Gm2lv3UrjRf"`f> 0lRfpd
@@ -3631,35 +3715,37 @@ jz#Jb,V&{gYɪ`VM I,<) "AmQӐ7U'?'
+.MqMD7Ce
+l26bRORxaҴǩGޢhr^ْ1ULKɼmGI#M#a[uK([)s
H5E 7Pu AOȄI =3wE/w ClS(69\70fa`1iFY!饔SfݔNAnB^ӕ}GAA9=@€)+'SŌdkENՌ3{ x܃ 0G^|~qf½* cO=)K zoھ? Ns#6w:֠Bt:3uG~_E: pNm#Qǽ/1}iw <|CodPRh22%g\<UBj
-FYg4|Wj(]ҚsUn 行_m 23gɚ:=re$BH%WBu7֮Mx6kfE۩P2.xR ?\toSd$·%Jr]zv\wY_`@ĭ-]j-{jrDHRj."mlgpؒS/fAkJhh@pO=L_IlЮ>)x"(kEh0X 6#\~7 ^^lM
-MAY/E}&>~/-UYy[r&O4Z=L)%`+ `Tʑ Vftr䄑x3vWè |o2a<
+FYg4|Wj(]ҚsUn 行_m 23gɚ:=re$BH%WBu7֮Mx6kfE۩P2.xR ?\ rl$·%Jr]zv\wY_`@ĭ-]j-{jrDHRj."mlgpؒS/fAkJhh@pO=L_IlЮ>)ޕ@€+b&Lیz>p;y$0{y5`PLW
+qt'Ėg I
+}c.nO20 ɐJ
+z)5|$mԮRs6v߲C5xʤ Ww<gt`NYU/([)d* PW\`2#'F-h_gp0C?
endstream
endobj
-842 0 obj
-<< /Type /Page /Contents 843 0 R /Resources 841 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R /Annots 845 0 R >>
-endobj
-845 0 obj
-[ 839 0 R 840 0 R ]
+852 0 obj
+<< /Type /Page /Contents 853 0 R /Resources 851 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 855 0 R >>
endobj
-839 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.629 188.779 123.584 199.339 ]/A << /S /GoTo /D (section.13) >> >>
+855 0 obj
+[ 849 0 R 850 0 R ]
endobj
-840 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 188.779 148.491 199.339 ]/A << /S /GoTo /D (section.13) >> >>
+849 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.629 188.779 123.584 199.449 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-844 0 obj
-<< /D [ 842 0 R /XYZ 78.37 808.885 null ] >>
+850 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 188.779 148.491 199.449 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-317 0 obj
-<< /D [ 842 0 R /XYZ 79.37 771.024 null ] >>
+854 0 obj
+<< /D [ 852 0 R /XYZ 78.37 808.885 null ] >>
endobj
321 0 obj
-<< /D [ 842 0 R /XYZ 79.37 238.154 null ] >>
+<< /D [ 852 0 R /XYZ 79.37 771.024 null ] >>
endobj
-841 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F66 388 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R >> /ProcSet [ /PDF /Text ] >>
+325 0 obj
+<< /D [ 852 0 R /XYZ 79.37 238.154 null ] >>
endobj
-848 0 obj
+851 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F66 392 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+858 0 obj
<< /Filter /FlateDecode /Length 3034 >>
stream
xڽ[K$ ϯcrhY0`Ƴm9 7'!
@@ -3668,2004 +3754,1939 @@ H(YUbÊE9g2HPi2k>Pt0u4E RIqS[BemuֿѫDSh
Pdܢ\7Jۓ;iAl|&~o cw>56*bq lTpFՐid>ş2Sg=|e.X*[K4(G=(, \ږcW([QH
jma>QLL9'e{&'$p;1&qw%)Q`֖?F2cKhҤhaPܯI40M"x(#QSsqI{~:=6 EYODbM,Q0gC/}k''<'>u]&۔fzh
-ܺd&?Y;@Br`"eZ@ orgS݁m$ [u; 䳄i-S™h@'X=Ԭ(
-Ff%`K0wnNa
-P;1Ѱ=XG_vAfEyzkd! 7fEC"~x
-D,ula<v9}ȭK%&jF٥{O!_K
-{OKʯ |Tn$jށgzPU|u E~.!
-EGߎ:D~<쩾Cא;<!lK[g_Aa }l_jRgq?G
-endstream
-endobj
-847 0 obj
-<< /Type /Page /Contents 848 0 R /Resources 846 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R >>
-endobj
-849 0 obj
-<< /D [ 847 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-850 0 obj
-<< /D [ 847 0 R /XYZ 195.137 237.821 null ] >>
-endobj
-851 0 obj
-<< /D [ 847 0 R /XYZ 195.137 227.649 null ] >>
-endobj
-846 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F66 388 0 R /F52 376 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-854 0 obj
-<< /Filter /FlateDecode /Length 19637 >>
-stream
-xM,%_qE$ $F/SO@a6䮻PbTI3##QwW!3?F;A'oo۟͹{Kɕ_[iPJv+_p]_WJn?_U:B']Wn@DPm$HHyM]zk}{rU<o|=1BPŢ᳷滠Oh/i`aĚc e/~;9?&4(K?OC{bL$/U8x s0ey؊hGFon5gepp?oJw+]9? 6Ssm??m.緥}Y 5GIc{cn. uzowK]?7CS >zQ jX$-iwI̠M6ww͙qcЇ4?ޒ%jT]]OC>4e͏.@'8wKo9~=>j^H\6tMޏ9{ ?ԷG2s_1EudwvTa+uo!|fU)f뽕էs+J4b*&JGgV sʗ S+ӧ͢ʕOuѐt}C_g튍?r}֮X)!l+§Vt놽] )8z}mo??rjzo?y=S*y^*+/XSndsjݽvNsnG4.S'F#B @s W-4(怚X9Jk_-D/&FhGzq/;E@n }({˽ƾ^M#=e\i^HO;j?s~I3sًv><9rS/41\7h4pKh+?QHl
-!}6l_h
-W?Q°үK[H_y׌:z_u\㟍:̑K~4 hC){Ku5
-$%%{<PS™dϳ3i,vxI2IQ}:<A tSqN}b_Pgz'W:u(@Qܫ~8t<Q|
-L5Ũt E䗣d з`PTcJCAc 17j
-deC 
-dUCVD~C}{r-8U$.e€CtkҥA4:XՑLwLLpsRۖb@p9hWJn{~ѩ@qh8#XtGSnђ6( ]YqF
-ɴLWra})h^Lg"T )+xF~JD^iD+8+mJ-D;By. {b+f23<"?z( /5pC/lGBMK'dUZ+ta[4FF4a+1QM#4]
-!39 N87:Uʭίئ2]
-,JĆMJ~Ɉ/B?`Xh3SǪ Ԯϥʳ6~uYT
-vGsғUMeX XߞW3xl MW@By~Xl>"
-ғgDÎWYT
-MEE|񃑊+ۤZPJ=ܔOs^8BbDhB<OYHݴ֚sP`3Mq
-BUzu-oݛ}ӂ#ȵjIX$Ŕ]z!SK[h-=|kI-FԹ\0eHoym;P؎UE
-jFhC3"oN.򥛗:?@ϑiaè5R*6
-_ߐƙ@ &φ.S H(U+%
-4w4sJw\a(ez ݳ`nߕ_!pO "9U^PO#B2;~ |
-QLAsUF+mlp+ >H}׉06 _m5ӴebAC"WxqZ0zL!<W%|" N8/Mbյ8Jє
-%p>.W8yPjoHI#s}%nyLva"W *ЄKDoka~
-ka D1u*\嬒60|"ĩ\84Ek
->[<gL58<\G*Oa%wU6=~^z闹2gFXiq& r
->[<vѪ8
-@?5**3ݑ@[,|\-<}^[=罞yEw\АcW:V(}wW ;h % :TT"e:
-3:UZ!BҗP#-/'~z7иzttHxW***\-y-S3jaNU5Y}1rwb1ƻ n ("RXPo"^Qe >Kp;Uԅ%΢
-4 \+
-aۃi Pxyyb[ҽ_""ÿFj/g(V}\2=2!Å@כ%_@4Kj0y^L!PkWe@ʄBL<M0 yFH;U761z}::0&TAQz^UR;//^(J럤*M
-&rYИ u^;ыt748)^x흍[f";bi4%<s<h^}9FY Fzg8chh-Nw^(v(t
-h_浳#);z=%姈S//w{~ZITtKi"l24kG^Q[dkNNgnHE('ѢXn~gHm4.(i"g0\sJEHY xkT84ԸUҥ
-9~6\%ș/߁*yYA?Ɛ u^(ހocR@G dG o3z-[k}E/o$dB [b G]Sh8 <DШGq--ASE)2M)&>`ʸWB#XR lJuR6B>c!Rvƻ`Ě΀ Q bUrk+Ax)gkM-bM)m!$- < f AF{GD*"xP L{y|oJ,xkلB Zdl8e "ց69V%G{-D!^. Q"%㋣d1 txXʉw[ Bpjyq\D<6Z `q
-Q "2҉״‚[rX-AS@Js[ B(T Vz7u(Jk
-AxK<vY TT#ĪUk(}[j-#D,PXQ恄 ߶"?I{HW]OĔ"dG{1ȦDߖP jOa1@ M
-W* @8L@ @z~X
-lEJR*&mM1ĮТ{*xtXS(؏Mk%Է3JR_|nXS@S)
-9[`x?V3FRMЖ~lU8
-@@X&/͂
-11h6:H~U2~𫐋[>[=ƽ/U\]e?Di Ȃ?v`Y9ݬ
-@p&l{{UA
-" ?#\CPAP|*Pu
-._BB 71N2P#޽
-!U8KP
-\>M2O#L[ab.;Ӫ"꒝ L1ȦHwj
-?(Gu4R!T},3iK>LR_w wkI^Py!XVRñ2RgfT_{Rq(@+ibn&p)~o8o#
-]FJ,րc0&*[oB64A@[ȔP(h]I ai!eWO,̖lÐ.PZ`+B磕қwg0SbL1\%=5؋Cvuh&آl[np>_kW-bmf܋@6VF LõEEz-C H]{ljBiLJ.4{Lm1ú
-S/C 4U$
-XG%F,npxq$Ua?Tc,VQ.bH4c] 1]A[`T(4řTspsYXoZcd3$[zkE~<V
-GpFc>,HYU?ޜx}P,U- pJAUk6).6+cA6KhvAyH4xCێeSx19*4UP۰ť?#vΛP*VU_s|вWn\3%#
-n+x֡
->*hc4^Y .{qOЫ$򋐑hb[񊵝)Ⱥ@iV̇
-x m+h+Q飕z'><(!jgS=VZ6l,|
- hw
-+X2EШ"ɢ,XQb4<j>JqI\0,hAKeA5-Rџ4r&
-?UPw=WY ct ~'
-Aɋ1,ȶ0ql^q/[~3/h
-^1A!]-o%ym7hda
-e*7~u7]C[FJ-L556Hmr(7MƆ˻`Pq:Fzo?\o7.cHo,詨=;)+hJq,{h]t ZEc߶{U{zhli` u4<AOF
-L[>l@V5\+BïUÔxwх~TCYqptg<|O:oY"Ȫ+hSHqȤlb*d1ڤ;ݵyM"Gi"UT1¨يW..WxYm~4]FY]pFtg05mr8N=m8jV_+G8v5&˯@V4&!C!8_wq(Y@KʨgjԋIh\tP
-CBFcaL3]'B<l`>P>V:dʣ+j[j"]tD+V
-YyPtg<Rb@s:a2*dYCh5Zd]D# i t|unC~@r{[!pnA(Q
-dAC nҝ<`kԷuf218PcV6DU"+(d1ä;bݕy=_ ~#5L`eF+Z%Zxsi_0uPʂ֤;#=ty(^KrIoWW bQ3 X
-r\rR!#1O#]VuKn{lMnΟsBFe/_# dyM-U4uKD.W=P7|y2b*dQ!4Zmxf oO_:haL3CBpϱ@qSQto:bVe"_MV~P7ͭB02<#?z" RJ}®y+M&&BBgxSOxfU`Jhb>ez,NK '  mŒtɪj.w+oIt:tbS H)~Lw'taiC~*
-Rlx}bĢZzxl MW@AXU WO8w2_AmSS`û+MCc1{g;ŬXTRb=S%F0&\ׂRSP@) 6obqI }z@P`bl>Uz"\Wj'y4C.,m*)޷?C$ |ٛJ-BSəAXU>'z⒴J{Y)/7Y$kjfTl
-MW4L8 BIY.?TַB4Mi+M$zG
-}?o/{.y.  S*y_s ^{:.n@“.AtϺktGÝ!ۙ& Pƌa I ly3ۈVz6OM7c.jGL,c;>௞ 8/G7/`śR΋ԧٌNi}"^ xnwHٖ4~,?&{z9Xw_`5q?/{c"=O߬ ß/Y>5/~]gU/ſ[gM~ߟ'+_o/{
-a3avZ,n<̾ ?o:̾ ?0R:pn0?,ɯ SOw6oG%47
-]c5>$|pKRſy v|$z\"W=n[TԴ}ia{ӮOwR2mӞϲu5;=8y'5 ^Ԧ^ _߬'—i
-Wޤc&'c:
-_,^c&c&cmڋc&c:61qO{}L/|Зۼ7p[!ӥjb8_L ᭔wb1W_*_}qiߢwz1iR ;_vYW"~tk6|gm\G'I
-]'WaJr^?IIyㅄ\. KJ ]4v=IFxmgy2wAxk˗h>AUp-7\z/pxkXיj/pzl/p g& |^>1_Bh,8 n)~dȦskol[/r+org7q]j絷u~Hh7tcnq2%s<}z^.ݸskWy// \5NtY>V4!iYC8R
-Bw9 7H4Bw^h,6.nDGgLTGR
-4 nl;s/׼`}x
-dY\}´KgaLC=CGM7/tO:X}QĺFirR񎎮#1D$T{ cog B ( >"F+B;A-08pԟ F 4 =~<Bcwt flA"Lb.ĩƻɰ3|*jdA-]'*.r:PqLEߛq1
-dYhPќNs|vW +jBw{B#|!A6o׌Asb( AY2 çl_AzZ
-~}ݙ,<7Ζ-Cm";]{Ok- ?%.wo?@ KB'.
-h6D.AK#/V?N 2O=CGn~C`ec+\z`@'L`xC1x'qkJBT#2V/=]A{THgSL
- VJO-H}[Xۏ&I$;=%^G+T}KF u\776ǻ~oD./A4;\k:,>{Q-; Fc)cGjPmߋ O-RϘ< p
-t
-IDlxԎ]PR]Me )cU<˻p҃eD|#y3D/lTFEn]Pr\MJ W4 @V+=CpoAlE_ X%Iqӟ1 `H܎kX73%yVq; 4a;CΕ
->~8w>\/aU
-Y}RFFs+э ?ͤ+]Wu.U ,1a<#߅z&I=Bğ#4YLS'ɴ4ŦDb3"zhiYbx}D ׇ#$W#mhڔKR}p܏]?```k8_]~-vziH`blh
-4u#4kgltm}4x4o٭&@vԏ=h@i,I.:x4qm?dں3\ >֞f>KM2Ou(t8[E*:@
-
-px\
-/ 0Ґ؏3ʫFݑP)$祊^l3~z}v4niLµ)
-lN[NItMiЩr لf`@fB=Y@3<~d//sY./hG*%T Qs&Wbˣ@&CJ؎@T*0s= [~K oQW2*ԱAL: @ëhi:Wɗ"G/\~¤Ʉ%d{{^k5o@'hjkkWknInaO\ +Ş+W1:Ȥ`1,#=5*h
-x#]HZ߸K>y*NL @ïvoc9@+2\cLkM5a<B^&_o\ޟDB'd3e(9bd54Rym/@[5$7C^AWF#if4}TtXwm3fq]-:d` +OSrGxh2aR @óɋ8} ~9
-A`03F,-x$~&ؘά&m_E~;P^،wL +Bc>dT&=8)*RoOCy2[RT:L J'yzdYF+,%#AvܙLJp
-ke1lƻjwiK ,*x46͘IXe#aDk̚;Σ;=tt57SUsAF0i6LtQap3L!J<"W59/c\ 5vb/}${z5cɍ,pGel
-4֊T3i&^أ2c!_-ٜ|ʛ)e-o`ͅRSf54L5 <bׇU U" 4̉B*5dzgLyӢli1PܛTj5&e=W %Lctw[i ;%4tEmpi&c8P"n$I5`捍Ucd}
-4tkľ 2aE˕S7%J~7%͔DLol5~C;)#G򬋼K.B<2ot;V7Mݸ7gR9MP"rpg~ Wm\fRm>ȸF+ Xf%G=oW7C<!`x͋QphZ'ჸE(൙84Z6+a]aǯ<@&|Jea(.Lȍ5tC .+죫2 J5`ɠ>
-RK8͘R R|#Re9.`3Ũq/רj#8 v*!@?X*=GEx-zMQ
-OsJ8Syi(m u͢%) Jx 2rxOa7gp;2V[5Ƽ-nkXmi{UC AjO)L]6X]Mr
-uF6K@XM0As
-Xw5-p>֮@B.V k1m
-@>W&l×./\)/e[ a 8
-߷oܻ2DJ fߓߏjݖf)5:~LF+|(ϯ~c[A }?>O6L4(d(RxIXc"U?}OǯXxm[I{*<~uM׸Yo};>3xso1= _\koO^~Ckާvm !>3 BÈ6GE#<먷ߛMa}0'z-%”E4ǚ?NyGWnJy
-ez?Y?lܟC6>icmZѶUG 0_b(pwKyu1j˯Ŀ̳_5s;Ƶ<oOh:ȼ 1"moIc{tͣC -^r˗*CB })`x^~i+CG}Zvlxί[Wx$w{ ww@tGջc;,\iNR5sc/?@ϖf
-endstream
-endobj
-853 0 obj
-<< /Type /Page /Contents 854 0 R /Resources 852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 786 0 R >>
-endobj
-855 0 obj
-<< /D [ 853 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-325 0 obj
-<< /D [ 853 0 R /XYZ 79.37 771.024 null ] >>
-endobj
-329 0 obj
-<< /D [ 853 0 R /XYZ 79.37 178.379 null ] >>
-endobj
-852 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F29 375 0 R /F23 379 0 R /F51 380 0 R /F52 376 0 R /F20 382 0 R /F41 377 0 R /F53 645 0 R /F42 378 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-858 0 obj
-<< /Filter /FlateDecode /Length 5519 >>
-stream
-xˎ>_!D
-4VKC)8~PMLC[VˌaB`񸎡X{ޱ.`= gXpn}j5d: nCBzWmab[J3vŕ ~I;j\1?~1 i&;LϟLbpFoL>NN4{8
-`?͖ì0"n$_c ;#G7ߵs2p^5cobni6LND'<2Caq=C׆4cg+CDR5JBxZa7t"2?7R.L'p}>etnVv9
-0\0kܪF]C ׈kϸPY\c+ v;@V<iQC;YK6^
-&{Ŝoؕ
-vE663:a_ɯ fg۷uv[5Xl,kPFZT\׌NWƵ>0NNizpfS}ms5Åk`u[3uxl~l^7Ly{3ȯ
-̙ J脽_{UǸJS( V (gP lF'+a?DZpU
-đw*'7hyCՉedYp
-ʉ $>"c;"[-mnԛ
-NPGIy>T7 Vf'cE- 
-t?"8YqR'e^SZ$ )`m2ь9>MENDEn":W3©QTaZP^t%AL(+ $:Eg0~KsSPV.I%sR{nTDITodWF©eWTpג3^~0ieO;L;|U
-K`K|NCH
-)-P⸭h9PM,
-%f㓰F,YDC&Z/*7iàD { "1a$ " BXWPR_\`B*)p"/`d2yPp=gճ bNxayT[\~ab\12*jZ q[aϙoU1 w-
-Jq*)vB#@$8@$KvKI ꋀo&'XXH\$zr
-MT
-R5&q#OTfh pόlTY>!Ә!%F(!
-5fX̔
- /0It+@Iݬ\El"vfǴL0Ʋ+PøSi9؀]IZ)H0My!P[q_z dgPs$ {N-j5X^}`ܸ6-ՖEՇ6pT7.%)H0+XC1S2[&X&5+jk%q\2n|,],pAU\Ϻhs
-W(o0 ,j+2VՄxذ,<SW(L9|F5LB8gEm$Z%0z|>7y܀m"8kT6DQ&$ ՀuZ[*Xa$<`(2Mnb +(ZIZY9gO|@m`{ua5O
-,j
-%[ #љBѡ# *
-/Ll0 ao4eJ酏_a.GO_aA^VWRe|,sBont݊]wdݪЛ=A.a8"\¢"ivb(?¢j=Ұ g
-<ueע4;1zfѓΌ O)a3?[VE,B1KXu+2uɺU/b8*UJ}bQى1DivfeRƖSؕ)?E4ۏ2gN07Wea.ˤllZ`Gw3Tߦ{ {Ůpĉ':e|I-vO~7Gpl'Ol!! #_۾x2qv(5@
-:YT꩕Z1[g6疎薙8
-i.8}ؕrqEJ=Z Xpǰ@oyʯ݄x
->x)}5-l!+M6 4<5D[gXkm23EpzjSM',h{NjJS&* R/M c*{xԉZ="N1.ńv6h)sgvrwXSEL!cK7{jl0t5;mKo[ڳCҙzoU:KmHKh7q9Õk8X=m9ǻ)h٭[WB4* -^V;
-f;6x'EGQLj"-l:6_ϨﱟN*Ni'f vV fbK^7oeOV}av3.Pv@Ft@})}J;=è{_IQ3&4jXc6#_hKδcSþL;
--.ϭcL5-?K4ċa~'xok
-F4'
+ܺd&?Y{.2J~+h /Tew`G–s|}%,aZxb~p43 rw5k :J2*:|}G!`ϱ/Ll1YK]xt@S:1<S64'Ǚjrd>-cRP(8ͤiH CQYa SfjE4lx {|!j#wZYH lQj'-AH*@lqG
+R31G[w YԼd_HKHcBQ䷣_?|{F{"4<5b9Oȭ:[RlVYױwPC_3={+ſ: *A:{Yjf5>PY{
+_QL W4Ѷ4ݩKu.ș~R83Rǔť P
+"]e
endstream
endobj
857 0 obj
-<< /Type /Page /Contents 858 0 R /Resources 856 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+<< /Type /Page /Contents 858 0 R /Resources 856 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R >>
endobj
859 0 obj
<< /D [ 857 0 R /XYZ 78.37 808.885 null ] >>
endobj
-856 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F23 379 0 R /F53 645 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F51 380 0 R /F57 385 0 R /F45 390 0 R /F40 391 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+860 0 obj
+<< /D [ 857 0 R /XYZ 226.44 282.578 null ] >>
endobj
-863 0 obj
-<< /Filter /FlateDecode /Length 4166 >>
-stream
-x]Kϯ1> pNɉ$
-MHD0_rbR/(?
-0pLE>1 s6 xZ k&)`
-:tQǟw=bx@(
-ў`!HW!0[ ONr]Vvh)UoMw^,L;9As4IJ
-?::4N)S6҆ZjLHI& e4Ӛzc\ |2Dzg&_ Ŧ
-q*OV@0(0[(@ \/h˯ 3JEt
-Ч$1x玴41voiu'J1o<10-6'41v玴4`)`@:ҒI
-Zq"{Z`7y+NEVɤTqd4z  ګ QG xf;ed%6-_B4VI՟0Fx WtPj?3`s9;7WED]i̍L%4ќ\t3aVF3cBjO9~W`*}3D!WsηqYXf&KpZs ZuM.hl{g<tﺖ{[ &zMNBӆ+8ٓN_p8 =o*˷2sLR1,Nxfe[JܚEC]C{Ҏ\)Fs|~ARK_ _YɰV8n.}.Q[J*tpɮG.<RRqL#͒}*2mNbI19RIzpIՋN-eԵ]J"w-Zf.2ìeҫ}ˆF%i ,LέcRJYN>%*eS*6!{MgIg.p܎ j6Y4c*W(UUNȼB< 7jlZ]91DYhlJ%f 8s))5->eD\q gkZYdknMN>5N<֪k*Ъ4l^u-FZgc{7k fao&X`Opu2vU>GOfgb"!hӗ>uwN\,#G<юþO<j[75 lkwC]xwm]o_K[Tamxb佬W|s 6\JX\!mB<\EUx@W!0.UHw#kV y
-6QZAtҴ4fe}!_ w3Ͷ44ND9/pԙ'*`@4)x`Qij3 M|43 M~n7lLC^~io441wD;L^iy3SK5MA3M}LCsM2 s|fu&+o?<`DT0c.gHO$ _7M~L8$NO4`¡)`@KO)= &F&>&B4҆&>I;HSg;zn9_ W4p{9Wng AL3i Iv$ٗS4H/N0kƠ?O]HcBsE'~b9*[9'i#e,;Ux*w\zfkRmj^
-4G+O*N^EeQ0 ndq.PkX\TL.
-T=zBە[iam%=wg(͸> aFYV/ FfJKkf@[*&sJlӔOXDW@au@[҉:[)S@:+/OR^
-d?I/PT q;ӭ,ϧ_̪ `꾕ZNXg0ρ"
-:b%XQ; +L,_I0(M-o?ZlZJ,DV<) ܯb33)A( CmFj^E+S^ӊQhݘ aǯHn֠fug3x%h/~}5 mЎ(B;VrWzTM|IBy]\1bk=OJϓ<6Nl:ͳ,EJW127 cd
-Wgh^ibص"iGI cՂqD"ז xz%>mѱOXv%ٱ+=ry;μz:H'V-&5mEs[,e)Wpif%u2l X/
-V˼[%}&6+y-
-oX
-f];Kjadk9c^*T?yO%3lMQiJ^[k:6Ր%cjeJt@n٣cmJgwS&297lm56jjh}ďIZ6
-endstream
+861 0 obj
+<< /D [ 857 0 R /XYZ 232.109 270.623 null ] >>
endobj
862 0 obj
-<< /Type /Page /Contents 863 0 R /Resources 861 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+<< /D [ 857 0 R /XYZ 195.137 237.821 null ] >>
endobj
-864 0 obj
-<< /D [ 862 0 R /XYZ 78.37 808.885 null ] >>
+863 0 obj
+<< /D [ 857 0 R /XYZ 195.137 227.649 null ] >>
endobj
-333 0 obj
-<< /D [ 862 0 R /XYZ 79.37 598.595 null ] >>
+856 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F55 387 0 R /F66 392 0 R /F20 380 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-337 0 obj
-<< /D [ 862 0 R /XYZ 79.37 325.802 null ] >>
+866 0 obj
+<< /Filter /FlateDecode /Length 19631 >>
+stream
+xM,9%_q]v~@!z
+hhSPff@j5_f$x7nt*%u#+g~vN߮pm=7-%W~zsoCy+ݯ~u%]!п+~7Kw "w]?BI"!7w[s|дxݓ}1?2Oߤ8/5B|I蟟 [u_%c(m}ɩ]6AYp
+kL$$q~9fC)VD?5BsX!̐?/{}kUW*>_f^
+IWi`۰៚%md lcis>-md9=wMۃsKwwo5_{^s1ϿB_@hIԋZPŲ yh#@3MbmG /k>+Qr?ojwq|+۾?m~t>)ƹ^˱}U=? UQB:;~g=o~'t4ٓ_='4F.#~'I{[܈_꺷>*?JSof %1}f#3@gԈ9~`݅ fQJʧhH>pvFI̟Z9J>kW~qS+uޮ?^F_ CTh5퇿u)J /_? RB7~`95 ^S{Dp 9z{u̩iT3P%_i$[\{iP5,%s Z(׉Fi_M̍hCт^mw4PLT˗{5}^M#=e\i^HO;jS9Nf;~v٩eD4BPIO4{L6ΐ>v6D4R(aIW̥-/<jkFB=Z{:l.f׳Q9w_Fy(e5~iRFDddOjJ84yu}&=/I7)J
+Mb[nW\|Lџ3i6-;U117}r@ %GZnRwxpW趸(\.Wr׍C5|n>Z7V׍ue׍GjằZ}n>Z7V׍GjằZ}n>Z7׍GjằZ}n>Y7;9'X^pr3y<8Z_e;;u@zۺxg=z^_ۺxc<v/Ǖzƛ<MuF<.]Wn>ѓ@&{_׮KҤMC盞~P2M(ko Ǝ+:[tД; %``9
+
+dAC Cxy
+ASK[@r@32D t
+r_#IۅjpWQ{&AHl Fe&a*?#ƍ;)vAʳ
+=h>a< }vhQ˅RB}2lW+M3P
+YiPC#]'2Tc רS)Ljfh8ڴŏM<;
+dAâ;=8d-72bE9.7i`ꊋ|TRAKFCJ"y)$~絊&eT+hl jpBw+0>l"7#1'07[–*f%S (ޭJqz2qE3 $EvF}LꁞK'7!TLh۪+m2-\xdJ4ә*i,.mJ
+s2R=фWaZ<JiF)N
+`Rt(έP&?^Xb@Y(OJ‹z ?9f Y
+]"n7(mGMXfLTlMWBy}LBNr+)L}Ҁ_b2bKP$&*B1kis jebV,0Ura݊EpLW.(a YS(k54p n3dalk.%b&V :k|3BPb=V%z.ȯ(ѰbV,0Ura݊E0
+6TX Xg'Цb +.9ҭN*a}^~5o 7&H>_Li7FF.O8[d̼f ɵPYtGؒ*`D(#J1r.w4Q* a!p!?aa&,/>/oo_3P*6M H &g;F 6rU
+x$ȋ9tS]>1Q'}71~l M\oдr1T)].W17t\g.ll1Հ]°P^t][h|ߴ+rZV% c1e׿^4ZK}-ZA Q0u.+Lz0ě1kAgG"#hUiѣ/Ќ.e<|',sdZh50jMkh r<7q&>,峡3vJ*4N+$N3aK2]>/<cΎGlx+iLâW0ﳡtd(E, Uq.5^k% WXFͥ?޴M3܆].W7?-'#'Jٸll#i$uĬ"'wEW,CHFr}Po(r̎_~@ó\=`O7GaFUZ
+vFG"rxQJc,#J/Rbcu"GFc)li4mYFoXz^\kLSF)U( FI(H9N D<aiyu-Rr4B226wR\_[rcU*
+4!|ZvǻZeîdL]F
+W9 +'H6q*N0̈́~QC*S N)E!$F)(lkzվM_^heYb'VEijI!#`÷\5szt4̜^+>ۉ+%V &_e8jc \ M͏Zm&sbϪm<A[kV<y+IxCg)(gت Ax)ӎ.aԑ9}!~LDy-rt[ ?1-4vF/ׂHc
+R{.ll18]bPZ+wZcF 4S^s0Xn\V.lowW,炽϶v)ģ{$4}r=bGC닄 Ypx
+nvOwvmAí\;P ho@#恝l{**|Lw?K )4>zV``ygb-h.4JHC l"U!x%3;=ഷHb/kwy%S_IhrFc*6yDpxvȼrN$Ŵ90@
+˯@ͳha,!B3A z:V}n%Hy'ˉ^($4f)$^畊ʟ
+qDGcg DGSd{MV_F,XB J,߆ԛȵW`YCzO)4kuhxnkgB`ET<f^^|tȟQyʅz׶LhȻp!5)$~o*c Ww6 5E+
+nh /#Efhz.Vۃh3R z(W~.*ER8E3Zt9}4w6 5.;BatiB=W r&KwDa
+`'E^VP?:1*G$hx*
+A$R[w|;LuJk,Kg(Pցw bց$BR6xwl158heA9D8J_Z 2!ry !`÷O@Rp1`3U1 `^ i!5%ĂStX!-1柇GSB•JSz"-
+4J&US)7=?_5%NR-У(u p
+ΔsFcUbZ* K(pm9m8Qз f9c3죜cDn/uiarB1[сRw[Ap +(޹J35T-cSEn
+@xХ@
+Z4K姗
+pC(@QL
+̚.͎U!qE+8)c9PQanM)$I\ɰ
+0\ ^
+~$3egS˫6δ*+dC!Sa GE)ҝJa葱@>1ULڿ0AvkZRA#T^`=p, ԣY1B=՗T
+`*=Jl[ \@1@QTO}Gb<o, ʃ5 &<6dZ9y:l{e(SrTt٬ o9c"XʡFBGwqmǭVvL)PVrXQa)'&m-ǭ׌,L6˹`M!La<"?*96Mo[?Ա#n\-5e`(@pl8nZ+/SB-Ⱖ PnaEV-euveً:b&ۈ X
+4 - a\qmtlО:EDR+! -|l^{@mlef;5 +stoՙf;-ƥ{GxJEx'mTY,ylunSih8`<n"CyfmChG.=%HNR@H%bK)]}0i ҏx G.A
+4 Ml+2=T8JA>ZDuXogcվd. (0 ؊hfhY4,ԅS WIO ]) (ۖ<\ZsX@['"US/pcQQrCd F3fdE(ZcP F^.6S9@[;b(İ.p4֏}BC̦TMfVQIb"ùܵ6^IFal;. %x XWh>',-q9byWl+(=8
+Mvqf/մxt0,X9ٌG5aEpZ/Ҋ->AKi(0[ΕTOK3
+:k;K,b.zXCEܪQD%$8 R6uVU7'b'K=x`BܪRx՚
+
+XmpM1uxPb%: Ðm `Ԩ^oLl;Ji6l*uqibψm*t+gUgl'1lU"[LɈ[Ŋ5u(hVχ
+`/,؃b5AlW`@{pVliF짯G~"d?ZVbmgA
+.PUh3i`[
+bzpԯlh^<
+BZT( - [ 1+?
+kB]%
+~b(=u4jH-~" 3,tԨ Ϧ~00F#r8 ZRcYG{M&Tz'
+R"֝J~p7Y[b | fj]
+g2q.FOhomyOUV¸߉BPbF) -Lo\▬_L bBx׾lrz~fHWK@njuI^}M-Y)R.l8750 ˙]P
+}=.)ASGJM)i ??p3Ƙ
+RfaT\Tp ޿!#ooЏy
+fldgȶfJ$|dž=@/׷%ڔ}֜,TXQc)֝FS2#C7sL b<ByDXIΤ'Q40A5 c([*oYAK)AFĆsSW(}O f˹@ZJ8ȸGlH%J~
+0֪>f>u,T۠ ĻIAmXus=!S{c W {/hʍ_FMƖƽR˲0ScMG "6|)! )yӹa.!#g{Q_+K7z**tώ%wD$g(5>chAKxG!A*
+ZFc<2)A|X
+q6hwmsS&Qu(A0j*DKK^V[dMѩ@V4(!c xw\?믢4SE}[!+nA27{+ 5Iw{P] gF'~2*dYCh5~y+-PjwC5X紐&:Z$~<ڟH:ъBV4&!C!Xr8nzl
+yF~<ÁuE7HfAg:uy
+*mTEYmPtg<xݳLL!#2Ԙ g!xվ
+?{;5
+i0Xwek@uC#H %:XYъV$,p5L5H]JŒw\5[ՂaLV*@GK/Aޖ,14~R1<=)m{3i ; 6 J]GpBZ^ d$Iuxd2b1:ĉq&D4Rdx4\<&.>$cTHb samR<vg\ejċnAHC(E|$(er b3lr<Q 'U r^$
+Ympt Vy~W j\s,PiA-T7(Uh%`ӹըhs*sLtE9)H§k
+'fs $h8T^xr#fp-ئX&僰O »R C<$w*fZKEi݊ fwXTRb=S% $]Xڐmb)(7rv^BФ|)cUFĝ<wGFPl:4n
+}S<XޙN1+1AXTIp('Lw}I`n6PJ X\g~%&X:ۃOAו  hP `Jj
++-7Ik&lKTr&|)cUb䯏^$-#R`Ve
+ M(z(,#&ۄBͤ<>ǂPRO8-2 diAJfw@Ǒ.@ˤ(m">UzGfe_IzlC⏄7_1+2]
+,J V:ZZx %.˘&PɫVvB~Μz
+%pӇV=͖}㖍.}g< [/濫3<#Ѳ"|}v|]w6Fw].Tz3yٯ#~i?u7}s 7o?5u=O]јuJ{
+g A<~/}=iVsobUU IQ\g]QC:M#ΐ}OdY(\cFφ|y3ۈVz6OM7c.jGL,c;>௞Qiqst?V +տI}ͨ줯z/ m;Ab+>>1da$b݅r~m0¿{/?_ G /?_ ~9|jr_
+)Ϫ^__>w~ěh?OWV47_O߬_o/Y.䒓׆iлy}-|81χo:̾ z})~8_~}pwd)V
+W(vHڇ:^KM'Wd,US#/>^+=U=/5-{_h޴듦AԴd۴3l] 9A}_=߃rkڴ~qR[ܿIez-<LS_ &u77>Qt<eژ^^ӿ4ӿ4m^ӿ4ӱi{cz~yx<U+^
+M .Wibb_L oܽs_s/ui}moI[-}#/Enl^]oK[_ _z%rYzG?k·_x֦9υ6-1erÔB| q|]\—ڕxfi6yߕGzζdQ>(⫏/MM/ T};}>B|[(oa_ְ3;__>1L ' }b/p ZZYZ{q,C
+R"?My_WҝnhvkoǑМ7r/p+ord/J2/+7R1yv]qpw<l|u__[xk.|2hCPyӲ‡*s%ŏq@Kz)rg!oh(:VYl\\׉ց6Pi@ܼ/w^y"
+ 5EPwku> i}
+^1  \{0$/ |1- o^x&uA1,3uQ "$Xbi]G<
+bA3HwA久8Q"^}DW ww[laq*??Ah&-={<
+ƛyB}AقE
+\
+S#ʍwag }U 1Ȃ[4OT(]t<:r'7bȪ 5Ekԣ9Vѯ@V40uGޭ/p!(/JCl}r1P4w.>[e.AOپ3Y:yn|=
+4/-[Ev()[6~K@]<n~,FP4# çхzOl/]x<x,Ch<T?TNu~Ճhܽ~u4S!Ř 'G "b^G|O|V=@>=wؙB5l\tF _>Bv1u˝@Ve\{$5XǼW&ȁF=NbN3 ה7 Fe&^D{pr驂7x!c
+hԣD;!gl+d
+=q+ئ2
+JmWXď4э|0noR]mw5ވ]_iv<tY|@ZHw8Zϙ&Rۇv-v"ݿ[0#1y
+A
+MEE𾉕}"Ǚ˻`X3SǪx> w=XˈDFf^6&@݊)-}" %jh96$89խVzdwނي/*C67!J:"7F?c&.o@gJjŭ v4oAhvD+#n}p}_ƫB;č VA~IW\ Xb8xF L>zÉ?s/F(>hNdiiM!8
+}f>-D,&Ҳ
+)
+dy97;..ζ-CK؎P4H
+$z/loX.)8)
+{b&?ΑO̕Ksm <{Ewƣ>:+By
+/zi@~T2ug2|έ=|ț2e!Pp l Tub񦫹 _ ROz'`P!+ݱ/ fW#RH<KMƽg *hhܲӘk R>fF)Œ&#qX/ ^I@&5v=wSҳXvA戴VVDʳy6zX&,_5a|蔫Y
+dZ0T4{^Sqi -̄zffxG^_\^rϏ$TsYc7 K
+t %Q6Wtԓ/E^t
+I KPj yxc&O$JP!Þ6AWoMY=EWb*6t*IqPcXtG{kTG4ֿq|6U
+T %:_rJtWdRNJךj$xV M޸?a?\%/j{NfPrpkr_;i6ҥ~_4],=#jHn뇼Ȼ G]0i̓of0&x[t.Ɇ=#!F5V 2A |܏ē-eLQä %>gqd<s 6+2YafX5[QH5M*ɱ1Y/0.L\ vt",W·|ɨFϓ;Lzq6STt5/6hd~˷5<,tTPqN`
+ɲ6NVXJG*9!\3lYѕR/4c2aw+<(
+@ZUט), .C#5 v\Gwz2j>o悌
+al3gh'BJyD:1j  <s^b+@j^IjƒYJw1j~ 1f0ThBϫ5xgL6MBG3eBZ9597Sf[([5 kh(j@@yĮE6?>AVi3Kԙ1jUj6vW/Θy'E ʳ <b\3764kLzzAdKd#AvKu[i4c>ڄRMq닡DleI2j6 & ~ ciֈ}L7 :seJ틖+nԵK
++nܙKr)?79C20jR 1v.SG(Yy$\6ەy":e w&+n q'nΤ-r򛊡Dl30\4ڸ4}qIQ8Ẅ́5JR ׭{"ޮ>roy/B07̛&5fH41NqPk3q
+*4qR15>DD%F֫r2qqY]>@#P#g@Q^QF4q,2ZUBP~TJ{:^[(5M^F$h)Ģt+^qkt-3AȎXתP?E}J0_hCAj\ѰWf[m
+
+8޿ %(RTxެ44予DTQ5hP#^H%-<Gg<$kkmMb K^
+T<ukTNtH n'vx
+z{BvVCF莰92' G΃FQQPG<P^A@01(sέ
+#!X;d5K͠qm2=E% !V$2ႡL@ G4dhLCTGm4Щ):CљqQFZc8fdh)gI+(Zf¤:BgmԠ!0P^' 8A[1X\_%>T| 甬qd .P0'EKR1A6H
+hwd7(i/KoJweV%jy)ZZ
+0 p.)F7h1^.VrԇU8D1׸zީԒ[s2 rkXmҭ1*DWY
+ez?Y?lܟC6>ismZٶUG 0_b(pwKyu1j˯Ŀ̳_5s;Ƶ<oOh:ȼ 1"moIc{tͣC -^r˗*CB })`x^~i+CG}Zvlxί[Wx$w{ ww@tGջc;,\iNR5sK1rori
+endstream
endobj
-861 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F20 382 0 R /F51 380 0 R /F69 402 0 R /F15 381 0 R /F26 404 0 R /F50 374 0 R >> /ProcSet [ /PDF /Text ] >>
+865 0 obj
+<< /Type /Page /Contents 866 0 R /Resources 864 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
867 0 obj
-<< /Filter /FlateDecode /Length 3140 >>
-stream
-xM+bz "Qbu6@k 9@z/i,5:9xLR$ER$=\w轸w~{U1ot$&뙴5q#O?87s!K֧s_K=LpH.x/k=->/ gh .o u 9G:Wg"=WXK:iKC<ydW# nZ|p9/{!/ƭ{IﲱInZvz밮O6R^Cx"C7-ybR<Do\~^C0uУڐe\Wc%Mqʭ)2oIJ8VObykfMq 0%Ż7`3pL{
- [
-a[fiP϶բavLsy?_u٥WD
-vd϶[9j%sK-[̃"6\k Y~{jL|Xש53$0-K̼g~
-~"Qeb/)'-f~ьW2JSxnCH߂0؄ t L f /1AAbOM裂ԌNO3=|f4 I\c!`餜a I<3x"2 i?*
-_h W'p>Z|=jݣ)~\h h3pLnPڨPT.PqעER)8~5l)uv;Ȅ6xJl$gA$՗H߷NV}LR=%#a.΂GjmQfBʃ{BGK,py:
-XG=0 | mVaktp@T(oG!EI$1+A@pKa15@ xW @)HAz E)͜bLloIAA[ IO<5iqXh? ;i'ӌ) ;I'SF]Qt> 3#D K<'P-|>䤢KSy7HEͫ?MwLMNuz+oǁ݄Rz,lB`nq8pu8
-Kۃ>_Qy36 +}~k+Ķ&V:LcvpFѹJL0Z3 x}cCBnTXFU1ݵ%s} e:z`WTƜ2WgնbvKn{ GG%Źq{;]am K]#:߷vg#HXŌq#hIqv4XIGMeEi7%m Tִ=mCTUm(kMR@H-fMewPO %D?;I~ݔP&jc8;nJv
-o3:A`͵ n?;AzO'UX{;Av~S|Tw*^'EEzNΏj1Z$.d'h\.2:~F\.2:Xir\7:|=V)36WzH@\O1#rWyhxP@\$<g;iy^XG CQZù¤amޛFӂ|RN"'ޛFӂg_|/;iS8~RP8F<VLSq3R
-3R^h+8g̮,#G;~E cͳ=g4aц*4 5K43i[  
-endstream
+<< /D [ 865 0 R /XYZ 78.37 808.885 null ] >>
endobj
-866 0 obj
-<< /Type /Page /Contents 867 0 R /Resources 865 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+329 0 obj
+<< /D [ 865 0 R /XYZ 79.37 771.024 null ] >>
endobj
-868 0 obj
-<< /D [ 866 0 R /XYZ 78.37 808.885 null ] >>
+333 0 obj
+<< /D [ 865 0 R /XYZ 79.37 178.379 null ] >>
endobj
-865 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+864 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F18 381 0 R /F23 653 0 R /F21 382 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
871 0 obj
-<< /Filter /FlateDecode /Length 3007 >>
-stream
-xˎ>_0&Y,> Ӟ]/-ɀ}H6s流TSjJ/{ToVU_'I$Wr"X ~˓" 9nrV iRZGmH^3LvB{??yJ“<#|Xl~' zE*^G_{)5i^GXAފY!3GpX/+CZQ15ZSVhk$*dn:L<R[S{'
-k }) {zمO>@(BTEo),_ӧiFSHj(%a,WB0]aeZl] tTA.QXlqF~PLZs^wѿ-#zIЄ#Z,}F} veFb-Pe-Z4~> l_o ^MM_# blzvYj(ƎXAXuZÕx
-mE @:ɫ#0G B Z5/2!/`P@$Q˞C;#^hK.ٛ3u?Ts uHl)HlTIBDՎ~O:o=ڍҧY ZQX!0({Y%o=nRPWiE%:F9c]R)Jk}pF1? m"p
-\!5ٟ$&1j'1( Ma)1q=FcS4-2!<`[Ծl7WW}u_QH gn mn(/DK횎~pN `@e򱞆R5X0Td ɘo <'C~̯#odSћcJ×ȎնNu!Uᛁ7dLeM>X C,ୱXcTatnong~
-;b  ClDs [u񁋾:Ӂ`o uSzItC<n*<M
-6P3jh5W8i5mk Ա"GȁV?ҷ'2<7Lf
- mZKp
-<LW4. ò2l3sl]6E_U1ںeɴ'?cK
- ݻW4`㎯yw[w_G헕GfNVձB"syKi$%zXɥm`^Ž16dh M.S8<9g%w|&B[ o+lxi]#M*h[B/;B}k_X^
-MBI5O_ǷD5d
+<< /Filter /FlateDecode /Length 5530 >>
+stream
+xˎ>_!
+gkô|6
+&jft¾ҮvpW4pJXu87:pfѡ!ה!u 8=0n|q̕qR4<n? XpF~Uw`lp--WB'cȯB8W8`==2
+eR[ XSY=<,w{}>,{o4=(J㳁lla4{>(J볅R}60}-fg@i~P vg @i d4̖}4)Z Om˴s%q7y!* L;W➻ '&QGuϴs%+wTL;W➻$9v=wT%GUϤsxx;<yI3i8;5LL[I;ް\)f!ޙv!Im# sPL[I;
+A3m%84}`&5*ie: ;Wej3 R0MߓBcāE͢3~1NmV} ԏ䚥r9wrIUD`N\zZU2;"
+t?"8YvR'e^SZ$ )&uL4e/DwSb.33QU-+pj:n!TW"(g3]AIhr>8S1JAlpry47H@6TO@Vq~n
+BwS%הprYj 2*x?(),JKQZ8U,jZBb9k&r>e$n4 &wxX
+_K`K|OCH
+_)-P⸬h9PM,
+WUF0#`/8SVסz%5C 3qUD|Â-հ$8VT>y^ȅ5 #Yj1aY]0na2C8ZXPo!B`O)sLz_`Q[
+Jj&94WYL y+%Y%`j9\`s
+ ˋ*WS
+{>x ek9VP+TI/+ d,i-M&'5L/M2FO0\8H
+!YZR Uc8DeVp AEB@1)Gb]"*@AfX̔
+# /It+@Iݬ\El"vfǴL0aIC0qt8^"JEY`D"{ 1 TcL\:1$eX&sҜlQ%0,AEK`eQDq!)ļM0\! U , s`GXCEt F3uk2fj8B|B&r ԤfEm$ZƍO8ɠKN\;Y-tN E 'L5Ѹ^`Q[Zt&čeeᙺB˙3⨡g  t'=+jk%<-. @xnĹ۸DRרl0M0H@='`[ ,R F#y aUM,{e]+@Y8bV++쩖o<&gm^a-
+2"qX
+YjafsKn̗3ʹ >9&x|LocX<iBjmKHr)m9dk[-hx*7pM!Ѵ`W\ f3Epz*SM7vYƇBTXQ:$\!At+U,d,Xeo^#ڀ:QG)|w)& YE?-Ns>< Ú1e&W
+~Ԇh6.k^/98T$S9X`jqm``C{@s(8p?x>=NX 5AFY〧kKn?߭ÿZQYzb-cVH E&yEQx^Ab"۪yj% ,`{,)ӁU)Ŭa<0R czbKr7oexZ}(; :>
+[yczUGkHYAx.*q/ۋ2a,m.'_]Dld髺\frˑWu"kbEw9?a]N^hHD<i<$ÂR=zd7O0
+K%V"<ZS'`>9#a"aXDϐ4>a ֋& 6y@?k:\ 80wX!:M.t>BS_<ߣg-7M1s1($֔q09u)xAB_"޿*.'0宿 p AR(Q51֟:瘆`DY7|L2^&1EUG˪$Y5zlhAN-t`,M.7ɍiIk/ML9=3L@۸?
endstream
endobj
870 0 obj
-<< /Type /Page /Contents 871 0 R /Resources 869 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+<< /Type /Page /Contents 871 0 R /Resources 869 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
872 0 obj
<< /D [ 870 0 R /XYZ 78.37 808.885 null ] >>
endobj
869 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F50 374 0 R /F29 375 0 R /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F19 383 0 R /F23 653 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
875 0 obj
-<< /Filter /FlateDecode /Length 3868 >>
-stream
-x]Ko$ WTn 
-F\C DΖDz {Ӵc`1Bj0Mo랯i>IL*}Tda;Iq`ZY-3~w
-7DW{7K)¬|4B`O4ݍ3i
-?PNK!v(9cVƘ覡bJ7[g];Pb\fMV :5eTJԴz *jNܭQ`(ķY_(u"FϬ
-0sz#No֕\7(%lߺ 4D{vjJ'_E_b^
-Q83a b1eI(fQ~%KNiul)KKe8ɺDz!$P#$ XIa?[R rJ~;9̏ ' S~W%9U%MV@ 9bURUtIpR:bQ}6/_TPdU՗.W%A#V%92
-HՔ9W5$i:KŏZk k`9h|5@=OO|<_#p|<#?ϹMv<sx0>opy
-FmT8E+Dh_FՂf<0M'_w 5HQM9\I:^'0O[I|hucqO ]'^LzЍv ^Ƕ;/M:t'w{I7<aQ,NQ.q9xe05.L"pl6uҽۼ+*Z'BwY Wϊ޵L= )qB
-;R?rB?
-s* "F=~98 rjj/KhۂEݬ/8DuUo|X6ۼ<Dus474ƨ%5 LVAoW< o3oF{iIxG腫ȓE~+K
-&O
-
-_ ,/_ZY +75Ajn5[^jf)KP1*ʕ
-yII#7ڸLyu>'wy~QP<pZH@$uA?nëh^x}C@k~{ct*ڤ\8io?a. teR\)U{)el~I\;VkѬZ$=}Z(z-=)WcjF<zrҀ`l/ǣ ^ϯ -:{jű)B׼6:+͵׍xѻ㏌4UTzM͝T3-{6h2dK K{J9^_Kފ!HiFzrT}>{+^m#= xr}ƕLj=\-w֘^A3ؘ[wo|L+5@yIx=[4:2/X¿OSO )W1h”WO^X׽S@>o)6Pm~W{w WpbAriѽ:u>~jk'[;;LË{<O.|U^n0ljԮY#vakS`+v¥)AsP/Z5sJMKZ;5tYcsDbgwyf'sIF^̮\z\
+<< /Filter /FlateDecode /Length 4190 >>
+stream
+x]Kϯ1> pNɉ$
+F
+2TdGr"
+Ꞷ"m|HK>w)
+B;xo=➳L2)RGSo%Ѫ6x,4l
+otcCo8S{׵+J0ѻ|nEw¤p=6\AΞ|w.@筶gN8Y_~SYeؐ21`u2ƃ5+*48W
+^=,Bؓv(JT6( K-S.~gl.|6%<p n3h6r0< ?Hǝ
+nq|,~,U E:g ><,yާQnKH$/͑*N
+jq$~bFܩE"]۫e)J
+Z)r\߂zϬeFw\f-^탗X64(q uHk``
+&vnÔre:IPLTĦLeI!TlC1^]@`JUl24c߫RxB8
+. %ypW8wj@ jiz*K%D7*pg.4忦ǿ+:,aR+뗌4J&dOMҴ|:>C
+.8ͻ8iĀWT}.ֺȫB9rlfl 5W d1p Nծ) C^L`_4$mZ
+9R<4P_>yz#/ Wꪗt@/<瘅 C_zKlE7X!Mŏ4#4W?$/D)S)/
+(D 0iaqLMii:iZeY3 ~!_7{84D|7l?OGr̙ԧ4Dro&eb:5 R̙s @}LCÏv3&e;zb7Ӽߜih1w>w)
+CS@-=[/
+51=5ާMO4phS_ @} !;HGSg~=~i44`w3aܞiN[uP&&i 9 f
+مE^+R =~b9ଡ଼ԑ2ޝ<;sz .=_3Im\)C6v/^_9AyuK3C0RآH )8WWkW[dVsEe+K8Vl֑}6$E⟇Z֞9nF%NseuP
+.5906t?IqK0!Nr4]x5V/+ *غ(a:Z>=4 +$ǵ  "  "׾;fmMQ!$!`ıs<KioAe#vK6ږ<rnC_.cuS3[)楊QSڃ"u9]LmV֑2#>{U_]^c{ fZ,'BYJ+ ?)ʪ`Z!p.PkXTLE|=U=zBە[iam%|gpf\J0 +ynC\~%r㦵Za-A\f%!eo' ԡ ?năW+:[~{A:O4}Kz$=!Tdq&tD.3sӄLݷ
+YU Qε6 N1uz.RnZFSo-Zx6l~Xdh|EIF *<ЙK+>8\zdj^E+YS^L-,#hM;ݘbvǯHfug xh/~}5
+( mЎ(Vĝm~na+/Zی_yll7Pޣ* /RiZV*y5omjtgY΋@b4e ocаF5k׎4lZ={YFJMJ|8c㠰6*c5Wljvyw@'V-&#mEsE[ߩpigf%u2l Xm/
+yk*L+4oO?WZfްݵ9
+yb+ 좙ъ.\ ]8~װr)7vdYoU~[~\xUgϔLŦLF16EzZ-%}Z.;Ô5M sKH&66ZS YB%`B,B6|J[B5Ty[ew]2񆑭غ|<|1cWI_}Z<~sطk^3hcY"x:VI :mdpQlQE+G֦t)Q};L7ebcZh~sc#G>qZ+48V
endstream
endobj
874 0 obj
-<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
876 0 obj
<< /D [ 874 0 R /XYZ 78.37 808.885 null ] >>
endobj
+337 0 obj
+<< /D [ 874 0 R /XYZ 79.37 598.595 null ] >>
+endobj
+341 0 obj
+<< /D [ 874 0 R /XYZ 79.37 325.802 null ] >>
+endobj
873 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F29 375 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F17 384 0 R /F69 406 0 R /F15 385 0 R /F22 408 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-880 0 obj
-<< /Filter /FlateDecode /Length 6350 >>
-stream
-x]K$mϯ(P#bb;ukoڃؽ#dI7w0U
-3ٗ 'ZB6
-G%$e2*VEyp%)*ɹy_LWԁDkW3ؔ1(՟MRsu,'F%u%7Gg&i/ș =ҫ7y2gOw>8??Ϲ'Mخv2?g8=`|2j's
-H6锓bWV7
-Mu&]lMO6t,66pnXa㷹ݦ Lmxrm}ݽZӭ\靶iքblsL.[SSڧ(!~ŶG3o!Bpor{MiN3S#&{ksG\ZSKmʟOoL]&bT3e3[jr)#qh?;W^j;m2p<myiygcقR)3lO
-!G6waŻ]+~
-7u6):So
-?`[Y>q9`p榸#?R)~Z!٫mQ|L`(M;iK|TbOwxK?
-MbIO7V5 4a7({nE|.49GSFfڅq RR$-
-Բ#H
-OE-;I!)ij"A72FzT8t\-÷"(Ys?ޢ^ԘXA uḹ(;`@ҁ{zk)p`اSMٮpt#(K}G)k
-Bomz^Nkl-QZ}Fo)$L.VRuFk-[
-pp Iqtln+fYx.=v~N~4c}z_Hk,s65W#`̈C,/@&(Ȫ
-~vW_0 ӰgA+aA;}9W¼-6k9qJu
-:9F\88:x B O *Ewu&!L^¡W$h|JІ^o+ATlJx+A!)z7& +hDle%M0psI].I?܅]6ĸ@)$n7uIsEXrIbCEBb[5CYb8f3G:7<.g~OG*,Cߘ/%κ% <@`mޘ%Xnqar-PK* KA*nl(7cj쭡FTke[dk (yXeT>$?p6)CQ:Umąq-ãi$wl !MŁW`69Qkul4Da]#Q~.\e׌DEij1J[>!kG7+zl^'ͱ:P|aC F x\G}b_5C\4A&m|m1R
--{O?~~ehaji.G;cs NAlf_kIю8DTn \?HBb~od ><}'uV@u}Č].ѐ*p9CCIjkfOT ]n_I^m^Ȗ
-<VYI|u^81IV'?aךpDDcWNg'IeqIeأde|ɲ3HCOc"{ b*U4I <?XgfDD3 3'ZjgH29Y"xL(/%HwMhaf@ІM f̹N$[G$<cAxEwj rI_Si|eLunUD~NɼBGj# 1`3t~b=/-[~ EJEDD%G9$.=Z &
--W SqVXk5B[@l!ql!р <9^VxX)SS[=M[=F[GBTXlbU@.HUׇ2̛PQ{~28B1Q
-nrViWu7$!;$FS3MfPd7qku,c-Q›zy+_}(
-
--ZsEۓ~Bxm>(%NpQ \
+879 0 obj
+<< /Filter /FlateDecode /Length 3162 >>
+stream
+x\͎$ STnc-K~ /-ɀ}p6s뇔*ZUCOTIGu/Ŀ=Hk sןIM>
+wJH׏?t^J>j)}RJg2?~J.kpLs|9o?'{3t敽yt*zG8&Wx+Bk[cq wIw?Ӑs3uX \[ ;tr
+jNFE/:$?`${.sy'&fΕ>DS_';}ލcJwxU^:,˒PD3:N ꋧ\7a|rJp:
+k
+FK {Ii@zuN
+gooh!J%6nӳ VxZ"H~koQ"~K RDm>ׯ\*"_\L:5m-ړbX=˪Lkܼ3yAD&2\
+msbzkx:E@:$O~MhN3=|f6L(I)% s!dq&\օP'N:.ƣAmx~\3(2-W꤃߽q܈]Vt8p˼mD]foBp`Ѱ RdC@e#*62 j.mhPaȅu-F0 AkA2MG`h5~djwt"CJ<eE#Fg@&NrA[Hr/2!FCk 9lp#'0-ϙ?4z8v
+A;e@gģ~¯54~XyXY?Lf̻[R.9Ou5G6tB9 j\(bsPf]X? e/1Ktr1&jNpf<-sc
+,
+DmMShomF>T<Au8z+Є_34qfߖwTmKblBFTf¼OU0r=|P$ iOV6,X?$X}!\_t V6/[cN\ 8]fՉ>HEu虺tyx K!vE射v
+ƁSYg7?nMM7Os>oWٝ&Rwk 𨸷o51
+6zJߒY㢋je39HC^T>@<d$b]f$9keJx%!+-b)Kы+M;t4y`uf[;zϤ렿ӰSRI; ksE׭P'Yϲ%sj'p!TBc/7c!V+ 8ȚHY_nu~ZO!x)2;kx-uJ/,bl:wG巒GN[UĂXP.K}68!Ú44 j/=*=nӃ᪯l D'6,wlڟ!>tzos]Zو D+u/#lܲw,U7{dpNۂ^VqY@-wol܏%r[]\˔wS&6M.m$^u/M83c*HEn(AtΧA\Wߜ_"@\r y-,Q@ɞ9bPsǽ-I!_9N1gr:?7475EKzO=pJ߿>I
endstream
endobj
-879 0 obj
-<< /Type /Page /Contents 880 0 R /Resources 878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R /Annots 882 0 R >>
+878 0 obj
+<< /Type /Page /Contents 879 0 R /Resources 877 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
-882 0 obj
-[ 877 0 R ]
+880 0 obj
+<< /D [ 878 0 R /XYZ 78.37 808.885 null ] >>
endobj
877 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 258.666 75.503 269.123 87.182 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-881 0 obj
-<< /D [ 879 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-341 0 obj
-<< /D [ 879 0 R /XYZ 79.37 539.971 null ] >>
-endobj
-878 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 382 0 R /F26 404 0 R /F52 376 0 R /F41 377 0 R /F53 645 0 R /F51 380 0 R /F29 375 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F23 379 0 R /F57 385 0 R /F55 383 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-885 0 obj
-<< /Filter /FlateDecode /Length 5085 >>
-stream
-x]K$9nȣ4ښZ>.v/&%̚~ŏbRT?_OT^%4\P}y^TЗϿ\R'`|>9(()Y T|dxZD?XP45qDkh^?H\ۅFEN.k~^Pʖ&Щ(mS5HE MAOMT!PS EK qI_;FoE@Cڋ!Zk(Hz͊?b^BH0
- r3W(;WlӐ
-
-ƪ{KƗ>A}gM*?52DcfuY/>P[PjmË߼EKviγ=M^[ k,Ue)˨l׼4k
-s 8ߥdvoHnKԖ1)qHUЮdÐj+V^Q'2%l$7DǫQ&[=mW
-/?]b{pD#E5_c2KHkL19_kX927{.lkrDj x۪e\,K~hAht&D Ӟ).:{{KNY<(1qVm c
-ccx6cX|b,bX%O]LrJt§/U_w⟾ S-v=u=X25-?k-t1qq:G_#7缊w~q+}ECs*v{ g "+~Mk[ƕ|Ⱦ We{)}l^gŦ~B04=)n?1Amq bUp4lyf݊w ZI
-L_nRL&T\(M/pϯzsj-{X
-~*c"Hr ::A u).)
-#Z MXWATp?_\U>} GCWR]wUD'-?5\S1YY* +,CKVMMfT-3
-N7a6&7ǥ&PaMpHvkmkVv.R#w f6H| V<~Pg+~kpfZ.7}q}~Sg}-9kd\\_;)urB]:?XX J Les1In#H$f?OR񋂩ܩ0k 103~kzm%51NCs1Z^$/)dҝ֔[urou 2)$yMr&t+Ջ }
-B ~[[ZqpFHU禠dd$n.% G@h j
-JFAVx<B(g1n8 ezGzZDV%ʐ;.SjC&8E"֢G i\$j8pSH9Ipl5)KQDĆE1RQl]y5cemah)ä<7X2lg4%uF'aR5^iN&xs9m΁ ӚTVEn Al X5X֕'Q393)Q e`ʢRm) H(HTGJ=!$)Ofs.9?
-Nv4NUҫɝI[NMfxs`S2!l%%);.S9:Pz BI6RD|+2QN^&+ ^2ڋǤ!
-FJB ~ TYbiH&#m!J6@V`;X.!sl)s`yuǤnImx8ݻ1@V`<Ze="AiN<6`+ 0Lj[iNp
-v S`J_ƒ0tb¢oQklB}9
-?_6Kr6uyQURJ E*y.|0K/J0G>
-J- +1rIJIU[d.
-YU/RbzSAѺWg JPKad]O`u Nym.fOۂͅTn]R6zY =$JJx-
-uU3aAkk%}wmː˦55;qSnm=ז֫. 5ؐ@pK(;RYoX` $nj{jK&UP6];O:vY1e|{xrpSw)MC#]Xh9FSz4ayh|4q``h6XM9[|br?L\剳ߪd[u saυu! ⮈+I#y7$5X<0Oد25ġɍ(h̼fIj> sc,p2 +*qphq0ij[>7B9#Wo@A*Ow;ħs! p2>$ݏӦ·+6K<
-Bd>~]g'W9dħ(m~ om<luIፔbm'si>qٜI8Z6g޹RgW6Oz?xߤEXfэc~4'6ul+vѿ7-)®Mo-\xxT
+883 0 obj
+<< /Filter /FlateDecode /Length 3003 >>
+stream
+xM~{ E ,&o7@˶{k{
+-^KJ-ydN.{o5vuO~wu黏LAD LyR$'5(O)!>^J󒿍j)5vW)~@l5O+$>5D2>3g,[ Q(nJA`
+}D
+2⢴P(3fA\Eb䭸3ih{x@
+dܑ6Ww0v%W'Lu
+G TV;g|ogށ`o u2`{IDtbgv`i"Ў9ԳR!v.joMІN U?4XQk0eF]4>5f^f5mngLgRZbM4
+F)TQNS
+~\3ϛk6%ow2`Λk.ߎew2`Lzk|:Ɣá XGe 9g9psnI{bmZXsSiE\of 䧔@GԌ{YPUFxy:ΨkڴǸ(qF^py*zjP3nCje1QDoNy*{rӝ
+c>gʻg:y(rF$L*d8 S*^uqXpտσ`sHc/aJD<e S֯@&宯(g&ap!αv]u}\}WvPj‡i{OzF
+LXb(\+l4Vz 1o\4{<Ͷ
+B,3ξ-mo}w!:}>x]L[8~k}4Ms=xYK?̆~/ٸeD?[Ἷ֯b}~ӏt[vp.nSq>Y\oڽ{O]=}uw0ϡnn1WQe%ǑUu`WF_/\u)(#my%pDlrjO_ġֶʓy?+3e{o*'} aIamMo"-Zt7XE-y+_HeGo +H}PRb/v- i#
+ϫ f
endstream
endobj
-884 0 obj
-<< /Type /Page /Contents 885 0 R /Resources 883 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+882 0 obj
+<< /Type /Page /Contents 883 0 R /Resources 881 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
-886 0 obj
-<< /D [ 884 0 R /XYZ 78.37 808.885 null ] >>
+884 0 obj
+<< /D [ 882 0 R /XYZ 78.37 808.885 null ] >>
endobj
-883 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F67 389 0 R /F56 384 0 R /F29 375 0 R /F20 382 0 R /F23 379 0 R /F51 380 0 R >> /ProcSet [ /PDF /Text ] >>
+881 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-889 0 obj
-<< /Filter /FlateDecode /Length 11642 >>
-stream
-x}M%7ݾ[vø9oQT hŸn{Հg8dfwﭪf
-(FB)H0y
-Ӱx@S3[zأ
-$l4RnKP˗zw))ڢ V=ꊟ-g+~c5ݽ?ʍ.͐j[|Qnyf\|ݢsoDmE}ۘ/ӝ٭qp:5>!󁼫eoя4~>ҧid5/R⼎L%lJKfQƎOh̋دv1\|u5v;Mx><5g_A)-:Sϗ8s^?6cؼ7cآ4<DDP+5o]@0.J%d;וZ\)Ҋw59fq&ƻ6@l1oҟg1u<_O
-Ɩ4[*D/?QͺgjuK]x'RRCp|ً޴郀cTA+=^cЋS4^kEc0B/(y^q! տОkKɻ?ky=E_]6L]|gֹeZ3-\a]uN<%NWc"񃮧wEIٛ^jlOJ{(xpg>xIkz}{hJ&F`䭩yO~HmPGÛM罸7w''ހMUZ7krź2<<ћ |֭öR m)%e&\oe{|MzaZE}U"8l&<Yl> ʭ$|h-CG[KSc\װ!&gk\YJqt\k[bmkխLW.kݺL(ݿm7co@m]hFo"J7ˊJ-&Уl"&7=яB]ˏXc-?pD)l頝*5ZzvhW7G:Y׻ie:.fPD- ev# g{dx/7yl똽%4ehdzRC@>|먱_M9ÏmO& 4>ld>ֲ߱P6O|J.w/~rs«_`Y)KC?d¸g率ͣ䟺^‹;gojQ-]i܂gw/ e%4sjJrytvI0][ e!xrmV^B6qneoZtC9?,fLO޴i nG]$Zᛖ>"^z % <MKFl{5Z(|–~BFX^.=ֲg5Zz5ԥϳoZB/Jb^ kf^7o*`( ǻir٢` u ߇녵Eݳ}^xoErpeGy- CP{[wD,&?SفRoem| F%R %; ,B(P`=ϭtGGYNS+R5Nl{o'-ͷ>LQbPqyNtm%E޺_.MVQV%-95P ݄ Lv
-Ն[]3UrK͟,I bwG-v3,q9րcJ[ͳǫڟJ°wp|S;+ cB6柯$Xy<,}+yo!ag]H
-œ'`ڣtWV3㦝Ag9>E(a;s&Ut9r'LSW._CǗz)pQ.߳u3%^r}WY?#]
-NZAx 3%ElQ|R;5?u{/&E* ޵+A\M=BjCw4iRTn֊!=R=/Nexփ"wgD-"ߙVyzнٗ"?S ;y11|KƮ+\4ٟtNG^Qiz> V^OiގGXsٛ^G[<]$;g{ٛ>,&/?{/{‡}tg>=뷕iî_|nOmeoZx)婽'71mƼ#'ZtKS<Ju&Mmel) G(jeχ7J ӳǏZKZQ&He-!Q71^P%|n%K4dXM)_Փ"ZNA<͐)ri X@³mq ԓߌ-g SILV uֲVኲCʠageN5w3V>AkW=l*v28SUWhRf2 BuUB>2wh ݣ@2j'ՙ"I>{Xtv`VEzg!y䔽|2hܭV5A6P\ NTnF]Ǧ`MLp6\E97#+ȩAQM.
-4vBW)*Tq<9 P&4?Y4 B ̩|V.zcG&U?QJ;Qgc!e؀&I&AH-WI[@~Q1;PLV ;0.ф 6Āfeа3@o Ճ2~Sҵ;9]{XK]M4m
->GZτ<Ҙ HeJ3o.zb!w]!tz&߽dh wJ}8<
-4˃;cyԩڑYa6( WeN5 x"fA[ prRb&e&F HꝔ#+~k
-4@N<e$ŊI&O./]^jQ2݀@@AIœRt?ЃVvwriF9c
-JMt Yw
-GF.~0mըNsڮ$d㽶9ko!V^g|d]1ɮ{)OsO<]@ͬŕR㔦D>V)sk79ˢ^f =r~,y@S5I W:XgcӎX
-4X`uͰN50FҘR*#$ 5 V ooԕ _
-4)AȮ\oFmrȘ#hV ;ku7 wKC֣< mhG ;=B2--?t]3?j7||h>bٍ~rf5[k<};kz]1G30@E Tm4ݛܸ_0A 6[[ pdqF5Ap`ԆۣG.%[Nhꇥ  ZUC)^%+qgUP?\%cnO$fW(=wo'3qynqWcv`a DobthԆۣGP:8!<2qpu̻)g,9ǰ:oyhx Kkg7 )z@TI3 i f7%8v!& aԥUP4A`ףG.ՙF
-Ħk:?iN Xـ#.T G#iJ=sڠ86)f axԥPP4A`ףGlx#:?
-<8s۽KؔΦ-_EڧԖ?2ns ]P? 6eh^HP_c;wIc+)\TP]#bȓX|n\wC #Lz=p/ƜMBl MD>%ŻXftGGU.W:V,VXJYTP(2n4?-B)i*]ȑyY4G8znp-*pW
-]~:}X`PjQsUxQ<VgįOfаWw
-IųN ՕSpHjf)#N(Ȳ^"B?P[!&nr+4٭-VR]n<Z|9V=p(i>T, H$|,*d,jLnl1ymqOti|9U:0FjQ.$
-Sޔ{ăIVńytqWcv`a"I:>/+u-G]6yG|Ǡ@"M@6#enH1UŰoy9p`Q@eb.St7L7ffv3;Ls
-t.uނIbce^o.ՙFlIN)N]`CXf"uST?o+#(jwe"H`R6(ζM`rSX!u9+6TM<?Jv)4MAVyڔdu 5uڧY Bc$%Nhj,G=0Fc?) +D Nϭ(g]Ԫei7pǷaXV^m
-UUmlʑg0Pz>v4żO(((TĕU00Dۑ<@j(ϛ.QQOyK/fe0nV&pwg[vy Ax%*|v>wwl&y klL P3)Q$P ;yg;R3+h!J)q1G_Nm= +7AT
-d
-Pʼ'hgmLM7o硬~6v:npzQ   qw;n4'1a0˞KRod:Z"FHsVڣ$Lf9~;C$`ZӂEɊz(z(($ĕ#awOS^Ѯ
-5Zg$GKAX4 F9JeIi70t
-x`.i֢y2F B\)SqDS3 ^\eS҂
-h 8ݺ-- l
- O=m޻)`ƒzTI1:=
- MPj胿zuÝ!G#9mMٛO謌AMq^A aN㝌z=0Cz swqaoڛ4&`]riu ^U ace^*p=_:C~;k/կ,S)ݓ.-(JQ,; 3zTa@ $r~~0swsN-nU?M1Mů^
-!Li`;hσ
-%jr*u,-P¬; 3zTa@ w^7:OX;V0F0wմ>թ :U!I4l<* !5y>>yM*Xݛ<5k澆j6`.AMz=J0DCnjvwwo8yO̾]='*)+h!ij ̆pH
-|awqa۲]tE`m$\rtaLwvyO RT0 NLU&zCvWyה3ez,λ~CgQ;&7!lJ-kS8<k
-^3Acn"+B~{T{ G|bΏh{dUA5PQU' X(>4t_'w!Yv (pbX$ll^Lsp1>
-A <P7*QQGI$|tt
-/>p{-g^mg!?y6;@&zTZ$-;ux,!#US֖{pEͤq>]vKJfV0L!iOȤRJ^F a
-lo
-#wZ#~uT'kE$
-/bԷ8z$ :E ۞VҥWs)Fz:K\ i+^vB*q ;kY
-};4.NW07E|0]_HL #ހP>7xL0%drA!NDWé0*4JR2H|h@g+5.]z?!%Zg)yd2K
-%P
-1PAg+"t$wJy9*ԭ0R|p0Ep RT"zibّ Y.|p=>9ĶÕ| #Ѝ ؞@Kq^EHL Y.v,5I
-Pj@bZWTy.ģZv+}NeiP+Q$ЪA) R̈́ ZyHb|}.x?vϾ>Y*}*ƱHn
-co?CpS|O}ɛi<}773_1A<7A/LP+s);k1ԐmϴcXﴓuN0E=,"?ϲME^x9lOwMxw5FP`&nV=7t]y^/0& ( a_aNuVZI ar9H QA2L0;Hi+5i>۽\HԾ!r &#d\arw3҆݋#>Ր~h)Ly!5Bo{%WuV7*{OhamX/C<k۽\<ݾ[O>zK(M~;pK~>gdzY9f~o~l̏d[iĸP3F Q#ν  ל=t8&l!U'ZbAhyW*M ڟ`;z4GGHٱL:צwq `A?5O6E v;VoIح Kرl>(73k˿7{܉jL;Q
+887 0 obj
+<< /Filter /FlateDecode /Length 3866 >>
+stream
+x]K Wtn 
+<Qro?>q
+"G.B !n
+쑼Cؚ1j
+[{)аq=āXlj
+7F`70K)¬|4B`O4=3i
+%4DvAÔ%pAYҿ˺Dz!$R#, ?VRُ~:4ߤGA!?c%Hlj%ÒUIfUIU%(a TTiUm.XlW%-UI
+*KQtz䤍KL
+j+ښYSF t~RI񣶺cGq79꧿ ګ~,yH|g'>oϗK|'
+\N9`QЭ ת[1'*k1A~@8N;(#znŝ8~=7e|^B"1E֘o+GJi ɚm8IBaֵlEJ(֭T"Ol=69A?{]il8#uiֵTݵZi<V2[k]NYC9̞g }a>RWOjSC%_9ׅt8Zan~qX' ) LcnXMK`ܟy@
+~ >^3s+VGkfn^@S"aQxdfFT다D5^vdfF6'"eGkˆeg޾lH:1e;@0=$y kc*GƁ\x!;@Ϸ>6u
+pdgO%bf
+p
+ 3/m!ӎ_}yMb,'F?&F(xn}0~ 7Vv%UF(2TYߑK`۽ @~DW-I|h@򇍤,"wݾ2GO֩\
+p]Νvız=BT.
+*fٸ%r!*U+T ;\84l=iFU|:+lЫ@%5
+/JT]2pKvQT =P1ֺ󋎆 %q:\ድ 'oqlȕk
+CE,rpwP6)W6 }};_X?|9r((P 5ϻ7W4\iG
+ɧY͏`dG忂HNek&+n6 ?bx)Ur:Iނ+a) btJzm˴ןV'0o6tmow l7x4(mT;mnxD%Y`Q,MQ)qCvMq58Huqj6]<(*EFco9./.F{+)&B׻샎@nwk {R㘄TFmw~M
+ }( i24Eҍ{s
+p[ rjj/KdEۢ% ͗v&ç:Vqcd܂[٧1E}+>h(f*t4b4<\_R6xL>,wRN| 7VL61;h#w?Y*aV@ojXf)&f)KPA*
+wc,yR0=kuMt^s"z[5AцCD"ȋq_ED˔o:ʐ<?cvW&hL>Ĺ׍_O¦Ky+y6KH.ڱVn")q4[_Bɛh]Ps$7ɻhșۚK#&/z=eTfϫ"Cz`+ 6ף6.%N?2W9bs#P߂,;gZ<8ɞ8<r^=CB'>6[}`gzpA(&}%{ut!Vwޘ^C3lʊ=Tmsurg{VTS<ǭo"Hߧq{ȁyOxk{˜g4aJkpO/%,)gh
+ (h+N|IXI9Rs^OVt?5y-﷝rŽT'
+UTl*oZwrDj׭P;ĸ9ϻrr` 3ǹA`tg]Ö9Fc:l9EJe3L;Uae'3t{0ld#7gv%Qi?r1/
endstream
endobj
-888 0 obj
-<< /Type /Page /Contents 889 0 R /Resources 887 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
-endobj
-890 0 obj
-<< /D [ 888 0 R /XYZ 78.37 808.885 null ] >>
+886 0 obj
+<< /Type /Page /Contents 887 0 R /Resources 885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
-345 0 obj
-<< /D [ 888 0 R /XYZ 79.37 639.272 null ] >>
+888 0 obj
+<< /D [ 886 0 R /XYZ 78.37 808.885 null ] >>
endobj
-887 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F29 375 0 R /F23 379 0 R /F20 382 0 R /F51 380 0 R /F69 402 0 R /F15 381 0 R /F52 376 0 R /F42 378 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+885 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F25 379 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-893 0 obj
-<< /Filter /FlateDecode /Length 2911 >>
-stream
-x\͎S%
-@@+,osB|G=amL:]3o(δp%7D;~Z$Hh
--Dk$-H(Pi hVQ!u#F%(-guS&fy\7C&^YE
-P挙N~O`++VdKG}b(fF{X/~`&g7p><FGIMufb<@@IW˕7be^`|V4$#vҺB Mb")w'B%̬FC-9P7UQWXNaũZ:K Y}bfWd :jh3Rywh!(ސԐ*:{\$ vRKlݳhJf)tޚDN&ΔI4-.Ɋo<1v0\m0i3LےlY{I&p?韪#pCpKabSp?vQg4cE)KƖf:Y-黯kj.ӑt<LkSB ҝc`$ykC8eZ߬Xi,uP2Q*M$Oq-c,SWd57R0t3y%-^9ȼΥNzT~(k3ʋPw͋TC!,|=v<" O6>Kԇe"0b>`4_]SB.:Ow"F^I:-v;oݵ>%ycs1u[[om"c;WqZ5qrV?՚dne]¼/5dM] :Lx!K5۵ TN⦕dV%kci[X֖Fhy~sʹaQ՞3y-܎}SnCJo}Vmh;Y?U.vI K_P?{g
-vl_S)c/唶<f5ʅZThǜ gfAL?{K14@z(~)c"ӿL]̯7La퇠i-~vrҡK@
-af831[@n$>L<yF
-01IzNy!ƥ%)cfN3O?G1(ܳM
-+n1\7%?]4L.̘nt-3ҪM#e&̼mMaf4F&I3oMqu0/AgmLOaZ 8[SpgX1 {ff$00)i6]PX I~uK ܥ8
-;[R͎ $ޱ\.,,en&\7f$sy+|OwXT/JoI<KeNR{]$޺x;Wpuq$޳6.^fGn3𬓿e;lb-0x/O{` ђ\vN󝲾f$=VvJϘ |N^딎3;Ǹ3i瑴Z6LTKf.+Auz$[rLf(e cbQ9i)G7In?nEafx7.gty~?VCwq" h"FüoNуx1
-=~%<7KJ!#EjyFWy<7=>^'hw>o%չv-1}cTa+):Taܜ\uo}lO3%TQBXb9M/7
-pi8āׄ9 ),ǒУȶ6迾6ކ
+892 0 obj
+<< /Filter /FlateDecode /Length 6086 >>
+stream
+x]I%ׯxsa PH\j\7g t_%BRHCU.DbPJv.?~`+م_s Wb [ї?~l]>e[+`̥|7y#|ߥvjs}Zg8xߟa_6my_q?~*CrWKk
+ӳyqVR
+u8Xqn:@.<fog^3Mw tK ;%ygk{'Kw<
+XL\hEuRRGb7fRcgBm൴fYnLj["&6[kk?.+m%ik;<&'
+UTYBim^((ʯ)Bi}mdyMxr[%mm|.?uZq]T\V+Ϋj]YQ09ꟖԆ~*j$qY=mW^F6?MW+3<^ )z 1^S_"0YKjY"7|Q]L*ф{ݘ[7cVzṋt.-JO׍n0{z5]xbnl k5OIىeCٍ7޾l&9-{H|$y, Ό -:$m7/8ʝEI6mGx`rxt}+BnˇUpnws7NRCxYԽgx&.h[# #|ny}L[G"بV8 w,s*Xio0<@zN5n&+WҸ$q$qG$q?8Wk[^< `@pA/ܲ? G`SPm߰5،hHaNvǪ]ooFni;bL\/*~fff%(<)B6+h"x[\Χa5Z ?|p8n1wӜ3&MW`ͯIVY \
+%VJtSu:%U< )ӹS)5x CMlPq|5P42yӿQ}`|_}=lv,/*Bk PLB-|p3Gƴ`LJC9m|ke?
+
+Qu ԰~hG㴎ղb Q>sP!%XPwK 0[98(c-X>
+V;fCb ƀ8\mtRFU1.c|L}N2?F'^6ć2"BX ;WDiBm
+v[Lj[$QxikLE> [
+ yY.+\h Ghbɰa0xxF PZ,_Bµ8[H)Kh੨ 6:9i 'KXC[™a 6潖yK\D<g K~+0Q^G`5x]4G Sxf!E4p:[Q
+VТ0V4uFB@'%*x!,uz}*\9չ׍u6 w H22Q6˅"5K61{p<_@iVM{*Y8_.*EWO 21m*R# WO6d$vHN/}.J*muOz6FN}"WO
+
+l? 0ו,Erb7^s9%:oݽ/^")Yȩ
+ "޾_7
+.5$xH(Zm4J )l*0.@x􅤾C Oǃ;.˦ǗR-exz4;[7
+8rwYD,:AS9ܙVeZ$)M+.av3|Kd`L|ҤN\M/`Pm\f HCz;FiT+k[ʱRjL;N-n)ͱJHjDfx6MjĤNli֖OD8FXMIomN#&Y3FUB"j /u8}$;{XFO׿)nOլC*
+^ V>&U*\wv`^;4/
+;~7_g'D=+T'+d_!
+}Wa21LjH0nO HTWI3e`*dW!
+}Ua21Lvj<mWz@gĻb>\w;߇I>^.Zf /Y>IH,t3,I:&":ٳTf$'-ϨI\bnl"LB5s>.e4/˧K0‹*?>KRy'dFٝ߼8=~޽nB>㋢^3(Grr=鄉^nA
+nbʴ&ƹ޵8DEH-1EtZcUѷN8w UQz]Dʝ?F7 \ǫT[
endstream
endobj
-892 0 obj
-<< /Type /Page /Contents 893 0 R /Resources 891 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+891 0 obj
+<< /Type /Page /Contents 892 0 R /Resources 890 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R /Annots 894 0 R >>
endobj
894 0 obj
-<< /D [ 892 0 R /XYZ 78.37 808.885 null ] >>
+[ 889 0 R ]
endobj
-349 0 obj
-<< /D [ 892 0 R /XYZ 79.37 771.024 null ] >>
+889 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 258.666 67.03 269.123 78.65 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-891 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+893 0 obj
+<< /D [ 891 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+345 0 obj
+<< /D [ 891 0 R /XYZ 79.37 540.346 null ] >>
+endobj
+890 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F25 379 0 R /F69 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F57 389 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
897 0 obj
-<< /Filter /FlateDecode /Length 2041 >>
-stream
-xZˎ+'W.
-(@,#e=(dߦx?w㑓<f]uh~O$
-Ǜ8Ǥ9m238W?/Z l?imBqtoιp' q@ywNqD_~Şӓ>R7;?WyizZٰ%8$0'(f}+p [uw3)8 i"
-npEdzBRTڢV~Na%/~WdQ_:#`(49&n\7#G \I)׈䮖HI($Y %t\b8΅ bkCFlu~īPAF. nq]';C=#<7]9Z p[[_gƔO9X)Y,:c!0:7)Knqr&+P'=9W3>ϡ^
-
-%2gLlz0ˑV!֕ u8*<X tnD^y]UȰ/H|k$VyH俠[e sŽB[9ɸ_(}1Bh+lZ6%_+IF3c?=X6Y>㡹h!uۃ .Qeצ-xuYR sz8B$Z~KLOq)
-1<sZA\INc\zuW^W2 ʃ"gZW/d><9ιx<YпS,,檄3<JnH7iuTʒq^##ɵ] cm:qOp
-\0
-R~>ڷewMw4J ̂ϛ8J@"8Q鵊9>:cK03xZE:3^f)~"h&OTY"H$x%4-XU&x#l|轉rF3iU]X$UM5P}Iw %ݷz4Y?ܖq1+?XIRGk\BѰu
-+^Tn(&XK&2YrN7C퍰ґ0a O%:C0ZBVy;Bk_XfLoEWGwnTA(0POMr
-fǢw)wXEBzv,
-F6ed1SD;r> >I,Lۡ*j~~ ?;
+<< /Filter /FlateDecode /Length 5086 >>
+stream
+x]͏$m_F˥o X,yc e9$<>%~HI(GWxafzX"*Q\|Y.zOEKV9.~rїZ|,^0 >GSZ9,b?\7@qHɋ~r0@uQ^AJwED! EScJkDϵ]hT\>AFl) ^`"~JЉن<UT$ DDD5٭QDԾWj}y]Vz 4䨽򫵶g:*ެ+jBQ
+5+f;Fh?[zȿMsho~hjd_GPX@4`*;M_fYvKf!(WK1.% {uFruVQ[FSǤġv </ V
+;Mzev; SB@BrBRՖYRhmc
+S<hIbh@p2IY<[c>7]Mfpy#2h!8tVDFvcY/s6/j<ml=Ch6<Q Rͳa0~-|3IBXfO-Fĸ4ی=5יj,b-_!*]يqQaZ1s5kH^-)ϖ؎u3OK\GkcTعכW_OA;Wڭ:BZc~ތ~Z
+mSua[{%\W#6_8ȠV->bYUoC F+e4!bxĘtOQ쾇5}/:e񰈉067:ljl^]Ɗ8go*y2}O+ RT}Mܙ_{liǶ{8?n?oi-&ВK{Y<2>UT ;fl ͩ)5iXJ7mW!6U~td-Kc{-[
+Є6hC<Ԧ w#D'pi呻)OE>8ϯt)06'd]MHꖨ(M+~_JO9?M=,l
+f>x:_?m<kZ.S{N៹k:欯5qq}~Sgk|J':wh u|{Zca%+10$j A ;LRENR<IƫrVì72鵷8Pky妓dp8t%\ +$x3
+o3* M%[y<$;8'!(Մ4AT:dw ' anSOm`LTz9 @9Bm P1#c68&uHj1ޯMW3
+$nG
+0!Tc :( v6M恐WNޥ$#u`VP22 KB!4bߧ6<Z^D`$9uhL>߅Fŀ{2](f)T
+/GeC,S78ڍ'=L([SOȪDygEuJqHuZH!K6RD.sJ!6)<iη&e)( P(F=Jb+OfsLM# -%vkPlND@:LqFKr5Io6b9arZ*j╢ҭ! bܣ+ٺ$j8g;%"בR" BYQ:E H d#IԌq;bCɎr)Jz[ 3i ֩uI oξlJF;D@d5؂2egtEu0G'
+ՑRAH1Fʓo!^3|XbLE'//EcҐr#%S!NjC*,1 d6ʐv%c Y+sYip9s 90ּ:cR6<]
+tM` Y+sвt'R CS0RIFP cܭ4 i'
+Y^S.CQs/u!8#0XKad]O`u Nym.fOۂͅTnm.zIlZ{~ rak[e<D O|n M@ a֓_{7ۛ CRQ`RTQuw
+Ĥ/]^,Ӳ9Ѱ<vqbʃR$ ,qLhLC BO&,)&`L/)U DHlH>U1&Rc.z]I%5).h$xܠa%GHrF
+gr0ƧV$~ÉgU:e saυu! ⮈+I#y7$5X<0Oد25ġɍ(h̼fIj> sc,p2 +*qphq0Fe-q]o7 'sg; 9P8sGidSN%H?
+;Wqw#P{ 3 Mݠs
endstream
endobj
896 0 obj
-<< /Type /Page /Contents 897 0 R /Resources 895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 860 0 R >>
+<< /Type /Page /Contents 897 0 R /Resources 895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
898 0 obj
<< /D [ 896 0 R /XYZ 78.37 808.885 null ] >>
endobj
-353 0 obj
-<< /D [ 896 0 R /XYZ 79.37 771.024 null ] >>
-endobj
895 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F50 374 0 R /F55 383 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F67 393 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
901 0 obj
-<< /Filter /FlateDecode /Length 2255 >>
+<< /Filter /FlateDecode /Length 11648 >>
stream
-xn37SCrH Xi*fxsI.mT_/<~~Gw9|"qLA8翗?qo;suW
-6J=qqi?txDQ[gt"%=e3Lҵ9wIB \Ri pAT# k𵁟 `炄Ѩ;k4b-Z2j RPX r1K'AQ( g#աӣ |"GΝbFy*~ pu Dy `sv mLex?B% w;AY6~jf.-Z9('afz^0#$#%}s,zzl}chj/?,/8A=5%7_p_|Ί};$9&cV^Dߍic>hЪf;hG-/0iK5Y?Z㱥YΤÞ?ig|?u0} dfl}jݡR%dL5]_`jC%KB7u\mt,J+pX+΋5tl2ߕِ]GSOn3a}N,]'8_Lm`ADbJCg mnɜɍ8Lh t ccmˁRTMz1P
-Q?v)R \ׇ[jjK0'umd =U=ߠ06dS ̱] `0Jk.D2'}KA dVseTr=fXQYVh19N1
-Ro svj{s0_)+8쥞"eYr\xmT*G&܌HZB\q2E=lyV!y
--6vQd6q f5,`fsԆOtᅱYz6m܆hc  cm=Bɧ>nytae*`OޱL0#Zʕfᘰ'<̲Ia|q$%Rឩ}}[t>|9嶬?LK#I3upu+vQ҈{R\M|fXI1Ogj-ؿ͡',v ;B,H ]\$c)99Y#L;ެڎ'7/JrC<h,TimJtmʹ-6$+r~Q4h.?o!Bifly{lNڝ-aζ5*[B%\ҜSOL }]p?g}H94H$.͉}4cD T"# lbJMHnDz}F &ǑIL+9@9$~cw<2ؔ"?2 IrvY
-~݋f}۸5<6&tU<rr~`}F2c)Ӎ$hP&a}sev=i;
-> jj;Hyۖë݆@x-cIEfJn}Zapxum K;x 69>R`y1JB; ߷GA&wUwoA3j]-tA7VHM]f2XR[Y$vX)M}2Ep23[ҜǙBеFީ1t2,
+x}M%7ݾ[vø9oQT hŸn{Հg8dfwﭪf
+(FB)H0y
+Ӱx@S3[zأ
+$l4RnKP˗zw))ڢ V=ꊟ g+~c5ݽ?ʍ.LbO:=ì[tm/tS24TnݍPթٸ ]-({x~>8]oҥk._yJ4_.UmИ_b4p֏kv|xBcGk4R [3u8*/q4#HlưynưEig[yVkD/S^%g2ԝS-b[ϊ˃`uiŻ
+5Moy'm]<n8_Wa{QK줵a>=4%J:[t[0NQTi?C ns#hώ^\KKo-˛5|b]k} ubk{Bavжߓp95a녉skU\㰙d%v0+WsxԒl smU/NQr]î lqe)q m Vj3i^ sBZv2Ov݌ݿ1=tFh*=n(ߴ.+*򻶷{CP>u== ]xv,?ƈK8N]Dot\-=ىQ ;Y }]WU 2?uL3b("݆2;ߑÃսF2ɗi<fuލWi?͂_4Y2Z )h u/&ΜG6c'^
+6R
+f
+k{( >%;?9XJCտ/[O率t S2aܳPxOxO]w/KC?zxﳷ \SA4nP?v9eb%S:xy^ʮ-J<M6h+ e^ ! ߸g7-|g3_zheoZ`ģMyMKQGFyF/
+kٳrlR v7-u!M^%1/HÅ{^n3VϛKk0݊4lKkAZپXC/7"O98iᲣw~zKEw!(i㽭;|yv"T쟩@7زͶ
+ՁAS ȵYмւ2,8Iɰwz'e8Hʫ.jM!w<(-G-IbӀ K醀`L7 ~r3!PPRxy7dQoGΘ+&y{RS{q5H`9+M5$hJqB{yDU |w5=~4k@ WPtq8e=awG+ESژ*&yRwq5?ui ]-$b%pBS[4oA=I}9Ly8\]rհR*BmQ1I\<MYfxdj-49$5$h*qB{J_dܽ‘L%v5+(vxm[Hj4ע)YWL^&j%~0@ OP3kq8=a%G+Uڍ.#nβF0KДdM-wRoN)٘ Ų#3AFM)1qr]3S Lg!{>4ԇ2 f0U:)Cۻu%BMʀ!pw4*8~u?DQ2AZ HqҐ(B[zQC '|<Lg uˬO7]8̏ i-3O;zv~Ys4V80OZ^yL! P<xx0Cp33}AM7>F8t9s.ƢV*)yQ{ *#QKV<a)$BmVPd@W
+\.Y2~<OzWX)#.JcOI3Lu{l՘*bX#<fû,-y"#Q:Nq;e=gyOE{?v~5ny#<3m1N@aaMCEA
+&fgCwe8t‚M N]`jCX usT?Ml+#(QKu;}"@d0);>O)y H0V6HD U9meH`R6(ζM`BCX&u3T?Mg+#(Qu:9^N'!+v.9+6嵳iW%b)双\|C(ԏGBM-*!uy&ԗt]Fw9n
+WE,4%bE@׈$;ݐE(1C*(Ӆ$u#1gvP[dBS.k2G{mIe%h.VY*0QsUh˕?;N/7=Rlj2%bE*J1O=j`PjlJrdgA2ĩ`Jh*%bEBWzNx8."*!uy~\^)iF'(kpSY)4՝BR?7HuRf5FZY'0EH
+WHjíO5V[n
+fv`ad[!;EpBcn:o.%|Z'8U/K >< J7[[ t|^[,EZ?Epp{D 唆7`y;>FUd1{"l՘*bX{yOJ`p`Qn|1($HHd,RLnl1vej; *#3zTD8hY˔70yM<ӍٶNӜ:KiXXYףKu<2A$:oiSmbr:0H]O
+jx=Jpڅ:p4< mbv:0yH]
+jǩ "US.]J3Mm.sx67v&y >GiVPIӣ
+~Ss+JjyjzAo
+
+q|G(6 Av*
+O6!EÇ8&T wz;3TC!|E 3iَ
+!)9>qRJ g jSw[MG} Z)ʣѩ!pw]d*y}hgq['$ڼ/ǦP8Bqp! ZEy4@44݁oɀ\+PݤKW4wnz T wJy;i#rg+U_ҹB;Bw;2o&Yiwy(kīB ^FDAC8%3:>9FuL~孾۫zz`8pHm}貕FA )fsc&΢ ִ`ѣe$fŀ
+
+ qD{(kXAӁ,j|E2Dٳ<R
+
+ #{@5$V#rq[s=.`0t#oP3I.ԕ" SPC0q>DM:-'zu͐3# zƀ5Zƒsus2Ninv`A<7?/o&3 NBce^*p=w%C{kE^UYe)1oāɱSQ6ŕz%$Y4u2VM4|L=\qCBC:Srl.p
+( U}R Bc%Nb3Ԇ3pwQHNv:kFkf:+#|EeS\)WBCx'ca^* /g]\&y*͇/y~I=g\Z*>(WBxXף
+"D◎1w_GZGk/pTJs䧋Ap
+RT0 NLU!=;I܃d[UO9`LS|WA5?B@j.Z H6qCm=~)śBI栚ʸc:~Kp 2T0NLU!=w]׸0MgN̺Lf5-fu  NU b[e>
+hH |zc繊>gA@>y1 ƚ! XKAE`'c^ ѐûZ]|i.~(in 
+n+E
+ZhpD!C{]\l<]XlE= W$]ӝ]y+h!LA0SGDݕ-E^ 5%lYn#KbFԎ aȼ;RT m/&0G xhXyۣ
+>Э^7^‘@>(zE7'&vhBP 0m@nxTI2t2JO@f( z|H.JF=܆x$\̫OA5z)4Y7=0tCz5|pܷ9+ {zf6JW>Df4XxۣC77SORqUa!vji3[d#4
+C]@EA!yhfĮ0f^\O~A3z!4I3v2^(@CMIwltU~Abl|W{-3]RAMq^A
+
+%9 Gyw CpO(Ʋ5Y`Q D0N EYқ5[(ES$!薞F(Jzjd;T018Q- -;tp:MTN-{p -%~1.thl?T&+8C(DF]YNH
+$|k=XY^L8u}\rdWm&y? VNOj'4>o,"& 3Yj0\3<E(NOb1S_BH5RtPw:T*AjT呵lAFEm.gA15jdWRJ_랔(Tؠ˕(Ty.{pgƟ4>!FPt$(zCLx>ԍJAjl呸lAR ‹08^Y&WxjO1Ia=4DNE8FHviF3idOݒ𭙕.= Sn2)ԣ׺Q&r(GV4Ȯ0qai/ZѾ=~ fX>m6ɂNl'ti3scoq࢞2ABJ;
+|o=?ZnVm_
+دtv@P Av~U "G}Q䄢/{ZQmAx" xD:0ezER\WA4R5Bl%?BV啈]\j_MUI^5ᯅ.1`^
+RvDUVqxkS{-oV-SKt}vc.Vۿa?(jC9b_finJ֍ѐzܳ6?huĽ0t}?zW-{9ƳX/X>h,k ^,O_-?5gNjs<s1S3h:a>tm~>&I/<4Xɝqt/3rCW8<z9*>SU}i4|g|<bl=~$S}ŏ.}:{["u~pl/֒5`]kdulMm~Ϗ_Gs>2{f/~'q"?׺_Jk,?5
+} _aoenKi훵5Ys
+k<]Nׯ5]ʾݰo38,>8Ѧg>+XzYwyjK~}};z
+*`O>t
endstream
endobj
900 0 obj
-<< /Type /Page /Contents 901 0 R /Resources 899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 901 0 R /Resources 899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
902 0 obj
<< /D [ 900 0 R /XYZ 78.37 808.885 null ] >>
endobj
+349 0 obj
+<< /D [ 900 0 R /XYZ 79.37 639.272 null ] >>
+endobj
899 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F17 384 0 R /F69 406 0 R /F15 385 0 R /F20 380 0 R /F21 382 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-906 0 obj
-<< /Filter /FlateDecode /Length 2376 >>
-stream
-x[n#9SZ+ۓ`}R%U=lQGJї^o~|ϻcT /B(?_7]kCk+@k w<{[!_r'x^2UthG,ʚPŢ@LO+—wu{T r$]fi\9%MϷ Qyi2,[7p0ZI}VZeʹ+_ Ko<`Y>o=b[~^nY^"QBmX4! {5&f+_ Vs&k QP
-!Ђc;Y{Uo+,}AoNQѨ$g+:%4ˆٺ <A5=U|{ rmGysyv*2k92+tk񽊻|yy~Y=;K+m8cvq)(].R32H4/{ɤԲ#\[%
-dn5> |1:/9$Vy\[ֵKJuO4pqrj!jY]K /;j@O/uK)۵Z,j"wr}җj,ֹdD;NaZ5 8L m.<-OGC難 lL2{j~Uv 8{^UWBj݀8V@^IX!lt!
-dCXg%t片#7
-f"{|.>[ЌVoȝy'[F|ַ׮É_Bnt )VdÙHRf}JJx5fur3ZT>|a"#ET@fsDI%<!OxxgvH@ht Ɓ
-5ywwrc ! lorWwmapWV!u|2Ɋ?Vi= M<֩MעP/KrvS}ȅ%Dvug}H
-r"jrq !Q20BVY/Bm"LR1gf50ʹ? &{!J곈
-&í8 \}L_E8 jzL;*_
-C‡M7G2v2bFqfB\I >R+&h~0Q* TFa.`B'Zp;n~z?H*
-I =h@R3ȝ+A(O'CT g͓Zz6#lqdxyf* WaWBv~tX0>;]n߉]}Xd9($xzNnF³XF^Ȕ{0Rp4fO 4Lp/idCq~DhgϠ0*"Ij'angBj%C׎ĕ|?9;eؤRv7=pg=<he7#?3JϾjAҢm{B4qgAw(6{TA)5tPVߵX
-[aƳ Y./ٷOԀPhA-<WjqN~^\E??ڿpe)]h4.pPU
+905 0 obj
+<< /Filter /FlateDecode /Length 2908 >>
+stream
+x\͒S*Tv=[6[*'WC/ytE֊"/>xݻk-W$&뙴5q#/_ϹΥģ߭Ǘ ^WYZߌ\!Ǐ{6<* ouݻГgހQ+Pi JPo, !w
+τ?wls;}Neq*=Y[=kgWI&%/}
+<CҞ)ر}MOYSu+(~ԢB; LX=3 b/XY9C_?M非=m4g`~a
+k? OA󴰛]* pps >i7=><* GFCwIapzRnt;tCr;
+tj-iBly <)7=UDǵUcLc=*7KtLy28ƭ8>'F6տBbbejO!Mahša3")-p0patvͬ9}&a)Eah]7SRsII
+6r
+J{npֿƋ:]b;\ \9nh A?;],>~q{@h`XNjz4校>,\JXDZPi`;ٸv ikr*J;iwEgciV$6[I<K{-;a e${f<>{U(3I|N
+f3ռt6LfWx܉
+O naf83)$a^:qb$>NLpY8<ŌprV7)pݔ
+tu3 Z2cNuӵHW7l,3U7
+f&wHY75
+}FMüY3=ak1JHoULqfy`$3LQ56jwկ*Bq
+Ksv6;܃|fwxN|>rT:;q/϶cF~pQËbj0qbxGOM7?MaMrS(e2V&,=;K{u.;v3{ \.AvxȺx,³Nг~p㉿?e34FK^r9;o7?XE)=cc''%;;yS:sϬQ,nGZk39S-[FpFlAp1٢pۋ.Tg#ËGh $='I3
+Hх QLYʼnL|HUn&;9G90^3+|h/) 9YR_y|Wh{ķOs{,}Ta[,=R^Rn0ctPvRnmtps:N:sս=}ΔtRW~^bD aU)`:bïn
+ءBo~'ڋotK{%]´fL͂ $嚰Wwy<o1?[j07`Eqm/8
endstream
endobj
-905 0 obj
-<< /Type /Page /Contents 906 0 R /Resources 904 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+904 0 obj
+<< /Type /Page /Contents 905 0 R /Resources 903 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
endobj
-907 0 obj
-<< /D [ 905 0 R /XYZ 78.37 808.885 null ] >>
+906 0 obj
+<< /D [ 904 0 R /XYZ 78.37 808.885 null ] >>
endobj
-904 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+353 0 obj
+<< /D [ 904 0 R /XYZ 79.37 771.024 null ] >>
endobj
-910 0 obj
-<< /Filter /FlateDecode /Length 2649 >>
-stream
-x[9+&|/MVv473S.@fίrO߾Mo7q3-?pss5|GH{ x)G>oh ѷQ"nFKO43{˿A2
-usir"L E?#7GEgp(.J%IDcys&D̕MO'
-eA_|J0x0Ju % Y1͉p&
-G)C5BqOwz
-޹eC93\RW{rf? rVyX|#JVJ#5OvzR Փ2d`2%Ȉf@pdlߗ)egc&;v.YkvV* +E[hj-XAMꘄm2w%xbZT= D*MqtPE7szSr3Pm{}
-VdgyNm΀tGC$>`۩c
-tP ЃIeiA: NDwoke!eَ0KKa?Eʼdi7mZPuo<Kb7ãFSyLWLZ,Uxb %
-#ˆ[Q[ eyN9O'sjFJ'X_``mYgI:d-ymR ;dLD`gpɕ )n{047`T>nF#)ǔ>41m<jatGy4^#RAUPF͙5Q;>j ۼ }byʁVR^6PFfUsvwP+iG.4{[@qaꨜEf{;Pb"u8ٻ><r f8o5 LQ۬Y=¡l
-DS
-G: pǬ+MkN4W)#;|FU !·q[}4
-.cN>|ԣr'󣛐 O۳H]׉K?U>2[UvYb=u_ur%7u: `
-k{uJWS 3 6I
-Cr ar}ĶSAW=.l0\2;#ߙ6x{k|d}EU! u?hMn7@.x߻raK2$8K?#X;Pt/$,ȿ-ُTUaJv@B. ly6"Pt!?!2SfR8hoQC|cHZѣY.?rCz3olwΫlB3ñVN_†Y`rY0e*f:^uS'Ap"-AEj:Mw.Α#3o翏8a5.+q[]%Oδ!JJ6({FTK[dH5ȾS~?^_
-4Ds7=jfa!N%E*wБqH fnА4qWFggkԦiڤyzB]Jl7ۘN7Z]Y1_o
-endstream
+903 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
909 0 obj
-<< /Type /Page /Contents 910 0 R /Resources 908 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
-endobj
-911 0 obj
-<< /D [ 909 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 2210 >>
+stream
+x[n$W @,tލj;L\rk(م '寋~^?~qPhpuq^hwq:u竔_oo%QW 6_7L@O)we.^x w+t%wRMJ.'A:7pBIٞ |-|/O7xMov4R\I' h^QpV8pSL"\P݉δxDШ${tRSKoYYN>JU5.
+ĕLM{2d'
+hrȒV܌غۋֺs-hIjY/|XM3eqjܳ;lHBD)5}/!["WL(m.hF7i߳шύ4KyMc!8̳1@P or;VdY z'IUqwV"8J{zB5`X,sZ/E#ț
+BVi1u}u-<`e'& [Y1<BmR3 '#!\ l16xQ<i5EJD  JaS'jiGOND) aSSёg琽6Y -p >ey@/97" fw
+
+";YCa (l, *gQK '9GU.gа\lG\<#؝$[F1ifڡ2\F—V1^;(y'c@K}@0:(qfN$%$}Jɥ0hzJBY4\^?e[t-<@yD
+m6C.e=[s߂ul/I+k h8h1SF~_ jڣped~OqeȎm=CkxDu͹LY Fic N
+Z$IKopQjړ
+ͺsg|}(͸OM; 괃hbfT7TFx,XM1o7|m?==<b<& omP&Σ/-3W8&w8R^uL|}c7~u<q[@[nq__KU7u~亖Xs^H2\4S iQ V
+-a0|6|O$G!tGV[aN7#"YڼC86eHo6Ã"BԛpJymMױ`6yp _6r˅ ;^ SFC[dߏ&]+]TMV]եbrͮAZA Ԛp6c"v(]a[cklca-]h2X }]jrg7~Ifn<Ccw8v
+endstream
endobj
908 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F23 379 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Page /Contents 909 0 R /Resources 907 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+endobj
+910 0 obj
+<< /D [ 908 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+357 0 obj
+<< /D [ 908 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+907 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F67 393 0 R /F54 378 0 R /F55 387 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
914 0 obj
-<< /Filter /FlateDecode /Length 2517 >>
-stream
-x[n$9WF (pVVgs>_%*6\ ۑ!;)Y?OnJ`rS􍼩 BJHno.%JRR~v&7</w/YࣾdHQyNX{zJYT&1DI)s "X!JảjŹ^3왩E]bI"f#M^3EQr|¹>تKO(] _hXH.p@n]#j
-Y*+uҀ'l|ZČ^TD=mq$?F"Ogf[ГѲ9Tӛa_&C"R!LOFŭ-/,۬FFV;NJnL~'A S.>IJ6AyRuC(Y5UDbF6B(F.sF(ϓ[
-X8P*DQ5O `~MJ,q.u?ðih6}sMFōև@ːJtœwJ
-IᯭA
-\(DƆOp(dz[RzNʝIg)S']+A>-ۑ]?EhERR#
-G8Q:"(л->`q71 R+Xl5sETm
- og5#E6b-@7z:4cj?6R ZsYkԳr"V>Vh:nwINTúF+
-2(L0]ܭwdK{6<g'1*M}8@ -_u4aT~{%['WƦ0 ӍkC(GpO!iϜ 
-\pz|<@QK
-}e:XӽWmru6EbwᵑT[Gxv銒[l^_Q),`׭A
-i;<$e~i<PCLDJ*fYuN *J߻9%GluAA@:3Dk+G5Zf.[hm_%Zzr i Ã?wHkJ T ~b(?߾ 7
-
+<< /Filter /FlateDecode /Length 2148 >>
+stream
+xZˎ+'SB3lUR@_²ݗUs?^d~ᢔ*wEyQvJHT/ޤRw)͍~_R"Oh~5vZŏN;(#!KOx'_e&c|-^ɧ%f!*̉h+ŸB⊢RA8F8a"f5k2K<KK5#w'b־ե`Y]c8:zNZ}O8
+HLQ--fd[}`U"+d
+S]"yZc⇮r㣾*gla]3Hj|'R#nkxp]G+ILT3^H*;S' uuМ%L!ʟ&y~,Ӯ4EEI?y4J(ќy 'b6+tښ?e@?Q3;V{w<'W\]ڭ͖_zLkpZH5y`iZfK3_):w3gX a\-FVEqKݫ":+z&\SGV(j6(4fz"\cI
+^K:rpk(LՇQɼeqӼ:2,P4ЌY.[It+ ukOAj\p\FAc<D>KXRp^^
+R@.s˜oȩ|J%̀}UWp׏'mk`<$oO` K=SbU&n)bY
+ڋ+0HsYn9 @/ig'QZx5шd\zal\S&8#AuEo,hw =i0?RW`"Q%G{[A}/'Y'9UPad,=PWvZ6vza)FS,g|u83$G|94Drܦ^kOz6>l/  z\1y$>9uxн
+p)w[KXlfi4HVbY&n8eʺ+ibeliLM;-X<݌gq#wq{M}twL6mk43r Ӎ!OF*``ה8Z-bs 0†gjzz};0]08`'rCRvU(/yH Zfr7t򂻱!1Ax31W Xtmxo :>Z[_DFA}l_Uk7(zJ^
+j2<Jc?c!FLi8#첼_m."nzi_lվ`/x6=AkX8gB
+;EC~7б j'O<z7zR8e)PquU&n~P>&!zUn.Oyt7ݍ6O"GO xoDmV-olu/޴Gg3f t5fɶi;r"cс~`w+3}߈GebGɜlhM~|2jR ߷G%𷦠A8G
+|\Pk3}~׹.soNqŌjh0
+m~U]mb3vp'Ls4RU}ԑy{xsM$ of\}Y*צj֙T-tVN
+ aEx-4m"l#(h('x႑\x_jI#g|bj;SX: 2ioI&=P75^_Ύ
endstream
endobj
913 0 obj
-<< /Type /Page /Contents 914 0 R /Resources 912 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 914 0 R /Resources 912 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
endobj
915 0 obj
<< /D [ 913 0 R /XYZ 78.37 808.885 null ] >>
endobj
912 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
918 0 obj
-<< /Filter /FlateDecode /Length 2440 >>
-stream
-x[n, S E
-+}4ZR Nw?iWKs"(կ#V[70j
-KX%cC,N6'@~D;~kLU);:c䱑=?J@)P9SCKq}U90w\f:y<Lr'2 ',)E6i8 Xo+M XB-M.ڻh82#m~{
-qu]AؠY'cXd֡(Y5+>WiήfX{t8J\z
-jPUzKTlLBs;bX(u9M~PNoVqN3`g*#
-|!_
-m6s\g"%xJF%R+quimJ}%֑%Vmzg)Ew_5mQ~OhFAu'C𬨨uVQNm}-N|¸1DPB/*]7
-濴ǡJPSK:N42 ' Z̢V XtڸN;):XJ<ey8)+u>̓
-l|LɗGHɖ][Sl++ALa zGpO>x'3M</EGV oc}1)tm B!OvSb2BBn9"[WZ~npO#;$"Wb
-E.1cmzF)/T _Xrsr.w j%5h+PN&*r\e+g|6--B2 Nfiu?s7 8Ӝ:
-feb聿q=e&M]p ù( op;oyUwO
-ճ;+ 5'h06~VsmO%٭:QܵђF>(̾[ <>`+.(gW\NǍ08lt'01(V :kH@8,,a@2T{0gfV+0ӼBw(~{m?<)Nh;C3OEھ;U!`yZ+nn</pֹe鄖dM<s E[5ւ֌M<z&6)j,U}5nъ͠5ewt EPS.z`|0Ju+剖y`e5m>{8NggiQqI#; Y \o? tHyvxZa27jS)ox5B?11\~CA
-
+<< /Filter /FlateDecode /Length 2276 >>
+stream
+x[n$)S 4AdYruGڳo& T&Uvk|(L/
+ =]\&' _]eztß0$Me 7z:ˏ:YkduqqVg-pJw-fg4Yd 6w]`X6eNLLZX=3:f+k؝H%0*A'Нqb5ޓATUCY+Fd1St'M$a$>kz&5]м~.9sEd}CN"y#o>O:S"Y4qOnR,Țb8[`5I/rWb{5z鈇K9uÒ|RJeY_^Ih(fJ]BֆN,jv$f@X=rwME)B~Hwd!d}~%+'jZ^%:PhK\"p,CNo mP6gxG ѯ`IB zʋ)0$elN )[:jqQ\M>+H+ҵ$b?
+ McK3M8b;wqK.'X ` ڭ }*3i _=^VfkA /I☉By(-{rE{h #n/40E
+;F!6L˸!P̮]I(NtbHnku絰N5 ֪uM4:hi7"8L
+JOn]6F-jm-7WwpSȦ殷<*.;$d
+מb`SPqK)@?W!T|Q84!,s%4/5ǩCn7:ʫ5LyK&>˛WBp;#v'\-քYϮ} +˺BI Ѵ=*B",ؼYY3QOm"RLOtz ԑV2":&lhdh3x9&(X=<Axxk&f(Q]C<X@7yw}焥~ݭn* [kśA4IjK_h ݊d$"[)[x[p! e|a)mWۆcoiW/vy&}N‚zRFes0[S`ꞁZsBBhP^gv1k ҩ~B^ZW>=e
+g\~jrB*SGz(*=o\u
+0`@ M4a͚{{iK6mL)SmFcw"5{KwA\TmmCWKEr t#Cn%gG'"Sύ-%R8U0{ > ߽ie{x$7fgZ)@uam
endstream
endobj
917 0 obj
-<< /Type /Page /Contents 918 0 R /Resources 916 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 918 0 R /Resources 916 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
endobj
919 0 obj
<< /D [ 917 0 R /XYZ 78.37 808.885 null ] >>
endobj
916 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
922 0 obj
-<< /Filter /FlateDecode /Length 3281 >>
-stream
-x5WL&/`0Zc2é ~bUH b|7녿 Ow^`N)a^~7EǤy1Z0ˏsƹ|\|޾J
-I{ 6V?7-)ԍ5V[~oo7Qǜ 3%l&QHL$o+#'4vӖD-5dD^! Z9 pq
-%W*gfڮvA3GZG<$&?1*f!F0Nӣ
-5p]YK/ψxqͪlib_aV9WX;8kCđi&Q{]xl=|b._HG"[t DX jJDWRa#QVŠIA{ ‰qNQ^'f-A ܾJ^%&BoĻn0 5aQ/5hQWFjL;~^
-ݛ
-E^+ϛGSF
-NWk82M/xL%x"C.N*MBÞ>ӎ}
-qg5vGwG,5ZǞȍ*EӶ[V``ݚ.q%7mE&kx=j$>mݷz]e3ÓDž 43u[b&̐ *b=Rkx,䎒.Zz 9˶[ߡlPO
-vV"Uq).vU^J~ l!m߄taMXDfsOt2blE^Yo=N"hזIRt,ZAzFfη-dY+<E <R VhRpЄZ1%BS>̹~!4BSeWVG#I% Gqq,6 6Ȝ:zLb,sƯ@+ոE?i쨅5M5Ն!uՊG E.cn74pӳ̒ x|U
-8dԸQ|w>1a_涷mcXSXN:3}ѶpΌOb[4?,gB~r|m#%yk#I “g}k'`Y;a*sƿrYڏy Oy~$|Fd1${K \e Jr-Tq[ Sy8X+E1ϓr{ߙA(7+ⓣ)soy~x#5kfq*# 73DV_ZP 5[8EH-L]hҌRvB)^FqL
-߶h \[)ضV6[HvoS%1b_,G5u|#5bXoW>sQdɏSI%Vq [ں˪,^Uyw &W.\L^'LydBd"g>kt+< Bh0%3ꯥW:xV]Bjɜ&Z^q/ؿ;`j6{ ,nG&6
-a;?.LVqiFr$1\JELwvzR1d >GKF0K
-g3Eݭx׎Q][O HC٣7Q4 y!z} .De8Æ⢷f{}q5GO€Oz{7r6p 5ũlK`f`Ϛw95QI 3g,Ǐ/
+<< /Filter /FlateDecode /Length 2279 >>
+stream
+xn:_h>+;̹oΜ*Rb$@,־2C=l)%17n.t7gV)MJ|H~I> ןL\K5vڞŏ~˝X[
+@;Կ2tbw<3pK
+<p09ZN]2IA3U;0*~U![E "o*Z]!օkuK52YP FiCTps)+lժ+3ctt&k#eO0\=D_&= G{F͉wqJF7p;;uM_?Y#RESZ9*zmHs-HX4pf6EHήM9rUx\zc"=@Nv.E 0(RaI ,718HASx ͐xN-p&pIDb$9͉-T
+ߟ4Gn40ށR6S%z^ĤWºP2p.JdZ3z;H+Hخt)gh/ UAXL) u8͉H
+iNv}UCG) ]1qeR0TO { /e1 8OBa׉m.RYTk;0<$<Q^`xɤi~"ڎTB)ԽH<6_oKǭV~ƝKΪN;=uE${Ҏs߭~'s!{ҔG.s灹.!0o1&i
+K]&֔ȇ7T. 4(+2oq4{hs%j ˾K%$Pkzb)UjPc©V¸?
+D`GENzŠ RِFg'~~v`'g#ziB <?*bZݔaeouwVU
+Cg%uv#&Gj}:=<w!?u1jH! 5 z-Hƌ>$hisf[r8
+,Q^ b0*Cо <yj\
+H1L2z;@$ΤNM2*?vZ~
+oI{wzG]Q &" k6h(1)A^X!t?G6֒NTR{aqw[F|’NP&-ݪ
endstream
endobj
921 0 obj
-<< /Type /Page /Contents 922 0 R /Resources 920 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 922 0 R /Resources 920 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
endobj
923 0 obj
<< /D [ 921 0 R /XYZ 78.37 808.885 null ] >>
endobj
920 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F57 385 0 R /F23 379 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
926 0 obj
-<< /Filter /FlateDecode /Length 2570 >>
-stream
-xɎ>_0Mw`4:oA)Fr;wq)D%[94["w?^d~~Et?/
-_E->
-N-,"Z_Z7ғw)n}O]y_Ͽ"0Dj2FœV
-;n΃+Q$ZgNy^YO Q=oM.̸TRqae*4W
-3 0HyVhH5Gў5˽oj~^*VZGzB}&r5')vn4 _Ꝿe7ە{MB-^_Rr„t,cxxVY͹7mB+h:Fn5m0F!7fQ?f&[?y5w j.yF
-)khj$-r۬w0n?r5
-&p.^ElPg ub sDZGT@Gǜ69*rijj2AG}$oH
- 7A
-6DJᐟ6E)9s}l"݌|]zO]0o&5=k>sYgMu1ra{kEtk!M+{?#Q 20 ,ʠpˉ`86Wfh> 𭭟p̓
-MZyPҨ8oWfo·TEmkɯfY7(!Mv
-+//ϯD7?/Ҿ-zg/c,VRQF =控ǍW7Ji6c13٬ ~^jk}|:RD]iRM
-]RG ݵ 63M嫪<;*V?$=&¡'6r U/
+<< /Filter /FlateDecode /Length 2265 >>
+stream
+x[Ko#9q0Z^@@n/s0U8i NU"/&?_^ke/o%Q/H R]JCJ+@JGȿKkC펑ViF_ p^-}9sۿYF/^x6D$)rED҉k"^7;GMmh*%JJ6жv9V@?SﴰH-A͚]
+0&KO9G{@cf%WFJ~"PG3'U[MV1ٿ#%ωRiWYnt6ƕ /`j5"do#;-% |' ge" z4˱%)+pVWפoxa1$#͠[k=kˍէ_I/+*[6,/E45*m׍VL)
+VFʘAU] [;3jftuʊDja>\S=
+Y-^]o&f0oǮ7{qg mCaol*pp-0ƒB,*t[*tTc3׮
+70j\Ӟ_s+qR1z(B'@_ ]8W?/>)h(nez3`,p3)G7MCY3,I
+`08zU!|kZtom=~CŒ6Ԩ~odhCUsYO)y.5a
+ZDf'
+Qmό=_7clэR%M-/#d\67[5 ē_u0~\rP!;
endstream
endobj
925 0 obj
-<< /Type /Page /Contents 926 0 R /Resources 924 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 926 0 R /Resources 924 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
endobj
927 0 obj
<< /D [ 925 0 R /XYZ 78.37 808.885 null ] >>
endobj
924 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
930 0 obj
-<< /Filter /FlateDecode /Length 4275 >>
-stream
-x\K$ ϯ}hE`#Ef`l< ~%JCcE~(RE\'Y^?>E)U~_wJHwRW){) tr&
-_^Z[{q21_cr8 Wי]_~=Et̆zF
-g 2. ׄt޽\QcꕾkF__s/sMLdq'!-#Dy2DlI*E:بdSe&n~+'},up\ˇO f(/T|)1?o@n$g$2` 4'%qio
-%Oedʡ+iyo[^I{_pni^8niFo%=oT%JVƹ^H1hQ* u{TVRUϿBz5$ibT @J &zH*pױe<9=fcSԫ<ھZEVܳ V(8ӌƻy0+}SZ:𵅖~h!RW6O8<+*`Y
-(#׳yNߧ]:ɝB;u
-uwḍ2 "b0q܎E@ FV{:p4e̩I\ʺoekK`ݽ.\p>V?lwxb`qh}
-')u+6 d(Բ"BB(Xɉ k;c
-F̩E"YȾNue>.%>Kv-?YL]X
-%;0vcx(Ρ'r+ݼaQϽzV]q^Z|CȒ]ǭyѮLGevj+GSH0ImB6q3qz[W6VNaY>}j1^B0E;ҋ֘8r[ ?SBcu2+[NrL4(L{u.EA& pful;'P,6i~MZteXZ]o݌3ExFރ3,-7O[N-; "jEFVfMFv
-Tur餔i8y}c0fAL9N=rn$46Bϙ/!͡L_'|O3uyaځ\t/
-7켿box
-N0Sn3-CPJ@Ptxt$@I@c|;OT3ƲjT eoXjryZҞ]LFW. 殥t&]χd]{^Z׉s*UIۮ?1ֵk#yIqmP/*`yhV%\slJdIkMJ_LM;ص&7e& cETǭr¦\g7}Y7[@1jXZk8<Fr1i6;;T&凌tCi>jmadMjRu&sP`E{^s\%N쨩:r/ BI-*5gLGW1L;VG6YQˀG'#=;RFH@ͳeըԎ^Eq)
-Q.5cjbaLKd]Pok'Yx?{ڿ蹳Bz"Oii/T"|lpbBk}.jD~蕽* heE5N`)ͦ^T %EfOVhoau{mUj [nswJ;Z؆\UT:ܥ"&.G`3ʾʃPi rU-jK0 ,痈p% v JItw*/&U?ض6Ĺ܆n{I=DV#[LkנlCvJ!Y} Ŗk#czW@K5T7]/nqј)}poXwg}<ݾj#Zl[݌ ]UY]/h+l5 ?K~)?İ3=
-@הΜhv.5+^2#x~Uz<7UNhI-}tۻĥ/*-xT^*Ry@A^\j(c_ﱺ0K'DP\13^l]uvtUQcOEn<+O!
-KdRᐼ7N6vKz,uzg
-XN֩uNJB?]ްyceɗ&qjGzn<=CXÆίPi͏)$@4-j~h)13URŪ)ն9W5@<[E*#]p[-/s&z=
+<< /Filter /FlateDecode /Length 1440 >>
+stream
+xYˎ6 WF(]Ϯ]%,9g0nFۢ×/p˻UV_/E_|T_
+|s
+?
+6z??~gݴD:Q@Yjd3
+Үyu{5
+\wyx/mqv\x/4*j3,v'q2P8j̤ٙ #cz%_'a"Fpr$_BtrQX6k<4褑~wNhZTǕh2sVׅ>oJwXc(s (ꢐcd)O`_̠92BMF>I`GI'Id )
+~Vp|g,4{1v'&bv;Yl)OY%9b(򺔣H%2h)k$jc-=5Ok^Wn KXe[*´QC +)y*9mҺ+l'?)Cڗ^j
+ Fy
+~9QCN~Ԃ0dl-Xzyrj[=0 L'9[C=Ǩ7n\UJ~{~$JNS6X'yvfvFNGaj/AHK0qt4z
+(OvZC
+_GQdX}cApP{B˪)cEpRg dݼ|NL%!݃cM 4ga=(N
endstream
endobj
929 0 obj
-<< /Type /Page /Contents 930 0 R /Resources 928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+<< /Type /Page /Contents 930 0 R /Resources 928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
endobj
931 0 obj
<< /D [ 929 0 R /XYZ 78.37 808.885 null ] >>
endobj
928 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F29 375 0 R /F23 379 0 R /F52 376 0 R /F73 932 0 R /F58 386 0 R /F45 390 0 R /F40 391 0 R /F59 393 0 R /F46 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-935 0 obj
-<< /Filter /FlateDecode /Length 1129 >>
-stream
-xXn8 +P$Aqjuku4ʒ,Y^LP,q}|  ߞ ?6 Z`v'-O`Ѓ V`g
-N,e )ʠ{Y]=)cZ],N$TvLV\;Zbl l}"Xf&o9; $ҌʈœWɳoäAEoS`h#'XA^K<)R
--Hӏgȸ 83>jZ)DZ'IxY|ļΣ!;5|u5.I;i<#xL2 Ao6al L)6m/abe1-Z|fd3*JX6¾_0^m^٠UѰ1JAͅ^ҒLMQO99><^eFbh<1bd 3 \ ۜ:|WoL/#VKl(><3ehbk{~W]N J};O))\VEJ+ #/ ,ㅁ+@E裡e^ dv/|! ~sVa9嵵SǓ*!)?uVW:uPFU gJSn'չy]x/r@h.^_vr[z2u᱀ M~;Dpc=O9~*:X/3j0]ח8|,|<o}E
+1049 0 obj
+<< /Filter /FlateDecode /Length 3268 >>
+stream
+x\͎$)S I*:WsV{=_@@!"Ȫ=6?ߛd~pS(4Z7Eoț 9-)Q߇R -)0o6X j9Ko9?&H(3#% U$J,jtgo#[zDudW6A' -jUYFAxb\Q$R)U 2D61u=Y$Gc}O|t
+
+mGH2-|6)yMI?ľiiڟ,#C9Zš}'v T/WܰzG,(c;μvi-K;sD$0 ZlXF0f䘬
+-PmJD+m2X{~+?]_c?8$qnSB'232x/{(f6gpEF`Ǚ-)> z?iߙUJ{.datnr8Vwqo;FzGysg9-n[_yP> X&*ҊI-/Uw2 TRUͨ?
+>AHg81Lړ*ZX2rGՙ`EK^hԜ'XLl~ز|١Zw^{*1Ǚ:3-.I@ t =I{Ӂ*}jOZxv˽ч;Ct!,4AnzL[29J^XWC͸1!q,6Dg#ug>Y#P#;1:d?;1-!(C^G` @1B[i
+~%%%%N5xN]N{4 o1̋@КQDBj
+>Y%3?Ys㥎ǹXճx
+Za$_Q.`VYϖ-Cz**\ەyU!8-ƵR㭒I~vzg޹/Q޽u6f_el?/68s/P袭ϾϪj{[N?o8*\ В(KGKj˿WϨ2pξD/pCJz:eeVƒ:,6*A0,xJ0<,շn8QOw1 L':N m 'BXҀ xO&nrd#4,:q "xllfu줃 ZT[m}W'V]󵍍y6: CY-NmnZ
+5,%*-<=mF4-˔SNqi*JR \f!s;FYNs琬*2=Tqs)ī2kKXX %h 6DF͜ED[ " ӜLHZf2
+M/r7^ځ}g4>f0:1Hӎ
+ƪi0[PK:!1 3
+> kw RT(s>>5
+n&](i>kiLf^5pyR Ppѭg6^DI7"t6;[|0"mvfE(д&&᫐ H[~[\έw:DL +[*+cà"B#ͦѝ =% `Iq ֞˕` kB0Sc18hT Jʼnrc^G=csD+ʅ bq|]k.RRYzBk b
+V4S /Qe<J+ [ؿ
+yT됸_qO[(·T3|ehun<vP-'٥slюھ )(싺nn8JxzQP;+Nw<w
endstream
endobj
-934 0 obj
-<< /Type /Page /Contents 935 0 R /Resources 933 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R >>
+1048 0 obj
+<< /Type /Page /Contents 1049 0 R /Resources 1047 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1051 0 R >>
endobj
-936 0 obj
-<< /D [ 934 0 R /XYZ 78.37 808.885 null ] >>
+1051 0 obj
+[ 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R ]
+endobj
+932 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 134.055 681.88 146.01 692.928 ]/A << /S /GoTo /D (page.10) >> >>
endobj
933 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.716 648.583 185.672 659.422 ]/A << /S /GoTo /D (page.10) >> >>
endobj
-1060 0 obj
-<< /Filter /FlateDecode /Length 3301 >>
-stream
-x\͒#)S QjoĞӾu$$2={]?I˷ɷ|?6)-P[x/>o͡ƾۿJ|H w)tۿRND`H+хh)w)?oGMJϻ23JK
-l`svI%ݹ(a&#o][IKSphEp5<>0RqxJhMl6]Q`vԍy.k;qb'Q(i"g]wzYU#my'ytnQG1}'٨MPB.51<
-3BbB/2Z͉ Э$wQmjؖ<*efLL(3!Yo%>'BdIJ5ž D&喝GycW9m۴{A`Z'QikX1ŝNs3v2z T3RJXS9}3uG9O_ZmQn_G`dLJy
-Z+q} }./e8
-ht\o3"ظs32>asBVvWI)~+ǫѫi`ָBB5Wel*pگ "pn Dr>7EˁS}r>l^FY hZ-xKӏsb,^3imij4<[*+H"RB m7_g*bN
-4؇-EKMo%g)hfy'FNy23M;2YkԸ
-|ZB*kNC2@
-oZ14=Z5r:(as+ AF
-^X -쯛_2Jv3P<f\ h볧b 5+m׭u[0-vhpFtTGKRϞse)NKL?`53YnUtg!|P KhSf<7sDpqɖ*\EKb%a$Fs1Gq*{UG1
-T#gtұ֪k=A;TH}Қ+|5y:ipB丹Wpf{a|ϦC:c'A<؄zǭ9t e2=zrFfV(9+JG;Fi _!I'R,ԷioK2w>{J挰!0,0bj<گOU
-Val҃rm+u@=ߔioJ̦:qPFNWcvF؞;Xdiv+cHVQEn5%,|؈X5xIB!9ߋN1h8齮wTPSQ-r 2i2(5
-$
-9):d aij e.:Lm5&ؿ0H螏
-0?gB{;3=v;4N.MHl=WIWoa;xMx԰wW"~-牨He4IjUHo<>@TBN^N)on̛D@l~:닚h=~`!^eМе
-endstream
+934 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 636.07 280.635 648.025 ]/A << /S /GoTo /D (page.19) >> >>
endobj
-1059 0 obj
-<< /Type /Page /Contents 1060 0 R /Resources 1058 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 903 0 R /Annots 1062 0 R >>
+935 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 624.334 174.872 635.512 ]/A << /S /GoTo /D (page.12) >> >>
endobj
-1062 0 obj
-[ 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R ]
+936 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 612.379 174.872 623.557 ]/A << /S /GoTo /D (page.12) >> >>
endobj
937 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 693.267 280.635 705.222 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 588.249 241.442 600.204 ]/A << /S /GoTo /D (page.65) >> >>
endobj
938 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 681.531 174.872 692.709 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 576.294 242.339 588.249 ]/A << /S /GoTo /D (page.26) >> >>
endobj
939 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 669.576 174.872 680.754 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 564.907 174.872 575.736 ]/A << /S /GoTo /D (page.49) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 645.446 241.442 657.402 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 531.052 237.946 543.007 ]/A << /S /GoTo /D (page.3) >> >>
endobj
941 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 633.491 242.339 645.446 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 519.665 180.102 530.494 ]/A << /S /GoTo /D (page.49) >> >>
endobj
942 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 622.104 174.872 632.933 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 507.71 180.102 518.539 ]/A << /S /GoTo /D (page.49) >> >>
endobj
943 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 599.618 237.946 611.573 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 495.187 174.633 507.142 ]/A << /S /GoTo /D (page.35) >> >>
endobj
944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 588.231 180.102 599.06 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 483.799 122.817 494.629 ]/A << /S /GoTo /D (page.4) >> >>
endobj
945 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 576.276 180.102 587.105 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 471.844 201.96 482.674 ]/A << /S /GoTo /D (page.4) >> >>
endobj
946 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 563.753 174.633 575.708 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 471.844 216.904 482.674 ]/A << /S /GoTo /D (page.11) >> >>
endobj
947 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 552.366 122.817 563.195 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 447.366 202.997 459.321 ]/A << /S /GoTo /D (page.25) >> >>
endobj
948 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 540.41 201.96 551.24 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 435.411 179.694 447.366 ]/A << /S /GoTo /D (page.11) >> >>
endobj
949 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 540.41 211.923 551.24 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 423.456 195.714 435.411 ]/A << /S /GoTo /D (page.5) >> >>
endobj
950 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 515.932 202.997 527.887 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 411.5 232.436 423.456 ]/A << /S /GoTo /D (page.44) >> >>
endobj
951 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 503.977 179.694 515.932 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 378.771 218.369 389.671 ]/A << /S /GoTo /D (page.42) >> >>
endobj
952 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 492.022 195.714 503.977 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 366.258 236.919 378.214 ]/A << /S /GoTo /D (page.42) >> >>
endobj
953 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 480.067 232.436 492.022 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 354.861 156.75 365.701 ]/A << /S /GoTo /D (page.42) >> >>
endobj
954 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 458.707 218.369 469.606 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 342.348 242.568 354.303 ]/A << /S /GoTo /D (page.15) >> >>
endobj
955 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 446.194 236.919 458.149 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 330.961 127.799 341.79 ]/A << /S /GoTo /D (page.30) >> >>
endobj
956 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 434.796 156.75 445.636 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 319.006 159.181 329.835 ]/A << /S /GoTo /D (page.17) >> >>
endobj
957 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 422.283 242.568 434.239 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 307.04 191.38 317.88 ]/A << /S /GoTo /D (page.2) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 410.896 127.799 421.725 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 307.04 207.43 317.88 ]/A << /S /GoTo /D (page.25) >> >>
endobj
959 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 398.941 159.181 409.77 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 295.085 160.157 305.925 ]/A << /S /GoTo /D (page.2) >> >>
endobj
960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 386.976 191.38 397.815 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 295.085 176.207 305.925 ]/A << /S /GoTo /D (page.25) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 386.976 207.43 397.815 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 283.13 173.946 293.969 ]/A << /S /GoTo /D (page.2) >> >>
endobj
962 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 375.021 160.157 385.86 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 283.13 189.995 293.969 ]/A << /S /GoTo /D (page.25) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 375.021 176.207 385.86 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 259.23 204.939 270.059 ]/A << /S /GoTo /D (page.23) >> >>
endobj
964 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 363.065 173.946 373.905 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 247.275 230.603 258.214 ]/A << /S /GoTo /D (page.19) >> >>
endobj
965 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 363.065 189.995 373.905 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 234.752 173.029 246.707 ]/A << /S /GoTo /D (page.2) >> >>
endobj
966 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 339.165 204.939 349.994 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 210.841 245.826 222.796 ]/A << /S /GoTo /D (page.19) >> >>
endobj
967 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 327.21 230.603 338.149 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 210.841 262.095 222.796 ]/A << /S /GoTo /D (page.71) >> >>
endobj
968 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 314.687 173.029 326.642 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 198.886 213.716 210.841 ]/A << /S /GoTo /D (page.11) >> >>
endobj
969 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 290.776 245.826 302.732 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 186.931 208.765 198.886 ]/A << /S /GoTo /D (page.39) >> >>
endobj
970 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 290.776 262.095 302.732 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 175.544 139.614 186.483 ]/A << /S /GoTo /D (page.37) >> >>
endobj
971 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 278.821 213.716 290.776 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 151.514 217.413 162.572 ]/A << /S /GoTo /D (page.18) >> >>
endobj
972 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 266.866 208.765 278.821 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 139.559 192.825 150.617 ]/A << /S /GoTo /D (page.44) >> >>
endobj
973 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 255.479 139.614 266.418 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 127.723 167.37 138.662 ]/A << /S /GoTo /D (page.29) >> >>
endobj
974 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 231.449 217.413 242.507 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 115.758 170.997 126.707 ]/A << /S /GoTo /D (page.29) >> >>
endobj
975 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 219.494 192.825 230.552 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 115.758 187.266 126.707 ]/A << /S /GoTo /D (page.48) >> >>
endobj
976 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 207.658 167.37 218.597 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 115.758 203.535 126.707 ]/A << /S /GoTo /D (page.63) >> >>
endobj
977 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 195.693 170.997 206.642 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 103.803 165.677 114.752 ]/A << /S /GoTo /D (page.29) >> >>
endobj
978 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 195.693 187.266 206.642 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 103.803 181.946 114.752 ]/A << /S /GoTo /D (page.48) >> >>
endobj
979 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 195.693 203.535 206.642 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 103.803 198.215 114.752 ]/A << /S /GoTo /D (page.62) >> >>
endobj
980 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 183.738 165.677 194.687 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 103.803 215.021 114.752 ]/A << /S /GoTo /D (page.63) >> >>
endobj
981 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 183.738 181.946 194.687 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 91.847 169.303 102.796 ]/A << /S /GoTo /D (page.29) >> >>
endobj
982 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 183.738 198.215 194.687 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 91.847 185.572 102.796 ]/A << /S /GoTo /D (page.48) >> >>
endobj
983 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 183.738 215.021 194.687 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 79.902 148.72 90.732 ]/A << /S /GoTo /D (page.37) >> >>
endobj
984 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 171.783 169.303 182.732 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 79.902 163.664 90.732 ]/A << /S /GoTo /D (page.41) >> >>
endobj
985 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 171.783 185.572 182.732 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 79.902 179.933 90.732 ]/A << /S /GoTo /D (page.70) >> >>
endobj
986 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 159.838 148.72 170.667 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 67.598 188.411 78.776 ]/A << /S /GoTo /D (page.18) >> >>
endobj
987 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 159.838 163.664 170.667 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 67.598 204.68 78.776 ]/A << /S /GoTo /D (page.69) >> >>
endobj
988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 159.838 179.933 170.667 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 67.598 219.953 78.776 ]/A << /S /GoTo /D (page.71) >> >>
endobj
989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 147.534 188.411 158.712 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.167 681.88 483.122 692.819 ]/A << /S /GoTo /D (page.50) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 147.534 204.68 158.712 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.141 669.805 442.096 680.864 ]/A << /S /GoTo /D (page.34) >> >>
endobj
991 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 147.534 219.953 158.712 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 657.85 395.321 668.908 ]/A << /S /GoTo /D (page.5) >> >>
endobj
992 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.918 123.972 259.873 134.911 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.498 645.895 501.453 656.953 ]/A << /S /GoTo /D (page.41) >> >>
endobj
993 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.892 111.897 218.847 122.956 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 404.039 633.71 415.994 644.998 ]/A << /S /GoTo /D (page.25) >> >>
endobj
994 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 99.942 172.073 111.001 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 621.984 428.188 633.043 ]/A << /S /GoTo /D (page.16) >> >>
endobj
995 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 266.249 87.987 278.205 99.045 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 610.149 369.01 620.978 ]/A << /S /GoTo /D (page.23) >> >>
endobj
996 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.79 75.803 192.745 87.09 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 610.149 385.279 620.978 ]/A << /S /GoTo /D (page.68) >> >>
endobj
997 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 693.715 428.188 704.774 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 597.626 396.069 609.581 ]/A << /S /GoTo /D (page.18) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 681.88 369.01 692.709 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 574.283 386.405 585.222 ]/A << /S /GoTo /D (page.18) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 681.88 385.279 692.709 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 562.328 479.217 573.267 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 669.357 396.069 681.312 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 550.373 388.656 561.312 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 646.014 386.405 656.953 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 537.85 500.666 549.805 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 634.059 479.217 644.998 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 504.256 353.429 513.103 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1003 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 622.104 388.656 633.043 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 490.597 453.852 501.536 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 609.581 500.666 621.536 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 490.597 470.121 501.536 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1005 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 576.206 353.429 584.834 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 478.074 502.3 490.029 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1006 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 562.328 453.852 573.267 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 466.687 383.376 477.516 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1007 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 562.328 470.121 573.267 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 454.164 461.394 466.119 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1008 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 549.805 502.3 561.76 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 442.209 459.003 454.164 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1009 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 538.418 383.376 549.247 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 442.209 475.272 454.164 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1010 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 525.895 461.394 537.85 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 418.866 381.135 429.805 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1011 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 513.94 459.003 525.895 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 406.911 394.734 417.85 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1012 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 513.94 475.272 525.895 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 394.388 422.161 406.343 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1013 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 490.597 381.135 501.536 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 394.388 438.43 406.343 ]/A << /S /GoTo /D (page.71) >> >>
endobj
1014 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 478.642 394.734 489.581 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 382.433 495.703 394.388 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1015 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 466.119 422.161 478.074 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 382.433 513.843 394.388 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1016 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 466.119 438.43 478.074 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 372.749 353.648 381.596 ]/A << /S /GoTo /D (page.70) >> >>
endobj
1017 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 454.164 495.703 466.119 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 359.09 399.466 369.92 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1018 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 454.164 513.843 466.119 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 347.006 398.081 357.965 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1019 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 444.48 353.648 453.327 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 335.18 411.889 346.009 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1020 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 430.821 399.466 441.651 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 335.18 428.158 346.009 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1021 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 418.737 398.081 429.696 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 322.657 473.508 334.612 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1022 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 406.911 411.889 417.74 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 311.27 369.528 322.099 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1023 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 406.911 428.158 417.74 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 311.27 384.472 322.099 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1024 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 394.388 473.508 406.343 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 277.397 352.542 288.226 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1025 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 383.001 369.528 393.83 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 277.397 368.592 288.226 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1026 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 383.001 384.472 393.83 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 277.397 384.861 288.226 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1027 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 361.669 352.542 372.498 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 264.874 506.096 276.829 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1028 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 361.669 368.592 372.498 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 240.963 462.001 252.918 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1029 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 361.669 384.861 372.498 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 229.008 454.779 240.963 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1030 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 349.146 506.096 361.101 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 217.053 401.309 229.008 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1031 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 325.236 462.001 337.191 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 205.656 437.991 216.495 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1032 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 313.28 454.779 325.236 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 193.143 480.881 205.098 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1033 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 301.325 401.309 313.28 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 181.397 361.508 192.585 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1034 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 289.928 437.991 300.767 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 169.8 381.015 180.63 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1035 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 277.415 480.881 289.37 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 169.8 395.959 180.63 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1036 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 265.669 361.508 276.857 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 169.8 412.228 180.63 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1037 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 254.072 381.015 264.902 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 157.277 447.566 169.232 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1038 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 254.072 395.959 264.902 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 145.322 407.805 157.277 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1039 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 254.072 412.228 264.902 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 145.322 424.074 157.277 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1040 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 241.549 447.566 253.505 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 111.449 460.407 123.404 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1041 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 229.594 407.805 241.549 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 99.494 499.411 111.449 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1042 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 229.594 424.074 241.549 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 75.583 426.156 87.539 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1043 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 208.263 460.407 220.218 ]/A << /S /GoTo /D (page.39) >> >>
-endobj
-1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 196.307 499.411 208.263 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 75.583 442.425 87.539 ]/A << /S /GoTo /D (page.61) >> >>
endobj
-1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 172.397 426.156 184.352 ]/A << /S /GoTo /D (page.40) >> >>
+1050 0 obj
+<< /D [ 1048 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 172.397 442.425 184.352 ]/A << /S /GoTo /D (page.58) >> >>
+361 0 obj
+<< /D [ 1048 0 R /XYZ 79.37 706.717 null ] >>
endobj
1047 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.059 160.442 472.014 172.397 ]/A << /S /GoTo /D (page.42) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F66 392 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1048 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.109 160.442 488.283 172.397 ]/A << /S /GoTo /D (page.58) >> >>
+1153 0 obj
+<< /Filter /FlateDecode /Length 3223 >>
+stream
+x\I W Ue*gR&\Av758{,i K}㷿}׷?B<F7YϔY#7?ɹM:y3>}^sc Y˷J)|GjT7o |ǦW~ﱽOBGi.{o;ʦL6sP eV3絲/_(+MY&twj|-73eO޷IdmOq!5^ϸ0pz& :݂oxd'fv8 72p"yO:U?HJΜ+2{I8MzL޽ޖJV쥿>; &d<NE5-c ?fo ߱MKறiE@%xs+cJD<Mnh@V虲B땍ẁBGk-ˑi<sTѽ*4T[
+x~a ƑCo^Gs k3
+ϴ0kh[fy-#! YEPkfxQ0S^BȣUUxyJ\Owm Q?糊bd0<@7pBz{1ĦPy Pz8 BEOMC}`2x0WMeKSGL$,qtUK)n"_LժRj7/<a0Y’!R{:%C-vn7r< j}s W=l@trx`t9C3_cq;!&\Mp'>e-DHyqȁG
+i֗!&& !%R_ 4p` ;
+V/a 6oW1㢡fZ>"XdKYG =ݭ荦{S6c-
+s&lFjJ}L
+k tcq+n-B]CbkJxq.q0Tc&יc^+!kIԥgvw7d7iREvXˌVl 3f8YP3+Cft''AB\@%w[`+\z12EY#^]ra
+I^o0Ѯ PY4@kƠI]
+MU>5A \]f7 іB٬Q L5*
+Uf6GcHg3- nr,:Kѧ
+|sA&EgxZ)mS+814kOۣR?M$N9W^vrbjXE(*\Tֈx2GKsk+t:%=Dni5u1Ͻboh@KE|Xk:e`=us~,:d1:xBePH̰x v^^]q{6߳I #͌rZM
+Uj//B
+endstream
endobj
-1049 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.784 148.487 494.739 160.442 ]/A << /S /GoTo /D (page.42) >> >>
+1152 0 obj
+<< /Type /Page /Contents 1153 0 R /Resources 1151 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1155 0 R >>
endobj
-1050 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.389 136.98 405.344 147.929 ]/A << /S /GoTo /D (page.56) >> >>
+1155 0 obj
+[ 1044 0 R 1045 0 R 1046 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R ]
endobj
-1051 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.025 124.576 464.98 136.532 ]/A << /S /GoTo /D (page.36) >> >>
+1044 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.81 757.574 248.765 769.529 ]/A << /S /GoTo /D (page.44) >> >>
+endobj
+1045 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.86 757.574 265.034 769.529 ]/A << /S /GoTo /D (page.61) >> >>
+endobj
+1046 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 259.535 745.619 271.49 757.574 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1052 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 381.384 113.06 393.339 124.128 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 734.112 182.095 745.061 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1053 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 101.104 400.014 112.063 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.776 721.708 241.731 733.664 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1054 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 390.569 79.334 397.543 91.29 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 710.192 170.09 721.26 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1055 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.447 67.947 352.402 78.886 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 698.236 176.765 709.195 ]/A << /S /GoTo /D (page.53) >> >>
endobj
-1061 0 obj
-<< /D [ 1059 0 R /XYZ 78.37 808.885 null ] >>
+1056 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.32 663.925 174.294 675.88 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-357 0 obj
-<< /D [ 1059 0 R /XYZ 79.37 706.717 null ] >>
+1057 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 652.538 129.153 663.477 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1058 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F56 384 0 R /F15 381 0 R /F57 385 0 R /F55 383 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 640.573 132.78 651.522 ]/A << /S /GoTo /D (page.28) >> >>
endobj
-1178 0 obj
-<< /Filter /FlateDecode /Length 3540 >>
-stream
-xIW& PM }2KUCUUl7/2~eނ,E7Y%Uo?ߥtRZI?@?AJk751a2nIi'SG4bJ=-dT&[Cf\)'X#UC]kPs۳p!bʨg #h7HOF` ~>2J1i8Q
-9;
-)=W\`(s ^êMנ M=)ee8<K L+GC0$ޓS~]oڃz`(S,qoK!<&bq 4<%(z=AMYnG狯%#Џ@JZQE d ̯Dy!%@cdwg\b/%@1jJqDRPVι//􅀃T+p8BQ8 J^\Ĭ[S5#R GU%w~0T䠩҈Juh Y8k~Rb<Pq g|ӌ|EZJbv"dêwU<#lVpFzj)]Y$:&):SQBl6Cd4'Q] $d6eAuܻB UWCϳ >pҕkOHLtfȑक~BYi:Ib3L' ></EBPh`-Yx#q0MƁAv&
-fh5c8{*3o iRx@K#13c+ju@"bOXlyu8UĜ% z.lHU 1lɧ]e9G-2hTO:sm2Jį
-Կ"iй@Sgl2EYζ4t c_$\DI4]"ȿ/vؤeEb1Y!]N
- )֋Mwc
-n):"0Lo*^ulmݑ0.ZXJU B֓:<(tsh=#!^1qCglvPGn5C:ӸuT;~R[?529Q?-x6?\ 78 'U02lToIp~'PAsGkJuh~ۻ؛C ŏ Ge<8 '#>ȡ*F-a Ry.ar>^t+Q<f WNuz)]x! |PlIx6j<{<6 B˃2^؉Otǽ|y;V4־!M73NQ_4Xd4}(!ͦ9&iYiʞCm*O*QrצsӗWDUW$OD7tVuL5tV`KE~ֵHN[SD:e:9ib'?K|ަ{iPAR?}0Ʌ NT>&
-(t
-eMv ‰g>NFx7?G'ކ ˸y\m"O퍲ӶtN滲Fs~8M\F9?s`[x! Z*Wt69i<o;7m%)YM8ԧÊ|T7Ze#3}!3}Rs_]w)gp'_#iG ә!ݯ''t/Iy Ʃ'x0\a4%`c.ǧ FO㩜d%+:֡xzE/!E&
-!^\IJa"^/V4ԇ'z19#KVX*^ KjѺN_F
-endstream
-endobj
-1177 0 obj
-<< /Type /Page /Contents 1178 0 R /Resources 1176 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1181 0 R >>
+1059 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 640.573 149.049 651.522 ]/A << /S /GoTo /D (page.48) >> >>
endobj
-1181 0 obj
-[ 1056 0 R 1057 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R ]
+1060 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 628.06 176.835 640.015 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1056 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 758.132 132.78 769.081 ]/A << /S /GoTo /D (page.26) >> >>
+1061 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 616.104 158.135 628.06 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 758.132 149.049 769.081 ]/A << /S /GoTo /D (page.46) >> >>
+1062 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 604.149 199.838 616.104 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 745.619 176.835 757.574 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 592.194 182.802 604.149 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 733.664 158.135 745.619 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 558.889 143.49 569.718 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 721.708 199.838 733.664 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 546.934 159.181 557.763 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 709.753 182.802 721.708 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 522.456 189.896 534.411 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 688.938 143.49 699.767 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 511.068 127.799 521.898 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 676.982 159.181 687.812 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 487.038 217.413 498.097 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 652.504 189.896 664.459 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 475.083 172.073 486.142 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 641.117 127.799 651.946 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 463.128 197.975 474.187 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 617.087 217.413 628.145 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 450.725 281.482 462.68 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 605.132 172.073 616.19 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 439.048 133.029 450.167 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 593.177 197.975 604.235 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 415.307 217.413 426.366 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 580.773 281.482 592.728 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 403.352 172.073 414.411 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 569.097 133.029 580.215 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 391.397 197.975 402.456 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 545.356 217.413 556.414 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 379.552 193.442 390.391 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 533.401 172.073 544.459 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 379.552 209.711 390.391 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 521.446 197.975 532.504 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 345.689 134.523 356.518 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 509.6 193.442 520.439 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 345.689 150.573 356.518 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 509.6 209.711 520.439 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 333.723 169.263 344.563 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 488.226 134.523 499.056 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 321.21 230.224 333.166 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 488.226 150.573 499.056 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 309.255 194.678 321.21 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 476.261 169.263 487.101 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 275.382 190.673 287.337 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 463.748 230.224 475.703 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 241.509 225.572 253.464 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 451.793 194.678 463.748 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 229.554 233.014 241.509 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 430.409 190.673 442.365 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 217.599 251.266 229.554 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 409.026 225.572 420.981 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 206.202 127.46 217.041 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 397.071 233.014 409.026 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 206.202 143.729 217.041 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 385.115 251.266 397.071 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 206.202 159.998 217.041 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 373.718 127.46 384.557 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 194.246 131.086 205.086 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 373.718 143.729 384.557 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 194.246 147.355 205.086 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 373.718 159.998 384.557 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 182.301 127.799 193.131 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 361.763 131.086 372.602 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 158.381 254.593 169.22 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 361.763 147.355 372.602 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 146.306 144.327 157.375 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 349.818 127.799 360.647 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 121.958 197.677 133.913 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 325.897 254.593 336.737 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 110.002 230.972 121.958 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 313.823 144.327 324.891 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 98.047 219.355 110.002 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 289.474 197.677 301.429 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 86.53 147.953 97.489 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 277.519 230.972 289.474 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.561 74.575 192.516 85.534 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 265.564 219.355 277.519 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.962 757.574 465.917 769.529 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 254.047 147.953 265.006 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.079 745.619 472.034 757.574 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.561 242.092 192.516 253.051 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.128 745.619 488.303 757.574 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.713 229.698 242.668 241.653 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.227 733.664 430.201 745.619 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.83 217.743 248.785 229.698 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.084 687.835 404.039 699.791 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.88 217.743 265.054 229.698 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.991 675.88 473.947 687.835 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.978 205.788 206.952 217.743 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.478 663.925 469.434 675.88 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.835 172.449 180.79 184.404 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 618.545 440.661 629.604 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.743 160.494 250.698 172.449 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 606.59 395.321 617.649 ]/A << /S /GoTo /D (page.6) >> >>
endobj
1109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.229 148.539 246.185 160.494 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 594.635 421.224 605.694 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 115.648 217.413 126.707 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.025 582.232 440.98 594.187 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1111 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 103.693 172.073 114.752 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 570.496 429.503 581.674 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1112 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 91.738 197.975 102.796 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 558.879 408.582 569.718 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1113 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.776 79.334 217.731 91.29 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 558.879 424.851 569.718 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1114 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.299 67.598 206.254 78.776 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 546.645 408.831 557.763 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 758.142 408.582 768.971 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 534.979 392.891 545.808 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 758.142 424.851 768.971 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 523.024 375.894 533.853 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 745.898 408.831 757.016 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 511.068 351.526 521.898 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 734.232 392.891 745.061 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 498.545 421.653 510.5 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 722.276 375.894 733.106 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 498.545 436.597 510.5 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 710.321 351.526 721.151 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 486.59 479.785 498.545 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 697.798 421.653 709.753 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 475.203 426.395 486.032 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 697.798 436.597 709.753 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 475.203 441.339 486.032 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 685.843 479.785 697.798 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 475.203 457.608 486.032 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 674.456 426.395 685.285 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 462.899 366.739 474.077 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 674.456 441.339 685.285 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 438.769 395.202 450.725 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 674.456 457.608 685.285 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 427.263 368.721 438.321 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 662.152 366.739 673.33 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 393.161 419.043 404.339 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 638.022 395.202 649.977 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 380.986 418.016 392.941 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 626.515 368.721 637.574 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 357.076 432.044 369.031 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 604.368 419.043 615.547 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 333.166 440.303 345.121 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 592.194 418.016 604.149 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 299.293 426.624 311.248 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 568.284 432.044 580.239 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 287.776 388.935 298.735 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 544.373 440.303 556.329 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 275.661 403.351 286.779 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 522.456 426.624 534.411 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 263.865 380.278 274.934 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 510.939 388.935 521.898 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 263.865 396.547 274.934 ]/A << /S /GoTo /D (page.71) >> >>
endobj
1136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 498.824 403.351 509.943 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 229.554 459.899 241.509 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 487.029 380.278 498.097 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 217.599 478.35 229.554 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1138 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 487.029 396.547 498.097 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 206.212 366.788 217.041 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1139 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 464.672 459.899 476.628 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 194.256 377.558 204.807 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1140 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 452.717 478.35 464.672 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 181.733 500.866 193.689 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1141 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 441.33 366.788 452.159 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 169.778 473.02 181.733 ]/A << /S /GoTo /D (page.6) >> >>
endobj
1142 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 429.375 377.558 439.925 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 145.868 420.925 157.823 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 416.852 500.866 428.807 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 133.913 513.458 145.868 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 404.897 473.02 416.852 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 110.56 477.842 121.4 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 380.986 420.925 392.941 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 98.486 374.25 109.444 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 369.031 513.458 380.986 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 74.137 420.925 86.092 ]/A << /S /GoTo /D (page.41) >> >>
endobj
-1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 345.679 477.842 356.518 ]/A << /S /GoTo /D (page.33) >> >>
+1154 0 obj
+<< /D [ 1152 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 333.604 374.25 344.563 ]/A << /S /GoTo /D (page.51) >> >>
+1151 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F57 389 0 R /F56 388 0 R /F66 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 309.255 420.925 321.21 ]/A << /S /GoTo /D (page.38) >> >>
+1231 0 obj
+<< /Filter /FlateDecode /Length 2629 >>
+stream
+x[n8S V" Rb;y뒶eY,*EJERHIMC/xwK*y^蛹0܂7J{s7ڂx;D~=@Ds#1|xqNjVY0ihm~eN](U
+ۄ$!yQ؇kh,6O!b E8҅*α+J:̆彣SG١̟ۺ$9P6x
+%RýovQN=V90bxEێ὜Hې9mK.ב
+m{J@Un^Yk}#L -=J>/X埘N>HG
+5?]ӏazwyMm4m$9B6
+?~:.P ,݊>
+ A#;X?-V`+>s_SJ"*.螚H^%g .
+L@_&98jꓵk%ɜV>5O@>t8z(~ QŸZ +{9*wڦ,SSf3-.zƍN='%uPݤt'6UqaaUH}+qGYqa#֎V6 @GR&RQ`\9kYL[IG xe]eݲ1BA^WM6,5(9=aO"QH nÁ6f%4A>i%I߁6sV{w5t?L$W>RGjH=3Ć푢/݋3u8h}։`Hp #Ǜ!S롄FͦriEGX4Ij?: R[y_sFʂ7oJrNqFU41 `V%>_NTw`UՊ׭; A.H@*rS<! /zվ
+A%K~T7] |ff[0PU6m U}Y۝njXK8z#M;5YɆ ,w@STK\I @Peoo cO14V`;ó'bt<fH/'Vvq6M$)Kf^)BVSA23R葠1ItQO K&e6TvxrlR
+x(DBlf"hۨ7L-:@&ځV|d-o%.<c"AbWY$ SZQvn0PEs
+@BM
+kokԠ<KVc7O/ZnnK.pn庽+1-Y+YqP6Lڧ+7jt'ܿo0mvԡf:Z@61r
+bawgK@'pR}ְb~t$BƈӁ@Ah~*F}r7[&C {`uy:q ~y+ o4>j
+ke;Y\B.wq;S3KHJpͣ,h;'z}z>ںʝ;V|`.Ay}>#>cV$W@5<e J, MA3yn 6o۷s!9#KoD18Z+).XtvU;g`#tohiviP$o1tIEOF8m%-QY낶0"z8WKk5h&7 K~}J5
+endstream
endobj
-1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.94 297.3 460.896 309.255 ]/A << /S /GoTo /D (page.36) >> >>
+1230 0 obj
+<< /Type /Page /Contents 1231 0 R /Resources 1229 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1233 0 R >>
endobj
-1151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 285.913 356.497 296.742 ]/A << /S /GoTo /D (page.21) >> >>
+1233 0 obj
+[ 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R ]
endobj
-1152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.592 285.913 372.766 296.742 ]/A << /S /GoTo /D (page.23) >> >>
+1147 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.691 757.574 237.647 769.529 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1153 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.861 285.913 388.816 296.742 ]/A << /S /GoTo /D (page.46) >> >>
+1148 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 746.187 133.248 757.016 ]/A << /S /GoTo /D (page.23) >> >>
endobj
-1154 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 261.883 395.321 272.941 ]/A << /S /GoTo /D (page.5) >> >>
+1149 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 746.187 149.517 757.016 ]/A << /S /GoTo /D (page.25) >> >>
endobj
-1155 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 249.928 436.916 260.986 ]/A << /S /GoTo /D (page.44) >> >>
+1150 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 746.187 165.567 757.016 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 226.137 428.188 236.966 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 722.157 172.073 733.215 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.283 226.137 444.457 236.966 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.711 710.202 213.667 721.26 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 214.182 453.852 225.121 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 686.411 204.939 697.24 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 214.182 470.121 225.121 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.034 686.411 221.208 697.24 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 431.765 201.659 443.72 213.614 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 674.456 230.603 685.395 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 485.344 189.703 497.299 201.659 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.698 674.456 246.872 685.395 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 177.748 516.902 189.703 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.516 661.933 220.471 673.888 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 166.012 366.739 177.19 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.095 649.977 274.05 661.933 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.115 154.406 420.089 165.235 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 638.022 293.653 649.977 ]/A << /S /GoTo /D (page.19) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.077 154.406 435.033 165.235 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 626.286 143.49 637.464 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.412 141.883 452.368 153.838 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.866 614.68 201.821 625.509 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.462 141.883 468.637 153.838 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.81 614.68 216.765 625.509 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.541 119.965 439.715 131.92 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.163 602.157 229.119 614.112 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 443.81 119.965 455.765 131.92 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.213 602.157 245.388 614.112 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.643 108.01 457.598 119.965 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.292 568.284 216.466 580.239 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.364 96.613 377.319 107.452 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.561 568.284 232.516 580.239 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.473 84.099 465.429 96.055 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.394 556.329 234.349 568.284 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 472.293 72.144 484.248 84.099 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 544.931 154.07 555.771 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1179 0 obj
-<< /D [ 1177 0 R /XYZ 78.37 808.885 null ] >>
+1174 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.224 532.418 242.18 544.373 ]/A << /S /GoTo /D (page.34) >> >>
+endobj
+1175 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.044 520.463 260.999 532.418 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1176 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F55 383 0 R /F56 384 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 508.508 266.06 520.463 ]/A << /S /GoTo /D (page.34) >> >>
endobj
-1235 0 obj
-<< /Filter /FlateDecode /Length 1925 >>
-stream
-xڵZ͎6 SVI6MVڞץ,ɶhEv2CĎ'GE_|x|Ut7 wߵv5ݵ5"ss^FD|=]Bʫg&zθ)Ydx?׏>bkN9X|Is(_sڋ~\Zf-IRLRokOUC?z$˓gKᚣ_#+0BHW`XY9 ((gb>.1жJmP3T+GYVA7XrV,o6<CHK+mM^sESɡv ;̐3;L@jUx c^d^lWr;5k{^kPթ2+x>aZgSuޖZIo׬X?F@sh]ϡwb\ $yiUHRj+HP?A҇GM1kU{a 2D52**u5᪀F9 Fw u:Sw)J)ZR53%7Lr\9
-H(Z; d7FnM3
-=J9M'zAy $bBfPn4^Z0"k!`牨28HiEN@B  Z;AU,l sX:=͔VD%29]?#fHt$fC jm' 3aqwbw/rMFv>V]2P+ŭb.No[6ݬvɭT4CdKQ<5@ZS7]j>. N)"8Z+m ;0K7!(PaÍ'c2q̤uHj^#)cbװx&e5b+#zx1 wYa 1E`Ɣb*$=Sdq|JH|xޯǔxtLK]δVo6?vi,*,AZ:Fl_->0Ȣk*=%Y *mA’WJ>ze'yR49))=5|?j!#.8QJ?oLc z֟4l(E}&o7 /jWQ[C9te9W٬Ħ3x8#^ ּş!k<ڡAUwTM+꦳|PrT~JJ(8($ T9š)ugpb0RΣ#kg|yw1~'>8DN9k6 /،Fevp)͂#/<pϹNc6RN\S| +M<`>*${5<]1o[zXط4izN`'%Ы <GZy!YbH?
-iʔ(V7WaBt>Fڵ]Eu`;\( [j<#*ǗIzehQDxВԘ"`u41"Ba*]'lAO$meuxgyif3>do
-endstream
+1177 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 484.598 217.054 496.553 ]/A << /S /GoTo /D (page.47) >> >>
endobj
-1234 0 obj
-<< /Type /Page /Contents 1235 0 R /Resources 1233 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1237 0 R >>
+1178 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 472.642 168.865 484.598 ]/A << /S /GoTo /D (page.47) >> >>
endobj
-1237 0 obj
-[ 1174 0 R 1175 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R ]
+1179 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 460.687 206.882 472.642 ]/A << /S /GoTo /D (page.39) >> >>
endobj
-1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 757.574 266.06 769.529 ]/A << /S /GoTo /D (page.32) >> >>
+1180 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 448.732 231.3 460.687 ]/A << /S /GoTo /D (page.48) >> >>
endobj
-1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 733.664 217.054 745.619 ]/A << /S /GoTo /D (page.45) >> >>
+1181 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 436.777 282.11 448.732 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 721.708 168.865 733.664 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 425.39 157.946 436.219 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 709.753 206.882 721.708 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 412.867 203.943 424.822 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 697.798 231.3 709.753 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 412.867 220.212 424.822 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 685.843 282.11 697.798 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 400.911 293.653 412.867 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 674.456 157.946 685.285 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 377.001 218.548 388.956 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 661.933 203.943 673.888 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 377.001 234.598 388.956 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 661.933 220.212 673.888 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 377.001 250.867 388.956 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 649.977 293.653 661.933 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 377.001 267.136 388.956 ]/A << /S /GoTo /D (page.70) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 626.067 218.548 638.022 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 353.091 218.548 365.046 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 626.067 234.598 638.022 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 319.786 159.181 330.615 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 626.067 250.867 638.022 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 319.786 175.45 330.615 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 626.067 267.136 638.022 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 307.831 164.411 318.66 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 602.157 218.548 614.112 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 295.307 255.221 307.263 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 580.807 159.181 591.636 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 283.352 175.38 295.307 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 580.807 175.45 591.636 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 271.397 180.232 283.352 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 568.852 164.411 579.681 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 259.442 199.809 271.397 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 556.329 255.221 568.284 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 247.487 241.662 259.442 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 544.373 175.38 556.329 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 224.025 172.073 235.083 ]/A << /S /GoTo /D (page.6) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 532.418 180.232 544.373 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 224.025 188.342 235.083 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 520.463 199.809 532.418 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 212.07 230.573 223.128 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1202 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 508.508 241.662 520.463 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 212.07 246.842 223.128 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1203 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 485.046 172.073 496.104 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 200.114 204.939 211.173 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1204 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 485.046 188.342 496.104 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 187.711 244.8 199.666 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1205 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 473.091 230.573 484.149 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 175.756 213.427 187.711 ]/A << /S /GoTo /D (page.6) >> >>
endobj
1206 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 473.091 246.842 484.149 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 175.756 229.696 187.711 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1207 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 461.136 204.939 472.194 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 129.928 217.054 141.883 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1208 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 448.732 244.8 460.687 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 96.055 228.64 108.01 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1209 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 436.777 213.427 448.732 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 96.055 244.69 108.01 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 436.777 229.696 448.732 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 84.099 198.105 96.055 ]/A << /S /GoTo /D (page.9) >> >>
endobj
1211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 402.904 217.054 414.859 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 72.144 177.393 84.099 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 380.986 228.64 392.941 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 72.144 193.442 84.099 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 380.986 244.69 392.941 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 758.142 403.351 768.971 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 369.031 198.105 380.986 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 746.187 403.351 757.016 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 357.076 177.393 369.031 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 734.232 351.048 745.061 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 357.076 193.442 369.031 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 722.276 366.739 733.106 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 345.689 180.102 356.518 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 698.246 440.661 709.305 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 333.733 180.102 344.563 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 686.291 395.321 697.35 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 321.778 127.799 332.608 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 674.336 421.224 685.395 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 309.823 143.49 320.652 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 662.501 406.709 673.33 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 285.793 217.413 296.852 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 616.553 436.916 627.611 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 273.838 172.073 284.897 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.937 604.598 413.892 615.656 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 261.883 197.975 272.941 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.458 592.762 429.414 603.651 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.505 250.047 183.46 260.877 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.402 592.762 444.358 603.651 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.711 216.055 213.667 227.113 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.673 558.321 401.628 570.276 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1226 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.688 204.099 190.643 215.158 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.219 546.366 421.175 558.321 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1227 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.21 192.264 206.165 203.153 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.831 534.411 436.786 546.366 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1228 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.153 192.264 221.109 203.153 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 500.538 516.902 512.493 ]/A << /S /GoTo /D (page.41) >> >>
endobj
-1229 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.424 169.778 178.379 181.733 ]/A << /S /GoTo /D (page.24) >> >>
+1232 0 obj
+<< /D [ 1230 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1230 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.97 157.823 197.926 169.778 ]/A << /S /GoTo /D (page.28) >> >>
+1229 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F66 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1231 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.582 145.868 213.537 157.823 ]/A << /S /GoTo /D (page.36) >> >>
+1283 0 obj
+<< /Filter /FlateDecode /Length 2021 >>
+stream
+x\n#7W!00 V} rMNkdS<`HdZO'^/~*{Đ^$$N2'/Ùs)8'#,?+xO?:Yf( q y\ O-H?q#^O:>yﲼ&!B?^\Vw#uVZLh+qlD8>%>L'j
+vU2Kf{mu|P`_Vp}*efN®IG
+ eJB
+R2C@,٦QlP %=G[a \_wB\JJre>Jˇ#,a<EgS_ƅa$&*{ÑӰ`7Y3B/^!aP
+cMYRQk!lpCW/ٍUI}G
+ɇ*FWhbzTrM&$#JhԪ% I.jOv=Wn鿶ZP J74> ib4lW0KSsݎW3d<|:cBișz!$-<}۽8@/+@X p'n^`)<`}~9X<uZ9~Tw_
+;PKޮ~cqnqdٔEoy%AS6x(|'K
+/+Z*ge7R/G?IP*qӟMSq+X;Nęmhbwwv
+endstream
endobj
-1232 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 123.95 293.653 135.905 ]/A << /S /GoTo /D (page.38) >> >>
+1282 0 obj
+<< /Type /Page /Contents 1283 0 R /Resources 1281 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1285 0 R >>
endobj
-1236 0 obj
-<< /D [ 1234 0 R /XYZ 78.37 808.885 null ] >>
+1285 0 obj
+[ 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R ]
endobj
-1233 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+1234 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 736.093 264.366 747.062 ]/A << /S /GoTo /D (section.1) >> >>
endobj
-1287 0 obj
-<< /Filter /FlateDecode /Length 2031 >>
-stream
-x\n6+aə `q+mWm&%Q|^k؎%33<?鷋A I'qЖ>h%}K9_Pr0?`U3,Z-q%<[~FQ_:>y4&!B?^\Vw#uV6[Lh+q׬D8>)>L'j
-˘?,1yHݑyP`/Y]奄A']~ b^T IzHt9U(D*4EDR@cHux_Ki/U+ ~>_JU!4IH)6KTtQ\=H캯j}, ZC=kgioZ}RJ8(NKw3ΰ!Of;[_JG} L[y@aX;+p o=^f\
-%4cN'&Ҡ96;.nkfʏ6oGU|=@:;c=d*仆pa0LiT}Pc]<F Gzz` 1'U``87(|<9!qkHD;YwoݘYR G+{ë8j!G-} 0'yxΤ ӷ4Fznxa w]LK%~n#4 
-cvIcLj:ŧmus"SHS5 ს-OraM|!eta.I=0%<xM/ֽ3v9A(NLD-g4}ؘ[ )a 殆R)\l`$2LeI%=hZYU^ Lg3#Ť)6"#rȠ)^3|`P
-/<8ǵ
-@ά]py=?[1M\P+:l bqq#dھxU3$ ˜$zƚPg);ތޏaq5P\+)-7+a;賊|]Xv ?XݴӯnUmMKRhdP(S]
-J94i?M
-.?mA)R7Aؚn|z@L23IHVĮgM,.#)R*$"=|wnR$cmk7B[ISnc2hFP
-endstream
+1235 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 714.245 277.846 725.085 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-1286 0 obj
-<< /Type /Page /Contents 1287 0 R /Resources 1285 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1289 0 R >>
+1236 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 692.268 267.116 703.227 ]/A << /S /GoTo /D (section.3) >> >>
endobj
-1289 0 obj
-[ 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R ]
+1237 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 672.283 149.647 681.249 ]/A << /S /GoTo /D (section.4) >> >>
endobj
1238 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 736.093 264.366 747.062 ]/A << /S /GoTo /D (section.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 660.168 180.132 669.403 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
1239 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 714.245 277.846 725.085 ]/A << /S /GoTo /D (section.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 648.213 234.558 657.339 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
1240 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 692.268 267.116 703.227 ]/A << /S /GoTo /D (section.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 636.258 218.807 645.383 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
1241 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 672.283 149.647 681.249 ]/A << /S /GoTo /D (section.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 624.303 217.393 633.428 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
1242 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 660.168 180.132 669.403 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 610.634 327.31 621.583 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
1243 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 648.213 234.558 657.339 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.679 315.684 609.628 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
1244 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 636.258 218.807 645.383 ]/A << /S /GoTo /D (subsection.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.166 224.606 598.121 ]/A << /S /GoTo /D (subsection.4.7) >> >>
endobj
1245 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 624.303 217.393 633.428 ]/A << /S /GoTo /D (subsection.4.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 566.629 142.752 575.645 ]/A << /S /GoTo /D (section.5) >> >>
endobj
1246 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 610.634 327.31 621.583 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 554.564 336.317 563.799 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
1247 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.679 315.684 609.628 ]/A << /S /GoTo /D (subsection.4.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 542.609 226.588 551.735 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
1248 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 578.584 142.752 587.6 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 528.382 240.865 540.337 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
1249 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 566.519 336.317 575.755 ]/A << /S /GoTo /D (subsection.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 518.699 298.369 527.934 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
1250 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 554.564 226.588 563.69 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 506.743 283.684 515.979 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
1251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 540.337 240.865 552.293 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 492.965 264.835 503.914 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
1252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 530.654 298.369 539.889 ]/A << /S /GoTo /D (subsection.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 481.01 342.155 491.959 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
1253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 518.699 283.684 527.934 ]/A << /S /GoTo /D (subsection.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 468.606 239.868 480.562 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
1254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 504.92 264.835 515.869 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 456.651 254.992 468.606 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
1255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 492.965 342.155 503.914 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 446.968 289.512 456.203 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
1256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 480.562 239.868 492.517 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 423.266 364.342 434.235 ]/A << /S /GoTo /D (section.6) >> >>
endobj
1257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 468.606 254.992 480.562 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 413.095 188.929 422.33 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
1258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 458.923 289.512 468.158 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 398.868 314.728 410.823 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
1259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 435.222 364.342 446.19 ]/A << /S /GoTo /D (section.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 389.184 301.985 398.42 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
1260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 425.05 188.929 434.285 ]/A << /S /GoTo /D (subsection.6.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 375.515 243.744 386.355 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
1261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 410.823 314.728 422.778 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 353.04 223.729 364.995 ]/A << /S /GoTo /D (section.7) >> >>
endobj
1262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 401.139 301.985 410.375 ]/A << /S /GoTo /D (subsection.6.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 333.503 224.894 342.579 ]/A << /S /GoTo /D (section.8) >> >>
endobj
1263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 387.471 243.744 398.31 ]/A << /S /GoTo /D (subsection.6.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 321.438 172.481 330.564 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
1264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 364.995 223.729 376.95 ]/A << /S /GoTo /D (section.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 309.483 191.938 318.609 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
1265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 345.458 224.894 354.534 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 297.528 245.109 306.763 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
1266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 333.393 172.481 342.519 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 275.72 251.545 284.736 ]/A << /S /GoTo /D (section.9) >> >>
endobj
1267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 321.438 191.938 330.564 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 253.802 234.987 262.818 ]/A << /S /GoTo /D (section.10) >> >>
endobj
1268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 309.483 245.109 318.718 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 239.914 225.731 250.973 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
1269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 287.675 251.545 296.691 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 227.511 302.264 239.466 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
1270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 265.757 234.987 274.773 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 215.994 379.495 226.953 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
1271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 251.869 225.731 262.928 ]/A << /S /GoTo /D (subsection.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 205.872 253.158 215.107 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
1272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 239.466 302.264 251.421 ]/A << /S /GoTo /D (subsection.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 193.916 270.653 203.152 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
1273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 227.949 379.495 238.908 ]/A << /S /GoTo /D (subsection.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 181.961 257.064 191.087 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
1274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 217.827 253.158 227.062 ]/A << /S /GoTo /D (subsection.10.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 158.33 329.741 169.229 ]/A << /S /GoTo /D (section.11) >> >>
endobj
1275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 205.872 270.653 215.107 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 135.854 176.964 147.809 ]/A << /S /GoTo /D (section.12) >> >>
endobj
1276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 193.916 257.064 203.042 ]/A << /S /GoTo /D (subsection.10.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 123.899 293.756 135.854 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
1277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 170.285 329.741 181.184 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 111.944 427.634 123.899 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
1278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 147.809 176.964 159.765 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 99.989 407.37 111.944 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
1279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 135.854 293.756 147.809 ]/A << /S /GoTo /D (subsection.12.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 88.034 340.411 99.989 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
-1280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 123.899 427.634 135.854 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+1284 0 obj
+<< /D [ 1282 0 R /XYZ 78.37 808.885 null ] >>
endobj
1281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 111.944 407.37 123.899 ]/A << /S /GoTo /D (subsection.12.3) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F66 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 99.989 340.411 111.944 ]/A << /S /GoTo /D (subsection.12.4) >> >>
+1331 0 obj
+<< /Filter /FlateDecode /Length 1926 >>
+stream
+x\n8+MI8snKRLf3C`Kd*U]ῃ<y'3!ȃ: ;8TB:AJ R^[QJ7HiV (umqtXy[3끎U(U@ 8s_/988`|x
+e#X8}
+ BFT:6ơBjLr\Z kX3K D"0|
+²Vcd̙R= lP,~'7]\,ɾ|' t5NPnGTHq<zf}4
+޶z/o+J$[kaL' Ff4MYX/OxoJ,.qJuF
+#g`ߓ@Z- yap ,ܥxU Wm@ BГSd7zM+*@$T8!Se N%yEDw@87J*oKHdj96+"Uc V}?x<Pl(1'D$v*-+zs!/ ]T.է>YuEkm|Wݬ/ҙ J9VʣƼCRԨ*m>8P}u)z [5޾[Ǵڜ q6>
+pqy4Rgptү ގJę`pF
+Y;biIJ}8$XH¼5~KcቲFbmkݬ,{/MxbኜhQ2[s-[T?a?o5<,Z6QugEseJƗqڴ+F~ܛhKE'5)^D8.rN%Of 6Bϡ[uloU{18r؟.̭Z
+@geĮPo2Q0W!jcT巏ζY5rwTi6A[Oʤ+u5Bxo'07C}ǬIW)U:ID yI}KG/ɾ 4}ՙ={<ᮜ6kQȸ5
+CW}tJHgoiiswZssa@{ˤMXDdƴtj8%nK )qM /ʄukyDg<&{l"$VU`sUo2u `Q&(
+endstream
endobj
-1283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 78.629 269.836 89.498 ]/A << /S /GoTo /D (section.13) >> >>
+1330 0 obj
+<< /Type /Page /Contents 1331 0 R /Resources 1329 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1333 0 R /Annots 1334 0 R >>
endobj
-1288 0 obj
-<< /D [ 1286 0 R /XYZ 78.37 808.885 null ] >>
+1334 0 obj
+[ 1280 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R ]
endobj
-1285 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F66 388 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
+1280 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 269.836 769.001 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-1334 0 obj
-<< /Filter /FlateDecode /Length 1890 >>
-stream
-x\n8+aU\@9\gNaqi;vw`X,{*Y<,X{ArvA TzҪ4 }Ϟ
-
-R2 15Rc"C (dͼO'%ȻaJ`ç NH.o܅69]=qThүK_Ki,
-ί]û{^tꬒ]H>uuMYҙ=nP
-EG{Aj}CJJjJG]NCYj,Q@-Щ:/2eO9Ok݆߬\\R9T3W:˴ү ޏJę|0BkWL""IV_ I0JkvI_Xx̯5?ʲ6u6-{1MxB|E͠0\dj@ŸE#&M
-?DZъN ú.g5r6B[pOIu5Bxo&.wÂ| Fk**t$"e<焾uwINPKaqLROHUwҜ:sHgtZYˎRD%\"\c{^X}q1ʹ>X
-E??.`~p~vPk1lȼ.ZLJαnlb*9u75X
-^6dmH)^OVE_ƁV/v]F#rZ-^1a
-K]Ȗ~sS,hs[$(% ${Q%IS9 tIv\V @*j?YyaF5ukNK\x x]D
-endstream
+1286 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.177 214.633 757.126 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-1333 0 obj
-<< /Type /Page /Contents 1334 0 R /Resources 1332 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1180 0 R /Annots 1336 0 R >>
+1287 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 735.935 185.582 745.17 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
-1336 0 obj
-[ 1284 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R ]
+1288 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 723.98 214.673 733.215 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
-1284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.132 214.633 769.081 ]/A << /S /GoTo /D (subsection.13.1) >> >>
+1289 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 712.025 277.328 721.26 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
1290 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 747.89 185.582 757.126 ]/A << /S /GoTo /D (subsection.13.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 697.798 306.887 709.753 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
1291 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 735.935 214.673 745.17 ]/A << /S /GoTo /D (subsection.13.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 678.261 168.157 687.337 ]/A << /S /GoTo /D (section.14) >> >>
endobj
1292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 723.98 277.328 733.215 ]/A << /S /GoTo /D (subsection.13.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 664.373 233.542 675.322 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
1293 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 709.753 306.887 721.708 ]/A << /S /GoTo /D (subsection.13.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 651.97 247.559 663.925 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
1294 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 690.217 168.157 699.293 ]/A << /S /GoTo /D (section.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 640.463 280.008 651.522 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
1295 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 233.542 687.278 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 628.06 288.655 640.015 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
1296 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 247.559 675.88 ]/A << /S /GoTo /D (subsection.14.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 616.104 222.075 628.06 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
1297 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 652.418 280.008 663.477 ]/A << /S /GoTo /D (subsection.14.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 604.707 199.42 615.547 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
1298 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 640.015 288.655 651.97 ]/A << /S /GoTo /D (subsection.14.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 592.642 248.008 603.701 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
1299 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 628.06 222.075 640.015 ]/A << /S /GoTo /D (subsection.14.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 580.677 215.191 591.636 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
1300 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 616.662 199.42 627.502 ]/A << /S /GoTo /D (subsection.14.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 570.555 223.549 579.791 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
1301 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 604.598 248.008 615.656 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 556.329 309.507 568.284 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
1302 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 592.633 215.191 603.591 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 544.373 288.795 556.329 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
1303 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.51 223.549 591.746 ]/A << /S /GoTo /D (subsection.14.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 524.837 238.264 533.913 ]/A << /S /GoTo /D (section.15) >> >>
endobj
1304 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 568.284 309.507 580.239 ]/A << /S /GoTo /D (subsection.14.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 510.939 353.213 522.007 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
1305 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 556.329 288.795 568.284 ]/A << /S /GoTo /D (subsection.14.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 498.984 249.173 510.052 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
1306 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 536.792 238.264 545.868 ]/A << /S /GoTo /D (section.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 488.862 270.015 498.097 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
1307 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 522.894 353.213 533.963 ]/A << /S /GoTo /D (subsection.15.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 475.073 297.462 486.032 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
1308 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 510.939 249.173 522.007 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 463.238 344.018 474.187 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
1309 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 500.817 270.015 510.052 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 450.725 363.963 462.68 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
1310 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 487.029 297.462 497.987 ]/A << /S /GoTo /D (subsection.15.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 429.365 210.289 440.264 ]/A << /S /GoTo /D (section.16) >> >>
endobj
1311 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 475.193 344.018 486.142 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 409.27 186.289 418.286 ]/A << /S /GoTo /D (section.17) >> >>
endobj
1312 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 462.68 363.963 474.635 ]/A << /S /GoTo /D (subsection.15.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 395.372 186.558 406.331 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
1313 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 441.32 210.289 452.219 ]/A << /S /GoTo /D (section.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 383.427 194.419 394.376 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
1314 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 421.225 186.289 430.241 ]/A << /S /GoTo /D (section.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 371.472 262.354 382.421 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
1315 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 407.327 186.558 418.286 ]/A << /S /GoTo /D (subsection.17.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 359.626 198.045 370.466 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
1316 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 395.382 194.419 406.331 ]/A << /S /GoTo /D (subsection.17.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 337.708 143.32 348.548 ]/A << /S /GoTo /D (section.18) >> >>
endobj
1317 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 383.427 262.354 394.376 ]/A << /S /GoTo /D (subsection.17.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.195 349.268 337.151 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
1318 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 371.581 198.045 382.421 ]/A << /S /GoTo /D (subsection.17.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 315.512 207.749 324.637 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
1319 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 349.664 143.32 360.503 ]/A << /S /GoTo /D (section.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 303.557 217.492 312.682 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
1320 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.151 349.268 349.106 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 291.601 178.249 300.727 ]/A << /S /GoTo /D (subsection.18.4) >> >>
endobj
1321 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 327.467 207.749 336.593 ]/A << /S /GoTo /D (subsection.18.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 277.813 298.688 288.772 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
1322 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 315.512 217.492 324.637 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.691 181.099 276.817 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
1323 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 303.557 178.249 312.682 ]/A << /S /GoTo /D (subsection.18.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.736 204.192 264.971 ]/A << /S /GoTo /D (subsection.18.7) >> >>
endobj
1324 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 289.768 298.688 300.727 ]/A << /S /GoTo /D (subsection.18.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 241.948 272.227 253.016 ]/A << /S /GoTo /D (subsection.18.8) >> >>
endobj
1325 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 279.646 181.099 288.772 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 229.554 324.451 241.509 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
1326 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.691 204.192 276.926 ]/A << /S /GoTo /D (subsection.18.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 218.037 214.145 229.215 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
1327 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 253.903 272.227 264.971 ]/A << /S /GoTo /D (subsection.18.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 196.179 132.929 206.999 ]/A << /S /GoTo /D (section.19) >> >>
endobj
1328 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 241.509 324.451 253.464 ]/A << /S /GoTo /D (subsection.18.9) >> >>
-endobj
-1329 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 229.992 214.145 241.17 ]/A << /S /GoTo /D (subsection.18.10) >> >>
-endobj
-1330 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 208.134 132.929 218.954 ]/A << /S /GoTo /D (section.19) >> >>
-endobj
-1331 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 188.099 108.74 197.116 ]/A << /S /GoTo /D (section*.2) >> >>
-endobj
-1335 0 obj
-<< /D [ 1333 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 176.144 108.74 185.161 ]/A << /S /GoTo /D (section*.2) >> >>
endobj
1332 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1330 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1329 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
endobj
2 0 obj
-<< /pgfpat5 825 0 R /pgfpat4 826 0 R /pgfpat10 829 0 R>>
+<< /pgfpat5 835 0 R /pgfpat4 836 0 R /pgfpat10 839 0 R>>
endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1337 0 obj
-[489.6 ]
-endobj
-1338 0 obj
+1335 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1340 0 obj
+1337 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1341 0 obj
+1338 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5678,10 +5699,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1339 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1341 0 R /CIDSet 1340 0 R >>
+1336 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1338 0 R /CIDSet 1337 0 R >>
endobj
-1342 0 obj
+1339 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5691,23 +5712,23 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
rndfA~
endstream
endobj
-823 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1343 0 R ] /ToUnicode 1342 0 R >>
+833 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1340 0 R ] /ToUnicode 1339 0 R >>
endobj
-1343 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1339 0 R /W 1338 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1340 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1336 0 R /W 1335 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1344 0 obj
+1341 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1346 0 obj
+1343 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1347 0 obj
+1344 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5722,10 +5743,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1345 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1347 0 R /CIDSet 1346 0 R >>
+1342 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1344 0 R /CIDSet 1343 0 R >>
endobj
-1348 0 obj
+1345 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5733,28 +5754,28 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
rhah⸁CS-f_&[ QJg`jFo[UTq{ ,r}
endstream
endobj
-793 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1349 0 R ] /ToUnicode 1348 0 R >>
+809 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1346 0 R ] /ToUnicode 1345 0 R >>
endobj
-1349 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1345 0 R /W 1344 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1346 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1342 0 R /W 1341 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1350 0 obj
+1347 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
endobj
-1351 0 obj
+1348 0 obj
[1083.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1361.1 ]
endobj
-1352 0 obj
+1349 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] 47 [ 603 ] ]
endobj
-1354 0 obj
+1351 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-1355 0 obj
+1352 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 900 >>
stream
xڵSoL[U]<t}dmbhAf P(d+}mx{v –@2q5,C~G>D_Yh9sﹹ990AkO4_7 N:
@@ -5769,36 +5790,36 @@ WZVRV
1mb7aKuO[&,ڗ:E["aS4c &8dxgxV6-:'T(Ed|<>a)Z9?'Uؚ
endstream
endobj
-1353 0 obj
-<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1355 0 R /CIDSet 1354 0 R >>
+1350 0 obj
+<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1352 0 R /CIDSet 1351 0 R >>
endobj
-1356 0 obj
+1353 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\DiVychr4НeL
ӳLSñUM(M΁?G6^[U)Lq,h'ɊՁ%> ;Z(9O)/TƫI|qk $wI2
endstream
endobj
-693 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1357 0 R ] /ToUnicode 1356 0 R >>
+702 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1354 0 R ] /ToUnicode 1353 0 R >>
endobj
-1357 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1353 0 R /W 1352 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1354 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1350 0 R /W 1349 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1358 0 obj
+1355 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1138.9 0 585.3 ]
endobj
-1359 0 obj
+1356 0 obj
[ 47 [ 525 ] 50 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 77 [ 525 ] 81 [ 525 ] 98 [ 525 ] 102 [ 525 ] 105 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1361 0 obj
+1358 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`

endstream
endobj
-1362 0 obj
+1359 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1486 >>
stream
xmU{LG%ʉr9ݚj!A⣩Qx==#Z-w CSV5$֤Uk5ZlS5SuV&Mdv3oeǢ1Ǔ
@@ -5817,10 +5838,10 @@ sƭw¸Om-åu^
T;,;T(w ;h 4
endstream
endobj
-1360 0 obj
-<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1362 0 R /CIDSet 1361 0 R >>
+1357 0 obj
+<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1359 0 R /CIDSet 1358 0 R >>
endobj
-1363 0 obj
+1360 0 obj
<< /Filter /FlateDecode /Length 420 >>
stream
x}Ok0@zp-;mڔ`$bhRe4
@@ -5829,22 +5850,22 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
aa>>׸1iCU<o3޶g
endstream
endobj
-626 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1364 0 R ] /ToUnicode 1363 0 R >>
+634 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1361 0 R ] /ToUnicode 1360 0 R >>
endobj
-1364 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1360 0 R /W 1359 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1361 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1357 0 R /W 1356 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1365 0 obj
+1362 0 obj
[ 47 [ 590 ] 81 [ 531 ] 98 [ 419 ] 105 [ 413 ] 116 [ 561 ] ]
endobj
-1367 0 obj
+1364 0 obj
<< /Filter /FlateDecode /Length 19 >>
stream
xc`
endstream
endobj
-1368 0 obj
+1365 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1167 >>
stream
x}TmLe^-+]lqShq ls RPG6Zz#"/\{/0a8`
@@ -5859,10 +5880,10 @@ _eR}&:q5d ub cly}xϱ3L7_kNGWg?v
#h}^
endstream
endobj
-1366 0 obj
-<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1368 0 R /CIDSet 1367 0 R >>
+1363 0 obj
+<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1365 0 R /CIDSet 1364 0 R >>
endobj
-1369 0 obj
+1366 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xڍR]k0}ϯ{6tN鄎ĖkM.&%MKR0Џ{9'<l>V :+IT.P "GVlb .e,Yr,Y^slY^$ցn=o4XT$Ϥ;<yZSar6X
@@ -5871,25 +5892,25 @@ s˭1=Ct8VePgdnWJNñ~
δ3\9N#ƃ< =z5A Ӿ<Fx?)q^ݳZkkL m*U=z}+j
endstream
endobj
-599 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1370 0 R ] /ToUnicode 1369 0 R >>
+607 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1367 0 R ] /ToUnicode 1366 0 R >>
endobj
-1370 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1366 0 R /W 1365 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1367 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1363 0 R /W 1362 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1371 0 obj
+1368 0 obj
[361.7 429.7 0 0 0 644.7 ]
endobj
-1372 0 obj
+1369 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 525 ] 66 [ 525 ] 72 [ 525 ] 74 [ 525 525 525 525 ] 81 [ 525 ] 84 [ 525 ] 88 [ 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1374 0 obj
+1371 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``Td\ǣaK
endstream
endobj
-1375 0 obj
+1372 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2668 >>
stream
xڍWyX
@@ -5905,10 +5926,10 @@ pDc;
|~b~_Pr6'=:?gбƲ՜ٚ3ܖRj&v>zfC3x22#n"U )wM9=ěm<BA1FB7x[\ݞ@{a7L 
endstream
endobj
-1373 0 obj
-<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1375 0 R /CIDSet 1374 0 R >>
+1370 0 obj
+<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1372 0 R /CIDSet 1371 0 R >>
endobj
-1376 0 obj
+1373 0 obj
<< /Filter /FlateDecode /Length 484 >>
stream
xڍn0<)=P !VRCBIj ld_cZi6R|?{?3yqOz9|_ul؂^)?w%2ϋM!pŅh .%?_~/,J !pJԤP-!$Tϥx"=T?
@@ -5916,25 +5937,25 @@ xڍn0<)=P !VRCBIj ld_cZi6R|?{?3yqOz9|_
s}IHiC--"%R 9僥Z6H.)Gz;}[ Ɛ!)R$2A/)KAnb;M]=V?ZzTJ]N{涹dg.Nzy
endstream
endobj
-469 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1377 0 R ] /ToUnicode 1376 0 R >>
+478 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1374 0 R ] /ToUnicode 1373 0 R >>
endobj
-1377 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1373 0 R /W 1372 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1374 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1370 0 R /W 1369 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1378 0 obj
+1375 0 obj
[734 ]
endobj
-1379 0 obj
+1376 0 obj
[ 28 [ 549 ] 35 [ 494 ] 40 [ 329 329 ] 43 [ 494 ] 45 [ 329 ] 47 [ 549 ] 50 [ 494 ] 55 [ 329 ] 59 [ 494 ] 63 [ 549 ] 66 [ 329 ] 70 [ 494 ] 72 [ 274 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 439 439 ] 88 [ 329 ] 96 [ 453 ] 98 [ 439 ] 104 [ 768 357 ] 109 [ 576 ] 112 [ 494 ] 114 [ 713 ] 116 [ 495 ] 118 [ 521 ] 502 [ 329 ] ]
endobj
-1381 0 obj
+1378 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``(4ůaU &
endstream
endobj
-1382 0 obj
+1379 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3534 >>
stream
xڭX tW-Y.!,!GISU
@@ -5954,38 +5975,38 @@ Mn >
.H^ڊ)jz!-,J28 w`9 `di>h8ߐ`ju<߉t]!_
endstream
endobj
-1380 0 obj
-<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1382 0 R /CIDSet 1381 0 R >>
+1377 0 obj
+<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1379 0 R /CIDSet 1378 0 R >>
endobj
-1383 0 obj
+1380 0 obj
<< /Filter /FlateDecode /Length 508 >>
stream
x}Mo0=8!PH )ڥJk6q$kuZb)(Ox͑#g7Nٗ7lqI /Dh[׈ lɷ+qJ;\OSM Ec_?M]>7AE5\6FfĂGι䦩M{7sl}Nv4 d#/j='|չ:5jfj~fRg6/Qm{!#q/˘άRfwp>C[K,@h$m)+ՙjGJ~sDO@0΃$Ilt"Γ 3A!ha)^-h 9hk)܀vE!(䲤 %(AKe E. EВ<[YJ9(jԋQ!DBdI80R)SJAKS. zO2hI%Z giߏ%׮f٠J=hD^&zy/-
endstream
endobj
-415 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1384 0 R ] /ToUnicode 1383 0 R >>
+419 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1381 0 R ] /ToUnicode 1380 0 R >>
endobj
-1384 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1380 0 R /W 1379 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1381 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1377 0 R /W 1376 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1385 0 obj
+1382 0 obj
[1123 ]
endobj
-1386 0 obj
+1383 0 obj
[777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 388.9 388.9 ]
endobj
-1387 0 obj
+1384 0 obj
[ 28 [ 525 ] 43 [ 489 ] 50 [ 511 ] 64 [ 367 ] 66 [ 256 ] 75 [ 867 ] 77 [ 561 ] 82 [ 550 ] 96 [ 372 ] 105 [ 404 550 550 ] 116 [ 500 ] ]
endobj
-1389 0 obj
+1386 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`X P

endstream
endobj
-1390 0 obj
+1387 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1716 >>
stream
xڍU pEUM,@+v70 X6e -ǀqL!`VK>eKeZ?K1`[4@
@@ -5997,10 +6018,10 @@ NIcO>ܷuecM·:tZ"K 4Hp'L4)v(*(8G:z<9
3##g< AjSS
endstream
endobj
-1388 0 obj
-<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1390 0 R /CIDSet 1389 0 R >>
+1385 0 obj
+<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1387 0 R /CIDSet 1386 0 R >>
endobj
-1391 0 obj
+1388 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M&+#u(Qj{ ֈ;.UUw̅^:nZN?k^>eۄG %k8 ImאrZ.MkY<xUZ!!l|^ 
@@ -6008,132 +6029,132 @@ x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M
և! PTa$M%Vzl9'g/SfK co,]#gI)]e<hmsrftŒ\DWDgD7g3#eN~t,zkݎK[TAc_w2
endstream
endobj
-403 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1392 0 R ] /ToUnicode 1391 0 R >>
+407 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1389 0 R ] /ToUnicode 1388 0 R >>
endobj
-1392 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1388 0 R /W 1387 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1389 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1385 0 R /W 1384 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1393 0 obj
-[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 884 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 ] 72 [ 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 499 [ 551 551 ] ]
+1390 0 obj
+[ 27 [ 850 547 875 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 884 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 ] 72 [ 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 499 [ 551 551 ] ]
endobj
-1395 0 obj
+1392 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
-xc``6.j߿7?` H
+xc``6.j߿7?` H
endstream
endobj
-1396 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6685 >>
-stream
-xڝy \DH&"F%13}G[oj.bQ\pȾC ,a$ Y(JZDmmݵ.Zm }~;3gP@ pt[|ĕnkC¦5yAx^;#{F<ۇlxe{[Kn&?6R8h
-;7K룈 RD*Xp V ULP|}]\cG5*E*s]?Xve X<%:.Z
- QMO >޾||â)PèHj5KM&RS(j65I͢fSsy|}jrR˩JʍZES5ZG<픒)ʗ
- *
-Bp*(MX*]mHj5XN_cf6lG&>'?wuG;|Bk>A\ ?m@ƀlA&9ܕI_ N|F_vȑs,v|5d͐Nn 7LΰJX
-2T3-VhDn:CKDi38؉9CsQ ~H[Ǚ_T!!VtON&ZCLOH×!KD%8%794 x@z?dզ$vU!~<vvY3ZkdT'EzT\=;A۱T^ۇGwsRO?"#7@_MTXI#ԙ0W0̦;dͼ0a߽'3e婳|p_g!PD/jnỲ1l&Vaj'oexqG u8tuA K}P`x8+%.؛4~?] c;]USUS[Laؗ`4mhʏ%5YwҘA-uv",]FN8\g'
-2LΔLnW2Dab~~b-S^YmX68QVѳ3vдsQaRi]{p_Я];&?ڈْSr}!W<bt,ݐ:(V$ykIt Oޕ]cgn+ґOh<f\1jOu7:ݰ78ڬ*
-}$G8{5o|~hVN(/M]FbT g7%%&c翌4i *5Ě׷tB*SRҰl4f<CgPqY' /j ECz:_(<鱴})x40\ ؑ@fCZ @244Yl\FR;#ts,ju\NNrbkžCe'a:v]Řþs0Kd柒"R~Hc$cw2MeZG
-)27qCvkҠi ? G7k6a$"̼) jA>Wf-q<OKͿc
-<;0̉Se+mXO#G㷛86Rf4;s`V;LhOi^u2/0x*}_=k&/T;TTL6-Dz
-]B'nHG2[394{<AOcHL*QN]Nr&<rz3G9i|)\Gj;V
-aⱗU 4ሾURshf^azN9*8q>c×Jrs޳p9xy5|pˇq~A0 wrM_
-cKL; uOn[-9s'X`*OIJ8T& ?EvĿ}Tl㋉kW%m1w3O 2~/˕N&%;Z[+Įa0pG0u:
-&džz1kƕt|>{:nHWsˊ#\UL)*@IKxHh |oKX2TL(Y}|[fTO'ٵ-)n:ڝU[f?8}ՍQlm&j;gq͡y<yD3֪)+ ✬d<nZNmEYi!5];~]{n2@;E)졋P"8Scf='N6ӗa
-+!STI\_BF >A„wSG+Tyٴ(4@D'=uT־^&
-4Pw:/UcqK,`A)t%X${;]hz#G3%mKl)מb["9jgڟ#m+D_(BMKZnDZ1~Ϫޣ5hEFgّf_ !X*x#q=}GtIoB6NVUF(Y-i[gHcwlFFVS/X8}lW#w 42k)LZ hg,ҧpIٹ)x8OҒk Kd,c"=!Sҥ9ٙZ-1B^IKut~چko%+K+ʌOu/H'%@e)Hi$kG7GK1>'5|o8&cO] .~8V!u3,p@XFgp I+.2h뾰З=GZtz?a0eW~jS_\>BD.e7 ti0Qd=^}=7¶c, >ܹb3qf5>"Q<WBp_zwO]8h-{ >!V™w{]G7PN=ט-ЖJX28{&O|+ԔueL=ʯQߛw뫙^hǬP-`~ oz;c:
-Ȟc?v =џq)37Qks+?6Mg\esSFRr rJJti O3Ďxȓ0 f<z,/D˰#ieU[#«hf9|"iI c 'lԢ`v؆ qсÜň tzPD[q:{I6ZO5!Z&IGÜoళ24NDf- iou"O΁c';̸{`Oҧ?fZ:fѨO>!#sRi<Z'vV1ιc'8A:xzbtY2Ula؂--EHLKx5F׀]S]0`+,#5FjQ*Al'ۚ"H7n`[,d5.[)E v/JhRba#A>>A!ަ6SVrVcR Z{)pt*=79Nc7fÙWs0ejqZ|Zʗ"ie ozч[4F),/E#=q9[)xB+Y3&^XcþzY郍LJ i8S }٤x)aS1E<3l8 69BX xxp1FtG[ZVt5L-ʭA94VIXmGΛK['q6~S5eɍr]l6`L:[CDs؝0 Ee{~r/d/_<4 7]j
-;こ4VW|PrR~2/2d/Um3(-IW3xŽ#``Ls`c7=WV> gwg o{5aӨ9Ja(')R䳇uovaQˠ%b(#a&׫JEQ%Dwݱ8m&T-DG0l/fa,#IN
-,lSӚUf 7D5Utg# <w.._pO/@a^6"ta6dBw0ԹghXV#h5/h%qJY,+ũZ2A>Q]xR
-x"F}x@6GO jҧ uzm|ԱF(u6#".n9ߋq[֑ Xp8
-"o/dFYiR9c!&l52Dr 4,8 YuLea7= ~V^`$^Ň٪z40l2S( lߵKwVͧC&y@n+r7l< LАXad,`Kbͮ^[Ò8q.%sS pH1QNEqMߕ&,Veɳ5jLAMϪ%dUfdBl$/#*݅K2qJaLQ jcn~5j4V|X_hX9|4·0eySܽykcI=ӥ"M`O<|}$p$) Q"ފk4999CQYp&NDaB,Ź™ϭ?^X̛MGb%a>+]H4N%B>~)z|NTձ$MFLFIk6#>FzWBB9 ЋhRhi]B4ٗMf+UI,wԓ%ga=z7,MRXf6ub&[S8ܤ Q[Gw{
-/2I8JyZ}HK1"~wa!airc:R\QJOW ¿G,,O&.@FIp+jrϲ=a"hEB5|yM*c?Dwƣ`<f -LKA ylgH1LdXH pC=LLB8cD5)zH|FRNIL
- ecc#RUL6ڳ4b)Y#r>qF9WfK']]s,5dmv&v(!:zOk:om؄Py|89 ԧ<icWa0d~5uKX|bz:kt1qQi3FC֞=`jc!^Ka=a.DcuEa!Mni?=ֽ+<c?f8EQZߩ;hJy"ؾT._b3ہ_c>7Woܶo;^PTk(ʳ:^?Dfy
+1393 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6916 >>
+stream
+xڝZ @SW%1W W:uVŽ{vI@YY%j{N:tZT'Ny}{BrϹI-%-]y +V VL}cһA^֑żwF,?GxCl{0l.76\8hyI^)rGY/ M(H1wO $L 4,./JƔ)&Zg)ޝXPx)MVx/4\W(<TA>P:oEtwD7"4:,rd:?HELhDVEz{)C#Q~ފ׮SD)VVLPDz{+fFENu!s"]&EZuV,]轵&GF)|B#^Q*{+{wHTE 5A^FQcxj5rRoPӨLj5CMͣSPR )7j ZNVRQjj ZG6PJI(Oʋ(*
+`*
+©*T KQn6I䱀Z`u-@|ϽævmppVz,.)?}ad / R3ok^|텃I*~4$pNYcP8s!(Q1 1dDʈ$0ot8'ҸG"d"Yq[^d$ mhΰl)EQxi93JB"d0uԊ>SȼeȒ$B N45#M` jPB*Dw{;vY3TqMj2K"caxl31>Ծz lqx#Mxo@ti1 qF`k & V:MR甞sh-GHNI]DLmlF-;v ާ
+٘f
+
+OJ^ȩֱؓ^!l/S+NҥxyR(m{ؐ>rC!0;J]fT&}%܍{ψs
+U'VRf (禢x9NM#x@ ZͺS
+ aS3b)oY/-lIJII@b̂ M6=+'4,8Y6ߡ3y,{- 4C*eꑡFO]d<`OGM n@숣2mC`Ά#)]Rt:Mĕ&;06 Z!WS{=Lnxw0Ff1IQ [<O$6vg-^e,HLex1= Y)fHJV -r4+3ai7ـ5;<r4?y9Qc<m_JSy$2x0胺CٖsFN f2xSIgT"<N3)`:'sgfD ;T(L2.ò
+$
+TgG(6XoZ>cPs>"e&r3eK[<ZYN?=LeoXl
+L ǞWq0LDõm֚ufEߤ$#7mwV@=k;a _߸3/ 7źmcZb
+*4sq~reOm+!%2se%f?8}MlÖh8ePP_QRƆ<K ϯwiʆ*8'+';Y.ݻeېtVZHMG׎G>Dn8 Nta
+v={'䍜113Tž'{fgsbe|)j|pيį/_^ mgvcpe
+HW_ |Np; *<l^ѿ ̺A2k_t;Fcq%KP
+6p.JK,+(u4c[ضD'߱HŨ"/$V{mzmO1=E6^
+H6?ˎx{xy:tx%OzW
+Ffl<SZA*PB ҧpIٹ)x9OҒk Kx a"C 9ٙZ-1B^IKuwt~k%+K+a $_N J.MI!DR:ʑgi$k0 ^c<|JkpkǞ AxY*?NC4gX 6g? +h.<(Үa۽GaZɅur=”]ULU~q.{ $~f$J¥`>l0!}!u
+ێٺ802aqrfƕ[Ԝx*`]?&@_;'${Z6j.
+eBw=h@9 \S^-I[F’T>Wi>PSו1 (uz<P[_!Do,f+ 4GF?),%dW̎G``oV6^
+<%ȷR6ֶw,:,4>xE!.3\GAp~MJ+-6 K.h n٦fa dϱ;CQbrKMn:\fي-7~SqW7cWno.]9V.!YnXIZ)ؓ* 2`\xױ#5 ŒOŲ0cvD!5m쑺cfö*n/ڸEN?kHm#3(]ALFt3g:`A(I"8}$NX5ʀ%Z&IMÜo|agǥhve1HZl--xFM"'Nv7q ɞ "ut xqƐ^\;Z!'vVf.sNdpeetY2Vla&؂--EpbLKx5F׀]kt]0`,# עT&K4H[G
+=5xoڌĶXj4:]\SvP^}Ў%r+(e7dGZ<=A[ @H?87]X]Fݔeg\J2;3>ÔQ LiӑJ"T>I^qnS~ԃ0>Ҫ QJ;N1?>*p+?YN7aqh";˝X毽Dw3K<ulܷ-7>؈H{|b `gR2={UD}a̰\xLls}#,-BǏnCkYu.0(w$fRXfamĦXmkywjѥ:,)CTmaƤ:èQN cϨ(닊Ic^TgxGIN9GW0RUHjÏNv2Sz__,^^7׷_a`Io_'WfjQZ"# exG,.јI;==VT>ewg5߱Ө90NR]+$þ <nAEiKb(
+g~EV< XNamO P`INFzipH*t0ʌGZs# .n9ߋYϬ-a`bZ~0#8Xhk#uno-svM69^k{t3 m\[貵-Gٓ"Eoَ1^ g.hi idU!!*קa̺;:̂0 a ie*Q:=1U>%2UD
+57  M *bT[A5,?3"J5?,/k}ȓ ƺ Y ϐ0&d52sOhXhqBn,EXQW # >6Wr,
+C;/%!M[5x1$*d"y9裘#,v#'!c'_܌:.2wy, kvp$.0?`$}4LLmQ2Q7;0 #݉9ѹ黒ĹőYl<SP;+j192&Y^JJB9q0@u]n~5j4V|X?r 4·0eycܽykc 齺ӥ#M3`<ɸ$80N|oõiaڈ,](fwIlAN@!A,™zZ?yf7%E4 J0aYIQ}Vo*!SSKb0"-7} i>a
+^CXa&#c&5LHU{
+0#TII;S$&YPg=z Ut%sr2u9c]x4jbbXHJ,MRHfvu"&[S8Yڮ:gYU‹d":p$챃VkXRҶ0xMXHXZ.YK(*wd_O#EQ.aeɣ
+P׈$ g,;0SD̋$j TUU˯kXhaZ
+fc>Dbf!, 21@
+! iJe8%1)8 Kd#jc= _G OOo1gsEh{r Ijw7x:K Zݿs5g1_筸,%+&>XPb?ԁBB'`C*LϗEm KLOg _/=&.*"MqfxR㺳,9s^@5l lW{ig { Xv8-JSz
endstream
endobj
-1394 0 obj
-<< /Type /FontDescriptor /FontName /XMUJJS+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1396 0 R /CIDSet 1395 0 R >>
+1391 0 obj
+<< /Type /FontDescriptor /FontName /TIEZGJ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1393 0 R /CIDSet 1392 0 R >>
endobj
-1397 0 obj
-<< /Filter /FlateDecode /Length 638 >>
+1394 0 obj
+<< /Filter /FlateDecode /Length 644 >>
stream
-x}[o0+H!%7mJTK[k  ( }&B[3 :0}Vյ)t8u0,zѦ{ZiGTNwl8_/֦l}>;aý ?7^_wͶ&NYuValslݍ1_nڲ2/,~4j^]`DبW|,jH$;8A0U_\Inv6*hkmܼ`(ݔĆwڌݵکaQ00-h6r_+-}WofbJ 椃5 Mm?GM
-އ?y
-3[(xiI"Fys$g ZO-@+@iA ~Bg$-DZH $-,`G){2"" "Keej"C-#8e+ "(KqSqPPNН[ ];
-tDk~)NL $K)UK)K'-$" I'I:%8!%"Eq$:+t?;\=7Oh1[o=k7fHqm;@sM)WW[?~<C* JZ
+x}[0+ԇ7I.kI^HB)}s,ekec;tƻPB <#y&_\5G龹tEL& /Z+h޺-{5u;i+߾?wM]8 Y[s_1v3|<!"`mԲ`JtT|H$;:A0U-kk[lW|L_;ʼ[f/m{N <gJlaKQk6u*m>WfbF-J]3k@~@O<ª hƿBOѹB,=-= DxJd&D' Orh*) A ƈq"hIO@}cEH iE;H#1_2(,#-TT5"3E?eeR-gv'Dn9T'ttDq%Z_qF'&RJURJI $H':HID:EN"r NHrn9|u'-ID9%q/ 7սnV}Luv槆3mZGM#2
endstream
endobj
-402 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMUJJS+LMRoman12-Bold /DescendantFonts [ 1398 0 R ] /ToUnicode 1397 0 R >>
+406 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TIEZGJ+LMRoman12-Bold /DescendantFonts [ 1395 0 R ] /ToUnicode 1394 0 R >>
endobj
-1398 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMUJJS+LMRoman12-Bold /FontDescriptor 1394 0 R /W 1393 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1395 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TIEZGJ+LMRoman12-Bold /FontDescriptor 1391 0 R /W 1390 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1399 0 obj
-[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 531 ] ]
+1396 0 obj
+[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 ] ]
endobj
-1401 0 obj
+1398 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
-xc``&
-G
+xc``&
+
endstream
endobj
-1402 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6748 >>
-stream
-xڍZ \֟2c֕ZmuA;;kI a/7D@BEp +j5ֺE}O[w^}߄u{;{8p&޶cnr|ܭ0Zf*3 f2L0`Cs֞'sƷ_˛Bsqh4Ӷϰ^c!Fpd)+.cׯ]0i<"V,prz}sed_<Z,KϓϓlGW%e_iOXD nD)
-$P!P:ODB&QJ%Q2B
-Jl{CZ.SI܂2T2wDJ%A*U[竢gl)[]i\u6j*F% +$ROpr7(WJKe`U,~Y/M!$Tb1AD$^&^!^%f9\b1xX@N,$o%2b9p&\wb-XOl wb#Bl%<m'ExބK  "!BpBFȉ"PJBE"FYҎ?6ushgn^9%+sp8=#bG|5pQF10zhY<F;vX8qZ3y78?u⊉wu,wr|1W~ GsL[tj4A7fhN#2H Hמ#aq?=UH _Ȳfet7<v"~w.hSdqYԝh<uAd\3Ӽь.:-Hmbr(MKH{\aj66EZ!hK*achJƆ\l
-8,&;x؅DMdy\BioP
-%e@f8^YGH {EhWX3/ @
-`b aUհkC3j 6'8!+ Ar-g*?ٜ+?՟?8
-  aJbT*`2}fzxۈ@SG?MS?~xn[l@i4_BYiѠۻW1Oaj  "|fܲg\&šbub"TX?Mx񪏿: WӺ\mnHgbëXxo:܃Wo lt&<. -Bbډ\%_Ц ?yh_ѦC
-G(l:/[!Db /OڔG<*N\kZv*lVօ+u溺2eF#Y&7a>sYZ<]Z% lB#`SN}5$VM -}7kfso JPAL$~z),C9 wECAEفCOv[zb1}ErePŪȄE_Ccu'33]"d=6tuA?SAU'83$'ҦhE{ǚ}nխBF0 ϊ"1kא5rˆhU6;3i{wZd(HnZrahI)iIrT^
-B
-fj
-[*XrɌ̊#^Ǧ4xF@(}`s;"k
-F~G:Z|.0<FZl7"O0UJ
-P2"B|#A&VdDæ Lڨnlq?Tٗ_J\ԙGO5UW{<2pvwY 68>rIU1|ǣ*6wV<
-|$j`ZT\dzcgԍrSǮgT
-Ȍ͜c_"K.D Q
-M_GaչlIZ$
-j*D1j1_`qh<}*ܸ~j筗>qa% UZl:ԍxSڄ64c`Ep tNvhbo(M4tYهRI'h8#~Ԙ@$ 2˭z
-Q%j
-R3@KڱLp`sZ7 V?::ؤxQ>B`{B/5_f f-[lǰ9EJ4}k=~,<~*"vݷƾ{[cKJe 5|bNܵZvZ,D? ii2 (&='0QOu^i5 .F]!V;l<reW( a+2΄"` {*jF]T#Q:501նf5v[{c랡qE-[SRX{lm
-hS7lU3(,kYP2\TT"π^SZT(h7+nC7X*?rH
-ߨvpu>u僈Zk4PT`޿\9˖/_Jٟq'h㥤(Ae|yD{Ձb)TҘ'@ykiMNSΈш['4bFͨ*o? K;, V
-֔lU׵> ՂмzXbDUfrF6*1^fмHOS( _gY2E T$}YB~
-}Vw[[ERᬵHLJ>%&DO0swM^6~*3LNQUfi9 d
-
+1399 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6684 >>
+stream
+xڍz \ĐITc1wuV[m"]p)Rwְ@a_nl{EUgݢM۾c/oB~ ޙw=lڙ<<rٛd1~JۭUv*t$c0R#Ot_rt݁o>K5_0 x1y(ǩ/.p| #x $1+ׯ7e"*^sqy}smt_@"V*J̑z̑z*bWr,/"HzɶHcT2JTD^#
+ UIcp)S)dyL)UȤ+7%]BdrL:{Tɤ!ju[sc(sgTs#^k=[>G)@/4B5[z*~Ձ2:TOp_4ɄBL%//ӉWWLb1C%^#ěBb6XJnĻ
+b%XM!“@l$6^f›Bl'|_'@BFDJD$!'DM( &4D;<k-vDxmv
+ 8="Jcb.WK/KnK&GGkCJ58BԈ.3u}7,S7CRw>3y3>(a>cM )+Ez,gˊ
+|6;4ja"}ia`h˔fX'㡲6ԀȽ GiOD1K'\|YЃ5GN]=zh..|6G\W]geJ:>6I]Qeg % tMme30ageSeEB- 嶗,=k+*n%<
+m؉^(
+@*a{`U'̇{ZZuz_%(?Xj}nų
+01|6XۘȰ淕PCz;@<8;G>7*a-A3g# %X[;Kwl2zG_Ӓcry
+MA&8WH$ 6D1o섶6*[9hos*oPi 2\PWwSd;% i1i`W춴p䧉 :I`r\13^ƣȧ/IhѯwKb\N~Ry ~"{ģ, 8zZf ]|gyZSs"=nQo,^s
+hue.ƻ嬓xeKoFt(Jog,[6?,PS(D^(O%JmuDGM\ R,O[DMs'aInO>D?u){SMLmY@*њR~>ހ2[}Ξ=A_o^*w<p9G~[6аE|>Q9$P 4BI\\Zc(d~ǫSM
+ŐO[l{@E1cxeUaB*wsg׆w})
+~m*n  S?d6
+'5aAX
+%Ywcty̫}OD"IPPQhjUKa?z9<VtpF5
+&͍0
+svO֛-5rRtnS8(U[ftF\cs
+*tĪcY_*6=6oɲƞ wA>ۘԝ&:]Dr$1yiQĐW?3ؔ@]~iJW^`ӥD[+v'u5>U<6X%1 LbYP:pk
+Ut\PYKJwvB1H( H+WqAR2H5~-۟yei xg4n@K*:8:hq_Z}cGyNoL:;q
endstream
endobj
-1400 0 obj
-<< /Type /FontDescriptor /FontName /FURTAI+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1402 0 R /CIDSet 1401 0 R >>
+1397 0 obj
+<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1399 0 R /CIDSet 1398 0 R >>
endobj
-1403 0 obj
-<< /Filter /FlateDecode /Length 678 >>
+1400 0 obj
+<< /Filter /FlateDecode /Length 673 >>
stream
-x}Oo0C%zH1qbBP$+M  ( ڞVVj_7367?lXٮ>g/&hQu̖eUn^v]de/~6e奮xeö/ڔm>EiۮG1R?<WŬ>z{]4D1ޕURQ"2Ig~t9qYh<C׹4F÷mYDe}jr&Q؝;=Z1ޗ[-?B*ٜ+#v6h"1^IdumjR{FO )$,&%:P"ASu)4P6e I@4ݣk MOAAQ'=3Ru EG4 =(8J<(ڀS==ixOF)H"2M2e$!:S$VВAg
-R4gx! w4E65F TkVܭF<A2$hB4؁ 2$h.8i93?'?Y~j[70 O_à
+x}Kk0E!]q,YjK@A٦1$EH:'-ZU)W?^m,of6?mjQ秣gk [\V{b0_-VU_ͫ*?
+{ݗG 6w<>>OOuUov:l8E?'ܢ~QC~ٶ+^n$qxy}hHbx+NUGTeޓrsx,s9h/ma۲ڋݖiI4.ъ*jٟgXAn^kmFcA2D*'z݆˯F]?4D&4i(Ձ4PRP
+8esPȐ4h2u\qm~:P@Kԁ$e 8$8 8"(Ef42 y
+<HjN
+I(($*#1]vNUЩZZBKj BePm2 <<Sˠit7$tB4)i-nECmjj<S|[< yJjIeHh$#A#eH0]?q@N0%TOƏͮ0>Ä򳩬DŽmW0/#<,ޣ
endstream
endobj
-393 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FURTAI+LMMono8-Regular /DescendantFonts [ 1404 0 R ] /ToUnicode 1403 0 R >>
+397 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1401 0 R ] /ToUnicode 1400 0 R >>
endobj
-1404 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FURTAI+LMMono8-Regular /FontDescriptor 1400 0 R /W 1399 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1401 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1397 0 R /W 1396 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1405 0 obj
+1402 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 47 [ 549 ] 50 [ 472 ] 63 [ 549 354 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 88 [ 295 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 109 [ 549 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 118 [ 490 ] ]
endobj
-1407 0 obj
+1404 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T`\4ţa*
endstream
endobj
-1408 0 obj
+1405 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1825 >>
stream
xmU}TWC23,--% ~`AFH &"H5`˩,JY+ǮG .Zp`Y{T{a nOߙy3{w$" fY|u.!huD3,Fg+Nf%%'ů$M2Z|ӏt9! &Ltmo
@@ -6145,10 +6166,10 @@ C(ŢhJ@kmDP*2(ّKDY|=K׉D yx^^$Zɇ=f0C
`=d(#p
endstream
endobj
-1406 0 obj
-<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1408 0 R /CIDSet 1407 0 R >>
+1403 0 obj
+<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1405 0 R /CIDSet 1404 0 R >>
endobj
-1409 0 obj
+1406 0 obj
<< /Filter /FlateDecode /Length 466 >>
stream
x}Mo0
@@ -6157,22 +6178,22 @@ x}Mo0
_k;eo{?vqr7
endstream
endobj
-392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1410 0 R ] /ToUnicode 1409 0 R >>
+396 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1407 0 R ] /ToUnicode 1406 0 R >>
endobj
-1410 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1406 0 R /W 1405 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1407 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1403 0 R /W 1402 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1411 0 obj
+1408 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 70 [ 561 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 649 472 531 620 885 ] 125 [ 590 590 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-1413 0 obj
+1410 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``0-z߿@
endstream
endobj
-1414 0 obj
+1411 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7359 >>
stream
xڝz\,;d-3:*DcƊ"-,
@@ -6207,10 +6228,10 @@ sL4y_a0
nt``6Doz}Nexi4ff:uQ:+[d Cgr
endstream
endobj
-1412 0 obj
-<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1414 0 R /CIDSet 1413 0 R >>
+1409 0 obj
+<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1411 0 R /CIDSet 1410 0 R >>
endobj
-1415 0 obj
+1412 0 obj
<< /Filter /FlateDecode /Length 667 >>
stream
x}M0=dɧ + HBbh$DI8kJW>xl;+tgmdW\׬qϕT, h|+{6\ӵ*'V\kԿX{Æ;Ý}~}UFϧu=jW'@gكYf.ۮ =KU,ʜsFdFWCTވ;~2߼ҥ2Zjg:e#b{[ȶTG6|c9I<'IX!zk]ld.l_fwi$ ,BvM6SGLuMW'q*j
@@ -6218,23 +6239,23 @@ TIckAD/3z+ޕH47䯌_`>"P
I`?YwMmucvwJ%o{0r~HW
endstream
endobj
-391 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1416 0 R ] /ToUnicode 1415 0 R >>
+395 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1413 0 R ] /ToUnicode 1412 0 R >>
endobj
-1416 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1412 0 R /W 1411 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1413 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1409 0 R /W 1408 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1417 0 obj
+1414 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] 187 [ 611 ] ]
endobj
-1419 0 obj
+1416 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc`
<  
endstream
endobj
-1420 0 obj
+1417 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1865 >>
stream
xuU{PSW!fe!{[ԶXV >@;ZWK0H^i7፼b@"mEeTݺjwhٵ:ǙDwٙ;~X` &BR$ǿqS
@@ -6251,31 +6272,31 @@ n@ 6]xɊLRLZy`%g!PᇓG HtHm_V6s98wW~
;;=?z=s+Z]]l-%OJ"< #* N6;,a;펆 X^hu
endstream
endobj
-1418 0 obj
-<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1420 0 R /CIDSet 1419 0 R >>
+1415 0 obj
+<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1417 0 R /CIDSet 1416 0 R >>
endobj
-1421 0 obj
+1418 0 obj
<< /Filter /FlateDecode /Length 413 >>
stream
x}]K0+M/Qps:]x%g3&%m/=IVQ xzޓyKKhxahTl0x0Pψe_mQ` !ת"qűث~[|u6*$;6k#U*a6;H9cTn .!}lv8KRJgOQQT85-V6AL3'k+*} #i
endstream
endobj
-390 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1422 0 R ] /ToUnicode 1421 0 R >>
+394 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1419 0 R ] /ToUnicode 1418 0 R >>
endobj
-1422 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1418 0 R /W 1417 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1419 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1415 0 R /W 1414 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1423 0 obj
+1420 0 obj
[ 47 [ 624 ] 55 [ 536 ] 59 [ 641 ] 77 [ 613 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] ]
endobj
-1425 0 obj
+1422 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
endstream
endobj
-1426 0 obj
+1423 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1466 >>
stream
x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4mmtVl>қ7/9;("#(&|e֔ur1Sk2)\d K%$)$"B*Q%h8G%SbIC*YRU͎4U#Q$!ȯљ(?2YS/) Ώ%* -*c֨s5: zz.k Rff+m53.X<OC+7VhK)Cݴb:O_ JfK-ӻiikJҊsabȜٗA~Aj^Nk4J ]rh?f>˕k +ul!c
@@ -6287,90 +6308,97 @@ x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4m
:vS0<OQ:ڈvo=(I/,:̌ jt#"8kXhmdk0$s iOirxPH]GZ}>
endstream
endobj
-1424 0 obj
-<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1426 0 R /CIDSet 1425 0 R >>
+1421 0 obj
+<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1423 0 R /CIDSet 1422 0 R >>
endobj
-1427 0 obj
+1424 0 obj
<< /Filter /FlateDecode /Length 403 >>
stream
xڍ]k0+.)̯0?PټlR|X1d>=9y󦍧6xAMa4`HshL2#Z-М$Deĉdc[4Ɠw];m|,6*K$͋ 6xΩm݉lZ#Gp?QB!tڔRa&Dev !qs8}N\J2m^D 4+E•樅<AQ#Vy~Fk
(cx4Mn4C]TEyy˽qw"o)E2ԩ<!8h bSu8z4T9̡ߋ-uƞzSO3G=GO=E"O]Gk{#ne-'VimBrBov Oji5'?#M
endstream
endobj
-389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1428 0 R ] /ToUnicode 1427 0 R >>
+393 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1425 0 R ] /ToUnicode 1424 0 R >>
endobj
-1428 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1424 0 R /W 1423 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1425 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1421 0 R /W 1420 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1429 0 obj
-[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 ] 116 [ 607 ] 118 [ 607 703 511 575 ] 284 [ 575 ] 502 [ 319 ] ]
+1426 0 obj
+[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 869 607 869 607 703 511 575 ] 125 [ 639 ] 284 [ 575 ] 502 [ 319 ] ]
endobj
-1431 0 obj
+1428 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xc``0/y߿w_` 8
+xc``0/y߿wa 8
endstream
endobj
-1432 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6445 >>
-stream
-xڅYXڞuT@dXYV[)*b]E@A@ދ4=қ EPV(#j1&Xn7Fc4UMhLr0 s|QL&sX+OX2toT'~故Zxi8%I|?IKJ~ʢ7X8b=dh9s,!Q/ ӏQG}OI
-Ϳ)..3懆GFLl>v^%84628H^2EtzYh,9}:tz::?"R9azu`P:64"XM>#FC#QkVV/ R{mW;9Ց7F8o%{"lӂwvX<}*)QqQꭡj?(ߠSn_ONFSc$ʉB9SSit5ju Mj5rQn|jZD-ޡ<2j9ZIVSk'MPfʏRT
-S;P*
-"(*xpٯr"FeA6l~ibEt}^1R d-+Odl׀Nk*z giQ;l/~=8g#v*[k?>r򰃳é!vC"\8L9,OeUqC\0A"8ҦXY_ĉ .m
-JBwŧ KhHEÂȠiTSriV\Ďd=#]oB)@Mt6ôCwn?PDv'/3Z3OXmvOn\}@\.l(>i+1op~*b6Ď#5<yWT:{dNrṥ(P0섑@\>f
-Q`Q X|8
-XUśof|g 4@>FSw?Vٸt"](}K؇?S lZE| }*ʦ0I&Xq(؃-سa#T0X!<t1=0Hd++WZty_ `{ Zos~ iw 6[ 6XCyzCf)k|]Y%'jc3 ܝd?褼jJ鹮28InyO>* ;SQǪtl̑=u\'_#,>\qFCV-`nHX+Qa|jVVzx9}b颽 9}|B6 4 ^. jk{`T~+E@eY2ڙ{o䰀`\YlJvu|bVL-Vl5^83n2Le`X .0[&_έe
-Oò%kc-32u ծ]{~o\DA_ 8yyJ ax"(UWzH&q% /8=qN{Ypʋ|!Jr1%Dz 2KQ °i[.oܨx$d&aú̂sA`}8:&is!5$:R-"vģQ0Sqb> }JѡRO3E>iR}&&+Q2!)~6R]F;x7LfK${PfBVfb1feðQ}M7֟L[]3XD :UAi6Ñꃖ %C vsj=p'j]%P U?
-,5{-o~VT(OPŒ A!<xN, 8U~սWNXy֭:[x1>q8f# f VL"=wfz #=\7Ȑ bjO0 _Fp^5V9?k?!$#-z
-+fpsV TA%#m1hgMivNA>v{aHs{ޔXסzgOdҺez4im(]Pȥ62@H( RxSbZX-4klo6# y>\+QM4{] ǭk qdP_͜xisf絯U`Qup7ܯo<6h[FK'\*#C|^&퇑M`a)
-#TK=H# -^I]76Vճ7WmnB3Ũr6;un1*3[H`!]ջh wu(gO^ZEv̪`̙[WňIbeVfVjQPQYMht=6]9v ]-$
-5v:g@vC1sy\l$J>?Dtѫ1J.#*
- ȋ"~l&~(
-bncus;@wp\ Pl=_*csl߅plf~,=Qvvvt"Zk sLRhW N/_#2w'Q˶xUu=SgnX7 v~d⢹/}s[uf`XZ+u]NNφ
-sh0ms| ӷcߙ/sEv?E<nW8mџrG
- VaW"_mIA_Ϧ\|@vxP~?p'Ww#~Pz5}cٯjKA=ңhI(a; p-ƣ!c=J|nܣpYv)=eGʿqwB;9s}tLrQ 2ö֗O`틕30YԗɊC#ܑ#5BuZQG 2)0pLRujSµY(=_9g b5U3 BoH= ușgoAtj_JQB_7ޙu?pg@
->1׋*"c/H_Q A?.W⸴]:m&ʪHx
-Sq?,瓒LHWPqp^\<=Oa׭3z̃M}f8?!6=?|!z2FkdDMv$S*NX|uuO%X8G']% Wq7=FG#X5{gʎ&9Ź W裗vwp~U.`Q\_%>pB!52,$ ;^Z&Y([Ӹ}z(hV;\y\NP` 锘NG15AmJm:s?{9(C]]Z~7ݵbIFOWuнP:"Ujb,$Շ{6/=O i^=ʍ"QF0;;7|mI/`!9$qv 'M3%p?7rkbQu[TIk\>`|ig}fBq~|ix`n-UaU B{`kdKS';\Q)|Yf&J~i϶lgu tp)T5f)Y#$`tg(ܜd!&G_UdQ|ZT}ZZmW|Up0[m9 [r?܏.x^ΰhhQ1nQЮ,qmh;N2B"d*Ax[UhPɀ3/֝6ϱ'E
-a;TAmmu |?gܷ
-X?ʁsP xxs\V'6{U0x{:,p|Xei\٢J,NLN{:3#Ul:tO/ z>-AҐo#"FW@c~H0S3d@݆1[؉i"o.pQwTtSFE排+ªXЈ0@dIv`|O, ]."vUF?n:
->=v Ns`bufN x#XޕHy&nνG⁳yӧ)X}kw-G ;w!3YYL.}.lEh/϶RGDOԠ(,PcM޾aS JUSƏ_pFDyaxBcu$[fh]Q")ĶSZAq
-#F[;-xR]s{͉SI9|]ck׵uB})(+Vϰ<7#L=^P3חl5C(l`Yuffv&3xQw2+dKƗK|eO~^r3zlb;7UkOݟV[]lƦ4e ==w<ôB|#ܠ(e.Sލ8H#jo2
-oh/Iϕb*ti^N i,tR.$]d"BYT6%`Kl,4ЧEaY^+:rE"
-KѩZ.Ed0if$;FBY-4u#= ǩp"d@z6$HB Z.);U57v
-gTч%WqޕBV4uЅB IPi`Vrȓ>R~5De}utnn]z{2}jVGP;m6U+%;[GVxh4s .ZYyGJ9F+.uL
+1429 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6804 >>
+stream
+xڅY XW&hPZEU.*((D 䄰oo :VRkkVhmm]Zkk{Զr/sN&~QVVL&s\9wׂe.Z?tG
+25zzzzI͢ܩٔ5KͣS "j1ZJ-S+*ʋ(j@R *BP[mTNEPTMPTO%P2'r(IyCfEl~ijUt0}F1Bͼ4XWؿslπ^Mm9 ۯfwY籓']O 5Рaa_VVp:mtpgoӃD#Jd=;CȅJKHg:IKz+n{
+"bUV1HCCOVZ.65 +qHJi[>pi!
+B;/ö^mTչ/Lm2q57u87V `ɗbGg5ϺoE>GEV>(\wDzml>L)9fm{@(0NHy+M_灪5՝_i|\ozÔn~ `J9sݢ<v2XxXLAB8 "; G5*V"9SA CG{ =ho|.
+zLiEYyi5aZ^8p~=vpF+" >3d1{6ၞt'5N&0eQ|2.K(咷kFCA tRNNRWRZX)\шQv\$]'┕(cU:x 7cz)}z}m 0[-ěޘY/VT>=k }ly.c !C ӶK[<?J_Yv&;28, {=l.vEv}lY9Ky
+ϛl4&:W+xv,7W0CFl ۸'xSeħaقU NY3o@m((}g#'iǃ{='Ĺ-kTbYʪu/m_1w0Fэxn+oޤ|&Jr1)3MeQd6Aa+x5Ӷfu/x蝉0uZu'adž8l`ॣd} 4rCBIu2E(G#ac$}ҳ( qx"4R+-p[1;o<
+`ix` * Ag+ja~xEw\J%a-GZ~]첐aa8.@{WZ6*SGXxS Ai6cg~g!AFs hMRɎޒK5ڽCgT
+,x1|u_~&eUx P^_݆~*FxMz{~Xեso0}A9e2eǯ_Ccב`\kDdHpa(.4c3H|q CC99sy TZjfIFHiw0H.%(;7)Lcܽ?Ïz3`o[/ ] NGxC}_|&->^_@>8)4@dJ%Uo2{ 8s\}a΀vie~ܬU)`qH]83+/?vmf3- wvG%N]IӜ{5FܖҚ8\j# dҫ}vX_{ߢ˰7cj<̦H>m8iDX)JxH JMEIȴRQcx'EhCiίN
+*揵_;xg<x#^+yx."+AŻaا&{^Խ{os{Ȼ@n;P,P:%P$6$y|y>(j6GṡrCSJZy.Tyro~Ҿ%{&p>Ș!jZUYsx&<q}N]$FO*VeTYP__VQ㐉hK<{&%tatm4
+$pÂp? zt(hOqۿ.N`*~^8W407
+_󱾚{M2 Y<yZn epFCyO":)Ac3|
+⇂
+Ǎ"QDZw_IX'7'5q !I1'f 'א+J8wFBb:<ghPF8]4HS1Cg5(=
+"-SiƱ|#+!ј j$}@uqE\e,$L-#XMOa`dӜNlW(k|"\Me@1WO
+r
+f>/c?B[<d$.#9HþX^fЗ :!F􎔂h֫Hc0r8b(.{fS
+RnʯϘjqgLh/g88V-0]a}*d`0kEEx'950Y̽0KDs͙ۄ"ê{"_r“'߄|Y0b_/8[jg_- &wMg2 g(a+ #q$N7፠/B$.={Ƭx||[ o}̿q,wᓰڅַfSG g-trLrU!_qacuxۇ0ʩS,x`EgU7ٹ=Z
+F+֩,AҊ?H$U2ը BGP,](=e8+`4CQ7Ll{u@wŇV3RN{:l@8f D:A7p
+f1OJ-p$qhM=Un?Q&DݤR[Mk[&-fXMPסL#<W/HF'bdPAÎT%%|Gj{=aq|1\)l]6C,x#Hs[kdr~n1[UӔ)1aPq?30+0rLJyyb<S@cOV5^x2|R:5ܓ-M;!cD-h5N~%Bl1o{~&z2ְsƽz3C}bNѯ#C&^ڑ<@\ &qoL!(4x[h`>]ߗ
+X+U[Ϝ av;زŒݕ =7YͰWkJsKu` CU
+,!~]%p>!L/_ʭǣ{/c>* 髸Z]#f0}#K#*p΄ Tk,v|:zwR]j]gቕƗPv ^@xDjy~ffn$]_=CZmSH5ٷ^l]qA{֛r?ZCWdIFcS;K∠6< !++Vdg;]Q̈])|IFJ~jb[n&]ų2: T5$cR VHrTP%SDYBl!__`¹(8+:+T EBL|lBl5sx=S*fa|Ū
+fUv
+FqzcR['9˝%WIR].xu(0wm;["{_;^̼B  0Fc`7cv8fRC_=
+1??|jmYm0
+ om|a8,N<zT
+IӷTf# 3~ݯ1p]3+ w͇0!/j z!`ӠI4&
+]s!NÈVHq>xRϖ5Ih..tkmXv~k (n^婢ySb@EMmj>v¿4)mh-ln>7pS%0l4|tFq3Ls?ff_ de%B|dznTr3Ҭ؎?D#Na7П}i0|/ӳ1o$3z򘩫;O[If_\]?`l{zc{8QVsZsuFS
+l
+|96tdQ1*
+LU]{u3*Zdeoү!f@Qi{r)w19_!x='kgWUP#
+<zWv駜2cfiXfe*%bqھl-٬gϑ> f NKP:?Ӹ]>TA:eÿWPH~}tXfюW*w
+cfvN ^A+wa"
+ζ#QV-K_;o2 XG*ɑ.)ɽAn"}zKvMw NPeB<7u7spM&!>;!2Å ~ؑV5N[
+iT*l<.Y$yȥ <vLx(7Mt^aff*%r9䙏r[q(pS/Ej>US*xNay-RZ-DyśW=\Q7@b:3LH("B[W&o6/CH=~;>;Wt;[!mB#^U GVg@a̕&0Ma>PNCUƎ>QQr
endstream
endobj
-1430 0 obj
-<< /Type /FontDescriptor /FontName /TUDCQI+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1432 0 R /CIDSet 1431 0 R >>
+1427 0 obj
+<< /Type /FontDescriptor /FontName /UFTXJR+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1429 0 R /CIDSet 1428 0 R >>
endobj
-1433 0 obj
-<< /Filter /FlateDecode /Length 635 >>
+1430 0 obj
+<< /Filter /FlateDecode /Length 649 >>
stream
-x}[o0F+HCs]*UB^վBlHDIx߯oJ+8s<NfcOuu0qƴյ)L<`mtm_GS[ӱze׶8_'̩_){ؙbcTMx<:~ͮ.i [2M[V%Osyugk!ao|,nHrLEG$x{k;sYclqkn174=9g2׺>ox40mncכŰ?ZhwkVN [Tڴ0ޞL4v 6^Id'αp}oFmyLIP"2Ĉ@b"3aOIR9hLP &@.P={IdJB&32iDSȓ̨r3,@9'<)rgNDdFȌ/A$u
-OI w+m*"gHST3!Q]S Q]^KpZIܦ"B2=˨:z&HL5)&"k)&./
-
-}Q[{WVD &Ky&xO{_i?>Gqm7<
-3OҚ WW_>a4*
+x}[o0+ڇbVKXm/v46l$p$<R ;smta잳s[x\4Ͳ.'ccC{dom]nMnVK^xfȺ47~xv3&OMx<:~ͮ.i [1mW%sǓՋkc񾲺%[oyrM򋷗7dFEVv{ա؞hƣiw޼'FvѪ\׊ݥ1, lYk5EiL4q S6Y42Vs](C[~d6<O$(MKAbDy
+>3O NS TjHIS tINH+"  uE p~ZBO$NSg퉞e )"r =E5)rMD=C_5tIEs
+)"輢}J$Ԙ$a:~
endstream
endobj
-388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TUDCQI+LMRoman10-Bold /DescendantFonts [ 1434 0 R ] /ToUnicode 1433 0 R >>
+392 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UFTXJR+LMRoman10-Bold /DescendantFonts [ 1431 0 R ] /ToUnicode 1430 0 R >>
endobj
-1434 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TUDCQI+LMRoman10-Bold /FontDescriptor 1430 0 R /W 1429 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1431 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UFTXJR+LMRoman10-Bold /FontDescriptor 1427 0 R /W 1426 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1435 0 obj
+1432 0 obj
[ 28 [ 500 ] 35 [ 556 ] 43 [ 444 ] 45 [ 278 ] 47 [ 556 ] 50 [ 444 ] 52 [ 778 ] 55 [ 306 ] 59 [ 500 ] 62 [ 750 556 333 ] 66 [ 278 ] 70 [ 528 625 278 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 ] 84 [ 556 ] 88 [ 278 ] 96 [ 392 ] 98 [ 394 ] 104 [ 722 389 ] 109 [ 556 ] 112 [ 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 125 [ 556 ] 502 [ 278 ] ]
endobj
-1437 0 obj
+1434 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``^<ţa], $&
endstream
endobj
-1438 0 obj
+1435 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4091 >>
stream
xڝX tSպ>i9!@)c\ [CE
@@ -6396,32 +6424,32 @@ O
QYp*Wcxc] ZV ;eS@UDEZL3v<W}!Grs9A,Q[]2M &S<-Mw+7Zklrp7-^
endstream
endobj
-1436 0 obj
-<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1438 0 R /CIDSet 1437 0 R >>
+1433 0 obj
+<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1435 0 R /CIDSet 1434 0 R >>
endobj
-1439 0 obj
+1436 0 obj
<< /Filter /FlateDecode /Length 523 >>
stream
xڍK0Ydp;#
ZPaL2,!}r@,1)z%E/P.i</gg/0x´ ?C:ml<Cg힭] XZEtWݰJǭi֞row?KovEA
endstream
endobj
-387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1440 0 R ] /ToUnicode 1439 0 R >>
+391 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1437 0 R ] /ToUnicode 1436 0 R >>
endobj
-1440 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1436 0 R /W 1435 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1437 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1433 0 R /W 1432 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1441 0 obj
+1438 0 obj
[ 28 [ 569 ] 45 [ 323 ] 50 [ 508 569 ] 55 [ 354 569 569 ] 59 [ 569 ] 66 [ 323 ] 75 [ 939 ] 78 [ 569 ] 81 [ 569 569 ] 98 [ 453 ] 100 [ 569 569 ] 105 [ 446 569 569 ] 121 [ 569 ] ]
endobj
-1443 0 obj
+1440 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc````1 S
endstream
endobj
-1444 0 obj
+1441 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2828 >>
stream
x}V TWUD,u̯rI4D-pEmiYT~#ڀ 4Ђ Qh"hqьFLΜ3Lk{^IggB"Xor_+u
@@ -6436,10 +6464,10 @@ B]/NnG"ZΜ[,T[=h pԣj]]
6/T&{TgeeYwgٲlYl[vNuVE
endstream
endobj
-1442 0 obj
-<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1444 0 R /CIDSet 1443 0 R >>
+1439 0 obj
+<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1441 0 R /CIDSet 1440 0 R >>
endobj
-1445 0 obj
+1442 0 obj
<< /Filter /FlateDecode /Length 457 >>
stream
x}Ao0
@@ -6447,71 +6475,78 @@ x}Ao0
֡Fºs&Hi@ W0qa%yEm6-cj܄p=%6.;-{NBUquX\{
endstream
endobj
-386 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1446 0 R ] /ToUnicode 1445 0 R >>
+390 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1443 0 R ] /ToUnicode 1442 0 R >>
endobj
-1446 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1442 0 R /W 1441 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1443 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1439 0 R /W 1438 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1447 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 ] 47 [ 511 ] 49 [ 678 460 511 ] 54 [ 653 307 511 511 ] 59 [ 460 ] 63 [ 511 ] 66 [ 307 ] 70 [ 460 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 ] 84 [ 511 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 284 [ 511 ] ]
+1444 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 ] 47 [ 511 ] 49 [ 678 460 511 ] 54 [ 653 307 511 511 ] 59 [ 460 ] 63 [ 511 ] 66 [ 307 ] 70 [ 460 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 ] 84 [ 511 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 120 [ 409 511 ] 284 [ 511 ] ]
endobj
-1449 0 obj
+1446 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
-xc``0-/͗U 
+xc``0-/͗U0
endstream
endobj
-1450 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5882 >>
-stream
-xڭY |SUN7UW ʎ**KeeҦiK6iI6mӦ{ӅntŲ㼧tnrCq\~<޼7{NL&=;֭?;,^E‹ I)L,?w"_9cTϓرbO1L# SQG,Փׂg-F)71&Ɯ|7_p6 s2xI"ŋ<_O1xօ ;Ӳ<476!9&%ݗp+L&er%2Yi|.7#!%!&3!+'dpE M㾚&q  ̄nH$\hH0-#iQ"}N梔2[j} osoBQOR2δԘui ["(A?Ɠ1g,`,b,a,e,c,g`dbaXxňf0bF283RBFCĐ0rO"ЏrLd2aLX42m|b !6`'L)˂'Ẑ!<2GN]8eZ?Ow
-
-
-NJ-#v
-4m"|5`/ۥB!O) ^ e6UXHxƊ 6$j1;[X> Xnl!T6bԦnuAc(?-FK T0άb,9vX9*y$`<Zi2;adWn; JÌ&3=8\^ ]x*^Ov1{ɛO6zzdpWFLj<$l;sU-!Gj z鬻/DzǷ*y~cۉ0j³M*M+6DbH|ŕw4&I̢nR*;x"Vxk𷯿c5,sv
--PdPiQCW1x]QNՂj|AQ+1=4䓨G "
-FQKô +ŵ|]pi?KTTByyVHôyP%"O`s@p,`|t6V@iM}h;1[MroR2aC4AM&Qs6]?]\LJVRKxG`]BQ\UzsRdq9wr E\دlBk{:sJR'~&wTI>O J݄.-sԐ>ɩ)}O3 r˝yruV u7*+{޺B"%;)82+Q I_y
-|@F{ގf<dl;9 ܿjhg`a1iSStAO쨬-m1Q62}̷"k,`npB谸"XxrW4j[9rb^a&A z|0WGsQF;V,ۛPU 96lj5t{}rX@1ܸ,e
-oC>W}1G͢WX''Z< F&}Wu|`S'q!jB#SRdج66h?ڢV ya*.HCkL.N^m
-)N)mo/6K7b`a?aa1 r/NFcAיIN6W֞=1Еd.qxK_yz m 50:tڪٍ"p5oGjbэ4z-K7oh.<?p>^[i$G^SuV}"ZPm5u=[ɱGtI֠>~/\3[zJ
-NYa/=%QZnΑs($~&F%UkPyYĸXBs)VMV9lб\SјTt24yqcU2M9QK9jؖl1NgsP 4}=:&,:5~[]|_Bf:XP5gH팊-ӚuN'-ڤ"&V%sԵV4t %6Z r*XL- ÅZXu4V
-.4G( 3Ig3+-z2+ @1ц)2* m<FX;nl.jFۦnኡbf30Ƣ 4s
-qVv5ԪTB:u[B2B:~J:m>5T V0cKSL:"ͬҎI `jrrjZH<0
-3~J@Ed2Fw]hQ#9q!l|']v; x< [>>-nR~%nN]]m4t$WzMϕE(Ѿrmݭ'RSZ yFf5Y Ԟ}M`E"Fn!,'؞¹$/HСkzG[eM iA,ؽ؋:ijB^{,Yc$jA,~f"-axg
-!/Gw*?88UT,[t(-?p'jz`+ę; ֆK.= \I=Š@0&3&"(l|nLtjpTo"rkɜ:@z-OܷEgXI|uc&j]JwVJԃT& CӲQDdaoOk/*k:^LU|Ku #O65Հ=j/6:fKϠɟ
-0'eDvMj| vPˇZF?
-e6"eyVQ|EYb?:?%gG>aQrcAqH}iq'Ћ[e^^=T6J3Hd<e0xk><QOt!s2AZshn+9D&gs'k".wu{~.{!k~*T~'<Cd k\=V= ֿ1@kSw<Xl8'> O=.7Qh,wvQ\fDR* 't4lr8kxĖ!9B?TTߝBx% mW>3ot?f~L \PE":hI rtkAzoD7?Z֥'h\L.]`h%x=Fq69JԆx
-He7zx~ ]`UzVxuattx_#YAg)Ơ>]i|Oy`ib eʼlu_ʢ0x3SfY:-rTjzU3Fpf
+1447 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6055 >>
+stream
+xڭy |SenB8Hߩ
+e**KEֲKo!m4Ifk|ٓ&mڦM JYd"8(80*::s8ΗOr8:_ܛ'{>&ctɜm׮w9P_baZ7#^| BO1BO3C`ZdbϚX+r(9}*|
+; 38<ml~#raTsi &c>i7)&Ɯ|_.*vŊJ
+9˜U+V^~^%6fgZ@\Ƥ3cv쉍[ rccҳrc
+ce $rboaV^VZQVfL1?30F ˜܌,~QV̲e11EYY1B`؂œ9ET<|ݲ&,۽ckރqB0&0&3K+{{
+6gg  O1ex*c u]݌=F
+#Hgd2 .8g !CĐ0JO2ЏXFl U瘃ӖOM{<
+S32"@D̴xՑ#CQ='Ύ9tΟysL=9ԟ82oM,ё`蘘yqg7j9j(M4 uL&5J-Iݛ8T}1Zi2@`.6ksN+ߣj35Xu׀h$l)R
+(Qx[{O֒6PYlŢв
+^%S%zφbxͬ=E^n ӠIcԒQThP)& $%+8?VKZڠ2 `S& Uc`AxLUzt4BEjax!wwbFhEvxij5Z\d>gM1M*
+CH I$ ȄuNf#FS6Qn("M:S9h2j-aV-S9R,;aTC֗>ՉqZvB Pl9ߢl? 6xat/;V ;[>v/1NGv-]Dŭ["j=<Dln
+A%['ob~3蕋aVer:;-@E|;6]i/|>Bji8#zeɒd|79(@3}Y@ޮ5NUħ
+4zs}S8Wo\+e(uAGIŽHY$#$d)kȨap{[*mb ; LPꥤQc?"ݮ~$v;Fd(сm%u&U 3 ^dIp;wC Z
+maU[@SRHF:r|bś̆|R=H6li+=٥PINd@
+pBEn"^歊"4^;.
+z"pAz:,|tѮ@hAiN}l71C;iBALКJPөb5ozIZEVT>y:,(ɓef|)Jxgͬ%7 kդA]#ˡLjjhv5u 7rshIZ<9f2W5+DG=>ivDt s$Pdk()9c_v%p yFߞB/'2sKsegeyUY\~e\j.fK t <HHuً1Y^)3~Չ^1-\N}Y W::+oEZ%)Pl5I{=4WZvACU}}K0پqR@2MUr9Z\ҕfjZ!V۝n 8RU~\ЗB
+:Z3{@Z LrN1BE: RIZ')fe'zZ*AMwUzM$If̚K(]n]6@Dp\Fc`r04FXDPD` ,5н(ϝf)jap]`G!xNj
+ía(:ԊٗZGTڝ9ɤSLg0<'[jGiOKJIDoqn{*#KII|/`ARרsQkp[;A?zaUo}x{<\&NՔ> kU^x<5ɡD6ɳFX5F5MC5Xdy!4T$5E-k yo+n6V-$ ]zfz5dT̃'ɣR9X3\X5|yŭ=w-lb7+4*@"$sj.=/NnG3)#N&!
+699f*u n ??|_?gP
+gk*?mGD8xO>J>a
+9P^q,|g' A hI-^ȋ Gf8O^k#N#h<NxUP
+ly,'Zs6~qimZT
+x;**#\-5xJewQqOc/9`F+9oMwGko~G<Z•ƚfHzjf\jjXu 6.,o?#gp~yHXPw"}B/Q&Qh$0zY0juzhЃ21v(;;#(6 d^ߞN 㴏&-iT*-]btzf'}IoԐj] Q9ENI1ʚ>wG Q)4w=qMyu0] mk.ny YiwcC q7%܆/<7vts*ȣtUU;~綒kbju.Բp\^
+eli@Xu*Z1fu;eZ` ]li}Q@n:JO_2Db 1ô M%jp$
+ǯn]nvDZ`M3=WZNk0Z
+AI%GXt|MLФ#Vzvʼnn<,t!Zp\'%JTZQ#6.;.ⵓW[SQWVȲNeJZG0frCZ{KYXK} yd#I|3kWX!Z5ޯCORQxp$6ں
+σw@]/+N:HR~-4}s>E ߵ9:v
endstream
endobj
-1448 0 obj
-<< /Type /FontDescriptor /FontName /RMABVB+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1450 0 R /CIDSet 1449 0 R >>
+1445 0 obj
+<< /Type /FontDescriptor /FontName /TDKKTE+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1447 0 R /CIDSet 1446 0 R >>
endobj
-1451 0 obj
-<< /Filter /FlateDecode /Length 557 >>
+1448 0 obj
+<< /Filter /FlateDecode /Length 560 >>
stream
-x}K@5 ^<L aJ3ۘ:S I\離M7 uε*{#ѣ;k[|o4Zŵ"ݿ)RC{m]ve`\ YNZй)v藿{/>]]:/eK[u(0Qq'*\Oj/"xRZ-: AԪeh{A(TYL̪lTmf31ٙ`׷7RF6ͅ!,N[^X[eeí!: uM^P3y3Ƽ2+.Qu<M5P;om`aIF4GfB]´r.AbGQ)(D 'P" \ %ty3=
-=x ۄi -0dƎR )HĘe&2Kf`Z`Ӯ "σMY z<Rg
-)+_R(( t'V{Fqm[s1tߞRmVCXRp
+x}Kk0E]jK0 I(:1IJEH:- >ωɯ?Ag[7ThdՔZE)[ה;5eu5ܚ\TcI uWn߯k p?sUVlLeͻя,㜛Z.*)mɦJˎVeLV@>Xew~Pu7ok'UWw49K۞݇q/˘TGxRԊM\h5\fm XlۢT]Oʛxf<?qhƯq2?Eg ӈ8-092#Rp ;%1"LA)2S@&=2DhӼ& z:&}+$/)`BLbGgwS$p7EA.# aѮ"}̓"w킞c pWODS pGϛR^\wU]6Mk=G׍Uw
endstream
endobj
-385 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMABVB+LMRoman10-Italic /DescendantFonts [ 1452 0 R ] /ToUnicode 1451 0 R >>
+389 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TDKKTE+LMRoman10-Italic /DescendantFonts [ 1449 0 R ] /ToUnicode 1448 0 R >>
endobj
-1452 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMABVB+LMRoman10-Italic /FontDescriptor 1448 0 R /W 1447 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1449 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TDKKTE+LMRoman10-Italic /FontDescriptor 1445 0 R /W 1444 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1453 0 obj
+1450 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 252 [ 525 ] 494 [ 525 ] ]
endobj
-1455 0 obj
+1452 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc``_P>
endstream
endobj
-1456 0 obj
+1453 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7988 >>
stream
xڵzw\D *(;{l+vQ+
@@ -6541,32 +6576,32 @@ Sa{Sr 'Yl:+W'CWy7nsv!g*ǚ 9EЪ5o?ȭ+4 пBٔ
U+qz
endstream
endobj
-1454 0 obj
-<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1456 0 R /CIDSet 1455 0 R >>
+1451 0 obj
+<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1453 0 R /CIDSet 1452 0 R >>
endobj
-1457 0 obj
+1454 0 obj
<< /Filter /FlateDecode /Length 736 >>
stream
x}]k0+B{F,)!24e6̐v.'뜴0ZDtUo/]nxu]}js&ɹ^uq櫪oUNG/)>/Yc:۟6Soe?QQŨtmWսHnEU`E#K]Y-!x(G_͹qUh2#s9Fmڲڋ/29SܐGh:}G'Feϼ' ufv[]4ES1Yiqw@?8 忷P2Kf i(5E
0'l scӒZ1akK],~$!}@-@F-4Π%} EKCT&)p&S:.}<e>(M O*z^F
endstream
endobj
-384 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1458 0 R ] /ToUnicode 1457 0 R >>
+388 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1455 0 R ] /ToUnicode 1454 0 R >>
endobj
-1458 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1454 0 R /W 1453 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1455 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1451 0 R /W 1450 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1459 0 obj
+1456 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 57 [ 500 ] 59 [ 500 ] 63 [ 517 333 278 239 ] 68 [ 267 ] 70 [ 489 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 500 ] 84 [ 517 ] 96 [ 342 ] 98 [ 383 ] 101 [ 500 ] 105 [ 361 500 500 ] 109 [ 517 ] 111 [ 667 461 ] 114 [ 683 ] 116 [ 461 ] 118 [ 461 ] 120 [ 435 ] 125 [ 536 536 ] ]
endobj
-1461 0 obj
+1458 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``T |5%aI6
endstream
endobj
-1462 0 obj
+1459 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2827 >>
stream
xuV TW1 h@%&RFgjk
@@ -6584,124 +6619,122 @@ m׫&IcT щqRm4T!MKUR:mZr껎u4CHNNUJӒbU:>A% iҥ5
ʊKJm)
endstream
endobj
-1460 0 obj
-<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1462 0 R /CIDSet 1461 0 R >>
+1457 0 obj
+<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1459 0 R /CIDSet 1458 0 R >>
endobj
-1463 0 obj
+1460 0 obj
<< /Filter /FlateDecode /Length 527 >>
stream
x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5YE <HuoDdm؇ ul+Uuw&yYR*uK}pK?—_?/¯Bt8 r{j[uGDf(senZ=sn,득 F^%Ke;+<b&>˓\ڎN+锍Lũ FZԁ ?hr69xeLޔ6'b#;Jh]>vf{iŎ#.kImS u`jL.+ Hɿv{I&>T.-iYP 4vĠ HRУg*<8sG9?|Oc3(@s%>AP&DL'M1FLhI|h,T' .?mzM,nO ~{6\<kmV]v+Eכԍ=
ޗ=
endstream
endobj
-383 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1464 0 R ] /ToUnicode 1463 0 R >>
+387 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1461 0 R ] /ToUnicode 1460 0 R >>
endobj
-1464 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1460 0 R /W 1459 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1461 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1457 0 R /W 1456 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1465 0 obj
+1462 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 500 500 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 277.8 0 0 0 0 0 444.4 0 0 0 0 0 277.8 0 0 0 0 555.6 500 0 0 0 394.4 ]
endobj
-1466 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 ] 91 [ 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 199 [ 778 ] 234 [ 375 ] 251 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 400 [ 778 ] 499 [ 472 472 ] 502 [ 278 ] ]
+1463 0 obj
+[ 27 [ 750 500 778 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 ] 53 [ 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 ] 91 [ 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 199 [ 778 ] 234 [ 375 ] 251 [ 444 ] 280 [ 670 ] 283 [ 1000 500 ] 319 [ 556 556 ] 400 [ 778 ] 499 [ 472 472 ] 502 [ 278 ] ]
endobj
-1468 0 obj
+1465 0 obj
<< /Filter /FlateDecode /Length 46 >>
stream
-xc``߿
-
-
+xc``/߿
endstream
endobj
-1469 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8638 >>
-stream
-xڵz\W qΘ[4v^*eB]zYXڂ1%1`4%11gpf%~X~=
-0L  Zt˖-KƮ^!(%p<.K!PЋcƱB%˦c:0WB&(ÿwڏeᖅuF`n
- p_#0'<hl06 Fb1Xl6M&cS4l:6fcsl![->Ɩb˰Jl[a Flmƶb۰挹`y`7b~?aXa"(,b8,!-,/X H&]w1aq ;:]uڄQŸm‡"{Q*ћp$tbB}zwM={4zה^^{]gy5}}=oavv\N뿠^_$ ^RQzz;w`3YaCfy0t~5yӑF7(Qgam{0mfnWe9p˨ȿsSUtR"qT'~ABm
-&[epDx\TF`, rJ1 5ނnnx.MIFb}\8D hjdܷg/ݹ"$"'n<fuz[+WnqHٜ'[?R̐.Gҋy_R3nϴ܃ Zl{ܓEC,\%y0K$a_`7h
-{J2I +<Sp7-.YW<
-)()l~GDP Z+f)8[IuXy``XX``yXuuyy5nmZ_
-
-:i$WšݼCB
-ҳ vnZb\VP)i;w 'l0 ??omp2&s!GuH൝ ܰ~$=3}5Y.].9X5}eI3<gٿŎ_q+0'gcୄDDCs#z
-Ma&ÔH"+7!5e.}! R(Z_GM65I%OV1ý'Dz[Mc8p6PVdԁgOP?$8~ h{
-p%ߚ/nPiU{xq<.v!&46{~NR4j -;CBc)F>pԐ_,J6pfP߻BՖ7lY̔vH$ l=}{j|Ǜ<*HZp~8av\R☎EqQ 2܏bP¢6=LǏ=XgQ5pSxI]pQHHp/Աߣ$ٺB ۄ&=Ilۇ.>b64ͭN[ 3O'Mt@} r8[B}703w,3:c1mDL/y`p3mQ
-//)gnݞ{>~TaE6rpa;c ť򒺔ZCn2-%c@ RLR4 sەQM)
-j#. du..:)=aҏ6~O7adbݨ6A[Nlb6kPgIaZJ
-Kfe1ڵ[eކ"|O2N*&7 8AK& V eÃiyY6ĒWd9eU`T8 u8.ȥ'NxPǜ݇6`:ۉ/z7
-pWoyXe뗭M=.S
-Nyp65]Go\d.hіjļ؁ ZbeTd\E! ,n]r5ec4\txuZU'9'yd$7u &*wNJFx-"'ub/3JIvT.D`dRa+-Z[e$k]٫^;־
-Wį(=h(SXqpgq#li4 (`se:bH%5h(nx|ZZR6me<:hk:n">FR_X(38oPv<bq E;h__ ػKLY*wg^Tqݙݕ?v'K
-W±p* ϓ"̉c=̃9pgaKPL$+gAZK|J~ ޿<٬Lp:1NhglApj2+:W`er\
-傿r3JC#˝#ʁ6Yf*$hedR>f%g*e] p_n|An%OGg˿3w$8 sv'ۼ |:[NC[pl s5XpzT4$dZ70F܉
-$
-DUi
-p<탋`؏Z'/C:f+ꖀ3y t^0߹$e&aDZPȕ@U>}ME#ȎO
-:uJq]xMl[#N
-ja(GF(:TGĽ}KJJ@q`-I9k\
- rY'xH<t = כTY-?L/:Hmu2m3~<1SFx3
-477e=q$΋;1Z殺r2@eȄ*tȔSk< /*'W>W_r
-V|73Kߌw?}~mڝ5@nsAZ1 wY)UZxo\|O2ԢAq"zLeJMJ4$חZmi63O+dAJ4v1 Ő2םb|WhS؍7#3j!vuG,KN$0.⍆[d-I2,*/VSU !Q*Jq+C#[ *lmH81yӨ&v1mLE1J>i4ŌV Ebԥ4$951_ժ/ tdh qj!lI]ˤ](t
-Ӈ_XnPׂAK@^*A1 y"-3#aZ R& D, \~(d3aL3-T`B,%HwZ<NhQuJ/\2 G'x_̗|RsPLd}Qc`sܚ@7NNPqbv(Cbur*NV)Y(di\4yAyo>lG59Mz
-?jzr .ߟ~ _qpORRSV
-=k:J83of"g7liH%1Z["
-.ٷXy sCs,DDf&/UeRrfͼyI@Ngh2S;5`t
-hYek]foWPn 0(Vx0"n#i޻q"i ܘLC-c??a/vz~DQ(&ڎ9ΧO(Z$F(D Oiz*
-0o^|Tgl^퇺fyB]94WT ETӐ^¸AoE|qYYAM- npԇlǣ[M!gĻ":NKUIa4'(ᩤ/MS*Tlk0-8yV. UԀzK5㟔z
-1BK$Yjɫ|@^r\hl+C`x/@b_0{V%Hb!TtB?BJ:wʕs^]yիwx Yޅ,֬h5t+m&<xAM[Euvև?IQtQL`P/40xVF!}fUU,̔|}.r
- ;S\$Oj%sn;8pVbJB/gT"BPw[JR*JQj̕G+4z֊t~8q.)0UUxҿʎzBU"ː@~tpysxъz^|wbFQYV_0]'9%t|n QRS(3|FPڌ/_br:giT٬CE <^
-Γ] aptFj
+1466 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8831 >>
+stream
+xڵz\W q {-{vMz/"eB]zYXڂ1%&}Kbb~o~X~9
+0++L  XnxcV w 4qWKå`np1ncpB{X ĕ>.pcj^1 w
+`oukǭ^hڍKƇEzغ{ %- w[# lWX4@l6 F`1Xl6M&cSitl6>>aBl[-Ŗa˱*l5[6`vFs6a[v s\0W s<0Oۅ`bAX0baX8EbQX4b8#``` U7BlVX${]<<ZkuoĵkQwbx8K~֍fcrzZlb{Mc %6ʾKFH$9|0q@5F],c쯶O|n=$hȓF :,cXc~w##t:j˨BXkݞLp)hwg&ŦJY׎9):F!Ma[Ǐ[8h!McVְG8Shkdr#bmuF}a[s
+a ?:jݮ4q\d䳐ĆG~(;f4oNZcڝj☾>v}2IlQ,Qى"\n9HC.tUK.~ˢONHHE?
+g1E&la
+7|Ms˩ߌ|~ݗ*1tZQ! )*k?q<$ !>}oZ1,쒶n23q438ȁzo60뮝9JsC "XH;l>ϗ=|j4Ե]z y_b`&✉ lݪ5Ɂ̰[$kؑ`MQ`Ouޱ-hl+<t P; WI5f3O]n=ԏW&zeR) ap7/Ym2hTj5G[DzZ7}[Z%7ʠ>Ziyr֚;%5\l гUˊVi%pOQϑh^'P)G\Hv<1_ѰϠx*82~>4UƖ
+& eײ]/\N| eFN(}1y"%V@Lp Z.NNV%$,{@ bI&:;)=x+ԾY; LL_:!H;7%JқB E䬸(n@
+-'&::,t\e4 dh;񥆁J&7Nb=ML^rAq0V@bI^'IyE(hȥ󁶄 DH >ٺ
+rFnp: żKqQn~,HTeJf|xOzӔpqTeW몐Q_k0}>!U{d1^WОTVUU1_J
+Tp]qrŚar>M
+SxtbjGZ'@VL \Y
+ 0 (f:Ih:\ @wesL…D.YMZ
+*/4NB)IHhn =IHZ /]r<L̺ݾnԢv[*MZ:Y_]ҁ҂b&IQD?vVCLCH)>&?tU1Ry4ڝU^ʠ|0IanTB]gd+w`D tt8,:jk8e΋B+0LpogQ<ɛ߹)(o1e&{=7WFXrš0o/u_|@QǾ}
+^<}v il<yٚU)ۡx]x]R%s?K*w;4zoq^}@+hn"L6Mj!h5gDLZ֯xَĄ712p΋%̮.,dbX,헛׿3 Kq뉦\p 瑋!{.Ԣh![%@c:4pL*% 3y
+<800:2xggt>*i0H,Or #ԉoL"^v@gNUiaTLBBR2ZI
+E׺OǨAt֙I5g$`}uKc ezS,"2\IIR2'5%j1/v@hԱE,io{0ƹ0p< ˻x~I\9ܼ1-2i*OrOHn U c1=KDNq^#Sk#^+>ț,;ȜA>,ϳף8ֶU„o(=h(Yqsgqlh4&PA`P]&C
+WP],ZxtWwsw<h(xK}e}OM~@H/& E%
+ Ot_~-z e'<5z
+÷ݘ
+bbKDձ͋S0͔9!%Z]>n(p\{>LN6htV0i"3[Px$AգgΠ^̢t61P+-=!uӮ&2\
+<O F6L\<P*(N HgN.Px 5LN}-aKW+) \P jQ-"#@. D 2EW?-kB m g xeOh$2C}M ,Zx&qWmp_m0)<e_k={IIAbY,%xݍ־hӲoS?!}4Ad0an 7,mAo}^o95y0 3jvJsS$KCg lQ)6hMV(A+9iCҖø>*^˝c\-U˿R9ys70
+Ud|0XPḫ1Wj^-1y&8RٕϯWXqoF15yQO_ ?1iL dz:pR%TɌ^4xbwW$W'WzK||[zl⊪^J
+:$Gh$}:S.6v vH "npMQz4(9vSٌO{Kx~y9!:Oè< HE%cDB\
+cFp&ReiߋYDmv;(&G%EThHr𐪄Ͽd v|W+ùT0j&#]Z$'S<y@=UWŏ\t{ 2HΆ|+ni3/doxz<hPs8=qѕ><x Ю&_J(K?冔IG:tOHsHࣾwf. 81Wg6^p::E4`T ŋ(?;I-bL W_ȓGBv͋GS lм=@O̔  8(if>We?^/SyOz6n2 0 fl_mD'GPy[iyp ]XYlH(>w!yN 8L~iSC@^3-:F
+?bzz .gߞ~ _sp!ORWp-zÉpE"k/0yq-n*.NRZzÁٳX'[دa=R 8BD.1md:9vSp-zA!?u3B;ܮ'C17ģ'PThA~
+$j! 5Ϩ +-2 ΐ9ɐ=l6PLfhb.~vR3 "ڧEۅ~n`JTQI
+RƠUh#e@4k)"W_-|JOUTrr*PpV7+R-NJʰ
+1՛l
+_[^:USӝ~\UEIfGw\)Rsܢ2əgKW6kX؎h'UZUמZxVCjsxgqpvGY;F>~@V#NSIPؾ@ؾRpzyz!:eJ3e %ViRFPSC2.Mӣca1YkyZ<奵A㱩$ޠ4}?_P.Yw76~K>LQTSpi[f wn)!<JP* Hp6%CGe
+͖^hd?^"LQr W#RXNpƂTVg '$\#T|nge&rLrL6ٜTp9|>5Ua,}071B|JoҨxIeF\ "c̝34iT^^f!sx]1ZIvv6l_הfO&Qڋ_2ߌ3912*1qO!3F^(lxA4"Nlʏ2B%h<'¥R%F!K.f-$Ȑe"tj&D.9l&U*ALg#8 <KQ "W}xU4y+% F&]!* wl:~2.Oyq a۴Zȝc36)jZC"?Ou:/LHzoLNu @xݩ\̇d.U ̻vKpBbuAԛ(' D3&4~_Ҋ`D'ȷ*6- hl<v7%wSzsV naxWwiOIMnFOSAZ;l|Lߑv_o)^
+0o^|\kj^߾򄄻bHR*A,?>!qUc( عf\P-H?j7M&ǹ":NKܕTxvLa
+SI^5/K x7d[ia?3Z!D<FT=ȎSn<+O
+}Pw"MZȧ %*F)= 6~oK̶|s+tϬ
+Bb<:zX)tFӥ~
endstream
endobj
-1467 0 obj
-<< /Type /FontDescriptor /FontName /DFWWWD+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1469 0 R /CIDSet 1468 0 R >>
+1464 0 obj
+<< /Type /FontDescriptor /FontName /HRDLGI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1466 0 R /CIDSet 1465 0 R >>
endobj
-1470 0 obj
-<< /Filter /FlateDecode /Length 757 >>
+1467 0 obj
+<< /Filter /FlateDecode /Length 760 >>
stream
-xڅKo0EvAñK  iPMDߏshԪ_{}u5V$x3ؕf=&o41ΣGڵ6[˦eSn9u#nAߟ]Dlۢ.vf
-;,~;m(0 ySeΙ<C
-óuTՊO=bQeO˝ ^-ubh3ׇ;ywLW7qH;iu a0ʬڶNΈuנވse[þ(MW4m‰/$0Mx5N8; -Ba(̓1bP1f I@X%!"!_2b9G-J" T$L@Й@K"%P-q\sbv: :"Q5S5H-F z D]$<(<HZƒ"D%<(U3;Ur>(%Pƒ\A!AuSxAK
-13@u)*_
-՚PL,E)($vT쟂] e&
+xڅ]o0+J%NT lHTnibX$HP>:MVUsNl7.wKb?ʹ)N{[w֖k+ۉ|1]U/bw*EGܾٟEi׵{K=m/ުnS)ܰlX~X5wq̛7y*雪.[^{$QVEG
+KO^/M :WǮ=_K[ڶ3hu:v q4n.ފO`QѪ;Ǥ$).l6(uxY+;׺ ɉ[(i4P% *PJ
+ L@4J
+BwMBt bw9<c(@ЩIЙރ2 )t*KS1 @GD$d?ݑIPB
+*x$xPL&Q5S5 ɫkPA!E< K ;@uO/jH7PfHPagi(3$ ,Pbh*? ev2CB);@gJ-H7^Hא = =.4L4<$ {!q1LO{L? ^&
+4cY+=*5hH*P
+KqxgkxJyy9H pO{_p‹Sۺ;|Do窶̡9Y7|.KO/7
endstream
endobj
-381 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DFWWWD+LMRoman10-Regular /DescendantFonts [ 1471 0 R ] /ToUnicode 1470 0 R >>
+385 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HRDLGI+LMRoman10-Regular /DescendantFonts [ 1468 0 R ] /ToUnicode 1467 0 R >>
endobj
-1471 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DFWWWD+LMRoman10-Regular /FontDescriptor 1467 0 R /W 1466 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1468 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HRDLGI+LMRoman10-Regular /FontDescriptor 1464 0 R /W 1463 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1472 0 obj
+1469 0 obj
[446.4 446.4 0 877 0 0 0 0 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-1473 0 obj
+1470 0 obj
[500 0 0 0 0 0 0 0 0 0 0 0 277.8 277.8 0 0 0 0 0 750 758.5 714.7 827.9 0 0 0 0 439.6 0 0 680.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 528.6 429.2 432.8 520.5 465.6 489.6 0 576.2 344.5 411.8 520.6 298.4 878 600.2 0 503.1 0 451.2 0 0 572.5 0 0 571.5 490.3 465 ]
endobj
-1474 0 obj
+1471 0 obj
[955.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533.6 588.2 0 0 0 880.8 ]
endobj
-1475 0 obj
+1472 0 obj
[1027.8 0 0 0 0 0 680.6 680.6 680.6 680.6 ]
endobj
-1476 0 obj
+1473 0 obj
[339.3 0 0 0 585.3 0 0 0 819.4 0 0 0 0 0 0 0 0 783.7 0 0 0 0 0 0 0 674.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542 0 0 0 404.2 472.7 607.3 0 0 706.2 0 588.9 523.6 0 0 0 0 0 0 647.8 ]
endobj
-1477 0 obj
+1474 0 obj
[333.3 0 0 0 0 0 736.1 736.1 527.8 527.8 0 0 0 0 750 750 0 0 0 0 791.7 791.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 0 0 888.9 666.7 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555.6 0 0 0 0 0 0 0 0 0 0 0 0 0 472.2 472.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666.7 666.7 450 450 450 450 ]
endobj
-1478 0 obj
+1475 0 obj
[ 27 [ 525 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 525 ] 62 [ 525 525 525 525 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 ] 84 [ 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 109 [ 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] ]
endobj
-1480 0 obj
+1477 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``_
endstream
endobj
-1481 0 obj
+1478 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7001 >>
stream
xڅz@SWJ\juWm".\8CFI#8a7(V*V6jZk='
@@ -6744,10 +6777,10 @@ pKTaW5~ByDۖ~d|o~}m<Y>ALM}-vVgI-Bj
.V]zAK^ NP 1¬3֍G- "b@IXx8Ah[M〽U[S5'_9Ki8mf7 62 >Tk0JRڪR2S 9]h7;
endstream
endobj
-1479 0 obj
-<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1481 0 R /CIDSet 1480 0 R >>
+1476 0 obj
+<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1478 0 R /CIDSet 1477 0 R >>
endobj
-1482 0 obj
+1479 0 obj
<< /Filter /FlateDecode /Length 692 >>
stream
x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<[mf^姣u݋-.xk|m;q;[Η^v]4}m+ُ֓jU1~aI~ (/PmڲrObx$ó+fձFJ]銆:ŶW SQyG
@@ -6756,22 +6789,22 @@ x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<
4 5WPjM=UZ(܃& ՚yfiDƬ=5:ET!26蠡jh4_hܘ2TGA5ҕʐ?&;MdnDGitgy4x!5ci~~4~慱&[?Jg?'s]FKOH
endstream
endobj
-374 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1483 0 R ] /ToUnicode 1482 0 R >>
+378 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1480 0 R ] /ToUnicode 1479 0 R >>
endobj
-1483 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1479 0 R /W 1478 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1480 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1476 0 R /W 1475 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1484 0 obj
+1481 0 obj
[ 28 [ 494 ] 43 [ 457 ] 50 [ 457 ] 63 [ 531 ] 66 [ 245 ] 75 [ 816 ] 77 [ 531 ] 96 [ 351 ] 98 [ 394 ] 105 [ 371 ] 116 [ 474 ] 118 [ 474 ] ]
endobj
-1486 0 obj
+1483 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Ta`X
endstream
endobj
-1487 0 obj
+1484 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1234 >>
stream
xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc1Iej=b//{#@h( br,Cn|Vv)OXY+&>j4MЬĆHCdZqc1ɩ
@@ -6781,10 +6814,10 @@ xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc
7bdxo;ts:<0n${z;[ZhoG6z|t?J
endstream
endobj
-1485 0 obj
-<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1487 0 R /CIDSet 1486 0 R >>
+1482 0 obj
+<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1484 0 R /CIDSet 1483 0 R >>
endobj
-1488 0 obj
+1485 0 obj
<< /Filter /FlateDecode /Length 419 >>
stream
x}N0~âRY8)UH@+R!}ڱؑ, H3rrn{t-?1pxtV`|-k6*D9DZ#
@@ -6794,22 +6827,22 @@ u0=z0a6 4
bXk֊Zow4~~mjWolhf_Xg
endstream
endobj
-373 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1489 0 R ] /ToUnicode 1488 0 R >>
+377 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1486 0 R ] /ToUnicode 1485 0 R >>
endobj
-1489 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1485 0 R /W 1484 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1486 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1482 0 R /W 1481 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1490 0 obj
+1487 0 obj
[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 ] 45 [ 286 ] 47 [ 571 ] 50 [ 457 ] 55 [ 314 ] 59 [ 514 ] 63 [ 571 343 ] 66 [ 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 84 [ 571 ] 88 [ 286 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 114 [ 742 771 542 ] ]
endobj
-1492 0 obj
+1489 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``U\<ţa
endstream
endobj
-1493 0 obj
+1490 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3281 >>
stream
xڕW XgA QwFgVRWk齲J*V "$p *HѺڧ9Y>L}ϙ'{{`>>@ X{s=Oo޲C%ˎ
@@ -6827,31 +6860,31 @@ BD/נּA[D?S/Ioh |Gf?cr=1r\g[QF2ӻ^%^MÛn
d)&#Y/L1󲵝cLۅ~>v$)YgBX >{]@s@6%?0VS|PYAozů{L:׋$5'R`;HYMǘ$ m۳Ôv750`6 Nc376A~{':TAJi>('txG/3ޗܘ`}k{tl*2`.gnY{\6:[S69{
endstream
endobj
-1491 0 obj
-<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1493 0 R /CIDSet 1492 0 R >>
+1488 0 obj
+<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1490 0 R /CIDSet 1489 0 R >>
endobj
-1494 0 obj
+1491 0 obj
<< /Filter /FlateDecode /Length 492 >>
stream
x}[@&cĐ8&$s<"]$ҐݧI&hSɷ]4GkU7lrIDٻj=l\VNeyYNZӹ)~/.䃿p)Mա/:LGٍ(2?HuU#Yp9<I5f%OYeGc B&wdZ)_\ob3ݹzuٛ*yfu~h ?{i>ע&63BGz>kזXh9ԵEIgVxV[I=Kx1\OPi! 5A!h 6 E,4A PAN%Csr*A3Bh#gdiRAP KcxI0{m%=q*=q*=.0{,Sܐsf/?vҋcnًJ~Mk׾Kjmʾ)T
endstream
endobj
-372 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1495 0 R ] /ToUnicode 1494 0 R >>
+376 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1492 0 R ] /ToUnicode 1491 0 R >>
endobj
-1495 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1491 0 R /W 1490 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1492 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1488 0 R /W 1487 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1496 0 obj
+1493 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-1498 0 obj
+1495 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc```
endstream
endobj
-1499 0 obj
+1496 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xmTmLSW~"]^Gd-DeNNM)R*]mXAQc`lR>TmM [21 ?̖,f{em̖,9=9xiJ*hen(Hγdmo[M ˰)q)-rQ"/J"dZ)}qLKeK)nSO 21w+(&) POh  kګ=҅Vy-4W* 2L(Ӏ (ZJ FkW8jTPiq"Q«C
@@ -6859,32 +6892,32 @@ F`B56@Jm{7
jг{qU 9L*6bӈ<|Hn;`}]{Xn_M3&b-|,#c|)̺nЬ!0d*veX?`=D~M_Ͻ}Z[b# eɶ
endstream
endobj
-1497 0 obj
-<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1499 0 R /CIDSet 1498 0 R >>
+1494 0 obj
+<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1496 0 R /CIDSet 1495 0 R >>
endobj
-1500 0 obj
+1497 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
x}RMk@ﯘ=lTEVT+^.ݰIQ(@B^ޛf{WNXV3 Vۼ"ZD9׊*]R4#N%;sQg!;~WɂAڒL4#Ggk!|x|J&BHodh\ܓfCx,SY(\Bx0d; 樅<CA#8UuAk(cXf/DmV4קٵB9yLqħ1,7 JTxhcOm(1}(DC+<ء)uh9#q=~e]U7Z:y6x?JU͢ 
endstream
endobj
-371 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1501 0 R ] /ToUnicode 1500 0 R >>
+375 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1498 0 R ] /ToUnicode 1497 0 R >>
endobj
-1501 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1497 0 R /W 1496 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1498 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1494 0 R /W 1493 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1502 0 obj
+1499 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-1504 0 obj
+1501 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-1505 0 obj
+1502 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -6899,84 +6932,74 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-1503 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1505 0 R /CIDSet 1504 0 R >>
+1500 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1502 0 R /CIDSet 1501 0 R >>
endobj
-1506 0 obj
+1503 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
-370 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1507 0 R ] /ToUnicode 1506 0 R >>
+374 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1504 0 R ] /ToUnicode 1503 0 R >>
endobj
-1507 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1503 0 R /W 1502 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1504 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1500 0 R /W 1499 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1508 0 obj
-[ 27 [ 734 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 72 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 490 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
+1505 0 obj
+[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 503 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
endobj
-1510 0 obj
+1507 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
-xc``UTѰˁ4
+xc``U4hX
endstream
endobj
-1511 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3660 >>
-stream
-xڭX XgY˘VgLZjVTVk.
- B
-jW4Z+ QhDd\#KN*RJTI
-MjJ4"!Q%*])KEdR<Vd
-ZC&WɤRJ&&) ՚
-L
-5+CY,@)X::1I?y`B$V#[+wx4 Df!sy|d!#+Ujd-@6"QH Dv!ɈIC2<; pDy2RUH8f7EF9fdH,~Qĉo4Zu/hX8XSh.:iwb
-?YDhtKZM*<Xل'oJRZ\Ff A .ƛ_hcz\X=#ZrN]2dL CеlKfN ;t :xEn8i"_ͤvVSмE8?*?XIy!m_PӒ);68 EU,xrN=X<}Rxa &I GlQF'u^ G?)D >tzq Gd}<
-}$y[h6K5ɑĚgtSgb8t78le'#~c4
-[NQvqz>|(+Oפ84-5r^
-wF-G!6<tkOP%RYnZGw".o]AUes>Vpw~-}pƁSRPo0y+D$\B9` u,8;ΞȎfy*CcqRX +3=%"Jl_sylB`Y^/7'lBL9!V.-D`):}\u;胊('g
->KQ  fFаI˃KS?xz7"_%o~nӃ0oxr?E͕~(Y@?~Ɯ_E r\]][&\L$ͨ8'?31plF3@d{rX;3? j(MT u]IKXQ1턑g_swrttwcc3
-fĮ$+KG6$'Tˈ+Bkȥ y,]YV@nݳ5|u73.J6m|!GSpu%u62D$^FcWyXb+0S؜9Ƃ=Ȯ-[]$&
-A\9wm\s^8 :wg :mvRp{5Qy>~ysDy`Oac3%-*JIIuiZn#ޥ
-EǻE/SŮz n-CeKNNn=@z= ]+*{]k
-b 0 ^:ls:8,8ek3N L'xiPG<~dP$NBnVlMqjTʱ a1hm;y8#j
-pqa7t|2wXdk_M5-7&5??^GlRB8(Ov ֻ}%7{KD^Fmw3
-בp@44Bi3L"-]Ͷ
-Y3]JӚ~.tQ={[ &I:s~??wKxGiiS4fPh"?xެ)(*y{)P]q&\<
-qeؗB6m¤H[m?cgtZB:IL*>w=3u?q <q cДi-[ vÏ"G; 7N(li;CN;zO/ iɺUMuV7=g󬡂 NxλPt8CI0͢ةj߲Lu~k~n
-,6
-mXDS; (Η$USph"F$ڋqwzudeΜ;}KE'= 2N#5ɭ/[1!Mڥ(ExjXJu^Q&:u<Mnyt
-]Uk*\8#uk#p}q^jq˞՝+SEJFԖTQ4 z̷Ip.;[\)<F3珞? _19(s
-ɰ@ׇ(pYR\du5,%ֽKqI(fϘ/Iˢ
+1508 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3569 >>
+stream
+xڭX X皞˘VgLX7;mEjU]$ȅp 'o!$$\Pwbػx\]cٝ9{gwyf}xݰu뼐͊(E2MB}s 3Hf¼cH3O6؋sl9{x@3+xAx߸w^U^3I^37^CDwȟy(o"χ=,XHJSԒE ,>! 򓬏PUDc$$~0V%ҸX"V..ѨJDThTs$q*V<(Ji4J%h1RD'.Y%!rT+RIZ_)2Xn?$95}C?uZPJbY/a
+ebTªEt]TW!6 -2EE2$
+\Qe!gg30קu\ %XSVFœsa)@~Tօv bK?$ hBQ*ݟlI9AqQlXldW h{ņSlL #.^0g \SOD$Fa/p3cXKolpXYΎ-N9P
+{ eWQ m&Քy&9ɡi*+)%,
+!\X~J_Hy
+CӓHyjbv
+<jvU:  26^^nyA-=ͤU>!nCXBy|Z>2a3v.w(A[CUAwKOQBl$%
+
+2UoEzmqFY]ʧZrJV{6ft:KWT"l߀u"^eKIHlRuS.kokuVa֛l9ԅKhjFUN%fggڬVky|gnS8/NwˬVuxꈢ3Ydꬄ;/w]|Ǽ`e5:uwbG$*ׁ'BEeSHO&&8
+-Zzk\-VKiIR\Z594+
endstream
endobj
-1509 0 obj
-<< /Type /FontDescriptor /FontName /ZKVPJD+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1511 0 R /CIDSet 1510 0 R >>
+1506 0 obj
+<< /Type /FontDescriptor /FontName /QXGKVV+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1508 0 R /CIDSet 1507 0 R >>
endobj
-1512 0 obj
-<< /Filter /FlateDecode /Length 511 >>
+1509 0 obj
+<< /Filter /FlateDecode /Length 505 >>
stream
-xڅj0ڋ@zF-#dRα&YC,پۯ_naЀ?hcg:sTN%`Y]I}%$zkĶԲbȢ_:At.䗋Æz\/d;:wL܄ݿdnMN)*Ă{ιbQ9lK?R(v/(֑K=-6-y锍tiFoJ* oN/d1)tҹ^L`#h7GtB$畠rR<7c)/HQP;QЛ?2N8H--,Š0 xhi)\ְ-E!hQ!%9z8W!.#cAY4 @k:pR9C6zcN:gAKI$:J0%n27Y08zXR=;sf?,;f٠B]D^Nz[{@2P
+xڅK0YdpHfF(
+( 4_h$DNq**(u||3g:=rTN5`Y]I}#$h>TefE72t'\ȯ3 pn2Ao]2sS/ڋNO&av/l 94lFS!rjh"o߼nݵiSMl'MV7zWT!lxONuu}!#q/M}zJb#Fh^ZUB$畠rR<76Mz$_q g4
+q
+#P"R
+P7 [eAcK']b%1ΐ 1D.Z8 8Q_(K>7]0NWgo\bRzj1;SHm]զ~kӿņ9c/
endstream
endobj
-369 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZKVPJD+LMRoman12-Regular /DescendantFonts [ 1513 0 R ] /ToUnicode 1512 0 R >>
+373 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QXGKVV+LMRoman12-Regular /DescendantFonts [ 1510 0 R ] /ToUnicode 1509 0 R >>
endobj
-1513 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZKVPJD+LMRoman12-Regular /FontDescriptor 1509 0 R /W 1508 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1510 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QXGKVV+LMRoman12-Regular /FontDescriptor 1506 0 R /W 1505 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1514 0 obj
+1511 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
endobj
-1516 0 obj
+1513 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Pa`hp
endstream
endobj
-1517 0 obj
+1514 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1024 >>
stream
xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(H$!%1?gw1&{&Kz@DVCU弪zOHVhAʕJnfl
@@ -6986,10 +7009,10 @@ xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(
CoV< }>q%N鉴4=Z^d
endstream
endobj
-1515 0 obj
-<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1517 0 R /CIDSet 1516 0 R >>
+1512 0 obj
+<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1514 0 R /CIDSet 1513 0 R >>
endobj
-1518 0 obj
+1515 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}]K0+6s2
@@ -6997,22 +7020,22 @@ nU(MKf`MJ^ߛv8 xzޓyK<p`|Mkj`*֖(5"GW{xъp
*'Zq(K8thSL=RGđy9K-în90jmr;"aMTeNC2-m7 =
endstream
endobj
-368 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1519 0 R ] /ToUnicode 1518 0 R >>
+372 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1516 0 R ] /ToUnicode 1515 0 R >>
endobj
-1519 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1515 0 R /W 1514 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1516 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1512 0 R /W 1511 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1520 0 obj
+1517 0 obj
[ 28 [ 459 ] 35 [ 511 ] 43 [ 406 ] 50 [ 406 ] 55 [ 276 ] 59 [ 459 ] 63 [ 511 ] 66 [ 250 ] 70 [ 485 ] 72 [ 250 ] 75 [ 772 ] 77 [ 511 ] 81 [ 459 ] 84 [ 511 ] 91 [ 485 ] 96 [ 354 511 359 ] 104 [ 668 354 ] 108 [ 693 511 ] 114 [ 668 ] 126 [ 499 ] ]
endobj
-1522 0 obj
+1519 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``PT!
endstream
endobj
-1523 0 obj
+1520 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2974 >>
stream
xڕW TW cKCk룮mu"QD!@$@ !hA DCZPRQrd}j_֭n;=;ֶsrn;?xz"i􊈈US#"d鳂)R}s1=~~CQ4AL)_χLq_B9xy pO|; p ?"⠜1>G[3CCg.ei)9#4iq \*JJ驤(3\LFdjv6 ebHm$cklX$S,+d$UIetVbRLfg&J"&!2UdDj8S)&HR)*knH*;%XH (C#F˗E-\,zQ*WEn)dJ*U*_&";ɲDqX8S 52BDB wp$Y D$"$"`e/M'b D!mg n5jWчQM}
@@ -7026,10 +7049,10 @@ Yfi^="s[o\*+3
(<4F;qy;}L&Sl.tVX̥%fZ;g)}
endstream
endobj
-1521 0 obj
-<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1523 0 R /CIDSet 1522 0 R >>
+1518 0 obj
+<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1520 0 R /CIDSet 1519 0 R >>
endobj
-1524 0 obj
+1521 0 obj
<< /Filter /FlateDecode /Length 474 >>
stream
xڅn0y
@@ -7037,13 +7060,13 @@ xڅn0y
KEDBLQ5!B<'Φ[
endstream
endobj
-367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1525 0 R ] /ToUnicode 1524 0 R >>
+371 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1522 0 R ] /ToUnicode 1521 0 R >>
endobj
-1525 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1521 0 R /W 1520 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1522 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1518 0 R /W 1517 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1527 0 obj
+1524 0 obj
<< /Length1 1484 /Length2 8131 /Length3 0 /Filter /FlateDecode /Length 9124 >>
stream
xڍTm6NHt,) ] .²tJH#]J4" HwwS9w3sM\LtZ2`Di
@@ -7085,10 +7108,10 @@ Mt%ŕTMHtwX:n҅O| ҙi,l59k#E~L.pz/'w/
*2;nYK/G-^䙗;%{F!zd[
endstream
endobj
-1526 0 obj
-<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1527 0 R >>
+1523 0 obj
+<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1524 0 R >>
endobj
-1529 0 obj
+1526 0 obj
<< /Length1 2319 /Length2 9802 /Length3 0 /Filter /FlateDecode /Length 11051 >>
stream
xڍTZ6Lt# 1t*]Jw
@@ -7140,10 +7163,10 @@ l1(fP@weKg}PYۈE[n(#3%[$Bf~΍Nd\zmM0 Y],9Ca0- ub
3H vrH
endstream
endobj
-1528 0 obj
-<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1529 0 R >>
+1525 0 obj
+<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1526 0 R >>
endobj
-1531 0 obj
+1528 0 obj
<< /Length1 1396 /Length2 5867 /Length3 0 /Filter /FlateDecode /Length 6812 >>
stream
xڍTTTk&FPAf@II)!f`:% @B$$DSCR@R@i$;9޵]֞=<]@P"T( X$ TV1
@@ -7176,10 +7199,10 @@ mNվ˘jB5̞cvqc~O\Y)O
ݟ~wb@ ݤmπnsA6&wSlYD]+"@?|9mo]fjǾ{sŸܦ}}rIRBR+譜yScC>gamʁt!eU p/k UQSb3Z Wзo.uY&h) @X`0rEC:s,17v TN
endstream
endobj
-1530 0 obj
-<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1531 0 R >>
+1527 0 obj
+<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1528 0 R >>
endobj
-1533 0 obj
+1530 0 obj
<< /Length1 1830 /Length2 11276 /Length3 0 /Filter /FlateDecode /Length 12424 >>
stream
xڍT[-kqS'-- @ )V-VSHhq>zsɞ׷;&9,q
@@ -7222,10 +7245,10 @@ t둭Jc_WP5jbep/wUd22>3}֟Bn9MmGvX-i1@?BDVlt[~_
|UƶO3n0&hWA:fBh;2bVF:u(o7Ȕ?xs4ŹNgX%%F}J34G_1˵-{
endstream
endobj
-1532 0 obj
-<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1533 0 R >>
+1529 0 obj
+<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1530 0 R >>
endobj
-1535 0 obj
+1532 0 obj
<< /Length1 1415 /Length2 6063 /Length3 0 /Filter /FlateDecode /Length 7021 >>
stream
xڍuTk-Xh
@@ -7255,10 +7278,10 @@ OB+F|72{ .2xcZrL_7-_5Km-܁CEMXo]Y1nfɫt/
bUyLq@jƚm#<՗aVY G<^P4~0-)gV2+ \]"X,p aqה-TW'qY'D#_Ē_w"9FuKK
endstream
endobj
-1534 0 obj
-<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1535 0 R >>
+1531 0 obj
+<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1532 0 R >>
endobj
-1537 0 obj
+1534 0 obj
<< /Length1 1451 /Length2 6812 /Length3 0 /Filter /FlateDecode /Length 7785 >>
stream
xڍtTk.)]D`A!ASIiICFwZY羞^Fzm=N[5XspEr*
@@ -7292,10 +7315,10 @@ y[f!i;7W%mIJ ﭓ71v(oT(}6u4/^%O8Ϩu(6g
a e|L1iR]ez[
endstream
endobj
-1536 0 obj
-<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1537 0 R >>
+1533 0 obj
+<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1534 0 R >>
endobj
-1539 0 obj
+1536 0 obj
<< /Length1 1589 /Length2 8523 /Length3 0 /Filter /FlateDecode /Length 9572 >>
stream
xڍTT.LCH "! 0PC!%)-!!%%ֺwZgγ}}jb&6FiPPx`c`accGաp+ȟft&jW= Iq
@@ -7339,10 +7362,10 @@ Sziq`Rky5zX-
_G)JxУ<g|eBy"7t*<
endstream
endobj
-1538 0 obj
-<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1539 0 R >>
+1535 0 obj
+<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1536 0 R >>
endobj
-1541 0 obj
+1538 0 obj
<< /Length1 1438 /Length2 6548 /Length3 0 /Filter /FlateDecode /Length 7523 >>
stream
xڍt4kׯ"ZD0zF5`0!z[H$DDoD#Ir{޻ֽkϳ=6f]>y{-LA
@@ -7379,10 +7402,10 @@ wt/ְj@884}?em\9P?{6jx)*NaqIuoŀ31&
*INS+$3z t$x g6./)~s_2oϒlAS"F!XzP%i3UsLWsOLۈklm܏f(]zj Y2
endstream
endobj
-1540 0 obj
-<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1541 0 R >>
+1537 0 obj
+<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1538 0 R >>
endobj
-1543 0 obj
+1540 0 obj
<< /Length1 1744 /Length2 11235 /Length3 0 /Filter /FlateDecode /Length 12356 >>
stream
xڍP.k;wwwwwg!0 w@pBpw
@@ -7429,42 +7452,10 @@ ttoΎфtč!e웩I]8NG'
o獧{{m1` 8>`9X;;FVqvt$3CY(n3@}"ZWkgcQ͞*EkFY<lc ?v0.+Q2SbMXw`Pi.zN o| Ի)n9`VOi{40ơ
endstream
endobj
-1542 0 obj
-<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1543 0 R >>
-endobj
-1545 0 obj
-<< /Length1 1387 /Length2 5977 /Length3 0 /Filter /FlateDecode /Length 6920 >>
-stream
-xڍtTk- =;J.
-
-?#wc䕔
-W0 J
-F-)n:­,amragھ/+K˴oX$>IYӬ U,5qQĽcg{ujV9SLة\W0
-x&yo6vܛjsmg3<fuO :o GTÛi,m98ykA?E6ۼ~~(H1GFl.ܐ[C[fbNه Wۘm9W4Z훚i@ICnur[nb@ɱj߻5ÂBYwI:[|'I`9b@=m5+<iݧv%g>K\j`JyV8s3뇘\T2bY 8h٤3֒}E\yDZZ~ֵ +Gz9nO )H{
-P,$]yhe! 7u#%xzdr>&;#KxDraUa2튷a{xi
-_'3C>Ϭcل fa% Ir'ġL!Y@Ox//q>J ^S
-t(rG=ZƦ{Fի=ћfW oNj*.LkCͣc.VeEI.Tn{78Dc͢
-w$u?š
-˦ n5JrCi-ҙf2ϫCf7,Dt {@R2WEH|}c'8;/Eׄ[mWdu#D\Kk^5V>zR!?: eDoHq6iG^=ﳴfܱ87;bu)DJU oHMS4$>pap:qaD5Ґ2B0OZ}`g ,2y(%[XW$xDū$ xk8lG7%p57Cp9ehedإR 眯S2g|z%MȂY]Aټ^\RP!oJ mT x6Oƻ7_U쉉-GSƖ14Ȣ쎉r*u]H.$B ;m.jRe_>6l.c/bFӔOWr4sj5~;/ 3jdx>~KV&ȍ:G֊YE3oUDo !czfn3UQ?FrP=9M}i_%HK;V_~g>ƿBjfo.ePc(;S wt1;uZb̽V4& [y2#}$WDڽYd^= scMu=dH@SǠ DLZeWXV'h% QQ& QkV-\M-}mIʹjިω5<=c 3!}Q>zAc9I8Ó0-S޴X3lьw𧁬⒋;BCLIѹcD|(QJv Վ,v72 -ϬpM
-$SYZ{w+t=aAi ~bh5J$yݹhA xtrh]_R-/쎆
-U7j^TjxZULS>#R} @t?]_v!O]IR߷oNZk;Bl>[Vw܋.:tq`UW%4k+'h qv{~
-NĄp wBayTy-qp[ e2GߌE{[o`=:(l{bq䛡Gt|ȶuzrse]N)$q8Ywr \$t_)%&#B\Os5<Y2Sպ޾ldxn*5<xg(D3<@DvCng:q_{. ,Xn0z 6nr\LZDEȸVѕ탺QWAp^E^:)Zu)ntA)'
-O"6}/HWsaKUdǛd NjXc;uj/U-\m lV?RvIC !˹ڜoL<#ɒO5 vimفBB'# GϚ7؀mQ'sƇ!9ۭHY< *]E/T.oyTpՓ4ͪu$j캥?h|sdf,0>c(`2 ",~RjgAyC<J S%M>;
-ANafK6X6L9m=3b"LU/\'.,$wLӞk,'~+FqTjloYçrr'\$l%>(͟wkwwUmds 6;ڃ|\N=3J\Ts"S
-A OMk\yMZGTHB'כvMyušC0{
-Xp;\8ܘ Ijn]b7D!x6i
-QY+J+~>OfȕR'\]'n^7OhL!І깆q8Ӎ8$:GwwĨ_Ni_I{1 ӪQ'|·G$E.hc썧p= xzdfe%и&TTCY ۫9S`zHc
-.
- k?Eʔ+dۏc|uel !+!^`+:8_@ $ʹkb*ӄ{srݟ̤4LE㢨9yP҉gSP&r@{%)}/gG=>ωwNc{M{.$IJ'g\A$9cbk&Tz+07)K= Å`2Mf<O
-('p_x>s̿Lfs~C7_ ,5N暊=X-|TCSu<WBAͮVٍ5UN
-gwlk{r"_uTC
-3|—Dnf!\Tc jYa_?*s
-endstream
-endobj
-1544 0 obj
-<< /Type /FontDescriptor /FontName /YFCZGG+CMR12 /Flags 4 /FontBBox [ -34 -251 988 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /zero) /FontFile 1545 0 R >>
+1539 0 obj
+<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1540 0 R >>
endobj
-1547 0 obj
+1542 0 obj
<< /Length1 1447 /Length2 6556 /Length3 0 /Filter /FlateDecode /Length 7538 >>
stream
xڍVT\%Kph%CbfI%iP@@$nQJ.7zoZ3{kؙu a '<
@@ -7499,10 +7490,10 @@ eO:[1bo_9ͣh[puK}ks 7\GU0Ǟ6Г?ﱿWy$4kw}zK
2h&ji/,
endstream
endobj
-1546 0 obj
-<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1547 0 R >>
+1541 0 obj
+<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1542 0 R >>
endobj
-1549 0 obj
+1544 0 obj
<< /Length1 1595 /Length2 7817 /Length3 0 /Filter /FlateDecode /Length 8871 >>
stream
xڍT6t
@@ -7540,10 +7531,10 @@ Y<Qj8e^z 7r-\
.+g!~ŜI #PAiМ'WXϟf'_}xbK$yv[IoRʢTYiGU$ݡsZ,U+hQ
endstream
endobj
-1548 0 obj
-<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1549 0 R >>
+1543 0 obj
+<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1544 0 R >>
endobj
-1551 0 obj
+1546 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7586,10 +7577,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1550 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1551 0 R >>
+1545 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1546 0 R >>
endobj
-1553 0 obj
+1548 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7620,10 +7611,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1552 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1553 0 R >>
+1547 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1548 0 R >>
endobj
-1555 0 obj
+1550 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7652,326 +7643,326 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1554 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1555 0 R >>
+1549 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1550 0 R >>
endobj
-754 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1526 0 R /FirstChar 49 /LastChar 100 /Widths 1350 0 R >>
+764 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1523 0 R /FirstChar 49 /LastChar 100 /Widths 1347 0 R >>
endobj
-375 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1528 0 R /FirstChar 12 /LastChar 125 /Widths 1477 0 R >>
+379 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1525 0 R /FirstChar 12 /LastChar 125 /Widths 1474 0 R >>
endobj
-410 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1530 0 R /FirstChar 112 /LastChar 112 /Widths 1385 0 R >>
+414 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1527 0 R /FirstChar 112 /LastChar 112 /Widths 1382 0 R >>
endobj
-379 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1532 0 R /FirstChar 46 /LastChar 122 /Widths 1473 0 R >>
+383 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1529 0 R /FirstChar 46 /LastChar 122 /Widths 1470 0 R >>
endobj
-423 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1534 0 R /FirstChar 65 /LastChar 65 /Widths 1378 0 R >>
+427 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1531 0 R /FirstChar 65 /LastChar 65 /Widths 1375 0 R >>
endobj
-378 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1536 0 R /FirstChar 76 /LastChar 110 /Widths 1474 0 R >>
+382 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1533 0 R /FirstChar 76 /LastChar 110 /Widths 1471 0 R >>
endobj
-376 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1538 0 R /FirstChar 59 /LastChar 120 /Widths 1476 0 R >>
+380 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1535 0 R /FirstChar 59 /LastChar 120 /Widths 1473 0 R >>
endobj
-490 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1540 0 R /FirstChar 105 /LastChar 110 /Widths 1371 0 R >>
+489 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1537 0 R /FirstChar 105 /LastChar 110 /Widths 1368 0 R >>
endobj
-382 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1542 0 R /FirstChar 40 /LastChar 115 /Widths 1465 0 R >>
+386 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1539 0 R /FirstChar 40 /LastChar 115 /Widths 1462 0 R >>
endobj
-932 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YFCZGG+CMR12 /FontDescriptor 1544 0 R /FirstChar 48 /LastChar 48 /Widths 1337 0 R >>
+381 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1541 0 R /FirstChar 43 /LastChar 52 /Widths 1472 0 R >>
endobj
-377 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1546 0 R /FirstChar 43 /LastChar 52 /Widths 1475 0 R >>
+384 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1543 0 R /FirstChar 40 /LastChar 57 /Widths 1469 0 R >>
endobj
-380 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1548 0 R /FirstChar 40 /LastChar 57 /Widths 1472 0 R >>
+408 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1545 0 R /FirstChar 0 /LastChar 105 /Widths 1383 0 R >>
endobj
-404 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1550 0 R /FirstChar 0 /LastChar 105 /Widths 1386 0 R >>
+753 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1547 0 R /FirstChar 0 /LastChar 32 /Widths 1348 0 R >>
endobj
-743 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1552 0 R /FirstChar 0 /LastChar 32 /Widths 1351 0 R >>
+653 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1549 0 R /FirstChar 0 /LastChar 34 /Widths 1355 0 R >>
endobj
-645 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1554 0 R /FirstChar 0 /LastChar 34 /Widths 1358 0 R >>
+398 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 365 0 R 403 0 R 411 0 R 424 0 R 441 0 R 450 0 R 455 0 R 459 0 R 463 0 R 470 0 R ] >>
endobj
-394 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 437 0 R 446 0 R 451 0 R 455 0 R 459 0 R 466 0 R ] >>
+479 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 475 0 R 486 0 R 498 0 R 505 0 R 510 0 R 515 0 R 520 0 R 528 0 R 535 0 R 541 0 R ] >>
endobj
-480 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 477 0 R 487 0 R 497 0 R 502 0 R 507 0 R 512 0 R 520 0 R 527 0 R 533 0 R 540 0 R ] >>
+551 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 548 0 R 554 0 R 560 0 R 568 0 R 574 0 R 579 0 R 588 0 R 597 0 R 604 0 R 611 0 R ] >>
endobj
-548 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 545 0 R 552 0 R 560 0 R 566 0 R 571 0 R 580 0 R 589 0 R 596 0 R 603 0 R 608 0 R ] >>
+619 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 616 0 R 624 0 R 631 0 R 638 0 R 650 0 R 658 0 R 665 0 R 673 0 R 679 0 R 690 0 R ] >>
endobj
-618 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 615 0 R 623 0 R 630 0 R 642 0 R 650 0 R 657 0 R 665 0 R 671 0 R 682 0 R 689 0 R ] >>
+706 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 698 0 R 711 0 R 716 0 R 730 0 R 740 0 R 745 0 R 750 0 R 761 0 R 770 0 R 779 0 R ] >>
endobj
-705 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 702 0 R 708 0 R 720 0 R 730 0 R 735 0 R 740 0 R 751 0 R 760 0 R 769 0 R 777 0 R ] >>
+790 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 787 0 R 794 0 R 800 0 R 806 0 R 813 0 R 821 0 R 830 0 R 845 0 R 852 0 R 857 0 R ] >>
endobj
-786 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 783 0 R 790 0 R 797 0 R 803 0 R 811 0 R 820 0 R 835 0 R 842 0 R 847 0 R 853 0 R ] >>
+868 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 865 0 R 870 0 R 874 0 R 878 0 R 882 0 R 886 0 R 891 0 R 896 0 R 900 0 R 904 0 R ] >>
endobj
-860 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 857 0 R 862 0 R 866 0 R 870 0 R 874 0 R 879 0 R 884 0 R 888 0 R 892 0 R 896 0 R ] >>
+911 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 908 0 R 913 0 R 917 0 R 921 0 R 925 0 R 929 0 R 1048 0 R 1152 0 R 1230 0 R 1282 0 R ] >>
endobj
-903 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 10 /Kids [ 900 0 R 905 0 R 909 0 R 913 0 R 917 0 R 921 0 R 925 0 R 929 0 R 934 0 R 1059 0 R ] >>
+1333 0 obj
+<< /Type /Pages /Parent 1551 0 R /Count 1 /Kids [ 1330 0 R ] >>
endobj
-1180 0 obj
-<< /Type /Pages /Parent 1556 0 R /Count 4 /Kids [ 1177 0 R 1234 0 R 1286 0 R 1333 0 R ] >>
+1551 0 obj
+<< /Type /Pages /Count 81 /Kids [ 398 0 R 479 0 R 551 0 R 619 0 R 706 0 R 790 0 R 868 0 R 911 0 R 1333 0 R ] >>
endobj
-1556 0 obj
-<< /Type /Pages /Count 84 /Kids [ 394 0 R 480 0 R 548 0 R 618 0 R 705 0 R 786 0 R 860 0 R 903 0 R 1180 0 R ] >>
+1552 0 obj
+<< /Type /Outlines /First 6 0 R /Last 362 0 R /Count 20 >>
endobj
-1557 0 obj
-<< /Type /Outlines /First 6 0 R /Last 358 0 R /Count 20 >>
+362 0 obj
+<< /Title 363 0 R /A 360 0 R /Parent 1552 0 R /Prev 358 0 R >>
endobj
358 0 obj
-<< /Title 359 0 R /A 356 0 R /Parent 1557 0 R /Prev 354 0 R >>
+<< /Title 359 0 R /A 356 0 R /Parent 1552 0 R /Prev 314 0 R /Next 362 0 R >>
endobj
354 0 obj
-<< /Title 355 0 R /A 352 0 R /Parent 1557 0 R /Prev 310 0 R /Next 358 0 R >>
+<< /Title 355 0 R /A 352 0 R /Parent 314 0 R /Prev 350 0 R >>
endobj
350 0 obj
-<< /Title 351 0 R /A 348 0 R /Parent 310 0 R /Prev 346 0 R >>
+<< /Title 351 0 R /A 348 0 R /Parent 314 0 R /Prev 346 0 R /Next 354 0 R >>
endobj
346 0 obj
-<< /Title 347 0 R /A 344 0 R /Parent 310 0 R /Prev 342 0 R /Next 350 0 R >>
+<< /Title 347 0 R /A 344 0 R /Parent 314 0 R /Prev 342 0 R /Next 350 0 R >>
endobj
342 0 obj
-<< /Title 343 0 R /A 340 0 R /Parent 310 0 R /Prev 338 0 R /Next 346 0 R >>
+<< /Title 343 0 R /A 340 0 R /Parent 314 0 R /Prev 338 0 R /Next 346 0 R >>
endobj
338 0 obj
-<< /Title 339 0 R /A 336 0 R /Parent 310 0 R /Prev 334 0 R /Next 342 0 R >>
+<< /Title 339 0 R /A 336 0 R /Parent 314 0 R /Prev 334 0 R /Next 342 0 R >>
endobj
334 0 obj
-<< /Title 335 0 R /A 332 0 R /Parent 310 0 R /Prev 330 0 R /Next 338 0 R >>
+<< /Title 335 0 R /A 332 0 R /Parent 314 0 R /Prev 330 0 R /Next 338 0 R >>
endobj
330 0 obj
-<< /Title 331 0 R /A 328 0 R /Parent 310 0 R /Prev 326 0 R /Next 334 0 R >>
+<< /Title 331 0 R /A 328 0 R /Parent 314 0 R /Prev 326 0 R /Next 334 0 R >>
endobj
326 0 obj
-<< /Title 327 0 R /A 324 0 R /Parent 310 0 R /Prev 322 0 R /Next 330 0 R >>
+<< /Title 327 0 R /A 324 0 R /Parent 314 0 R /Prev 322 0 R /Next 330 0 R >>
endobj
322 0 obj
-<< /Title 323 0 R /A 320 0 R /Parent 310 0 R /Prev 318 0 R /Next 326 0 R >>
+<< /Title 323 0 R /A 320 0 R /Parent 314 0 R /Prev 318 0 R /Next 326 0 R >>
endobj
318 0 obj
-<< /Title 319 0 R /A 316 0 R /Parent 310 0 R /Prev 314 0 R /Next 322 0 R >>
+<< /Title 319 0 R /A 316 0 R /Parent 314 0 R /Next 322 0 R >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 310 0 R /Next 318 0 R >>
+<< /Title 315 0 R /A 312 0 R /Parent 1552 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 1557 0 R /Prev 290 0 R /Next 354 0 R /First 314 0 R /Last 350 0 R /Count -10 >>
+<< /Title 311 0 R /A 308 0 R /Parent 294 0 R /Prev 306 0 R >>
endobj
306 0 obj
-<< /Title 307 0 R /A 304 0 R /Parent 290 0 R /Prev 302 0 R >>
+<< /Title 307 0 R /A 304 0 R /Parent 294 0 R /Prev 302 0 R /Next 310 0 R >>
endobj
302 0 obj
-<< /Title 303 0 R /A 300 0 R /Parent 290 0 R /Prev 298 0 R /Next 306 0 R >>
+<< /Title 303 0 R /A 300 0 R /Parent 294 0 R /Prev 298 0 R /Next 306 0 R >>
endobj
298 0 obj
-<< /Title 299 0 R /A 296 0 R /Parent 290 0 R /Prev 294 0 R /Next 302 0 R >>
+<< /Title 299 0 R /A 296 0 R /Parent 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 290 0 R /Next 298 0 R >>
+<< /Title 295 0 R /A 292 0 R /Parent 1552 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1557 0 R /Prev 286 0 R /Next 310 0 R /First 294 0 R /Last 306 0 R /Count -4 >>
+<< /Title 291 0 R /A 288 0 R /Parent 1552 0 R /Prev 262 0 R /Next 294 0 R >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 1557 0 R /Prev 258 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 262 0 R /Prev 282 0 R >>
endobj
282 0 obj
-<< /Title 283 0 R /A 280 0 R /Parent 258 0 R /Prev 278 0 R >>
+<< /Title 283 0 R /A 280 0 R /Parent 262 0 R /Prev 278 0 R /Next 286 0 R >>
endobj
278 0 obj
-<< /Title 279 0 R /A 276 0 R /Parent 258 0 R /Prev 274 0 R /Next 282 0 R >>
+<< /Title 279 0 R /A 276 0 R /Parent 262 0 R /Prev 266 0 R /Next 282 0 R >>
endobj
274 0 obj
-<< /Title 275 0 R /A 272 0 R /Parent 258 0 R /Prev 262 0 R /Next 278 0 R >>
+<< /Title 275 0 R /A 272 0 R /Parent 266 0 R /Prev 270 0 R >>
endobj
270 0 obj
-<< /Title 271 0 R /A 268 0 R /Parent 262 0 R /Prev 266 0 R >>
+<< /Title 271 0 R /A 268 0 R /Parent 266 0 R /Next 274 0 R >>
endobj
266 0 obj
-<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 270 0 R >>
+<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 278 0 R /First 270 0 R /Last 274 0 R /Count -2 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 258 0 R /Next 274 0 R /First 266 0 R /Last 270 0 R /Count -2 >>
+<< /Title 263 0 R /A 260 0 R /Parent 1552 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 1557 0 R /Prev 210 0 R /Next 286 0 R /First 262 0 R /Last 282 0 R /Count -4 >>
+<< /Title 259 0 R /A 256 0 R /Parent 214 0 R /Prev 254 0 R >>
endobj
254 0 obj
-<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R >>
+<< /Title 255 0 R /A 252 0 R /Parent 214 0 R /Prev 250 0 R /Next 258 0 R >>
endobj
250 0 obj
-<< /Title 251 0 R /A 248 0 R /Parent 210 0 R /Prev 246 0 R /Next 254 0 R >>
+<< /Title 251 0 R /A 248 0 R /Parent 214 0 R /Prev 246 0 R /Next 254 0 R >>
endobj
246 0 obj
-<< /Title 247 0 R /A 244 0 R /Parent 210 0 R /Prev 242 0 R /Next 250 0 R >>
+<< /Title 247 0 R /A 244 0 R /Parent 214 0 R /Prev 242 0 R /Next 250 0 R >>
endobj
242 0 obj
-<< /Title 243 0 R /A 240 0 R /Parent 210 0 R /Prev 238 0 R /Next 246 0 R >>
+<< /Title 243 0 R /A 240 0 R /Parent 214 0 R /Prev 238 0 R /Next 246 0 R >>
endobj
238 0 obj
-<< /Title 239 0 R /A 236 0 R /Parent 210 0 R /Prev 234 0 R /Next 242 0 R >>
+<< /Title 239 0 R /A 236 0 R /Parent 214 0 R /Prev 234 0 R /Next 242 0 R >>
endobj
234 0 obj
-<< /Title 235 0 R /A 232 0 R /Parent 210 0 R /Prev 230 0 R /Next 238 0 R >>
+<< /Title 235 0 R /A 232 0 R /Parent 214 0 R /Prev 230 0 R /Next 238 0 R >>
endobj
230 0 obj
-<< /Title 231 0 R /A 228 0 R /Parent 210 0 R /Prev 226 0 R /Next 234 0 R >>
+<< /Title 231 0 R /A 228 0 R /Parent 214 0 R /Prev 226 0 R /Next 234 0 R >>
endobj
226 0 obj
-<< /Title 227 0 R /A 224 0 R /Parent 210 0 R /Prev 222 0 R /Next 230 0 R >>
+<< /Title 227 0 R /A 224 0 R /Parent 214 0 R /Prev 222 0 R /Next 230 0 R >>
endobj
222 0 obj
-<< /Title 223 0 R /A 220 0 R /Parent 210 0 R /Prev 218 0 R /Next 226 0 R >>
+<< /Title 223 0 R /A 220 0 R /Parent 214 0 R /Prev 218 0 R /Next 226 0 R >>
endobj
218 0 obj
-<< /Title 219 0 R /A 216 0 R /Parent 210 0 R /Prev 214 0 R /Next 222 0 R >>
+<< /Title 219 0 R /A 216 0 R /Parent 214 0 R /Next 222 0 R >>
endobj
214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 210 0 R /Next 218 0 R >>
+<< /Title 215 0 R /A 212 0 R /Parent 1552 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 1557 0 R /Prev 186 0 R /Next 258 0 R /First 214 0 R /Last 254 0 R /Count -11 >>
+<< /Title 211 0 R /A 208 0 R /Parent 190 0 R /Prev 206 0 R >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 186 0 R /Prev 202 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 190 0 R /Prev 202 0 R /Next 210 0 R >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 186 0 R /Prev 198 0 R /Next 206 0 R >>
+<< /Title 203 0 R /A 200 0 R /Parent 190 0 R /Prev 198 0 R /Next 206 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 186 0 R /Prev 194 0 R /Next 202 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 190 0 R /Prev 194 0 R /Next 202 0 R >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 186 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 1552 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 1557 0 R /Prev 166 0 R /Next 210 0 R /First 190 0 R /Last 206 0 R /Count -5 >>
+<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 166 0 R /Prev 178 0 R >>
+<< /Title 183 0 R /A 180 0 R /Parent 170 0 R /Prev 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 166 0 R /Prev 174 0 R /Next 182 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R /Next 182 0 R >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 166 0 R /Prev 170 0 R /Next 178 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
+<< /Title 171 0 R /A 168 0 R /Parent 1552 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1557 0 R /Prev 162 0 R /Next 186 0 R /First 170 0 R /Last 182 0 R /Count -4 >>
+<< /Title 167 0 R /A 164 0 R /Parent 1552 0 R /Prev 138 0 R /Next 170 0 R >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 1557 0 R /Prev 134 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 138 0 R /Prev 158 0 R >>
endobj
158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 134 0 R /Prev 154 0 R >>
+<< /Title 159 0 R /A 156 0 R /Parent 138 0 R /Prev 154 0 R /Next 162 0 R >>
endobj
154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 134 0 R /Prev 150 0 R /Next 158 0 R >>
+<< /Title 155 0 R /A 152 0 R /Parent 138 0 R /Prev 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 134 0 R /Prev 146 0 R /Next 154 0 R >>
+<< /Title 151 0 R /A 148 0 R /Parent 138 0 R /Prev 146 0 R /Next 154 0 R >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 134 0 R /Prev 142 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 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 /Next 146 0 R >>
+<< /Title 143 0 R /A 140 0 R /Parent 138 0 R /Next 146 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 134 0 R /Next 142 0 R >>
+<< /Title 139 0 R /A 136 0 R /Parent 1552 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1557 0 R /Prev 130 0 R /Next 162 0 R /First 138 0 R /Last 158 0 R /Count -6 >>
+<< /Title 135 0 R /A 132 0 R /Parent 1552 0 R /Prev 118 0 R /Next 138 0 R >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 1557 0 R /Prev 114 0 R /Next 134 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
endobj
126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 114 0 R /Prev 122 0 R >>
+<< /Title 127 0 R /A 124 0 R /Parent 118 0 R /Prev 122 0 R /Next 130 0 R >>
endobj
122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 114 0 R /Prev 118 0 R /Next 126 0 R >>
+<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 114 0 R /Next 122 0 R >>
+<< /Title 119 0 R /A 116 0 R /Parent 1552 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1557 0 R /Prev 110 0 R /Next 130 0 R /First 118 0 R /Last 126 0 R /Count -3 >>
+<< /Title 115 0 R /A 112 0 R /Parent 1552 0 R /Prev 94 0 R /Next 118 0 R >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 1557 0 R /Prev 90 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R >>
endobj
106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 90 0 R /Prev 102 0 R >>
+<< /Title 107 0 R /A 104 0 R /Parent 94 0 R /Prev 102 0 R /Next 110 0 R >>
endobj
102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 90 0 R /Prev 98 0 R /Next 106 0 R >>
+<< /Title 103 0 R /A 100 0 R /Parent 94 0 R /Prev 98 0 R /Next 106 0 R >>
endobj
98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 90 0 R /Prev 94 0 R /Next 102 0 R >>
+<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 90 0 R /Next 98 0 R >>
+<< /Title 95 0 R /A 92 0 R /Parent 1552 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 1557 0 R /Prev 46 0 R /Next 110 0 R /First 94 0 R /Last 106 0 R /Count -4 >>
+<< /Title 91 0 R /A 88 0 R /Parent 70 0 R /Prev 86 0 R >>
endobj
86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 66 0 R /Prev 82 0 R >>
+<< /Title 87 0 R /A 84 0 R /Parent 70 0 R /Prev 82 0 R /Next 90 0 R >>
endobj
82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 66 0 R /Prev 78 0 R /Next 86 0 R >>
+<< /Title 83 0 R /A 80 0 R /Parent 70 0 R /Prev 78 0 R /Next 86 0 R >>
endobj
78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 66 0 R /Prev 74 0 R /Next 82 0 R >>
+<< /Title 79 0 R /A 76 0 R /Parent 70 0 R /Prev 74 0 R /Next 82 0 R >>
endobj
74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 66 0 R /Prev 70 0 R /Next 78 0 R >>
+<< /Title 75 0 R /A 72 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 >>
+<< /Title 71 0 R /A 68 0 R /Parent 50 0 R /Prev 66 0 R /First 74 0 R /Last 90 0 R /Count -5 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 46 0 R /Prev 62 0 R /First 70 0 R /Last 86 0 R /Count -5 >>
+<< /Title 67 0 R /A 64 0 R /Parent 50 0 R /Prev 54 0 R /Next 70 0 R >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 46 0 R /Prev 50 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 54 0 R /Prev 58 0 R >>
endobj
58 0 obj
-<< /Title 59 0 R /A 56 0 R /Parent 50 0 R /Prev 54 0 R >>
+<< /Title 59 0 R /A 56 0 R /Parent 54 0 R /Next 62 0 R >>
endobj
54 0 obj
-<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 58 0 R >>
+<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 66 0 R /First 58 0 R /Last 62 0 R /Count -2 >>
endobj
50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 46 0 R /Next 62 0 R /First 54 0 R /Last 58 0 R /Count -2 >>
+<< /Title 51 0 R /A 48 0 R /Parent 1552 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
endobj
46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 1557 0 R /Prev 18 0 R /Next 90 0 R /First 50 0 R /Last 66 0 R /Count -3 >>
+<< /Title 47 0 R /A 44 0 R /Parent 18 0 R /Prev 42 0 R >>
endobj
42 0 obj
-<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R >>
+<< /Title 43 0 R /A 40 0 R /Parent 18 0 R /Prev 38 0 R /Next 46 0 R >>
endobj
38 0 obj
<< /Title 39 0 R /A 36 0 R /Parent 18 0 R /Prev 34 0 R /Next 42 0 R >>
@@ -7989,1619 +7980,1618 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1557 0 R /Prev 14 0 R /Next 46 0 R /First 22 0 R /Last 42 0 R /Count -6 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1552 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1557 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1552 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1557 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1552 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1557 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 1552 0 R /Next 10 0 R >>
+endobj
+1553 0 obj
+<< /Names [ (Doc-Start) 370 0 R (Item.1) 415 0 R (Item.10) 726 0 R (Item.11) 862 0 R (Item.12) 863 0 R (Item.2) 416 0 R (Item.3) 417 0 R (Item.4) 418 0 R (Item.5) 704 0 R (Item.6) 705 0 R (Item.7) 723 0 R (Item.8) 724 0 R (Item.9) 725 0 R (page.1) 369 0 R (page.10) 472 0 R (page.11) 477 0 R (page.12) 488 0 R (page.13) 500 0 R (page.14) 507 0 R (page.15) 512 0 R (page.16) 517 0 R (page.17) 522 0 R (page.18) 530 0 R (page.19) 537 0 R (page.2) 405 0 R (page.20) 543 0 R (page.21) 550 0 R (page.22) 556 0 R (page.23) 562 0 R (page.24) 570 0 R (page.25) 576 0 R (page.26) 581 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+endobj
+1554 0 obj
+<< /Names [ (page.27) 590 0 R (page.28) 599 0 R (page.29) 606 0 R (page.3) 413 0 R (page.30) 613 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 633 0 R (page.34) 640 0 R (page.35) 652 0 R (page.36) 660 0 R (page.37) 667 0 R (page.38) 675 0 R (page.39) 681 0 R (page.4) 426 0 R (page.40) 692 0 R (page.41) 700 0 R (page.42) 713 0 R (page.43) 718 0 R (page.44) 732 0 R (page.45) 742 0 R (page.46) 747 0 R (page.47) 752 0 R (page.48) 763 0 R (page.49) 772 0 R (page.5) 443 0 R (page.50) 781 0 R (page.51) 789 0 R (page.52) 796 0 R (page.53) 802 0 R (page.54) 808 0 R (page.55) 815 0 R ] /Limits [ (page.27) (page.55) ] >>
+endobj
+1555 0 obj
+<< /Names [ (page.56) 823 0 R (page.57) 832 0 R (page.58) 847 0 R (page.59) 854 0 R (page.6) 452 0 R (page.60) 859 0 R (page.61) 867 0 R (page.62) 872 0 R (page.63) 876 0 R (page.64) 880 0 R (page.65) 884 0 R (page.66) 888 0 R (page.67) 893 0 R (page.68) 898 0 R (page.69) 902 0 R (page.7) 457 0 R (page.70) 906 0 R (page.71) 910 0 R (page.72) 915 0 R (page.73) 919 0 R (page.74) 923 0 R (page.75) 927 0 R (page.76) 931 0 R (page.77) 1050 0 R (page.78) 1154 0 R (page.79) 1232 0 R (page.8) 461 0 R (page.80) 1284 0 R (page.81) 1332 0 R (page.9) 465 0 R (section*.2) 361 0 R (section.1) 5 0 R ] /Limits [ (page.56) (section.1) ] >>
+endobj
+1556 0 obj
+<< /Names [ (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.19) 357 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R ] /Limits [ (section.10) (subsection.13.4) ] >>
+endobj
+1557 0 obj
+<< /Names [ (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R ] /Limits [ (subsection.13.5) (subsection.4.2) ] >>
endobj
1558 0 obj
-<< /Names [ (Doc-Start) 366 0 R (Item.1) 411 0 R (Item.10) 716 0 R (Item.11) 850 0 R (Item.12) 851 0 R (Item.2) 412 0 R (Item.3) 413 0 R (Item.4) 414 0 R (Item.5) 695 0 R (Item.6) 696 0 R (Item.7) 713 0 R (Item.8) 714 0 R (Item.9) 715 0 R (page.1) 365 0 R (page.10) 468 0 R (page.11) 479 0 R (page.12) 489 0 R (page.13) 499 0 R (page.14) 504 0 R (page.15) 509 0 R (page.16) 514 0 R (page.17) 522 0 R (page.18) 529 0 R (page.19) 535 0 R (page.2) 401 0 R (page.20) 542 0 R (page.21) 547 0 R (page.22) 554 0 R (page.23) 562 0 R (page.24) 568 0 R (page.25) 573 0 R (page.26) 582 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+<< /Names [ (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 694 0 R (tabularnote.1) 701 0 R (tabularnote.2) 703 0 R (tabularnote.3) 719 0 R (tabularnote.4) 720 0 R (tabularnote.5) 721 0 R (tabularnote.6) 722 0 R (tabularnote.7) 860 0 R ] /Limits [ (subsection.4.3) (tabularnote.7) ] >>
endobj
1559 0 obj
-<< /Names [ (page.27) 591 0 R (page.28) 598 0 R (page.29) 605 0 R (page.3) 409 0 R (page.30) 610 0 R (page.31) 617 0 R (page.32) 625 0 R (page.33) 632 0 R (page.34) 644 0 R (page.35) 652 0 R (page.36) 659 0 R (page.37) 667 0 R (page.38) 673 0 R (page.39) 684 0 R (page.4) 422 0 R (page.40) 691 0 R (page.41) 704 0 R (page.42) 710 0 R (page.43) 722 0 R (page.44) 732 0 R (page.45) 737 0 R (page.46) 742 0 R (page.47) 753 0 R (page.48) 762 0 R (page.49) 771 0 R (page.5) 439 0 R (page.50) 779 0 R (page.51) 785 0 R (page.52) 792 0 R (page.53) 799 0 R (page.54) 805 0 R (page.55) 813 0 R ] /Limits [ (page.27) (page.55) ] >>
+<< /Names [ (tabularnote.8) 861 0 R ] /Limits [ (tabularnote.8) (tabularnote.8) ] >>
endobj
1560 0 obj
-<< /Names [ (page.56) 822 0 R (page.57) 837 0 R (page.58) 844 0 R (page.59) 849 0 R (page.6) 448 0 R (page.60) 855 0 R (page.61) 859 0 R (page.62) 864 0 R (page.63) 868 0 R (page.64) 872 0 R (page.65) 876 0 R (page.66) 881 0 R (page.67) 886 0 R (page.68) 890 0 R (page.69) 894 0 R (page.7) 453 0 R (page.70) 898 0 R (page.71) 902 0 R (page.72) 907 0 R (page.73) 911 0 R (page.74) 915 0 R (page.75) 919 0 R (page.76) 923 0 R (page.77) 927 0 R (page.78) 931 0 R (page.79) 936 0 R (page.8) 457 0 R (page.80) 1061 0 R (page.81) 1179 0 R (page.82) 1236 0 R (page.83) 1288 0 R (page.84) 1335 0 R ] /Limits [ (page.56) (page.84) ] >>
+<< /Kids [ 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
endobj
1561 0 obj
-<< /Names [ (page.9) 461 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 133 0 R (section.11) 161 0 R (section.12) 165 0 R (section.13) 185 0 R (section.14) 209 0 R (section.15) 257 0 R (section.16) 285 0 R (section.17) 289 0 R (section.18) 309 0 R (section.19) 353 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 45 0 R (section.6) 89 0 R (section.7) 109 0 R (section.8) 113 0 R (section.9) 129 0 R (subsection.10.1) 137 0 R (subsection.10.2) 141 0 R (subsection.10.3) 145 0 R (subsection.10.4) 149 0 R (subsection.10.5) 153 0 R (subsection.10.6) 157 0 R (subsection.12.1) 169 0 R (subsection.12.2) 173 0 R (subsection.12.3) 177 0 R (subsection.12.4) 181 0 R (subsection.13.1) 189 0 R ] /Limits [ (page.9) (subsection.13.1) ] >>
+<< /Dests 1560 0 R >>
endobj
1562 0 obj
-<< /Names [ (subsection.13.2) 193 0 R (subsection.13.3) 197 0 R (subsection.13.4) 201 0 R (subsection.13.5) 205 0 R (subsection.14.1) 213 0 R (subsection.14.10) 249 0 R (subsection.14.11) 253 0 R (subsection.14.2) 217 0 R (subsection.14.3) 221 0 R (subsection.14.4) 225 0 R (subsection.14.5) 229 0 R (subsection.14.6) 233 0 R (subsection.14.7) 237 0 R (subsection.14.8) 241 0 R (subsection.14.9) 245 0 R (subsection.15.1) 261 0 R (subsection.15.2) 273 0 R (subsection.15.3) 277 0 R (subsection.15.4) 281 0 R (subsection.17.1) 293 0 R (subsection.17.2) 297 0 R (subsection.17.3) 301 0 R (subsection.17.4) 305 0 R (subsection.18.1) 313 0 R (subsection.18.10) 349 0 R (subsection.18.2) 317 0 R (subsection.18.3) 321 0 R (subsection.18.4) 325 0 R (subsection.18.5) 329 0 R (subsection.18.6) 333 0 R (subsection.18.7) 337 0 R (subsection.18.8) 341 0 R ] /Limits [ (subsection.13.2) (subsection.18.8) ] >>
+<< /Type /Catalog /Pages 1551 0 R /Outlines 1552 0 R /Names 1561 0 R /PageMode/UseOutlines /OpenAction 364 0 R >>
endobj
1563 0 obj
-<< /Names [ (subsection.18.9) 345 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.5.1) 49 0 R (subsection.5.2) 61 0 R (subsection.5.3) 65 0 R (subsection.6.1) 93 0 R (subsection.6.2) 97 0 R (subsection.6.3) 101 0 R (subsection.6.4) 105 0 R (subsection.8.1) 117 0 R (subsection.8.2) 121 0 R (subsection.8.3) 125 0 R (subsubsection.15.1.1) 265 0 R (subsubsection.15.1.2) 269 0 R (subsubsection.5.1.1) 53 0 R (subsubsection.5.1.2) 57 0 R (subsubsection.5.3.1) 69 0 R (subsubsection.5.3.2) 73 0 R (subsubsection.5.3.3) 77 0 R (subsubsection.5.3.4) 81 0 R (subsubsection.5.3.5) 85 0 R (table.caption.1) 698 0 R (tabularnote.1) 692 0 R (tabularnote.2) 694 0 R (tabularnote.3) 711 0 R (tabularnote.4) 712 0 R ] /Limits [ (subsection.18.9) (tabularnote.4) ] >>
-endobj
-1564 0 obj
-<< /Kids [ 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R ] /Limits [ (Doc-Start) (tabularnote.4) ] >>
-endobj
-1565 0 obj
-<< /Dests 1564 0 R >>
-endobj
-1566 0 obj
-<< /Type /Catalog /Pages 1556 0 R /Outlines 1557 0 R /Names 1565 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
-endobj
-1567 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240423140805+02'00') /ModDate (D:20240423140805+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.3.31)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629150051+02'00') /ModDate (D:20240629150051+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 1568
+0 1564
0000000000 65535 f
-0000601876 00000 n
-0000602032 00000 n
-0000602104 00000 n
+0000594625 00000 n
+0000594781 00000 n
+0000594853 00000 n
0000000020 00000 n
-0000036227 00000 n
-0000899874 00000 n
+0000036449 00000 n
+0000886093 00000 n
0000000065 00000 n
0000000264 00000 n
-0000036287 00000 n
-0000899787 00000 n
+0000036509 00000 n
+0000886006 00000 n
0000000309 00000 n
0000000527 00000 n
-0000041534 00000 n
-0000899698 00000 n
+0000041755 00000 n
+0000885917 00000 n
0000000573 00000 n
0000000791 00000 n
-0000048678 00000 n
-0000899572 00000 n
+0000049032 00000 n
+0000885791 00000 n
0000000837 00000 n
0000000918 00000 n
-0000048739 00000 n
-0000899498 00000 n
+0000049093 00000 n
+0000885717 00000 n
0000000969 00000 n
0000001060 00000 n
-0000061960 00000 n
-0000899411 00000 n
+0000062132 00000 n
+0000885630 00000 n
0000001111 00000 n
0000001255 00000 n
-0000062021 00000 n
-0000899324 00000 n
+0000062193 00000 n
+0000885543 00000 n
0000001306 00000 n
0000001435 00000 n
-0000067658 00000 n
-0000899237 00000 n
+0000067907 00000 n
+0000885456 00000 n
0000001486 00000 n
0000001620 00000 n
-0000067719 00000 n
-0000899150 00000 n
+0000067968 00000 n
+0000885369 00000 n
0000001671 00000 n
0000001955 00000 n
-0000072575 00000 n
-0000899076 00000 n
+0000073045 00000 n
+0000885282 00000 n
0000002006 00000 n
0000002280 00000 n
-0000076254 00000 n
-0000898950 00000 n
-0000002326 00000 n
-0000002402 00000 n
-0000076315 00000 n
-0000898839 00000 n
-0000002453 00000 n
-0000002736 00000 n
-0000076376 00000 n
-0000898765 00000 n
-0000002792 00000 n
-0000002916 00000 n
-0000081959 00000 n
-0000898691 00000 n
-0000002972 00000 n
-0000003099 00000 n
-0000082020 00000 n
-0000898604 00000 n
-0000003150 00000 n
-0000003399 00000 n
-0000087662 00000 n
-0000898493 00000 n
-0000003450 00000 n
-0000003681 00000 n
-0000094747 00000 n
-0000898419 00000 n
-0000003737 00000 n
-0000003907 00000 n
-0000094808 00000 n
-0000898332 00000 n
-0000003963 00000 n
-0000004218 00000 n
-0000094869 00000 n
-0000898245 00000 n
-0000004274 00000 n
-0000004409 00000 n
-0000101387 00000 n
-0000898158 00000 n
-0000004465 00000 n
-0000004602 00000 n
-0000106540 00000 n
-0000898084 00000 n
-0000004658 00000 n
-0000004840 00000 n
-0000118487 00000 n
-0000897956 00000 n
-0000004886 00000 n
-0000005196 00000 n
-0000118548 00000 n
-0000897882 00000 n
-0000005247 00000 n
-0000005356 00000 n
-0000124513 00000 n
-0000897794 00000 n
-0000005407 00000 n
-0000005666 00000 n
-0000148342 00000 n
-0000897703 00000 n
-0000005718 00000 n
-0000005973 00000 n
-0000159481 00000 n
-0000897625 00000 n
-0000006025 00000 n
-0000006208 00000 n
-0000159543 00000 n
-0000897532 00000 n
-0000006255 00000 n
-0000006398 00000 n
-0000159605 00000 n
-0000897399 00000 n
-0000006445 00000 n
-0000006606 00000 n
-0000159667 00000 n
-0000897320 00000 n
-0000006658 00000 n
-0000006745 00000 n
-0000164997 00000 n
-0000897227 00000 n
-0000006797 00000 n
-0000006897 00000 n
-0000169691 00000 n
-0000897148 00000 n
-0000006949 00000 n
-0000007115 00000 n
-0000177107 00000 n
-0000897054 00000 n
-0000007162 00000 n
-0000007348 00000 n
-0000197838 00000 n
-0000896921 00000 n
-0000007396 00000 n
-0000007569 00000 n
-0000210578 00000 n
-0000896842 00000 n
-0000007622 00000 n
-0000007772 00000 n
-0000230914 00000 n
-0000896749 00000 n
-0000007825 00000 n
-0000008052 00000 n
-0000241757 00000 n
-0000896656 00000 n
-0000008105 00000 n
-0000008440 00000 n
-0000241819 00000 n
-0000896563 00000 n
-0000008493 00000 n
-0000008687 00000 n
-0000246991 00000 n
-0000896470 00000 n
-0000008740 00000 n
-0000008946 00000 n
-0000253949 00000 n
-0000896391 00000 n
-0000008999 00000 n
-0000009193 00000 n
-0000254011 00000 n
-0000896297 00000 n
-0000009241 00000 n
-0000009513 00000 n
-0000261319 00000 n
-0000896164 00000 n
-0000009561 00000 n
-0000009666 00000 n
-0000278840 00000 n
-0000896085 00000 n
-0000009719 00000 n
-0000009944 00000 n
-0000278902 00000 n
-0000895992 00000 n
-0000009997 00000 n
-0000010375 00000 n
-0000296096 00000 n
-0000895899 00000 n
-0000010428 00000 n
-0000010772 00000 n
-0000302085 00000 n
-0000895820 00000 n
-0000010825 00000 n
-0000011095 00000 n
-0000302147 00000 n
-0000895687 00000 n
-0000011143 00000 n
-0000011357 00000 n
-0000302209 00000 n
-0000895608 00000 n
-0000011410 00000 n
-0000011548 00000 n
-0000307536 00000 n
-0000895515 00000 n
-0000011601 00000 n
-0000011698 00000 n
-0000307598 00000 n
-0000895422 00000 n
-0000011751 00000 n
-0000011889 00000 n
-0000316181 00000 n
-0000895329 00000 n
-0000011942 00000 n
-0000012153 00000 n
-0000325057 00000 n
-0000895250 00000 n
-0000012206 00000 n
-0000012453 00000 n
-0000325119 00000 n
-0000895116 00000 n
-0000012501 00000 n
-0000012603 00000 n
-0000325181 00000 n
-0000895037 00000 n
-0000012656 00000 n
-0000012806 00000 n
-0000334140 00000 n
-0000894944 00000 n
-0000012859 00000 n
-0000013004 00000 n
-0000334202 00000 n
-0000894851 00000 n
-0000013057 00000 n
-0000013282 00000 n
-0000334264 00000 n
-0000894758 00000 n
-0000013335 00000 n
-0000013557 00000 n
-0000339872 00000 n
-0000894665 00000 n
-0000013610 00000 n
-0000013743 00000 n
-0000339934 00000 n
-0000894572 00000 n
-0000013796 00000 n
-0000013911 00000 n
-0000346082 00000 n
-0000894479 00000 n
-0000013964 00000 n
-0000014135 00000 n
-0000351742 00000 n
-0000894386 00000 n
-0000014188 00000 n
-0000014323 00000 n
-0000351804 00000 n
-0000894293 00000 n
-0000014376 00000 n
-0000014529 00000 n
-0000351866 00000 n
-0000894200 00000 n
-0000014583 00000 n
-0000014809 00000 n
-0000351928 00000 n
-0000894121 00000 n
-0000014863 00000 n
-0000015056 00000 n
-0000358270 00000 n
-0000893988 00000 n
-0000015104 00000 n
-0000015280 00000 n
-0000358332 00000 n
-0000893870 00000 n
-0000015333 00000 n
-0000015646 00000 n
-0000363491 00000 n
-0000893791 00000 n
-0000015704 00000 n
-0000015844 00000 n
-0000363553 00000 n
-0000893712 00000 n
-0000015902 00000 n
-0000016068 00000 n
-0000371265 00000 n
-0000893619 00000 n
-0000016121 00000 n
-0000016348 00000 n
-0000378965 00000 n
-0000893526 00000 n
-0000016401 00000 n
-0000016704 00000 n
-0000384577 00000 n
-0000893447 00000 n
-0000016757 00000 n
-0000017052 00000 n
-0000388877 00000 n
-0000893353 00000 n
-0000017100 00000 n
-0000017248 00000 n
-0000402196 00000 n
-0000893220 00000 n
-0000017296 00000 n
-0000017413 00000 n
-0000402258 00000 n
-0000893141 00000 n
-0000017466 00000 n
-0000017568 00000 n
-0000402319 00000 n
-0000893048 00000 n
-0000017621 00000 n
-0000017731 00000 n
-0000408203 00000 n
-0000892955 00000 n
-0000017784 00000 n
-0000017974 00000 n
-0000408264 00000 n
-0000892876 00000 n
-0000018027 00000 n
-0000018141 00000 n
-0000416695 00000 n
-0000892742 00000 n
+0000077190 00000 n
+0000885208 00000 n
+0000002331 00000 n
+0000002493 00000 n
+0000083680 00000 n
+0000885082 00000 n
+0000002539 00000 n
+0000002615 00000 n
+0000083741 00000 n
+0000884971 00000 n
+0000002666 00000 n
+0000002949 00000 n
+0000083802 00000 n
+0000884897 00000 n
+0000003005 00000 n
+0000003129 00000 n
+0000089048 00000 n
+0000884823 00000 n
+0000003185 00000 n
+0000003312 00000 n
+0000089108 00000 n
+0000884736 00000 n
+0000003363 00000 n
+0000003612 00000 n
+0000095107 00000 n
+0000884625 00000 n
+0000003663 00000 n
+0000003894 00000 n
+0000095168 00000 n
+0000884551 00000 n
+0000003950 00000 n
+0000004120 00000 n
+0000102599 00000 n
+0000884464 00000 n
+0000004176 00000 n
+0000004431 00000 n
+0000102660 00000 n
+0000884377 00000 n
+0000004487 00000 n
+0000004622 00000 n
+0000109180 00000 n
+0000884290 00000 n
+0000004678 00000 n
+0000004815 00000 n
+0000109240 00000 n
+0000884216 00000 n
+0000004871 00000 n
+0000005053 00000 n
+0000125318 00000 n
+0000884088 00000 n
+0000005099 00000 n
+0000005409 00000 n
+0000125379 00000 n
+0000884013 00000 n
+0000005460 00000 n
+0000005569 00000 n
+0000131012 00000 n
+0000883922 00000 n
+0000005621 00000 n
+0000005881 00000 n
+0000155229 00000 n
+0000883830 00000 n
+0000005933 00000 n
+0000006188 00000 n
+0000166225 00000 n
+0000883752 00000 n
+0000006240 00000 n
+0000006423 00000 n
+0000166287 00000 n
+0000883659 00000 n
+0000006470 00000 n
+0000006613 00000 n
+0000166349 00000 n
+0000883526 00000 n
+0000006660 00000 n
+0000006821 00000 n
+0000166411 00000 n
+0000883447 00000 n
+0000006873 00000 n
+0000006960 00000 n
+0000171724 00000 n
+0000883354 00000 n
+0000007012 00000 n
+0000007112 00000 n
+0000176429 00000 n
+0000883275 00000 n
+0000007164 00000 n
+0000007330 00000 n
+0000183847 00000 n
+0000883181 00000 n
+0000007377 00000 n
+0000007563 00000 n
+0000204585 00000 n
+0000883048 00000 n
+0000007611 00000 n
+0000007784 00000 n
+0000217322 00000 n
+0000882969 00000 n
+0000007837 00000 n
+0000007987 00000 n
+0000237659 00000 n
+0000882876 00000 n
+0000008040 00000 n
+0000008267 00000 n
+0000248501 00000 n
+0000882783 00000 n
+0000008320 00000 n
+0000008655 00000 n
+0000248563 00000 n
+0000882690 00000 n
+0000008708 00000 n
+0000008902 00000 n
+0000253734 00000 n
+0000882597 00000 n
+0000008955 00000 n
+0000009161 00000 n
+0000260692 00000 n
+0000882518 00000 n
+0000009214 00000 n
+0000009408 00000 n
+0000260753 00000 n
+0000882424 00000 n
+0000009456 00000 n
+0000009728 00000 n
+0000268063 00000 n
+0000882291 00000 n
+0000009776 00000 n
+0000009881 00000 n
+0000285584 00000 n
+0000882212 00000 n
+0000009934 00000 n
+0000010159 00000 n
+0000285646 00000 n
+0000882119 00000 n
+0000010212 00000 n
+0000010590 00000 n
+0000302866 00000 n
+0000882026 00000 n
+0000010643 00000 n
+0000010987 00000 n
+0000309236 00000 n
+0000881947 00000 n
+0000011040 00000 n
+0000011310 00000 n
+0000309298 00000 n
+0000881814 00000 n
+0000011358 00000 n
+0000011572 00000 n
+0000309360 00000 n
+0000881735 00000 n
+0000011625 00000 n
+0000011763 00000 n
+0000314555 00000 n
+0000881642 00000 n
+0000011816 00000 n
+0000011913 00000 n
+0000314617 00000 n
+0000881549 00000 n
+0000011966 00000 n
+0000012104 00000 n
+0000322876 00000 n
+0000881456 00000 n
+0000012157 00000 n
+0000012368 00000 n
+0000331713 00000 n
+0000881377 00000 n
+0000012421 00000 n
+0000012668 00000 n
+0000331775 00000 n
+0000881243 00000 n
+0000012716 00000 n
+0000012818 00000 n
+0000331837 00000 n
+0000881164 00000 n
+0000012871 00000 n
+0000013021 00000 n
+0000340796 00000 n
+0000881071 00000 n
+0000013074 00000 n
+0000013219 00000 n
+0000340858 00000 n
+0000880978 00000 n
+0000013272 00000 n
+0000013497 00000 n
+0000340920 00000 n
+0000880885 00000 n
+0000013550 00000 n
+0000013772 00000 n
+0000346530 00000 n
+0000880792 00000 n
+0000013825 00000 n
+0000013958 00000 n
+0000346592 00000 n
+0000880699 00000 n
+0000014011 00000 n
+0000014126 00000 n
+0000352739 00000 n
+0000880606 00000 n
+0000014179 00000 n
+0000014350 00000 n
+0000358316 00000 n
+0000880513 00000 n
+0000014403 00000 n
+0000014538 00000 n
+0000358378 00000 n
+0000880420 00000 n
+0000014591 00000 n
+0000014744 00000 n
+0000358440 00000 n
+0000880327 00000 n
+0000014798 00000 n
+0000015024 00000 n
+0000358502 00000 n
+0000880248 00000 n
+0000015078 00000 n
+0000015271 00000 n
+0000364826 00000 n
+0000880115 00000 n
+0000015319 00000 n
+0000015495 00000 n
+0000364888 00000 n
+0000879997 00000 n
+0000015548 00000 n
+0000015861 00000 n
+0000370058 00000 n
+0000879918 00000 n
+0000015919 00000 n
+0000016059 00000 n
+0000370120 00000 n
+0000879839 00000 n
+0000016117 00000 n
+0000016283 00000 n
+0000377831 00000 n
+0000879746 00000 n
+0000016336 00000 n
+0000016563 00000 n
+0000384247 00000 n
+0000879653 00000 n
+0000016616 00000 n
+0000016919 00000 n
+0000391354 00000 n
+0000879574 00000 n
+0000016972 00000 n
+0000017267 00000 n
+0000395666 00000 n
+0000879480 00000 n
+0000017315 00000 n
+0000017463 00000 n
+0000408987 00000 n
+0000879347 00000 n
+0000017511 00000 n
+0000017628 00000 n
+0000409049 00000 n
+0000879268 00000 n
+0000017681 00000 n
+0000017783 00000 n
+0000409110 00000 n
+0000879175 00000 n
+0000017836 00000 n
+0000017946 00000 n
+0000414643 00000 n
+0000879082 00000 n
+0000017999 00000 n
0000018189 00000 n
-0000018258 00000 n
-0000416757 00000 n
-0000892663 00000 n
-0000018311 00000 n
-0000018622 00000 n
-0000420755 00000 n
-0000892570 00000 n
-0000018675 00000 n
-0000018800 00000 n
-0000420817 00000 n
-0000892477 00000 n
-0000018853 00000 n
-0000018996 00000 n
-0000444599 00000 n
-0000892384 00000 n
-0000019049 00000 n
-0000019141 00000 n
-0000444661 00000 n
-0000892291 00000 n
-0000019194 00000 n
-0000019436 00000 n
-0000455498 00000 n
-0000892198 00000 n
-0000019489 00000 n
-0000019581 00000 n
-0000455560 00000 n
-0000892105 00000 n
-0000019634 00000 n
-0000019759 00000 n
-0000474179 00000 n
-0000892012 00000 n
-0000019812 00000 n
-0000020029 00000 n
-0000492045 00000 n
-0000891919 00000 n
-0000020082 00000 n
-0000020352 00000 n
-0000495524 00000 n
-0000891840 00000 n
-0000020406 00000 n
-0000020541 00000 n
-0000498042 00000 n
-0000891746 00000 n
-0000020589 00000 n
-0000020653 00000 n
-0000548600 00000 n
-0000891666 00000 n
-0000020701 00000 n
-0000020755 00000 n
-0000030887 00000 n
-0000031053 00000 n
-0000031415 00000 n
-0000020807 00000 n
-0000031291 00000 n
-0000031353 00000 n
-0000752519 00000 n
-0000747907 00000 n
-0000745454 00000 n
-0000740039 00000 n
-0000736693 00000 n
-0000734061 00000 n
-0000729098 00000 n
-0000726391 00000 n
-0000888099 00000 n
-0000888827 00000 n
-0000889407 00000 n
-0000888682 00000 n
-0000888391 00000 n
-0000889550 00000 n
-0000716233 00000 n
-0000889118 00000 n
-0000705130 00000 n
-0000700515 00000 n
-0000690446 00000 n
-0000682717 00000 n
-0000678322 00000 n
-0000672456 00000 n
-0000664034 00000 n
-0000661150 00000 n
-0000657843 00000 n
-0000648456 00000 n
-0000644994 00000 n
-0000890124 00000 n
-0000031024 00000 n
-0000036006 00000 n
-0000041318 00000 n
-0000036347 00000 n
-0000035840 00000 n
-0000031877 00000 n
-0000036165 00000 n
-0000636227 00000 n
-0000627576 00000 n
-0000889693 00000 n
-0000035977 00000 n
-0000041850 00000 n
-0000041152 00000 n
-0000036666 00000 n
-0000041472 00000 n
-0000888245 00000 n
-0000041594 00000 n
-0000041658 00000 n
-0000041722 00000 n
-0000041786 00000 n
-0000624111 00000 n
-0000041289 00000 n
-0000048304 00000 n
-0000048459 00000 n
-0000048800 00000 n
-0000048130 00000 n
-0000042208 00000 n
-0000048616 00000 n
-0000888537 00000 n
-0000048267 00000 n
-0000055321 00000 n
-0000055473 00000 n
-0000054221 00000 n
-0000054380 00000 n
-0000054540 00000 n
-0000054694 00000 n
-0000054847 00000 n
-0000055001 00000 n
-0000055161 00000 n
-0000060953 00000 n
-0000061112 00000 n
-0000055687 00000 n
-0000053991 00000 n
-0000049080 00000 n
-0000055625 00000 n
-0000054128 00000 n
-0000061271 00000 n
-0000061429 00000 n
-0000061587 00000 n
-0000061742 00000 n
-0000062082 00000 n
-0000060747 00000 n
-0000055967 00000 n
-0000061898 00000 n
-0000060884 00000 n
-0000067780 00000 n
-0000067475 00000 n
-0000062271 00000 n
-0000067596 00000 n
-0000072636 00000 n
-0000072392 00000 n
-0000068034 00000 n
-0000072513 00000 n
-0000076437 00000 n
-0000076071 00000 n
-0000072851 00000 n
-0000076192 00000 n
-0000081426 00000 n
-0000081579 00000 n
-0000081743 00000 n
-0000082081 00000 n
-0000081244 00000 n
-0000076626 00000 n
-0000081897 00000 n
-0000618786 00000 n
-0000081381 00000 n
-0000086810 00000 n
-0000086964 00000 n
-0000087118 00000 n
-0000087282 00000 n
-0000087436 00000 n
-0000087723 00000 n
-0000086612 00000 n
-0000082296 00000 n
-0000087600 00000 n
-0000890277 00000 n
-0000086749 00000 n
-0000094048 00000 n
-0000094208 00000 n
-0000094367 00000 n
-0000094527 00000 n
-0000094930 00000 n
-0000093858 00000 n
-0000087977 00000 n
-0000094685 00000 n
-0000888972 00000 n
-0000093995 00000 n
-0000101008 00000 n
-0000101167 00000 n
-0000100689 00000 n
-0000100848 00000 n
-0000101447 00000 n
-0000100499 00000 n
-0000095210 00000 n
-0000101325 00000 n
-0000100636 00000 n
-0000106601 00000 n
-0000106357 00000 n
-0000101701 00000 n
-0000106478 00000 n
-0000111067 00000 n
-0000111284 00000 n
-0000110901 00000 n
-0000106868 00000 n
-0000111222 00000 n
-0000111038 00000 n
-0000118609 00000 n
-0000118304 00000 n
-0000111512 00000 n
-0000118425 00000 n
-0000124293 00000 n
-0000123809 00000 n
-0000123973 00000 n
-0000124133 00000 n
-0000124574 00000 n
-0000123619 00000 n
-0000118837 00000 n
-0000124451 00000 n
-0000123756 00000 n
-0000129768 00000 n
-0000129922 00000 n
-0000130144 00000 n
-0000129594 00000 n
-0000124841 00000 n
-0000130082 00000 n
-0000129731 00000 n
-0000135658 00000 n
-0000135872 00000 n
-0000135492 00000 n
-0000130359 00000 n
-0000135810 00000 n
-0000135629 00000 n
-0000141474 00000 n
-0000148126 00000 n
-0000141693 00000 n
-0000141308 00000 n
-0000136113 00000 n
-0000141631 00000 n
-0000141445 00000 n
-0000148404 00000 n
-0000147960 00000 n
-0000141908 00000 n
-0000148280 00000 n
-0000890430 00000 n
-0000148097 00000 n
-0000153749 00000 n
-0000153963 00000 n
-0000153583 00000 n
-0000148671 00000 n
-0000153901 00000 n
-0000153720 00000 n
-0000159105 00000 n
-0000159259 00000 n
-0000164630 00000 n
-0000159729 00000 n
-0000158931 00000 n
-0000154217 00000 n
-0000159419 00000 n
-0000159068 00000 n
-0000164783 00000 n
-0000165059 00000 n
-0000164456 00000 n
-0000159970 00000 n
-0000164935 00000 n
-0000164593 00000 n
-0000169753 00000 n
-0000169508 00000 n
-0000165339 00000 n
-0000169629 00000 n
-0000176408 00000 n
-0000176573 00000 n
-0000176732 00000 n
-0000176891 00000 n
-0000184849 00000 n
-0000177169 00000 n
-0000176218 00000 n
-0000170033 00000 n
-0000177045 00000 n
-0000176355 00000 n
-0000184371 00000 n
-0000184531 00000 n
-0000184695 00000 n
-0000197299 00000 n
-0000185066 00000 n
-0000184181 00000 n
-0000177384 00000 n
-0000185004 00000 n
-0000184318 00000 n
-0000197459 00000 n
-0000197618 00000 n
-0000197900 00000 n
-0000197117 00000 n
-0000185346 00000 n
-0000197776 00000 n
-0000614397 00000 n
-0000197254 00000 n
-0000210365 00000 n
-0000210640 00000 n
-0000210199 00000 n
-0000198206 00000 n
-0000210516 00000 n
-0000210336 00000 n
-0000230976 00000 n
-0000230731 00000 n
-0000210907 00000 n
-0000230852 00000 n
-0000241375 00000 n
-0000241535 00000 n
-0000246396 00000 n
-0000241881 00000 n
-0000241201 00000 n
-0000231282 00000 n
-0000241695 00000 n
-0000890583 00000 n
-0000241338 00000 n
-0000246555 00000 n
-0000246709 00000 n
-0000247053 00000 n
-0000246214 00000 n
-0000242135 00000 n
-0000246929 00000 n
-0000611862 00000 n
-0000246351 00000 n
-0000253729 00000 n
-0000254073 00000 n
-0000253563 00000 n
-0000247320 00000 n
-0000253887 00000 n
-0000253700 00000 n
-0000260151 00000 n
-0000260312 00000 n
-0000260473 00000 n
-0000260627 00000 n
-0000260786 00000 n
-0000261100 00000 n
-0000260945 00000 n
-0000261381 00000 n
-0000259937 00000 n
-0000254392 00000 n
-0000261257 00000 n
-0000889981 00000 n
-0000260074 00000 n
-0000278459 00000 n
-0000278618 00000 n
-0000278964 00000 n
-0000278285 00000 n
-0000261713 00000 n
-0000278778 00000 n
-0000278422 00000 n
-0000284877 00000 n
-0000285032 00000 n
-0000285249 00000 n
-0000284703 00000 n
-0000279218 00000 n
-0000285187 00000 n
-0000284840 00000 n
-0000290121 00000 n
-0000290281 00000 n
-0000290441 00000 n
-0000290663 00000 n
-0000289939 00000 n
-0000285464 00000 n
-0000290601 00000 n
-0000290076 00000 n
-0000295840 00000 n
-0000296158 00000 n
-0000295674 00000 n
-0000290943 00000 n
-0000296034 00000 n
-0000295811 00000 n
-0000301398 00000 n
-0000301552 00000 n
-0000301716 00000 n
-0000301870 00000 n
-0000306846 00000 n
-0000307006 00000 n
-0000302271 00000 n
-0000301208 00000 n
-0000296464 00000 n
-0000302023 00000 n
-0000301345 00000 n
-0000307166 00000 n
-0000307320 00000 n
-0000307914 00000 n
-0000306656 00000 n
-0000302499 00000 n
-0000307474 00000 n
-0000307660 00000 n
-0000608799 00000 n
-0000307723 00000 n
-0000307787 00000 n
-0000307850 00000 n
-0000306793 00000 n
-0000315737 00000 n
-0000312156 00000 n
-0000312316 00000 n
-0000312534 00000 n
-0000311982 00000 n
-0000308116 00000 n
-0000312472 00000 n
-0000890736 00000 n
-0000312119 00000 n
-0000316243 00000 n
-0000315554 00000 n
-0000312762 00000 n
-0000315675 00000 n
-0000315798 00000 n
-0000315862 00000 n
-0000315926 00000 n
-0000315990 00000 n
-0000316054 00000 n
-0000316118 00000 n
-0000320309 00000 n
-0000320469 00000 n
-0000320691 00000 n
-0000320135 00000 n
-0000316458 00000 n
-0000320629 00000 n
-0000320272 00000 n
-0000324190 00000 n
-0000324350 00000 n
-0000324509 00000 n
-0000324668 00000 n
-0000324831 00000 n
-0000325242 00000 n
-0000323992 00000 n
-0000320867 00000 n
-0000324995 00000 n
-0000324129 00000 n
-0000334326 00000 n
-0000333957 00000 n
-0000325483 00000 n
-0000334078 00000 n
-0000339660 00000 n
-0000339996 00000 n
-0000339494 00000 n
-0000334593 00000 n
-0000339810 00000 n
-0000889838 00000 n
-0000339631 00000 n
-0000345244 00000 n
-0000345399 00000 n
-0000345553 00000 n
-0000345711 00000 n
-0000345866 00000 n
-0000346144 00000 n
-0000345046 00000 n
-0000340341 00000 n
-0000346020 00000 n
-0000887953 00000 n
-0000345183 00000 n
-0000351367 00000 n
-0000351526 00000 n
-0000357402 00000 n
-0000351990 00000 n
-0000351193 00000 n
-0000346437 00000 n
-0000351680 00000 n
-0000351330 00000 n
-0000357592 00000 n
-0000357745 00000 n
-0000357907 00000 n
-0000358058 00000 n
-0000358394 00000 n
-0000357204 00000 n
-0000352257 00000 n
-0000358208 00000 n
-0000357341 00000 n
-0000362948 00000 n
-0000363109 00000 n
-0000363270 00000 n
-0000363615 00000 n
-0000362766 00000 n
-0000358700 00000 n
-0000363429 00000 n
-0000362903 00000 n
-0000371049 00000 n
-0000371327 00000 n
-0000370883 00000 n
-0000363830 00000 n
-0000371203 00000 n
-0000890889 00000 n
-0000371020 00000 n
-0000378746 00000 n
-0000379027 00000 n
-0000378580 00000 n
-0000371607 00000 n
-0000378903 00000 n
-0000606323 00000 n
-0000378717 00000 n
-0000384356 00000 n
-0000384639 00000 n
-0000384190 00000 n
-0000379294 00000 n
-0000384515 00000 n
-0000384327 00000 n
-0000388656 00000 n
-0000388939 00000 n
-0000388490 00000 n
-0000384867 00000 n
-0000388815 00000 n
-0000388627 00000 n
-0000401970 00000 n
-0000407589 00000 n
-0000407748 00000 n
-0000402380 00000 n
-0000401804 00000 n
-0000389180 00000 n
-0000402134 00000 n
-0000401941 00000 n
-0000407907 00000 n
-0000407425 00000 n
-0000416000 00000 n
-0000416164 00000 n
-0000408326 00000 n
-0000407235 00000 n
-0000402634 00000 n
-0000408141 00000 n
-0000603838 00000 n
-0000407372 00000 n
-0000408593 00000 n
-0000408911 00000 n
-0000409237 00000 n
-0000409441 00000 n
-0000409919 00000 n
-0000410263 00000 n
-0000410467 00000 n
-0000416327 00000 n
-0000416480 00000 n
-0000416819 00000 n
-0000415810 00000 n
-0000411109 00000 n
-0000416633 00000 n
-0000415947 00000 n
-0000420383 00000 n
-0000420538 00000 n
-0000420879 00000 n
-0000420209 00000 n
-0000417114 00000 n
-0000420693 00000 n
-0000420346 00000 n
-0000424521 00000 n
-0000424210 00000 n
-0000421094 00000 n
-0000424331 00000 n
-0000424393 00000 n
-0000424457 00000 n
-0000444723 00000 n
-0000444416 00000 n
-0000424697 00000 n
-0000444537 00000 n
-0000450774 00000 n
-0000450591 00000 n
-0000444990 00000 n
-0000450712 00000 n
-0000891042 00000 n
-0000455622 00000 n
-0000455315 00000 n
-0000451067 00000 n
-0000455436 00000 n
-0000459242 00000 n
-0000459059 00000 n
-0000455837 00000 n
-0000459180 00000 n
-0000462755 00000 n
-0000462572 00000 n
-0000459483 00000 n
-0000462693 00000 n
-0000467129 00000 n
-0000466946 00000 n
-0000462996 00000 n
-0000467067 00000 n
-0000473955 00000 n
-0000474241 00000 n
-0000473789 00000 n
-0000467357 00000 n
-0000474117 00000 n
-0000473926 00000 n
-0000479923 00000 n
-0000479740 00000 n
-0000474573 00000 n
-0000479861 00000 n
-0000492107 00000 n
-0000491862 00000 n
-0000480138 00000 n
-0000491983 00000 n
-0000495586 00000 n
-0000495341 00000 n
-0000492348 00000 n
-0000495462 00000 n
-0000498104 00000 n
-0000497859 00000 n
-0000495736 00000 n
-0000497980 00000 n
-0000500826 00000 n
-0000500643 00000 n
-0000498306 00000 n
-0000500764 00000 n
-0000891195 00000 n
-0000503630 00000 n
-0000503447 00000 n
-0000500989 00000 n
-0000503568 00000 n
-0000506707 00000 n
-0000506524 00000 n
-0000503793 00000 n
-0000506645 00000 n
-0000509665 00000 n
-0000509482 00000 n
-0000506883 00000 n
-0000509603 00000 n
-0000512559 00000 n
-0000512376 00000 n
-0000509854 00000 n
-0000512497 00000 n
-0000516281 00000 n
-0000516098 00000 n
-0000512735 00000 n
-0000516219 00000 n
-0000519318 00000 n
-0000519135 00000 n
-0000516483 00000 n
-0000519256 00000 n
-0000524073 00000 n
-0000523890 00000 n
-0000519533 00000 n
-0000524011 00000 n
-0000889263 00000 n
-0000525747 00000 n
-0000525564 00000 n
-0000524353 00000 n
-0000525685 00000 n
-0000530465 00000 n
-0000530616 00000 n
-0000530768 00000 n
-0000530920 00000 n
-0000531072 00000 n
-0000531224 00000 n
-0000531376 00000 n
-0000531527 00000 n
-0000531678 00000 n
-0000531830 00000 n
-0000531982 00000 n
-0000532133 00000 n
-0000532281 00000 n
-0000532430 00000 n
-0000532582 00000 n
-0000532734 00000 n
-0000532884 00000 n
-0000533036 00000 n
-0000533188 00000 n
-0000533340 00000 n
-0000533491 00000 n
-0000533643 00000 n
-0000533795 00000 n
-0000533946 00000 n
-0000534096 00000 n
-0000534247 00000 n
-0000534397 00000 n
-0000534548 00000 n
-0000534699 00000 n
-0000534850 00000 n
-0000535002 00000 n
-0000535153 00000 n
-0000535304 00000 n
-0000535456 00000 n
-0000535608 00000 n
-0000535760 00000 n
-0000535911 00000 n
-0000536063 00000 n
-0000536215 00000 n
-0000536366 00000 n
-0000536517 00000 n
-0000536669 00000 n
-0000536821 00000 n
-0000536972 00000 n
-0000537124 00000 n
-0000537276 00000 n
-0000537427 00000 n
-0000537579 00000 n
-0000537731 00000 n
-0000537883 00000 n
-0000538034 00000 n
-0000538186 00000 n
-0000538338 00000 n
-0000538490 00000 n
-0000538641 00000 n
-0000538793 00000 n
-0000538945 00000 n
-0000539097 00000 n
-0000539247 00000 n
-0000539397 00000 n
-0000539545 00000 n
-0000539697 00000 n
-0000539847 00000 n
-0000539998 00000 n
-0000540151 00000 n
-0000540303 00000 n
-0000540456 00000 n
-0000540609 00000 n
-0000540762 00000 n
-0000540915 00000 n
-0000541068 00000 n
-0000541221 00000 n
-0000541371 00000 n
-0000541524 00000 n
-0000541676 00000 n
-0000541828 00000 n
-0000541980 00000 n
-0000542132 00000 n
-0000542285 00000 n
-0000542438 00000 n
-0000542590 00000 n
-0000542743 00000 n
-0000542896 00000 n
-0000543048 00000 n
-0000543201 00000 n
-0000543354 00000 n
-0000543506 00000 n
-0000543658 00000 n
-0000543811 00000 n
-0000543963 00000 n
-0000544115 00000 n
-0000544268 00000 n
-0000544421 00000 n
-0000544574 00000 n
-0000544727 00000 n
-0000544880 00000 n
-0000545032 00000 n
-0000545184 00000 n
-0000545337 00000 n
-0000545489 00000 n
-0000545642 00000 n
-0000545794 00000 n
-0000545947 00000 n
-0000546100 00000 n
-0000546252 00000 n
-0000546404 00000 n
-0000546557 00000 n
-0000546710 00000 n
-0000546863 00000 n
-0000547016 00000 n
-0000547168 00000 n
-0000547321 00000 n
-0000547474 00000 n
-0000547627 00000 n
-0000547779 00000 n
-0000547931 00000 n
-0000548083 00000 n
-0000548236 00000 n
-0000548385 00000 n
-0000553657 00000 n
-0000553809 00000 n
-0000548663 00000 n
-0000529294 00000 n
-0000525910 00000 n
-0000548536 00000 n
-0000529435 00000 n
-0000553962 00000 n
-0000554114 00000 n
-0000554266 00000 n
-0000554419 00000 n
-0000554572 00000 n
-0000554724 00000 n
-0000554877 00000 n
-0000555030 00000 n
-0000555183 00000 n
-0000555336 00000 n
-0000555487 00000 n
-0000555639 00000 n
-0000555792 00000 n
-0000555945 00000 n
-0000556098 00000 n
-0000556250 00000 n
-0000556402 00000 n
-0000556553 00000 n
-0000556704 00000 n
-0000556857 00000 n
-0000557010 00000 n
-0000557163 00000 n
-0000557316 00000 n
-0000557469 00000 n
-0000557622 00000 n
-0000557775 00000 n
-0000557928 00000 n
-0000558080 00000 n
-0000558232 00000 n
-0000558385 00000 n
-0000558538 00000 n
-0000558691 00000 n
-0000558844 00000 n
-0000558997 00000 n
-0000559150 00000 n
-0000559303 00000 n
-0000559456 00000 n
-0000559609 00000 n
-0000559760 00000 n
-0000559913 00000 n
-0000560066 00000 n
-0000560219 00000 n
-0000560371 00000 n
-0000560523 00000 n
-0000560675 00000 n
-0000560827 00000 n
-0000560980 00000 n
-0000561133 00000 n
-0000561286 00000 n
-0000561438 00000 n
-0000561589 00000 n
-0000561739 00000 n
-0000561890 00000 n
-0000562043 00000 n
-0000562196 00000 n
-0000562348 00000 n
-0000562501 00000 n
-0000562654 00000 n
-0000562807 00000 n
-0000562960 00000 n
-0000563113 00000 n
-0000563265 00000 n
-0000563417 00000 n
-0000563570 00000 n
-0000563723 00000 n
-0000563875 00000 n
-0000564028 00000 n
-0000564181 00000 n
-0000564334 00000 n
-0000564486 00000 n
-0000564639 00000 n
-0000564792 00000 n
-0000564945 00000 n
-0000565097 00000 n
-0000565250 00000 n
-0000565403 00000 n
-0000565556 00000 n
-0000565709 00000 n
-0000565861 00000 n
-0000566013 00000 n
-0000566166 00000 n
-0000566319 00000 n
-0000566470 00000 n
-0000566622 00000 n
-0000566775 00000 n
-0000566928 00000 n
-0000567080 00000 n
-0000567231 00000 n
-0000567381 00000 n
-0000567534 00000 n
-0000567687 00000 n
-0000567840 00000 n
-0000567992 00000 n
-0000568144 00000 n
-0000568297 00000 n
-0000568450 00000 n
-0000568603 00000 n
-0000568756 00000 n
-0000568908 00000 n
-0000569061 00000 n
-0000569214 00000 n
-0000569366 00000 n
-0000569518 00000 n
-0000569671 00000 n
-0000569824 00000 n
-0000569977 00000 n
-0000570129 00000 n
-0000570280 00000 n
-0000570432 00000 n
-0000570584 00000 n
-0000570735 00000 n
-0000573776 00000 n
-0000573928 00000 n
-0000570950 00000 n
-0000552476 00000 n
-0000548853 00000 n
-0000570886 00000 n
-0000891349 00000 n
-0000552618 00000 n
-0000574081 00000 n
-0000574234 00000 n
-0000574387 00000 n
-0000574538 00000 n
-0000574690 00000 n
-0000574842 00000 n
-0000574995 00000 n
-0000575148 00000 n
-0000575301 00000 n
-0000575454 00000 n
-0000575607 00000 n
-0000575760 00000 n
-0000575913 00000 n
-0000576066 00000 n
-0000576219 00000 n
-0000576371 00000 n
-0000576524 00000 n
-0000576677 00000 n
-0000576829 00000 n
-0000576982 00000 n
-0000577135 00000 n
-0000577288 00000 n
-0000577440 00000 n
-0000577593 00000 n
-0000577745 00000 n
-0000577898 00000 n
-0000578051 00000 n
-0000578202 00000 n
-0000578354 00000 n
-0000578507 00000 n
-0000578660 00000 n
-0000578812 00000 n
-0000578964 00000 n
-0000579116 00000 n
-0000579269 00000 n
-0000579422 00000 n
-0000579575 00000 n
-0000579728 00000 n
-0000579881 00000 n
-0000580033 00000 n
-0000580186 00000 n
-0000580338 00000 n
-0000580490 00000 n
-0000580642 00000 n
-0000580795 00000 n
-0000580948 00000 n
-0000581100 00000 n
-0000581253 00000 n
-0000581406 00000 n
-0000581558 00000 n
-0000581711 00000 n
-0000581927 00000 n
-0000573135 00000 n
-0000571127 00000 n
-0000581863 00000 n
-0000573277 00000 n
-0000584796 00000 n
-0000584950 00000 n
-0000585104 00000 n
-0000585258 00000 n
-0000585412 00000 n
-0000585571 00000 n
-0000585730 00000 n
-0000585889 00000 n
-0000586048 00000 n
-0000586206 00000 n
-0000586365 00000 n
-0000586517 00000 n
-0000586676 00000 n
-0000586840 00000 n
-0000587005 00000 n
-0000587164 00000 n
-0000587323 00000 n
-0000587487 00000 n
-0000587652 00000 n
-0000587817 00000 n
-0000587982 00000 n
-0000588147 00000 n
-0000588300 00000 n
-0000588458 00000 n
-0000588617 00000 n
-0000588776 00000 n
-0000588934 00000 n
-0000589087 00000 n
-0000589241 00000 n
-0000589400 00000 n
-0000589559 00000 n
-0000589718 00000 n
-0000589872 00000 n
-0000590027 00000 n
-0000590187 00000 n
-0000590347 00000 n
-0000590507 00000 n
-0000590667 00000 n
-0000590827 00000 n
-0000590987 00000 n
-0000591142 00000 n
-0000591297 00000 n
-0000591457 00000 n
-0000591617 00000 n
-0000591776 00000 n
-0000591935 00000 n
-0000594827 00000 n
-0000592152 00000 n
-0000584218 00000 n
+0000414705 00000 n
+0000879003 00000 n
+0000018242 00000 n
+0000018356 00000 n
+0000423570 00000 n
+0000878869 00000 n
+0000018404 00000 n
+0000018473 00000 n
+0000423632 00000 n
+0000878790 00000 n
+0000018526 00000 n
+0000018837 00000 n
+0000427629 00000 n
+0000878697 00000 n
+0000018890 00000 n
+0000019015 00000 n
+0000427691 00000 n
+0000878604 00000 n
+0000019068 00000 n
+0000019211 00000 n
+0000451594 00000 n
+0000878511 00000 n
+0000019264 00000 n
+0000019356 00000 n
+0000451656 00000 n
+0000878418 00000 n
+0000019409 00000 n
+0000019651 00000 n
+0000462528 00000 n
+0000878325 00000 n
+0000019704 00000 n
+0000019796 00000 n
+0000462590 00000 n
+0000878232 00000 n
+0000019849 00000 n
+0000019974 00000 n
+0000480959 00000 n
+0000878139 00000 n
+0000020027 00000 n
+0000020244 00000 n
+0000498832 00000 n
+0000878046 00000 n
+0000020297 00000 n
+0000020567 00000 n
+0000502308 00000 n
+0000877967 00000 n
+0000020621 00000 n
+0000020756 00000 n
+0000504995 00000 n
+0000877873 00000 n
+0000020804 00000 n
+0000020868 00000 n
+0000539333 00000 n
+0000877793 00000 n
+0000020916 00000 n
+0000020970 00000 n
+0000031108 00000 n
+0000031274 00000 n
+0000031636 00000 n
+0000021022 00000 n
+0000031512 00000 n
+0000031574 00000 n
+0000746081 00000 n
+0000741469 00000 n
+0000739016 00000 n
+0000733701 00000 n
+0000730355 00000 n
+0000727723 00000 n
+0000722760 00000 n
+0000720053 00000 n
+0000874394 00000 n
+0000875122 00000 n
+0000875558 00000 n
+0000874977 00000 n
+0000874686 00000 n
+0000875701 00000 n
+0000709895 00000 n
+0000875413 00000 n
+0000698577 00000 n
+0000693962 00000 n
+0000683893 00000 n
+0000675984 00000 n
+0000671589 00000 n
+0000665723 00000 n
+0000656924 00000 n
+0000654040 00000 n
+0000650733 00000 n
+0000641346 00000 n
+0000637884 00000 n
+0000876275 00000 n
+0000031245 00000 n
+0000036228 00000 n
+0000041539 00000 n
+0000036569 00000 n
+0000036062 00000 n
+0000032098 00000 n
+0000036387 00000 n
+0000629190 00000 n
+0000620298 00000 n
+0000875844 00000 n
+0000036199 00000 n
+0000042071 00000 n
+0000041373 00000 n
+0000036888 00000 n
+0000041693 00000 n
+0000874540 00000 n
+0000041815 00000 n
+0000041879 00000 n
+0000041943 00000 n
+0000042007 00000 n
+0000616833 00000 n
+0000041510 00000 n
+0000048658 00000 n
+0000048813 00000 n
+0000049153 00000 n
+0000048484 00000 n
+0000042429 00000 n
+0000048970 00000 n
+0000874832 00000 n
+0000048621 00000 n
+0000055948 00000 n
+0000056100 00000 n
+0000054530 00000 n
+0000054690 00000 n
+0000054850 00000 n
+0000055004 00000 n
+0000055158 00000 n
+0000055312 00000 n
+0000055472 00000 n
+0000055632 00000 n
+0000055790 00000 n
+0000056314 00000 n
+0000054284 00000 n
+0000049446 00000 n
+0000056252 00000 n
+0000054421 00000 n
+0000061439 00000 n
+0000061598 00000 n
+0000061757 00000 n
+0000061913 00000 n
+0000062254 00000 n
+0000061249 00000 n
+0000056594 00000 n
+0000062070 00000 n
+0000061386 00000 n
+0000068029 00000 n
+0000067724 00000 n
+0000062443 00000 n
+0000067845 00000 n
+0000073106 00000 n
+0000072862 00000 n
+0000068283 00000 n
+0000072983 00000 n
+0000077251 00000 n
+0000077007 00000 n
+0000073321 00000 n
+0000077128 00000 n
+0000083148 00000 n
+0000083300 00000 n
+0000083464 00000 n
+0000083863 00000 n
+0000082966 00000 n
+0000077440 00000 n
+0000083618 00000 n
+0000083103 00000 n
+0000089169 00000 n
+0000088865 00000 n
+0000084104 00000 n
+0000088986 00000 n
+0000611508 00000 n
+0000876428 00000 n
+0000094255 00000 n
+0000094409 00000 n
+0000094563 00000 n
+0000094727 00000 n
+0000094881 00000 n
+0000095229 00000 n
+0000094057 00000 n
+0000089384 00000 n
+0000095045 00000 n
+0000875267 00000 n
+0000094194 00000 n
+0000101900 00000 n
+0000102060 00000 n
+0000102219 00000 n
+0000102379 00000 n
+0000108803 00000 n
+0000108961 00000 n
+0000102721 00000 n
+0000101710 00000 n
+0000095522 00000 n
+0000102537 00000 n
+0000101847 00000 n
+0000108484 00000 n
+0000108643 00000 n
+0000109301 00000 n
+0000108294 00000 n
+0000102988 00000 n
+0000109118 00000 n
+0000108431 00000 n
+0000113779 00000 n
+0000113596 00000 n
+0000109542 00000 n
+0000113717 00000 n
+0000117940 00000 n
+0000118156 00000 n
+0000117774 00000 n
+0000114033 00000 n
+0000118094 00000 n
+0000117911 00000 n
+0000125440 00000 n
+0000125135 00000 n
+0000118332 00000 n
+0000125256 00000 n
+0000130792 00000 n
+0000130311 00000 n
+0000130474 00000 n
+0000130633 00000 n
+0000131074 00000 n
+0000130121 00000 n
+0000125720 00000 n
+0000130950 00000 n
+0000130258 00000 n
+0000136473 00000 n
+0000136627 00000 n
+0000136849 00000 n
+0000136299 00000 n
+0000131354 00000 n
+0000136787 00000 n
+0000136436 00000 n
+0000142529 00000 n
+0000142742 00000 n
+0000142363 00000 n
+0000137064 00000 n
+0000142680 00000 n
+0000142500 00000 n
+0000148359 00000 n
+0000155013 00000 n
+0000148578 00000 n
+0000148193 00000 n
+0000142983 00000 n
+0000148516 00000 n
+0000876581 00000 n
+0000148330 00000 n
+0000155291 00000 n
+0000154847 00000 n
+0000148793 00000 n
+0000155167 00000 n
+0000154984 00000 n
+0000160581 00000 n
+0000160795 00000 n
+0000160415 00000 n
+0000155558 00000 n
+0000160733 00000 n
+0000160552 00000 n
+0000165853 00000 n
+0000166005 00000 n
+0000171357 00000 n
+0000166473 00000 n
+0000165679 00000 n
+0000161036 00000 n
+0000166163 00000 n
+0000165816 00000 n
+0000171510 00000 n
+0000171786 00000 n
+0000171183 00000 n
+0000166701 00000 n
+0000171662 00000 n
+0000171320 00000 n
+0000176491 00000 n
+0000176246 00000 n
+0000172066 00000 n
+0000176367 00000 n
+0000183148 00000 n
+0000183313 00000 n
+0000183472 00000 n
+0000183631 00000 n
+0000191594 00000 n
+0000183909 00000 n
+0000182958 00000 n
+0000176771 00000 n
+0000183785 00000 n
+0000183095 00000 n
+0000191117 00000 n
+0000191277 00000 n
+0000191440 00000 n
+0000204046 00000 n
+0000191811 00000 n
+0000190927 00000 n
+0000184124 00000 n
+0000191749 00000 n
+0000191064 00000 n
+0000204206 00000 n
+0000204365 00000 n
+0000204647 00000 n
+0000203864 00000 n
+0000192091 00000 n
+0000204523 00000 n
+0000607119 00000 n
+0000204001 00000 n
+0000217109 00000 n
+0000217384 00000 n
+0000216943 00000 n
+0000204953 00000 n
+0000217260 00000 n
+0000217080 00000 n
+0000237721 00000 n
+0000237476 00000 n
+0000217651 00000 n
+0000237597 00000 n
+0000876734 00000 n
+0000248119 00000 n
+0000248279 00000 n
+0000253139 00000 n
+0000248625 00000 n
+0000247945 00000 n
+0000238027 00000 n
+0000248439 00000 n
+0000248082 00000 n
+0000253298 00000 n
+0000253452 00000 n
+0000253796 00000 n
+0000252957 00000 n
+0000248879 00000 n
+0000253672 00000 n
+0000604584 00000 n
+0000253094 00000 n
+0000260472 00000 n
+0000260815 00000 n
+0000260306 00000 n
+0000254063 00000 n
+0000260630 00000 n
+0000260443 00000 n
+0000266896 00000 n
+0000267056 00000 n
+0000267216 00000 n
+0000267369 00000 n
+0000267529 00000 n
+0000267844 00000 n
+0000267689 00000 n
+0000268125 00000 n
+0000266682 00000 n
+0000261134 00000 n
+0000268001 00000 n
+0000876132 00000 n
+0000266819 00000 n
+0000285203 00000 n
+0000285362 00000 n
+0000285708 00000 n
+0000285029 00000 n
+0000268457 00000 n
+0000285522 00000 n
+0000285166 00000 n
+0000291626 00000 n
+0000291781 00000 n
+0000291998 00000 n
+0000291452 00000 n
+0000285962 00000 n
+0000291936 00000 n
+0000291589 00000 n
+0000296883 00000 n
+0000297043 00000 n
+0000297203 00000 n
+0000297425 00000 n
+0000296701 00000 n
+0000292213 00000 n
+0000297363 00000 n
+0000296838 00000 n
+0000302610 00000 n
+0000302928 00000 n
+0000302444 00000 n
+0000297705 00000 n
+0000302804 00000 n
+0000302581 00000 n
+0000308233 00000 n
+0000308387 00000 n
+0000308551 00000 n
+0000308705 00000 n
+0000308858 00000 n
+0000309016 00000 n
+0000309422 00000 n
+0000308027 00000 n
+0000303234 00000 n
+0000309174 00000 n
+0000308164 00000 n
+0000322302 00000 n
+0000314185 00000 n
+0000314339 00000 n
+0000314934 00000 n
+0000314011 00000 n
+0000309637 00000 n
+0000314493 00000 n
+0000314679 00000 n
+0000601521 00000 n
+0000314742 00000 n
+0000314806 00000 n
+0000314870 00000 n
+0000876887 00000 n
+0000314148 00000 n
+0000318792 00000 n
+0000318951 00000 n
+0000319168 00000 n
+0000318618 00000 n
+0000315136 00000 n
+0000319106 00000 n
+0000318755 00000 n
+0000322938 00000 n
+0000322119 00000 n
+0000319396 00000 n
+0000322240 00000 n
+0000322364 00000 n
+0000322428 00000 n
+0000322492 00000 n
+0000322556 00000 n
+0000322620 00000 n
+0000322684 00000 n
+0000322748 00000 n
+0000322812 00000 n
+0000326967 00000 n
+0000327127 00000 n
+0000327349 00000 n
+0000326793 00000 n
+0000323153 00000 n
+0000327287 00000 n
+0000326930 00000 n
+0000330846 00000 n
+0000331006 00000 n
+0000331165 00000 n
+0000331324 00000 n
+0000331487 00000 n
+0000331898 00000 n
+0000330648 00000 n
+0000327525 00000 n
+0000331651 00000 n
+0000330785 00000 n
+0000340982 00000 n
+0000340613 00000 n
+0000332139 00000 n
+0000340734 00000 n
+0000346318 00000 n
+0000346654 00000 n
+0000346152 00000 n
+0000341249 00000 n
+0000346468 00000 n
+0000875989 00000 n
+0000346289 00000 n
+0000351901 00000 n
+0000352056 00000 n
+0000352210 00000 n
+0000352368 00000 n
+0000352523 00000 n
+0000352801 00000 n
+0000351703 00000 n
+0000346999 00000 n
+0000352677 00000 n
+0000874248 00000 n
+0000351840 00000 n
+0000357941 00000 n
+0000358100 00000 n
+0000363960 00000 n
+0000358564 00000 n
+0000357767 00000 n
+0000353094 00000 n
+0000358254 00000 n
+0000357904 00000 n
+0000364150 00000 n
+0000364303 00000 n
+0000364465 00000 n
+0000364615 00000 n
+0000364950 00000 n
+0000363762 00000 n
+0000358818 00000 n
+0000364764 00000 n
+0000363899 00000 n
+0000369515 00000 n
+0000369676 00000 n
+0000369837 00000 n
+0000370182 00000 n
+0000369333 00000 n
+0000365269 00000 n
+0000369996 00000 n
+0000877040 00000 n
+0000369470 00000 n
+0000377615 00000 n
+0000377893 00000 n
+0000377449 00000 n
+0000370397 00000 n
+0000377769 00000 n
+0000377586 00000 n
+0000384028 00000 n
+0000384309 00000 n
+0000383862 00000 n
+0000378173 00000 n
+0000384185 00000 n
+0000383999 00000 n
+0000391133 00000 n
+0000391416 00000 n
+0000390967 00000 n
+0000384576 00000 n
+0000391292 00000 n
+0000599045 00000 n
+0000391104 00000 n
+0000395445 00000 n
+0000395728 00000 n
+0000395279 00000 n
+0000391657 00000 n
+0000395604 00000 n
+0000395416 00000 n
+0000408761 00000 n
+0000414029 00000 n
+0000414188 00000 n
+0000409171 00000 n
+0000408595 00000 n
+0000395969 00000 n
+0000408925 00000 n
+0000408732 00000 n
+0000414346 00000 n
+0000422716 00000 n
+0000422880 00000 n
+0000423044 00000 n
+0000414767 00000 n
+0000413847 00000 n
+0000409425 00000 n
+0000414581 00000 n
+0000596560 00000 n
+0000413984 00000 n
+0000415034 00000 n
+0000415352 00000 n
+0000415678 00000 n
+0000415882 00000 n
+0000416360 00000 n
+0000416704 00000 n
+0000416908 00000 n
+0000423208 00000 n
+0000423358 00000 n
+0000423694 00000 n
+0000422518 00000 n
+0000417550 00000 n
+0000423508 00000 n
+0000422655 00000 n
+0000427257 00000 n
+0000427412 00000 n
+0000427753 00000 n
+0000427083 00000 n
+0000423989 00000 n
+0000427567 00000 n
+0000427220 00000 n
+0000431522 00000 n
+0000431084 00000 n
+0000427968 00000 n
+0000431205 00000 n
+0000431267 00000 n
+0000431330 00000 n
+0000431394 00000 n
+0000431458 00000 n
+0000451718 00000 n
+0000451411 00000 n
+0000431698 00000 n
+0000451532 00000 n
+0000877193 00000 n
+0000457780 00000 n
+0000457597 00000 n
+0000451985 00000 n
+0000457718 00000 n
+0000462652 00000 n
+0000462345 00000 n
+0000458073 00000 n
+0000462466 00000 n
+0000466294 00000 n
+0000466111 00000 n
+0000462867 00000 n
+0000466232 00000 n
+0000469803 00000 n
+0000469620 00000 n
+0000466535 00000 n
+0000469741 00000 n
+0000474175 00000 n
+0000473992 00000 n
+0000470044 00000 n
+0000474113 00000 n
+0000480737 00000 n
+0000481021 00000 n
+0000480571 00000 n
+0000474403 00000 n
+0000480897 00000 n
+0000480708 00000 n
+0000486704 00000 n
+0000486521 00000 n
+0000481353 00000 n
+0000486642 00000 n
+0000498894 00000 n
+0000498649 00000 n
+0000486919 00000 n
+0000498770 00000 n
+0000502370 00000 n
+0000502125 00000 n
+0000499135 00000 n
+0000502246 00000 n
+0000505057 00000 n
+0000504812 00000 n
+0000502520 00000 n
+0000504933 00000 n
+0000877346 00000 n
+0000507672 00000 n
+0000507489 00000 n
+0000505259 00000 n
+0000507610 00000 n
+0000510376 00000 n
+0000510193 00000 n
+0000507835 00000 n
+0000510314 00000 n
+0000513083 00000 n
+0000512900 00000 n
+0000510539 00000 n
+0000513021 00000 n
+0000515776 00000 n
+0000515593 00000 n
+0000513246 00000 n
+0000515714 00000 n
+0000517657 00000 n
+0000517474 00000 n
+0000515952 00000 n
+0000517595 00000 n
+0000522287 00000 n
+0000522437 00000 n
+0000522589 00000 n
+0000522739 00000 n
+0000522891 00000 n
+0000523043 00000 n
+0000523195 00000 n
+0000523347 00000 n
+0000523499 00000 n
+0000523650 00000 n
+0000523802 00000 n
+0000523953 00000 n
+0000524105 00000 n
+0000524256 00000 n
+0000524406 00000 n
+0000524558 00000 n
+0000524710 00000 n
+0000524862 00000 n
+0000525012 00000 n
+0000525162 00000 n
+0000525314 00000 n
+0000525466 00000 n
+0000525617 00000 n
+0000525769 00000 n
+0000525920 00000 n
+0000526072 00000 n
+0000526220 00000 n
+0000526369 00000 n
+0000526520 00000 n
+0000526672 00000 n
+0000526822 00000 n
+0000526972 00000 n
+0000527123 00000 n
+0000527275 00000 n
+0000527426 00000 n
+0000527578 00000 n
+0000527730 00000 n
+0000527882 00000 n
+0000528033 00000 n
+0000528185 00000 n
+0000528337 00000 n
+0000528488 00000 n
+0000528639 00000 n
+0000528791 00000 n
+0000528943 00000 n
+0000529094 00000 n
+0000529246 00000 n
+0000529398 00000 n
+0000529549 00000 n
+0000529701 00000 n
+0000529852 00000 n
+0000530003 00000 n
+0000530152 00000 n
+0000530302 00000 n
+0000530452 00000 n
+0000530602 00000 n
+0000530751 00000 n
+0000530901 00000 n
+0000531052 00000 n
+0000531204 00000 n
+0000531354 00000 n
+0000531506 00000 n
+0000531657 00000 n
+0000531809 00000 n
+0000531960 00000 n
+0000532112 00000 n
+0000532264 00000 n
+0000532415 00000 n
+0000532567 00000 n
+0000532720 00000 n
+0000532872 00000 n
+0000533025 00000 n
+0000533178 00000 n
+0000533331 00000 n
+0000533482 00000 n
+0000533635 00000 n
+0000533788 00000 n
+0000533941 00000 n
+0000534094 00000 n
+0000534246 00000 n
+0000534398 00000 n
+0000534551 00000 n
+0000534703 00000 n
+0000534856 00000 n
+0000535009 00000 n
+0000535162 00000 n
+0000535313 00000 n
+0000535466 00000 n
+0000535618 00000 n
+0000535770 00000 n
+0000535923 00000 n
+0000536075 00000 n
+0000536227 00000 n
+0000536380 00000 n
+0000536533 00000 n
+0000536686 00000 n
+0000536839 00000 n
+0000536992 00000 n
+0000537145 00000 n
+0000537298 00000 n
+0000537451 00000 n
+0000537604 00000 n
+0000537757 00000 n
+0000537906 00000 n
+0000538056 00000 n
+0000538206 00000 n
+0000538358 00000 n
+0000538510 00000 n
+0000538663 00000 n
+0000538816 00000 n
+0000538968 00000 n
+0000539119 00000 n
+0000543937 00000 n
+0000544089 00000 n
+0000544241 00000 n
+0000539396 00000 n
+0000521184 00000 n
+0000517833 00000 n
+0000539269 00000 n
+0000521325 00000 n
+0000544393 00000 n
+0000544545 00000 n
+0000544698 00000 n
+0000544849 00000 n
+0000545001 00000 n
+0000545151 00000 n
+0000545304 00000 n
+0000545456 00000 n
+0000545609 00000 n
+0000545760 00000 n
+0000545911 00000 n
+0000546064 00000 n
+0000546217 00000 n
+0000546369 00000 n
+0000546522 00000 n
+0000546675 00000 n
+0000546828 00000 n
+0000546981 00000 n
+0000547133 00000 n
+0000547285 00000 n
+0000547437 00000 n
+0000547590 00000 n
+0000547743 00000 n
+0000547895 00000 n
+0000548047 00000 n
+0000548200 00000 n
+0000548353 00000 n
+0000548506 00000 n
+0000548659 00000 n
+0000548812 00000 n
+0000548964 00000 n
+0000549116 00000 n
+0000549269 00000 n
+0000549422 00000 n
+0000549575 00000 n
+0000549727 00000 n
+0000549879 00000 n
+0000550032 00000 n
+0000550185 00000 n
+0000550338 00000 n
+0000550491 00000 n
+0000550644 00000 n
+0000550796 00000 n
+0000550949 00000 n
+0000551102 00000 n
+0000551255 00000 n
+0000551405 00000 n
+0000551555 00000 n
+0000551706 00000 n
+0000551859 00000 n
+0000552012 00000 n
+0000552165 00000 n
+0000552317 00000 n
+0000552470 00000 n
+0000552622 00000 n
+0000552774 00000 n
+0000552927 00000 n
+0000553078 00000 n
+0000553231 00000 n
+0000553383 00000 n
+0000553536 00000 n
+0000553689 00000 n
+0000553842 00000 n
+0000553994 00000 n
+0000554147 00000 n
+0000554300 00000 n
+0000554453 00000 n
+0000554604 00000 n
+0000554755 00000 n
+0000554906 00000 n
+0000555058 00000 n
+0000555211 00000 n
+0000555364 00000 n
+0000555517 00000 n
+0000555670 00000 n
+0000555823 00000 n
+0000555976 00000 n
+0000556128 00000 n
+0000556281 00000 n
+0000556434 00000 n
+0000556587 00000 n
+0000556739 00000 n
+0000556892 00000 n
+0000557045 00000 n
+0000557198 00000 n
+0000557351 00000 n
+0000557503 00000 n
+0000557656 00000 n
+0000557809 00000 n
+0000557962 00000 n
+0000558113 00000 n
+0000558265 00000 n
+0000558418 00000 n
+0000558568 00000 n
+0000558719 00000 n
+0000562678 00000 n
+0000562831 00000 n
+0000562984 00000 n
+0000563137 00000 n
+0000558933 00000 n
+0000542892 00000 n
+0000539586 00000 n
+0000558869 00000 n
+0000543033 00000 n
+0000563290 00000 n
+0000563442 00000 n
+0000563594 00000 n
+0000563746 00000 n
+0000563898 00000 n
+0000564051 00000 n
+0000564204 00000 n
+0000564357 00000 n
+0000564509 00000 n
+0000564662 00000 n
+0000564814 00000 n
+0000564966 00000 n
+0000565117 00000 n
+0000565270 00000 n
+0000565423 00000 n
+0000565576 00000 n
+0000565729 00000 n
+0000565882 00000 n
+0000566034 00000 n
+0000566186 00000 n
+0000566339 00000 n
+0000566491 00000 n
+0000566644 00000 n
+0000566797 00000 n
+0000566950 00000 n
+0000567101 00000 n
+0000567253 00000 n
+0000567404 00000 n
+0000567557 00000 n
+0000567710 00000 n
+0000567863 00000 n
+0000568016 00000 n
+0000568169 00000 n
+0000568322 00000 n
+0000568475 00000 n
+0000568628 00000 n
+0000568781 00000 n
+0000568933 00000 n
+0000569085 00000 n
+0000569238 00000 n
+0000569390 00000 n
+0000569543 00000 n
+0000569696 00000 n
+0000569849 00000 n
+0000570001 00000 n
+0000570154 00000 n
+0000570305 00000 n
+0000570457 00000 n
+0000570610 00000 n
+0000570761 00000 n
+0000570913 00000 n
+0000571066 00000 n
+0000571219 00000 n
+0000571369 00000 n
+0000571519 00000 n
+0000571669 00000 n
+0000571820 00000 n
+0000571971 00000 n
+0000572124 00000 n
+0000572277 00000 n
+0000572430 00000 n
+0000572583 00000 n
+0000572736 00000 n
+0000572887 00000 n
+0000573040 00000 n
+0000573192 00000 n
+0000573344 00000 n
+0000573497 00000 n
+0000573650 00000 n
+0000573803 00000 n
+0000573956 00000 n
+0000574109 00000 n
+0000574262 00000 n
+0000574479 00000 n
+0000561822 00000 n
+0000559110 00000 n
+0000574415 00000 n
+0000561963 00000 n
+0000577337 00000 n
+0000577491 00000 n
+0000577645 00000 n
+0000577799 00000 n
+0000577953 00000 n
+0000578112 00000 n
+0000578271 00000 n
+0000578430 00000 n
+0000578589 00000 n
+0000578747 00000 n
+0000578906 00000 n
+0000579065 00000 n
+0000579219 00000 n
+0000579378 00000 n
+0000579543 00000 n
+0000579708 00000 n
+0000579867 00000 n
+0000580026 00000 n
+0000580191 00000 n
+0000580355 00000 n
+0000580520 00000 n
+0000580685 00000 n
+0000580850 00000 n
+0000581004 00000 n
+0000581162 00000 n
+0000581321 00000 n
+0000581479 00000 n
+0000581638 00000 n
+0000581791 00000 n
+0000581945 00000 n
0000582104 00000 n
-0000592088 00000 n
-0000584360 00000 n
-0000594987 00000 n
-0000595146 00000 n
-0000595305 00000 n
-0000595464 00000 n
-0000595624 00000 n
-0000595779 00000 n
-0000595939 00000 n
-0000596098 00000 n
-0000596258 00000 n
-0000596417 00000 n
-0000596576 00000 n
-0000596735 00000 n
-0000596895 00000 n
-0000597055 00000 n
-0000597214 00000 n
-0000597375 00000 n
-0000597536 00000 n
-0000597691 00000 n
-0000597851 00000 n
-0000598017 00000 n
-0000598183 00000 n
-0000598343 00000 n
-0000598503 00000 n
-0000598662 00000 n
-0000598816 00000 n
-0000598971 00000 n
-0000599131 00000 n
-0000599291 00000 n
-0000599451 00000 n
-0000599611 00000 n
-0000599765 00000 n
-0000599925 00000 n
-0000600085 00000 n
-0000600245 00000 n
-0000600405 00000 n
-0000600565 00000 n
-0000600725 00000 n
-0000600885 00000 n
-0000601045 00000 n
-0000601205 00000 n
-0000601365 00000 n
-0000601520 00000 n
-0000601738 00000 n
-0000594276 00000 n
-0000592303 00000 n
-0000601674 00000 n
-0000594418 00000 n
-0000602157 00000 n
-0000602184 00000 n
-0000603139 00000 n
-0000602240 00000 n
-0000602340 00000 n
-0000603381 00000 n
-0000603995 00000 n
-0000604199 00000 n
-0000605611 00000 n
-0000604274 00000 n
-0000604375 00000 n
-0000605853 00000 n
-0000606481 00000 n
-0000606686 00000 n
-0000606831 00000 n
-0000606928 00000 n
-0000608098 00000 n
-0000606994 00000 n
-0000607091 00000 n
-0000608341 00000 n
-0000608956 00000 n
-0000609160 00000 n
-0000609264 00000 n
-0000611119 00000 n
-0000609422 00000 n
-0000609526 00000 n
-0000611359 00000 n
-0000612019 00000 n
-0000612223 00000 n
-0000613678 00000 n
-0000612302 00000 n
-0000612404 00000 n
-0000613926 00000 n
-0000614560 00000 n
-0000614770 00000 n
-0000614815 00000 n
-0000617971 00000 n
-0000615090 00000 n
-0000615196 00000 n
-0000618219 00000 n
-0000618949 00000 n
-0000619159 00000 n
-0000619184 00000 n
-0000623277 00000 n
-0000619526 00000 n
-0000619636 00000 n
-0000623520 00000 n
-0000624268 00000 n
-0000624472 00000 n
-0000624498 00000 n
-0000624750 00000 n
-0000626832 00000 n
-0000624903 00000 n
-0000625009 00000 n
-0000627071 00000 n
-0000627731 00000 n
-0000627933 00000 n
-0000635266 00000 n
-0000628362 00000 n
-0000628474 00000 n
-0000635506 00000 n
-0000636383 00000 n
-0000636586 00000 n
-0000643993 00000 n
-0000637030 00000 n
-0000637138 00000 n
-0000644233 00000 n
-0000645151 00000 n
-0000645355 00000 n
-0000647667 00000 n
-0000645629 00000 n
-0000645735 00000 n
-0000647907 00000 n
-0000648613 00000 n
-0000648817 00000 n
-0000656852 00000 n
-0000649274 00000 n
-0000649386 00000 n
-0000657093 00000 n
-0000658001 00000 n
-0000658206 00000 n
-0000660412 00000 n
-0000658332 00000 n
-0000658440 00000 n
-0000660654 00000 n
-0000661308 00000 n
-0000661513 00000 n
-0000663301 00000 n
-0000661624 00000 n
-0000661728 00000 n
-0000663548 00000 n
-0000664197 00000 n
-0000664407 00000 n
-0000671498 00000 n
-0000664831 00000 n
-0000664946 00000 n
-0000671738 00000 n
-0000672612 00000 n
-0000672815 00000 n
-0000677467 00000 n
-0000673158 00000 n
-0000673269 00000 n
-0000677716 00000 n
-0000678486 00000 n
-0000678697 00000 n
-0000681935 00000 n
-0000678893 00000 n
-0000679000 00000 n
-0000682177 00000 n
-0000682875 00000 n
-0000683080 00000 n
-0000689562 00000 n
-0000683462 00000 n
-0000683573 00000 n
-0000689806 00000 n
-0000690604 00000 n
-0000690809 00000 n
-0000699455 00000 n
-0000691246 00000 n
-0000691360 00000 n
-0000699696 00000 n
-0000700673 00000 n
-0000700878 00000 n
-0000704279 00000 n
-0000701238 00000 n
-0000701345 00000 n
-0000704520 00000 n
-0000705288 00000 n
-0000705493 00000 n
-0000705728 00000 n
-0000715151 00000 n
-0000706277 00000 n
-0000706406 00000 n
-0000715393 00000 n
-0000716392 00000 n
-0000716598 00000 n
-0000716705 00000 n
-0000716984 00000 n
-0000717091 00000 n
-0000717153 00000 n
-0000717348 00000 n
-0000717717 00000 n
-0000725376 00000 n
-0000718160 00000 n
-0000718268 00000 n
-0000725616 00000 n
-0000726548 00000 n
-0000726752 00000 n
-0000728356 00000 n
-0000726909 00000 n
-0000727015 00000 n
-0000728596 00000 n
-0000729255 00000 n
-0000729459 00000 n
-0000733245 00000 n
-0000729751 00000 n
-0000729857 00000 n
-0000733486 00000 n
-0000734219 00000 n
-0000734424 00000 n
-0000735983 00000 n
-0000734517 00000 n
-0000734618 00000 n
-0000736222 00000 n
-0000736848 00000 n
-0000737050 00000 n
-0000739287 00000 n
-0000737229 00000 n
-0000737335 00000 n
-0000739528 00000 n
-0000740197 00000 n
-0000740402 00000 n
-0000744618 00000 n
-0000740737 00000 n
-0000740851 00000 n
-0000744860 00000 n
-0000745613 00000 n
-0000745819 00000 n
-0000747179 00000 n
-0000745942 00000 n
-0000746048 00000 n
-0000747420 00000 n
-0000748065 00000 n
-0000748270 00000 n
-0000751720 00000 n
-0000748532 00000 n
-0000748639 00000 n
-0000751962 00000 n
-0000752678 00000 n
-0000762130 00000 n
-0000752884 00000 n
-0000773554 00000 n
-0000762381 00000 n
-0000781242 00000 n
-0000774308 00000 n
-0000794019 00000 n
-0000781472 00000 n
-0000801490 00000 n
-0000794347 00000 n
-0000809623 00000 n
-0000801716 00000 n
-0000819550 00000 n
-0000809856 00000 n
-0000827462 00000 n
-0000819817 00000 n
-0000840172 00000 n
-0000827693 00000 n
-0000847572 00000 n
-0000840530 00000 n
-0000855457 00000 n
-0000847797 00000 n
-0000864698 00000 n
-0000855705 00000 n
-0000872650 00000 n
-0000865006 00000 n
-0000880190 00000 n
-0000872934 00000 n
-0000887704 00000 n
-0000880429 00000 n
-0000891458 00000 n
-0000891589 00000 n
-0000899947 00000 n
-0000900583 00000 n
-0000901223 00000 n
-0000901868 00000 n
-0000902648 00000 n
-0000903566 00000 n
-0000904449 00000 n
-0000904577 00000 n
-0000904617 00000 n
-0000904749 00000 n
+0000582263 00000 n
+0000582422 00000 n
+0000582575 00000 n
+0000582730 00000 n
+0000582890 00000 n
+0000583050 00000 n
+0000583210 00000 n
+0000583370 00000 n
+0000583530 00000 n
+0000583690 00000 n
+0000583844 00000 n
+0000583999 00000 n
+0000584159 00000 n
+0000584319 00000 n
+0000584477 00000 n
+0000587419 00000 n
+0000584699 00000 n
+0000576760 00000 n
+0000574656 00000 n
+0000584635 00000 n
+0000576901 00000 n
+0000587574 00000 n
+0000587734 00000 n
+0000587893 00000 n
+0000588052 00000 n
+0000588211 00000 n
+0000588371 00000 n
+0000588526 00000 n
+0000588686 00000 n
+0000588845 00000 n
+0000589005 00000 n
+0000589164 00000 n
+0000589323 00000 n
+0000589482 00000 n
+0000589642 00000 n
+0000589802 00000 n
+0000589962 00000 n
+0000590123 00000 n
+0000590284 00000 n
+0000590439 00000 n
+0000590599 00000 n
+0000590765 00000 n
+0000590931 00000 n
+0000591091 00000 n
+0000591251 00000 n
+0000591410 00000 n
+0000591565 00000 n
+0000591719 00000 n
+0000591879 00000 n
+0000592039 00000 n
+0000592199 00000 n
+0000592359 00000 n
+0000592513 00000 n
+0000592673 00000 n
+0000592833 00000 n
+0000592993 00000 n
+0000593153 00000 n
+0000593313 00000 n
+0000593473 00000 n
+0000593633 00000 n
+0000593793 00000 n
+0000593953 00000 n
+0000594114 00000 n
+0000594269 00000 n
+0000594487 00000 n
+0000586859 00000 n
+0000584850 00000 n
+0000594423 00000 n
+0000877503 00000 n
+0000587001 00000 n
+0000594906 00000 n
+0000595861 00000 n
+0000594962 00000 n
+0000595062 00000 n
+0000596103 00000 n
+0000596717 00000 n
+0000596921 00000 n
+0000598333 00000 n
+0000596996 00000 n
+0000597097 00000 n
+0000598575 00000 n
+0000599203 00000 n
+0000599408 00000 n
+0000599553 00000 n
+0000599650 00000 n
+0000600820 00000 n
+0000599716 00000 n
+0000599813 00000 n
+0000601063 00000 n
+0000601678 00000 n
+0000601882 00000 n
+0000601986 00000 n
+0000603841 00000 n
+0000602144 00000 n
+0000602248 00000 n
+0000604081 00000 n
+0000604741 00000 n
+0000604945 00000 n
+0000606400 00000 n
+0000605024 00000 n
+0000605126 00000 n
+0000606648 00000 n
+0000607282 00000 n
+0000607492 00000 n
+0000607537 00000 n
+0000610693 00000 n
+0000607812 00000 n
+0000607918 00000 n
+0000610941 00000 n
+0000611671 00000 n
+0000611881 00000 n
+0000611906 00000 n
+0000615999 00000 n
+0000612248 00000 n
+0000612358 00000 n
+0000616242 00000 n
+0000616990 00000 n
+0000617194 00000 n
+0000617220 00000 n
+0000617472 00000 n
+0000619554 00000 n
+0000617625 00000 n
+0000617731 00000 n
+0000619793 00000 n
+0000620453 00000 n
+0000620655 00000 n
+0000628223 00000 n
+0000621088 00000 n
+0000621200 00000 n
+0000628463 00000 n
+0000629346 00000 n
+0000629549 00000 n
+0000636888 00000 n
+0000629989 00000 n
+0000630097 00000 n
+0000637128 00000 n
+0000638041 00000 n
+0000638245 00000 n
+0000640557 00000 n
+0000638519 00000 n
+0000638625 00000 n
+0000640797 00000 n
+0000641503 00000 n
+0000641707 00000 n
+0000649742 00000 n
+0000642164 00000 n
+0000642276 00000 n
+0000649983 00000 n
+0000650891 00000 n
+0000651096 00000 n
+0000653302 00000 n
+0000651222 00000 n
+0000651330 00000 n
+0000653544 00000 n
+0000654198 00000 n
+0000654403 00000 n
+0000656191 00000 n
+0000654514 00000 n
+0000654618 00000 n
+0000656438 00000 n
+0000657087 00000 n
+0000657297 00000 n
+0000664751 00000 n
+0000657725 00000 n
+0000657840 00000 n
+0000664991 00000 n
+0000665879 00000 n
+0000666082 00000 n
+0000670734 00000 n
+0000666425 00000 n
+0000666536 00000 n
+0000670983 00000 n
+0000671753 00000 n
+0000671964 00000 n
+0000675202 00000 n
+0000672160 00000 n
+0000672267 00000 n
+0000675444 00000 n
+0000676142 00000 n
+0000676347 00000 n
+0000683006 00000 n
+0000676733 00000 n
+0000676844 00000 n
+0000683250 00000 n
+0000684051 00000 n
+0000684256 00000 n
+0000692902 00000 n
+0000684693 00000 n
+0000684807 00000 n
+0000693143 00000 n
+0000694120 00000 n
+0000694325 00000 n
+0000697726 00000 n
+0000694685 00000 n
+0000694792 00000 n
+0000697967 00000 n
+0000698735 00000 n
+0000698940 00000 n
+0000699175 00000 n
+0000708810 00000 n
+0000699743 00000 n
+0000699872 00000 n
+0000709052 00000 n
+0000710054 00000 n
+0000710260 00000 n
+0000710367 00000 n
+0000710646 00000 n
+0000710753 00000 n
+0000710815 00000 n
+0000711010 00000 n
+0000711379 00000 n
+0000719038 00000 n
+0000711822 00000 n
+0000711930 00000 n
+0000719278 00000 n
+0000720210 00000 n
+0000720414 00000 n
+0000722018 00000 n
+0000720571 00000 n
+0000720677 00000 n
+0000722258 00000 n
+0000722917 00000 n
+0000723121 00000 n
+0000726907 00000 n
+0000723413 00000 n
+0000723519 00000 n
+0000727148 00000 n
+0000727881 00000 n
+0000728086 00000 n
+0000729645 00000 n
+0000728179 00000 n
+0000728280 00000 n
+0000729884 00000 n
+0000730510 00000 n
+0000730712 00000 n
+0000732949 00000 n
+0000730891 00000 n
+0000730997 00000 n
+0000733190 00000 n
+0000733859 00000 n
+0000734064 00000 n
+0000738186 00000 n
+0000734396 00000 n
+0000734510 00000 n
+0000738428 00000 n
+0000739175 00000 n
+0000739381 00000 n
+0000740741 00000 n
+0000739504 00000 n
+0000739610 00000 n
+0000740982 00000 n
+0000741627 00000 n
+0000741832 00000 n
+0000745282 00000 n
+0000742094 00000 n
+0000742201 00000 n
+0000745524 00000 n
+0000746240 00000 n
+0000755692 00000 n
+0000746446 00000 n
+0000767116 00000 n
+0000755943 00000 n
+0000774804 00000 n
+0000767870 00000 n
+0000787581 00000 n
+0000775034 00000 n
+0000795052 00000 n
+0000787909 00000 n
+0000803185 00000 n
+0000795278 00000 n
+0000813112 00000 n
+0000803418 00000 n
+0000821024 00000 n
+0000813379 00000 n
+0000833734 00000 n
+0000821255 00000 n
+0000841752 00000 n
+0000834092 00000 n
+0000850993 00000 n
+0000842000 00000 n
+0000858945 00000 n
+0000851301 00000 n
+0000866485 00000 n
+0000859229 00000 n
+0000873999 00000 n
+0000866724 00000 n
+0000877585 00000 n
+0000877716 00000 n
+0000886166 00000 n
+0000886802 00000 n
+0000887442 00000 n
+0000888091 00000 n
+0000888897 00000 n
+0000889810 00000 n
+0000890715 00000 n
+0000890818 00000 n
+0000890955 00000 n
+0000890995 00000 n
+0000891127 00000 n
trailer
-<< /Size 1568 /Root 1566 0 R /Info 1567 0 R /ID [ <886AF9986773F782DD17EA3C2149DA11> <886AF9986773F782DD17EA3C2149DA11> ] >>
+<< /Size 1564 /Root 1562 0 R /Info 1563 0 R /ID [ <BE65CC6E78F9273580FD530CA1CBF8CB> <BE65CC6E78F9273580FD530CA1CBF8CB> ] >>
startxref
-905316
+891691
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix.tex b/macros/latex/contrib/nicematrix/nicematrix.tex
index 35de300099..7bafda9008 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix.tex
@@ -486,8 +486,7 @@ If this argument is empty, its default
value is |1-1|. If the number of rows is not specified, or equal to |*|, the
block extends until the last row (idem for the columns).
-\item The second argument is the content of the block. It's possible to use
-|\\| in that content to have a content on several lines. In |{NiceTabular}|,
+\item The second argument is the content of the block. In |{NiceTabular}|,
|{NiceTabular*}| and |{NiceTabularX}|, the content of the block is composed in
text mode whereas, in the other environments, it is composed in math mode.
\end{itemize}
@@ -614,13 +613,13 @@ should be loaded (by default, \pkg{nicematrix} only loads \textsc{pgf}) and,
if it's not, an error will be raised.} by using as options the value of that
key |tikz| (which must be a list of keys allowed for a TikZ path).
-\colorbox{yellow!50}{\textbf{New 6.24}}\enskip In fact, in the list of the keys
-provided by the user as value of |tikz|, it's possible to put a key
-\Definition{offset}. That key is not provided by TikZ but by \pkg{nicematrix}.
-It will narrow the rectangular frame corresponding to the block by a margin
-(horizontally and vertically) equal to the value (of that key |offset|). That
-new frame, a bit narrower, will be executed by TikZ with options which are the
-other keys in the list of keys provided as value to the key |tikz| of |\Block|.
+In fact, in the list of the keys provided by the user as value of |tikz|, it's
+possible to put a key \Definition{offset}. That key is not provided by TikZ but
+by \pkg{nicematrix}. It will narrow the rectangular frame corresponding to the
+block by a margin (horizontally and vertically) equal to the value (of that key
+|offset|). That new frame, a bit narrower, will be executed by TikZ with options
+which are the other keys in the list of keys provided as value to the key |tikz|
+of |\Block|.
For examples, cf. p.~\pageref{tikz-key-examples}.
\end{itemize}
@@ -694,9 +693,10 @@ In the columns with a fixed width (columns |w{...}{...}|, |W{...}{...}|,
formatted as a paragraph of that width.
\item The specification of the horizontal position provided by the type of
-column (|c|, |r| or |l|) is taken into account for the blocks (but the
-|\Block| may have its own specification of alignment:
-cf.~\ref{horizontal-block} p.~\pageref{horizontal-block}).
+column (|c|, |r| or |l|) is taken into account for the blocks. For a block in a
+column ot type |p{...}| (without option for |p|) , the alignment |c| will be
+used for the block. Of course, the |\Block| may have its own specification of
+alignment: cf.~\ref{horizontal-block} p.~\pageref{horizontal-block}.
\item The specifications of font specified for the column by a construction
|>{...}| in the preamble of the array are taken into account for the
@@ -800,8 +800,8 @@ first mandatory argument of |\Block| is |1-1|.}
\label{horizontal-block}
-The command |\Block| accepts the keys |l|, |c| and |r| for the horizontal
-position of its content.
+The command |\Block| accepts the keys \Definition{l}, \Definition{c} and
+\Definition{r} for the horizontal position of its content.
\medskip
\begin{Code}[width=10.6cm]
@@ -863,10 +863,10 @@ Rank & \Block{1-3}{First group} & & & \Block{1-3}{Second group} \\
\end{center}
\medskip
-In order to have an horizontal positionning of the content of the block
-computed with the limits of the columns of the LaTeX array (and not with the
-contents of those columns), one may use the key |L|, |R| and |C| of the
-command |\Block|.
+In order to have an horizontal positionning of the content of the block computed
+with the limits of the columns of the LaTeX array (and not with the contents of
+those columns), one may use the key \Definition{L}, \Definition{R} and
+\Definition{C} of the command |\Block|.
\medskip
Here is the same example with the key |C| for the first block.
@@ -904,6 +904,16 @@ Rank & \Block[C]{1-3}{First group} & & & \Block{1-3}{Second group} \\
\end{center}
+\bigskip
+\colorbox{yellow!50}{\bfseries New 6.28}\par\nobreak
+
+\smallskip
+The command |\Block| supports also a key |p|. With that key, the content of the
+block is formatted like a paragraph (as in a column of type |p|). That key may
+be used in conjunction with the key |l|, |c| or |r|, and, in that case, the
+paragraph is formatted with |\raggedright|, |\centering| or |\raggedleft|. With
+the key |j|, the paragraph is justified.
+
\subsection{Vertical position of the content of the block}
\label{vertical-pos-block}
@@ -925,7 +935,8 @@ array involved in the block.
No vertical margin is added. However, the contents of the block is (always)
composed by \pkg{nicematrix} in a |{minipage}|, a |{tabular}| or an |{array}|
-and, hence, there will still remain a margin (in most cases).
+and, hence, there will still remain a margin (in most cases). If needed, it's
+always possible to add a |\strut|...
\item With the key \Definition{B}, the content of the block is set downwards.
\end{itemize}
@@ -1028,6 +1039,90 @@ text & text \\
\end{scope}
+\subsection{\textbackslash\textbackslash\ and \& in the blocks}
+
+\index{ampersand-in-blocks}
+\index{\&-in-blocks}
+
+\colorbox{yellow!50}{\bfseries New 6.28}\par\nobreak
+
+The extension \pkg{nicematrix} provides the ability to use |\\| and |&| directly
+in the content of a block (in order to format its contents) but there is some rectrictions.
+
+\begin{itemize}
+\item One must not use both |\\| and |&| in the same block.
+
+\item For |\\|, there is no other restriction. It's possible to use |\\| in a
+block to format a text on several rows.
+
+\item In order to use |&|, the key |ampersand-in-blocks| (alias: |&-in-blocks|)
+must been activated\footnote{Otherwise, the use of~|&| in the command |\Block|
+ will raise a TeX error :\\
+|! Extra alignment tab has been changed to \cr.|}. Then, the block is divided in sub-blocks as illustrated
+below. Be careful: with |ampersand-in-blocks| is in force, the (main) argument
+of the command |\Block| is syntactically divided into sub-blocks by splitting on
+the ampersands~|&|, the ampersands between curly braced are protected but not
+those in an environment.\footnote{It's not possible to write
+ |\Block[ampersand-in-blocks]{}{\begin{array}{cc}1&2\end{array}}|. Of course,
+ it's possible without the key |ampersand-in-blocks|.}
+\end{itemize}
+
+
+\bigskip
+With the ampserand |&|, it's possible to divide horizontally a block in
+sub-blocks of \emph{the same size}.
+
+\medskip
+\begin{Code}[width=85mm]
+\begin{NiceTabular}{ll}%
+ [hvlines,ampersand-in-blocks]
+ & les cinq premiers entiers naturels \\
+3 & \Block{un&deux&trois} \\
+4 & \Block{un&deux&trois& quatre} \\
+5 & \Block{un&deux&trois&quatre&cinq} \\
+\end{NiceTabular}
+\end{Code}
+%
+\begin{NiceTabular}{ll}%
+ [hvlines,ampersand-in-blocks]
+ & les cinq premiers entiers naturels \\
+3 & \Block{}{un & deux & trois} \\
+4 & \Block{}{un& deux & trois & quatre} \\
+5 & \Block{}{un & deux & trois & quatre & cinq} \\
+\end{NiceTabular}
+
+
+
+
+As we can see, the blocks (which was are in fact mono-cell blocks) are divided
+into sub-blocks of the same size. However, maybe the following code would be prefered.
+
+\medskip
+\begin{Code}[width=85mm]
+\begin{NiceTabular}{lccccc}%
+ [hvlines,ampersand-in-blocks]
+ & \Block{1-5}{the five first
+ natural numbers} \\
+3 & \Block{1-5}{one & two & three} \\
+4 & \Block{1-5}{one& two & three & four} \\
+5 & one & two & three & four & five \\
+\end{NiceTabular}
+\end{Code}
+%
+\begin{NiceTabular}{lccccc}%
+ [hvlines,ampersand-in-blocks]
+ & \Block{1-5}{the five first natural numbers} \\
+3 & \Block{1-5}{one & two & three} \\
+4 & \Block{1-5}{one& two & three & four} \\
+5 & one & two & three & four & five \\
+\end{NiceTabular}
+
+\medskip
+In this code, we have blocks of size |1-5| which are divided into three or four
+sub-blocks.
+
+
+
\index{Blocks@\textbf{Blocks in the tabulars}|)}
@@ -1264,7 +1359,7 @@ argument between square brackets for the characteristics of the rule.
\medskip
\begin{Code}[width=10cm]
-\begin{NiceTabular}{|c\emph{|[color=blue]}c|}
+\begin{NiceTabular}{ | c \emph{|[color=blue]} c |}
\Hline
a & b \\
\emph{\Hline[color=red]}
@@ -1543,19 +1638,19 @@ individual environments. That key takes in as argument a list of
will be used to use that new type of rule.
\begin{itemize}
-\item the key |command| is the name (without the backslash) of a command that
-will be created by \pkg{nicematrix} and that will be available for the final
-user in order to draw horizontal rules (similarly to |\hline|);
-
-\item the key |ccommand| is the name (without the backslash) of a command
-that will be created by \pkg{nicematrix} and that will be available for the
-final user to order to draw partial horizontal rules (similarly to |\cline|,
-hence the name |ccommand|): the argument of that command is a list of
-intervals of columns specified by the syntax~$i$ or $i$-$j$.\footnote{It's
-recommended to use such commands only once in a row because each use will
-create space between the rows corresponding to the total width of the rule.}
-
-\item the key |letter| takes in as argument a letter\footnote{The following
+\item the key \Definition{command} is the name (without the backslash) of a
+command that will be created by \pkg{nicematrix} and that will be available for
+the final user in order to draw horizontal rules (similarly to |\hline|);
+
+\item the key \Definition{ccommand} is the name (without the backslash) of a
+command that will be created by \pkg{nicematrix} and that will be available for
+the final user to order to draw partial horizontal rules (similarly to |\cline|,
+hence the name |ccommand|): the argument of that command is a list of intervals
+of columns specified by the syntax~$i$ or $i$-$j$.\footnote{It's recommended to
+ use such commands only once in a row because each use will create space
+ between the rows corresponding to the total width of the rule.}
+
+\item the key \Definition{letter} takes in as argument a letter\footnote{The following
letters are forbidden: \verb+lcrpmbVX|()[]!@<>+} that the user will use in
the preamble of an environment with preamble (such as |{NiceTabular}| in order
to specify a vertical rule.
@@ -1580,14 +1675,15 @@ inter-rule space (as possible with \pkg{colortbl} for instance).
\index{multiplicity (key of ``custom-line'')}
\index{color!key of ``custom-line''}
\index{sep-color (key of ``custom-line'')}
-\item the key |multiplicity| is the number of consecutive rules that will be
-drawn: for instance, a value of $2$ will create double rules such those
+\item the key \Definition{multiplicity} is the number of consecutive rules that
+will be drawn: for instance, a value of $2$ will create double rules such those
created by |\hline\hline| or \verb+||+ in the preamble of an environment;
-\item the key |color| sets the color of the rules ;
+\item the key \Definition{color} sets the color of the rules ;
-\item the key |sep-color| sets the color between two successive rules (should be
-used only in conjonction with |multiplicity|).
+\item the key \Definition{sep-color} sets the color between two successive rules
+(should be used only in conjonction with |multiplicity|). The name of that key
+is inspired by the command |\doublerulesepcolor| of \pkg{colortbl}.
\end{itemize}
\medskip
@@ -1625,15 +1721,60 @@ Product C & 5 & 4 & 1 \\
\bigskip
+The key |sep-color| with the value |white| may also be used in case of an
+horizontal double-rule on the top of a colored cell (if we want the space
+between both rules above the cell not colored by the color of the cell).
+
+\begin{scope}
+\NiceMatrixOptions
+ {
+ custom-line =
+ {
+ command = DoubleRule ,
+ multiplicity = 2 ,
+ sep-color = white
+ }
+ }
+
+
+\begin{Code}[width=10cm]
+\NiceMatrixOptions
+ {
+ custom-line =
+ {
+ command = DoubleRule ,
+ multiplicity = 2 ,
+ \emph{sep-color = white}
+ }
+ }
+
+\begin{NiceTabular}{ccc}[color-inside]
+one & two & three \\
+\emph{\DoubleRule}
+four & \cellcolor{yellow} five & six \\
+\end{NiceTabular}
+\end{Code}
+\begin{NiceTabular}{ccc}[color-inside]
+one & two & three \\
+\DoubleRule
+four & \cellcolor{yellow} five & six \\
+\end{NiceTabular}
+
+\end{scope}
+
+
+
+
+\bigskip
\item \emph{Second possibility}\par\nobreak
\index{tikzz@tikz!key of ``custom-line''}
\index{total-width (key of ``custom-line'')}
-It's possible to use the key |tikz| (if TikZ is loaded). In that case, the
-rule is drawn directly with TikZ by using as parameters the value of the key
-|tikz| which must be a list of \textsl{key=value} pairs which may be applied
-to a TikZ path.
+It's possible to use the key \Definition{tikz} (if TikZ is loaded). In that
+case, the rule is drawn directly with TikZ by using as parameters the value of
+the key |tikz| which must be a list of \textsl{key=value} pairs which may be
+applied to a TikZ path.
By default, no space is reserved for the rule that will be drawn with TikZ. It
is possible to specify a reservation (horizontal for a vertical rule and
@@ -1682,7 +1823,7 @@ seven & eight & nine
\end{scope}
\bigskip
-\item \emph{Third possibility} : the key |dotted|
+\item \emph{Third possibility} : the key \Definition{dotted}
\label{dotted}
\index{dotted (key of ``custom-line'')}
\indexcommand{hdottedline}
@@ -1696,15 +1837,15 @@ value of the key |total-width| is, in this case, equal to the diameter of the do
dotted rules are also used by \pkg{nicematrix} to draw continuous dotted rules
between cells of the matrix with |\Cdots|, |\Vdots|, etc. (cf. p.~\pageref{Cdots}).
-In fact, \pkg{nicematrix} defines by default the commands |\hdottedline| and
-|\cdottedline |and the letter ``|:|'' for those dotted
-rules.\footnote{However, it's possible to overwrite those definitions with a
-|custom-line| (in order, for example, to switch to dashed lines).}
+In fact, \pkg{nicematrix} defines by default the commands
+\Definition{hdottedline} and \Definition{cdottedline} and the letter ``|:|'' for
+those dotted rules.\footnote{However, it's possible to overwrite those
+ definitions with a |custom-line| (in order, for example, to switch to dashed
+ lines).}
\smallskip
\begin{Code}
-
-\NiceMatrixOptions % \textsl{present in nicematrix.sty}
+\NiceMatrixOptions \emph{% \textsl{present in nicematrix.sty}}
{
custom-line =
{
@@ -2453,14 +2594,13 @@ Dupont & Chantal & 15 janvier 1998 \\
\end{center}
\bigskip
-\colorbox{yellow!50}{\textbf{New 6.25}}\enskip Each use of the command
-|\rowlistcolors| (or |\rowcolors|, which is, in fact, a special case of
-|\rowlistcolors|) stops the potential coloring schemes\footnote{We say
- \emph{schemes} in plural form because it's possible to start simultaneously
- several coloring schemes if they apply on different columns.} specified by a
-previous command |\rowlistcolors|. In particular, it's possible to start
-coloring the rows with |\rowlistcolors{...}| and stop coloring by a command
-|\rowlistcolors| with an empty argument.
+Each use of the |\rowlistcolors| (or |\rowcolors|, which is, in fact, a
+special case of |\rowlistcolors|) stops the potential coloring
+schemes\footnote{We say \emph{schemes} in plural form because it's possible to
+ start simultaneously several coloring schemes if they apply on different
+ columns.} specified by a previous command |\rowlistcolors|. In particular,
+it's possible to start coloring the rows with |\rowlistcolors{...}| and stop
+coloring by a command |\rowlistcolors| with an empty argument.
\bigskip
\begin{Code}[width=10cm]
@@ -2493,10 +2633,9 @@ seven \\
\index{nocolor}
-\colorbox{yellow!50}{\textbf{New 6.26}}\enskip The extension \pkg{nicematrix}
-provides the special color |nocolor| which may be used in all the coloring
-commands provided by \pkg{nicematrix} (in the |\CodeBefore| or the array
-itself).
+The extension \pkg{nicematrix} provides the special color |nocolor| which may be
+used in all the coloring commands provided by \pkg{nicematrix} (in the
+|\CodeBefore| or the array itself).
The cells marked by this color won't be colored, whatever the other instructions
of coloring which may apply to these cells.
@@ -2686,7 +2825,7 @@ $\begin{array}{c}
\end{bNiceMatrix} \\ \\
\begin{bNiceMatrix}
1 & 1245345 \\ 345 & 2
-\end{bNiceMatrix}
+\end{bNiceMatrix} \\
\end{array}$
\emph{\end{NiceMatrixBlock}}
\end{Code}
@@ -2697,7 +2836,7 @@ $\begin{array}{c}
\end{bNiceMatrix} \\ \\
\begin{bNiceMatrix}
1 & 1245345 \\ 345 & 2
-\end{bNiceMatrix}
+\end{bNiceMatrix} \\
\end{array}$
\end{NiceMatrixBlock}
@@ -4198,9 +4337,8 @@ $\begin{pNiceMatrix}
\index{empty (key of \texttt{\textbackslash TikzEveryCell})}
\index{non empty (key of \texttt{\textbackslash TikzEveryCell})}
-
-\colorbox{yellow!50}{\textbf{New 6.24}}\enskip The command |\TikzEveryCell|
-execute with TikZ the rectangular path corresponding to each cell of the tabular
+The command |\TikzEveryCell|
+executes with TikZ the rectangular path corresponding to each cell of the tabular
with parameters of TikZ the argument of |\TikzEveryCell|. That argument must be
a list of \textsl{key=value} pairs which may be applied to a TikZ path. In fact,
the command applies to each of the tabular, except those in the exterior rows
@@ -4390,12 +4528,10 @@ space at all between them}, the labels of the corresponding notes are composed
together, separated by commas (this is similar to the option |multiple| of
\pkg{footmisc} for the footnotes).
-\item If a command |\tabularnote{...}| is exactly at the end of a cell (with
-no space at all after), the label of the note is composed in an overlapping
-position (towards the right). This structure may provide a better alignment of
-the cells of a given column. However, since the version 6.20a, that behaviour is
-in force only when the horizontal alignment mode of the corresponding column is
-|c| or |r|.
+\item If a command |\tabularnote{...}| is exactly at the end of a cell (with no
+space at all after) and if the alignment mode of the column is |c| or |r|, the
+label of the note is composed in an overlapping position (towards the right).
+This structure may provide a better alignment of the cells of a given column.
\item If the key |notes/para| is used, the notes are composed at the end of
the array in a single paragraph (as with the key |para| of \pkg{threeparttable}).
@@ -5089,9 +5225,9 @@ environment of LaTeX which only put TeX commands before and after the content.}
\medskip
\index{light-syntax-expanded}
-\colorbox{yellow!50}{\textbf{New 6.27}}\enskip The key |light-syntax-expanded|
-has the same behaviour as the key |light-syntax| but the body of the
-environment is expanded (in the TeX sens\footnote{More precisely, it's a
+
+The key |light-syntax-expanded| has the same behaviour as the key |light-syntax|
+but the body of the environment is expanded (in the TeX sens\footnote{More precisely, it's a
expansion of type |e| of L3.}) before being splitted in lines (but
after the extraction of a potential |\CodeAfter|).
@@ -5217,8 +5353,8 @@ counter).
\smallskip
\index{name!key for an environment}
-However, it's advisable to use instead the key |name|\footnote{Since the version
- 6.20a, the value of that key is \emph{expanded} (in the TeX sens).}. This key
+However, it's advisable to use instead the key |name|\footnote{The value of the
+key |name| is \emph{expanded} (in the TeX sens).}. This key
gives a name to the current environment. When the environment has a name, the
nodes are accessible with the name ``\textsl{name}-$i$-$j$'' where \textsl{name}
is the name given to the array and $i$ and $j$ the numbers of row and column.
@@ -5649,9 +5785,14 @@ The package \pkg{nicematrix} creates a PGF/TikZ node merely called $i$ (with
the classical prefix) at the intersection of the horizontal rule of number~$i$
and the vertical rule of number~$i$ (more specifically the potential position
of those rules because maybe there are not actually drawn). The last node has
-also an alias called |last|. There is also a node called $i$|.5| midway
-between the node $i$ and the node $i+1$.
+also an alias called |last|.
+
+\smallskip
+\colorbox{yellow!50}{\bfseries Modification 6.28}\enskip There are also nodes
+called $i$|.1|, $i$|.2|, … , $i$|.9| between the node~$i$ and the node~$i+1$
+(before the version 6.28, there was only the node $i$|.5|).
+\smallskip
These nodes are available in the |\CodeBefore| and the |\CodeAfter|.
\begin{center}
@@ -6054,10 +6195,20 @@ environments of \pkg{nicematrix} are not affected).
\index{Incompatibilities}
The package \pkg{nicematrix} is not compatible with the class \cls{ieeeaccess}
-(because that class is not compatible with PGF/TikZ).\footnote{See
- \url{https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class}}
+because that class is not compatible with PGF/TikZ. However, there is a simple
+workaround by writing:\footnote{See
+ \url{https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class}}\par\nobreak
+
+\begin{Code}
+\let\TeXyear\year
+\documentclass{IEEEaccess}
+\let\year\TeXyear
+\end{Code}
+
+
\bigskip
+% the following requirement is still in force on April 23, 2024
In order to use \pkg{nicematrix} with the class \cls{aastex631}
(of the \emph{American Astronomical Society}), you have to
add the following lines in the preamble of your document :
@@ -6089,7 +6240,7 @@ may be wrong in some circonstances.
\bigskip
The package \pkg{nicematrix} is not fully compatible with the package
\pkg{arydshln} (because this package redefines many internals of \pkg{array})
-and does support the columns~|V| of \pkg{boldline} (because the letter |V| is
+and does not support the columns~|V| of \pkg{boldline} (because the letter |V| is
reserved for the columns~|V| of \pkg{varwidth}). By any means, \pkg{nicematrix}
provides, with the key |custom-line| (cf. part~\ref{custom-line},
p.~\pageref{custom-line}), tools to draw dashed rules and rules of different
@@ -6621,7 +6772,7 @@ with the environment |{NiceMatrixBlock}| and its option |auto-columns-width|.
last-col, code-for-last-col = \color{blue}\scriptstyle,
vlines = 5 ,
matrix/columns-type = r ,
- no-cell-nodes
+ no-cell-nodes % only for speedup
}
\setlength{\extrarowheight}{1mm}
@@ -6720,7 +6871,7 @@ composed with the maximal width, thanks to the boolean key
last-col, code-for-last-col = \color{blue}\scriptstyle,
vlines = 5 ,
matrix/columns-type = r ,
- no-cell-nodes
+ no-cell-nodes % only for speedup
}
\setlength{\extrarowheight}{1mm}
@@ -6933,14 +7084,14 @@ the command |\Block| is left empty, that means that the block is a mono-cell blo
\begin{Code}
-$\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue]
+$\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue,no-cell-nodes]
\emph{\Block[draw]{}{a_{11}}} & a_{12} & a_{13} & a_{14} \\
a_{21} & \Block[draw]{}{a_{22}} & a_{23} & a_{24} \\
a_{31} & a_{32} & \Block[draw]{}{a_{33}} & a_{34} \\
a_{41} & a_{42} & a_{43} & \Block[draw]{}{a_{44}} \\
\end{pNiceArray}$
\end{Code}
-\[\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue]
+\[\begin{pNiceArray}{>{\strut}cccc}[margin,rules/color=blue,no-cell-nodes]
\Block[draw]{}{a_{11}} & a_{12} & a_{13} & a_{14} \\
a_{21} & \Block[draw]{}{a_{22}} & a_{23} & a_{24} \\
a_{31} & a_{32} & \Block[draw]{}{a_{33}} & a_{34} \\
@@ -6966,7 +7117,8 @@ used−even when \pkg{colortbl} is not loaded).
\medskip
\begin{Code}
-\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside]
+\begin{pNiceArray}{>{\strut}cccc}% <-- % mandatory
+ [margin, extra-margin=2pt,color-inside,no-cell-nodes]
\emph{\rowcolor{red!15}}A_{11} & A_{12} & A_{13} & A_{14} \\
A_{21} & \emph{\rowcolor{red!15}}A_{22} & A_{23} & A_{24} \\
A_{31} & A_{32} & \emph{\rowcolor{red!15}}A_{33} & A_{34} \\
@@ -6974,7 +7126,7 @@ used−even when \pkg{colortbl} is not loaded).
\end{pNiceArray}
\end{Code}
-\[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside]
+\[\begin{pNiceArray}{>{\strut}cccc}[margin, extra-margin=2pt,color-inside,no-cell-nodes]
\rowcolor{red!15}A_{11} & A_{12} & A_{13} & A_{14} \\
A_{21} & \rowcolor{red!15}A_{22} & A_{23} & A_{24} \\
A_{31} & A_{32} & \rowcolor{red!15}A_{33} & A_{34} \\
@@ -7281,7 +7433,16 @@ The successive versions of the file |nicematrix.sty| provided by TeXLive are ava
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
-\subsection*{Changes between version 6.25 and 6.26}
+\subsection*{Changes between version 6.27 and 6.28}
+
+Sub-blocks with the character |&| (when the key |ampersand-in-block| is in
+force).
+
+Keys |p| and |j| for the command |\Block|.
+
+PGF nodes i.1, i.2, i.3, etc.
+
+\subsection*{Changes between version 6.26 and 6.27}
New key |light-syntax-expanded|.
@@ -7642,305 +7803,6 @@ Command |\Vdotsfor| similar to |\Hdotsfor|
The variable |\g_nicematrix_code_after_tl| is now public.
-\subsection*{Changes between versions 4.4 and 5.0}
-
-Use of the standard column types |l|, |c| and |r| instead of |L|, |C| and |R|.
-
-It's now possible to use the command |\diagbox| in a |\Block|.
-
-Command |\tabularnote|
-
-\subsection*{Changes between versions 4.3 and 4.4}
-
-New key |hvlines-except-corners| (now deprecated).
-
-\subsection*{Changes between versions 4.2 and 4.3}
-
-The horizontal centering of the content of a |\Block| is correct even when an
-instruction such as |!{\qquad}| is used in the preamble of the array.
-
-It's now possible to use the command |\Block| in the ``last row''.
-
-\subsection*{Changes between versions 4.1 and 4.2}
-
-It's now possible to write |\begin{pNiceMatrix}a&b\\c&d\end{pNiceMatrix}^2|
-with the expected result.
-
-\subsection*{Changes between versions 4.0 and 4.1}
-
-New keys |cell-space-top-limit| and |cell-space-bottom-limit|
-
-New command |\diagbox|
-
-The key |hvline| don't draw rules in the blocks (commands |\Block|) and in the
-virtual blocks corresponding to the dotted lines.
-
-\subsection*{Changes between versions 3.15 and 4.0}
-
-New environment |{NiceTabular}|
-
-Commands to color cells, rows and columns with a perfect result in the \textsc{pdf}.
-
-\subsection*{Changes between versions 3.14 and 3.15}
-
-It's possible to put labels on the dotted lines drawn by |\Ldots|, |\Cdots|,
-|\Vdots|, |\Ddots|, |\Iddots|, |\Hdotsfor| and the command |\line| in the
-|code-after| with the tokens |_| and |^|.
-
-The option |baseline| is now available in all the environments of
-\pkg{nicematrix}. Before, it was available only in |{NiceArray}|.
-
-New keyword |\CodeAfter| (in the environments of \pkg{nicematrix}).
-
-\subsection*{Changes between versions 3.13 and 3.14}
-
-Correction of a bug (question 60761504 on |stackoverflow|).
-
-Better error messages when the user uses |&| or |\\| when |light-syntax| is in
-force.
-
-\subsection*{Changes between versions 3.12 and 3.13}
-
-The behaviour of the command |\rotate| is improved when used in the ``last
-row''.
-
-The option |dotted-lines-margin| has been renamed in |xdots/shorten| and the
-options |xdots/color| and |xdots/line-style| have been added for a complete
-customisation of the dotted lines.
-
-In the environments without preamble (|{NiceMatrix}|, |{pNiceMatrix}|, etc.),
-it's possible to use the options |l| (=|L|) or |r| (=|R|) to specify the type
-of the columns.
-
-The code of \pkg{nicematrix} no longer uses TikZ but only \textsc{pgf}. By
-default, TikZ is \emph{not} loaded by \pkg{nicematrix}.
-
-\subsection*{Changes between versions 3.11 and 3.12}
-
-Command |\rotate| in the cells of the array.
-
-Options |vlines|, |hlines| and |hvlines|.
-
-Option |baseline| pour |{NiceArray}| (not for the other environments).
-
-The name of the TikZ nodes created by the command |\Block| has changed: when
-the command has been issued in the cell $i$|-|$j$, the name is
-$i$|-|$j$|-block| and, if the creation of the ``medium nodes'' is required, a
-node $i$|-|$j$|-block-medium| is created.
-
-If the user tries to use more columns than allowed by its environment, an error
-is raised by nicematrix (instead of a low-level error).
-
-The package must be loaded with the option |obsolete-environments| if we want
-to use the deprecated environments.
-
-\subsection*{Changes between versions 3.10 and 3.11}
-
-Correction of a bug linked to |first-row| and |last-row|.
-
-\subsection*{Changes between version 3.9 and 3.10}
-
-New option |light-syntax| (and |end-of-row|).
-
-New option |dotted-lines-margin| for fine tuning of the dotted lines.
-
-\subsection*{Changes between version 3.8 and 3.9}
-
-New commands |\NiceMatrixLastEnv| and |\OnlyMainNiceMatrix|.
-
-New options |create-medium-nodes| and |create-large-nodes|.
-
-\subsection*{Changes between version 3.7 and 3.8}
-
-New programmation for the command |\Block| when the block has only one row.
-With this programmation, the vertical rules drawn by the specifier
-``\verb+|+'' at the end of the block is actually drawn. In previous versions,
-they were not because the block of one row was constructed with
-|\multicolumn|.
-
-An error is raised when an obsolete environment is used.
-
-\subsection*{Changes between version 3.6 and 3.7}
-
-The four ``corners'' of the matrix are correctly protected against the four
-codes: |code-for-first-col|, |code-for-last-col|, |code-for-first-row| and
-|code-for-last-row|.
-
-New command |\pAutoNiceMatrix| and its variants (suggestion of Christophe
-Bal).
-
-\subsection*{Changes between version 3.5 and 3.6}
-
-LaTeX counters |iRow| and |jCol| available in the cells of the array.
-
-Addition of |\normalbaselines| before the construction of the array: in
-environments like |{align}| of \pkg{amsmath} the value of |\baselineskip| is
-changed and if the options |first-row| and |last-row| were used in an
-environment of \pkg{nicematrix}, the position of the delimiters was wrong.
-
-A warning is written in the |.log| file if an obsolete environment is used.
-
-There is no longer artificial errors |Duplicate~name| in the environments of
-\pkg{amsmath}.
-
-\subsection*{Changes between version 3.4 and 3.5}
-
-Correction on a bug on the two previous versions where the |code-after| was
-not executed.
-
-\subsection*{Changes between version 3.3 and 3.4}
-
-Following a discussion on TeX StackExchange\footnote{cf.
-|tex.stackexchange.com/questions/510841/nicematrix-and-tikz-external-optimize|},
-optimization of TikZ externalization is disabled in the environments of
-\pkg{nicematrix} when the class \cls{standalone} or the package
-\pkg{standalone} is used.
-
-\subsection*{Changes between version 3.2 and 3.3}
-
-The options |first-row|, |last-row|, |first-col| and |last-col| are now
-available in the environments |{NiceMatrix}|, |{pNiceMatrix}|,
-|{bNiceMatrix}|, etc.
-
-The option |columns-width=auto| doesn't need any more a second compilation.
-
-\subsection*{Changes between version 3.1 and 3.2 (and 3.2a)}
-
-Option |small|.
-
-\subsection*{Changes between version 3.0 and 3.1}
-
-Command |\Block| to draw block matrices.
-
-Error message when the user gives an incorrect value for |last-row|.
-
-The vertical rules in the matrices (drawn by ``\verb+|+'') are now compatible with
-the color fixed by \pkg{colortbl}.
-
-Correction of a bug: it was not possible to use the colon ``|:|'' in the
-preamble of an array when |pdflatex| was used with \pkg{french-babel} (because
-\pkg{french-babel} activates the colon in the beginning of the document).
-
-\subsection*{Changes between version 2.3 and 3.0}
-
-Modification of |\Hdotsfor|. Now |\Hdotsfor| erases the |\vlines| (of ``\verb+|+'')
-as |\hdotsfor| does.
-
-Composition of exterior rows and columns on the four sides of the matrix (and
-not only on two sides) with the options |first-row|, |last-row|, |first-col|
-and |last-col|.
-
-\subsection*{Changes between version 2.2.1 and 2.3}
-
-Compatibility with the column type |S| of \pkg{siunitx}.
-
-Option |hlines|.
-
-\subsection*{Changes between version 2.2 and 2.2.1}
-
-Improvment of the vertical dotted lines drawn by the specifier ``:'' in the
-preamble.
-
-Modification of the position of the dotted lines drawn by |\hdottedline|.
-
-\subsection*{Changes between version 2.1.5 and 2.2}
-
-Possibility to draw horizontal dotted lines to separate rows with the command
-|\hdottedline| (similar to the classical command |\hline| and the command
-|\hdashline| of \pkg{arydshln}).
-
-Possibility to draw vertical dotted lines to separate columns with the
-specifier ``|:|'' in the preamble (similar to the classical specifier
-``\verb+|+'' and the specifier ``|:|'' of \pkg{arydshln}).
-
-\subsection*{Changes between version 2.1.4 and 2.1.5}
-
-Compatibility with the classes \cls{revtex4-1} and \cls{revtex4-2}.
-
-Option |allow-duplicate-names|.
-
-\subsection*{Changes between version 2.1.3 and 2.1.4}
-
-Replacement of some options |O { }| in commands and environments defined with
-\pkg{xparse} by |! O { }| (because a recent version of \pkg{xparse} introduced
-the specifier |!| and modified the default behaviour of the last optional
-arguments).
-
-See |www.texdev.net/2018/04/21/xparse-optional-arguments-at-the-end|
-
-\subsection*{Changes between version 2.1.2 and 2.1.3}
-
-When searching the end of a dotted line from a command like |\Cdots| issued in
-the ``main matrix'' (not in the exterior column), the cells in the exterior
-column are considered as outside the matrix. That means that it's possible to
-do the following matrix with only a |\Cdots| command (and a single |\Vdots|).
-\[\begin{pNiceArray}{Wc{5mm}cWc{5mm}}[first-row,last-col]
-& C_j & \\
-\mbox{\Large $0$} & \Vdots & \mbox{\Large $0$} \\
-\strut & a & \Cdots & L_i \\
-\mbox{\Large $0$} & & \mbox{\Large $0$} \\
-\end{pNiceArray}\]
-
-\subsection*{Changes between version 2.1 and 2.1.1}
-
-Small corrections: for example, the option |code-for-first-row| is now
-available in the command |\NiceMatrixOptions|.
-
-Following a discussion on
-TeX StackExchange\footnote{cf.
-|tex.stackexchange.com/questions/450841/tikz-externalize-and-nicematrix-package|},
-TikZ externalization is now deactivated in the environments of the
-package \pkg{nicematrix}.\footnote{Before this version, there was an error
-when using \pkg{nicematrix} with TikZ externalization. In any case, it's not
-possible to externalize the TikZ elements constructed by \pkg{nicematrix}
-because they use the options |overlay| and |remember picture|.}
-
-\subsection*{Changes between version 2.0 and 2.1}
-
-New implementation of the environment |{pNiceArrayRC}|. With this new
-implementation, there is no restriction on the width of the columns.
-
-The package \pkg{nicematrix} no longer loads \pkg{mathtools} but only
-\pkg{amsmath}.
-
-Creation of ``medium nodes'' and ``large nodes''.
-
-\subsection*{Changes between version 1.4 and 2.0}
-
-The versions 1.0 to 1.4 of \pkg{nicematrix} were focused on the continuous
-dotted lines whereas the version 2.0 of \pkg{nicematrix} provides different
-features to improve the typesetting of mathematical matrices.
-
-\subsection*{Changes between version 1.3 and 1.4}
-
-The column types |w| and |W| can now be used in the environments
-|{NiceArray}|, |{pNiceArrayC}| and its variants with the same meaning as in
-the package \pkg{array}.
-
-New option |columns-width| to fix the same width for all the columns of the
-array.
-
-\subsection*{Changes between version 1.2 and 1.3}
-
-New environment |{pNiceArrayC}| and its variants.
-
-Correction of a bug in the definition of |{BNiceMatrix}|, |{vNiceMatrix}| and
-|{VNiceMatrix}| (in fact, it was a typo).
-
-Options are now available locally in |{pNiceMatrix}| and its variants.
-
-The names of the options are changed. The old names were names in ``camel
-style''.
-
-\subsection*{Changes between versions 1.1 and 1.2}
-
-New environment |{NiceArray}| with column types |L|, |C| and |R|.
-
-\subsection*{Changes between versions 1.0 and 1.1}
-
-The dotted lines are no longer drawn with TikZ nodes but with TikZ circles
-(for efficiency).
-
\cleardoublepage
diff --git a/macros/latex/contrib/orcidlink/README.md b/macros/latex/contrib/orcidlink/README.md
index 272e3f9bee..1437e05f4c 100644
--- a/macros/latex/contrib/orcidlink/README.md
+++ b/macros/latex/contrib/orcidlink/README.md
@@ -1,7 +1,14 @@
# orcidlink-LaTeX-command
LaTeX style file to add a macro for inserting a linked ORCiD logo
-This LaTeX style file just defines a single macro, `\orcidlink`. The code is from [this TeX.SE answer](https://tex.stackexchange.com/a/445583/34063). My contribution was wrapping it into a style file (and improving the fragility of the command a bit).
+This LaTeX style file defines `\orcidlink` and a few related macros.
+The code is from [this TeX.SE
+answer](https://tex.stackexchange.com/a/445583/34063). I wrapped it
+into a style file and improved the fragility of the command a bit.
+Later (at the suggestion of Hugo Heagren) we added the `\orcidlogo`
+command, and commands for the three recommended formats: full,
+compact, and inline, with commands `\orcidlinkf`, `\orcidlinkc`, and
+`\orcidlinki`.
Installation
------------
@@ -30,6 +37,14 @@ When you want to insert the hyperlinked ORCiD logo, use `\orcidlink{0000-0000-00
This will appear as a clickable hyperlink, and will look like this:
![Author LaTeX render preview image](https://raw.githubusercontent.com/duetosymmetry/orcidlink-LaTeX-command/f03c85cd9fe3e40bec5f51b1319b0e9ab30c2e09/preview.png)
+If you simply want the ORCiD logo without a hyperlink anywhere, use
+`\orcidlogo`.
+
+ORCiD’s [guidelines](https://info.orcid.org/brand-guidelines/)
+recommend three formats: full, compact, and inline. The three formats
+are available, through `\orcidlinkf{orcid}`, `\orcidlinkc{orcid}`, and
+`\orcidlinki{Name}{orcid}`.
+
Dependancies and Compatibility
------------------------------
@@ -49,6 +64,6 @@ Credits
The original TikZ icon code was created by user [Milo on
TeX.SE](https://tex.stackexchange.com/users/128068/milo).
This package was created and is maintained by [Leo
-C. Stein](http://duetosymmetry.com/), (c) 2019-2023.
+C. Stein](http://duetosymmetry.com/), (c) 2019-2024.
This material is subject to the [LaTeX Project Public License
1.3c](https://www.ctan.org/license/lppl1.3).
diff --git a/macros/latex/contrib/orcidlink/orcidlink.dtx b/macros/latex/contrib/orcidlink/orcidlink.dtx
index e096f502f6..fcc5a73176 100644
--- a/macros/latex/contrib/orcidlink/orcidlink.dtx
+++ b/macros/latex/contrib/orcidlink/orcidlink.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2019-2023 by Leo C. Stein <leo.stein@gmail.com>
+% Copyright (C) 2019-2024 by Leo C. Stein <leo.stein@gmail.com>
% ---------------------------------------------------------------------------
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -27,9 +27,12 @@
%<*driver>
\documentclass{ltxdoc}
\usepackage[dvipsnames]{xcolor}
-\usepackage{orcidlink}[2023/12/30]
-\hypersetup{colorlinks,urlcolor=NavyBlue,citecolor=NavyBlue,linkcolor=NavyBlue,pdfusetitle}
+\usepackage{orcidlink}[2024/06/25]
+\hypersetup{colorlinks,urlcolor=NavyBlue,citecolor=NavyBlue,linkcolor=NavyBlue}
+\hypersetup{pdftitle={The orcidlink package},pdfauthor={Leo C. Stein},
+ pdfsubject={-}}
\usepackage{graphicx}
+\usepackage{microtype}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -40,7 +43,7 @@
%</driver>
% \fi
%
-% \CheckSum{41}
+% \CheckSum{59}
%
% \CharacterTable
% {Upper-case \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
@@ -69,6 +72,8 @@
% working correctly with XeTeX. Thanks to Tim Henke for the bug report.}
% \changes{v1.0.5}{2023/12/30}{Turn off TikZ externalization of logos.
% Thanks to github user aquileia for the bug report.}
+% \changes{v1.1.0}{2024/06/25}{Support ORCID's three different ID
+% formats. Thanks to Hugo Heagren for suggestions.}
%
% \DoNotIndex{\newcommand,\newenvironment}
%
@@ -84,8 +89,10 @@
%
% \section{Introduction}
%
-% This is a LaTeX style file to add a macro for inserting a linked
-% ORCiD logo. The package provides exactly one command, |\orcidlink|.
+% This is a LaTeX style file providing a macro for inserting a
+% hyperlinked ORCiD logo. The package also provides three commands
+% for ORCiD's three recommended ID printing formats, and a command for
+% just the ORCiD logo, not linked to anything.
%
% \section{Usage}
%
@@ -113,6 +120,36 @@
% \includegraphics[width=0.5\textwidth]{preview}\newline{}
% The macro is used in the author line of this documentation as well.
%
+% \DescribeMacro{\orcidlogo}
+% If you simply want the ORCiD logo without a hyperlink anywhere, use
+% |\orcidlogo|.
+%
+% ORCiD's \href{https://info.orcid.org/brand-guidelines/}{guidelines}
+% recommend three formats: full, compact, and inline. The three
+% formats are available:
+% \begin{enumerate}
+% \item \DescribeMacro{\orcidlinkf\marg{orcid}} Full format. Example:
+% |\orcidlinkf{0000-0001-7559-9597}| will insert
+% \orcidlinkf{0000-0001-7559-9597}
+% \item \DescribeMacro{\orcidlinkc\marg{orcid}} Compact format.
+% Example: |\orcidlinkc{0000-0001-7559-9597}| will insert
+% \orcidlinkc{0000-0001-7559-9597}
+% \item \DescribeMacro{\orcidlinki\marg{Name}\marg{orcid}} Inline
+% format. Example: |\orcidlinki{Leo C. Stein}{0000-0001-7559-9597}|
+% will insert \orcidlinki{Leo C. Stein}{0000-0001-7559-9597}
+% \end{enumerate}
+%
+% \DescribeMacro{\orcidlinkX\marg{before}\marg{orcid}\marg{after}}
+%
+% The command |\orcidlinkX{before}{orcid}{after}| is a helper macro
+% that's used to implement all of the others. Though it is just an
+% internal helper, I saw no reason to keep it internal.
+% |\orcidlinkX{before}{orcid}{after}| results in
+% \orcidlinkX{before}{orcid}{after}. The entire output is hyperlinked
+% to the ORCiD page. There is a thin space |\,| between ``before,''
+% the logo, and ``after.'' However if ``before'' is empty, the space
+% will be omitted; similarly for ``after.''
+%
% \section{Package Compatibility}
%
% This package relies on \texttt{hyperref} and \texttt{tikz}. If you
@@ -132,10 +169,11 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{orcidlink}
- [2023/12/30 v1.0.5 Linked ORCiD logo macro package]
+ [2024/06/26 v1.1.0 Support ORCID's three different ID formats.]
-%% All I did was package up Milo's code on TeX.SE,
-%% see https://tex.stackexchange.com/a/445583/34063
+%% This started out as Milo's code on TeX.SE,
+%% see https://tex.stackexchange.com/a/445583/34063.
+%% It has since been expanded with more commands.
\RequirePackage{hyperref}
\RequirePackage{tikz}
@@ -168,18 +206,45 @@
% \end{macrocode}
%
-% \begin{macro}{\orcidlink}
+% \begin{macro}{\orcidlogo}
% \begin{macrocode}
-\DeclareRobustCommand\orcidlink[1]{%
+\newcommand{\orcidlogo}{%
\texorpdfstring{%
\setlength{\@curXheight}{\fontcharht\font`X}%
-\href{https://orcid.org/#1}{\XeTeXLinkBox{\mbox{%
+\XeTeXLinkBox{%
\@preventExternalization%
\begin{tikzpicture}[yscale=-\@OrigHeightRecip*\@curXheight,
xscale=\@OrigHeightRecip*\@curXheight,transform shape]
\pic{orcidlogo};
\end{tikzpicture}%
-}}}}{}}
+}}{}}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\orcidlinkX}
+% \begin{macrocode}
+\DeclareRobustCommand\orcidlinkX[3]{\href{https://orcid.org/#2}{%
+\ifstrempty{#1}{}{#1\,}\orcidlogo\ifstrempty{#3}{}{\,#3}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\orcidlinkf}
+% \begin{macrocode}
+\newcommand{\orcidlinkf}[1]{\orcidlinkX{}{#1}{https://orcid.org/#1}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\orcidlinkc}
+% \begin{macrocode}
+\newcommand{\orcidlinkc}[1]{\orcidlinkX{}{#1}{#1}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\orcidlinki}
+% \begin{macrocode}
+\newcommand{\orcidlinki}[2]{\orcidlinkX{#1}{#2}{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\orcidlink}
+% \begin{macrocode}
+\newcommand{\orcidlink}[1]{\orcidlinkX{}{#1}{}}
\endinput
% \end{macrocode}
diff --git a/macros/latex/contrib/orcidlink/orcidlink.ins b/macros/latex/contrib/orcidlink/orcidlink.ins
index 201841f638..bd2ce9a35c 100644
--- a/macros/latex/contrib/orcidlink/orcidlink.ins
+++ b/macros/latex/contrib/orcidlink/orcidlink.ins
@@ -1,4 +1,4 @@
-%% Copyright (C) 2019-2023 by Leo C. Stein <leo.stein@gmail.com>
+%% Copyright (C) 2019-2024 by Leo C. Stein <leo.stein@gmail.com>
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -25,7 +25,7 @@
This is a generated file.
-Copyright (C) 2019-2023 by Leo C. Stein <leo.stein@gmail.com>
+Copyright (C) 2019-2024 by Leo C. Stein <leo.stein@gmail.com>
--------------------------------------------------------------------------
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/orcidlink/orcidlink.pdf b/macros/latex/contrib/orcidlink/orcidlink.pdf
index 25ba75e856..6954b07634 100644
--- a/macros/latex/contrib/orcidlink/orcidlink.pdf
+++ b/macros/latex/contrib/orcidlink/orcidlink.pdf
Binary files differ
diff --git a/macros/latex/contrib/overarrows/README.md b/macros/latex/contrib/overarrows/README.md
index f2139d6499..a70fd1601c 100644
--- a/macros/latex/contrib/overarrows/README.md
+++ b/macros/latex/contrib/overarrows/README.md
@@ -13,11 +13,11 @@ Julien Labbé <Julien.Labbe@univ-grenoble-alpes.fr> Université Grenoble-Alpes
## Repository
-https://gricad-gitlab.univ-grenoble-alpes.fr/labbeju/latex-packages/-/tree/main/overarrows
+https://github.com/julienlabbe/latex-packages/tree/main/overarrows
## Licence
-Copyright (C) 2023 by Julien Labbé
+Copyright (C) 2023-2024 by Julien Labbé
This file may be distributed and/or modified under the conditions of the LaTeX
Project Public License (LPPL), either version 1.3c of this license or (at your
diff --git a/macros/latex/contrib/overarrows/overarrows.dtx b/macros/latex/contrib/overarrows/overarrows.dtx
index 419593f577..ff63a958c3 100644
--- a/macros/latex/contrib/overarrows/overarrows.dtx
+++ b/macros/latex/contrib/overarrows/overarrows.dtx
@@ -16,14 +16,17 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{overarrows}
%<*package>
-[2023/02/15 v1.1 Custom extensible arrows over math expressions]
+[2024/07/11 v1.2 Custom extensible arrows over math expressions]
%</package>
%
%<*driver>
\documentclass[nohyperref]{ltxdoc}
+\usepackage{metalogo}
+\usepackage{enumitem}
+\usepackage{array}
\usepackage{overarrows-doc} %^^A defined at end of this file, with guard <docstyle>
-\usepackage[old-arrows, esvect, tikz, pstarrows, allcommands]{overarrows}
+\usepackage[old-arrows, esvect, tikz, pstricks, pstarrows, allcommands]{overarrows}
\EnableCrossrefs
\PageIndex
@@ -36,8 +39,8 @@
%% Arrows used in doc
\usepackage{amssymb}% for \twoheadrightarrow
-\NewOverArrowCommand{amsoverrightarrow}{amsmath=strict, end={\rightarrow}}
-\NewOverArrowCommand{overrightnewarrow}{%
+\NewOverArrowCommand{\amsoverrightarrow}{amsmath=strict, end={\rightarrow}}
+\NewOverArrowCommand{\overrightnewarrow}{%
amsmath, middle config=relbar, end=\rightarrow,
right arrow,
}
@@ -49,22 +52,22 @@
\DeclareMathSymbol{\fldrf}{\mathrel}{esvector}{'026}
\DeclareMathSymbol{\fldrg}{\mathrel}{esvector}{'027}
\DeclareMathSymbol{\fldrh}{\mathrel}{esvector}{'030}
-\NewOverArrowCommand{esveca}{esvect=strict, end={\fldra}}
-\NewOverArrowCommand{esvecb}{esvect=strict, end={\fldrb}}
-\NewOverArrowCommand{esvecc}{esvect=strict, end={\fldrc}}
-\NewOverArrowCommand{esvecd}{esvect=strict, end={\fldrd}}
-\NewOverArrowCommand{esvece}{esvect=strict, end={\fldre}}
-\NewOverArrowCommand{esvecg}{esvect=strict, end={\fldrg}}
-\NewOverArrowCommand{esvech}{esvect=strict, end={\fldrh}}
-\NewOverArrowCommand{vva}{esvect, middle config=auto, end=\fldra}
-\NewOverArrowCommand{esvecf}{esvect=strict, end={\fldrf}}
-\NewOverArrowCommand{vvb}{esvect, middle config=auto, end=\fldrb}
-\NewOverArrowCommand{vvc}{esvect, middle config=auto, end=\fldrc}
-\NewOverArrowCommand{vvd}{esvect, middle config=auto, end=\fldrd}
-\NewOverArrowCommand{vve}{esvect, middle config=auto, end=\fldre}
-\NewOverArrowCommand{vvf}{esvect, middle config=auto, end=\fldrf}
-\NewOverArrowCommand{vvg}{esvect, middle config=auto, end=\fldrg}
-\NewOverArrowCommand{vvh}{esvect, middle config=auto, end=\fldrh}
+\NewOverArrowCommand{\esveca}{esvect=strict, end={\fldra}}
+\NewOverArrowCommand{\esvecb}{esvect=strict, end={\fldrb}}
+\NewOverArrowCommand{\esvecc}{esvect=strict, end={\fldrc}}
+\NewOverArrowCommand{\esvecd}{esvect=strict, end={\fldrd}}
+\NewOverArrowCommand{\esvece}{esvect=strict, end={\fldre}}
+\NewOverArrowCommand{\esvecg}{esvect=strict, end={\fldrg}}
+\NewOverArrowCommand{\esvech}{esvect=strict, end={\fldrh}}
+\NewOverArrowCommand{\vva}{esvect, middle config=auto, end=\fldra}
+\NewOverArrowCommand{\esvecf}{esvect=strict, end={\fldrf}}
+\NewOverArrowCommand{\vvb}{esvect, middle config=auto, end=\fldrb}
+\NewOverArrowCommand{\vvc}{esvect, middle config=auto, end=\fldrc}
+\NewOverArrowCommand{\vvd}{esvect, middle config=auto, end=\fldrd}
+\NewOverArrowCommand{\vve}{esvect, middle config=auto, end=\fldre}
+\NewOverArrowCommand{\vvf}{esvect, middle config=auto, end=\fldrf}
+\NewOverArrowCommand{\vvg}{esvect, middle config=auto, end=\fldrg}
+\NewOverArrowCommand{\vvh}{esvect, middle config=auto, end=\fldrh}
\makeatletter
\newcommand{\unsetoldarrows}{
@@ -94,7 +97,7 @@
%
% \title{The \pkg{overarrows} package\thanks{This document
% corresponds to \pkg{overarrows}~\fileversion, dated \filedate.}}
-% \author{Julien Labb\'e \\ \texttt{Julien.Labbe@univ-grenoble-alpes.fr}}
+% \author{Julien Labb\'e \\ {\small \url{https://github.com/julienlabbe/latex-packages}}}
%
% \maketitle
%
@@ -111,7 +114,7 @@
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overrightharpoon}{%
+\NewOverArrowCommand{\overrightharpoon}{%
end=\rightharpoonup
}
@@ -188,9 +191,9 @@
%
% The \pkg{overarrows} package was primitively written for vectors, but in
% a highly customisable way. It can be used to define a large variety of arrows,
-% using math symbols, or PGF/TikZ commands. It's also possible to create
-% commands that draw the arrows under. Some predefined commands are provided,
-% giving\footnotemark{}, for arrow over:
+% using math symbols, or drawing commands from PGF/TikZ or PSTricks. It's also
+% possible to create commands that draw the arrows under. Some predefined
+% commands are provided, giving\footnotemark{}, for arrow over:
% \footnotetext{Displayed here with the \refOpt{old-arrows} option.}
% \begin{align*}
% \overrightarrow{\alpha+\beta}
@@ -222,34 +225,42 @@
% above\footnotemark{}. For this second convention, \TeX/\LaTeX provides the
% command \cs{vec}, which accents its content (using the \cs{mathaccent}
% command) with the character~\symb{\mathchar "017E\relax}
-% (\cs{mathchar}|"017E| in Computer Modern font).
-% But \symb{\mathchar "017E\relax} isn't extensible, and gives: $\vec{v}$,
-% $\vec{AB}$ or $\vec{\text{grad}}$ (there's no command \cs{widevec} analogous
-% to \cs{widehat}).
+% (\cs{mathchar}|"017E| in Computer Modern font). But \symb{\mathchar
+% "017E\relax} isn't extensible\footnotemark{}, and gives: $\vec{v}$, $\vec{AB}$
+% or $\vec{\text{grad}}$ (there's no command \cs{widevec} analogous to
+% \cs{widehat}).
%
+% \addtocounter{footnote}{-2}%^^A two footnotemarks
+%
+% \stepcounter{footnote}
% \footnotetext{See, for example: International Organization for
% Standardization. (2019). \emph{Quantities and units -- Part 2: Mathematics}
% (ISO Standard No. 80000-2:2019).
% \url{https://www.iso.org/standard/64973.html}.}
%
+% \stepcounter{footnote}
+% \footnotetext{In fact, with the unicode engines \LuaTeX{} and \XeTeX{}, the
+% command \cs{Umathaccent} can now define extensible accents. This is used by
+% the \pkg{unicode-math} package, which also set the arrows displayed by \cs{vec}
+% and \cs{overrightarrow} in a coherent manner.}
+%
% An extensible alternative is given by the command \cs{overrightarrow},
% available in \TeX/\LaTeX, and which is redefined by the commonly used
% \pkg{amsmath} package. But its arrow, built with the \cs{rightarrow} symbol
-% \symb{\rightarrow}, is too large with the default \emph{Computer Modern} font:
-% $\amsoverrightarrow{AB}$. Another alternative is the \pkg{esvect} package,
-% which provides the \cs{vv} command and a set of custom arrows: $\esveca{AB}$,
-% $\esvecb{AB}$, $\esvecc{AB}$, $\esvecd{AB}$, $\esvece{AB}$, $\esvecf{AB}$,
-% $\esvecg{AB}$, $\esvech{AB}$.
+% \symb{\rightarrow}, is too large, using the default \emph{Computer Modern}
+% font: $\amsoverrightarrow{AB}$. Another alternative is the \pkg{esvect}
+% package, which provides the \cs{vv} command and a set of custom arrows:
+% $\esveca{AB}$, $\esvecb{AB}$, $\esvecc{AB}$, $\esvecd{AB}$, $\esvece{AB}$,
+% $\esvecf{AB}$, $\esvecg{AB}$, $\esvech{AB}$.
%
% \subsection{Stack and arrow macros}
%
% It's worth looking at the definition of \pkg{amsmath} \cs{overrightarrow}
-% command:
-% \iffalse
+% command: \iffalse
%<*example>
% \fi
\begin{dispListing}
- \long macro:->\mathpalette {\overarrow@ \rightarrowfill@ }
+\long macro:->\mathpalette {\overarrow@ \rightarrowfill@ }
\end{dispListing}
% \iffalse
%</example>
@@ -314,7 +325,7 @@
% The \pkg{overarrows} package also provides an alternative mechanism.
% When used, the length \cs{overarrowlength} is set, according to the arrow
% command content, and can be employed, for example, to draw arrows using
-% PGF/TikZ or the \LaTeX{} picture environment.
+% PGF/TikZ, PSTricks or the \LaTeX{} picture environment.
%
% \section{Quick start}
%
@@ -382,14 +393,13 @@
% \subsection{Commands creation}
%
% Commands are created with \refCom{NewOverArrowCommand}. This macro take two
-% mandatory arguments : the name of the command (without backslash), and the
-% arrow configuration as comma-separated list of key-values. By default, a right
-% arrow is set:
+% mandatory arguments : the name of the command and the arrow configuration as
+% comma-separated list of key-values. By default, a right arrow is set:
% \iffalse
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{myovercmd}{}
+\NewOverArrowCommand{\myovercmd}{}
$\myovercmd{test}$
\end{dispExample}
% \iffalse
@@ -417,7 +427,7 @@ $ v_{sub} \qquad \myovercmd{v}_{sub} \qquad \myovercmd*{v}_{sub} $
%<*example>
% \fi
\begin{dispListing}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
}
\end{dispListing}
@@ -436,12 +446,12 @@ $ v_{sub} \qquad \myovercmd{v}_{sub} \qquad \myovercmd*{v}_{sub} $
% \iffalse
%</example>
% \fi
-% With the previous definition, the result of the command
+% But with the previous definition, the result of the command
% \cs{overhooktwoheadrightarrow} is faulty:
% \iffalse
%<*example>
% \fi
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
}
\begin{dispExample}
@@ -459,7 +469,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
% \fi
\csundef{overhooktwoheadrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
trim start=1.5, trim end=2,
}
@@ -474,16 +484,18 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
% If the math font differs from the default \emph{Computer Modern}, the central
% part of the arrow may have inappropriate position or line width. This is
% because the default symbol used for the arrow line is \cs{relbareda}
-% \symb{\relbareda} from the \pkg{esvect} package. If needed, try to set the
-% \refKey{middle} key with the symbol \cs{relbar} \symb{\relbar}. The trimming
-% should also be adapted:
+% \symb{\relbareda} from the \pkg{esvect} package\footnote{Except if the
+% \pkg{unicode-math} package is used with a math font that provides the
+% \cs{harrowextender} symbol (see the \refKey*{middle config}|=auto| key).}.
+% If needed, try to set the \refKey{middle} key with the symbol \cs{relbar}
+% \symb{\relbar}. The trimming should also be adapted:
% \iffalse
%<*example>
% \fi
\csundef{overhooktwoheadrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
- start=\lhook, end=\twoheadrightarrow, middle=\relbar, %
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
+ start=\lhook, end=\twoheadrightarrow, middle=\relbar,
trim start=0, trim end=3, trim middle=5,
}
$ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
@@ -500,7 +512,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\TestOverArrow{overhooktwoheadrightarrow}
+\TestOverArrow{\overhooktwoheadrightarrow}
\end{dispExample}
% \iffalse
%</example>
@@ -514,7 +526,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start=\Relbar,
middle=\Relbar,
end=\Rightarrow,
@@ -535,7 +547,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
% \fi
\csundef{OverRightarrow}
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start={\smallermathstyle\Relbar},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -557,7 +569,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
% \fi
\csundef{OverRightarrow}
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start={\smallermathstyle\Relbar},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -579,7 +591,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverLeftarrow}{%
+\NewOverArrowCommand{\OverLeftarrow}{%
start={\smallermathstyle\Leftarrow},
middle={\smallermathstyle\Relbar},
end=\Relbar,
@@ -601,7 +613,7 @@ $ \OverLeftarrow{v} \qquad \OverLeftarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverLeftRightarrow}{%
+\NewOverArrowCommand{\UnderLeftRightarrow}{%
start={\smallermathstyle\Leftarrow},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -610,7 +622,7 @@ $ \OverLeftarrow{v} \qquad \OverLeftarrow{AB} $
space before arrow=0.5ex,
shift left=0, shift right=0,
}
-$ \OverLeftRightarrow{v} \qquad \OverLeftRightarrow{AB} $
+$ \UnderLeftRightarrow{v} \qquad \UnderLeftRightarrow{AB} $
\end{dispExample}
% \iffalse
%</example>
@@ -650,7 +662,7 @@ $ \tttail $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overtttailrightarrow}{%
+\NewOverArrowCommand{\overtttailrightarrow}{%
start={\tttail},
end={\rightarrow},
trim start=12,
@@ -683,7 +695,7 @@ $ \overtttailrightarrow{v} \qquad \overtttailrightarrow{AB} $
% \fi
\csundef{overtttailrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overtttailrightarrow}{%
+\NewOverArrowCommand{\overtttailrightarrow}{%
start={\vcenter{\hbox{$\smallermathstyle\tttail$}}},
end={\rightarrow},
trim start=12,
@@ -710,7 +722,7 @@ $ \overtttailrightarrow{v} \qquad \overtttailrightarrow{AB} $
\begin{dispExample}
\newcommand*{\leftarrowhead}{\usefont{U}{lasy}{m}{n}\symbol{40}}
\newcommand*{\righttarrowhead}{\usefont{U}{lasy}{m}{n}\symbol{41}}
-\NewOverArrowCommand{overrightleftarrow}{%
+\NewOverArrowCommand{\overrightleftarrow}{%
start=\text{\righttarrowhead},
end=\text{\leftarrowhead},
trim start=0.7, trim end=0.7,
@@ -751,7 +763,7 @@ $ \overrightleftarrow{AB} \qquad \scriptstyle\overrightleftarrow{AB} $
% \medskip
%
% To use PGF/TikZ language, the optional argument |tikz| must be passed to
-% \refCom{NewOverArrowCommand} . TikZ picture are not extensible. That's why the
+% \refCom{NewOverArrowCommand}. TikZ pictures are not extensible. That's why the
% \pkg{overarrows} package provides three lengths that can be used in TikZ
% commands:
% \begin{itemize}
@@ -767,7 +779,7 @@ $ \overrightleftarrow{AB} \qquad \scriptstyle\overrightleftarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{overtikzarrow}{}
+\NewOverArrowCommand[tikz]{\overtikzarrow}{}
$ \overtikzarrow{v} \qquad \overtikzarrow{AB} $
\end{dispExample}
% \iffalse
@@ -791,7 +803,7 @@ $ \overtikzarrow{v} \qquad \overtikzarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{overarchedleftrightarrow}{%
+\NewOverArrowCommand[tikz]{\overarchedleftrightarrow}{%
add tikz options={y=\overarrowlength},
add tikz options={line width={\overarrowsmallerthickness}},
path options={arrows={<[scale=0.5]->[scale=0.5]}},
@@ -807,20 +819,72 @@ $ \overarchedleftrightarrow{v} \qquad \overarchedleftrightarrow{ABCD} $
%</example>
% \fi
%
+% \subsection{Drawing the arrow with PSTricks}
+%
+% In addition to PGF/TikZ, the arrow can be drawn with PSTricks macros.
+% For this, the optional argument |pstricks| must be passed to
+% \refCom{NewOverArrowCommand}. Like with
+% |tikz|, the three lengths \refCom{overarrowlength}, \refCom{overarrowthickness}
+% and \refCom{overarrowsmallerthickness} can be used in PSTricks commands.
+% By default, a right arrow is drawn:
+% \iffalse
+%<*example>
+% \fi
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\overpstarrow}{}
+$ \overpstarrow{v} \qquad \overpstarrow{AB} $
+\end{dispExample}
+% \iffalse
+%</example>
+% \fi
+% \noindent The \pkg{pstricks} package has to be loaded (for example, using the
+% \refOpt{pstricks} option of the \pkg{overarrows} package)
+%
+% Keys to use PSTricks commands are described in section~\ref{sec:pstricks-keys},
+% page~\pageref{sec:pstricks-keys}. The main keys are \refKey{pstricks command},
+% \refKey{psset}, \refDoc{key:pstricks}{arrow}, \refDoc{key:pstricks}{geometry}
+% an \refDoc{key:pstricks}{line thickness}. Examples:
+% \iffalse
+%<*example>
+% \fi
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\overreddisks}{%
+ psset={linecolor=red}, arrow=*-*, center arrow,
+}
+$ \overreddisks{v} \qquad \overreddisks{AB} $
+\end{dispExample}
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\ellipticarrow}{%
+ pstricks command={%
+ \psellipticarcn{->}%^^A avoid space before coordinates
+ (0.5\overarrowlength,0.2\overarrowlength)%^^A avoid space before coordinates
+ (0.5\overarrowlength,0.2\overarrowlength)
+ {170}{10}
+ },
+ geometry={(0,0.2\overarrowlength)(\overarrowlength,0.4\overarrowlength)},
+ line thickness={\overarrowsmallerthickness},
+ center arrow,
+}
+$ \ellipticarrow{v} \qquad \ellipticarrow{AB} $
+\end{dispExample}
+% \iffalse
+%</example>
+% \fi
+%
% \subsection{Drawing the arrow with \LaTeX{} picture environment}
%
-% As well as TikZ, the \LaTeX{} |picture| environment can be used to draw the
-% arrow. For this, the optional argument |picture| must be passed to
-% \refCom{NewOverArrowCommand}. Like for TikZ, the three lengths
-% \refCom{overarrowlength}, \refCom{overarrowthickness} and
-% \refCom{overarrowsmallerthickness} can be used in |picture| commands.
-% By default, a right vector is drawn:
+% Without any other package, arrows can also be drawn with the \LaTeX{}
+% |picture| environment. In this case, the optional argument |picture| must be
+% passed to \refCom{NewOverArrowCommand}. As with |tikz| or |pstricks|, the
+% three lengths \refCom{overarrowlength}, \refCom{overarrowthickness} and
+% \refCom{overarrowsmallerthickness} are available and can be used in
+% |picture| drawing commands. By default, a right vector is drawn:
% \iffalse
%<*example>
% \fi
\ltxarrows%^^A classic arrows
\begin{dispExample}
-\NewOverArrowCommand[picture]{overpictarrow}{}
+\NewOverArrowCommand[picture]{\overpictarrow}{}
$ \overpictarrow{v} \qquad \overpictarrow{AB} $
\end{dispExample}
% \iffalse
@@ -835,7 +899,7 @@ $ \overpictarrow{v} \qquad \overpictarrow{AB} $
\pstarrows%^^A pst arrows
\csundef{overpictarrow}
\begin{dispExample}
-\NewOverArrowCommand[picture]{overpictarrow}{}
+\NewOverArrowCommand[picture]{\overpictarrow}{}
$ \overpictarrow{v} \qquad \overpictarrow{AB} $
\end{dispExample}
% \iffalse
@@ -844,13 +908,13 @@ $ \overpictarrow{v} \qquad \overpictarrow{AB} $
%
% Keys to use \LaTeX{} |picture| environment are described in
% section~\ref{sec:picture-keys}, page~\pageref{sec:picture-keys}. The main keys
-% are \refKey{picture command}, \refKey{geometry} an \refDoc{key:picture}{line
-% thickness}. Here is an example:
+% are \refKey{picture command}, \refDoc{key:picture}{geometry} an
+% \refDoc{key:picture}{line thickness}. Here is an example:
% \iffalse
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[picture]{overbandedarrow}{
+\NewOverArrowCommand[picture]{\overbandedarrow}{
picture command={%
\qbezier
(0.0\overarrowlength,0)
@@ -875,7 +939,6 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \subsection{Package options}
% \label{sec:package-options}
%
-%
% The \pkg{overarrows} package accepts many options, given as a comma-separated
% list \meta{options} at package loading:
% \cs{usepackage}|[|\meta{options}|]{overarrows}|.
@@ -889,7 +952,8 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \begin{docOption}{esvect}
% Loads the \pkg{esvect} package and redefines its vector commands \refCom{vv}
% through the \pkg{overarrows} mechanism. Original \pkg{esvect} \cs{vv} macro
-% is still available with \refCom{esvectvv}.
+% is still available with \refCom{esvectvv}. The \pkg{esvect} font description
+% is fixed to allow any font sizes.
%
% The \pkg{esvect} package provides the symbol \cs{relbareda} \symb{\relbareda}
% which is smaller and often more flexible than the classic one \cs{relbar}
@@ -1098,6 +1162,16 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% library are loaded independently.
% \end{docOption}
%
+% \begin{docOption}{pstricks}
+% Loads the package \pkg{pstricks-add}.
+%
+% Note that, as it, this will compile with \LaTeX{}, \LuaLaTeX{} and
+% \XeLaTeX{}, but not with \makebox{pdf\LaTeX} (see the PSTricks
+% documentation). PSTricks arrows, drawn with the |pstricks| method, are
+% always available, even if this option is not set, provided the
+% \pkg{pstricks} package is loaded independently.
+% \end{docOption}
+%
% \begin{docOption}{pstarrows}
% Loads the \pkg{pict2e} package, with its option |pstarrows|. Vectors using
% \LaTeX{} |picture| environment gives then \pstarrows$\overpictarrow{AB}$
@@ -1117,6 +1191,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \end{docOption}
%
% \begin{docOption}{subother}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to 12 (\emph{other} catcode category) the catcode of the ``|_|" symbol
% used for subscript detection, when this is enabled by the key \refKey{detect
% subscripts} (see the section~\ref{sec:non-standard-subscripts},
@@ -1124,6 +1199,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \end{docOption}
%
% \begin{docOption}{subactive}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to 13 (\emph{active} catcode category) the catcode of the ``|_|" symbol
% used for subscript detection, when this is enabled by the key \refKey{detect
% subscripts} (see the section~\ref{sec:non-standard-subscripts},
@@ -1142,45 +1218,51 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \begin{docCommands}{%
% {
% doc name=NewOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=RenewOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=ProvideOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=DeclareOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% }
-% Creates the command \cs{\meta{name}} and its starred variant
-% \cs{\meta{name}*}. The starred variant \cs{\meta{name}*} removes the extra
+% Creates the command \meta{command} and its starred variant
+% \meta{command}|*|. The starred variant \meta{command}|*| removes the extra
% end space generated by the arrow, which is suitable, as example, when
% a subscript follows.
%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% \meta{command} can be given with or without backslash (prior to the version
+% 1.2, only the name, without backslash, was accepted).
+%
% \begin{description}
-% \item[\cs{NewOverArrowCommand}] raises an error if \cs{\meta{name}} is
-% already defined.
+% \item[\cs{NewOverArrowCommand}] raises an error if \meta{command} is
+% already defined.
%
-% \item[\cs{RenewOverArrowCommand}] raises an error if \cs{\meta{name}} is undefined.
+% \item[\cs{RenewOverArrowCommand}] raises an error if \meta{command}
+% is undefined.
%
-% \item[\cs{ProvideOverArrowCommand}] sets \cs{\meta{name}} if the command is
-% undefined and does nothing if it is already defined, without raising
-% any error.
+% \item[\cs{ProvideOverArrowCommand}] sets \meta{command} if the command is
+% undefined and does nothing if it is already defined, without raising
+% any error.
%
-% \item[\cs{DeclareOverArrowCommand}] sets \cs{\meta{name}}, whether the
-% command is already defined
-% or not, without raising any error.
+% \item[\cs{DeclareOverArrowCommand}] sets \meta{command}, whether the command
+% is already defined or not, without raising any error.
% \end{description}
%
% The \meta{method} used to draw the arrow must be:
% \begin{description}
% \item[|symb|] to draw the arrow by symbols assemblage (default);
% \item[|tikz|] to draw the arrow with PGF/TikZ;
+% \item[|pstricks|] to draw the arrow with PSTricks;
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
% \item[|picture|] to draw the arrow with the \LaTeX{}
% |picture| environment.
% \end{description}
@@ -1196,7 +1278,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{myoverarrow}{arrows={Bar-Bar}, center arrow}
+\NewOverArrowCommand[tikz]{\myoverarrow}{arrows={Bar-Bar}, center arrow}
$ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
\end{dispExample}
% \iffalse
@@ -1207,19 +1289,23 @@ $ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
% \begin{docCommands}{%
% {
% doc name=TestOverArrow,
-% doc parameter=\oarg{pattern}\marg{name},
+% doc parameter=\oarg{pattern}\marg{command},
% },
% {
% doc name=TestOverArrow*,
-% doc parameter=\oarg{pattern}\marg{name},
+% doc parameter=\oarg{pattern}\marg{command},
% },
% }
-% Displays the result of the command \meta{name} for patterns of various
+% Displays the result of the command \meta{command} for patterns of various
% lengths and for the four math styles. A custom \meta{pattern} can be added
% to the predefined ones.
%
% The starred variant \cs{TestOverArrow*} displays a full report, including
-% kerning tests of the commands \cs{\meta{name}} and \cs{\meta{name}*} .
+% kerning tests of the commands \meta{command} and \meta{command}|*|.
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% \meta{command} can be given with or without backslash (prior to the version
+% 1.2, only the name, without backslash, was accepted).
%
% \iffalse
%<*example>
@@ -1261,9 +1347,9 @@ $ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
% \begin{docCommand}{smallermathstyle}{}
% Applies the next math style, smaller than the current. That is:
% \begin{itemize}
-% \item sets \cs{scriptstyle} if the current math style is \cs{displaystyle}
+% \item uses \cs{scriptstyle} if the current math style is \cs{displaystyle}
% or \cs{textstyle};
-% \item sets \cs{scriptscriptstyle} if the current math style is
+% \item uses \cs{scriptscriptstyle} if the current math style is
% \cs{scriptstyle};
% \item does nothing if the current math style is \cs{scriptscriptstyle}.
% \end{itemize}
@@ -1283,19 +1369,20 @@ $ \displaystyle AB \quad \smallermathstyle AB
%
% \end{docCommand}
%
-% \subsubsection{Useful lengths for TikZ or \texttt{picture} environment}
+% \subsubsection{Useful lengths for TikZ, PSTricks or \texttt{picture} environment}
%
-% Arrows drawn with graphic languages, like PGF/TikZ or the \LaTeX{} |picture|
-% environment, are not extensible. The three lengths \refLen*{overarrowlength},
-% \refLen*{overarrowthickness} and \refLen*{overarrowsmallerthickness} are
-% computed at each utilisation of a command set with the |tikz| or |picture|
-% method, so they can be used in drawing commands.
+% Arrows drawn with graphic languages, like PGF/TikZ, PSTricks or the \LaTeX{}
+% |picture| environment, are not extensible. The three lengths
+% \refLen*{overarrowlength}, \refLen*{overarrowthickness} and
+% \refLen*{overarrowsmallerthickness} are computed at each utilisation of
+% a command set with the |tikz|, |pstricks| or |picture| method, so they can be
+% used in drawing commands.
%
% \iffalse
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand[tikz]{overparabola}{%
+\NewOverArrowCommand[tikz]{\overparabola}{%
path options={x=\overarrowlength, line width=\overarrowsmallerthickness},
path={(0,0) parabola[parabola height=0.2\overarrowlength] (1,0)},
arrows={-}, center arrow, min length=30,
@@ -1320,8 +1407,13 @@ $\scriptstyle \overparabola{v} \qquad \overparabola{ABCD} $ \par
% \item |\fontdimen 8 \scriptscriptfont 3| in
% \cs{scriptscriptstyle}.
% \end{itemize}
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% Theses settings are adapted when the package \pkg{unicode-math} is loaded
+% (using \cs{Umathoverbarrule} with \LuaLaTeX{} or |\fontdimen 54|, family~2
+% with \XeLaTeX{} --- see the manual of \pkg{unicode-math}).
% \end{docLength}
-%
+%
% \begin{docLength}{overarrowsmallerthickness}
% Is set to the default rule thickness of the next smaller math style.
% That is:
@@ -1330,6 +1422,11 @@ $\scriptstyle \overparabola{v} \qquad \overparabola{ABCD} $ \par
% \item |\fontdimen 8 \scriptscriptfont 3| in \cs{scriptstyle} or
% \cs{scriptscriptstyle}.
% \end{itemize}
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% Theses settings are adapted when the package \pkg{unicode-math} is loaded
+% (using \cs{Umathoverbarrule} with \LuaLaTeX{} or |\fontdimen 54|, family~2
+% with \XeLaTeX{} --- see the manual of \pkg{unicode-math}).
% \end{docLength}
%
% \subsubsection{Vectors macros}
@@ -1507,8 +1604,9 @@ $ \esvectvv*{\imath}{0} \quad \esvectvv*{e}{r} \quad \esvectvv*{L}{\Delta} $
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation):
% \begin{itemize}
-% \item \meta{number}| = 0 | for the |symb| method (default);
+% \item \meta{number}| = 0 | for the |symb| method (method by default);
% \item \meta{number}| = 12| for the |tikz| method;
+% \item \meta{number}| = 12| for the |pstricks| method;
% \item \meta{number}| = 18| for the |picture| method.
% \end{itemize}
%
@@ -1516,7 +1614,7 @@ $ \esvectvv*{\imath}{0} \quad \esvectvv*{e}{r} \quad \esvectvv*{L}{\Delta} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overlongarrow}{min length=50}
+\NewOverArrowCommand{\overlongarrow}{min length=50}
$ \overlongarrow{v} \qquad \overlongarrow{ABCDEF} $
\end{dispExample}
% \iffalse
@@ -1550,7 +1648,7 @@ $ \overlongarrow{v} \qquad \overlongarrow{ABCDEF} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{underhooks}{%
+\NewOverArrowCommand{\underhooks}{%
start={\lhook}, end={\rhook}, trim=1,
arrow under, shift leftright=-4,
}
@@ -1580,8 +1678,8 @@ $ \underhooks{v} \qquad \underhooks{AB} $
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation):
% \begin{itemize}
-% \item \meta{number}| = 0 | for the |symb| method (default);
-% \item \meta{number}| = -2| for the |tikz| and |picture| methods.
+% \item \meta{number}| = 0 | for the |symb| method (method by default);
+% \item \meta{number}| = -2| for the |tikz|, |pstricks| and |picture| methods.
% \end{itemize}
%
%\end{docKey}
@@ -1590,7 +1688,7 @@ $ \underhooks{v} \qquad \underhooks{AB} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand{lookback}{%
+\NewOverArrowCommand{\lookback}{%
start={\leftarrow}, end={\rightharpoondown},
shift left=-50, shift right=-10,
}
@@ -1658,7 +1756,7 @@ $ \lookback{\text{look back}} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand{overharpoonsdown}{%
+\NewOverArrowCommand{\overharpoonsdown}{%
start=\leftharpoondown, end=\rightharpoondown, center arrow,
space before arrow=-0.2ex, space after arrow=0.3ex,
}
@@ -1693,7 +1791,7 @@ $ \dot{\overharpoonsdown{v}} \qquad \ddot{\overharpoonsdown{AB}}$
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{autosub}{detect subscripts}
+\NewOverArrowCommand{\autosub}{detect subscripts}
$ \imath_0 \qquad \autosub{\imath}_0 \qquad
{\autosub{\imath}}_0 \qquad {\autosub*{\imath}}_0 $
\end{dispExample}
@@ -1745,7 +1843,7 @@ $ \imath_0 \qquad \autosub{\imath}_0 \qquad
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{smalleroverrightarrow}{%
+\NewOverArrowCommand{\smalleroverrightarrow}{%
start={\smallermathstyle\relbar},
middle={\smallermathstyle\relbareda},
end={\rightarrow},
@@ -1784,16 +1882,26 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
% Clears \refKey{trim start}, \refKey{trim middle} and \refKey{trim end}.
% \end{docKey}
%
-%\begin{docKey}{middle config}{=auto\textbar relbar\textbar relbareda}{no default}
-% Sets a suitable configuration for the keys \refKey{middle} and \refKey{trim middle}:
+%\begin{docKey}{middle config}{=auto\textbar relbar\textbar relbareda\textbar harrowextender}{no default}
+% Sets a suitable configuration for the keys \refKey{middle} and \refKey{trim
+% middle}:
% \begin{description}
-% \item[For \refKey*{middle config}| = relbar|,] \refKey{middle} is set to
-% \cs{relbar} \symb{\relbar} and \refKey{trim middle} to |2.5|.
-% \item[For \refKey*{middle config}| = relbareda|,] \refKey{middle} is set to
-% \cs{relbareda} \symb{\relbareda} and \refKey{trim middle} to |1|.
-% \item[For \refKey*{middle config}| = auto|,] \refKey{middle} is set with
-% \refKey*{middle config}| = relabareda| if the option \refOpt{esvect} is set
-% (which is the default) and \refKey*{middle config}| = relabar| if not.
+% \item[For \refKey*{middle config}| = relbar|,] \refKey{middle} is set to
+% \cs{relbar} \symb{\relbar} and \refKey{trim middle} to |2.5|.
+% \item[For \refKey*{middle config}| = relbareda|,] \refKey{middle} is set to
+% \cs{relbareda} \symb{\relbareda} and \refKey{trim middle} to |1|.
+% \item[For \refKey*{middle config}| = harrowextender|,]
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
+% \refKey{middle} is set to \cs{harrowextender} and \refKey{trim middle} to
+% |0|.
+% \item[For \refKey*{middle config}| = auto|,]
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% if \cs{harrowextender} is provided by the math font\footnote{See the
+% documentation of the package \pkg{unicode-math}.}, \refKey{middle} is set
+% with \refKey*{middle config}| = harrowextender|. If \cs{harrowextender}
+% isn't availlable, \refKey{middle} is set with \refKey*{middle config}%
+% | = relbareda| if the option \refOpt{esvect} is set (which is the
+% default) and \refKey*{middle config}| = relabar| if not.
% \end{description}
%\end{docKey}
%
@@ -1880,14 +1988,14 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
% commands creation), the |tikz| method is chosen, then the arrow is drawn by
% the command:
% \begin{center}
-% \cs{tikz}|[|\refKey*{tikz options}|]{|\refKey*{tikz command}|}|
+% \cs{tikz}|[<|\refKey*{tikz options}|>]{<|\refKey*{tikz command}|>}|
% \end{center}
% \noindent where \refKey{tikz options} and \refKey{tikz command} are two keys
% described below. When \refKey*{tikz command} is let unset, the drawing command
% turns into:
% \begin{center}
-% \cs{tikz}|[|\refKey*{tikz options}|]{|\cs{draw}|[|\refKey*{path options}|]|
-% \refKey*{path}|;}|
+% \cs{tikz}|[<|\refKey*{tikz options}|>]{|\cs{draw}|[<|\refKey*{path options}|>]|
+% |<|\refKey*{path}|>;}|
% \end{center}
%
% The best way to customise |tikz| arrows is then to set the keys \refKey{tikz
@@ -1899,7 +2007,7 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand[tikz]{overdotteddoublearrow}{%
+\NewOverArrowCommand[tikz]{\overdotteddoublearrow}{%
add tikz options={blue}, add path options={densely dotted},
arrows={->[scale=0.5]>[scale=0.5]}, thinner,
min length=20, space after arrow={0.3ex},
@@ -1910,16 +2018,18 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%</example>
% \fi
%
+% \bigskip
+%
% The following keys are available when the |tikz| method is chosen.
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par]
% {tikz options}{=\marg{TikZ options}}
% {no default, initially |x=|\cs{overarrowlength}|, line
% width=|\cs{overarrowthickness}}
% Sets TikZ options to \meta{TikZ options}.
%\end{docKey}
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par]
% {path options}{=\marg{path options}}
% {no default, initially |arrows={-Classical TikZ Rightarrow}, cap=round|}
% Sets TikZ path options to \meta{path options}.
@@ -1957,21 +2067,102 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% value \cs{draw}|[|\refKey*{path options}|] |\refKey*{path}|;| is used.
%\end{docKey}
%
+% \subsubsection{PSTricks settings}
+% \label{sec:pstricks-keys}
+%
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
+% If, at command creation (see section~\ref{sec:macro-for-commands-creation},
+% page~\pageref{sec:macro-for-commands-creation} for the documentation of
+% commands creation), the |pstricks| method is chosen, then the arrow is drawn
+% by:
+% \begin{flushleft}\leftskip=3cm
+% \cs{begin}|{pspicture}<|\refDoc{key:pstricks}*{geometry}|>%|\\
+% \quad\cs{psset}|{linewidth=<|\refDoc{key:pstricks}*{line thickness}|>}%|\\
+% \quad\cs{psset}|{<|\refKey*{psset}|>}%|\\
+% \quad|<|\refKey*{pstricks command}|>%|\par
+% \cs{end}|{pspicture}%|
+% \end{flushleft}
+% \noindent where \refDoc{key:pstricks}{geometry}, \refDoc{key:pstricks}{line
+% thickness} \refKey*{psset} and \refKey*{pstricks command} are four keys
+% described below.
+%
+%\iffalse
+%<*example>
+% \fi
+\begin{dispExample*}{grow to left by=-2em}
+\NewOverArrowCommand[pstricks]{\overloopandarrow}{
+ pstricks command={%
+ \pscurve{->}(0,0)
+ (0.6\overarrowlength,0.05\overarrowlength)
+ (0.5\overarrowlength,0.1\overarrowlength)
+ (0.4\overarrowlength,0.05\overarrowlength)
+ (\overarrowlength,0)
+ },
+ geometry={(0,0)(\overarrowlength,0.2\overarrowlength)},
+ space after arrow=2pt, min length=20,
+ geometry={(0,0)(\overarrowlength,0.2\overarrowlength)},
+}
+$ \overloopandarrow{v} \qquad \overloopandarrow{AB} $
+\end{dispExample*}
+% \iffalse
+%</example>
+% \fi
+%
+% \bigskip
+%
+% The following keys are available when the |pstricks| method is chosen.
+%
+% \begin{docKey}[][before lower=\bigskip\par]
+% {pstricks command}{=\marg{pstricks command}}
+% {no default, initially \cs{psline}|\{->\}(0,0)(|\refCom*{overarrowlength}|,0)|}
+% Sets the |pspicture| command to \meta{pstricks command}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:arrow}]%^^A same name as for TikZ
+% {arrow}{=\marg{arrow}}
+% {no default, initially |->|}
+% Sets \refKey{pstricks command} with
+% |\psline{|\meta{arrow}|}(0,0)(|\refCom*{overarrowlength}|,0)|.
+% \end{docKey}
+%
+% \begin{docKey}[][]
+% {psset}{=\marg{pstricks setting}}
+% {no default, initially empty}
+% Sets \meta{pstricks setting} with \cs{psset}.
+% \end{docKey}
+%
+% \begin{docKey}[][before lower=\bigskip\par, doc label={pstricks:geometry}]%^^A same name as for picture
+% {geometry}{=\marg{pstricks geometry specification}}
+% {no default, initially |(0,-0.5ex)(|\refCom*{overarrowlength}|,1ex)|}
+% Sets the |pspicture| geometry to \meta{pstricks geometry specification}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:line thickness}]%^^A same name as for TikZ
+% {line thickness}{=\marg{length}}{no default}
+% Sets the line thickness to \meta{length}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:thinner}]%^^A same name as for TikZ
+% {thinner}{}{}
+% Sets the keys \refDoc{key:pstricks}{line thickness} with
+% \cs{overarrowsmallerthickness}.
+% \end{docKey}
+%
% \subsubsection{Picture environment settings}
% \label{sec:picture-keys}
%
% If, at command creation (see section~\ref{sec:macro-for-commands-creation},
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation), the |picture| method is chosen, then the arrow is drawn
-% with by:
+% by:
% \begin{flushleft}\leftskip=3cm
-% \cs{begin}|{picture}|\refKey*{geometry}|%|\\
-% \quad\cs{linethickness}|{|\refDoc{key:picture}*{line thickness}|}%|\\
-% \quad\refKey*{picture command}|%|\par
+% \cs{begin}|{picture}<|\refDoc{key:picture}*{geometry}|>%|\\
+% \quad\cs{linethickness}|{<|\refDoc{key:picture}*{line thickness}|>}%|\\
+% \quad|<|\refKey*{picture command}|>%|\par
% \cs{end}|{picture}%|
% \end{flushleft}
-% \noindent where \refKey{geometry}, \refDoc{key:picture}{line thickness} and
-% \refKey*{picture command} are three keys described below.
+% \noindent where \refDoc{key:picture}{geometry}, \refDoc{key:picture}{line
+% thickness} and \refKey*{picture command} are three keys described below.
%
%\iffalse
%<*example>
@@ -1979,7 +2170,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\begin{dispExample*}{grow to left by=-2em}
% ^^A \arc and \roundcap commands are from the pict2e package
% ^^A this example needs \usepackage{pict2e} in the preamble
- \NewOverArrowCommand[picture]{overarc}{%
+ \NewOverArrowCommand[picture]{\overarc}{%
picture command={%
\roundcap
\put(0.5\overarrowlength,0){\arc[180,0]{0.6\overarrowlength}}
@@ -1994,15 +2185,18 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \iffalse
%</example>
% \fi
-% The following keys are available when the |picture| method is chosen.
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \bigskip
+%
+%The following keys are available when the |picture| method is chosen.
+%
+% \begin{docKey}[][before lower=\bigskip\par]
% {picture command}{=\marg{picture command}}
% {no default, initially \cs{put}|(0,0)\{|\cs{vector}|(1,0)\{|\refCom*{overarrowlength}|\}\}|}
% Sets picture command to \meta{picture command}.
% \end{docKey}
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par, doc label={picture:geometry}]%^^A same name as for pstricks
% {geometry}{=\marg{picture geometry specification}}
% {no default, initially |(|\refCom*{overarrowlength}|,1ex)(0,-0.5ex)|}
% Sets picture geometry to \meta{picture geometry specification}.
@@ -2029,6 +2223,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \subsubsection{Advanced commands}
%
% \begin{docCommand}{SetOverArrowsSubscriptCommand}{\marg{command}}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to \meta{command} the command used for subscript detection, when this
% is enabled by the key \refKey{detect subscripts} (see the
% section~\ref{sec:non-standard-subscripts},
@@ -2131,6 +2326,12 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \symb{\relbareda} from the \pkg{esvect} package. This can be fixed with the
% \refOpt{noesvect} option.
%
+% Depending of the math font, predefined commands may be faulty. For example, at
+% the time of writing, hooks vertical position is incorrect with \emph{Asana
+% Math} or \cs{harrowextender} is badly positioned with \emph{Stix two Math}
+% (for the smallest math styles), \emph{Libertinus Math} and
+% \emph{GFSNeohellenicMath}.
+%
% \subsubsection{Detection of non standard subscripts}
% \label{sec:non-standard-subscripts}
%
@@ -2225,11 +2426,25 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsection{Changelog}
%
-% \begin{description}
-% \item[v1.1] Support for non-standard subscripts
-% \item[v1.0.1] Bug fix for under* options.
-% \item[v1.0] Initial version.
-% \end{description}
+% \begingroup
+% \renewcommand{\arraystretch}{2}
+% \begin{tabular*}{\linewidth}
+% {@{} l @{\extracolsep{\fill}} p{0.9\linewidth} @{}}
+% v1.2 & \noindent\par\vspace{-\baselineskip}
+% \begin{itemize}[left=0pt, topsep=0pt, partopsep=0pt]
+% \item Fix compatibility issues with \pkg{unicode-math}.
+% \item Allow to draw the arrow with PSTricks.
+% \item Make \pkg{esvect} handle all font sizes.
+% \item Rewrite starred variant for better performances.
+% \end{itemize}
+% \\
+% v1.1 & Support for non-standard subscripts.
+% \\
+% v1.0.1 & Bug fix for under* options.
+% \\
+% v1.0 & Initial version.
+% \end{tabular*}
+% \endgroup
%
% \StopEventually{}
%
@@ -2250,6 +2465,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\newif\ifovar@option@oldarrows@
\newif\ifovar@option@esvect@ \ovar@option@esvect@true \PassOptionsToPackage{f}{esvect}
\newif\ifovar@option@tikz@
+\newif\ifovar@option@pstricks@
\newif\ifovar@option@pstarrows@
\newif\ifovar@detectsubscripts@
\newif\ifovar@option@subother@
@@ -2280,6 +2496,8 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Declaration of options}
%
+% \changes{v1.2}{2024/07/11}{Add option pstricks}
+%
% \begin{macrocode}
\DeclareOption{esvect}{\ovar@option@esvect@true}
\DeclareOption{noesvect}{\ovar@option@esvect@false}
@@ -2293,6 +2511,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\DeclareOption{esvecth}{\ovar@option@esvect@true\PassOptionsToPackage{h}{esvect}}
\DeclareOption{old-arrows}{\ovar@option@oldarrows@true}
\DeclareOption{tikz}{\ovar@option@tikz@true}
+\DeclareOption{pstricks}{\ovar@option@pstricks@true}
\DeclareOption{pstarrows}{\ovar@option@pstarrows@true}
\DeclareOption{subscripts}{\ovar@detectsubscripts@true}
\DeclareOption{subother}{\ovar@option@subother@true}
@@ -2381,23 +2600,42 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\RequirePackage{amsmath}
\RequirePackage{etoolbox}
% \end{macrocode}
+%
% Option \refOpt{old-arrows}. Configuration of arrows used for
% predefined commands.
+% \changes{v1.2}{2024/07/11}{Use \cs{def} instead of \cs{let} for
+% \cs{ovar@rightarrow} and \cs{ovar@leftarrow}}
% \begin{macrocode}
-\let\ovar@rightarrow\rightarrow
-\let\ovar@leftarrow\leftarrow
+\def\ovar@rightarrow{\rightarrow}
+\def\ovar@leftarrow{\leftarrow}
\ifovar@option@oldarrows@
\RequirePackage[old]{old-arrows}
- \let\ovar@rightarrow\varrightarrow
- \let\ovar@leftarrow\varleftarrow
+ \def\ovar@rightarrow{\varrightarrow}
+ \def\ovar@leftarrow{\varleftarrow}
\fi
% \end{macrocode}
+%
% Option \refOpt{esvect}.
% \begin{macrocode}
\ifovar@option@esvect@
\RequirePackage{esvect}
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Fix esvect font sizes}
+% Fix font description in |uesvect.fd| to allow any sizes (taken from Enrico
+% Gregorio, \url{https://tex.stackexchange.com/a/689863/})
+% \begin{macrocode}
+ \DeclareFontFamily{U}{esvect}{}
+ \DeclareFontShape{U}{esvect}{m}{n}{
+ <-5.5> vect5
+ <5.5-6.5> vect6
+ <6.5-7.5> vect7
+ <7.5-8.5> vect8
+ <8.5-9.5> vect9
+ <9.5-> vect10
+ }{}
\fi
% \end{macrocode}
+%
% Option \refOpt{tikz}.
% \begin{macrocode}
\ifovar@option@tikz@
@@ -2405,6 +2643,14 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\usetikzlibrary{arrows.meta}
\fi
% \end{macrocode}
+%
+% Option \refOpt{pstricks}.
+% \begin{macrocode}
+\ifovar@option@pstricks@
+ \RequirePackage{pstricks-add}
+\fi
+% \end{macrocode}
+%
% Option \refOpt{pstarrows}.
% \begin{macrocode}
\ifovar@option@pstarrows@
@@ -2412,6 +2658,43 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\fi
% \end{macrocode}
%
+% Add hook rules to apply settings after \pkg{unicode-math}.
+% \begin{macrocode}
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-luatex}
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-xetex}
+% \end{macrocode}
+%
+% \changes{v1.2}{2024/07/11}{Use \cs{harrowextender}, if availlable.}
+% Set \cs{ovar@auto@middle} and \cs{ovar@auto@trim@middle}, used by
+% configurations made with \refKey*{middle config}|=auto|.
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \ifdef{\relbareda}
+ {%
+ \gdef\ovar@auto@middle{\relbareda}
+ \gdef\ovar@auto@trim@middle{1}
+ }
+ {%
+ \gdef\ovar@auto@middle{\relbar}
+ \gdef\ovar@auto@trim@middle{2.5}
+ }%
+ \@ifpackageloaded{unicode-math}
+ {%
+% \end{macrocode}
+% Test of \cs{harrowextender} availability taken from Enrico Gregorio,
+% (\url{https://tex.stackexchange.com/a/218407/}).
+% \begin{macrocode}
+ \check@mathfonts
+ \iffontchar\textfont\tw@\string"23AF
+ \gdef\ovar@auto@middle{\mathrel\harrowextender}
+ \gdef\ovar@auto@trim@middle{0}
+ \fi
+ }
+ {}%
+ }
+% \end{macrocode}
+%
% \subsection*{Configuration of subscripts detection}
%
% \changes{v1.1}{2023/02/15}{Support for non-standard subscripts}
@@ -2424,6 +2707,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \end{macro}
%
% Initial configuration.
+% \changes{v1.2}{2024/07/11}{Remove useless \cs{AtBeginDocument}}
% \begin{macrocode}
\SetOverArrowsSubscriptCommand{_}
% \end{macrocode}
@@ -2432,7 +2716,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@subother@
\begingroup
\catcode `_=12
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
% \end{macrocode}
@@ -2441,7 +2725,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@subactive@
\begingroup
\catcode `_=13
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
% \end{macrocode}
@@ -2662,12 +2946,25 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
}
},
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Add config \refKey*{middle config}|=harrowextender|}
+% \begin{macrocode}
+ middle config/harrowextender/.code={%
+ \pgfkeysalso{%
+ middle={\harrowextender},
+ trim middle={0},
+ }
+ },
+% \end{macrocode}
+% Set \refKey*{middle config} with (hopefully) a good configuration. It would be
+% better to reuse the previous \refKey*{middle config} settings, but we have to
+% wait for the |begindocument| hook to know which one to use.
+% \begin{macrocode}
middle config/auto/.code={%
- \ifovar@option@esvect@
- \pgfkeysalso{middle config=relbareda}
- \else
- \pgfkeysalso{middle config=relbar}
- \fi
+ \pgfkeysalso{%
+ middle={\ovar@auto@middle},
+ trim middle={\ovar@auto@trim@middle},
+ }
},
% \end{macrocode}
% \refKey{amsmath}.
@@ -2775,6 +3072,59 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
% \end{macrocode}
%
+% \subsubsection*{Keys for the \texttt{pstricks} method}
+%
+% \changes{v1.2}{2024/07/11}{Add the method pstricks}
+%
+% \begin{macrocode}
+\SetOverArrowsMethod[lens]{pstricks}{%
+% \end{macrocode}
+% Arrow macro.
+% \begin{macrocode}
+ no arrow macro hook/.code={%
+ \ovar@set{%
+ arrow macro/.expanded={%
+ $\noexpand\mkern \expandonce{\ovar@shift@left} mu\noexpand\relax$%
+ \noexpand\begin{pspicture}\expandonce{\ovar@pstricks@geometry}%
+ \noexpand\psset{linewidth=\expandonce{\ovar@pstricks@linethickness}}%
+ \noexpand\psset{\expandonce{\ovar@pstricks@psset}}%
+ \expandonce{\ovar@pstricks@command}%
+ \noexpand\end{pspicture}%
+ $\noexpand\mkern \expandonce{\ovar@shift@right} mu\noexpand\relax$%
+ }
+ }
+ },
+% \end{macrocode}
+% Pstricks parts: \refKey{pstricks command}, \refKey{psset},
+% \refDoc{key:pstricks}{geometry}, \refDoc{key:pstricks}{line thickness}.
+% \begin{macrocode}
+ pstricks command/.store in=\ovar@pstricks@command,
+ psset/.store in=\ovar@pstricks@psset,
+ geometry/.store in=\ovar@pstricks@geometry,
+ line thickness/.store in=\ovar@pstricks@linethickness,
+ pstricks command/.value required,
+ psset/.value required,
+ geometry/.value required,
+ line thickness/.value required,
+% \end{macrocode}
+% Pstricks handy key: \refDoc{key:pstricks}{arrow}, \refDoc{key:pstricks}{thinner}.
+% \begin{macrocode}
+ arrow/.style={pstricks command={\psline{##1}(0,0)(\overarrowlength,0)}},%
+ arrow/.value required,%
+ thinner/.style={line thickness={\overarrowsmallerthickness}},%
+ thinner/.value forbidden,%
+% \end{macrocode}
+% Initial configuration.
+% \begin{macrocode}
+ shift right=-2,
+ min length=12,
+ geometry={(0,-0.5ex)(\overarrowlength,0.5ex)},%
+ line thickness={\overarrowthickness},%
+ arrow={->},%
+ psset={},%
+}
+% \end{macrocode}
+%
% \subsubsection*{Keys for the \texttt{picture} method}
%
% \begin{macrocode}
@@ -2795,7 +3145,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
},
% \end{macrocode}
-% Picture parts: \refKey{picture command}, \refKey{geometry},
+% Picture parts: \refKey{picture command}, \refDoc{key:picture}{geometry},
% \refDoc{key:picture}{line thickness}.
% \begin{macrocode}
picture command/.store in=\ovar@picture@command,
@@ -2831,9 +3181,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
Previous definition will be overridden}
}{}
% \end{macrocode}
-% Use a default value of |3.5 mu|, as recommended by egreg (see
+% Use a default value of |3.5 mu|, as recommended by Enrico Gregorio (see
% \url{https://tex.stackexchange.com/a/471736}). \cs{joinrel}
-% uses a value of 3 mu.
+% uses a value of 3 mu.
% \begin{macrocode}
\DeclareRobustCommand{\xjoinrel}[1][3.5]{\mathrel{\mkern-#1mu}}
% \end{macrocode}
@@ -2872,7 +3222,6 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\newlength{\overarrowlength}
\newlength{\overarrowthickness}
\newlength{\overarrowsmallerthickness}
-\newlength{\ovar@extralength}
\newlength{\ovar@tempdim}
% \end{macrocode}
%
@@ -2891,26 +3240,75 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \end{macro}
%
% \begin{macro}{\ovar@set@arrowthickness}
+% \begin{macro}{\ovar@set@arrowthickness@UM@lua}
% Sets \refLen{overarrowthickness} and \refLen{overarrowsmallerthickness}.\\
-% |#1|: arrow length\\
-% |#2|: math style
+% |#1|: math style
+%
+% Set to the default rule thickness of the current math style, normaly given by
+% \cs{fontdimen} 8 family 3. With \pkg{unicode-math}, use instead:
+% \begin{itemize}
+% \item \cs{fontdimen} 54 family 2 with XeTeX,
+% \item \cs{Umathoverbarrule} with LuaTex.
+% \end{itemize}
+% \changes{v1.2}{2024/07/11}{Get the correct rule thickness with unicode-math}
% \begin{macrocode}
-\def\ovar@set@arrowthickness#1{% use rule thickness=\fontdimen 8 font family 3
+\def\ovar@rulethickness@fontdimen{8}
+\def\ovar@rulethickness@family{3}
+\def\ovar@set@arrowthickness#1{%
\ifx#1\displaystyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\textstyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\scriptstyle%
- \overarrowthickness = \fontdimen 8 \scriptfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\else%
- \overarrowthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\overarrowsmallerthickness = \overarrowthickness%
\fi\fi\fi%
}
% \end{macrocode}
+% \pkg{unicode-math} with LuaTeX version.
+% \begin{macrocode}
+\def\ovar@set@arrowthickness@UM@lua#1{%
+ \overarrowthickness = \Umathoverbarrule #1
+ \ifx#1\displaystyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \textstyle%
+ \else\ifx#1\textstyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptstyle%
+ \else%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptscriptstyle%
+ \fi\fi%
+}
+% \end{macrocode}
+% Test which version to use.
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \@ifpackageloaded{unicode-math-luatex}
+ {%
+ \global\let\ovar@set@arrowthickness\ovar@set@arrowthickness@UM@lua
+ }
+ {%
+ \@ifpackageloaded{unicode-math-xetex}
+ {%
+ \gdef\ovar@rulethickness@fontdimen{54}
+ \gdef\ovar@rulethickness@family{2}
+ }
+ {}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
% \end{macro}
%
% \subsubsection*{Stack macros}
@@ -3017,18 +3415,39 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Macro for commands creation}
%
+% \changes{v1.2}{2024/07/11}{Allow backslash in command name}
+% In the initial version, the commands names must be given as csname (without
+% backslash). To harmonize the syntax with standard \cs{NewDocumentCommand},
+% define an argument processor so that both
+% \cs{NewOverArrowCommand}|{\myarrow}| and
+% \cs{NewOverArrowCommand}|{myarrow}| are accepted.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_new_protected:Npn \__overarrows_processor_strip_escape_char:n #1
+ {
+ \regex_match:nnTF { ^\cC. } { #1 }
+ { \tl_set:Nx \ProcessedArgument { \cs_to_str:N #1 } }
+ { \tl_set:Nx \ProcessedArgument { #1 } }
+ }
+\cs_new_eq:NN \ovar@cmdname@processor \__overarrows_processor_strip_escape_char:n
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \begin{macro}{\DeclareOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\DeclareOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\DeclareOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\begingroup
\ovar@set@common
\ifcsdef{ovar@set@#1}{%
\csuse{ovar@set@#1}
}{%
\PackageError{overarrows}{Unknown method #1}
- {Try with 'symb', 'tikz' or 'picture'}
+ {Try with 'symb', 'tikz', 'pstriks' or 'picture'}
}
- \ovar@set{#3 }
+ \ovar@set{#3}
\ifdef{\ovar@macro@arrow}{}{%
\ovar@set{no arrow macro hook}
}
@@ -3050,7 +3469,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@detectsubscripts@%
\csgdef{ovar@#2@auto}##1{%
% \end{macrocode}
-% \vspace{-2\smallskipamount}%^^A remove space between code blocs
+% \vspace{-2\smallskipamount}%^^A remove space between code blocks
% \changes{v1.1}{2023/02/15}{Support for non-standard subscripts}
% \begin{macrocode}
\@ifnextchar \ovar@subcmd {%
@@ -3080,7 +3499,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\ProvideOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\ProvideOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\ProvideOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{}{
\DeclareOverArrowCommand[#1]{#2}{#3}
}
@@ -3090,7 +3511,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\NewOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\NewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\NewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname already defined}%
{You have used \protect\NewOverArrowCommand\space with a command that
@@ -3105,7 +3528,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\RenewOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\RenewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\RenewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsundef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname undefined}%
{You have used \protect\RenewOverArrowCommand\space with a command that was
@@ -3120,17 +3545,21 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Starred variant}
%
+% \changes{v1.2}{2024/07/11}{Use boxes in starred variant for better performances}
% \begin{macro}{\ovar@starversion}
% |#1|: definition (stack macro + arrow macro)\\
% |#2|: math style\\
% |#3|: content
% \begin{macrocode}
+\newsavebox\ovar@tempbox
\def\ovar@starversion#1#2#3{%
- #1#2{#3}%
- \settowidth{\ovar@extralength}{$\m@th#1#2{#3}$}
- \settowidth{\ovar@tempdim}{$\m@th#2{#3}$}
- \deflength{\ovar@extralength}{0.5\ovar@extralength-0.5\ovar@tempdim}%
- \kern-\ovar@extralength%
+ \sbox{\ovar@tempbox}{$\m@th #1#2{#3}$}%
+ \usebox{\ovar@tempbox}%
+% \end{macrocode}
+% Remove the extra space added by the arrow.
+% \begin{macrocode}
+ \settowidth{\ovar@tempdim}{$\m@th #2{#3}$}%
+ \kern\dimeval{0.5\ovar@tempdim - 0.5\wd\ovar@tempbox}%
}
% \end{macrocode}
% \end{macro}
@@ -3144,7 +3573,11 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@esvect@
\let\esvectvv\vv
\undef\vv
- \NewOverArrowCommand{vv}{esvect, middle config=auto}
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Use \refKey{middle config}|=relbareda| instead of
+% \refKey{middle config}|=auto|}
+% \begin{macrocode}
+ \NewOverArrowCommand{\vv}{esvect, middle config = relbareda}
\fi
% \end{macrocode}
% \end{macro}
@@ -3152,216 +3585,231 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Predefined commands}
%
+% \changes{v1.2}{2024/07/11}{Declare predefined commands after \pkg{unicode-math} settings}
+% Declare predefined commands after \pkg{unicode-math} settings.
+%
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {
+% \end{macrocode}
+%
% \begin{macro}{\overrightarrow}
% \begin{macrocode}
-\ifovar@option@overrightarrow@
- \DeclareOverArrowCommand{overrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightarrow@
+ \DeclareOverArrowCommand{\overrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightarrow}
% \begin{macrocode}
-\ifovar@option@underrightarrow@
- \DeclareOverArrowCommand{underrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightarrow@
+ \DeclareOverArrowCommand{\underrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftarrow}
% \begin{macrocode}
-\ifovar@option@overleftarrow@
- \DeclareOverArrowCommand{overleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftarrow@
+ \DeclareOverArrowCommand{\overleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftarrow}
% \begin{macrocode}
-\ifovar@option@underleftarrow@
- \DeclareOverArrowCommand{underleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftarrow@
+ \DeclareOverArrowCommand{\underleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftrightarrow}
% \begin{macrocode}
-\ifovar@option@overleftrightarrow@
- \DeclareOverArrowCommand{overleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- }
-\fi
+ \ifovar@option@overleftrightarrow@
+ \DeclareOverArrowCommand{\overleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftrightarrow}
% \begin{macrocode}
-\ifovar@option@underleftrightarrow@
- \DeclareOverArrowCommand{underleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftrightarrow@
+ \DeclareOverArrowCommand{\underleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overrightharpoonup}
% \begin{macrocode}
-\ifovar@option@overrightharpoonup@
- \DeclareOverArrowCommand{overrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightharpoonup@
+ \DeclareOverArrowCommand{\overrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightharpoonup}
% \begin{macrocode}
-\ifovar@option@underrightharpoonup@
- \DeclareOverArrowCommand{underrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightharpoonup@
+ \DeclareOverArrowCommand{\underrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overrightharpoondown}
% \begin{macrocode}
-\ifovar@option@overrightharpoondown@
- \DeclareOverArrowCommand{overrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightharpoondown@
+ \DeclareOverArrowCommand{\overrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightharpoondown}
% \begin{macrocode}
-\ifovar@option@underrightharpoondown@
- \DeclareOverArrowCommand{underrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightharpoondown@
+ \DeclareOverArrowCommand{\underrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftharpoonup}
% \begin{macrocode}
-\ifovar@option@overleftharpoonup@
- \DeclareOverArrowCommand{overleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftharpoonup@
+ \DeclareOverArrowCommand{\overleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftharpoonup}
% \begin{macrocode}
-\ifovar@option@underleftharpoonup@
- \DeclareOverArrowCommand{underleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftharpoonup@
+ \DeclareOverArrowCommand{\underleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftharpoondown}
% \begin{macrocode}
-\ifovar@option@overleftharpoondown@
- \DeclareOverArrowCommand{overleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftharpoondown@
+ \DeclareOverArrowCommand{\overleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftharpoondown}
% \begin{macrocode}
-\ifovar@option@underleftharpoondown@
- \DeclareOverArrowCommand{underleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftharpoondown@
+ \DeclareOverArrowCommand{\underleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overbar}
% \begin{macrocode}
-\ifovar@option@overbar@
- \DeclareOverArrowCommand{overbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- space after arrow=-0.3ex,
- }
-\fi
+ \ifovar@option@overbar@
+ \DeclareOverArrowCommand{\overbar}{%
+ amsmath, middle config=relbar,
+ start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ space after arrow=-0.3ex,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
+% With \pkg{unicode-math}, add |\vphantom{+}| to get the correct position.
% \begin{macro}{\underbar}
% \begin{macrocode}
-\ifovar@option@underbar@
- \DeclareOverArrowCommand{underbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- arrow under,
- space before arrow=-0.3ex,
- }
-\fi
+ \ifovar@option@underbar@
+ \DeclareOverArrowCommand{\underbar}{%
+ amsmath, middle config=relbar,
+ start={\vphantom{+}\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ arrow under,
+ space before arrow=-0.3ex,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
+% End of |\AddToHook{begindocument}| hook.
+% \begin{macrocode}
+ }
+% \end{macrocode}
+%
+%
% \subsubsection*{Test macros}
%
% \begin{macro}{\ovar@testmathstyles}
@@ -3422,7 +3870,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\TestOverArrow}
% \begin{macrocode}
-\NewDocumentCommand{\TestOverArrow}{ s o m }{
+\NewDocumentCommand{\TestOverArrow}{
+ s o >{\ovar@cmdname@processor} m
+}{%
\ifcsdef{#3}{}{%
\PackageWarning{overarrows}{Unknown name '#3' passed to
\protect\TestOverArrow}
@@ -3494,6 +3944,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\lstdefinestyle{lstovardoc}{%
language = [LaTeX]TeX,
columns = flexible,
+ keepspaces = true,
keywordstyle = {\bfseries\color{ovar_darkblue}},
texcsstyle = *{\bfseries\color{ovar_darkblue}},
commentstyle = {\color{gray}},
@@ -3618,7 +4069,7 @@ actual '='
name=macrocode,
firstnumber=auto,
style = lstovarcode,
- showlines=false,
+ showlines = false,
% \end{macrocode}
% Commands and lengths identification and indexing
%
@@ -3648,8 +4099,9 @@ actual '='
% \begin{macrocode}
texcs = [4]{% internal macros
ovar@rightarrow, ovar@leftarrow, ifovar@option@oldarrows@,
- ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstarrows@,
- ifovar@detectsubscripts@, ifovar@option@debug@,
+ ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstricks@,
+ ifovar@option@pstarrows@, ifovar@detectsubscripts@,
+ ifovar@option@subother@, ifovar@option@subactive@, ifovar@option@debug@,
ifovar@option@overrightarrow@, ifovar@option@underrightarrow@,
ifovar@option@overleftarrow@, ifovar@option@underleftarrow@,
ifovar@option@overleftrightarrow@, ifovar@option@underleftrightarrow@,
@@ -3657,20 +4109,23 @@ actual '='
ifovar@option@overrightharpoondown@, ifovar@option@underrightharpoondown@,
ifovar@option@overleftharpoonup@, ifovar@option@underleftharpoonup@,
ifovar@option@overleftharpoondown@, ifovar@option@underleftharpoondown@,
- ifovar@option@overbar@, ifovar@option@underbar@, ovar@set, ovar@length@min,
+ ifovar@option@overbar@, ifovar@option@underbar@, ovar@auto@middle,
+ ovar@auto@trim@middle, ovar@subcmd, ovar@set, ovar@length@min,
ovar@before@arrow, ovar@after@arrow, ovar@macro@stack, ovar@macro@arrow,
- ovar@set@, ovar@shift@left, ovar@shift@right, ovar@stack@fill,
- ovar@stackunder@fill, ovar@stack@lens, ovar@stackunder@lens,
- ovar@macro@arrowfill, ovar@arrow@fill, ovar@arrow@start, ovar@trim@start,
- ovar@trim@middle, ovar@arrow@middle, ovar@trim@end, ovar@arrow@end,
- ovar@tikz@command, ovar@tikz@pathoptions, ovar@tikz@path,
- ovar@tikz@options, ovar@picture@geometry, ovar@picture@linethickness,
- ovar@picture@command, ovar@extralength, ovar@tempdim, ovar@set@arrowlength,
- ovar@set@arrowthickness, ovar@stackover@@, ovar@stackunder@@,
- ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
- ovar@stackover@lens, ovar@set@common, ovar@starversion,
- ovar@testmathstyles, ovar@row@teststyle,%
- ifovar@option@subother@,ifovar@option@subactive@,ovar@subcmd,ovar@testkerning,%
+ ovar@shift@left, ovar@shift@right, ovar@stack@fill, ovar@stackunder@fill,
+ ovar@stack@lens, ovar@stackunder@lens, ovar@macro@arrowfill,
+ ovar@arrow@fill, ovar@arrow@start, ovar@trim@start, ovar@trim@middle,
+ ovar@arrow@middle, ovar@trim@end, ovar@arrow@end, ovar@tikz@command,
+ ovar@tikz@pathoptions, ovar@tikz@path, ovar@tikz@options,
+ ovar@pstricks@geometry, ovar@pstricks@linethickness, ovar@pstricks@psset,
+ ovar@pstricks@command, ovar@picture@geometry, ovar@picture@linethickness,
+ ovar@picture@command, ovar@tempdim, ovar@set@arrowlength,
+ ovar@set@arrowthickness, ovar@set@arrowthickness@UM@lua,
+ ovar@rulethickness@fontdimen, ovar@rulethickness@family, ovar@stackover@@,
+ ovar@stackunder@@, ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
+ ovar@stackover@lens, ovar@cmdname@processor, ovar@set@common,
+ ovar@starversion, ovar@tempbox, ovar@testmathstyles, ovar@row@teststyle,
+ ovar@testkerning%
},
index = [4][texcs4],%
indexstyle = [4]\indexmacrointernal,%
@@ -3678,20 +4133,25 @@ actual '='
% Other macros identification
% \begin{macrocode}
moretexcs = [5]{% other macros
- Relbar, relbareda, relbaredd, rightarrow, Rightarrow, varleftarrow,
- varrightarrow, twoheadrightarrow,%
+ relbar, Relbar, relbareda, relbaredd, harrowextender, rightarrow,
+ Rightarrow, varleftarrow, varrightarrow, twoheadrightarrow,%
},
% \end{macrocode}
-% Il would be nice to also index keys, but spaces are badly handled by listings.
+% Il would be nice to also index keys, but spaces are badly handled by
+% \pkg{listings}.
% \begin{macrocode}
%^^A morekeywords = [2]{%
-%^^A no stack macro hook, stack macro, arrow macro, no arrow macro hook, min
-%^^A length, before arrow, after arrow, space before arrow, space after arrow,
-%^^A shift left, shift right, shift leftright, center arrow, left arrow, right
-%^^A arrow, arrow under, fill macro, start, middle, end, trim start, trim
-%^^A middle, trim end, trim, no trimming, middle config, amsmath, esvect, tikz
-%^^A command, tikz options, path options, path, add path options, add tikz
-%^^A options, arrows, line thickness, thinner, picture command, geometry, detect subscripts,
+%^^A overarrows, no stack macro hook, stack macro, detect subscripts, arrow
+%^^A macro, no arrow macro hook, min length, before arrow, after arrow, space
+%^^A before arrow, space after arrow, shift left, shift right, shift leftright,
+%^^A center arrow, left arrow, right arrow, arrow under, arrow under/noconfig,
+%^^A arrow under/autoconfig, fill macro, start, middle, end, trim start, trim
+%^^A middle, trim end, trim, no trimming, middle config, middle config/relbar,
+%^^A middle config/relbareda, middle config/harrowextender, middle config/auto,
+%^^A amsmath, amsmath/mimic, amsmath/strict, esvect, esvect/mimic,
+%^^A esvect/strict, tikz command, tikz options, path options, path, add path
+%^^A options, add tikz options, arrows, line thickness, thinner, pstricks
+%^^A command, psset, geometry, arrow, picture command,%
%^^A },
%^^A index = [3][keywords2],%
%^^A indexstyle = [3]\lstindexmacro,%
diff --git a/macros/latex/contrib/overarrows/overarrows.pdf b/macros/latex/contrib/overarrows/overarrows.pdf
index 7203b11bb3..701f3ec02f 100644
--- a/macros/latex/contrib/overarrows/overarrows.pdf
+++ b/macros/latex/contrib/overarrows/overarrows.pdf
Binary files differ
diff --git a/macros/latex/contrib/parnotes/CHANGELOG-from-2016.md b/macros/latex/contrib/parnotes/CHANGELOG-from-2016.md
new file mode 100644
index 0000000000..001252dd0c
--- /dev/null
+++ b/macros/latex/contrib/parnotes/CHANGELOG-from-2016.md
@@ -0,0 +1,17 @@
+**Revision 3: Released on Aug 15 2016**
+ * Bug fix: Use `\protected@edef` to expand the parnote counter (fixes incompatibility with `BiocStyle`)
+
+**Revision 2: Released on Jul 26 2016**
+ * **Breaking change:** You can no longer redefine `\parnotemarkfmt`. Use `\theparnotemark` and `\parnotecusmarkfmt` instead. See the manual for details.
+ * Bug fix: `\parnotefmt` no longer changes the font to `\rmfamily` by default.
+ * `\parnote` now has an optional argument: a manually-specified parnote mark.
+ * `\parnote` now behaves more like `\footnote`:
+ * It respects `\spacefactor`
+ * It no longer inserts `\unskip`
+ * The parnote mark counter may be reset using standard LaTeX macros, e.g., `\setcounter{parnotemark}{5}`
+ * `\label` now works within parnote text; `\ref` returns the parnote label, `\pageref` returns the page where the note *text* is set, and `\parnoteref` returns the parnote label formatted as a mark.
+ * Implemented the system for separators between multiple footnotes from `footmisc` and `manyfoot` and added package option `nomultiple` to disable.
+ * Internal: The package now uses a single counter (`\c@parnotemark`) for marks.
+
+**Revision 1: Released on Jan 3 2012**
+ * Initial release
diff --git a/macros/latex/contrib/parnotes/README.md b/macros/latex/contrib/parnotes/README.md
index 6041f64a23..d5391ca900 100644
--- a/macros/latex/contrib/parnotes/README.md
+++ b/macros/latex/contrib/parnotes/README.md
@@ -1,6 +1,5 @@
parnotes
========
-rev.3b (see notes below)
The parnotes package adds a new note type, `\parnote`. Parnotes are set as normal, running paragraphs and may be placed two ways: (1) automatically, at the end of the paragraph, or (2) manually, using the `\parnotes` command.
@@ -18,7 +17,7 @@ For more details, read the project documentation in `parnotes.pdf`.
Contributing
------------
-The development repository and the bug tracker for this package are hosted [on GitHub](https://github.com/chelh/LaTeX-parnotes) but see notes below.
+The development repository and the bug tracker were originally hosted [on GitHub](https://github.com/chelh/LaTeX-parnotes) but no longer maintained there.
License
-------
@@ -36,15 +35,17 @@ Current Status
--------------
The package appears to to be unmainted, i.e. the above address exists
-but is not monitored and the original author is not reachable.
+but is not monitored and the original author is no longer reachable.
+There have been small changes and corrections by Frank Mittelbach, see
+changes.txt for details.
-Small extensions in 2019 by Frank Mittelbach:
-
- - option `reset` (alias for restart to match other packages)
- - option `alph` (for alph style notes instead of arabic)
- - option `symbol` (for fnsymbol style notes)
-
-The documentation has been changed use freely available fonts so that it
+The documentation has been changed to use freely available fonts so that it
can be typeset by everybody (the previsous release used commercial fonts).
+The current version is hosted at
+https://github.com/FrankMittelbach/fmitex-parnotes and while you can
+add issues there I'm not promising that I look at them in a timely
+manner, i.e., the package is still in search of a new maintainer and
+I'm just jumped in temporarily.
+
diff --git a/macros/latex/contrib/parnotes/changes.txt b/macros/latex/contrib/parnotes/changes.txt
new file mode 100644
index 0000000000..4944f60d82
--- /dev/null
+++ b/macros/latex/contrib/parnotes/changes.txt
@@ -0,0 +1,14 @@
+2024-06-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * parnotes.sty:
+ Do not predefine \theparnotemark unless we are in an older LaTeX
+ format, because this is done by \newcounter and would generate an
+ unnecessary warning.
+
+2019-07-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * parnotes.sty:
+ - option `reset` (alias for restart to match other packages)
+ - option `alph` (for alph style notes instead of arabic)
+ - option `symbol` (for fnsymbol style notes)
+
diff --git a/macros/latex/contrib/parnotes/parnotes.pdf b/macros/latex/contrib/parnotes/parnotes.pdf
index 6a017d2964..bf105fad4a 100644
--- a/macros/latex/contrib/parnotes/parnotes.pdf
+++ b/macros/latex/contrib/parnotes/parnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/parnotes/parnotes.sty b/macros/latex/contrib/parnotes/parnotes.sty
index 65ed470461..d3d7eb8c64 100644
--- a/macros/latex/contrib/parnotes/parnotes.sty
+++ b/macros/latex/contrib/parnotes/parnotes.sty
@@ -1,6 +1,7 @@
% The parnotes package
% Notes after every paragraph, or elsewhere
% Copyright (c) 2016 Chelsea Hughes
+% Copyright (c) 2019,2024 Frank Mittelbach
%
% This work is distributed under the LaTeX Project Public License,
% version 1.3 or later, available at
@@ -18,14 +19,18 @@
%
% The package is currently unmainted, i.e. the above address exists but is not monitored
%
-% Small extensions in 2019 by Frank Mittelbach:
+% Small extensions by Frank Mittelbach, see changes.txt for details
+%
+
+% You might file issues on my Github repo for the package, but I do
+% not actively maintain that package (unless I think something is a
+% very serious bug), so a new maintainer is welcome
+%
+% https://github.com/FrankMittelbach/fmitex-parnotes
%
-% option reset (alias for restart to match other packages)
-% option alph (for alph style notes instead of arabic)
-% option symbol (for fnsymbol style notes)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{parnotes}[2019/07/23 rev. 3b Notes after every paragraph, or elsewhere]
+\ProvidesPackage{parnotes}[2024/06/12 rev. 3c Notes after every paragraph, or elsewhere]
%
% These are the user-modifiable format commands
@@ -34,12 +39,18 @@
% Format for parnotes - \PN@notes@shape is blank (\relax) by default
\providecommand{\parnotefmt}[1]{\footnotesize%
\PN@notes@shape\PN@narrower@optional\noindent #1}
+
% Number format (arabic, roman, etc.) for the parnote mark counter
-\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi: will be set by \newcounter
+%\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi -- end
+
% Minimum vertical space before and after parnotes
\providecommand{\parnotevskip}{\medskipamount}
+
% Full command used between parnotes
\providecommand{\parnoteintercmd}{\hspace{1em plus 0.3em minus 0.2em}}
+
% Basic formatting for parnote marks
\providecommand{\parnotecusmarkfmt}[1]{\textsuperscript{#1}}
@@ -52,6 +63,10 @@
\global\def\PN@text{}
% Counter for parnote marks
\newcounter{parnotemark}
+%% FMi: in case this package is used with an old LaTeX format
+\providecommand{\theparnotemark}{\arabic{parnotemark}}
+%% FMi -- end
+
% autopn environment name
\def\@PN@autopn{autopn}
% True if currently setting parnotes
diff --git a/macros/latex/contrib/parnotes/parnotes.tex b/macros/latex/contrib/parnotes/parnotes.tex
index 662dc1aa62..f6d64dab55 100644
--- a/macros/latex/contrib/parnotes/parnotes.tex
+++ b/macros/latex/contrib/parnotes/parnotes.tex
@@ -53,9 +53,9 @@
\usepackage{booktabs}
\usepackage{microtype}
-\title{The \textsf{parnotes} package\parnote{This is rev.~3b, last modified 2019/07/23.}}
+\title{The \textsf{parnotes} package\parnote{This is rev.~3c, last modified 2024/06/12.}}
\author{Chelsea Hughes\parnote{See \texttt{parnotes.sty} for copyright details. The package has currently no maintainer.}}
-\date{July 23, 2019}
+\date{June 12, 2024}
\renewcommand{\parnotefmt}[1]{\centerline{\colorbox{black!10}{\parbox{0.82\textwidth}{\footnotesize\sffamily\noindent #1}}}}
@@ -205,6 +205,10 @@ instead, \verb+\narrower+ must be placed manually within the new definition for
\section{Changelog}
{\raggedright
+\noindent\textbf{Revision 3c, released on June 12, 2024 (Frank Mittelbach)}
+\begin{itemize}
+\item Avoid an unnecessary warning about \verb=\theparnotemark=
+\end{itemize}
\noindent\textbf{Revision 3b, released on July 23, 2019 (Frank Mittelbach)}
\begin{itemize}
\item Added options \texttt{reset}, \texttt{alph} and \texttt{symbol}.
diff --git a/macros/latex/contrib/passopt/README.md b/macros/latex/contrib/passopt/README.md
new file mode 100644
index 0000000000..f8eb8f4c43
--- /dev/null
+++ b/macros/latex/contrib/passopt/README.md
@@ -0,0 +1,18 @@
+# The `passopt` package
+Passing options to packages or classes (v1.01a)
+
+## Abstract
+`passopt` allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
+
+## License
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
+
+## Website
+| [Gitee](https://gitee.com/texno3/passopt) | [Github](https://github.com/texno3/passopt) | [CTAN](https://ctan.org/pkg/passopt) |
+
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com
+
+## Contributor
+Jonathan P. Spratte \ No newline at end of file
diff --git a/macros/latex/contrib/passopt/passopt.pdf b/macros/latex/contrib/passopt/passopt.pdf
new file mode 100644
index 0000000000..ce6e437c65
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/passopt/passopt.sty b/macros/latex/contrib/passopt/passopt.sty
new file mode 100644
index 0000000000..d74c698d27
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.sty
@@ -0,0 +1,56 @@
+%
+% ***************** THE PASSOPT PACKAGE *****************
+%
+% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\NeedsTeXFormat{LaTeX2e}[2021/11/15]
+\ProvidesExplPackage{passopt}{2024/07/17}{1.01a}
+ {Passing options to packages or classes}
+
+\cs_generate_variant:Nn \tl_if_blank:nTF { v }
+\cs_new_protected:Npn \po_add_before_hook:nnn #1#2
+ { \hook_gput_code:nnn { #1/#2/before } { passopt } }
+\cs_new_protected:Npn \po_set_options_list:nnnnn #1#2#3#4#5
+ {
+ \po_add_before_hook:nnn {#1} {#5}
+ {
+ \cs_set:cpx { @raw@opt@#5.#2 }
+ {
+ \IfBooleanTF{#3}
+ {\exp_not:o {#4}}
+ {
+ \tl_if_blank:vTF { @raw@opt@#5.#2 }
+ { \exp_not:o {#4} }
+ { \exp_not:v { @raw@opt@#5.#2 },\exp_not:o {#4} }
+ }
+ }
+ \exp_args:Nc \protected@edef { opt@#5.#2 }
+ {
+ \exp_last_unbraced:Nv
+ \zap@space { @raw@opt@#5.#2 }~\@empty
+ }
+ }
+ }
+\cs_new_protected:Npn \po_clear_options_list:nnn #1#2#3
+ {
+ \po_add_before_hook:nnn {#1} {#3}
+ {
+ \tl_clear:c { @raw@opt@#3.#2 }
+ \tl_clear:c { opt@#3.#2 }
+ }
+ }
+\NewDocumentCommand{\SetOptionsToPackage}{smm}
+ {\po_set_options_list:nnnnn { package } { sty } {#1} {#2} {#3}}
+\NewDocumentCommand{\SetOptionsToClass}{smm}
+ {\po_set_options_list:nnnnn { class } { cls } {#1} {#2} {#3}}
+\cs_new_protected:Npn \ClearPackageOptions #1
+ { \po_clear_options_list:nnn { package } { sty } {#1} }
+\cs_new_protected:Npn \ClearClassOptions #1
+ { \po_clear_options_list:nnn { class } { cls } {#1} }
+\endinput
+%
+% End of file `passopt.sty'. \ No newline at end of file
diff --git a/macros/latex/contrib/passopt/passopt.tex b/macros/latex/contrib/passopt/passopt.tex
new file mode 100644
index 0000000000..fb4473e356
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.tex
@@ -0,0 +1,103 @@
+\documentclass[load-preamble+]{cnltx-doc}
+
+\usepackage{setspace,hologo,changelog,enumitem}
+\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
+\setcnltx
+ {
+ package = passopt,
+ version = v1.01a,
+ date = 2024/07/17,
+ authors = Qu Yi,
+ info = Passing options to packages or classes,
+ email = toquyi@163.com,
+ url = https://github.com/texno3/passopt,
+ abstract =
+ {
+ \pkg*{passopt} allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
+ },
+ color-scheme = blue,
+ listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
+ pre-output = {\parindent = 0em\setstretch{1.3}},
+ before-skip = \smallskipamount,
+ after-skip = \smallskipamount
+ }
+\makeatletter
+\newcommand{\splitmeta}[2]{\meta{#1}\texttt{,}\meta{#2}}
+\newcommand{\newsplitarg}[4][\splitmeta]
+ {
+ \newcommand{#2}[2]
+ {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
+ }
+\newcommand{\kvsplit}[3]
+ {
+ \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
+ \cnltx@checkdefault{\hfill\newline}
+ }
+\newsplitarg{\splitoarg}{[}{]}
+\newsplitarg{\splitmarg}{\{}{\}}
+\newsplitarg{\splitdarg}{(}{)}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
+\renewcommand{\emph}[1]{\textcolor{red}{#1}}
+\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
+\makeatother
+
+\begin{document}
+\section{Preface}
+For a developer, there are some cases where packages and classes may load other packages or classes with options. However, other developers or users may wish to disable the enabled options or enable new ones. To enable new options, \hologo{LaTeXe} provides the \cs{PassOptionsToPackage} and \cs{PassOptionsToClass} commands to pass the options before the package or class is loaded, but the passed options are located on the \textcolor{red}{left} side of the final options list.
+\begin{sourcecode}
+ \PassOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+\end{sourcecode}
+
+In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt1,opt2=A,opt3}}. If you wish to \textcolor{red}{disable} the pre-enabled options or place the newly enabled options to the \textcolor{red}{right} of the list (last executed), then you need to modify the code of the load command in the package or class file, but this is not recommended for public sharing. Therefore, this macro package provides commands to reset the options and change the order of the new options.
+
+\section{User commands}
+Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned. Subsequent loading of the macro package is not must required due to the hook mechanism used to modify the list of options.
+\begin{commands}
+ \command{SetOptionsToPackage}[\sarg\marg{options list}\marg{package}]
+ Passes options to the macro package, the location of the passed options is to the right of the options used when loading the macro package. If an asterisk parameter is used, only the passed options were ultimately retained.
+ \command{SetOptionsToClass}[\sarg\marg{options list}\marg{class}]
+ Similar to the previous command, but passing options for the document class.
+ \begin{sourcecode}
+ \RequirePackage{passopt}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+ \end{sourcecode}
+
+ In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt3,opt1,opt2=A}}. If the asterisk parameter is used, the list is \fbox{\code{opt1,opt2=A}}.
+
+ Note that since macro packages or document classes can only be loaded effectively once (using the \cs{usepackage} and \cs{RequirePackage} commands), only options passed before the first loading of a macro package or document class are effective, and it is recommended for users to use commands that pass options before \cs{documentclass}.
+ \command{ClearPackageOptions}[\marg{package}]
+ Clears the options that will be loaded into the macro package. The following commands has the same effect as \cs*{SetOptionsToPackage}\code{*}.
+ \begin{sourcecode}
+ \ClearPackageOptions{mypackage}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+ \end{sourcecode}
+ \command{ClearClassOptions}[\marg{class}]
+ Similar to the previous command, but passing options for the document class.
+\end{commands}
+
+\section{Acknowledgment}
+Thanks Jonathan P. Spratte for the improvement suggestions.
+
+\appendix
+\begin{changelog}[simple]
+ \begin{version}[v = 1.01,date = 2024/07/15]
+ \item Synchronized modification for lists of \code{@raw@opt@} and \code{opt@}.
+ \item Options that are set are expanded once rather than fully expanded.
+ \end{version}
+\end{changelog}
+\nocite{*}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index b8bbe05c30..9536e081a4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -4,8 +4,15 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+## [2024-05-23]
+### Fixed
+ - l3pdfmeta: adapted wtpdf declaration uri to corrected version.
+ - colorlinks=false no longer resets pdfborder (issue #69)
+ - added support to omit CidSet with luatex
+
## [2024-04-09]
+Version: 2024-04-09, 0.96h
### Fixed
- structure destinations for boxed destinations
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index 136f8e6c7c..e3c9c1be02 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.96h, 2024-04-09
+Version: 0.96i, 2024-05-23
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index b11df8acf7..08170653e8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2024-04-09 v0.96h
+\ProvidesPackage{color-ltx}[2024-05-23 v0.96i
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index 19d5375f7e..95a0b0a612 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-04-09}{0.96h}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-05-23}{0.96i}
{temporay patches to for the colorspace package to test pdfresource management ... UF}
% colorspace can define more models, that l3color can't yet handle.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index d6595449fe..9a8ee06546 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -82,7 +82,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -486,7 +486,8 @@
% would arise it would possible to change this.
% \subsection{Changed behaviour}
% \begin{description}
-% \item[colorlinks] |colorlinks| will as before disable the |pdfborder|, but it is possible
+% \item[colorlinks] |colorlinks| or |colorlinks=true| will as before disable the |pdfborder|
+% (|colorlinks=false| will leave the |pdfborder| untouched), but it is possible
% to use the key in the document at any time, or to reenable the border if wanted.
% Internally |colorlinks| \& friends will no longer define/undefine
% |\Hy@colorlink|, but instead use the hooks provided by the \pkg{l3pdfannot} package.
@@ -964,7 +965,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2024-04-09 v0.96h %
+\ProvidesFile{hgeneric-testphase.def}[2024-05-23 v0.96i %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -2652,7 +2653,8 @@
% \begin{macrocode}
\keys_define:nn { hyp }
{
- ,colorlinks .meta:n =
+ ,colorlinks .choice:
+ ,colorlinks / true .meta:n =
{
,pdfborder={0~0~0}
,pdfborderstyle=
@@ -2662,6 +2664,14 @@
,colormenu =#1
,colorfile =#1
}
+ ,colorlinks / false .meta:n =
+ {
+ ,colorurl =#1
+ ,colorlink =#1
+ ,colorrun =#1
+ ,colormenu =#1
+ ,colorfile =#1
+ }
,colorlinks .default:n = {true}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 8861d8b53f..3ff91e5445 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index 75e944cf82..f655a84c26 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2024-04-09}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2024-04-09}{}
+ {l3backend-testphase-dvips.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2024-04-09}{}
+ {l3backend-testphase-dvisvgm.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2024-04-09}{}
+ {l3backend-testphase-luatex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2024-04-09}{}
+ {l3backend-testphase-pdftex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2024-04-09}{}
+ {l3backend-testphase-xetex.def}{2024-05-23}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -2528,6 +2528,23 @@
% \end{macrocode}
% \end{macro}
%
+% With luatex it is for some standards also necessary to suppress the CidSet
+% entry in the fonts (with xetex there seem to be no problem.
+% \begin{macro}{\@@_backend_omit_cidset:n}
+% The option to omit /Charset exists already for quite some time for the two
+% engines.
+% \begin{macrocode}
+%<*xdvipdfmx|dvipdfmx|dvips|dvisvgm|pdftex>
+\cs_new_protected:Npn \@@_backend_omit_cidset:n #1 {} %#1 number
+%</xdvipdfmx|dvipdfmx|dvips|dvisvgm|pdftex>
+%<*luatex>
+\cs_new_protected:Npn \@@_backend_omit_cidset:n #1 %#1 number
+ {
+ \tex_pdfvariable:D omitcidset = #1 \scan_stop:
+ }
+%</luatex>
+% \end{macrocode}
+% \end{macro}
%
% \subsection{lua code for lualatex}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index c4e96784b0..09b998ff81 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index 4b04b4308b..ef02e9cf5a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdfannot}{2024-05-23}{0.96i}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index a64cceab21..1000505030 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index 82d0979a02..514595e41c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdfdict}{2024-05-23}{0.96i}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index d47028ee51..555a105c9a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index 6093a6d442..f4d71c50e8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index 81bb3eab72..34fe45aec2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index 534959fcaf..7f702d2934 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -64,7 +64,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index e680f95935..3ce7e4651f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index 2a114768be..e645449393 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index 3456e45f32..f2fe192ac0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 47c3e95df1..b030de3323 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index e84df48b53..fc5114da30 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index 899042413a..8e16ebb596 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -83,7 +83,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 51804d8c3e..d182341cca 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index bb61dd44e7..0e3fe0c92d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index 5c9d33c98a..c1968b575e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index 8b11e57558..c888fab7c4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -69,7 +69,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-04-09}{0.96h}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-05-23}{0.96i}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index 906a58d2b0..914e4d07b3 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index 65ac4c35fb..205dcfd7ba 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -398,7 +398,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdffile}{2024-05-23}{0.96i}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 375d8bba15..3cd861c557 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index 138b7760fc..9213e670f7 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -57,7 +57,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdfmanagement}{2024-05-23}{0.96i}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 8c02b7fbc4..59b1627594 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index bcdda4fbde..ff5483ca69 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -627,7 +627,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdfmeta}{2024-05-23}{0.96i}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -2991,14 +2991,14 @@
\cs_new_protected:Npn \@@_xmp_wtpdf_reuse_declaration:
{
\pdfmeta_xmp_add_declaration:eeenn
- {http://pdfa.org/declarations\c_hash_str wtpdf-reuse1.0}
+ {http://pdfa.org/declarations/wtpdf\c_hash_str reuse1.0}
{LaTeX~Project}
{\@@_xmp_iso_today:}{}{}
}
\cs_new_protected:Npn \@@_xmp_wtpdf_accessibility_declaration:
{
\pdfmeta_xmp_add_declaration:ennnn
- {http://pdfa.org/declarations\c_hash_str wtpdf-accessibility1.0}
+ {http://pdfa.org/declarations/wtpdf\c_hash_str accessibility1.0}
{LaTeX~Project}
{\@@_xmp_iso_today:}{}{}
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index 31abe3cc77..e9aedc14cf 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index d440373372..cc0f14d81b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -155,10 +155,14 @@
% command is \emph{used}, but only at \emph{shipout}.
% This requires new engines which
% allow to use the keyword \texttt{shipout} with the primitive
-% \cs{special} and \cs{pdfliteral}. The content of \meta{dictionary content}
-% is added in the stream.
+% \cs{special} and \cs{pdfliteral}. Also differently to \cs{pdf_bdc:ee}
+% the content of \meta{dictionary content} is added inline in the stream
+% with most engines (not on the dvips + ps2pdf route).
+% This means that this command can also be used if such an inline dictionary is preferred.
+%
+% The command requires current engines and
+% is not defined if an too old engine is detected!
%
-% The command requires current engines and is not defined if an to old engine is detected!
% \end{function}
%
% \begin{function}[added = 2020-07-03]
@@ -231,7 +235,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdftools}{2024-05-23}{0.96i}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index 4dca8de6ec..8710b7d376 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index c135d90f88..d567f42cb2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2024-04-09}{0.96h}
+\ProvidesExplPackage{l3pdfxform}{2024-05-23}{0.96i}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index 5871db8203..3e4df1cbe1 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index e51d8ea205..b6d1b2f45b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2024-04-09}{0.96h}
+\ProvidesExplPackage{ltdocinit}{2024-05-23}{0.96i}
{Initialize document metadata}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index 9778c2647f..e4c849da16 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 61853b0d5b..6bd57345df 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-04-09}{0.96h}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-05-23}{0.96i}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 7d4b656e9a..39a84280bc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index eec73f1105..6dc445b7ff 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96h, released 2024-04-09}
+% \date{Version 0.96i, released 2024-05-23}
%
% \maketitle
% \begin{documentation}
@@ -394,7 +394,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-04-09}{0.96h}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-05-23}{0.96i}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -422,7 +422,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-04-09}{0.96h}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-05-23}{0.96i}
{PDF~management~code~(testphase)}
% \end{macrocode}
% We define a boolean for the new delayed shipout. This is temporary. At some
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index d8204141ca..3c816a8e5c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 6b553f8519..cc220aa313 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-04-09 v0.96h patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-05-23 v0.96i patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/pdfpages/pdfpages.dtx b/macros/latex/contrib/pdfpages/pdfpages.dtx
index 7c53462359..5b41ae68c4 100644
--- a/macros/latex/contrib/pdfpages/pdfpages.dtx
+++ b/macros/latex/contrib/pdfpages/pdfpages.dtx
@@ -27,12 +27,12 @@
%<*dtx>
\makeatletter
%</dtx>
-\def\AM@fileversion{v0.5y}
+\def\AM@fileversion{v0.6a}
\def\AM@Git@Date@process$#1: #2 #3${\AM@Git@Date@process@i#2\END}
\def\AM@Git@Date@process@i#1-#2-#3\END{\def\AM@Git@Date{#1/#2/#3}}
\def\AM@Git@SHA@process$#1: #2${\def\AM@Git@SHA{#2}}
-\AM@Git@Date@process$Date: 2024-01-21 13:41:59 +0100 $
-\AM@Git@SHA@process$SHA-1: 019995ba4828f9b782eae8f6d4c9e90f257fa598 $
+\AM@Git@Date@process$Date: 2024-05-29 13:40:24 +0200 $
+\AM@Git@SHA@process$SHA-1: 8248eea896cba74c6d712bddc3e4ae8d4c403081 $
%</!(example1,example2,example3,installer)>
%
%
@@ -84,7 +84,7 @@
%
% \GetFileInfo{pdfpages.dtx}
%
-% \CheckSum{5106}
+% \CheckSum{5113}
%
% \CharacterTable
% {Upper-case \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
@@ -3831,6 +3831,10 @@
% these tex-files to use e.g. |\includegraphics|. However, this does not
% work out of the box for pdfpages with XeTeX-driver (as it does with
% pdftex-driver). We have to use |\import@path| of |import.sty|.
+%
+% Oups: |Subfiles.sty| uses |\import@path| as well. But we shall \emph{not}
+% use |\import@path| in combination with |subfiles.sty|. Let's use macro |\subfix|
+% to check for |subfiles.sty|.
% \begin{macrocode}
\def\AM@getpagecount{%
\expandafter\filename@parse\expandafter{\AM@currentdocname}%
@@ -3839,10 +3843,14 @@
\noexpand\def\noexpand\type@ext{.\filename@ext}}}%
\type@ext
\ifx\type@ext\AM@pdf@ext
- \ifdefined\import@path
- \let\AM@import@path\import@path
- \else
+ \ifdefined\subfix
\let\AM@import@path\@empty
+ \else
+ \ifdefined\import@path
+ \let\AM@import@path\import@path
+ \else
+ \let\AM@import@path\@empty
+ \fi
\fi
\setbox\@tempboxa=\hbox{\includegraphics{\AM@currentdocname}}%
\edef\AM@pagecount{\the\XeTeXpdfpagecount\AM@XeTeXquote
@@ -4887,6 +4895,13 @@
% \item Define |\@setmarks| if undefined.
% \end{itemize}
% \end{itemize}
+%
+% \subsection*{2024/04/29 v0.6a}
+% \begin{itemize}
+% \item Bugfix for ppxetex driver: Don't use |\import@path| in combination
+% with |subfiles.sty|.
+% \end{itemize}
+%
% \Finale
%
% \iffalse
diff --git a/macros/latex/contrib/pdfpages/pdfpages.pdf b/macros/latex/contrib/pdfpages/pdfpages.pdf
index 706810c894..a5ea1485bc 100644
--- a/macros/latex/contrib/pdfpages/pdfpages.pdf
+++ b/macros/latex/contrib/pdfpages/pdfpages.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfx/pdfx.pdf b/macros/latex/contrib/pdfx/pdfx.pdf
index 86e447b283..140c496d52 100644
--- a/macros/latex/contrib/pdfx/pdfx.pdf
+++ b/macros/latex/contrib/pdfx/pdfx.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfx/src/pdfx.dtx b/macros/latex/contrib/pdfx/src/pdfx.dtx
index ffdb92ee01..573a23b611 100644
--- a/macros/latex/contrib/pdfx/src/pdfx.dtx
+++ b/macros/latex/contrib/pdfx/src/pdfx.dtx
@@ -1,33 +1,33 @@
% \iffalse meta-comment
-%
+%
% File: pdfx.dtx
%
% Copyright (c) 2019, CV Radhakrishnan <cvr@river-valley.org>,
% Han The Thanh <thanh@river-valley.org>,
% Ross Moore <ross.moore@mq.edu.au>,
% Peter Selinger <selinger@mathstat.dal.ca>
-%
+%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.2 of this
% license or (at your option) any later version. The latest version
% of this license is in:
-%
+%
% http://www.latex-project.org/lppl.txt
-%
+%
% and version 1.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% \fi
%
-% \CheckSum{6309}
+% \CheckSum{6802}
% \iffalse
%
%<*driver>
\pdfcompresslevel 9
\providecommand{\pdfxopt}{a-2u}
\providecommand{\lastyear}{2018}
-\providecommand{\thisyear}{2019}
-\begin{filecontents*}{./\jobname.xmpdata}
+\providecommand{\thisyear}{2024}
+\begin{filecontents}[force]{./\jobname.xmpdata}
\Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
\Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
\Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
@@ -37,10 +37,10 @@
\Copyright{Public domain.}
\Copyrighted{False}
\CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{March \thisyear}
-\CoverDate{\thisyear-03-10}
+\CoverDisplayDate{July \thisyear}
+\CoverDate{\thisyear-07-01}
\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
+\Date{2024-07-01}
\Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
\Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
\Advisory{v1.6: Default RGB and CMYK profiles now require the colorprofiles.sty package.}
@@ -52,16 +52,29 @@
\Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
\Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
-\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
-\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
-\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
-\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
-\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
-\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
+\Advisory{v1.6.1: Flexibility with page boxes for PDF/X.}
+\Advisory{v1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
+\Advisory{v1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
+\Advisory{v1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
+\Advisory{v1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
+\Advisory{v1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
+\Advisory{v1.6.4: Added check and warning with luatex for whether \string\pdfminorversion\ can be changed.}
+\Advisory{v1.6.4: Ensure correct \string\catcode for input characters up to 31, when reading .xmpdata file.}
+\Advisory{v1.6.4: Disabled patched \string\mathaccentV\ due to incompatibility with wide base expressions.}
+\Advisory{v1.6.5: Support for \string\Nickname\ as Metadata command.}
+\Advisory{v1.6.5: Ensure par is unexpandable when reading Metadata.}
+\Advisory{v1.6.5a: Support for Memoir class's \string\stockwidth\ and \string\stockheight.}
+\Advisory{v1.6.5a: Added pdf20 option for PDF 2.0, with support for \string\pdfmajorversion.}
+\Advisory{v1.6.5b: Avoid loading xmpincl package from within a TeX grouping.}
+\Advisory{v1.6.5c: Avoid loading stringenc package from within a TeX grouping.}
+\Advisory{v1.6.5d: Disable some options for xcolor after use.}
+\Advisory{v1.6.5e: Ensure \string\pdfmajorversion\ and \string\pdfminorversion\ are both defined and set correctly.}
+\Advisory{v1.6.5e: Updated documentation; added new Bibliography entries and revised URL links.}
+\Advisory{v1.6.5f: Reset ifpdf properly; support \string\creationdate with XeTeX. Revised Glossary layout.}
\pdfxEnableCommands{%
\def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
\def\eee{^^c3^^aa^^cc^^81 }}
-\end{filecontents*}
+\end{filecontents}
\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}
\documentclass[a4paper]{ltxdoc}
\usepackage[\pdfxopt]{pdfx}
@@ -104,12 +117,12 @@
% \GetFileInfo{pdfx.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment}
-%
+%
% \DoNotIndex{\def,\edef,\gdef,\xdef,\global,\long,\let}
% \DoNotIndex{\expandafter,\string,\the,\ifx,\else,\fi}
% \DoNotIndex{\csname,\endcsname,\relax,\begingroup,\endgroup}
% \DoNotIndex{\DeclareTextCommand,\DeclareTextCompositeCommand}
-% \DoNotIndex{\space,\@empty,\special,\@nil,\advance\@nnil,\z@,\@@mod}
+% \DoNotIndex{\space,\@empty,\special,\@nil,\z@,\@@mod}
% \DoNotIndex{\\,\@gobble,\@@,\@fornoop,\@fortmp,\@ifundefined,\@firstoftwo,\@secondoftwo}
% \DoNotIndex{\@tempcnta,\@tempcntb,\@tempboxa,\ifnot@empty,\@this,\@firstofone}
% \DoNotIndex{\{,\},\alph,\bgroup,\dp,\ht,\kern,\egroup}
@@ -134,78 +147,92 @@
% \DoNotIndex{\scantokens,\typeout,\vrule,\wd}
%
% \changes{v1.00}{2008/12/01}{Initial commit to the CVS.}
-% \changes{v1.01}{2008/12/10}{glyphtounicode-cmr.tex included with the package.}
-% \changes{v1.3}{2008/12/01}{Fix copyright in xmp files.}
+% \changes{v1.01}{2008/12/10}{\texttt{glyphtounicode-cmr.tex} included with the package.}
+% \changes{v1.3}{2008/12/01}{Fix copyright in \texttt{.xmp} files.}
% \changes{v1.5.4}{2015/02/28}{Fixed timezone bug; Unicode support; more
% PDF variants; added color profiles.}
-% \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg
+% \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg
% with external color profiles.}
% \changes{v1.5.6}{2016/02/05}{Suppressed `dummy-space' font warning;
-% removed spurious '?' in XMP packets; improved handling of Color Profiles;
-% ensure Hy@pdfatrue when building PDF/A, for link flags;
-% properly enables xcolor conversion of color models.}
-% \changes{v1.5.7}{2016/02/17}{Removed UTF-8 characters that appear in
+% removed spurious `?' in XMP packets; improved handling of Color Profiles;
+% ensure \texttt{\textbackslash Hy@pdfatrue} when building PDF/A, for link flags;
+% properly enables \texttt{xcolor} conversion of color models.}
+% \changes{v1.5.7}{2016/02/17}{Removed UTF-8 characters that appear in
% the documentation only, within comments in the package source,
% but result in a validation failure. Language support in XMP metadata.
% Added macros for Windows and Mac system color profile directories.}
% \changes{v1.5.8}{2016/05/03}{MediaBox, TrimBox, etc. derived from
-% the paperheight, paperwidth. Improved language support, incl. KOI8-R
+% the \texttt{\textbackslash paperheight}, \texttt{\textbackslash paperwidth}.
+% Improved language support, incl. KOI8-R
% encoded cyrillics, Armenian OT6, and LGR Greek encoding, incl. polytonic Greek.
% All the encodings Latin-1--9 are supported for upper 8-bit characters.
-% Fixed the quoted file-name problem, evident with LuaTeX.
+% Fixed the quoted file-name problem, evident with Lua\TeX.
% Method to generate correct bookmarks with non-active (transliterated) input.
-% Added support for XeLaTeX, improvements with LuaTeX. Updated documentation.}
+% Added support for Xe\LaTeX, improvements with Lua\TeX. Updated documentation.}
% \changes{v1.5.82}{2017/05/12}{%
-% Adjusted to changes in the LaTeX core, affecting macros for composite
+% Adjusted to changes in the \LaTeX\ core, affecting macros for composite
% commands; incl. \texttt{\textbackslash textsuperscript} and others.}%
-% \changes{v1.5.83}{2017/05/16}{Improved support for XeLaTeX and LuaLaTeX.}%
-% \changes{v1.5.84}{2017/05/18}{Fully expand options for hyperref. Better support
+% \changes{v1.5.83}{2017/05/16}{Improved support for Xe\LaTeX\ and Lua\LaTeX.}%
+% \changes{v1.5.84}{2017/05/18}{Fully expand options for \texttt{hyperref}. Better support
% for extended IPA letters and modifiers. Adjusted release versions and dates.}%
-% \changes{v1.5.85}{2017/06/23}{Fixed bugs, and fully implemented L8U as
-% a pseudo-encoding; renamed L8U files into the form *-penc.def }%
-% \changes{v1.6}{2018/11/18}{Added XMP support for PDF/UA-1.
-% Added more Metadata fields and Language support.
-% Default RGB and CMYK profiles now require the colorprofiles.sty package.
-% Added file CallasColorProfiles.tex .
-% Revised glyphtounicode.sty to use variation selectors, altered maps to PUA
-% codepoints; added more glyphs via glyphtounicode-ntx.tex .
+% \changes{v1.5.85}{2017/06/23}{Fixed bugs, and fully implemented L8U as
+% a pseudo-encoding; renamed L8U files into the form \texttt{*-penc.def}.}%
+% \changes{v1.6}{2018/11/18}{Added XMP support for PDF/UA-1.
+% Added more Metadata fields and Language support.
+% Default RGB and CMYK profiles now require the \texttt{colorprofiles.sty} package.
+% Added file \texttt{CallasColorProfiles.tex}.
+% Revised \texttt{glyphtounicode.sty} to use variation selectors, altered maps to PUA
+% codepoints; added more glyphs via \texttt{glyphtounicode-ntx.tex}.
% Support for 8-bit Hebrew encodings, some Arabic and Devanagari.
-% Updated documentation, incl. for LaTeX changes.
+% Updated documentation, incl. for \LaTeX\ changes.
% }%
-% \changes{v1.6.1}{2018/12/22}{Fixed issue with ifthen package;
-% improved Metadata with LuaTeX and XeTeX. Flexibility with page boxes for PDF/X.}%
-% \changes{v1.6.2}{2019/01/04}{Fixed passing of options to xcolor, and some glyphtounicode values.}%
-% \changes{v1.6.3}{2019/02/27}{Fixed encoding issues; support for new pdfomitcharset primitive;
-% reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}%
+% \changes{v1.6.1}{2018/12/22}{Fixed issue with \texttt{ifthen} package;
+% improved Metadata with Lua\TeX\ and Xe\TeX. Flexibility with page boxes for PDF/X.}%
+% \changes{v1.6.2}{2019/01/04}{Fixed passing of options to \texttt{xcolor}, and some \texttt{glyphtounicode} values.}%
+% \changes{v1.6.3}{2019/02/27}{Fixed encoding issues; support for new \texttt{\textbackslash pdfomitcharset} primitive;
+% reference to \textsf{veraPDF} validation software; additions to \texttt{glyphtounicode-ntx.tex}.}%
+% \changes{v1.6.4}{2019/09/26}{Added check and warning with \texttt{luatex} for whether \texttt{\textbackslash pdfminorversion} can be changed;
+% ensure correct \texttt{\textbackslash catcode} for input characters up to 31, when reading \texttt{.xmpdata} file;
+% disabled patched \texttt{\textbackslash mathaccentV} due to incompatibility with wide base expressions.}
+% \changes{v1.6.5}{2021/07/06}{Support for \texttt{\textbackslash Nickname} as Metadata command;
+% ensure \texttt{\textbackslash par} is unexpandable when processing XMP metadata.}
+% \changes{v1.6.5a}{2023/10/17}{Added option \texttt{pdf20} for future need with PDF 2.0; support for \texttt{\textbackslash pdfmajorversion};
+% support for Memoir's \texttt{\textbackslash stockwidth} and \texttt{\textbackslash stockheight} dimen registers.}
+% \changes{v1.6.5b}{2024/04/05}{Avoid loading \texttt{xmpincl} package from within a \TeX\ grouping.}
+% \changes{v1.6.5c}{2024/05/23}{Avoid loading \texttt{stringenc} package from within a \TeX\ grouping.}
+% \changes{v1.6.5d}{2024/05/29}{Adjust for non-zero \texttt{\textbackslash stockwidth} only; prevent changes to \texttt{xcolor} options after use.}
+% \changes{v1.6.5e}{2024/06/22}{Ensure \texttt{\textbackslash pdfmajorversion} and \texttt{\textbackslash pdfminorversion}
+% are both defined and set correctly. Updated documentation; added new Bibliography entries and revised URL links.}
+% \changes{v1.6.5f}{2024/06/24}{Reset \texttt{\textbackslash ifpdf} properly; support \texttt{\textbackslash creationdate} with Xe\TeX. Revised Glossary layout.}
% \title{Generation of PDF/X- and PDF/A-\penalty-200 compliant PDFs with \pdftex --- \texttt{pdfx.sty}}
-% \date{2019/02/27}
-% \version{1.6.3}
+% \date{2024/07/01}
+% \version{1.6.5f}
% \keywords{PDF, PDF/A, PDF/X, pdf\TeX, \LaTeX, Multilingual Metadata}
% \author{C.\,V.\,Radhakrishnan, \Thanh, Ross Moore {\upshape\small
% and} Peter Selinger}
% \contact{\texttt{[cvr,thanh]@river-valley.org},\\%
-% \texttt{ross.moore@mq.edu.au}, \texttt{selinger@mathstat.dal.ca}\hss}
-%
+% \texttt{ozross@icloud.com}, \texttt{selinger@mathstat.dal.ca}\hss}
+%
% \maketitle
%
% \StopEventually{}
%
% \section[Introduction]{Introduction}
%
-% This package\footnote{An earlier version of this documentation
+% This package\footnote{An earlier version of this documentation
% was published as \cite{pdfx}. All the changes since then have been developed
% and coded by the 3rd-listed author.}
-% currently supports generation of PDF/X-, PDF/A- and PDF/E-compliant
+% currently supports generation of PDF/X-, PDF/A- and PDF/E-compliant
% documents, using \pdftex, in most of their variants;
% see the complete list in Section~\ref{ssec-options} below.
% As of \TeX\,Live 2016 it now also works with Lua\LaTeX\ and Xe\LaTeX,
% when using appropriate command-line options\footnote{%
-% The required invokation is:\quad
+% The required invocation is:\quad
% |xelatex --shell-escape -output-driver="xdvipdfmx -z 0" <filename>.tex |}, but
% with some limitations --- see Sections~\ref{sssec-xetex} and \ref{sssec-luatex}.
-% By `supports', we mean that the package provides correct and sufficient
+% By `supports', we mean that the package provides correct and sufficient
% means to declare that a document conforms with a stated PDF variant
-% (PDF/X, PDF/A, PDF/E, PDF/VT, PDF/UA, etc.) along with the version and/or
+% (PDF/X, PDF/A, PDF/E, PDF/VT, PDF/UA, etc.) along with the version and/or
% level of conformance.
% This package also allows appropriate Metadata and Color Profile
% to be specified, according to the requirements of the PDF variant.
@@ -216,7 +243,7 @@
% information as well as a large range of optional data, a fully validating
% PDF file cannot be achieved. The PDF can be created, having the correct
% visual appearance on all pages, but it will not pass validation checks.
-% Sections~\ref{ssec-metadata} and \ref{ssec-multi} describe
+% Sections~\ref{ssec-metadata} and \ref{ssec-multi} describe
% how this file should be constructed.
%
% \medskip
@@ -224,23 +251,24 @@
% of document structure and type of content that may be required
% (or restricted) within a PDF variant. For example, PDF/VT \cite{PDFVT} requires
% well-structured parts, using Form XObject sections tagged as `/DPart'.
-% Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require
-% a fully `Tagged PDF', including a detailed structure tagging which
+% Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require
+% a fully `Tagged PDF', including a detailed structure tagging which
% envelops the complete contents of the document, as does also PDF/UA \cite{PDF-UA}.
-% This is beyond the current version of \LaTeX\ engines, as commonly shipped.
+% This is beyond the current version of \LaTeX\ engines as commonly shipped;
+% though see Section~\ref{sec-pdf20} for recent developments.
% So while this package provides enough to meet the declaration,
-% metadata and font-handling aspects for these PDF/A variants,
-% it is not sufficient to produce fully conforming PDFs.
-% However, with extra \pdftex-based software or macro coding that \emph{is} capable
-% of producing `Tagged PDF', this package can be used as part of
-% the overall workflow to produce fully conforming documents.
+% Metadata and font-handling aspects for these PDF/A variants,
+% it is not sufficient to produce fully-conforming PDFs.
+% However, with extra \pdftex-based software or macro coding that \emph{is} capable
+% of producing `Tagged PDF', this package can be used as part of
+% the overall workflow to produce fully-conforming documents; see \cite{tpdf}.
%
%
% \subsection{PDF standards}\label{ssec-standards}
%
% PDF/X and PDF/A are umbrella terms used to denote several ISO
-% standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3}
-% that define different subsets of the PDF standard \cite{PDF17,ISO32000}.
+% standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3}
+% that define different subsets of the PDF standard \cite{PDF17,ISO32000}.
% The objective of PDF/X is to facilitate graphics exchange between
% document creator and printer and therefore, has all requirements
% related to printing. For instance, in PDF/X, all fonts need to be
@@ -249,28 +277,28 @@
% specifications of PDF/X.
% Since 2005 other variants of PDF/X have emerged, as extra effects
% (such as layering and transparency) have been supported within the PDF
-% standard itself. The full range of versions and conformance supported
+% standard itself. The full range of versions and conformance supported
% in this package is discussed below in Section~\ref{ssec-options}.
%
% PDF/A defines a profile for archiving PDF documents, which ensures
% the documents can be reproduced in the exact same way in years to
% come. A key element to achieving this is that PDF/A documents
% are 100\% self-contained. All the information needed to display the
-% document in the same manner every time is embedded in the file.
+% document in the same manner every time is embedded in the file.
% A PDF/A document is not permitted to be reliant on information from
% external sources. Other restrictions include avoidance of
-% audio/video content, JavaScript and encryption.
-% Mandatory inclusion of fonts, color profile and standards-based metadata
+% audio/video content, JavaScript and encryption.
+% Mandatory inclusion of fonts, color profile and standards-based metadata
% are absolutely essential for PDF/A.
% Later versions allow for use of image compression and file attachments.
%
-% PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows.
+% PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows.
% PDF/VT \cite{PDFVT} allows for high-volume customised form printing, such as utility bills.
% PDF/UA (`Universal Accessibility') has emerged as a standard \cite{PDF-UA,PDFUA1,PDFUABSI}
-% supporting Assistive Technologies, incorporating web-accessibility guidelines (WCAG)
-% for electronic documents.
+% supporting Assistive Technologies, incorporating web-accessibility guidelines (WCAG)
+% for electronic documents.
% In future, PDF/H may emerge for health records and medical-related
-% documents. Other applications can be envisaged.
+% documents. Other applications can be envisaged.
% Declarations and Metadata are supported for the first three of these.
% The others are the subject of further work; revised versions of this
% package can be expected in later years.
@@ -281,6 +309,30 @@
% and whatever else is relevant to how the standards have been established
% and how they can be used.
%
+% \subsection{Later \LaTeX\ changes, support for newer PDF standards}\label{sec-pdf20}
+%
+% Although PDF 2.0~\cite{PDF20} was first published in 2017 and revised in 2020, it has taken
+% a long time for it to become a target format for documents built using \LaTeX.
+% This is because the requirement of using `Tagged PDF' is stringent, requiring
+% a reworking of almost every aspect of \LaTeX's document production model \cite{LaTeXPDF}.
+% Work to this end is going on, via the PDF Association's `\LaTeX\ Project LWG'\cite{PDF-LaTeX},
+% the experimental |tagpdf| package \cite{tagpdf}, and Ross Moore's |tpdf| package and macro suite \cite{tpdf}.
+% Significant internal changes have been made to \LaTeX\ itself, which in turn have
+% required the |v1.6.5x| updates in 2024 to this |pdfx| package. We thank the following users for reporting
+% issues arising from such changes: Sergio Zenoni, Takehiko Tanabe, Tom\'a\v s Nov\'a\v cek.
+%
+% In early 2024 the PDF Association published several documents for new and updated standards
+% based upon PDF 2.0~\cite{PDF20}. These include PDF/UA-2 \cite{PDFUA2}, PDF `Declarations' \cite{PDFDecl},
+% `Well-Tagged PDF' (WTPDF) \cite{WTPDF} with declarations for `Accessibility' and `Reuse',
+% adding to PDF/A-4 \cite{PDFA4}, PDF/X-6 \cite{PDFX6} and PDF/VT-3 \cite{PDFVT3}, each with various flavours.
+% To support these, there will be released in late 2024 a variant named |pdfx2| as an extension of |pdfx|,
+% with separate documentation detailing how to specify appropriate XMP metadata \cite{XMP-ISO}.
+%
+% Once |pdfx2| becomes available, this will take on the role of handling new developments for
+% \LaTeX\ support of PDF 2.0-based software solutions. The |pdfx| package will remain under
+% active development, primarily to ensure compatibility of existing documents with PDF 1.7-based
+% requirements (tagged or otherwise), following any further changes in \LaTeX\ or other packages.
+%
% \section[Usage]{Usage}\label{sec-usage}
%
% The package can be loaded with the command:
@@ -292,7 +344,7 @@
% \subsection{Package options}\label{ssec-options}
%
% \subsubsection{PDF/A options}
-%
+%
% PDF/A is an ISO standard~\cite{PDFA,PDFA2,PDFA3} intended for long-term archiving of
% electronic documents. It therefore emphasizes self-containedness and
% reproducibility, as well as machine-readable metadata. The PDF/A
@@ -307,7 +359,7 @@
% versions contain a subset of the features of later versions, so for
% maximum portability, it is preferable to use a lower-numbered
% version, when the extra features allowed in higher versions are not used.
-% There is no conformance level `u' in version 1 of the standard.
+% There is no conformance level `u' in version 1 of the standard.
% Thus for many typical uses of PDF/A, it is sufficient to use PDF/A-1b.
%
% \begin{itemize}
@@ -320,28 +372,28 @@
% \item |a-3b|: generate PDF/A-3b.
% \item |a-3u|: generate PDF/A-3u.
% \end{itemize}
-% By `Experimental, not fully implemented' here we mean primarily that
+% By `Experimental, not fully implemented' here we mean primarily that
% the document structure, as required for `Tagged PDF', is not handled
-% by this package. Using other \pdftex-based software that \emph{is}
+% by this package. Using other \pdftex-based software that \emph{is}
% capable of producing such complete tagging, conforming documents
% can indeed be produced.
%
% \subsubsection{PDF/E options}
-%
+%
% PDF/E is an ISO standard~\cite{PDFE} intended for documents used in engineering
% workflows. There is only one version of the PDF/E standard so far,
% and it is called PDF/E-1.
-%
+%
% \begin{itemize}
% \item |e-1|: generate PDF/E-1.
% \item |e|: same as |e-1|.
% \end{itemize}
%
% \subsubsection{PDF/UA options}
-%
-% PDF/UA is an ISO and ANSI standard~\cite{PDF-UA,PDFUABSI} intended for making
-% structured documents readable and navigable using Assistive Technology;
-% e.g., screen-readers, Braille keyboards and such-like.
+%
+% PDF/UA is an ISO and ANSI standard~\cite{PDF-UA,PDFUABSI} intended for making
+% structured documents readable and navigable using Assistive Technology;
+% e.g., screen-readers, Braille keyboards and such-like.
% Documents prepared this way can be easily saved in other formats which
% preserve the structure, such as XML, HTML, and (Microsoft) Word-based formats.
%
@@ -359,20 +411,20 @@
% multi-file exchange, and level 2s is for streamed delivery.
% Currently, none of the PDF/VT conformance levels are fully
% implemented by the |pdfx| package.
-%
+%
% \begin{itemize}
% \item |vt-1|: generate PDF/VT-1, based on PDF/X-4. Experimental, not fully implemented
% \item |vt-2|: generate PDF/VT-2, based on PDF/X-5pg. Experimental, not fully implemented.
% \item |vt-2s|: generate PDF/VT-2s. Experimental, not fully implemented.
% \end{itemize}
-% By `Experimental, not fully implemented' here we mean primarily that
+% By `Experimental, not fully implemented' here we mean primarily that
% the structuring of a document into `/DPart' sections, as Form XObjects,
-% is not handled by this package.
-% This \emph{is} possible with current \pdftex\ software,
+% is not handled by this package.
+% This \emph{is} possible with current \pdftex\ software,
% but not yet in a way that lends itself easily to full automation, due to
% requirements of knowing the internal object number of certain internal
-% PDF constructs. All the other aspects: PDFInfo declaration, Metadata
-% and Color Profile, of the PDF/VT variants are correctly handled.
+% PDF constructs. All the other aspects: PDFInfo declaration, Metadata
+% and Color Profile, of the PDF/VT variants are correctly handled.
%
% \subsubsection{PDF/X options}
%
@@ -380,13 +432,13 @@
% emphasizes printing-related requirements, such as embedded fonts and
% color profiles. The PDF/X standard has a large number of variants
% and conformance levels. The basic variants are X-1, X-1a,
-% X-3, X-4, and X-5. (Note that a revised version of the X-2 standard
-% was published in 2003 but withdrawn as an ISO standard in 2011,
-% basically due to lack of interest in using it).
-% The PDF/X-1a standard exists in revisions of 2001 and 2003,
-% the PDF/X-3 standard exists in revisions of 2002 and 2003,
-% and the PDF/X-4 and PDF/X-5 standards exist in revisions of 2008 and 2010.
-% Moreover, some of these standards have a `p' version, which permits the
+% X-3, X-4, and X-5. (Note that a revised version of the X-2 standard
+% was published in 2003 but withdrawn as an ISO standard in 2011,
+% basically due to lack of interest in using it).
+% The PDF/X-1a standard exists in revisions of 2001 and 2003,
+% the PDF/X-3 standard exists in revisions of 2002 and 2003,
+% and the PDF/X-4 and PDF/X-5 standards exist in revisions of 2008 and 2010.
+% Moreover, some of these standards have a `p' version, which permits the
% use of an externally supplied color profile (instead of an embedded one),
% and/or a `g' version, which permits the use of external graphical
% content. Moreover, PDF/X-5 has an `n' version, which extends
@@ -401,14 +453,14 @@
% \item |x-2|: generate PDF/X-2; unpublished, doesn't validate.
% \item |x-3|: generate PDF/X-3. Options |x-302| and |x-303| are
% also available to specify PDF/X-3:2002 or PDF/X-3:2003 explicitly.
-% \item |x-4|: generate PDF/X-4. Options |x-408| and |x-410| are
+% \item |x-4|: generate PDF/X-4. Options |x-408| and |x-410| are
% also available to specify PDF/X-4:2008 or PDF/X-4:2010 explicitly.
% \item |x-4p|: generate PDF/X-4p. Options |x-4p08| and |x-4p10| are
% also available to specify PDF/X-4p:2008 or PDF/X-4p:2010 explicitly.
% \item |x-5g|: generate PDF/X-5g. Options |x-5g08| and |x-5g10| are
% also available to specify PDF/X-5g:2008 or PDF/X-5g:2010 explicitly.
% \item |x-5n|: generate PDF/X-5n. Options |x-5n08| and |x-5n10| are
-% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 explicitly.
+% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 explicitly.
% Experimental, not fully implemented.
% \item |x-5pg|: generate PDF/X-5pg. Options |x-5pg08| and |x-5pg10| are
% also available to specify PDF/X-5pg:2008 or PDF/X-5pg:2010 explicitly.
@@ -441,9 +493,11 @@
% applicable standard.\\This may produce a non-standard-conforming PDF file.
% \item |pdf17|: use PDF 1.7, overriding the version specified by the
% applicable standard.\\This may produce a non-standard-conforming PDF file.
+% \item |pdf20|: use PDF 2.0, experimental in preparation for use with future
+% software, under development. This may produce a non-standard-conforming PDF file.
% \item |nocharset|: do not generate the Charset entry for fonts (\pdftex\ only).
% \item |usecharset|: generate the Charset entry for fonts (\pdftex\ only).
-% \end{itemize}
+% \end{itemize}
% The latter two options affect the value of the |\pdfomitcharset| primitive,
% added to \pdftex\ in 2019, due to differing requirements for PDF/A-1
% and other PDF/A versions. Indeed use of the |/Charset| entry for a font
@@ -451,14 +505,14 @@
%
% \subsubsection{XMP language options}\label{ssec-xmplang}
%
-% These options allow for characters in alphabets other than those
-% used for English and Western European languages to be used
-% within the |.xmpdata| file (see Section~\ref{ssec-metadata}),
+% These options allow for characters in alphabets other than those
+% used for English and Western European languages to be used
+% within the |.xmpdata| file (see Section~\ref{ssec-metadata}),
% supported through \LaTeX\ character representation macros.
% \begin{itemize}
-% \item |latxmp|: extended Latin blocks, |Ux0180|--|Ux024F|
-% and |Ux1E00|--|Ux1EFF|
-% \item |armxmp|: armenian letters and ligatures, |Ux0530|--|Ux058F|,
+% \item |latxmp|: extended Latin blocks, |Ux0180|--|Ux024F|
+% and |Ux1E00|--|Ux1EFF|
+% \item |armxmp|: armenian letters and ligatures, |Ux0530|--|Ux058F|,
% via macros |\armyba|, |\armfe|, |\armcomma|, etc.
% \item |cyrxmp|: cyrillic letters and accents, |Ux0400|--|Ux04FF|
% and |Ux0500|--|Ux0527| via macros |\cyra|, |\CYRN|, etc.
@@ -472,8 +526,8 @@
% via macros |\abreve|, |\uhorn|, |\ECIRCUMFLEX|, etc.
% \item |ipaxmp|: phonetic extensions, |Ux0250|--|Ux02AF|
% and |Ux1D00|--|Ux1DFF|
-% \item |mathxmp|: mathematical letters, symbols, operators
-% arrows, alphanumeric forms.
+% \item |mathxmp|: mathematical letters, symbols, operators
+% arrows, alphanumeric forms.
% \item |allxmp|: all of the above, as well as those listed next;
% used primarily for testing compatibility with other packages.
% \end{itemize}
@@ -486,13 +540,13 @@
% Further options allow direct (enclosed) input of upper 8-bit
% characters, from encodings such as Latin-1--Latin-9, KOI8-R,
% LGR (Greek), ArmSSCI8, and a few more.
-% Use of these requires a carefully controlled parsing regime.
+% Use of these requires a carefully controlled parsing regime.
% Here we list the package options that declare such content
% may be present in the |.xmpdata| file.
-% A detailed account of how these are used is given
+% A detailed account of how these are used is given
% in~Section~\ref{ssec-multi} (``Multilingual Metadata'').
% \begin{itemize}
-% \item |LATxmp|: support for direct use of the upper-range characters
+% \item |LATxmp|: support for direct use of the upper-range characters
% (byte codes 160--255) for input encodings Latin1--Latin9, for
% Latin-based alphabets as used in European countries and elsewhere.
% This defines parser macros |\textLAT|, |\textLII|, \dots, |\textLIX|.
@@ -501,7 +555,7 @@
% of upper-range characters (byte codes 148--255) under input
% encodings KOI8-R and KOIR8-RU, using |\textKOI| as parser macro.
% All support from |cyrxmp| is loaded also.
-% \item |LGRxmp|: support for greek letters entered using either
+% \item |LGRxmp|: support for greek letters entered using either
% the LGR input transliteration of ASCII characters, or the ISO-8859-7
% encoding of upper-range characters (byte codes 160--255),
% or a combination of both, using |\textLGR| as parser macro.
@@ -509,25 +563,25 @@
% \item |AR8xmp|: support for armenian letters entered using the
% Arm\TeX~2.0 input transliteration of ASCII characters, or the
% ArmSCII8 encoding of upper-range characters (byte codes 160--255),
-% or a combination of both, using |\textARM| as parser macro.
+% or a combination of both, using |\textARM| as parser macro.
% All support from |armxmp| is loaded also.
-% \item |HEBxmp|: support for hebrew letters entered using either
-% LHE input transliteration of ASCII characters, or the CP1255, CP862
+% \item |HEBxmp|: support for hebrew letters entered using either
+% LHE input transliteration of ASCII characters, or the CP1255, CP862
% or ISO-8859-8 (HE8) encoding of upper-range characters (byte codes 160--255),
% or a combination of these using |\textLHE|, |\textHEBO|, |\textHEB| as parser macros.
% All support from |hebxmp| is loaded also.
% \end{itemize}
-% These `parser' options have received limited testing, so please
+% These `parser' options have received limited testing, so please
% report any mistakes in the UTF-8 output that you may encounter.
%
% \subsection{Data file for metadata}\label{ssec-metadata}
%
-% As mentioned above, standards-compliant PDF documents require
-% document-level metadata to be included.
-% This, known as an `XMP packet'~\cite{XMP-spec,XMP-ISO},
+% As mentioned above, standards-compliant PDF documents require
+% document-level metadata to be included.
+% This, known as an `XMP packet'~\cite{XMP-spec,XMP-ISO},
% is like having a library catalog card included within the PDF itself. It is an unencrypted
% portion of the PDF file, with data expressed in Extensible Markup Language (XML),
-% using Resource Description Format (RDF~\cite{RDF}) syntax, encoded as UTF-8
+% using Resource Description Format (RDF~\cite{RDF}) syntax, encoded as UTF-8
% so readable by any text editing software on any modern computing platform.
%
% Some advantages of doing this are clear.
@@ -539,12 +593,12 @@
% \item For the author(s): who can specify the kind of information most appropriate
% to help readers understand the nature and purpose of the document.
% \end{itemize}
-%
-% The |pdfx| package builds the XMP metadata from information supplied via a special data file
-% called |\jobname.xmpdata|. Here, |\jobname| is usually the basename of the document's main
-% |.tex| file. For example, if your document source is in the file |main.tex|,
-% then the metadata must be in a file called |main.xmpdata|.
-% None of the individual metadata fields are mandatory, but for most documents, it makes sense
+%
+% The |pdfx| package builds the XMP metadata from information supplied via a special data file
+% called |\jobname.xmpdata|. Here, |\jobname| is usually the basename of the document's main
+% |.tex| file. For example, if your document source is in the file |main.tex|,
+% then the metadata must be in a file called |main.xmpdata|.
+% None of the individual metadata fields are mandatory, but for most documents, it makes sense
% to specify at least the title and the author. For more technical aspects of metadata
% and its uses, consult the work of the Dublin Core Initiative~\cite{DC} and PRISM~\cite{PRISM}.
%
@@ -557,72 +611,73 @@
% |\Publisher{Baking International}|
% \end{decl}
% You should note that multiple authors and keywords have been separated
-% by |\sep|. This |\sep| macro serves a technical purpose and is
+% by |\sep|. This |\sep| macro serves a technical purpose and is
% permitted within the |\Author|, |\Keywords|, and |\Publisher| fields,
-% as well as some others. See \S\ref{mdfields} below for a complete listing
+% as well as some others. See \S\ref{mdfields} below for a complete listing
% of the supported author-supplied metadata fields.
%
% After processing, the local directory contains a file named such as
% |pdfa.xmpi| or |pdfe.xmpi| or |pdfx.xmpi| according to the PDF variant desired.
-% This file is the complete XMP Metadata packet.
-% It can be checked for validity, using an online validator, such as at
+% This file is the complete XMP Metadata packet.
+% It can be checked for validity, using an online validator, such as at
% \href{http://www.pdflib.com/knowledge-base/xmp-metadata/free-xmp-validator/}{www.pdflib.com}.
-% \textsf{veraPDF}~\cite{veraPDF} is Open Source software providing validation for PDF/A,
+% \textsf{veraPDF}~\cite{veraPDF} is Open Source software providing validation for PDF/A,
% and other checkers useful in a PDF/A production setting.
-%
+%
% \textbf{Warning}: The |\jobname.xmpdata| file may be included in the
-% main document source, within a |{filecontents*}| environment,
+% main document source, within a |{filecontents}| environment,
% provided this comes \emph{before} the |\documentclass| command, as follows.
+% The |force| option ensures overwriting a previous file to catch recent edits.
% \begin{decl}[]
-% |\begin{filecontents*}{\jobname.xmpdata}|\\
+% |\begin{filecontents}[force]{\jobname.xmpdata}|\\
% | \Title{Baking through the ages}|\\
% | \Author{A. Baker\sep C. Kneader}|\\
% | \Language{en-GB}|\\
% | \Keywords{cookies\sep muffins\sep cakes}|\\
% | \Publisher{Baking International}|\\
-% |\end{filecontents*}|\\
+% |\end{filecontents}|\\
% |\documentclass[11pt,a4paper]{article}|\\
% |...|
% \end{decl}
% Including the metadata with the \LaTeX\ source is very convenient.
-% Having it at the top of the file also brings attention to it, placing emphasis on
-% the desirability of including metadata, and keeping it accurate while the main
-% content of the document is subject to changes or revision.
-% Macro definitions can also occur prior to the |\documentclass| command,
-% including any that may be needed within the metadata.
+% Having it at the top of the file also brings attention to it, placing emphasis on
+% the desirability of including metadata, and keeping it accurate while the main
+% content of the document is subject to changes or revision.
+% Macro definitions can also occur prior to the |\documentclass| command,
+% including any that may be needed within the metadata.
% An example of this is apparent in Figure~\ref{koi8-code} occurring later.
%
-% However, this ordering is also extremely important, else any non-ascii UTF-8 byte
-% sequences can become active characters and expand upon data being written out,
+% However, this ordering is also extremely important, else any non-ascii UTF-8 byte
+% sequences can become active characters and expand upon data being written out,
% rather than remaining as inactive bytes.
% If you edit the metadata supplied this way, remember to remove the
% existing copy of |\jobname.xmpdata| file before the next processing run,
-% as \LaTeX\ does not write a new copy of the file when it exists on disk already,
+% as \LaTeX\ does not write a new copy of the file when it exists on disk already,
% within the current working directory or elsewhere that \LaTeX\ may find.
% In development or testing situations the filename may need to be given as
% |./\jobname.xmpdata|, else an older version may be loaded in error.
-%
+%
% Experienced users/programmers can employ the \verb|\write18| mechanism%
-% \footnote{If you don't already know what this is, they you probably
-% should not try using it |:-)|.}, together with the |--shell-escape| command-line
-% option, to automatically execute a shell command that removes |\jobname.xmpdata|
-% on every (or on selected) processing runs.
+% \footnote{If you don't already know what this is, they you probably
+% should not try using it |:-)|.}, together with the |--shell-escape| command-line
+% option, to automatically execute a shell command that removes |\jobname.xmpdata|
+% on every (or on selected) processing runs.
% This is only useful when the metadata changes, for whatever reason.
%
% \medskip
-% Other places for the |{filecontents*}| environment can work,
+% Other places for the |{filecontents}| environment can work,
% but \emph{only} when it contains \emph{no} non-ascii UTF-8 byte sequences.
-% Since 2018, with default
+% Since 2018, with default
% See Section~\ref{ssec-symbols} below for more information on the macros
% that can be safely used within |.xmpdata| metadata files.
-%
+%
% \subsection{List of supported metadata fields}\label{mdfields}
-%
+%
% Following is a complete list of user-definable metadata fields currently supported,
% separated into particular groupings.
-% Each command is accompanied by the specific XML tagged field name (with namespace)
-% that is placed into the document-level Metadata packet, as well as the kind of information
-% being conveyed.
+% Each command is accompanied by the specific XML tagged field name (with namespace)
+% that is placed into the document-level Metadata packet, as well as the kind of information
+% being conveyed.
% More may be added in the future.
% These commands can \emph{only} be used within the |.xmpdata| file.
%
@@ -630,13 +685,13 @@
% using RFC5646 (BCP 47)~\cite{BCP47} codes, in which the metadata field is given.
% Languages for multiple entries can use e.g., |\sep[de] ...|.
% Only those fields requiring a specific format (e.g. dates) do \emph{not}
-% support language specifiers; these are indicated with \fixmd.
+% support language specifiers; these are indicated with \fixmd.
% Fields allowing more than one value are indicated with \starmd.
% Multiple values may be given as separate instances of the macro, or as a single
-% instance with the values delimited by |\sep|, as in the example above.
-%
+% instance with the values delimited by |\sep|, as in the example above.
+%
% \subsubsection{General information:}
-%
+%
% \begin{itemize}
% \item \starmd|\Author|: \hfill (|dc:creator|)\\
% the document's human author(s). Separate multiple authors with |\sep|.
@@ -661,10 +716,10 @@
% location of a web page describing the owner
% and/or rights statement for this document.
% \item \fixmd|\Copyrighted|: \hfill (|xmpRights:Marked|)\\
-% `True' if the document is copyrighted, and `False' if it isn't.
-% This is automatically set to `True' if either |\Copyright| or |\CopyrightURL| is specified,
-% but this can be overridden.
-% For example, if the copyright statement is `Public Domain',
+% `True' if the document is copyrighted, and `False' if it isn't.
+% This is automatically set to `True' if either |\Copyright| or |\CopyrightURL| is specified,
+% but this can be overridden.
+% For example, if the copyright statement is `Public Domain',
% then specify also |\Copyrighted{False}|.
% \item \starmd|\Owner|: \hfill (|xmpRights:Owner|)\\
% specifies the owner(s) of the document or resource.
@@ -673,18 +728,18 @@
% \end{itemize}
%
% \subsubsection{more Dublin Core metadata:}\label{sssec-dc}
-% From version 1.6 of |pdfx.sty|, the following fields can be used to provide a greater
-% range of information to be specified as metadata.
+% From version 1.6 of |pdfx.sty|, the following fields can be used to provide a greater
+% range of information to be specified as metadata.
% \begin{itemize}
% \item \starmd|\Contributor|: \hfill (|dc:contributor|)\\
% contributor(s) other than author(s) of the PDF document.
% \item |\Coverage|: \hfill (|dc:coverage|)\\
% statement about the extent or scope of the document's contents.
% \item \starmd\fixmd|\Date|: \hfill (|dc:date|)\\
-% date(s) when something significant occurred relating to the resource (e.g., version changes);
+% date(s) when something significant occurred relating to the resource (e.g., version changes);
% must be in ISO date format |YYYY-MM-DD| or |YYYY-MM|.
% \item \fixmd|\PublicationType|: \hfill (|dc:type|)\\
-% The type of publication. If specified, must be one of `book', `catalog', `feed', `journal',
+% The type of publication. If specified, must be one of `book', `catalog', `feed', `journal',
% `magazine', `manual', `newsletter', `pamphlet'. This is automatically set to `journal'
% if |\Journaltitle| is specified (see below), but can be overridden.
% \item \starmd|\Relation|: \hfill (|dc:relation|)\\
@@ -700,10 +755,10 @@
% \end{itemize}
%
% The remaining Dublin Core field |(dc:format)| is always set to `|application/pdf|'.
-%
+%
% \subsubsection{Publication information:}\label{sssec-publ}
-% The following macros allow for inclusion of publication related metadata fields,
-% as specified by PRISM~\cite{PRISM} to meet publishing requirements.
+% The following macros allow for inclusion of publication related metadata fields,
+% as specified by PRISM~\cite{PRISM} to meet publishing requirements.
% \begin{itemize}
% \item |\Journaltitle|: \hfill (|prism:issueName|)\\
% The title of the journal in which the document was published.
@@ -720,7 +775,7 @@
% \item |\CoverDisplayDate|: \hfill (|prism:coverDisplayDate|)\\
% Date on the cover of the journal issue, as a human-readable text string.
% \item \fixmd|\CoverDate|: \hfill (|prism:coverDate|)\\
-% Date on the cover of the journal issue, in a format suitable for storing in a database
+% Date on the cover of the journal issue, in a format suitable for storing in a database
% field with a `date' data type; e.g. |YYYY-MM|, or |YYYY-MM-DD|.
% \end{itemize}
% This is an area which can be expanded, to deal with more kinds
@@ -729,20 +784,20 @@
% Examples of this can be found in the template files |pdfx.xmp|, |pdfa.xmp|, |pdfe.xmp|.
%
% \subsubsection{Backward Compatibility}
-% The following macros are also recognised, for backward compatibility
+% The following macros are also recognised, for backward compatibility
% with earlier versions of the package.
% \begin{itemize}
% \item \starmd|\AuthoritativeDomain|: \hfill (|pdfx:AuthoritativeDomain|)\\
% specifies extra names (e.g., of companies) associated to the existence of the PDF or resource.
% \item |\Creator|: \hfill (|xmp:CreatorTool|)\\
-% synonymous with |\CreatorTool| which is usually handled automatically anyway,
+% synonymous with |\CreatorTool| which is usually handled automatically anyway,
% but can be over-ridden.
% \item |\Org|: synonymous with |\Publisher|.
% \item |\WebStatement|: synonymous with |\CopyrightURL|.
% \end{itemize}
-%
+%
% \subsubsection{more XMP metadata:}\label{sssec-xmp}
-%
+%
% \begin{itemize}
% \item \starmd|\Advisory|: \hfill (|xmp:Advisory|)\\
% noteworthy information; e.g., revision data or changes.
@@ -763,7 +818,7 @@
% with a PDF standard, and level of conformance.
% There are no separate user-macros to alter these.
% The first three dates are usually set to be identical.
-%
+%
% \begin{itemize}
% \item (|xmp:CreateDate|) : creation date\&time of the PDF.
% \item (|xmp:MetadataDate|) : creation date\&time of the Metadata for the PDF.
@@ -776,7 +831,7 @@
% \item (|pdfaid:conformance|) : |a|, |b| or |u| for PDF/A-??
% \item (|pdfuaid:part|) : currently |1| for PDF/UA-1
% \item (|pdfe:ISO_PDFEVersion|) : currently |1| for PDF/E-1
-% \item (|pdf:Version|) : |PDF/X-1|, |PDF/X-2| or |PDF/X-3|
+% \item (|pdf:Version|) : |PDF/X-1|, |PDF/X-2| or |PDF/X-3|
% \item (|pdfx:GTS_PDFXVersion|) : e.g., |PDF/X-1a:2003| up to PDF/X-3 ;
% but no year for PDF/X-4 and PDF/X-5 variants
% \item (|pdfx:GTS_PDFXConformance|) : e.g., |PDF/X-1a:2003| up to PDF/X-2
@@ -788,13 +843,13 @@
% \subsection{Symbols permitted in metadata}\label{ssec-symbols}
%
% Within the metadata, all printable ASCII characters except
-% |\|, |{|, |}| and |%| represent themselves. Also, all printable Unicode characters
-% from the basic multilingual plane (i.e., up to code point U+FFFF)
+% |\|, |{|, |}| and |%| represent themselves. Also, all printable Unicode characters
+% from the basic multilingual plane (i.e., up to code point U+FFFF)
% can be used directly with the UTF-8 encoding.
-% (Please note: encodings other than UTF-8 are not supported in the metadata,
-% except as arguments to `parser-macros'; see Section~\ref{ssec-xmplang}).
-% Consecutive whitespace characters are combined into a single space.
-% Whitespace after a macro such as |\copyright|, |\backslash|, or |\sep| is ignored.
+% (Please note: encodings other than UTF-8 are not supported in the metadata,
+% except as arguments to `parser-macros'; see Section~\ref{ssec-xmplang}).
+% Consecutive whitespace characters are combined into a single space.
+% Whitespace after a macro such as |\copyright|, |\backslash|, or |\sep| is ignored.
% Blank lines are not permitted.
% Moreover, the following markup can be used:
%
@@ -807,32 +862,32 @@
% \item |\copyright|: the copyright symbol \textcopyright
% \end{itemize}
% The macro |\sep| is permitted within |\Author|, |\Keywords|,
-% |\Publisher|, and other macros marked with \starmd\ above.
-% It's purpose is to separate multiple authors, keywords, etc.
-% to appear as separate list items appropriately and consistently
-% in the different ways that such information is represented
-% within the PDF file.
+% |\Publisher|, and other macros marked with \starmd\ above.
+% It's purpose is to separate multiple authors, keywords, etc.
+% to appear as separate list items appropriately and consistently
+% in the different ways that such information is represented
+% within the PDF file.
% The package takes care of this when |\sep| is used.
% For example, in the XMP metadata, it expands as |</rdf:li><rdf:li>| tagging.
%
% \subsubsection{PDF Info strings}\label{sssec-info}
-% When |\sep| is not used within its argument, the metadata from |\Title|,
-% |\Author| and |\Keywords| is also included in the PDF |/Info| dictionary.
+% When |\sep| is not used within its argument, the metadata from |\Title|,
+% |\Author| and |\Keywords| is also included in the PDF |/Info| dictionary.
% When this is the case, validation for the declared standard
% will occur only if the corresponding |/Info| item and XMP metadata field
-% convert to exactly the same Unicode string.
+% convert to exactly the same Unicode string.
% This cannot happen when |\sep| is used, so the |/Info| items are then not populated.
%
% Unfortunately not all PDF browsers (in particular, older ones and much Apple software)
% give ready access to the XMP metadata packet. Some authors want to see everything
-% using e.g., the Unix/Linux command: |pdfinfo -enc UTF-8 |. In fact there is the |-meta|
-% option to get the complete metadata packet (in UTF-8 encoding).
+% using e.g., the Unix/Linux command: |pdfinfo -enc UTF-8 |. In fact there is the |-meta|
+% option to get the complete metadata packet (in UTF-8 encoding).
% This can give more than what one wants, so use it as follows:
% \begin{decl}[]
% pdfinfo -meta <filename>.pdf \textbar\ grep 'dc:'
% \end{decl}
% to extract just the Dublin Core metadata fields.
-%
+%
% Another possibility is to \emph{not} use |\sep| with multiple authors and/or keywords.
% Instead replace it with simply `|, |'. We do not recommend doing this, as more sophisticated
% metadata tools will see the result as a single value, rather than multiple authors, say.
@@ -842,21 +897,21 @@
%
% \subsection{Macros permitted in metadata}\label{ssec-macros}
%
-% Other \TeX\ macros actually can be used, provided the author is very
+% Other \TeX\ macros actually can be used, provided the author is very
% careful and not ask for too-complicated \TeX\ or \LaTeX\ expansions
% into internal commands or non-character primitives; basically just accents,
% macros for Latin-based special characters, and simple textual replacements,
-% perhaps with a simple parameter. A special macro |\pdfxEnableCommands{...}|
+% perhaps with a simple parameter. A special macro |\pdfxEnableCommands{...}|
% is provided to help resolve difficulties that may arise.
%
% Here is an example\footnote{ Other use cases are discussed with regard to
-% Figures~\ref{arm-code} and \ref{math-wflow}.} of the use of |\pdfxEnableCommands|,
-% which occurs with the name of one of our authors {(H\`an Th\'{\^e} Thanh)}
+% Figures~\ref{arm-code} and \ref{math-wflow}.} of the use of |\pdfxEnableCommands|,
+% which occurs with the name of one of our authors {(H\`an Th\'{\^e} Thanh)}
% due to the doubly-accented letter \'{\^e}.
% It is usual to define a macro such as: |\def\thanh{H\`an Th\'{\^e} Thanh}|.
-% In previous versions of the |pdfx| package, use of such a macro
+% In previous versions of the |pdfx| package, use of such a macro
% within the |.xmpdata| file, in the |Copyright| information say,
-% could result in the accent macros expanding into internal primitives, such as
+% could result in the accent macros expanding into internal primitives, such as
% \begin{decl}[]
% | H\unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa ... |
% \end{decl}
@@ -867,7 +922,7 @@
% | \def\`#1{#1^^cc^80}\def\'#1{#1^^cc^81}\def\^#1{#1^^cc^82}}|
% \end{decl}
% \removelastskip\noindent
-% where the |^^cc^80|, |^^cc^81|, |^^cc^82| cause \TeX\ to generate the correct
+% where the |^^cc^80|, |^^cc^81|, |^^cc^82| cause \TeX\ to generate the correct
% UTF-8 bytes for `combining accent' characters.
%
% This works fine for metadata fields that appear just in the XMP packet.
@@ -878,22 +933,22 @@
% | \def\thanh{H^^c3^^a0n Th\eee Thanh}\def\eee{^^c3^^aa^^cc^^81 }}|
% \end{decl}
% \removelastskip\noindent
-% or the above with `\`a' typed directly as UTF-8 instead of |^^c3^^a0|
+% or the above with `\`a' typed directly as UTF-8 instead of |^^c3^^a0|
% and `\^e' in UTF-8 for |^^c3^^aa|.
% The reason for this is due to the |\pdfstringdef| command, which constructs
-% the accented latin letters as single combined characters \`a and \^e,
+% the accented latin letters as single combined characters \`a and \^e,
% without resorting to combining accents, wherever possible.
-% If the Metadata does not have the same, irrespective of Unicode normalisation,
+% If the Metadata does not have the same, irrespective of Unicode normalisation,
% then validation fails.
%
% With version (1.5.6) of the |pdfx| package, such difficulties
-% have been overcome, at least for characters used in Western European,
-% Latin-based languages. The input encoding used when reading the |.xmpdata|
-% file now includes interpretations of \TeX's usual accent commands to
+% have been overcome, at least for characters used in Western European,
+% Latin-based languages. The input encoding used when reading the |.xmpdata|
+% file now includes interpretations of \TeX's usual accent commands to
% produce the required UTF-8 byte sequences.
%
% \medskip
-% Since version (1.5.8) this input encoding was extended to include
+% Since version (1.5.8) this input encoding was extended to include
% macro definitions covering \LaTeX's internal character representation
% of other alphabets (e.g., extended Latin, Cyrillic, Greek, etc.).
% However this can become memory intensive, requiring a large number of
@@ -902,12 +957,12 @@
% be relevant. Currently these are as in Section~\ref{ssec-xmplang}.
%
% A significant portion of the Unicode Basic Plane characters can be covered
-% this way. Modules could even be provided for CJK character sets and
+% this way. Modules could even be provided for CJK character sets and
% mathematical symbols, etc. However, as this can become memory intensive,
% significant testing will be required before these become a standard
-% part of the |pdfx| package.
+% part of the |pdfx| package.
+%
%
-%
% \subsection{Color profiles}\label{sec-profiles}
%
% Most standards compliant PDF documents require a \emph{color
@@ -915,26 +970,26 @@
% determines precisely how the colors used in the document will be
% rendered when printed to a physical medium. This can be used to
% ensure that the document will look exactly the same, even when it is
-% printed on different printers, with different paper types, etc.
-% The inclusion of a color profile is necessary to make the document
+% printed on different printers, with different paper types, etc.
+% The inclusion of a color profile is necessary to make the document
% completely self-contained.
%
% Since most \LaTeX\ users are not graphics professionals and are not
% particularly picky about colors, the |pdfx| package includes default
-% profiles that will be included when nothing else is specified.
+% profiles that will be included when nothing else is specified.
% Therefore, the average user doesn't have to do anything
% special about color.
%
% For users who have a specific color profile they wish to use, it is
% possible to do so by including a |\setRGBcolorprofile| or
% |\setCMYKcolorprofile| command in the |.xmpdata| file. Note that
-% PDF/A and PDF/E require a profile of type `|mnrt|' (monitor) which
-% is usually an RGB color profile, while PDF/X and PDF/VT require type `|prtr|'
+% PDF/A and PDF/E require a profile of type `|mnrt|' (monitor) which
+% is usually an RGB color profile, while PDF/X and PDF/VT require type `|prtr|'
% (printer) which is usually a CMYK color profile; but valid documents
% can be created with the correct type designed for the other color space.
-% Use the following commands to specify an RGB or CMYK color profile,
+% Use the following commands to specify an RGB or CMYK color profile,
% respectively:
-%
+%
% \begin{decl}
% \defmacro{setRGBcolorprofile}\marg{filename}\marg{identifier}\marg{info
% string}\marg{registry URL}
@@ -944,7 +999,7 @@
% \end{decl}
% Within the arguments of these macros, the characters |<|, |>|, |&|,
% |^|, |_|, |#|, |$|, and |~| can be used as themselves, but
-% |%| must be escaped as |\%|.
+% |%| must be escaped as |\%|.
%
% From version (1.6) the default RGB and CMYK color profiles are now supplied
% using the |colorprofiles| package by Norbert Preining and Ross Moore~\cite{colorp}.
@@ -966,7 +1021,7 @@
% \url{http://www.color.org/iccprofile.xalter}.
%
% Alternatively, color profiles are shipped with many Adobe software
-% applications; these are then available for use also with non-Adobe
+% applications; these are then available for use also with non-Adobe
% software. Now the |pdfx| package includes coding to streamline
% inclusion of these profiles in PDF documents, or to specify
% them as `external' profiles, with PDF/X-4p and PDF/X-5pg variants.
@@ -977,17 +1032,17 @@
% Both define commands to use Color Profiles as follows.
% \begin{decl}[]
% \begin{tabular}{ll}
-% \texttt{\string\FOGRAXXXIX} & Coated FOGRA39 (ISO 12647-2:2004)\\
+% \texttt{\string\FOGRAXXXIX} & Coated FOGRA39 (ISO 12647-2:2004)\\
% \texttt{\string\SWOPCGATSI} & U.S. Web Coated (SWOP) v2\\
-% \texttt{\string\JapanColorMMICoated} & Japan Color 2001 Coated\\
-% \texttt{\string\JapanColorMMIUncoated} & Japan Color 2001 Uncoated\\
-% \texttt{\string\JapanColorMMIINewspaper} & Japan Color 2002 Newspaper\\
-% \texttt{\string\JapanWebCoatedAd} & Japan Web Coated (Ad)\\
-% \texttt{\string\CoatedGRACoL} & Coated GRACoL 2006 (ISO 12647-2:2004)\\
+% \texttt{\string\JapanColorMMICoated} & Japan Color 2001 Coated\\
+% \texttt{\string\JapanColorMMIUncoated} & Japan Color 2001 Uncoated\\
+% \texttt{\string\JapanColorMMIINewspaper} & Japan Color 2002 Newspaper\\
+% \texttt{\string\JapanWebCoatedAd} & Japan Web Coated (Ad)\\
+% \texttt{\string\CoatedGRACoL} & Coated GRACoL 2006 (ISO 12647-2:2004)\\
% \texttt{\string\SNAPCGATSII} & CGATS TR 002\\
% \texttt{\string\SWOPCGATSIII} & CGATS TR 003\\
% \texttt{\string\SWOPCGATSV} & CGATS TR 005\\
-% \texttt{\string\ISOWebCoated} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
+% \texttt{\string\ISOWebCoated} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
% \texttt{\string\ISOCoatedECI} & ISO Coated v2 (ECI)\\
% \texttt{\string\CoatedFOGRA} & Coated FOGRA27 (ISO 12647-2:2004)\\
% \texttt{\string\WebCoatedFOGRA} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
@@ -999,18 +1054,18 @@
% As of the time of first compiling this list, only the first six of these result in PDFs
% which can validate with external profiles (i.e., for PDF/X-4p and PDF/X-5pg)
% using the then-current versions of Adobe Acrobat Pro software. It is unclear
-% whether the others (incl.\,\verb|\IFRAXXVI| and \verb|\IFRAXXX|) failed due
-% to incorrect data or problems in the validation software.
+% whether the others (incl.\,\verb|\IFRAXXVI| and \verb|\IFRAXXX|) failed due
+% to incorrect data or problems in the validation software.
% Since then, with updates to Acrobat Pro, almost all the others have been verified
% to work, except \verb|\IFRAXXX| which seems no longer available.
-% Thus these commands come with a `use at own risk' clause.
+% Thus these commands come with a `use at own risk' clause.
%
-% For `external' profiles, there is a command |\setEXTERNALprofile|, taking 9 arguments,
+% For `external' profiles, there is a command |\setEXTERNALprofile|, taking 9 arguments,
% that must be used. Consult |AdobeExternalProfiles.tex| for examples of its use.
-%
-% All but the last of the macros listed above can also be used for valid embedded profiles,
-% providing the corresponding files can be found.
-% The following macros are used to set the (absolute or relative) path,
+%
+% All but the last of the macros listed above can also be used for valid embedded profiles,
+% providing the corresponding files can be found.
+% The following macros are used to set the (absolute or relative) path,
% on the local operating system, to the location of color profile files.
% \begin{decl}
% \defmacro{pdfxSetRGBcolorProfileDir}\marg{path to RGB color profiles}\\
@@ -1020,7 +1075,7 @@
% One can use either a macro |\MacOSColordir| which expands
% into the path for system-provided profiles:
% \begin{decl}[]
-% |/System/Library/ColorSync/Profiles/|
+% |/System/Library/ColorSync/Profiles/|
% \end{decl}
% or the macro |\MacOSLibraryColordir| expanding to:
% \begin{decl}[]
@@ -1030,23 +1085,23 @@
% \begin{decl}[]
% |/Library/Application Support/Adobe/Color/Profiles/Recommended/|
% \end{decl}
-% Under Windows an available macro is |\WindowsColordir| which expands to:
+% Under Windows an available macro is |\WindowsColordir| which expands to:
% \begin{decl}[]
% |C:\Windows\System32\Spool\Drivers\Color/|
% \end{decl}
% being the common location for color profiles.
-% Use these within the \verb|.xmpdata| file as, e.g.,
+% Use these within the \verb|.xmpdata| file as, e.g.,
% \begin{decl}[]
% |\pdfxSetCMYKcolorProfileDir{\AdobeMacOSdir}|
% \end{decl}
% Authors may change the paths to suit their own circumstances, either
-% \emph{before} loading |pdfx.sty| or within the \verb|.xmpdata| file.
+% \emph{before} loading |pdfx.sty| or within the \verb|.xmpdata| file.
%
% PDF/A and PDF/E usually need an RGB profile, while PDF/X and PDF/VT
-% require a CMYK profile. It is possible to use a CMYK profile with PDF/A
+% require a CMYK profile. It is possible to use a CMYK profile with PDF/A
% or PDF/E by specifying |\setRGBcolorprofile{}{}{}{}| in the \verb|.xmpdata| file.
% Beware however, that with PDF/A any coloured hyperlink annotations can
-% cause a validation problem, as these are interpreted as RGB colours
+% cause a validation problem, as these are interpreted as RGB colours
% even when 4 components are given. This may be a bug in validators,
% as PDF specifies that the number of components should match the color space.
%
@@ -1070,44 +1125,44 @@
% \end{decl}
% which uses a profile that accompanies the \texttt{pdfaPilot} software from
% Callas Software Gmbh~\cite{pdfaPilot}.
-% The macro |\CallasMacOSpdfaPilotdir|, defined in the file \texttt{CallasColorProfiles.tex},
+% The macro |\CallasMacOSpdfaPilotdir|, defined in the file \texttt{CallasColorProfiles.tex},
% specifies the directory where this Custom profile is located, when installed under MacOS.
% One needs to |\input CallasColorProfiles.tex| \emph{before} loading the |pdfx| package.
-% Macros for other directories are also defined in this file.
+% Macros for other directories are also defined in this file.
%
% \subsection{Notes on the internal representation of metadata}
-%
+%
% Within the PDF file, metadata is deposited in two places: some data
% goes into the native PDF |/Info| dictionary, and some data goes into
% an XMP packet stored separately within the file. XMP is Adobe's
-% Extensible Metadata Platform~\cite{XMP-spec,XMP-ISO}, and is an XML-based format.
+% Extensible Metadata Platform~\cite{XMP-spec,XMP-ISO}, and is an XML-based format.
% See \href{http://www.adobe.com/devnet/xmp/}{Adobe XMP Development Center}
-% for more exhaustive information about XMP.
+% for more exhaustive information about XMP.
% An XMP Toolkit SDK which supports the GNU/Linux, Macintosh and Windows operating
% systems is also available under modified BSD licence.
%
% Some of the metadata, such as the author, title, and keywords, can be
-% stored \emph{both} in the XMP packet and in the |/Info| dictionary.
-% For the resulting file to be standards-compliant, the two copies of the data
+% stored \emph{both} in the XMP packet and in the |/Info| dictionary.
+% For the resulting file to be standards-compliant, the two copies of the data
% must be identical. This is taken care of automatically by the |pdfx| package,
% except when |\sep| is used to handle multiple entries, as discussed above
-% in \S\ref{sssec-info}. In such cases the string is not included within the |/Info|
+% in \S\ref{sssec-info}. In such cases the string is not included within the |/Info|
% dictionary. Note that this is in accordance with the PDF 2.0 specification~\cite{PDF20},
% which deprecates use of the |/Info| dictionary for such metadata.
-%
-% In principle, users can resort to alternate ways to create an XMP file
-% for inclusion in PDF. In this case, one should create a customised template
+%
+% In principle, users can resort to alternate ways to create an XMP file
+% for inclusion in PDF. In this case, one should create a customised template
% file |pdfa.xmp| or |pdfx.xmp| or |pdfe.xmp| (etc., depending on the PDF flavor)
-% containing the pre-defined data. This can be done by modifying the ones supplied
-% with the |pdfx| package. However, this is an error-prone process and is
-% \emph{not} recommended for most users.
+% containing the pre-defined data. This can be done by modifying the ones supplied
+% with the |pdfx| package. However, this is an error-prone process and is
+% \emph{not} recommended for most users.
% If there is a particular field of metadata that you need and that is not currently
% supported, please contact the package authors.
%
% |pdfx| makes use of the |xmpincl| package to include XMP data into
% the PDF. The documentation of |xmpincl| package may help interested
% users to understand the process of XMP data inclusion.
-%
+%
% \subsection{Tutorials and technical notes}
%
% A tutorial with step-by-step instructions for generating PDF/A files
@@ -1120,7 +1175,7 @@
% \url{http://support.river-valley.com/wiki/index.php?title=Generating_PDF/A_compliant_PDFs_from_pdftex}.
% Be aware that this is based on use of an earlier version of the |pdfx| package,
% so some of the advice may have been superseded.
-%
+%
%
% \section[Installing]{Installing}
% The |pdfx.dtx| package is available on CTAN as usual, via
@@ -1131,24 +1186,24 @@
% For those wishing to do a manual installation, here are some notes.
% The file |pdfx.dtx| is a composite document of program code and
% documentation in \LaTeX{} format, in the tradition of \emph{literate
-% programming}. After having installed the package,
+% programming}. After having installed the package,
% to get the documentation that you are reading now,
-% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|.
+% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|.
% The resulting PDF should be valid as PDF/A-2u.
% Or better, use the included |Makefile|, which will also regenerate the index.
%
% To install the package, first extract the program code; i.e., the
-% file |pdfx.sty|, by running \LaTeX{} or \TeX{} on the file |pdfx.ins|.
+% file |pdfx.sty|, by running \LaTeX{} or \TeX{} on the file |pdfx.ins|.
% Create a directory named |pdfx| under |$TEXMF/tex/latex| and copy the files
-% |pdfx.sty|, |8bit.def|, |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| as well
+% |pdfx.sty|, |8bit.def|, |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| as well
% as the other |*.tex|, |l8u*-penc.def| and |*.xmp| files, into it. Then update
% \TeX's file database using the appropriate command for your distribution
% and operating system (such as |texhash| or |mktexlsr|, or similar).
-%
+%
% \subsection{Limitations and dependencies}
-%
-% The |pdfx.sty| package works with \pdftex\ and also Lua\TeX\ and Xe\TeX\
-% with some minor limitations.
+%
+% The |pdfx.sty| package works with \pdftex\ and also Lua\TeX\ and Xe\TeX\
+% with some minor limitations.
% It further depends on the following other packages.
% \begin{enumerate}
% \item |xmpincl| for insertion of metadata into PDF.
@@ -1159,28 +1214,28 @@
% hyperlinking, bookmarks, etc.
% \item |xcolor| for ensuring consistent use of the color model
% appropriate the PDF variant, within text and hyperlinks (when allowed).
-% \item |glyphtounicode.tex| (not Xe\LaTeX) maps glyph names
+% \item |glyphtounicode.tex| (not Xe\LaTeX) maps glyph names
% to corresponding Unicode code-points.
% \item |ifluatex| allowing coding specific to Lua\LaTeX.
% \item |ifxetex| allowing coding specific to Xe\LaTeX.
-% \item |luatex85| or |pdftexcmds| (Lua\TeX\ only) for access
+% \item |luatex85| or |pdftexcmds| (Lua\TeX\ only) for access
% to primitive commands using \pdftex\ macro names.
-% \item |stringenc| used to help generate proper bookmarks with transliterated input;
+% \item |stringenc| used to help generate proper bookmarks with transliterated input;
% e.g., with |\textLGR| or |\textARM| --- see Section~\ref{sssec-arm}.
% \end{enumerate}
% Other files and packages are loaded as sub-packages or as
-% configuration files for these. Since some of these packages
-% may be loaded by existing documents we provide here advice on
+% configuration files for these. Since some of these packages
+% may be loaded by existing documents we provide here advice on
% how to deal with potential loading and option conflicts.
%
% Firstly, it is best if |pdfx| is the first package loaded; e.g.,
-% directly after the |\documentclass| line. This is not a strict requirement,
+% directly after the |\documentclass| line. This is not a strict requirement,
% but it is worthwhile to deal with the metadata at the top of your \LaTeX\ source,
% allowing correct options to be loaded to cope with validation aspects.
%
% Secondly, replace |\usepackage[<options>]{hyperref}| with |\hypersetup{<options>}|.
-% This deals with most loading issues with the |hyperref| package.
-% Note that PDF/X is a format intended for printing.
+% This deals with most loading issues with the |hyperref| package.
+% Note that PDF/X is a format intended for printing.
% It forbids inclusion of hyperlinks and other actions, including via bookmarks.
% To produce a validating PDF/X document, |pdfx| overrides internal macros
% while keeping colors associated with link anchors.
@@ -1191,53 +1246,53 @@
% Furthermore, options to set metadata components (such as |pdfauthor|,
% |pdftitle|, |pdfsubject|, |pdfkeywords|, etc.) are disabled, since
% |pdfx| has already taken care of this information.
-%
+%
% Thirdly, conflicts with other packages may be dealt with by simply
% changing |\usepackage| to |\RequirePackage| within the document's
-% preamble. But this may not be possible when the |\usepackage|
+% preamble. But this may not be possible when the |\usepackage|
% or |\RequirePackage| command occurs within another package, or with
-% a specific set of options, thereby causing processing to stop.
-% Few packages have a command analogous to |\hypersetup|.
+% a specific set of options, thereby causing processing to stop.
+% Few packages have a command analogous to |\hypersetup|.
% Instead |\PassOptionsToPackage{<options>}{<package>}| can help.
% For |<options>| specify the ones associated with the loading yet to come.
% This can give a smooth processing run, but you'll need to check whether
% the results from those options have actually taken effect.
-% Some examples of this can be seen later, in Figures~\ref{koi8-code}
+% Some examples of this can be seen later, in Figures~\ref{koi8-code}
% and \ref{tldoc-pol}.
%
% \subsubsection{Limitations using Xe\LaTeX}\label{sssec-xetex}
%
-% To process a file using Xe\LaTeX, to produce a document that can
+% To process a file using Xe\LaTeX, to produce a document that can
% validate to a particular PDF standard, one need to use a command
% to run the \TeX\ engine, as follows.
% \begin{decl}[]
% |xelatex -shell-escape -output-driver="xdvipdfmx -z 0" <filename>.tex |
% \end{decl}
% The |-shell-escape| option allows a command-line task to be run,
-% which writes the creation-date \& time of the running job into
-% a small file on disk. This data, written in a specific format, is then
+% which writes the creation-date \& time of the running job into
+% a small file on disk. This data, written in a specific format, is then
% read by the job for inclusion into several metadata fields.
% This emulates the result of \pdftex's |\pdfcreationdate| primitive.
% As there are security implications in allowing arbitrary commands to be run,
-% this need for |-shell-escape| must be viewed as imposing a limitation on the
+% this need for |-shell-escape| must be viewed as imposing a limitation on the
% work-flows in which this can be safely used.
%
-% The |-output-driver="xdvipdfmx -z 0"| suppresses compression, which
+% The |-output-driver="xdvipdfmx -z 0"| suppresses compression, which
% is not allowed for the XMP metadata packet. Without this, the resulting PDF
-% may fail to pass validation tests.
+% may fail to pass validation tests.
%
% Xe\TeX\ is designed for processing UTF-8 input only. When presented
-% with \LaTeX\ source using a legacy encoding, such as |latin2| or |koi8-r|,
-% the input is accepted and a PDF produced. Yet there will be garbage
+% with \LaTeX\ source using a legacy encoding, such as |latin2| or |koi8-r|,
+% the input is accepted and a PDF produced. Yet there will be garbage
% characters corresponding to each character entered from the upper range
-% (128--255). This is evident in the PDF content and bookmarks;
+% (128--255). This is evident in the PDF content and bookmarks;
% yet |pdfx| produces the correct XMP metadata packet.
% So while the techniques explained later in Section~\ref{ssec-multi} are
% valid, the PDF itself does not contain correct content.
%
% Not all fonts, in particular Open-Type fonts (OTF), naturally come with
% mappings of the glyphs to Unicode code points. This is a requirement
-% with PDF/A, PDF/E and PDF/UA standards.
+% with PDF/A, PDF/E and PDF/UA standards.
% Use of such fonts can result in validation errors, such as:
% \begin{itemize}
% \item
@@ -1245,7 +1300,7 @@
% \item
% Type 2 CID font: CIDToGID map is invalid or missing.
% \end{itemize}
-%
+%
% If one has access to Adobe's |Acrobat Pro| software, then its |Preflight|
% utility can rewrite the uncompressed output from Xe\LaTeX\ into a valid
% PDF standard, using compression of the contents but not of the XMP packet.
@@ -1256,7 +1311,7 @@
%
% Lua\LaTeX\ can handle the OTF font issues mentioned for Xe\LaTeX,
% so can produce valid PDF/A documents where Xe\LaTeX\ fails.
-% However, since Lua\TeX\ expects all input source to be UTF8-encoded,
+% However, since Lua\TeX\ expects all input source to be UTF8-encoded,
% it cannot work at all with documents using older legacy encodings.
% Instead one gets error messages such as:
%\begin{decl}
@@ -1299,15 +1354,15 @@
% \item |l8uheb-penc.def| --- input macro declarations for Hebrew alphabet.
% \item |l8ulat-penc.def| --- input macro declarations for Latin 1--9 encodings.
% \item |l8umath-penc.def| --- input macro declarations for mathematical symbols.
-% \item |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| --- maps glyph names
+% \item |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| --- maps glyph names
% to corresponding Unicode for Computer Modern and other \TeX-specific fonts.
% \item |AdobeColorProfiles.tex| --- macros for inclusion of Adobe-supplied color profiles.
% \item |AdobeExternalProfiles.tex| --- macros for use of external color profiles.
% \item |CallasColorProfiles.tex| --- macros for profiles included with Callas pdfaPilot software.
% \end{itemize}
-%
+%
% \subsubsection{Documentation \& Examples}
-%
+%
% \begin{itemize}
% \item |README| --- usual top-level information.
% \item |manifest.txt| --- file list.
@@ -1315,9 +1370,9 @@
% \item |sample.tex|, |sample.xmpdata| --- a sample file with sample metadata.
% \item |small2e-pdfx.tex| --- sample file with included metadata.
% \end{itemize}
-%
+%
% \subsubsection{Sources}
-%
+%
% \begin{itemize}
% \item |src/pdfx.dtx| --- composite package and documentation.
% \item |src/pdfx.ins| --- installer batch file.
@@ -1326,10 +1381,10 @@
% \item |src/Makefile| --- a Makefile for building the documentation.
% \item |src/MANIFEST| --- list of files in this directory.
% \item |src/text89.def| --- used with Figure\,\ref{ex-arm} in the documentation.
-% \item |src/{arm-start,koi8-example,koi8-example2,latin2-example}.tex|
+% \item |src/{arm-start,koi8-example,koi8-example2,latin2-example}.tex|
% --- used in the documentation with figures showing example coding.
% \item |src/{TL-POL-meta,TL-RU-LICRs,TL-RU-metadata,TL-RU-toc,Armenian-example-UTF8,|\\
-% |armtex-meta,usage-meta,math-assign5}.png| --- screenshot images showing multilingual
+% |armtex-meta,usage-meta,math-assign5}.png| --- screenshot images showing multilingual
% and other metadata.
% \end{itemize}
%
@@ -1337,9 +1392,9 @@
%
% The package is released under the \LaTeX{} Project Public
% Licence. Bug reports, suggestions, feature requests, etc., may be
-% sent to the original authors at
+% sent to the original authors at
% \href{mailto:cvr@river-valley.org}{\ttfamily cvr@river-valley.org}
-% and/or
+% and/or
% \href{mailto:thanh@river-valley.org}{\ttfamily thanh@river-valley.org},
% or to the more recent contributors at
% \href{mailto:ross.moore@mq.edu.au}{\ttfamily ross.moore@mq.edu.au}
@@ -1348,9 +1403,9 @@
%
%
% \section[Multilingual and Technical Considerations]{Multilingual and Technical Considerations}\label{sec-meta}
-%
-% \TeX\ and \LaTeX\ have an on-going practice of including metadata within
-% the source files and package documentation. Usually this is done as comments
+%
+% \TeX\ and \LaTeX\ have an on-going practice of including metadata within
+% the source files and package documentation. Usually this is done as comments
% at the beginning of the file; such as the following from the English
% language version of the 2015 \TeX\ Live documentation\footnote{%
% found at |/usr/local/texlive/2016/texmf-dist/doc/texlive/texlive-en/|.}.
@@ -1360,10 +1415,10 @@
% |Michel Goossens, now maintained by Karl Berry and others.|\\
% |Public domain.|
% \end{decl}
-% This provides information, ideally suited for copyright metadata
-% fields, as in Section~\ref{sssec-copy}, as well as for |\Subject|
-% and |\CoverDate| from Section~\ref{sssec-publ}.
-%
+% This provides information, ideally suited for copyright metadata
+% fields, as in Section~\ref{sssec-copy}, as well as for |\Subject|
+% and |\CoverDate| from Section~\ref{sssec-publ}.
+%
% Also near the top of the file one finds front-matter content
% \begin{decl}[]
% |\title{%|\\
@@ -1374,7 +1429,7 @@
% | }|\\
% |\date{May 2015}|
% \end{decl}
-% which supplies metadata information for the commands |\Title|, |\Author|,
+% which supplies metadata information for the commands |\Title|, |\Author|,
% |\CoverDisplayDate| also from Section~\ref{sssec-publ}, and |\CopyrightURL|.
%
% Most of the hundreds of thousands, if not millions of documents prepared
@@ -1384,14 +1439,14 @@
% requirement, for PDFs to satisfy a standard that requires inclusion
% of metadata. This is especially so for government agencies and institutions
% receiving government funding, in several countries around the world.
-%
+%
% It is an aim of the |pdfx| to simplify the process of capturing and
-% including metadata within \LaTeX-produced PDFs, from both the author's
-% view and that of archivists. The extra features introduced with version
-% 1.5.8 take a large step in that direction.
+% including metadata within \LaTeX-produced PDFs, from both the author's
+% view and that of archivists. The extra features introduced with version
+% 1.5.8 take a large step in that direction.
% This includes the ability, described in the next subsection, to reliably
% include data presented in different text encodings, rather than being
-% restricted to UTF-8 only. It is a role of the software to make the
+% restricted to UTF-8 only. It is a role of the software to make the
% conversion, rather than rely on some 3rd party for a translation.
%
%
@@ -1400,40 +1455,40 @@
% A cursory search of the documentation (|.../texmf-dist/doc|) subtree
% of the forthcoming \TeX\,Live 2016 release reveals more than 730 different
% |.tex| or |.dtx| document sources which specify an input encoding,
-% via the |\usepackage[...]{inputenc}| command. Roughly 380 (a bit more
-% than half) declare UTF-8 as the input encoding.
-% Of the remainder there are $\approx 20$ other encodings specified,
-% covering a range of languages for at least part of their content.
+% via the |\usepackage[...]{inputenc}| command. Roughly 380 (a bit more
+% than half) declare UTF-8 as the input encoding.
+% Of the remainder there are $\approx 20$ other encodings specified,
+% covering a range of languages for at least part of their content.
% At some point in time, these documents may be required to have accurate
-% accompanying metadata, as part of conformance to a designated PDF
-% (or other) standard. There are libraries and archives that already must
+% accompanying metadata, as part of conformance to a designated PDF
+% (or other) standard. There are libraries and archives that already must
% meet such standards.
%
-% We have shown above, in Section~\ref{ssec-metadata}, how the |.xmpdata|
-% file can be inserted into the document source, which then ensures that
+% We have shown above, in Section~\ref{ssec-metadata}, how the |.xmpdata|
+% file can be inserted into the document source, which then ensures that
% metadata is reliably transferred along with the source itself.
% This seems a good strategy, but are there any problems with it,
% especially in a multi-lingual context?
-%
-% Modern editing software can require an encoding to be associated
-% with each file. This is what allows the correct characters to be shown,
-% from what is otherwise just a sequence of 8-bit bytes. The flip-side
-% is that arbitrary editing is not permitted. Add some UTF-8 data into
-% a file that is encoded as Latin-2 then try to save it. You may be asked
+%
+% Modern editing software can require an encoding to be associated
+% with each file. This is what allows the correct characters to be shown,
+% from what is otherwise just a sequence of 8-bit bytes. The flip-side
+% is that arbitrary editing is not permitted. Add some UTF-8 data into
+% a file that is encoded as Latin-2 then try to save it. You may be asked
% to specify a new encoding, or the application may even crash out entirely.
-% Maybe this happens \emph{accidentally}. It is not hard for a curly quote
-% (`) or endash (--) to be included; many editors have settings which can
+% Maybe this happens \emph{accidentally}. It is not hard for a curly quote
+% (`) or endash (--) to be included; many editors have settings which can
% do this with normal ascii input. Turn \emph{off} such settings.
%
% The approach that we advocate is that when editing to add metadata,
-% best is to:
+% best is to:
% \begin{enumerate}
-% \item
-% use the \emph{same encoding} as is specified for the file itself,
+% \item
+% use the \emph{same encoding} as is specified for the file itself,
% if known (as is usually the case);
-% \item
-% even if 1. is not possible, use Copy/Paste \emph{within} the document source
-% (e.g., for authors' names, addresses, affiliations, etc.) and from comments,
+% \item
+% even if 1. is not possible, use Copy/Paste \emph{within} the document source
+% (e.g., for authors' names, addresses, affiliations, etc.) and from comments,
% as in Section~\ref{sec-meta} above;
% \item
% avoid typing new characters, especially quotes and dashes, and be extra
@@ -1470,7 +1525,7 @@
% as could be produced for the Russian language version of the \TeX\ Live documentation,
% from coding as shown in Figure\,\ref{koi8-code}.
% The source file itself is actually encoded for KOI8-R, as indicated by the presence
-% of the code line |\usepackage[koi8-r]{inputenc}|,
+% of the code line |\usepackage[koi8-r]{inputenc}|,
% but is deliberately shown here encoded as |T1|~\cite[p.\,449]{LC2}.
% This difference is immaterial for checking the validity of the metadata.
% For example, the stream of upper (accents, etc.) characters within
@@ -1480,17 +1535,17 @@
% in the document, and from early subsection titles.
%
% It is the `parser' command/macro |\textKOI{ ... }| that indicates that the upper range
-% characters (having byte codes 128--255) are to be treated as KOI8-R characters,
+% characters (having byte codes 128--255) are to be treated as KOI8-R characters,
% rather than as part of UTF-8 byte sequences. It works by examining each byte in sequence,
-% and returning the appropriate UTF-8 2-byte sequence for the required cyrillic character.
-% This happens during the processing of data from |\jobname.xmpdata| for fleshing-out
+% and returning the appropriate UTF-8 2-byte sequence for the required cyrillic character.
+% This happens during the processing of data from |\jobname.xmpdata| for fleshing-out
% the XMP metadata packet to be included within the final PDF/A document.
%
% The `parser' macros defined for various encodings, are given in Figure\,\ref{parsers}.
-% In Section\,\ref{ssec-xmplang} the package options are given
+% In Section\,\ref{ssec-xmplang} the package options are given
% for loading the appropriate support for desired languages or alphabets.
% Support for other encodings can be added, if there proves to be a need.
-%
+%
%\begin{figure}[ht]
% \centering
% \begin{tabular}{lll}\hline
@@ -1519,13 +1574,13 @@
% \caption{How to see LICRs in the \texttt{.log} window.}\label{koi8-LICR}
% \end{figure}
%
-% With encoded characters marked in this way with a `parser' macro,
+% With encoded characters marked in this way with a `parser' macro,
% it is actually possible to mix UTF-8 metadata with other bytes;
% provided, of course, you have an editor that allows such a file
% to be created and saved. On the other hand, if you are unhappy with mixing
% content having different encodings, then there is another way, based upon
-% \LaTeX's LICR macros~\cite[\S\,7.11]{LC2} for representing accented
-% and non-latin characters.
+% \LaTeX's LICR macros~\cite[\S\,7.11]{LC2} for representing accented
+% and non-latin characters.
% These are normally hidden away (`I $=$ Internal') but in fact can be seen
% within auxiliary files, such as |.aux| and |.toc|, |.lof| and |.lot|.
% This is how \LaTeX\ stores the knowledge of such characters for use in
@@ -1548,20 +1603,20 @@
% \caption{How to get desired LICRs into the \texttt{.toc} file.}\label{koi8-toc}
% \end{figure}
%
-% Figure~\ref{koi8-LICR} shows how to see this.
+% Figure~\ref{koi8-LICR} shows how to see this.
% The document source in the lower portion clearly shows the cyrillic
% input, whereas the |.log| messages in a command-line window above
% reveal the LICR representation. A command |\showLICRs| is available
% with |pdfx.sty| version 1.5.8, specifically to allow this.
-% Now the LICR representation can be copied directly from the |.log| file,
+% Now the LICR representation can be copied directly from the |.log| file,
% modulo slight difficulties due to the way long lines are broken.
% As this representation is entirely with ASCII characters, it should not
% cause any conflict with any UTF-8 metadata that you want within the same file.
% The |.xmpdata| file might now look as in Figure~\ref{koi8-code2}.
% Although very verbose, this should be resistant to any corruption due to
-% character encodings, and produces the same result within the PDF,
+% character encodings, and produces the same result within the PDF,
% as in Figure~\ref{koi8-meta}.
-%
+%
% Alternatively one can exploit the |.toc| file, using \LaTeX's command
% |\addtocontents|, as shown in Figure~\ref{koi8-toc}.
% After processing the file, you can copy the LICR representations out
@@ -1570,24 +1625,24 @@
%
% Of course once you have harvested the metadata in this format, remove
% or comment-out those extra |\showLICRs| to get uninterrupted processing.
-% Similarly comment-out the extra |\addtocontents| lines, else the real
+% Similarly comment-out the extra |\addtocontents| lines, else the real
% Table-of-Contents will become corrupted with unwanted entries.
% A couple more \LaTeX\ processing runs should restore the PDF to the
% way you want it.
%
% \subsubsection[Metadata with Polish]{Metadata with Polish}\label{sssec-pol}
-%
-% The next example has upper-range bytes intended to represent Latin-2 encoded
-% characters, as used in Polish.
-% With the \LaTeX\ source starting as in Figure~\ref{tldoc-pol},
+%
+% The next example has upper-range bytes intended to represent Latin-2 encoded
+% characters, as used in Polish.
+% With the \LaTeX\ source starting as in Figure~\ref{tldoc-pol},
% the resulting metadata is shown in Figure~\ref{tlmeta-pol}.
-%
+%
%\begin{figure}[htb]
% \centering
% \includegraphics[scale=.45]{TL-POL-meta}
%\caption{Metadata generated from the coding shown in Figure~\ref{tldoc-pol}
-% for the Polish version of \TeX\ Live 2015 documentation, showing Latin-2 encoded
-% characters. The document is valid for PDF/A-2, after having been processed with
+% for the Polish version of \TeX\ Live 2015 documentation, showing Latin-2 encoded
+% characters. The document is valid for PDF/A-2, after having been processed with
% pdf-\LaTeX.}\label{tlmeta-pol}
%\end{figure}
%
@@ -1597,13 +1652,13 @@
% \input{latin2-example}
%\end{decl}
% }%
-%\caption{Start of the \LaTeX\ source for the Polish version of \TeX\ Live
-% documentation. Although Latin-2 encoded, the bytes are shown here using
+%\caption{Start of the \LaTeX\ source for the Polish version of \TeX\ Live
+% documentation. Although Latin-2 encoded, the bytes are shown here using
% \LaTeX's \texttt{T1} encoding \cite[p.\,449]{LC2}.}\label{tldoc-pol}
%\end{figure}
%
% Here the `parser macro' is |\textLII|, which can be seen in Figure~\ref{tldoc-pol}
-% to surround either complete metadata entries, or just those parts containing
+% to surround either complete metadata entries, or just those parts containing
% polish accented (or other) characters in entries that also contain english words.
% The macro |\textLF| provides a line-feed character for the UTF-8 output.
%
@@ -1619,38 +1674,38 @@
% Let's understand better how this example was created. There are three files involved.
%\begin{itemize}
% \item |pdfx.dtx|, the source for this documentation, open in an editor with
-% encoding declared as UTF-8;
+% encoding declared as UTF-8;
% \item |texlive-pl.tex| the Polish documentation for \TeX\ Live, open in the
% same editor with Latin-2 encoding;
% \item |latin2-example.tex| which starts life as an empty file on disk.
%\end{itemize}
% \noindent
-% This latter file must be opened in the editor, with encoding declared as
+% This latter file must be opened in the editor, with encoding declared as
% Latin-2 (ISO-8859-2).
% Next the preamble is copied from |texlive-pl.tex| and pasted into |latin2-example.tex|
% which is then saved to disk. Further editing is done to |latin2-example.tex| to
% add verbatim markers (\texttt{$\vert$...$\vert$}) and adjust line lengths for display
-% within Figure~\ref{tldoc-pol}. This file's contents is included as part of the
-% documentation via |\input{latin2-example}| within an environment that handles
+% within Figure~\ref{tldoc-pol}. This file's contents is included as part of the
+% documentation via |\input{latin2-example}| within an environment that handles
% presentation aspects, and (since 2018) declares |\UseRawInputEncoding|.
%
% What \emph{cannot} be done is to paste the preamble content directly into |pdfx.dtx|.
-% Consider what would then happen, using `t{\l}umaczy' (`translators', on line 10
-% following `UWAGA'). This word shows correctly in the Latin-2 encoded files.
-% It was typeset here using |\l| for the `\l' letter, having Unicode code-point
-% |Ux0142| (so UTF-8 byte pair |"C5|\,|"82|).
-% However, it occurs at slot |"B3| within Latin-2 encoding.
-% In the |T1| font encoding \cite[p.\,449]{LC2} the character glyph name
-% for slot |"B3| is |/scedilla|, which is what shows in Figure~\ref{tldoc-pol}.
-% When the `\l' is pasted directly into a UTF-8 file and shown verbatim,
-% the result is the pair of glyphs |"C5| (|/Aring|) and |"82| (|/Cacute|);
+% Consider what would then happen, using `t{\l}umaczy' (`translators', on line 10
+% following `UWAGA'). This word shows correctly in the Latin-2 encoded files.
+% It was typeset here using |\l| for the `\l' letter, having Unicode code-point
+% |Ux0142| (so UTF-8 byte pair |"C5|\,|"82|).
+% However, it occurs at slot |"B3| within Latin-2 encoding.
+% In the |T1| font encoding \cite[p.\,449]{LC2} the character glyph name
+% for slot |"B3| is |/scedilla|, which is what shows in Figure~\ref{tldoc-pol}.
+% When the `\l' is pasted directly into a UTF-8 file and shown verbatim,
+% the result is the pair of glyphs |"C5| (|/Aring|) and |"82| (|/Cacute|);
% \emph{viz.} {\UseRawInputEncoding |tłumaczy|}.
%
% As with Figure~\ref{koi8-code} it is not important that the correct characters
% are shown here, but that the metadata in |\jobname.xmpdata| corresponds to what
% is used on the titlepage of the PDF; e.g., the contents of |\Title| and |\title|,
% |\Author| and |\author|, etc.
-%
+%
%
% \subsubsection[Metadata with Greek]{Metadata with Greek}\label{sssec-grk}
%
@@ -1674,7 +1729,7 @@
%|% ... |\\
%| |\\
%|\providecommand{\pdfxopts}{a-2u,LGRxmp,LATxmp}|\\
-%|\begin{filecontents*}{\jobname.xmpdata}|\\
+%|\begin{filecontents}[force]{\jobname.xmpdata}|\\
%|\Title{Writing Greek with the "greek" option of the "babel" package}|\\
%{\color{verbcolor}\texttt{\string\Author\{Apostolos Syropoulos\string\sep\ G\"unter Milde\}}}\\
%|\Subject{This document describes the use of the Latin transliteration for Greek that is |\\
@@ -1690,11 +1745,11 @@
%| \textaristerikeraia\textAlpha\textSampi\textQoppa\textZeta\textdexiakeraia}}|\\
%|\CoverDate{1997-10-15}|\\
%|\CoverDisplayDate{October 15, 1997}|\\
-%|\Copyright{This file is part of the Babel system.\textLF This file may be distributed and/or|\\
+%|\Copyright{This file is part of the Babel system.\textLF This file may be distributed and/or|\\
%| modified under the conditions of the LaTeX Project Public License, either version 1.3 |\\
%| of this license or (at your option) any later version.}|\\
%|\CopyrightURL{http://www.latex-project.org/lppl.txt}|\\
-%|\end{filecontents*}|\\
+%|\end{filecontents}|\\
%|%|\\
%|\documentclass[11pt]{article}|\\
%|\usepackage[\pdfxopts]{pdfx}[2016/04/13]|\\
@@ -1725,70 +1780,70 @@
%
% Prior to proper support for UTF-8 input, a method for preparing document source
% for the modern Greek language (and also for polytonic Greek), involved the use
-% of LGR encoded fonts. Such a font has Greek (instead of Latin) letters in the
+% of LGR encoded fonts. Such a font has Greek (instead of Latin) letters in the
% slots for |a-zA-Z|, see~\cite[\S9.4.2]{LC2}. Thus ordinary ASCII letters are used
% to produce the Greek characters; the mapping of ASCII to Greek is referred to as
-% a `transliteration' scheme. It serves as \emph{both} an input encoding, and as
-% a font encoding. Accents and diacritic marks are provided through ligatures
-% built-in to the fonts. Various documents can be found on the web\footnote{e.g.,
+% a `transliteration' scheme. It serves as \emph{both} an input encoding, and as
+% a font encoding. Accents and diacritic marks are provided through ligatures
+% built-in to the fonts. Various documents can be found on the web\footnote{e.g.,
% \url{http://milde.users.sourceforge.net/LGR/}} and
% within \TeX\ Live distributions\footnote{%
-% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/babel-greek/}}}.
+% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/babel-greek/}}}.
%
% Indeed the current maintainer G\"unther Milde states
% ``The LGR transliteration does not work for PDF metadata''.
% This is because there is no translation of LGR input into \LaTeX\ LICRs,
% as happens with say |\usepackage[utf8]{inputenc}| for UTF-8 input,
-% or when upper 8-bit characters are present using |\usepackage[iso-8859-7]{inputenc}|.
-% With these, LICRs such as |\textAlpha|, |\textOmicron|, \dots, |\textomega|
+% or when upper 8-bit characters are present using |\usepackage[iso-8859-7]{inputenc}|.
+% With these, LICRs such as |\textAlpha|, |\textOmicron|, \dots, |\textomega|
% are produced, which result in the correct characters for metadata and bookmarks,
% perhaps employing Unicode `combining' characters for accented letters.
% Using |pdfx| the UTF-8 characters can be put directly into the |.xmpdata| file;
% LICRs are interpreted provided the |grkxmp| loading option has been specified.
-%
-% Using the methods of |pdfx| the metadata difficulty is remedied, as can be seen in
-% Figure~\ref{greek-meta} using coding as shown in Figure~\ref{greek-code}. This requires
-% the |LGRxmp| option and |\textLGR| `parser' macro. The original document source,
+%
+% Using the methods of |pdfx| the metadata difficulty is remedied, as can be seen in
+% Figure~\ref{greek-meta} using coding as shown in Figure~\ref{greek-code}. This requires
+% the |LGRxmp| option and |\textLGR| `parser' macro. The original document source,
% called |usage.tex|, can be found in the directory specified in the footnote below.
% As this document is essentially an English description of how to use LGR for Greek,
-% we have used the `Keywords' field to provide examples of such usage.
-% Since a macro |\textgreek| can be used for greek portions within such documents,
+% we have used the `Keywords' field to provide examples of such usage.
+% Since a macro |\textgreek| can be used for greek portions within such documents,
% this macro name is aliased to |\textLGR| within the context where metadata is processed.
-% Furthermore, parsing using |\textLGR| generates correct pre-composed characters
+% Furthermore, parsing using |\textLGR| generates correct pre-composed characters
% for letters with accents or diacritics. Bookmarks can also be generated from
% LGR input, using a technique described in Section~\ref{sssec-arm}.
%
% \bigskip\noindent
% The features available with different loading options are summarised here.
% \begin{itemize}
-% \item
+% \item
% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
% \item
-% |grkxmp|: LICRs can be present; e.g. |\textAlpha|, |\textOmega|, etc.
+% |grkxmp|: LICRs can be present; e.g. |\textAlpha|, |\textOmega|, etc.
% \item
% |LGRxmp|: supports LGR-encoded input and |ISO-8859-7| upper range characters,
-% using the |\textLGR| `parser' macro.
+% using the |\textLGR| `parser' macro.
% \end{itemize}
-% With |LGRxmp| specified, the features of |grkxmp| are also available; so any
+% With |LGRxmp| specified, the features of |grkxmp| are also available; so any
% lower-listed option allows data to be mixed with that for higher-listed ones.
%
%
% The final piece to get validation for PDF/A from LGR input, is to specify
-% a Unicode point for the `|v|' used only in the strong `|sv|' ligature to obtain
-% a non-final `sigma' typeset in isolation.
+% a Unicode point for the `|v|' used only in the strong `|sv|' ligature to obtain
+% a non-final `sigma' typeset in isolation.
%\begin{decl}[]
% |\pdfglyphtounicode{internalchar2}{200D}|
%\end{decl}
% This gives an interpretation as `zero-width joiner'.
% There are two instances of this within |usage.tex|. Copy/Paste works as desired.
-% Using \pdftex\ the above command is done automatically.
-% Drivers, such as Xe\LaTeX\ lacking an implementation of |\pdfglyphtounicode|,
+% Using \pdftex\ the above command is done automatically.
+% Drivers, such as Xe\LaTeX\ lacking an implementation of |\pdfglyphtounicode|,
% can fail to produce a valid PDF due to this rather minor deficiency.
-%
+%
% Greek numerals, using |\greeknumeral| or |\Greeknumeral| cannot work directly within
% a |.xmpdata| file. However if such is desired, the following technique allows
-% correct LICRs to be found for use in the metadata.
-% At any convenient place within the \LaTeX\ source; e.g., near where the required
+% correct LICRs to be found for use in the metadata.
+% At any convenient place within the \LaTeX\ source; e.g., near where the required
% number is used, insert coding such as:
% \begin{decl}[]
% |{\pdfxGreeknumeralsHack \textgreek{\edef\num{\greeknumeral{1997}}\show\num}}%|
@@ -1820,7 +1875,7 @@
%
% \def\ArmTeX{Arm\kern -0.15em\TeX}%
% \subsubsection[Metadata with Armenian]{Metadata with Armenian}\label{sssec-arm}
-%
+%
% \begin{figure}[!htbp]
% \centering
% \includegraphics[scale=.42]{armtex-meta}
@@ -1840,20 +1895,20 @@
% \caption{Enriched \LaTeX\ source for the Armenian version of the \ArmTeX\ manual,
% with added metadata demonstrating the \ArmTeX\ transliteration scheme for \texttt{OT6} encoding.
% Also shown is coding used to produce bookmarks from the transliteration.}\label{arm-code}
-% \end{figure}
-%
+% \end{figure}
+%
% The \ArmTeX\ package\footnote{documentation: %
% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/}}}
-% provides the method to typeset Armenian, with input being specified in various ways
-% including a transliteration scheme from ASCII input. This transliteration is directed
+% provides the method to typeset Armenian, with input being specified in various ways
+% including a transliteration scheme from ASCII input. This transliteration is directed
% at the use of the |OT6| encoding, developed for this purpose.
% Each way is supported by |pdfx.sty| with appropriate loading options, similar
-% to the support for Greek~(see Section~\ref{sssec-grk}).
+% to the support for Greek~(see Section~\ref{sssec-grk}).
% \begin{itemize}
-% \item
-% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
% \item
-% |armxmp|: using LICR-like macro names; e.g. |\armAyb|, |\armsha|, |\armfe| etc.
+% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
+% \item
+% |armxmp|: using LICR-like macro names; e.g. |\armAyb|, |\armsha|, |\armfe| etc.
% \item
% |AR8xmp|: using the \ArmTeX\ (|OT6|) transliteration scheme or with upper-range
% characters in |ArmSCII8| encoding, using the `parser' macro |\textARM|.
@@ -1866,9 +1921,9 @@
% implemented in the |OT6|-encoded font, or careful parsing of the input into
% LICR-like macros.
% \LaTeX\ source\footnote{TeXLive: %
-% \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/examples/latex/}}}
-% for the \ArmTeX\ documentation is available in both English and Armenian.
-% Figure~\ref{arm-meta} shows the result of enriching the Armenian version with relevant
+% \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/examples/latex/}}}
+% for the \ArmTeX\ documentation is available in both English and Armenian.
+% Figure~\ref{arm-meta} shows the result of enriching the Armenian version with relevant
% metadata, using coding as shown in Figure~\ref{arm-code}.
%
% As in earlier examples, that metadata has come from the extensive comments at the head
@@ -1883,18 +1938,18 @@
% process, as follows.
% \begin{enumerate}
% \item
-% conversion of transliterated source into UTF-8.
+% conversion of transliterated source into UTF-8.
% This is done as the |.xmpdata| file is processed, using |\pdfxEnableCommands|
-% to make global definitions; e.g,
+% to make global definitions; e.g,
%\begin{decl}[]
-% |\xdef\sectAtitle{\textARM{Nerac'uthyun}}|
+% |\xdef\sectAtitle{\textARM{Nerac'uthyun}}|
%\end{decl}
% capturing the section title in the form supplied in the \LaTeX\ source.
-% This can be seen in Figure~\ref{arm-code}, near the end of the |{filecontents*}|
+% This can be seen in Figure~\ref{arm-code}, near the end of the |{filecontents}|
% environment, and at the bottom where the |\section| command would occur.
% \item
% conversion of the UTF-8 representation into |UTF16-be|, suitable for bookmark
-% strings within the PDF file. With \pdftex\ thishis is done using
+% strings within the PDF file. With \pdftex\ this is done using
% |\StringEncodingConvert| from Heiko Oberdiek's |stringenc.sty| package.
% Lua\LaTeX\ and Xe\LaTeX\ can use the UTF-8 representation directly.
% \item
@@ -1909,8 +1964,8 @@
% \end{decl}
% Now |\pdfxBookmark| first checks that the macro passed as the 2nd argument
% actually exists. If it does not, an error message is given and upon continuation
-% would just do |\section{Nerac'uthyun}| as normal.
-% When it does exist, then step 2 is done (by \pdftex) storing the result as |\pdfx@temp|.
+% would just do |\section{Nerac'uthyun}| as normal.
+% When it does exist, then step 2 is done (by \pdftex) storing the result as |\pdfx@temp|.
% With Lua\TeX\ and Xe\TeX, |\pdfx@temp| stores a copy of the UTF-8 data.
% Then the commands needing to be executed are essentially
%\begin{decl}[]
@@ -1921,9 +1976,9 @@
% so that the correct section heading is displayed on the page,
% but when |\sectAtitle| is processed to create a bookmark it is replaced
% by the pre-prepared contents of |\pdfx@temp|.
-% There are some technicalities\footnote{In fact a small change is made
-% to how \textcolor{verbcolor}{\texttt{\string\@@writetorep}} is used.}
-% to make this work cleanly,
+% There are some technicalities\footnote{In fact a small change is made
+% to how \textcolor{verbcolor}{\texttt{\string\@@writetorep}} is used.}
+% to make this work cleanly,
% as just doing these commands would interfere with other uses of |\pdfstringdef|.
% In case a long sectioning command has an optional argument, or a $*$-variant
% is needed, then include it this way.
@@ -1933,32 +1988,32 @@
%
%
% \subsubsection[Other Languages]{Other Languages}\label{sssec-other}
-%
+%
% There is support for Metadata using characters from other languages,
-% with corresponding loading options, as follows.
+% with corresponding loading options, as follows.
% \begin{itemize}
-% \item |arbxmp| : Arabic;
+% \item |arbxmp| : Arabic;
% via LICRs |\textarabicalef|, |\textarabicqaf|,\\ |\textarabicaleflowerhamza|, etc.
-% \item |devxmp| : Devanagari;
+% \item |devxmp| : Devanagari;
% via LICRs |\textdevanagaria|, |\textdevanagarivocalicr|,\\ |\textdevanagaricandrabindu|, etc.
% \item |hebxmp| : Hebrew;
% via LICRs |\hebalef|, |\hebsamekh|, |\hebfinalpe| and accent marks |\segol|, |\qubuts|, etc.
-% \item |vnmxmp| : Vietnamese;
+% \item |vnmxmp| : Vietnamese;
% via LICRs |\ABREVE|, |\OCIRCUMFLEX|, |\uhorn| etc. and the combinations of multiple accents
% applied as usual via |\'|, |\`|, |\^|, etc.
% \end{itemize}
% The LICRs include support mapping accented letters to precomposed glyphs, falling back on
% `combining characters' only in unusual situations. Special input conventions or methods,
-% such as transliteration schemes, are \emph{not yet} supported.
-% Indeed, these options are largely untested, so any difficulties encountered should
+% such as transliteration schemes, are \emph{not yet} supported.
+% Indeed, these options are largely untested, so any difficulties encountered should
% be reported to the package authors. Requests to support extra input methods or other
% language blocks should also be directed to the authors, along with pointers to where
-% the desired input methods are fully described.
+% the desired input methods are fully described.
% Sample `real-world' documents would be greatly appreciated.
%
%
% \subsection[L8U pseudo-encoding]{L8U pseudo-encoding}\label{ssec-L8U}
-%
+%
% To understand how |pdfx| handles the translation into UTF-8 of input that is not already
% in that format, we'll briefly discuss \LaTeX's font-encoding mechanism, which is the
% basis for LICR macros~\cite[\S\,7.11]{LC2}. As an example, consider the macro |\textgamma|
@@ -1973,32 +2028,32 @@
% |ucs/data/uni-3.def:\uc@dclc{947}{default}{\textgamma}%|
% \end{decl}
% Here the |\uc@dclc| commands associate UTF-8 input of |Ux0263| (IPA small letter gamma)
-% and |Ux03B3| (Greek small letter gamma) internally with |\textgamma|,
+% and |Ux03B3| (Greek small letter gamma) internally with |\textgamma|,
% whereas the others deal with output formats\footnote{Whereas {\color{verbcolor}\texttt{ucs.sty}}
-% handles UTF-8 input, mapping it to LICRs, with {\color{verbcolor}\texttt{pdfx.sty}}
+% handles UTF-8 input, mapping it to LICRs, with {\color{verbcolor}\texttt{pdfx.sty}}
% we need the reverse mapping into UTF-8, not just from LICRs but also from legacy
-% 8-bit encodings and transliteration schemes.}.
-% In four of these examples there is a number, which refers to a position in an `encoding vector'
+% 8-bit encodings and transliteration schemes.}.
+% In four of these examples there is a number, which refers to a position in an `encoding vector'
% for the particular font used to place the character onto the printable page.
% For example |LGR| refers to greek fonts, encoded as explained in Section~\ref{sssec-grk}.
% IPA phonetics use the |T3| encoding, so |\textgamma| refers to a character
% from a different Unicode block.
%
% With two of these cases there is no specific font.
-% For example, |PU| is used to create bookmark strings,
-% and other PDF string inclusions, using |\pdfstringdef| from the |hyperref| package.
-% With |greek-euenc.def| designed for Xe\TeX\ and Lua\TeX, the encoding can be variable,
-% with the output bytes being those for the UTF-8 encoding of $\gamma$, namely |^^ce^^b3|,
-% shown here as the |T1|-encoded pair |γ|.
-% The term `pseudo-encoding' has been coined by the \LaTeX\ team.
-% Although there is no actual font to determine the encoding, to an author there is essentially
-% no difference in how corresponding macros can be used to get a character placed into
-% an appropriate structure within the PDF.
+% For example, |PU| is used to create bookmark strings,
+% and other PDF string inclusions, using |\pdfstringdef| from the |hyperref| package.
+% With |greek-euenc.def| designed for Xe\TeX\ and Lua\TeX, the encoding can be variable,
+% with the output bytes being those for the UTF-8 encoding of $\gamma$, namely |^^ce^^b3|,
+% shown here as the |T1|-encoded pair |γ|.
+% The term `pseudo-encoding' has been coined by the \LaTeX\ team.
+% Although there is no actual font to determine the encoding, to an author there is essentially
+% no difference in how corresponding macros can be used to get a character placed into
+% an appropriate structure within the PDF.
%
% Thus there are 4 output forms for this character,
% and we've not even considered how $\gamma$ is used in mathematics!
% To handle these concurrently, one has internally-defined control-sequence names
-% \begin{decl}[]
+% \begin{decl}[]
% |\LGR\textgamma=\char"67| \qquad where $6\times 16 + 7 = 103$\\
% |\T3\textgamma=\char"47| \qquad where $4\times 16 + 7 = 71$\\
% |\PU\textgamma=\long macro:->\83\263|\\
@@ -2006,12 +2061,12 @@
% \end{decl}
% where the 2nd `\textbackslash' is part of the name\footnote{%
% obtained using {\color{verbcolor}%
-% \texttt{\string\csname\space LGR\string\string\string\textgamma\string\endcsname}}.}.
+% \texttt{\string\csname\space LGR\string\string\string\textgamma\string\endcsname}}.}.
% The latter macro is explained below.
% To use the specific version of the macro, \LaTeX\ maintains a `font-encoding'
% parameter, set using |\fontencoding{...}| local to the surrounding environment grouping.
%
-% To the above declarations of |\textgamma|, to deal with conversion to UTF-8,
+% To the above declarations of |\textgamma|, to deal with conversion to UTF-8,
% the |pdfx| package adds the following declarations when the |LGRxmp| option is used.
% \begin{decl}[]
% |pdfx/l8ugrk.def:\DeclareTextCommand{\textgamma}{L8U}{γ}|\\
@@ -2019,11 +2074,11 @@
% |pdfx/l8ugrk.def:\DeclareTextCompositeCommand{\textLGRenc}{L8U}{g}{γ} |\\
% |pdfx/l8ugrk.def:\DeclareTextCompositeCommand{\textLGRenc}{L8U}{^^e3}{γ}|
% \end{decl}
-% The pseudo-encoding name |L8U| indicates \textbf{L}ocal conversion into UTF-\textbf{8} \textbf{U}nicode,
-% as required for metadata, using |pdfx.sty|. Currently this pseudo-encoding is used in one place only;
+% The pseudo-encoding name |L8U| indicates \textbf{L}ocal conversion into UTF-\textbf{8} \textbf{U}nicode,
+% as required for metadata, using |pdfx.sty|. Currently this pseudo-encoding is used in one place only;
% during the interpretation of information supplied through the |\jobname.xmpdata| file.
% This happens as part of the |pdfx| package, \emph{before} it uses |xmpincl.sty|.
-% Such specificity justifies being called a `Local' encoding.
+% Such specificity justifies being called a `Local' encoding.
% However, other tasks may emerge requiring on-the-fly conversion to UTF-8.
% In this case all the functionality of this pseudo-encoding could be shifted into a separate package,
% and the name changed to reflect this more general usage.
@@ -2031,7 +2086,7 @@
% is possibly a sufficient reason to have a separate package. Another possibility is to
% generate on-the-fly creation of UTF-8 strings, to be sent to Xe\TeX\ or Lua\TeX\ running
% as a slave process to generate images of string using OTF fonts, which \pdftex\ currently
-% cannot handle. The result would then be imported back into the running job as an image.
+% cannot handle. The result would then be imported back into the running job as an image.
% The authors invite suggestions of how this |L8U| pseudo-encoding functionality can be put to
% good use.
%
@@ -2041,7 +2096,7 @@
% |\DeclareTextComposite{\`}{T1}{A}{192}|
%\end{decl}
% to get the pre-composed `\`A', rather than a composite built from \`{} and `A'.
-% The last parameter is an index into a font; however the |\DeclareTextCompositeCommand|
+% The last parameter is an index into a font; however the |\DeclareTextCompositeCommand|
% variant allows arbitrary coding as that final parameter, so can be the bytes for the
% UTF-8 representation of a character.
% In the above code lines, macros are defined as follows
@@ -2067,18 +2122,18 @@
% | ... \textLGRenc{#1}\textgreekLGR@i #2\@empty | \quad if |#2| has more tokens\\
% |\textgreekLGR@i #1->\textgreekLGR@ii #1|
%\end{decl}
-% Thus |\textLGRenc| is called on each token in the argument of |\textLGR|.
+% Thus |\textLGRenc| is called on each token in the argument of |\textLGR|.
% Now |\textLGRenc|, which is applicable only when |L8U| pseudo-encoding is in effect,
% has a default expansion of just passing the character through unchanged; \emph{viz.}
%\begin{decl}[]
% |\DeclareTextCommand{\textLGRenc}{L8U}[1]{#1}|
%\end{decl}
% but by using |\DeclareTextCompositeCommand{\textLGRenc}{L8U}{...}{...}|,
-% alternate expansions apply with specific arguments, as shown above.
+% alternate expansions apply with specific arguments, as shown above.
% In particular, that final argument can include coding that `looks ahead' to find the next
% character. This is used, for example, with diacritics in Greek, multi-letter sequences
% for Armenian letters, and other special cases related to ligatures and punctuation symbols.
-% To illustrate this Figure~\ref{ex-arm} (below) follows the conversion of a specific word,
+% To illustrate this Figure~\ref{ex-arm} (below) follows the conversion of a specific word,
% given in the transliteration for Armenian~(see Section~\ref{sssec-arm}).
% This conversion occurs using only \TeX's macro-expansion ability.
% Some details relevant to this example are explained there.
@@ -2117,26 +2172,26 @@
%\end{decl}
% The macro |\armen@en| (named for \textbf{e}mpty or \textbf{n}ext),
% looks ahead to see if the 5th-next argument token is |\@empty|,
-% signifying that there is nothing left of the original input.
-% (A closed bracing |{...}| counts as a single argument.) If |\@empty| the tokens in
+% signifying that there is nothing left of the original input.
+% (A closed bracing |{...}| counts as a single argument.) If |\@empty| the tokens in
% the 2nd bracing are substituted, otherwise those in the 3rd bracing.
-% Similarly |\armen@nc| (named for \textbf{n}ext \textbf{c}haracter)
+% Similarly |\armen@nc| (named for \textbf{n}ext \textbf{c}haracter)
% looks to see whether that 5th argument token matches with the character in the
% 1st bracing. If so, the 2nd bracing's tokens are substituted, else those of the 3rd bracing.
-% This is how to cope with `Sh' or `SH', implemented as ligatures in an |OT6| encoded font,
-% denoting a different letter from a single `S'. The macro |\armuh| is used here
+% This is how to cope with `Sh' or `SH', implemented as ligatures in an |OT6| encoded font,
+% denoting a different letter from a single `S'. The macro |\armuh| is used here
% to \emph{prevent} a ligature from |ev| that would otherwise occur.
-% One writes |e\armuh v| to get the separate letters. As the space becomes an active token,
-% we need |\textarmgobblespace| to restart parsing appropriately.
-% Of course |\textarmenARM@i| behaves like |\textgreekLGR@i|
-% as explained earlier, with a test for |\@empty| as the 2nd token.
+% One writes |e\armuh v| to get the separate letters. As the space becomes an active token,
+% we need |\textarmgobblespace| to restart parsing appropriately.
+% Of course |\textarmenARM@i| behaves like |\textgreekLGR@i|
+% as explained earlier, with a test for |\@empty| as the 2nd token.
% At the end, any remaining |\@empty| expand into nothing.
%
% \caption{Partial tracing of the conversion of an Armenian word, indicated by the red oval
% in Figure~\ref{arm-meta}, from {\color{verbcolor}\texttt{OT6}} transliterated form into UTF-8 bytes.
-% In each line, \TeX\ expansion occurs at the position of the left-most `\textbackslash'.
-% The resulting bytes are shown here in {\color{verbcolor}\texttt{T1}} encoding,
-% as in previous examples, with {\color{verbcolor}\texttt{?}} indicating an invisible character
+% In each line, \TeX\ expansion occurs at the position of the left-most `\textbackslash'.
+% The resulting bytes are shown here in {\color{verbcolor}\texttt{T1}} encoding,
+% as in previous examples, with {\color{verbcolor}\texttt{?}} indicating an invisible character
% in the byte range {\color{verbcolor}\texttt{Ox80}--\texttt{Ox9f}}.
% See Figure\,\ref{src-arm} for how this source appears with UTF-8 encoding.
% }\label{ex-arm}
@@ -2147,8 +2202,8 @@
% to an LICR called |\textarmuh|. Since |\armuh| is already defined, not as an LICR,
% it cannot be declared to be one without creating problems.
% Instead, within the environment grouping where |L8U| pseudo-encoding is specified,
-% one uses |\let\armuh\textarmuh| within a `rebinding' macro command
-% |\LIIXUmaparmenianletters|\footnote{The start of the macro name is derived from pseudo-Roman
+% one uses |\let\armuh\textarmuh| within a `rebinding' macro command
+% |\LIIXUmaparmenianletters|\footnote{The start of the macro name is derived from pseudo-Roman
% numerals: IX = 9, IIX = 8}
% to get LICR functionality from user-commands.
%\begin{decl}[]
@@ -2161,7 +2216,7 @@
% | \def\armbf{}%|\\
% | ... }|
%\end{decl}
-% As well as rebinding each command for a letter, the font style-switching commands
+% As well as rebinding each command for a letter, the font style-switching commands
% are aliased to do nothing, as these are not relevant to creating UTF-8 output.
% Being localised by the |L8U| grouping, this causes no problem elsewhere within the document.
% These are similar to macros |\psdaliasnames| and |\psdmapshortnames| from |hyperref.sty|,
@@ -2169,7 +2224,7 @@
%
% \begin{figure}[htb]
% \includegraphics[scale=.625]{Armenian-example-UTF8.png}
-% \caption{Image of part of the source coding for Figure~\ref{ex-arm},
+% \caption{Image of part of the source coding for Figure~\ref{ex-arm},
% viewed as UTF-8 encoded, within editing software.}\label{src-arm}
% \end{figure}
%
@@ -2186,10 +2241,10 @@
% \item |\LIIXUmaplatinchars| and |\LIIXUcancelfontswitches| with |LATxmp|
% \item |\LIIXUmapmathletterlikes| always defined
% \item |\LIIXUmapmathspaces| always defined
-% \item |\LIIXUmapmath...| with |mathxmp| --- see Section~\ref{ssec-math} below.
+% \item |\LIIXUmapmath...| with |mathxmp| --- see Section~\ref{ssec-math} below.
%\end{itemize}
% It may well be that more macro names can be added to some of these commands,
-% to allow macro usage within the metadata.
+% to allow macro usage within the metadata.
% Suggestions for such additions should be sent to the |pdfx| package authors, along
% with example documents. Similarly support for more languages can be requested.
%
@@ -2199,9 +2254,9 @@
% Macro commands for many mathematical symbols can be used directly in metadata without extra
% support; e.g., basic arithmetic operations, letter-like symbols, spacing commands.
% Super- and subscripted letters and numerals can use |\textsuperscript| and |\textsubscript|
-% when there is an appropriate Unicode character (digits, comma, $+$/$-$/$=$, parentheses,
+% when there is an appropriate Unicode character (digits, comma, $+$/$-$/$=$, parentheses,
% many letters but not all).
-%
+%
% When the |mathxmp| loading option is specified, many more symbols become available,
% using `rebinding' macros. These are necessary, as the macros for mathematical symbols
% are generally \emph{not} defined as LICRs, but use |\mathchar|. Thus new LICRs are needed,
@@ -2243,8 +2298,8 @@
% where |\liixu@mathreorder| uses some \TeX\ pattern-matching to allow the |\textmathrmstring|
% parser macro to work on the argument to |\mathrm| before allowing |\textmathnormal| parsing
% to continue afterwards. We refer to this as `nested parsing'.
-%
-% Similarly `nested parsing' can be used with superscripts and subscripts using |^{...}| and |_{...}|
+%
+% Similarly `nested parsing' can be used with superscripts and subscripts using |^{...}| and |_{...}|
% and to specify linebreaks, and even super-/subscripts within styles; viz.
%\begin{decl}[]
% |\Declar...CompositeCommand{\textmathnormal}{L8U}{^}{\liixu@mathreorder\textsuperstring}|\\
@@ -2259,7 +2314,7 @@
% is required to uncover cases which may require special handling.
% An ultimate aim is to be able to just copy the \LaTeX\ source for the `Abstract' of a technical
% paper into the |\Subject{...}| field of the |.xmpdata| file, with a large expectation that
-% it will `just work', or need only trivial edits to make it so.
+% it will `just work', or need only trivial edits to make it so.
%
%
% \subsection[Metadata in a Production Workflow]{Metadata in a Production Workflow}\label{ssec-wflow}
@@ -2273,8 +2328,8 @@
% \noindent
% At Macquarie University, the Mathematics Department produces personalised topmatter
% or coversheets for student assignments and tutorial papers using \LaTeX, incorporating
-% information that has been stored in a database. This is done by writing extra definitions
-% at the top of a copy of the \LaTeX\ source as prepared by the lecturers.
+% information that has been stored in a database. This is done by writing extra definitions
+% at the top of a copy of the \LaTeX\ source as prepared by the lecturers.
% For example information analogous to the following
%\begin{decl}[]
% |\def\thestudentname{\utext{Moore} Ross}|\\
@@ -2286,7 +2341,7 @@
% |\def\theduedate{09/05 2016}|\\
% |...|
%\end{decl}
-% is prepended to the file shown in Figure~\ref{math-wflow},
+% is prepended to the file shown in Figure~\ref{math-wflow},
% for each student downloading their personalised assignment paper.
% The \LaTeX\ source makes use of this information, including recording some of it
% within the Metadata.
@@ -2301,7 +2356,7 @@
% |\def\assigntopics{orbits, stabilisers, groups of matrices}|\\
% |\providecommand{\pdfxopts}{a-1b}|\\
% |%% XMP metadata for PDF/A conformance|\\
-% |\begin{filecontents*}{\jobname.xmpdata}|\\
+% |\begin{filecontents}[force]{\jobname.xmpdata}|\\
% |\Title{\theunitcode\ \theoffering: Assignment \theassignmentnumber}|\\
% |\Author{\assignLecturer}|\\
% |\Copyright{Macquarie University, Mathematics Department}|\\
@@ -2310,7 +2365,7 @@
% |\Keywords{\assigntopics}|\\
% |\Creator{pdfTeX + pdfx.sty with \pdfxopts\space option}|\\
% |\pdfxEnableCommands{\def\utext#1{#1,}}|\\
-% |\end{filecontents*}|\\
+% |\end{filecontents}|\\
% ||\\
% |\documentclass[a4paper,11pt]{article}|\\
% |\RequirePackage{assignments}|\\
@@ -2332,7 +2387,7 @@
% Another way that jobs can be customised using essentially the same \LaTeX\ source,
% is via the command used to initiate the job. For example the file |sample.tex|,
% accompanying the |pdfx| distribution, can be used to test the loading options to create
-% PDFs conforming to the various flavours of PDF/A, PDF/E and PDF/X.
+% PDFs conforming to the various flavours of PDF/A, PDF/E and PDF/X.
% Consider a shell script containing the following (Unix/Linux) commands.
%\begin{decl}[]
% |pdflatex "\def\pdfxopt{a-2b}\input sample.tex"|\\
@@ -2348,11 +2403,11 @@
% from the same \LaTeX\ source, named according to each particular variant.
% A default |\providecommand{\pdfxopt}{a-1b}| at the start of |sample.tex| catches the case
% of normal typesetting, doing nothing when |\pdfxopt| already has an expansion value.
-%
+%
% \goodbreak
% \subsection[Further Developments]{Further Developments}\label{ssec-further}
%
-% Prospects for further development of the |pdfx| package are as follows,
+% Prospects for further development of the |pdfx| package are as follows,
% listed not necessarily in order of perceived importance.
% \begin{itemize}
% \item
@@ -2363,7 +2418,7 @@
% Conformance to multiple PDF standards; e.g. both PDF/A and PDF/E,
% both PDF/A and PDF/X with RGB or CMYK color profile, other combinations.
% \item
-% Explore delaying the processing of metadata until |\begin{document}|,
+% Explore delaying the processing of metadata until |\begin{document}|,
% thereby allowing some fields to be set automatically from other information
% supplied within the document preamble.
% \item
@@ -2384,7 +2439,6 @@
% Support emerging standards based on PDF 2.0~\cite{PDF20}.
% \end{itemize}
%
-%
% \section[Bibliography]{Bibliography}%
% {\let\newpage\relax
% \begin{thebibliography}{999}
@@ -2396,28 +2450,35 @@
%
% \bibitem{XMP-spec}Adobe Systems Inc.;
% XMP Specification, Adding Intelligence to Media. September 2005.
-% Also available as ISO 16684-1:2012\,\cite{XMP-ISO}.\\
+% Also available as ISO 16684-1:2012\,\cite{XMP-ISO}. %\\
% \url{http://www.adobe.com/devnet/xmp/}.
%
% \bibitem{PDFUA1} ANSI\,/\,AIIM\,/\,ISO\,14289-1:2012;
% Document management applications --- Electronic document file format enhancement for accessibility
% --- Part 1: Use of ISO\,32000-1\,(PDF/UA-1);
-% Technical Committee ISO/TC\,171/SC\,2 (July 2012).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=54564}.\\
-% Revised as ISO\,14289-1:2014 (December 2014):
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=64599}.\\
-% Available from ANSI at \url{https://webstore.ansi.org/Standards/ISO/ISO142892014}.
+% Technical Committee ISO/TC\,171/SC\,2 (July 2012 -- withdrawn). %\\
+% Revised as ISO\,14289-1:2014 (Dec. 2014):
+% \url{https://www.iso.org/standard/64599.html}.\\
+% Available from ANSI at \url{https://webstore.ansi.org/standards/iso/iso142892014}.
%
-% \bibitem{PDFUABSI} BS,/\,ISO\,14289-1:2014; Document Management Applications.
-% Electronic Document File Format Enhancement For Accessibility. Use Of ISO 32000-1 (PDF/UA-1) (British Standard)
-% \url{https://webstore.ansi.org/Standards/BSI/BSISO142892014}.
+% \bibitem{PDFUA2} ISO\,14289-2:2024;
+% Document management applications --- Electronic document file format enhancement for accessibility
+% --- Part 2: Use of ISO\,32000-2\,(PDF/UA-2);\\
+% Technical Committee ISO/TC\,171/SC\,2 WG9 (March 2024).
+% \href{https://pdfa.org/iso-14289-2-pdfua-2/}%
+% {\UrlFont https://pdfa.org/iso-\penalty-20 14289-2-pdfua-2/}
+%
+% \bibitem{PDFUABSI} BS,/\,ISO\,14289-1:2014; Document Management Applications.
+% Electronic Document File Format Enhancement For Accessibility.
+% Use Of ISO 32000-1 (PDF/UA-1) (British Standard)
+% \url{https://webstore.ansi.org/standards/bsi/bsiso142892014}.
%
-% \bibitem{pdfaPilot} Callas Software Gmbh.;
+% \bibitem{pdfaPilot} Callas Software Gmbh.;
% \texttt{pdfaPilot}, plug-in or desktop software for PDF/A versions.
% \url{https://www.callassoftware.com/en/products/pdfapilot}.
%
% \bibitem{DC}
-% Dublin Core Metadata Element Set, Version 1.1, October 2010\\
+% Dublin Core Metadata Element Set, Version 1.1, October 2010\\
% \url{http://dublincore.org/documents/dces/}.
%
% \bibitem{BCP47}IETF; Best Current Practice \#47: Tags for Identifying Languages.
@@ -2425,115 +2486,157 @@
% \url{https://tools.ietf.org/pdf/bcp47.pdf}.
%
% \bibitem{PDFX}ISO\,15930-1:2001;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 1:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 1:
% Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a).
% Technical Committee ISO/TC\,130 (December 2001).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=29061}.
+% \url{https://www.iso.org/standard/29061.html}.
%
% \bibitem{PDFX3}ISO\,15930-3:2002;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 3:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 3:
% Complete exchange suitable for colour-managed workflows (PDF/X-3).
% Technical Committee ISO/TC\,130 (September 2002).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=34941}.
+% \url{https://www.iso.org/standard/34941.html}.
%
% \bibitem{PDFX1a}ISO\,15930-4:2003;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 4:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 4:
% Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a).
% Technical Committee ISO/TC\,130 (December 2003).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39938}.
+% \url{https://www.iso.org/standard/39938.html}.
%
% \bibitem{PDFX3a}ISO\,15930-6:2003;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 6:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 6:
% Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3).
% Technical Committee ISO/TC\,130 (December 2003).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39940}.
+% \url{https://www.iso.org/standard/39940.html}.
%
% \bibitem{PDFX4}ISO\,15930-7:2010;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 7:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 7:
% Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6.
% Technical Committee ISO/TC\,130 (July 2010).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55843}.
+% \url{https://www.iso.org/standard/55843.html}.
%
% \bibitem{PDFX5}ISO\,15930-8:2010;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 8:
-% Partial exchange of printing data using PDF 1.6 (PDF/X-5). \hfil
-% Technical Committee ISO/TC\,130 (July 2010). \hfil
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55844}.
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 8:
+% Partial exchange of printing data using PDF 1.6 (PDF/X-5).
+% Technical Committee ISO/TC\,130 (July 2010).
+% \url{https://www.iso.org/standard/55844.html}.
% Revision via Corrigendum: ISO\,15930-8:2010/Cor\,1:2011 (August 2011);
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=60210}.
+% \url{https://www.iso.org/standard/60210.html}.
+%
+% \bibitem{PDFX6}ISO\,15930-9:2020;
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 9:
+% Complete exchange of printing data (PDF/X-6) and partial exchange of printing data
+% with external profile reference (PDF/X-6p and PDF/X-6n) using PDF 2.0
+% Technical Committee ISO/TC\,130 (November 2020).
+% \url{https://www.iso.org/standard/77103.html}.
+%
%
% \bibitem{PDFVT}ISO\,16612-2:2010;
-% Graphic technology\,---\,Variable data exchange\,---\,Part 2:\hfil
-% Using PDF/X-4 \penalty-5000 and PDF/X-5 (PDF/VT-1 and PDF/VT-2).
-% Technical Committee ISO/TC\,130 (December 2005). \hfil
-% \href{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=38013}%
-% {{\small\tt http://www.iso.org/iso/home/store/catalogue\_tc/catalogue\_detail.htm?\penalty-200csnumber=38013}}.
+% Graphic technology\,---\,Variable data exchange---Part\,2:
+% Using PDF/X-4\penalty-5000\ and PDF/X-5 (PDF/VT-1 and PDF/VT-2).
+% Technical Committee ISO/TC\,130 (December 2005).
+% \url{https://www.iso.org/standard/38013.html}.%
+%
+%
+% \bibitem{PDFVT3}ISO\,16612-3:2020;
+% Graphic technology\,---\,Variable data exchange---Part\,3:
+% Using PDF/X-6\penalty-5000\ (PDF/VT-3).
+% Technical Committee ISO/TC\,130 (Edition1, 2020).
+% \url{https://www.iso.org/standard/75218.html}.%
%
% \bibitem{XMP-ISO}ISO\,16684-1:2012;
-% Graphic technology --- Extensible metadata platform (XMP) specification --- Part 1:
+% Graphic technology --- Extensible metadata platform (XMP) specification --- Part 1:
% Data model, serialization and core properties.
-% Technical Committee ISO/TC\,130 (February 2012).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=57421}.
+% Technical Committee ISO/TC\,130 (February 2012 -- withdrawn).
+% Revised as ISO\,16684-1:2019; (Edition 2, 2019).
+% \url{https://www.iso.org/standard/75163.html}.
%
-% \bibitem{PDFA}ISO\,19005-1:2005;
+% \bibitem{PDFA}ISO\,19005-1:2005;
% Document Management --- Electronic document file format for long term preservation
% --- Part 1: Use of PDF\,1.4\,(PDF/A-1);
% Technical Committee ISO/TC\,171/SC\,2 (Sept. 2005).
-% Revisions via Corrigenda: ISO\,19005-1:2005/Cor\,1:2007 (March 2007);
-% ISO\,19005-1:2005/Cor\,2:2011 (Dec. 2011). \\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=38920}.
+% Revisions via Corrigenda: ISO\,19005-1:2005/Cor\,1:2007 (March 2007);
+% ISO\,19005-1:2005/Cor\,2:2011 (Dec. 2011).
+% \url{https://www.iso.org/standard/38920.html}.
%
% \bibitem{PDFA2}ISO\,19005-2:2011;
% Document Management --- Electronic document file format for long term preservation
% --- Part 2: Use of ISO\,32000-1\,(PDF/A-2); \hfill
-% Technical Committee ISO/\penalty-200 TC\,171/SC\,2 (June 2011).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=50655}.
+% Technical Committee ISO/\penalty-200 TC\,171/SC\,2 (June 2011).
+% \url{https://www.iso.org/standard/50655.html}.
%
% \bibitem{PDFA3}ISO\,19005-3:2012;
% Document Management --- Electronic document file format for long term preservation
% --- Part 3: Use of ISO\,32000-1 with support for embedded files (PDF/A-3);
-% Technical Committee ISO/TC\,171/SC\,2 (October 2012).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=57229}.
+% Technical Committee ISO/TC\,171/SC\,2 (October 2012).
+% \url{https://www.iso.org/standard/57229.html}.
+%
+% \bibitem{PDFA4}ISO\,19005-4:2020;
+% Document Management --- Electronic document file format for long term preservation
+% --- Part 4: Use of ISO\,32000-2 (PDF/A-4);
+% Technical Committee ISO/TC\,171/SC\,2 (Edition 1, 2020).
+% \url{https://www.iso.org/standard/71832.html}.
+%
+% \bibitem{PDFDecl} PDF Declarations. A use of ISO\,32000.
+% PDF Association, Berlin, Germany (2019).
+% \url{https://pdfa.org/resource/pdf-declarations/}
%
% \bibitem{PDFE}ISO\,24517-1:2008;
-% Document Management --- Engineering document format using PDF --- Part 1:
+% Document Management --- Engineering document format using PDF --- Part 1:
% Use of PDF 1.6 (PDF/E-1);
% Technical Committee ISO/TC\,171/SC\,2 (May 2008).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=42274}.
+% \url{https://www.iso.org/standard/42274.html}.
%
% \bibitem{ISO32000}ISO\,32000-1:2008;
% Document management\,---\,Portable document format\,(PDF\,1.7);
-% Technical Committee ISO/TC\,171/SC\,2 (July 2008).
+% Technical Committee ISO/TC\,171/SC\,2 (July 2008).
% Also available as \cite{PDF17}.\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=51502}.
+% \url{https://www.iso.org/standard/51502.html}.
%
% \bibitem{PDF20}ISO\,32000-2:2017;
% Document management --- Portable document format --- Part~2: PDF\,2.0;
-% Technical Committee ISO/TC\,171/SC\,2 Document file formats, EDMS systems
-% and authenticity of information. (July 2017)\\
-% \url{https://www.iso.org/standard/63534.html}.
+% Technical Committee ISO/TC\,171/SC\,2 Document file formats, EDMS systems
+% and authenticity of information. (July 2017 --- withdrawn)
+% Revised as ISO\,32000-2:2020; (Edition 2, 2020)
+% \url{https://www.iso.org/standard/75839.html}.\\
+% Sponsored access available since 5 April 2023, from
+% \href{https://www.pdfa-inc.org/product/iso-32000-2-pdf-2-0-bundle-sponsored-access/}{PDF Association}.
%
% \bibitem{LC2} F.\,Mittelbach, M.\,Goossens with J.\,Braams, D.\,Carlisle, C.\,Rowley;
% The \LaTeX\ Companion --- 2nd edition. Addison--Wesley (now Pearson Education Inc.), 2004.
% ISBN 0-201-36299-6 (paperback).
%
-% \bibitem{TN0009}PDF/A Competence Centre;
-% TechNote 0009: XMP Extension Schemas in PDF/A-1. (March 2008)
+% \bibitem{PDF-LaTeX} \LaTeX\ Project Working Group, PDF Association.
+% \url{https://pdfa.org/community/latex-project-lwg/}
+%
+% \bibitem{LaTeXPDF} \LaTeX\ Tagged PDF\,---\,A blueprint for a large project.
+% Frank Mittelbach, Chris Rowley; TUGboat, Volume 41 (2020), No 3.
+% \url{https://tug.org/TUGboat/tb41-3/tb129mitt-tagpdf.pdf}.
+% Project website \url{https://www.latex-project.org/};
+% \href{https://www.latex-project.org/publications/2020-FMi-TUB-tb129mitt-tagpdf.pdf}{Preprint}.
+%
+% \bibitem{TN0009}PDF/A Competence Centre;\,
+% TechNote\,0009: XMP Extension Schemas in PDF/A-1.\penalty-2000\ (March 2008) \ \
% \href{https://www.pdfa.org/publication/technical-note-tn-0009-xmp-extension-schemas-in-pdfa-1/}%
-% {\small\tt https://www.pdfa.org/publication/technical-note-tn-0009-xmp-extension\penalty-200 -schemas-in-pdfa-1/}.
+% {\UrlFont https://www.pdfa.org/publication/technical-note-tn-0009-xmp-\penalty-20 extension-schemas-in-pdfa-1/}.
%
% \bibitem{PDF-UA}
-% PDF/UA Technical Implementation Guide: Understanding ISO\,14289-1 (PDF/UA-1). \penalty-200
-% AIIM Global Community of Information Professionals. \hfil
+% PDF/UA Technical Implementation Guide: Understanding ISO\,14289-1\penalty-2000\ (PDF/UA-1).
+% AIIM Global Community of Information Professionals.
% \href{http://www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical-Implementation-Guide}%
-% {\small\tt http://www.aiim.org/Re\penalty-200 search-and-Publications/standards/committees/PDFUA/Technical-Implementation\penalty-200 -Guide}.
+% {\UrlFont http://\penalty-20 www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical\penalty-200 -Implementation-Guide}.
+%
+% \bibitem{WTPDF} Well-Tagged PDF (WTPDF);
+% Using Tagged PDF for Accessibility and Reuse in PDF 2.0.
+% PDF Association; PDF Reuse TWG \& PDF/UA TWG. Version 1.0.0, February 2024.
+% \url{https://pdfa.org/wtpdf/}
%
-% \bibitem{colorp} N.\,Preining;
+% \bibitem{colorp} N.\,Preining;
% \texttt{colorprofiles} \textemdash\ Collection of free ICC profiles.
-% \TeX\ and \LaTeX\ package (by R.\,Moore), distributed with \TeX{}Live. (November 2018)\\
+% \TeX\ and \LaTeX\ package (by R.\,Moore), distributed with \TeX{}Live. (Nov. 2018)
% \url{https://ctan.org/pkg/colorprofiles}.
%
-% \bibitem{PRISM}PRISM; Publishing Requirements for Industry Standard Metadata.
+% \bibitem{PRISM}PRISM; Publishing Requirements for Industry Standard Metadata.
% PRISM Metadata Initiative; Idealliance Working Group.
% \url{http://www.idealliance.org/specifications/prism-metadata-initiative/prism}
%
@@ -2541,16 +2644,24 @@
% Generation of PDF/X- and PDF/A-compliant PDFs with \pdftex --- \texttt{pdfx.sty}.
% TUGboat Vol.\,36, No.\,2; TUG 2015 Conference Proceedings. \TeX\ Users Group, 2015; pp.\,136--142.
%
-% \bibitem{veraPDF} veraPDF. Industry Supported PDF/A Validation.
-% Software, dual-licensed under the GNU General Public License v3 or later (GPLv3+)
+% \bibitem{tagpdf} |tagpdf| -- Tools for experimenting with tagging using pdf\LaTeX\ and Lua\LaTeX.
+% Ulrike Fischer. Available via CTAN repository.
+% \url{https://ctan.org/pkg/tagpdf}.
+%
+% \bibitem{tpdf} |tpdf|; Ross Moore. Unpublished.
+% \LaTeX\ package and macro suite for producing `real-world' standards-conforming PDF documents.
+% Examples available at \url{http://maths.mq.edu.au/~ross/TaggedPDF/}.
+%
+% \bibitem{veraPDF} veraPDF. Industry Supported PDF/A Validation.
+% Software, dual-licensed under the GNU General Public License v3 or later (GPLv3+)
% and Mozilla Public License v2 or later (MPLv2+). \url{https://verapdf.org}.
% Wiki: \url{https://github.com/veraPDF/veraPDF-validation-profiles/wiki}
%
-% \bibitem{RDF} World Wide Web Consortium (W3C);
+% \bibitem{RDF} World Wide Web Consortium (W3C);
% Resource Description Format: RDF 1.1 XML Syntax. W3C Recommendation. (February 2014)
% \url{https://www.w3.org/TR/rdf-syntax-grammar/}.
-%
-% \bibitem{wikiPDF}Wikipedia;
+%
+% \bibitem{wikiPDF}Wikipedia;
% PDF/A: \url{https://en.wikipedia.org/wiki/PDF/A}\newline
% PDF/E: \url{https://en.wikipedia.org/wiki/PDF/E}\newline
% PDF/VT: \url{https://en.wikipedia.org/wiki/PDF/VT}\newline
@@ -2560,7 +2671,7 @@
% \end{thebibliography}
% }\goodbreak
% \section[Implementation]{Implementation}
-%
+%
% \iffalse
%<*package>
% \fi \hfuzz=2.5pt%
@@ -2575,7 +2686,7 @@
}{}%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdfx}
- [2019/02/27 v1.6.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
+ [2024/06/24 v1.6.5f PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
\newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet
\newif\ifpdfx@x \pdfx@xfalse % PDF/X mode
@@ -2594,13 +2705,28 @@
\def\xmp@ReleaseDate{2005} % 2001 for PDF/X-1, 2005 for PDF/A-1,
% 2010 for PDF/A-2, 2012 for PDF/A-3.
+%% with Beamer pgf will have written Resource objects already
+\newif\ifpdfx@luacheck@needed
+\@ifpackageloaded{pgfcore}{\pdfx@luacheck@neededtrue}{}
+%% thanks to Ryutaroh Matsumoto for reporting this issue
+
\newcount\pdfx@minorversion
+\newcount\pdfx@majorversion
+\expandafter\ifx\csname pdfmajorversion\endcsname\relax
+%% RRM: 20240614 LuaLaTeX may not have this defined
+ \newcount\pdfmajorversion
+ \pdfmajorversion=1\relax
+\fi
\expandafter\ifx\csname pdfminorversion\endcsname\relax
-\else
- \global\pdfx@minorversion=\the\pdfminorversion
+%% RRM: 20240614 this could be set in luatex85 package
+ \newcount\pdfminorversion
+ \pdfminorversion=3\relax
\fi
+%% options can change these from the defaults
+\global\pdfx@majorversion=\the\pdfmajorversion
+\global\pdfx@minorversion=\the\pdfminorversion
-\def\pdfx@ErrorWarning#1#2#3#4{%
+\def\pdfx@ErrorWarning #1#2#3#4{%
\ifpdfx@noerr \PackageWarning{pdfx}{#1.^^J #2#3.^^J}%
\else \PackageError{pdfx}{#1}{#2#4.^^J
Use option 'noerr' to avoid this message.^^J}%
@@ -2781,6 +2907,9 @@
\DeclareOption{pdf15}{\global\pdfx@minorversion=5 }% 2005 Acrobat 6
\DeclareOption{pdf16}{\global\pdfx@minorversion=6 }% 2006 Acrobat 7 (ISBN 0-321-30474-8)
\DeclareOption{pdf17}{\global\pdfx@minorversion=7 }% 2008 ISO 32000-1:2008
+\DeclareOption{pdf20}{% 2020 ISO 32000-2:2020
+ \global\pdfx@majorversion=2 \relax
+ \global\pdfx@minorversion=0 }%
%% inhibits writing the XMP byte-order marker
\DeclareOption{noBOM}{\pdfx@noBOMtrue}
@@ -2845,6 +2974,13 @@
\ExecuteOptions{noBOM,a-1b}
\ProcessOptions
+\RequirePackage{ifluatex}
+\ifpdfx@luacheck@needed
+ \ifluatex
+ \RequirePackage{luatex85}
+ \fi
+\fi
+
\ifpdfx@ua\ifpdfx@x\else
\expandafter\if\xmp@Conformance A\else
\pdfx@ErrorWarning{PDF/UA requires 'Tagged PDF' for any structure.^^J
@@ -2857,19 +2993,23 @@
\expandafter\ifx\csname pdflastobj\endcsname\relax
\else
- \ifnum\pdflastobj >\z@ % pdftex has already written objects
+ \ifnum\pdflastobj >\z@ % pdf/luatex has already written objects
+ % e.g. by pgfcore , called from Beamer or other class
\ifnum\pdfx@minorversion=\pdfminorversion\else
\PackageError{pdfx}%
{^^J(pdfx) Cannot change the \string\pdfminorversion^^J%
- (pdfx) PDF version remains at 1.\the\pdfminorversion.^^J%
- (pdfx) Use \string\pdfminorversion=\the\pdfx@minorversion\space
+ (pdfx) PDF version remains at \the\pdfmajorversion.\the\pdfminorversion.^^J%
+ (pdfx) Use \string\pdfmajorversion=\the\pdfx@majorversion\space^^J%
+ and \string\pdfminorversion=\the\pdfx@minorversion\space
before \string\documentclass}%
{(pdfx) Another package or document-class has written objects into the PDF.^^J%
- (pdfx) Hit return to continue with PDF version 1.\the\pdfminorversion.%
- }%
+ (pdfx) Hit return to continue with PDF version %
+ \the\pdfmajorversion.\the\pdfminorversion.}%
+ \global\pdfx@majorversion=\the\pdfmajorversion
\global\pdfx@minorversion=\the\pdfminorversion
\fi
\else
+ \global\pdfmajorversion\pdfx@majorversion
\global\pdfminorversion\pdfx@minorversion
\fi
\fi
@@ -2877,6 +3017,7 @@
\expandafter\ifx\csname thepdfminorversion\endcsname\relax
\expandafter\ifx\csname pdfminorversion\endcsname\relax
\else
+ \xdef\thepdfmajorversion{\the\pdfmajorversion}
\xdef\thepdfminorversion{\the\pdfminorversion}
\fi\fi
@@ -2885,16 +3026,21 @@
\def\pdf@minorversion@xetex=#1{\gdef\thepdfminorversion{#1}}%
\let\pdfminorversion\pdf@minorversion@xetex
\else
- \ifnum\pdfminorversion < 4\relax
- \ifpdfx@x
- % more testing needed with PDF/X
- \else
- \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
- \gdef\thepdfminorversion{4}%
- \fi
+ \ifnum\pdfmajorversion > 1\relax
+ \pdfminorversion=3\relax
+ %% else some JPG graphics with DCT encoding will fail
\else
- \ifnum\pdfminorversion<\thepdfminorversion\relax
- \global\pdfminorversion=\thepdfminorversion\relax
+ \ifnum\pdfminorversion < 4\relax
+ \ifpdfx@x
+ % more testing needed with PDF/X
+ \else
+ \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
+ \gdef\thepdfminorversion{4}%
+ \fi
+ \else
+ \ifnum\pdfminorversion<\thepdfminorversion\relax
+ \global\pdfminorversion=\thepdfminorversion\relax
+ \fi
\fi
\fi
\fi
@@ -2902,7 +3048,8 @@
\pdfresetpageorigin=0
\fi
-\expandafter\ifx\csname pdfomitcharset\endcsname\relax\else
+\expandafter\ifx\csname pdfomitcharset\endcsname\relax
+\else
\ifpdfx@omitcharset
\pdfomitcharset = 1 %
%% do not create /Charset listings of font glyphs;
@@ -2940,8 +3087,10 @@
\RequirePackage{iftex}
\RequirePackage{ifpdf}
+%\expandafter\show\csname ifpdf\endcsname
%% Support for pdfTeX primitives when using XeTeX:
\RequirePackage{ifxetex}
+%\expandafter\show\csname ifpdf\endcsname
\ifxetex
\def\pdfx@pages@xetex#1{\special{pdf:put @pages <<#1>>}}
\def\pdfx@pageattr@xetex#1{\special{pdf:put @thispage <<#1>>}}
@@ -2971,7 +3120,10 @@
}%
\RequirePackage{pdftexcmds}%
\let\pdfx@mdfivesum\pdf@mdfivesum
- \let\pdfescapestring\pdf@escapestring
+% \let\pdfescapestring\pdf@escapestring
+ \long\def\pdf@escapestring@byte #1{%
+ \directlua {oberdiek.pdftexcmds.escapestring("\luaescapestring {#1}", "byte")}}%
+ %\let\pdf@escapestring\pdf@escapestring@byte
\else
\ifxetex
\expandafter\ifx\csname mdfivesum\endcsname\relax
@@ -3021,6 +3173,13 @@
\pdfgeninterwordspace=0 \relax
\fi
\begingroup
+ \expandafter\ifx\csname stockwidth\endcsname\relax\else
+ \ifdim\stockwidth=\z@ %% 20240528
+ \else
+ %% 20231023 support for memoir's stockwidth/height
+ \let\paperwidth\stockwidth
+ \let\paperheight\stockheight
+ \fi \fi
\dimen0=0.996264009963\paperwidth\relax
\edef\pdfx@mwidth{\strip@pt\dimen0}%
\advance\dimen0 -25\p@
@@ -3049,7 +3208,7 @@
\expandafter\immediate\pdfx@pageattr@xetex{\pdfx@everypage@xetex}}%
\EveryShipout{%
\expandafter\immediate\pdfx@pageattr@xetex{\pdfx@everypage@xetex}}%
- \else
+ \else
\EveryShipout{%
\expandafter\ifx\expandafter\relax\the\pdfpageattr\relax
\immediate\pdfpageattr\expandafter{\the\pdfpagesattr}%
@@ -3068,7 +3227,8 @@
\else
\ifnum\thepdfminorversion >3 \relax
\expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax
- \expandafter\ifx\csname pdfmapline\endcsname\relax\else
+ \expandafter\ifx\csname pdfmapline\endcsname\relax
+ \else
\pdfmapline{+dummy-space <dummy-space.pfb}
\fi
\else
@@ -3098,16 +3258,46 @@
\@namedef{M@L8U}{}%
%% adjust to LaTeX's 2018 change to the default encoding
+\def\pdfx@utfencodingname{utf8}%
+\def\pdfx@RawInputEncoding{%
+% \begingroup
+% \@tempcnta=0
+% % print out the catcodes of chars < 32
+% \loop
+% \typeout{\the\@tempcnta: \expandafter\the\catcode\@tempcnta}%
+% \advance\@tempcnta\@ne
+% \ifnum\@tempcnta<32
+% \repeat
+% \endgroup
+ \UseRawInputEncoding
+}
\expandafter\ifx\csname inputencodingname\endcsname\relax
\else
\def\pdfx@restoreencoding#1{%
- \@tempcnta=128
+ \@tempcnta=1\relax
+ \loop
+% \catcode\@tempcnta=13\relax
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<8\relax
+ \repeat
+ \catcode11=13 \relax
+ \@tempcnta=14\relax
+ \loop
+% \catcode\@tempcnta=13\relax
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<31 \relax
+ \repeat
+ \@tempcnta=128\relax
\loop
- \catcode\@tempcnta=13
+% \catcode\@tempcnta=13\relax
\advance\@tempcnta\@ne
\ifnum\@tempcnta<256
\repeat
- \inputencoding{#1}%
+% {\tracingall
+% \ifx\inputencodingname\pdfx@utfencodingname\else
+ \let\inputencodingname\relax %% kill previous
+% \fi
+ \inputencoding{#1}%}%
\let\LastDeclaredEncoding\pdfx@LastDeclaredEncoding
\let\DeclareFontEncoding@\pdfx@DeclareFontEncoding@
\let\DeclareUnicodeCharacter\pdfx@DeclareUnicodeCharacter
@@ -3116,7 +3306,18 @@
\let\pdfx@inputencodingname\inputencodingname
\global\let\pdfx@DeclareUnicodeCharacter\DeclareUnicodeCharacter
\global\let\pdfx@DeclareFontEncoding@\DeclareFontEncoding@
- \UseRawInputEncoding
+% \@tempcnta=0
+% \loop
+% \typeout{\the\@tempcnta: \expandafter\the\catcode\@tempcnta}%
+%% \expandafter\showthe\catcode\@tempcnta
+% \advance\@tempcnta\@ne
+% \ifnum\@tempcnta<32
+% \repeat
+%\show\UseRawInputEncoding
+%% if the encoding is utf8 then don't change it here – wrong!
+% \ifx\inputencodingname\pdfx@utfencodingname\else
+% \expandafter\expandafter
+ \expandafter\pdfx@RawInputEncoding %\fi
\fi
\InputIfFileExists{\pdfx@encodingfile}{}{}
\expandafter\ifx\csname pdfx@inputencodingname\endcsname\relax
@@ -3243,6 +3444,10 @@
\ifx\relax#1\relax\else\gdef\xmp@lang@Identifier{#1}\fi
\def\afterxmp@parse{\let\Identifier\pdfx@extraIdentifier}%
\xmp@parse{\global\let\xmp@Identifier\@this}}
+\newcommand{\pdfx@Nickname}[1][]{%
+ \ifx\relax#1\relax\else\gdef\xmp@lang@Nickname{#1}\fi
+% \def\afterxmp@parse{\let\Identifier\pdfx@extraNickname}%
+ \xmp@parse{\global\let\xmp@Nickname\@this}}
\newcommand{\pdfx@Thumbnails}{%
\def\afterxmp@parse{\let\Thumbnails\pdfx@extraThumbnails}%
\xmp@parse{\global\let\xmp@Thumbnails\@this}}
@@ -3443,6 +3648,28 @@
\xmp@parse{\global\let\xmp@extraIdentifier\@this}%
}%
+%% Nickname only supports a single usage, for PDF/X
+%\newcommand{\pdfx@extraNickname}[1][]{%
+% \ifx\relax#1\relax
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\pdfx@insert@sep}%
+% \else
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\pdfx@insert@sep[#1]}%
+% \fi
+% \def\afterxmp@parse{%
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\xmp@extraNickname}%
+% }%
+% \xmp@parse{\global\let\xmp@extraNickname\@this}%
+% }%
+
\newcommand{\pdfx@extraThumbnails}[1][]{%
\ifx\relax#1\relax
\expandafter\expandafter\expandafter\gdef
@@ -3737,7 +3964,7 @@
%\let\sep\pdfx@sep
%% Note: '\ ', \&, \copyright are already predefined by hyperref.
%% allow LICRs to expand into PDF strings
- \def\cf@encoding{PU}%
+ \def\cf@encoding{PU}%
\def\9##1{\ifcase##1\string\0\or\string\1\or\string\2\or\string\3\fi}%
\def\8{\string\00}%
\def\0{\string\0}\def\1{\string\1}\def\2{\string\2}\def\3{\string\3}%
@@ -3798,6 +4025,9 @@
%%----------------------------------------------------------------------
%% Alternative way to get the CreationDate using Lua for XeTeX
\ifdefined\pdfcreationdate\else
+ \ifdefined\creationdate %% added to XeTeX in 2019
+ \let\pdfcreationdate\creationdate
+ \else
\begingroup %% ensure correct catcodes, not done by \dospecials
\catcode`\:=12 \catcode`\.=12
\begin{filecontents*}{creationdate.lua}
@@ -3833,7 +4063,7 @@
\def\noexpand\pdfcreationdate{\string D:20181028075445+10'00'}}%
\x
\fi
-\fi
+\fi \fi
%%----------------------------------------------------------------------
\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfx@mdfivesum{#1}}
@@ -4004,7 +4234,7 @@
\fi\fi
}%
\fi\fi
-\hypersetup{pdfencoding=auto}% unicode
+%\hypersetup{pdfencoding=auto}% 2019-12-08 No; this writes 8-bit bookmarks.
\expandafter\ifx\csname KV@Hyp@psdextra\endcsname\relax\else
\hypersetup{psdextra}
\fi
@@ -4370,7 +4600,7 @@
%% ----------------------------------------------------------------------
\begingroup
- \catcode`\_ 12 \catcode`\" 12 \catcode`\' 12
+ \catcode`\_ 12 \catcode`\" 12 \catcode`\' 12
\catcode`\< 12 \catcode`\> 12 \catcode`\/ 12 \catcode`\[ 12 \catcode`\] 12
\edef\@pctchar{\expandafter\@gobble\string\%}
\edef\@bchar{\expandafter\@gobble\string\\}
@@ -4733,22 +4963,24 @@
\fi
}% end of \catcode
+
%% ----------------------------------------------------------------------
%% \pdfx@topdfstring\toka\tokb: Convert the string in \tokb to a format
%% appropriate for PDF /Info strings, i.e., PDFDoc encoding or UTF-16
%% encoding, and store the result in \toka As a special case, if \tokb
%% is \@empty, set \toka to \@empty.
-\def\pdfx@topdfstring#1#2{%
- \ifx#2\@empty
+\RequirePackage{stringenc}% prevent it loading later inside a group
+\def\pdfx@topdfstring #1#2{%
+ \ifx #2\@empty
\global\let#1\empty
\else
\begingroup
\ifluatex\else\ifxetex\else
\inputencoding{utf8}%
\fi\fi
- \hypersetup{pdfencoding=auto}%
- \pdfstringdef#1{#2}%
+ \@ifl@t@r\fmtversion{2022/06/01}{}{\hypersetup{pdfencoding=auto}}%
+ \pdfstringdef #1{#2}%
\endgroup
\fi
}
@@ -4858,7 +5090,7 @@
\RequirePackage{stringenc}%
\begingroup
\catcode`\| 0
- \catcode `\\ 12
+ \catcode `\\ 12
|gdef |pdfx@parsebackslash#1{%
|begingroup
|def |pdfx@parsemacro{#1}%
@@ -4873,7 +5105,7 @@
|edef |pdfx@parseout{|pdfx@parseout \\}%
|def |next{|pdfx@doparsebackslash#2|pdfx@endparse}%
|fi |next
- }
+ }
|endgroup
\def\pdfx@parseend{%
\edef\next{\endgroup\def\expandafter\noexpand\pdfx@parsemacro{\pdfx@parseout}}%
@@ -5018,7 +5250,7 @@
\spacefactor\accent@spacefactor
}
%% same for named accents in math-mode
-\def\pdfx@mathaccentV#1#2#3#4#5{%
+\def\pdfx@mathaccentV #1#2#3#4#5{%
#5{\mathsurround=\z@\relax
\everymath{}%
\mathchoice
@@ -5027,12 +5259,74 @@
{\setbox\z@\hbox{$\scriptstyle #5$}\kern-\wd\z@}%
{\setbox\z@\hbox{$\scriptscriptstyle #5$}\kern-\wd\z@}%
}%
+% \pdfx@AMS@mathaccentV{#1}{#2}{#3}{#4}{#5}%
\AMS@mathaccentV{#1}{#2}{#3}{#4}{\phantom{#5}}%
}
+
+%%% the original AMS coding:
+%%\mathaccentV=macro: #1#2#3#4#5->\ifmmode
+%% \gdef \macc@tmp {\macc@depth \@ne }%
+%% \setbox \z@ \hbox {\let\mathaccentV \macc@test
+%% \let \use@mathgroup \@gobbletwo
+%% \let \select@group \@gobblethree \frozen@everymath {}$#5$}\macc@tmp
+%% \ifnum \macc@depth =\@ne
+%% \global \let \macc@nucleus \@empty
+%% \mathaccent "\accentclass@
+%% \else \@xp \macc@nested
+%% \fi #2#3#4{#5}\macc@nucleus
+%% \else
+%% \@xp \nonmatherr@ \csname #1\endcsname \fi .
+
+\def\pdfx@AMS@mathaccentV #1#2#3#4#5{%
+ \ifmmode
+ \gdef \macc@tmp {\macc@depth \@ne }%
+ \setbox \z@ \hbox {\let\mathaccentV \macc@test
+ \let \use@mathgroup \@gobbletwo
+ \let \select@group \@gobblethree \frozen@everymath {}$\phantom{#5}$}\macc@tmp
+ \ifnum \macc@depth =\@ne
+ \global \let \macc@nucleus \@empty
+ \mathaccent "\accentclass@
+ \else \@xp \macc@nested
+ \fi #2#3#4{#5}\macc@nucleus
+ \else
+ \@xp \nonmatherr@ \csname #1\endcsname
+ \fi
+}
+
+
+%% code supplied by Yuwsuke Kieda, 7 May 2019 :
+%% https://gist.github.com/yuw/a31936370647d0044eeb4e47f3ae913f
+%%
+\@ifpackageloaded{amsmath}{%
+ \def\pdfx@macc@a #1#2{%
+ \begingroup
+ \let\macc@style#1\relax
+ \def\macc@palette ##1{##1\macc@style}%
+ \advance\macc@depth\m@ne
+ \ifnum\macc@depth=\z@
+ \gdef\macc@nucleus{\phantom{#2}}%% <<< here
+ \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}%
+ \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}%
+ \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@
+ \xdef\macc@kerna{\the\dimen@\relax}%
+ \setbox4\hbox{$#1#2\acc@check\@empty$}%
+ \global\setbox\@ne\hbox to\wd4{}%
+ \ht\@ne\ht4 \dp\@ne\dp4
+ \xdef\macc@kernb{\the\wd4\relax}%
+ \mathaccent\macc@code{\box\@ne\kern\macc@kerna}%
+ \else
+ \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}%
+ \macc@adjust
+ \fi
+ \endgroup
+ }}\relax
+%
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{%
\let\AMS@mathaccentV\mathaccentV
- \let\mathaccentV\pdfx@mathaccentV}%
+% \let\mathaccentV\pdfx@mathaccentV
+% \let\macc@a\pdfx@macc@a
+ }%
}%
%% How to support XeTeX here ?
@@ -5284,10 +5578,25 @@
%% it should be loaded outside the grouping, else biblatex may barf
%%
\RequirePackage{ifthen}
-\begingroup
+
+%% 2024-04-05: from July 2024 LaTeX will not allow packages to load
+%% within a grouping, so reorganise a bit.
+%%
%% override the \ifpdf check of xmpincl package, inside the grouping
- \pdftrue
- \RequirePackage{xmpincl}
+%% after saving its current value:
+\let\pdfx@ifpdf\ifpdf
+\pdftrue
+%% now load the packages, then enter the grouping:
+\RequirePackage{xmpincl}
+%%
+\begingroup
+%%% 20240405 revert the value of \ifpdf ...
+\pdfx@ifpdf
+\else
+ %% 20240624 ... outside the grouping
+ \aftergroup\pdffalse
+\fi
+
%% combine coding from xmpincl and hyperxml to support XeTeX
\def\pdfx@xmpincl@xetex#1{%
\IfFileExists{#1.xmp}{%
@@ -5343,6 +5652,13 @@
%%----------------------------------------------------------------------
\begingroup
+%% 20210706 we need a pointer to unexpandable \par
+ \expandafter\ifx\csname tex_par:D\endcsname \relax
+ \let\pdfx@par\par
+ \else
+%% using LaTeX 2021-06 or later
+ \expandafter\let\expandafter\pdfx@par\csname tex_par:D\endcsname
+ \fi
\ifpdfx@x
\ifpdfx@vt
\def\xmp@template{pdfvt}%
@@ -5396,9 +5712,11 @@
%% beware 128 space characters -- for padding end of XMP packet
\gdef\paddingline{ }%
\typeout{Using XMP template file: \xmp@template.xmp}%
+ %% 20210706 ensure \par is unexpandable
+ \let\par\pdfx@par
\includexmp{\xmp@template}%
\endgroup
-
+%%%
%%
%% revert active characters to previous encoding
%%
@@ -5462,13 +5780,27 @@
%%
%% controls the color model and conversions with xcolor package
%%
+\def\pdfx@selectcolormodel@doing #1{%% Warning
+ \PackageWarning{pdfx}{Setting all color commands to #1,^^J%
+ consistent with the Color Model for PDF/%
+ \ifpdfx@x X \else \ifpdfx@e E \else A \fi\fi}%
+ }%% 20240528 inhibit any changes
+\def\pdfx@selectcolormodel@done #1{%% Warning
+ \PackageWarning{pdfx}{Color Model already set for PDF/%
+ \ifpdfx@x X\else \ifpdfx@e E\else A\fi\fi,^^Jcannot change to #1 }%
+ }%% 20240528 inhibit any changes
+%%
\ifpdfx@cmyk
%
% this will have been done already for PDF/X
%
\PassOptionsToPackage{cmyk,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{cmyk}%
+ \pdfx@selectcolormodel@doing{cmyk}%
+ \selectcolormodel{cmyk}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\ifpdfx@x
\else
%% \AtBeginDocument{%
@@ -5491,8 +5823,12 @@
\fi
\else
\PassOptionsToPackage{rgb,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{rgb}%
+ \pdfx@selectcolormodel@doing{rgb}%
+ \selectcolormodel{rgb}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\fi
\@ifpackageloaded{xcolor}{\pdfx@handlexcolor
\ifpdfx@cmyk\else\color{black}\fi}{%
@@ -5628,7 +5964,9 @@
%</package>
% \fi
% \Finale
-% \let\newpage\relax
% \PrintIndex
+% \let\realGlossaryParms\GlossaryParms \let\realsubitem\subitem
+% \long\def\GlossaryParms{\realGlossaryParms \def\hdpindex ##1##2{}%
+% \long\def\subitem ##1:\ ##2\pfill{\par\hangindent 30pt\hspace*{15pt}##2\hfil}}%
% \PrintChanges
% \endinput
diff --git a/macros/latex/contrib/pdfx/src/pdfx.ins b/macros/latex/contrib/pdfx/src/pdfx.ins
index afd943fbb5..88defbfee8 100644
--- a/macros/latex/contrib/pdfx/src/pdfx.ins
+++ b/macros/latex/contrib/pdfx/src/pdfx.ins
@@ -4,9 +4,9 @@
\preamble
- Copyright (c) 2019, CV Radhakrishnan <cvr@river-valley.org>,
+ Copyright (c) 2019-2024, CV Radhakrishnan <cvr@river-valley.org>,
Han The Thanh <thanh@river-valley.org>,
- Ross Moore <ross.moore@mq.edu.au>,
+ Ross Moore <ozross@icloud.com> - primary contact,
Peter Selinger <selinger@mathstat.dal.ca>
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/pdfx/src/pdfx.xmpdata b/macros/latex/contrib/pdfx/src/pdfx.xmpdata
deleted file mode 100644
index 66eb644635..0000000000
--- a/macros/latex/contrib/pdfx/src/pdfx.xmpdata
+++ /dev/null
@@ -1,33 +0,0 @@
-\Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
-\Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
-\Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
-\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \thisyear}
-\PublicationType{manual}
-\Contributor{Norbert Preining: 'colorprofiles' package}
-\Copyright{Public domain.}
-\Copyrighted{False}
-\CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{March \thisyear}
-\CoverDate{\thisyear-03-10}
-\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
-\Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
-\Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
-\Advisory{v1.6: Default RGB and CMYK profiles now require the colorprofiles.sty package.}
-\Relation{Requires the colorprofiles package for RGB and CMYK default profiles.}
-\Advisory{v1.6: Access more profiles, incl. to pdfaPilot's color profile folders.}
-\Advisory{v1.6: Revised glyphtounicode.sty to use variation selectors.}
-\Advisory{v1.6: altered maps to PUA codepoints.}
-\Advisory{v1.6: added more glyphs via glyphtounicode-ntx.tex }
-\Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
-\Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
-\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
-\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
-\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
-\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
-\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
-\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
-\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
-\pdfxEnableCommands{%
- \def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
- \def\eee{^^c3^^aa^^cc^^81 }}
diff --git a/macros/latex/contrib/photobook/Makefile b/macros/latex/contrib/photobook/Makefile
index 59b7ea002c..19edca368e 100644
--- a/macros/latex/contrib/photobook/Makefile
+++ b/macros/latex/contrib/photobook/Makefile
@@ -85,8 +85,7 @@ endif
# markdown dialect...
#
-# XXX still needs some tweaking...
-MD_FORMAT ?= markdown_github
+MD_FORMAT ?= gfm
# debug output...
@@ -173,26 +172,11 @@ LN := cp -l
# - |..| - verbatim does not work...
# - || - parts of doc omitted...
# - verbatim blocks get merged sometimes...
+# - does not resolve \jobname in include...
# - ...
# ...not sure if this can be tweaked...
-#%.md: %.tex
-# pandoc -t $(MD_FORMAT) -s $< -o $@
-
-# XXX EXPERIMENTAL...
-# XXX revise:
-# ...for this to work we need to replace:
-# \documentclass{ltxdoc}
-# to:
-# \documentclass[markdownextra]{internet}
-# XXX install the internet class...
-# https://github.com/loopspace/latex-to-internet
-# ...needs testing...
%.md: %.tex
- cat $< \
- | sed 's/documentclass{ltxdoc}/documentclass[markdownextra]{internet}/' \
- > $<.tmp
- mv $<{.tmp,}
- $(TEX) $< $(STDERR)
+ pandoc -t $(MD_FORMAT) -s $< -o $@
# meta-section...
diff --git a/macros/latex/contrib/photobook/README.md b/macros/latex/contrib/photobook/README.md
index 13daa3c373..7055717be0 100644
--- a/macros/latex/contrib/photobook/README.md
+++ b/macros/latex/contrib/photobook/README.md
@@ -28,7 +28,7 @@ $ make install
The `photobook` document class requires a set of modules to be installed
for it to function, the full list is included in the docs and can be
-printed by calling:
+generated and printed by calling:
```shell
$ make depends
```
@@ -39,7 +39,8 @@ For more info on `make` targets see the: [./Makefile](./Makefile)
# Documentation
-Pre-built documentation can be found on
+Pre-built documentation can be found in the
+[Github releases](https://github.com/flynx/photobook/releases/latest) or on
[CTAN](http://mirrors.ctan.org/macros/latex/contrib/photobook/photobook.pdf).
@@ -69,7 +70,7 @@ Build requirements for docs:
## Notes
-- The main refetence is inline with the source [photobook.cls](./photobook.cls)
+- The main reference is maintained inline with the source [photobook.cls](./photobook.cls)
thus it is both human-readable next to the code it documents and is
used to build the `photobook.pdf`.
Extracting the documentation source (`photobook*.tex`) is done
diff --git a/macros/latex/contrib/photobook/photobook.cls b/macros/latex/contrib/photobook/photobook.cls
index a2a84809e8..ae2ecac6b6 100644
--- a/macros/latex/contrib/photobook/photobook.cls
+++ b/macros/latex/contrib/photobook/photobook.cls
@@ -38,6 +38,7 @@
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
+%
% XXX ASAP: imagecell: photobook@imagecell@left and photobook@imagecell@top
% should explicitly account for clearence@left and clearence@top resp.
% XXX ASAP: imagecell: clearance should have the same semantics as cliptocell
@@ -88,12 +89,25 @@
% cell/cell* depend on absolute mode being set globally
%
%
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+%
+% Work around an issue with calc's \ratio{..}{..} breaking into an
+% "Arythmetic overflow" when working with large images.
+% (see Issues section for more info)
+%
+% NOTE: if the error persists just make this smaller but note that the
+% smaller this gets the greater the error can be for very small
+% images
+%
+\def\CalcOverflowFactor{0.1}%
+
+
%----------------------------------------------------------------------
%%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the
%%% code and the generated docs...
-\edef\photobook@FILEVERSION{v0.1.29}
-\edef\photobook@FILEDATE{2023-08-24}
+\edef\photobook@FILEVERSION{v0.1.31}
+\edef\photobook@FILEDATE{2024-07-19}
%% \documentclass{ltxdoc}
@@ -248,26 +262,27 @@
%% \begin{minipage}{\textwidth}
%% \begin{verbatim}
%%
+%% <-------------------------------------------------> paperwidth
%% <---> bleed <---> bleed
-%%
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^
-%% . . . | bleed
-%% . +-----------------------------------------+----- v . . ---
-%% . | ^ . . = .
-%% . | . . . . . . | . . . = . ^
-%% . |<-- blockwidth ------------------------->= . |
-%% . | . | . . . = . |
-%% . | | . . = . textheight
-%% . | . Page | . . . = . |
-%% . | blockheight . . = . |
-%% . | . | . . <--> bindingoffset |
-%% . | | . . = . |
-%% . | . . . . . . | . <--> gutteroffset v
-%% . | v . . = .
-%% . +-----------------------------------------+----- ^ . . ---
-%% . . . . | bleed
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + v
-%% . .
+%% paperheight v
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^ . . . ---
+%% . . . | bleed .
+%% . +-----------------------------------------+----- v . . ---
+%% . | ^ . . = . .
+%% . | . . . . . . | . . . = . ^
+%% . |<-- blockwidth ------------------------->= . | .
+%% . | . | . . . = . |
+%% . | | . . = . textheight .
+%% . | . Page | . . . = . |
+%% . | blockheight . . = . | .
+%% . | . | . . <--> bindingoffset |
+%% . | | . . = . | .
+%% . | . . . . . . | . <--> gutteroffset v
+%% . | v . . = . .
+%% . +-----------------------------------------+----- ^ . . ---
+%% . . . . | bleed .
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + v . . . ---
+%% . . ^
%% | <-- textwidth --------------> . |
%% ^ gutter
%%
@@ -278,6 +293,9 @@
%% account for |\gutteroffset|, namely macros that do not display content
%% with bleeds.
%%
+%% Also note that bleeds are included in \href{https://ctan.org/pkg/geometry}{geometry}'s
+%% |\paperwidth| and |\paperheight|.
+%%
% NOTE: if blockwidth/blockheight are set they will force recalculations
% and overriding of the paperwidth/paperheight if they were changed
% by the user code anywhere between \documentclass[..]{photobook}
@@ -917,7 +935,7 @@
%% \DescribeMacro{\imageblockoffsettop=<ratio>}
%
-%% The ration by which the image is raised in |\ImagePage{..}| and
+%% The ratio by which the image is raised in |\ImagePage{..}| and
%% derived templates.
%%
\edef\imageblockoffsettop{\photobook@imageblockoffsettop}
@@ -2515,8 +2533,9 @@
% NOTE: here we calculate image/cell eccentricity to decide
% to fit to width or heigh of cell...
% NOTE: did I say that I "love" how LaTeX does basic math??
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@imagecell@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
\setlength\photobook@imagecell@cellratio{%
1pt * \ratio{\cellwidth}{\cellheight}}%
\ifdim \photobook@imagecell@imgratio < \photobook@imagecell@cellratio%
@@ -2524,7 +2543,7 @@
\includegraphics[%
keepaspectratio,
width=\photobook@imagecell@scale\dimexpr
- + \cellwidth
+ \cellwidth
- \photobook@imagecell@clearance@left
- \photobook@imagecell@clearance@right \relax]{#3}}%
\else%
@@ -2532,7 +2551,7 @@
\includegraphics[%
keepaspectratio,
height=\photobook@imagecell@scale\dimexpr
- + \cellheight
+ \cellheight
- \photobook@imagecell@clearance@top
- \photobook@imagecell@clearance@bottom \relax]{#3}}%
\fi\fi\fi%
@@ -4848,8 +4867,9 @@
% align center -> check if image fits vertically...
\ifphotobook@ImagePageFit@centered\else%
\sbox{\photobook@imagebox}{\includegraphics{#3}}%
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@ImagePageFit@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
% NOTE: subtracting \bindingoffset from \cellwidth here makes sure that
% we avoid offsetting images close enough in ratio to the page and
% messing up bleeds...
@@ -5692,6 +5712,26 @@
%----------------------------------------------------------------------
+%%%% Issues
+%
+%% \subsection*{Large images can cause "Arythmetic overflow"}
+%
+%% \DescribeMacro{\CalcOverflowFactor=0.1}
+%
+%% If the issue occurs set |\CalcOverflowFactor| to a smaller value.
+%% But note, a value too small can lead to errors in the affected macros,
+%% a good value is between 0.1 and 0.01.
+%%
+%% Also note that it is recommended to pre-size images the print outside
+%% of \LaTeX.
+%%
+%% Affected macros: |\imagecell[fill]{..}{..}|, |\ImagePageFit|.
+%%
+% The issue occurs in the calc's |\ratio{..}{..}| macro when calculating
+% image proportions.
+%
+%
+%----------------------------------------------------------------------
% Index...
%
% XXX this prints trash at this point...
diff --git a/macros/latex/contrib/photobook/photobook.pdf b/macros/latex/contrib/photobook/photobook.pdf
index 5e785e73cf..119574f619 100644
--- a/macros/latex/contrib/photobook/photobook.pdf
+++ b/macros/latex/contrib/photobook/photobook.pdf
Binary files differ
diff --git a/macros/latex/contrib/preview/preview.dtx b/macros/latex/contrib/preview/preview.dtx
index f8b72e0522..cafb03636d 100644
--- a/macros/latex/contrib/preview/preview.dtx
+++ b/macros/latex/contrib/preview/preview.dtx
@@ -20,7 +20,7 @@
% Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
% Boston, MA 02110-1301 USA
% \fi
-% \CheckSum{1758}
+% \CheckSum{1770}
% \GetFileInfo{preview.sty}
% \date{\filedate}
% \author{David Kastrup\thanks{\texttt{bug-auctex@gnu.org}}}
@@ -437,8 +437,8 @@
%<*style>
%<*!active>
\NeedsTeXFormat{LaTeX2e}
-\def\pr@version{13.3}
-\def\pr@date{2024/01/17}
+\def\pr@version{14.0.6}
+\def\pr@date{2024/06/30}
\ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)]
% \end{macrocode}
% \end{macro}
@@ -1427,11 +1427,17 @@ Please complain to your document class author}%
%<auccfg>\PreviewMacro*[?[{@{[]}}{}][#1]\item
%<auccfg>\PreviewMacro*\emph
%<auccfg>\PreviewMacro*\textrm
+%<auccfg>\PreviewMacro*\textbf
%<auccfg>\PreviewMacro*\textit
%<auccfg>\PreviewMacro*\textsc
%<auccfg>\PreviewMacro*\textsf
%<auccfg>\PreviewMacro*\textsl
%<auccfg>\PreviewMacro*\texttt
+%<auccfg>\PreviewMacro*\textulc
+%<auccfg>\PreviewMacro*\textmd
+%<auccfg>\PreviewMacro*\textnormal
+%<auccfg>\PreviewMacro*\textup
+%<auccfg>\PreviewMacro*\textsw
%<auccfg>\PreviewMacro*\textcolor
%<auccfg>\PreviewMacro*\mbox
%<auccfg>\PreviewMacro*[][#1{}]\author
@@ -1891,7 +1897,7 @@ Please complain to your document class author}%
% \Finale{}
% \iffalse
% Local Variables:
-% mode: doctex
+% mode: docTeX
% TeX-master: "preview.drv"
% End:
% \fi
diff --git a/macros/latex/contrib/preview/preview.pdf b/macros/latex/contrib/preview/preview.pdf
index 4728d12e42..57f681d0c3 100644
--- a/macros/latex/contrib/preview/preview.pdf
+++ b/macros/latex/contrib/preview/preview.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/profcollege-doc.pdf
index dcd5987717..c684b9fff8 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/profcollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex b/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex
new file mode 100644
index 0000000000..4113ae9a27
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex
@@ -0,0 +1,543 @@
+%%%
+% Arbre de calculs
+%%%
+\newtoks\toklistearbre%
+\newtoks\toklistearbrefractions%
+\newtoks\toklistearbreexpressions%
+
+\def\UpdatetoksArbreCalcul#1\nil{\IfDecimal{#1}{\addtotok\toklistearbre{#1,}}{\addtotok\toklistearbre{"#1",}}}%
+\def\UpdatetoksArbreFractions#1\nil{\addtotok\toklistearbrefractions{"#1",}}%
+\def\UpdatetoksArbreExpressions#1\nil{\addtotok\toklistearbreexpressions{"#1",}}%
+
+\setKVdefault[ArbreCalcul]{Correction=false,Couleur=LightSteelBlue,Substitue=7,Litteral=false,Largeur=8mm,LargeurC=8mm,Ecart=1.5cm,Hauteur=10mm,Lettre="x",CouleurDepart=LightGreen,Fractions=false,Nombres={},Expressions={},Etape=infinity}%
+\defKV[ArbreCalcul]{Fraction=\setKV[ArbreCalcul]{Fractions}}%
+
+\NewDocumentCommand\ArbreCalcul{om}{%
+ \useKVdefault[ArbreCalcul]%
+ \setKV[ArbreCalcul]{#1}%
+ \toklistearbre{}%
+ \toklistearbrefractions{}%
+ \toklistearbreexpressions{}%
+ \infixtoRPN{#2}%
+ \setsepchar{ }\ignoreemptyitems%
+ \readlist*\ListeNombres{\RPN}%
+ \reademptyitems%
+ \foreachitem\compteur\in\ListeNombres{\expandafter\UpdatetoksArbreCalcul\compteur\nil}%
+ \ifboolKV[ArbreCalcul]{Fractions}{%
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \BuildArbreCalculFraction{\the\toklistearbre}{\the\toklistearbrefractions}%
+ }{%
+ \ifboolKV[ArbreCalcul]{Litteral}{
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \xdef\Foo{\useKV[ArbreCalcul]{Expressions}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeExpressions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeExpressions{\expandafter\UpdatetoksArbreExpressions\compteur\nil}%
+% listarbre : \the\toklistearbre%
+%
+% listfracions : \the\toklistearbrefractions
+%
+% listexpressions : \the\toklistearbreexpressions
+ \BuildArbreCalculLitteral{\the\toklistearbre}{\the\toklistearbrefractions}{\the\toklistearbreexpressions}%
+ }{%
+ \BuildArbreCalcul{\the\toklistearbre}%
+ }%
+ }%
+}%
+
+\NewDocumentCommand\BuildArbreCalcul{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Litteral,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+ Litteral=\useKV[ArbreCalcul]{Litteral};
+
+ NombreSubstitue=\useKV[ArbreCalcul]{Substitue};
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled 5mm;
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled 5mm;
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-0.75);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:=cha*chb;
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:=cha+chb;
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:=cha-chb;
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:=cha/chb;
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("\num{"&decimal(ValeurPile[numeropoint-1])&"}"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ numeric Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ numeric ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]=0;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[k]:=NombreSubstitue else: Valeursa[k]=Valeurs[k] fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart; if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=-Valeursa[k];
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[k];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculFraction{mm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ string Fraction;
+ Fraction=\useKV[ArbreCalcul]{Fraction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$\MulFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatMul]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatMul";
+ elseif op="add":
+ label(TEX("$+$\AddFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatAdd]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatAdd";
+ elseif op="sub":
+ label(TEX("$\_$\SousFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatSous]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatSous";
+ elseif op="div":
+ label(TEX("$\div$\DivFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatDiv]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatDiv";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$\displaystyle\tofrac{"&ValeurPile[numeropoint-1]&"}$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Fraction} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculLitteral{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$"&Valeursc[etape]&"$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+ string Valeursc[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ vardef RecupCorrections(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursc[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+ RecupCorrections(#3);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Lettre} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
index fdf037ef81..e3660cff1e 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
@@ -1,4 +1,4 @@
-\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false}%
+\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false,Seul=false}%
\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}\setKV[ClesSimplification]{Couleur=#1}}%
\NewDocumentCommand\tofrac{m}{%
@@ -50,7 +50,7 @@
\xdef\PfCNumD{1}%
}{%
\StrCut{#5}{/}\PfCNumC\PfCNumD%
- }
+ }%
\xdef\PfCAddFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCAddFoo}%
@@ -69,6 +69,7 @@
\xdef\PfCAddDenoSimp{\fpeval{\PfCAddDenoFin/\PfCAddPgcd}}%
\xdef\PfCAddSumSimp{\PfCAddNumSimp/\PfCAddDenoSimp}%
\IfValueT{#6}{\xdef#6{\PfCAddSumSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
% Partie affichage
\ensuremath{%
\IfValueTF{#3}{%
@@ -103,6 +104,7 @@
}{\tofrac{#4}\PfCFractionOp\tofrac{#5}
}%
}%
+ }%
}%
\NewDocumentCommand\SousFraction{oommo}{%
@@ -127,17 +129,18 @@
\xdef\PfCMulFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCMulFoo}%
- \reademptyitems
+ \reademptyitems%
\setsepchar{,}%
% Calculs
- \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}
- \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}
+ \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}%
+ \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}%
\PGCD{\fpeval{abs(\PfCMulNumFin)}}{\fpeval{abs(\PfCMulDenoFin)}}\xdef\PfCMulPgcd{\pgcd}%
\xdef\PfCMulNumSimp{\fpeval{\PfCMulNumFin/\PfCMulPgcd}}%
\xdef\PfCMulDenoSimp{\fpeval{\PfCMulDenoFin/\PfCMulPgcd}}%
\xdef\PfCMulPdtSimp{\PfCMulNumSimp/\PfCMulDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCMulPdtSimp}}%
- \ensuremath{%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
+ \ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=3\relax
\ifboolKV[CalculsFractions]{Negatif}{%
@@ -154,7 +157,8 @@
\fi
\fi
}{\tofrac{#3}\times\tofrac{#4}
- }
+ }%
+ }%
}%
}%
@@ -186,6 +190,7 @@
\xdef\PfCDivDenoSimp{\fpeval{\PfCDivDenoFin/\PfCDivPgcd}}%
\xdef\PfCDivPdtSimp{\PfCDivNumSimp/\PfCDivDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCDivPdtSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
\ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=4\relax
@@ -207,4 +212,5 @@
}{\tofrac{#3}\div\tofrac{#4}
}
}%
+ }%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
index 2b5ef28fbc..e23001bbcc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -1,7 +1,7 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1,Maillage=false}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
@@ -13,8 +13,8 @@
\useKVdefault[Cartographie]%
\setKV[Cartographie]{#1}%
\mplibforcehmode%
+ \mplibnumbersystem{double}%
\ifboolKV[Cartographie]{Projection}{%
- \mplibnumbersystem{double}%
\begin{mplibcode}
input PfCMonde;
string arborescence;
@@ -217,9 +217,8 @@
Villes(\useKV[Cartographie]{VillesI});
fi;
\end{mplibcode}
- \mplibnumbersystem{scaled}%
}{%
-% \mplibforcehmode
+ % \mplibforcehmode
\begin{mplibcode}
input PfCMonde;
@@ -253,9 +252,11 @@
fi;
else:
couleurfond:=\useKV[Cartographie]{CouleurFond};
+ color couleurimpression;
+ couleurimpression:=Cornsilk;
if Impression:
noncolore:=true;
- payscolor:=0.85white;
+ payscolor:=couleurimpression;%0.85white
couleurfond:=white;
couleurfleuve:=couleurfond;
fi;
@@ -314,8 +315,7 @@
elseif t=8:lrt
fi
enddef;
-
-
+
if Carte:
Echelle:=\useKV[Cartographie]{AfficheEchelle};
figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
@@ -365,11 +365,53 @@
fi;
else:
- draw(0,0)--(50,50);
- mappemonde(#2,#3);
+ boolean maillagecoord;
+ maillagecoord=\useKV[Cartographie]{Maillage};
+ if VillesSupI:
+ lacs:=false;
+ fi;
+
+ mappemonde(#2,#3);
+
+ vardef Villes(text t)=
+ pair CoordVille;
+ string NomVille;
+ n:=0;
+ for p_:=t:
+ n:=n+1;
+ if n=1:
+ %nblec:=p;
+ else:
+ if pair p_:
+ CoordVille:=Projgeo(rayon*(cosd(ypart(p_))*cosd(xpart(p_)),cosd(ypart(p_))*sind(xpart(p_)),sind(ypart(p_))));
+ elseif string p_:
+ NomVille:=p_;
+ else:
+ marque_p:="croix";
+ pointe(CoordVille);
+ label.position(p_)(TEX(""&NomVille&""),CoordVille);
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ enddef;
+
+
+ if Codes:
+ \useKV[Cartographie]{Traces};
+ fi;
+ if VillesSupI:
+ Villes(\useKV[Cartographie]{VillesI});
+ label.ulft(TEX("\tiny\ang{0}"),Projgeo(rayon*(1,0,0)));
+ label.ulft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),0,sind(10))));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),0,sind(10)));
+ label.llft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),sind(10),0)));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),sind(10),0));
+ fi;
fi;
\end{mplibcode}
}
+ \mplibnumbersystem{scaled}%
\else
\PackageWarning{ProfCollege}{"La commande Cartographie n'est compatible qu'avec LuaLaTeX."}
\fi
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
index 6fc7a94593..f39b93ea46 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
@@ -1,7 +1,7 @@
%%%
% QCM
%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false}%
+\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false,ACompleter=false}%
\newlength{\LargeurQCM}%
\newlength{\PfCLargeurQCM}%
\newcounter{QuestionQCM}%
@@ -12,6 +12,8 @@
\setcounter{TotalQCMSeul}{0}%
\setcounter{TotalQCMSeulSol}{0}%
%
+\def\PfCTexteReponseEleve{Ma réponse}%
+%
\setKVdefault[QCMSeul]{Melange=false,Solution=false,EnColonne=false,LabelLettre=false}%
\defKV[QCMSeul]{Colonnes=\setKV[QCMSeul]{EnColonne}}%
%
@@ -90,150 +92,162 @@
%
\ifdef{\QCM}{%
\PackageWarning{ProfCollege}{La commande \noexpand\QCM étant définie par la classe du document, ProfCollege modifie sa commande \noexpand\QCM en \noexpand\QCMPfC.}%
- \newcommand\QCMPfC[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCMPfC[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- % \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,##2+1]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
+}%
}{%
- \newcommand\QCM[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCM[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}%
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
}%
+}%
\NewDocumentCommand\PfCSolCellColor{mm}{%
\xdef\PfCFooSolColor{\ListeQCM[#1,\NumeroReponse]}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
index df5743e439..fc1674d37f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
@@ -4,25 +4,27 @@
\newtoks\tokPfCEngrenages%
\def\UpdatetoksEngrenages#1/#2\nil{\addtotok\tokPfCEngrenages{#1,#2,}}%
-\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={LightSteelBlue}}
+\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={?}}%
+%\defKV[Engrenages]{Couleur=\setKV[Engrenages]{ListeCouleurs=#1}}%
\NewDocumentCommand\Engrenages{o m}{%
\newtoks\toklistecouleur%
\toklistecouleur{}%
- \tokPfCEngrenages{}
+ \tokPfCEngrenages{}%
\useKVdefault[Engrenages]%
\setKV[Engrenages]{#1}%
\setsepchar[*]{,*/}%
\ignoreemptyitems
\readlist*\ListePfCEngrenages{#2}%
- \setsepchar{,}
- \xdef\PfCFooEngrenages{}
+ \setsepchar{,}%
+ \xdef\PfCFooEngrenages{}%
\foreachitem\compteur\in\ListePfCEngrenages{%
\xdef\PfCFooEngrenages{\PfCFooEngrenages \ListePfCEngrenages[\compteurcnt,1],\ListePfCEngrenages[\compteurcnt,2],}%
}%
\xdef\ListeAvantCouleurs{\useKV[Engrenages]{ListeCouleurs}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
+ %\setKV[Engrenages]{Couleurs=\ListeCouleur[1]}%
\BuildEngrenages{\PfCFooEngrenages}{\the\toklistecouleur}%
}%
@@ -102,19 +104,19 @@
fi;
endfor;
);
-}
+}%
\NewDocumentCommand\BuildEngrenages{mm}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}%
input PfCEngrenages;
\BuildEngrenagesCode{#1}{#2}
trace EngrenageFinal;
- \end{mplibcode}
- \else
+ \end{mplibcode}%
+ \else%
\begin{mpost}[mpsettings={input PfCEngrenages;\BuildEngrenagesCode{#1}{#2}}]
trace EngrenageFinal;
- \end{mpost}
- \fi
+ \end{mpost}%
+ \fi%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex b/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
index 77c683b148..5b95ddb02e 100644
--- a/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
@@ -58,24 +58,30 @@
}%
}{%
\ifboolKV[ClesAffine]{Retrouve}{%
- On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}\]
- Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
+ \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}%%
+ On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}.\]
+ Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. \ifnum\fpeval{#3-#5}=0
+ Les images de \num{#2} et \num{#4} sont égales à \num{#3}. La fonction affine cherchée est donc constante et s'écrit :
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\num{\OrdOrigine}.\]
+ \else
+ Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
\begin{align*}
\useKV[ClesAffine]{CoefDir}&=\frac{\useKV[ClesAffine]{Nom}(\num{#2})-\useKV[ClesAffine]{Nom}(\num{#4})}{\num{#2}-\xintifboolexpr{#4<0}{(\num{#4})}{\num{#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{#3}-\xintifboolexpr{#5<0}{(\num{#5})}{\num{#5}}}{\num{\fpeval{#2-#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{\fpeval{#3-#5}}}{\num{\fpeval{#2-#4}}}%\\
\SSimpliTest{\fpeval{#3-#5}}{\fpeval{#2-#4}}\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesAffine]{CoefDir}&=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}}{}%
\end{align*}
- La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}$.
+ \def\PfCQuotientAffine{\fpeval{(#3-#5)/(#2-#4)}}%
+ La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{0}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\fi+\useKV[ClesAffine]{OrdoOrig}$.
\\De plus, comme $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$, alors :
\begin{align*}
- \SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
+ \ifnum\PfCQuotientAffine=1\relax\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}\uppercase{&}=\num{#3}\\\fi
\SSimplifie{\fpeval{(#3-#5)*#2}}{\fpeval{#2-#4}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
\useKV[ClesAffine]{OrdoOrig}&=\num{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
\end{align*}
- \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
La fonction affine $\useKV[ClesAffine]{Nom}$ cherch\'ee est :
- \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\]
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{\OrdOrigine}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\fi.\]
+ \fi
}{%
%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty b/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty
new file mode 100644
index 0000000000..a0851a5dd5
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty
@@ -0,0 +1,538 @@
+%%
+%% This is file `infix-RPN.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `infix-RPN.tex'
+%%
+%% Main code:
+%% Jean-Côme Charpentier <jean-come.charpentier@wanadoo.fr>
+%%
+%% Contributions by
+%% Christophe Jorssen <christophe.jorssen@libre.fr.invalid>
+%% `libre' is the french word for `free' :-)
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory CTAN:/macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `infix-RPN' is a package to convert infix expressions to
+%% Reverse Polish Notation
+%%
+%%
+\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}}
+\RCS$Revision: 1.7 $
+\RCS$Date: 2004-07-06 23:41:52+02 $
+
+\def\fileversion{0.11}
+\csname infixRPNLoaded\endcsname
+\let\infixRPNLoaded\endinput
+\message{`infix-RPN' v\fileversion\space (Rev \RCSRevision, \RCSDate), J.-C.Charpentier/C.Jorssen}
+
+\edef\PfCopAtCode{\the\catcode`\@}
+\edef\PfCopHatCode{\the\catcode`\^}
+\edef\PfCopUnderscoreCode{\the\catcode`\_}
+\catcode`\@=11\relax
+\catcode`\^=12\relax
+\catcode`\_=11\relax
+
+\def\s@pow{exp}
+\def\s@lpar{(}
+\def\s@rpar{)}
+\def\s@comma{,}
+
+\def\DeclareNewPSOperator{%
+ \bgroup
+ \catcode`\_=11\relax
+ \DeclareNewPSOperator@i
+}
+
+\def\DeclareNewPSOperator@i#1{%
+ \expandafter\ifx\csname PS@operator@list\endcsname\relax
+ \gdef\PS@operator@list{#1}%
+ \else
+ \xdef\PS@operator@list{#1,\PS@operator@list}%
+ \fi
+ \expandafter\gdef\csname s@#1\endcsname{#1}%
+ \egroup
+}
+
+\DeclareNewPSOperator{add}
+\DeclareNewPSOperator{sub}
+\DeclareNewPSOperator{mul}
+\DeclareNewPSOperator{div}
+\DeclareNewPSOperator{exp}
+\DeclareNewPSOperator{abs}
+\DeclareNewPSOperator{sin}
+\DeclareNewPSOperator{cos}
+\DeclareNewPSOperator{atan}
+\DeclareNewPSOperator{neg}
+\DeclareNewPSOperator{ceiling}
+\DeclareNewPSOperator{floor}
+\DeclareNewPSOperator{truncate}
+\DeclareNewPSOperator{sqrt}
+\DeclareNewPSOperator{ln}
+\DeclareNewPSOperator{log}
+
+
+\newcount\@parenthesis
+\newcount\token@cpt
+\newif\if@begin@token
+\newif\if@in@number
+\newif\if@in@decimal
+\newif\if@in@name
+\newif\if@sign
+\def\@tokencreate#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname{#1}%
+ \global\advance\token@cpt\@ne
+ \expandafter\global
+ \expandafter\let\csname PfCop@token\the\token@cpt\endcsname\relax
+ \global\advance\token@cpt\m@ne
+}
+\def\@tokenappend#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname
+ {\csname PfCop@token\the\token@cpt\endcsname#1}%
+}
+\def\@tokensingle#1{%
+ \edef\@arg{#1}%
+ \if@in@name
+ \global\advance\token@cpt\@ne
+ \@in@namefalse
+ \fi
+ \if@in@number
+ \global\advance\token@cpt\@ne
+ \@in@numberfalse
+ \@in@decimalfalse
+ \fi
+ \ifx\@arg\s@add
+ \if@sign
+ % ignore + sign
+ \global\advance\token@cpt\m@ne
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else\ifx\@arg\s@sub
+ \if@sign
+ \@tokencreate{\s@neg}%
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else
+ \@tokencreate{#1}%
+ \fi\fi
+ \global\advance\token@cpt\@ne
+}
+\def\@tokenuse#1{%
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@comma%
+ \else
+ \xdef\RPN{\RPN\space\csname PfCop@token#1\endcsname}%
+ \fi
+}
+
+\let\endscanline\relax
+\def\scan@line{%
+ \begingroup
+ \catcode`\ =12
+ \@parenthesis=\z@
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@namefalse
+ \global\token@cpt=\@ne
+ \global\@signtrue
+ \scan@@line
+}
+\def\scan@@line#1{\scan@@@line#1\endscanline\endgroup}
+\def\scan@@@line#1#2\endscanline{%
+ \PfCop@testchar{#1}%
+ \ifPfCop@isdigit
+ \global\@signfalse
+ \if@in@number
+ \@tokenappend{#1}%
+ \else \if@in@name
+ \@in@namefalse
+ \@in@numbertrue
+ \@tokenappend{#1}%
+ \else
+ \@in@numbertrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \ifPfCop@isplus
+ \@tokensingle{\s@add}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isminus
+ \@tokensingle{\s@sub}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ismultiply
+ \@tokensingle{\s@mul}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdivide
+ \@tokensingle{\s@div}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ispower
+ \@tokensingle{\s@pow}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdecimalsep
+ \global\@signfalse
+ \if@in@decimal
+ \errmessage{Syntax error: number with multiple separators!}%
+ \else \if@in@number
+ \@in@decimaltrue
+ \@tokenappend{.}%
+ \else
+ \@tokencreate{.}%
+ \@in@numbertrue
+ \@in@decimaltrue
+ \fi\fi
+ \fi
+ \ifPfCop@iscomma
+ \@tokensingle{,}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@islparenthesis
+ \@tokensingle{(}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isrparenthesis
+ \global\@signfalse
+ \@tokensingle{)}%
+ \fi
+ \ifPfCop@isspace
+ \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \global\advance\token@cpt\@ne
+ \else \if@in@name
+ \@in@namefalse
+ \global\advance\token@cpt\@ne
+ \fi\fi
+ \fi
+ \ifPfCop@isother
+ \global\@signfalse
+ \if@in@name
+ \@tokenappend{#1}%
+ \else \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@nametrue
+ \@tokenappend{#1}%
+ \else
+ \@in@nametrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \def\arg{#2}%
+ \ifx\empty\arg
+ \let\next\relax
+ \else
+ \let\next\scan@@@line
+ \fi
+ \expandafter\next\arg\endscanline
+}
+\count255=`\0 \edef\PfCop@numbegin{\the\count255}
+\count255=`\9 \edef\PfCop@numend{\the\count255}
+\count255=`\+ \edef\PfCop@plus{\the\count255}
+\count255=`\- \edef\PfCop@minus{\the\count255}
+\count255=`\* \edef\PfCop@multiply{\the\count255}
+\count255=`\/ \edef\PfCop@divide{\the\count255}
+\count255=`\^ \edef\PfCop@power{\the\count255}
+\count255=`\. \edef\PfCop@dot{\the\count255}
+\count255=`\, \edef\PfCop@comma{\the\count255}
+\count255=`\( \edef\PfCop@lparenthesis{\the\count255}
+\count255=`\) \edef\PfCop@rparenthesis{\the\count255}
+\edef\PfCop@space{32}
+\newif\ifPfCop@isdigit
+\newif\ifPfCop@isplus
+\newif\ifPfCop@isminus
+\newif\ifPfCop@ismultiply
+\newif\ifPfCop@isdivide
+\newif\ifPfCop@ispower
+\newif\ifPfCop@isdecimalsep
+\newif\ifPfCop@iscomma
+\newif\ifPfCop@islparenthesis
+\newif\ifPfCop@isrparenthesis
+\newif\ifPfCop@isspace
+\newif\ifPfCop@isother
+\def\PfCop@testchar#1{%
+ \PfCop@isdigitfalse
+ \PfCop@isplusfalse
+ \PfCop@isminusfalse
+ \PfCop@ismultiplyfalse
+ \PfCop@isdividefalse
+ \PfCop@ispowerfalse
+ \PfCop@isdecimalsepfalse
+ \PfCop@iscommafalse
+ \PfCop@islparenthesisfalse
+ \PfCop@isrparenthesisfalse
+ \PfCop@isspacefalse
+ \PfCop@isotherfalse
+ \count255=`#1\relax
+ \ifnum\count255=\PfCop@plus \relax
+ \PfCop@isplustrue
+ \else \ifnum\count255=\PfCop@minus \relax
+ \PfCop@isminustrue
+ \else \ifnum\count255=\PfCop@multiply \relax
+ \PfCop@ismultiplytrue
+ \else \ifnum\count255=\PfCop@divide \relax
+ \PfCop@isdividetrue
+ \else \ifnum\count255=\PfCop@power \relax
+ \PfCop@ispowertrue
+ \else \ifnum\count255=\PfCop@dot \relax
+ \PfCop@isdecimalseptrue
+ \else \ifnum\count255=\PfCop@comma \relax
+ \PfCop@iscommatrue
+ \else \ifnum\count255=\PfCop@lparenthesis \relax
+ \PfCop@islparenthesistrue
+ \else \ifnum\count255=\PfCop@rparenthesis \relax
+ \PfCop@isrparenthesistrue
+ \else \ifnum\count255=\PfCop@space \relax
+ \PfCop@isspacetrue
+ \else \ifnum\count255<\PfCop@numbegin \relax
+ \PfCop@isothertrue
+ \else \ifnum\count255>\PfCop@numend \relax
+ \PfCop@isothertrue
+ \else \PfCop@isdigittrue
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+\def\search@term#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@add\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@sub\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@comma\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@factor{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis!}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@term{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@term{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@factor#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{\the\count1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@mul\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@div\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@power{\the\count1}{\the\count255}%
+ \else
+ \errmessage{! Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@factor{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@factor{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@power#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@pow\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@primary{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@power{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@power{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@primary#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \edef\current@cnt{#1}%
+ \expandafter\compare@PS@operator\PS@operator@list,\@nil
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@lpar\relax
+ \expandafter\ifx\csname PfCop@token#2\endcsname\s@rpar\relax
+ \advance\count1\@ne
+ \advance\count255\m@ne
+ \search@term{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: Garbage after parenthesis
+ (tokens '#1' to '#2')}%
+ \fi
+ \fi
+ \fi
+ \endgroup
+}
+
+%\let\@nil\relax
+%\let\@nil\@empty
+
+%\def\compare@PS@operator#1,#2\@nil{%
+% \def\@tempa{#1}%
+% \def\@tempb{#2}%
+% \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+% \advance\count1\@ne
+% \search@primary{\the\count1}{\the\count255}%
+% \advance\count1\m@ne
+% \@tokenuse{\the\count1}%
+% \fi
+% \ifx\@tempb\empty
+% \let\next\relax
+% \let\@tempb\relax
+% \else
+% \let\next\compare@PS@operator
+% \fi
+% \expandafter\next\@tempb\@nil
+%}
+
+\let\@nil\undefined
+
+\def\compare@PS@operator#1,#2\@nil{%
+ \def\@tempa{#1}%
+ \def\@tempb{#2}%
+ \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+ \advance\count1\@ne
+ \search@primary{\the\count1}{\the\count255}%
+ \advance\count1\m@ne
+ \@tokenuse{\the\count1}%
+ \fi
+ \ifx\@tempb\empty
+ \let\next\@gobble
+ \else
+ \let\next\compare@PS@operator
+ \fi
+ \expandafter\next\@tempb\@nil
+}
+
+
+\def\infixtoRPN{%
+ \begingroup
+ \catcode`\ =12
+ \catcode`\^=12
+ \infixt@RPN
+}
+\def\infixt@RPN#1{%
+ \xdef\@expression{#1}%
+ \endgroup
+ \def\RPN{}%
+ \expandafter\scan@line\expandafter{\@expression}%
+ \expandafter\ifx\csname PfCop@token\the\token@cpt\endcsname\relax
+ \advance\token@cpt\m@ne
+ \fi
+ \search@term{1}{\the\token@cpt}%
+}
+
+\catcode`\@=\PfCopAtCode\relax
+\catcode`\^=\PfCopHatCode\relax
+\catcode`\_=\PfCopUnderscoreCode\relax
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCMulJap.tex b/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
index e0457471e1..bdb59526f0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
@@ -229,5 +229,6 @@
endfor;
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex b/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
index 56a7ad6943..7851f36ba7 100644
--- a/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
@@ -6,7 +6,7 @@
\def\UpdatetoksPuzzleA#1\nil{\addtotok\toklistepuzzlea{"#1",}}%
-\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue}
+\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue,Cube=false}
\NewDocumentCommand\PuzzleMul{om}{%
\useKVdefault[ClesPuzzleMul]%
@@ -17,8 +17,12 @@
\xdef\HauteurPuzzle{\PfCListePuzzlelen}%
\toklistepuzzlea{}%
\foreachitem\compteur\in\PfCListePuzzle{\expandafter\UpdatetoksPuzzleA\compteur\nil}%
- \BuildPuzzle{\the\toklistepuzzlea}%
-}
+ \ifboolKV[ClesPuzzleMul]{Cube}{%
+ \BuildPuzzleEspace{\the\toklistepuzzlea}%
+ }{%
+ \BuildPuzzle{\the\toklistepuzzlea}%
+ }%
+}%
\def\BuildPuzzleCode{%
def PreDrawPuzzle ( expr ww, hh, uu ) =
diff --git a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
index 117c2a0905..4fe05bc4d0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
@@ -22,18 +22,20 @@
\setKV[TraceG]{#1}%
\tokPfCListeDesFonctions{}%
\tokPfCListeDesNomsFonctions{}%
- \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}
- \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}
+ \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}%
+ \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}%
\ifx\bla\PfCFooFn\bla%
- \else
- \readlist*\ListeDesFonctions{\PfCFooFn}
+ \else%
+ \setsepchar{,}\ignoreemptyitems
+ \readlist*\ListeDesFonctions{\PfCFooFn}%
+ \reademptyitems
\foreachitem\compteur\in\ListeDesFonctions{\expandafter\UpdatePfCListeDesFonctions\compteur\nil}%
- \fi
- \ifx\bla\PfCFooNomFn\bla
- \else
- \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}
+ \fi%
+ \ifx\bla\PfCFooNomFn\bla%
+ \else%
+ \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}%
\foreachitem\compteur\in\ListeDesNomsFonctions{\expandafter\UpdatePfCListeDesNomsFonctions\compteur\nil}%
- \fi
+ \fi%
\tokPfCLabelX{}%
\tokPfCLabelY{}%
\addtotok\tokPfCLabelX{"\useKV[TraceG]{LabelX}"}%
@@ -79,7 +81,7 @@
\MPCourbeNew{\PfCFooListePoints}%
}%
}%
- }
+ }%
}{%
\setsepchar{,}\ignoreemptyitems%
\readlist*\ListeFonction{#2}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
index dfbd3a5d23..6628d3d505 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
@@ -1,7 +1,9 @@
%%%
% Patrons de pavés droits et cubes
%%%
-\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false}%
+\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false,AColorier=false}%
+%EcartColorier est en nombre de parts pour le cube, en mm pour le pavé.
+\defKV[ClesPatron]{EcartColorier=\setKV[ClesPatron]{AColorier}}%
\defKV[ClesPatron]{Traces=\setKV[ClesPatron]{Codes}}%
\newtoks\toklistepatron%
@@ -30,7 +32,7 @@
}%
}%
-\setsepchar{,}\ignoreemptyitems
+\setsepchar{,}\ignoreemptyitems%
\readlist*\ListePatronsCube{%
{ooxo,xxxx,ooxo},%
{oxoo,xxxx,xooo},%
@@ -78,7 +80,7 @@
{poho,lpho,poho,lohp},%
{poho,loho,plhl,loho},%
{poho,loho,plho,lohp},%
- {poho,loho,poho,lphp},%
+ {poho,loho,poho,lphp},%20
{phlh,holo,polo,holo},%
{phlo,holp,polo,holo},%
{phlo,holo,polh,holo},%
@@ -88,17 +90,17 @@
{polo,hplo,polo,holp},%
{polo,holo,phlh,holo},%
{polo,holo,phlo,holp},%
- {polo,holo,polo,hplp},%
+ {polo,holo,polo,hplp},%30
{hlpo,lopo,hopl,pool},%
{hopo,lhpo,hopl,pool},%
{hopo,lopo,hlph,pool},%
{lhpo,hopo,loph,pooh},%
{lopo,hlpo,loph,pooh},%
- {lopo,hopo,lhoh,pooh},%
+ {lopo,hopo,lhph,pooh},%
{plho,loho,pohl,hool},%
{poho,lpho,pohl,hool},%
{poho,loho,plhl,hool},%
- {lpho,poho,lohp,hoop},%
+ {lpho,poho,lohp,hoop},%40
{loho,plho,lohp,hoop},%
{loho,poho,lphp,hoop},%
{phlo,holo,polh,looh},%
@@ -108,23 +110,23 @@
{holo,phlo,holp,loop},%
{holo,polo,hplp,loop},%
{hpo,lpo,hpl,pol,hol},%
- {lpo,hpo,lph,poh,loh},%
- {pho,plo,phl,hol,pol},%
+ {lpo,hpo,lph,poh,loh},%50
+ {pho,lho,phl,hol,pol},%
{hpoo,lpho,pohl,hool},%
{lpoo,hplo,polh,looh},%
- {phoo,lhpo,hopl,pool}
-}
+ {phoo,lhpo,hopl,pool}%
+}%
\readlist*\ListePatronsPaveCouleurs{%
- {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},
- {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},
+ {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%10
{LightGreen,Crimson,LightGreen,Orange,Crimson,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
@@ -169,9 +171,277 @@
{Crimson,Orange,Crimson,LightGreen,Orange,LightGreen},%
{Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+}%
+\reademptyitems%
+
+\def\MPPatronPaveCode{%
+ Largeur=\useKV[ClesPatron]{Largeur};
+ Hauteur=\useKV[ClesPatron]{Hauteur};
+ Profondeur=\useKV[ClesPatron]{Profondeur};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier}*1mm;
+ fi;
+ %
+ numeric DecalCol[];
+ %
+ vardef Allumage(text t)=
+ nblignes:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef LectureLargeur(text t)=
+ for p_=t:
+ Long:=length p_;
+ endfor;
+ for k=1 upto Long-1:
+ for p_=t:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ DecalCol[k]:=Largeur;
+ elseif substring(k,k+1) of p_="h":
+ DecalCol[k]:=Hauteur;
+ elseif substring(k,k+1) of p_="p":
+ DecalCol[k]:=Profondeur;
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ path PathPave;
+ nblignes:=-1;
+ NBLignes:=0;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nbcolonnes:=0;
+ NBColonnes:=0;
+ if substring(0,1) of p_="h":
+ YEchelle:=Hauteur;
+ elseif substring(0,1) of p_="l":
+ YEchelle:=Largeur;
+ elseif substring(0,1) of p_="p":
+ YEchelle:=Profondeur;
+ fi;
+ nblignes:=nblignes-YEchelle;
+ NBLignes:=NBLignes+1;
+ for k=1 upto Long-1:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Largeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="h":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Hauteur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="p":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Profondeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ fi;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill PathPave withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ if nbfaces>0:
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ nbcolonnes:=nbcolonnes+DecalCol[k];
+ NBColonnes:=NBColonnes+1;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronPave#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronPaveCode
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed evenly);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=1 upto NBLignes:
+ for k=0 upto NBColonnes-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto];
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+ % trace M[toto]--P[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+ %% trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal haut
+ if l=1:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal bas
+ if l=NBLignes:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronPaveCode;}]
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
}%
-\reademptyitems
\def\MPPatronCubeCode{%
Arete=\useKV[ClesPatron]{Arete};
@@ -181,6 +451,185 @@
color Col[],CoulDefaut;
CoulDefaut=white;
%
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier};
+ fi;
+ %
+ vardef Allumage(text t)=
+ nblignes:=-1;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ nblignes:=-1;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ nbcolonnes:=0;
+ for k=0 upto Long-1:
+ nbcolonnes:=nbcolonnes+1;
+ if substring(k,k+1) of p_="x":
+ Allume[nblignes][k]:=true;
+ nbfaces:=nbfaces+1;
+ nbcol:=nbcol+1;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes))) withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ C[nbfaces]=(center unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes));
+ M[nbfaces]=point(0) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ N[nbfaces]=point(1) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ O[nbfaces]=point(2) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ P[nbfaces]=point(3) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronCube#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronCubeCode
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed withdots scaled 0.5);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=0 upto nblignes:
+ for k=0 upto Long-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+% trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal haut
+ if l=0:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal bas
+ if l=nblignes:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronCubeCode;}]
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
+}
+
+\def\MPPatronCubeCodeold{%
+ Arete=\useKV[ClesPatron]{Arete};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
boolean Codes;
Codes=\useKV[ClesPatron]{Codes};
vardef Patron(text t)=
@@ -221,7 +670,7 @@
enddef;
}%
-\def\MPPatronCube#1#2{%
+\def\MPPatronCubeold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -259,7 +708,7 @@
\fi
}
-\def\MPPatronPaveCode{%
+\def\MPPatronPaveCodeold{%
Largeur=\useKV[ClesPatron]{Largeur};
Hauteur=\useKV[ClesPatron]{Hauteur};
Profondeur=\useKV[ClesPatron]{Profondeur};
@@ -330,7 +779,7 @@
for k=1 upto Long-1:
if substring(k,k+1) of p_="o":
if k=1:
- PathPave:=(unitsquare scaled 0);
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
fi;
elseif substring(k,k+1) of p_="l":
nbcol:=nbcol+1;
@@ -380,7 +829,7 @@
enddef;
}%
-\def\MPPatronPave#1#2{%
+\def\MPPatronPaveold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -397,7 +846,7 @@
%
LectureLargeur(#1);
Patron(#1);
- EffectuerTraces;
+ %EffectuerTraces;
\end{mplibcode}
\else
\begin{mpost}[mpsettings={\MPPatronPaveCode;}]
diff --git a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
index 77eecfcb42..df380d48ee 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
@@ -26,9 +26,11 @@
}%
}%
}{%
- \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
- \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
-% quotient = \the\intquotient -- remainder = \the\remainder :
+% \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+% \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+ \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+ \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+% quotient = \the\intquotient -- remainder = \the\remainder :\\
\BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{\the\intquotient}{\the\remainder}%
}%
}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex b/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex
new file mode 100644
index 0000000000..dc6a39b7a5
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex
@@ -0,0 +1,185 @@
+%%%
+% Probabilité et fréquence
+%%%
+\setKVdefault[PfCFrequence]{Couleur=false,Lancers=1,Legende=false}%
+\defKV[PfCFrequence]{ListeCouleurs=\setKV[PfCFrequence]{Couleur}}%
+\defKV[PfCFrequence]{Legendes=\setKV[PfCFrequence]{Legende}\setsepchar{,}\reademptyitems\readlist*\PfMListeLegendes{#1}\reademptyitems}%
+
+\newtoks\tokPfMListeObjets%
+\newtoks\tokPfMListeLegendes%
+\def\UpdatetoksObj#1\nil{\addtotok\tokPfMListeObjets{#1,}}%
+\def\UpdatetoksLegendes#1\nil{\addtotok\tokPfMListeLegendes{"#1",}}%
+
+\NewDocumentCommand\ProbaFrequence{om}{%
+ % #1 options
+ % #2 répartition
+ \tokPfMListeObjets{}%
+ \tokPfMListeLegendes{}%
+ \useKVdefault[PfCFrequence]%
+ \setKV[PfCFrequence]{#1}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfMListeObjets{#2}%
+ \reademptyitems%
+ \foreachitem\compteur\in\PfMListeObjets{\expandafter\UpdatetoksObj\compteur\nil}%
+ \ifboolKV[PfCFrequence]{Legende}{%
+ \foreachitem\compteur\in\PfMListeLegendes{\expandafter\UpdatetoksLegendes\compteur\nil}%
+ }{}%
+ \BuildFrequence{\the\tokPfMListeObjets}{\the\tokPfMListeLegendes}%
+}%
+
+\NewDocumentCommand\BuildFrequence{mm}{%
+ \ifluatex
+ \mplibnumbersystem{decimal}%
+ \begin{Geometrie}[CoinBG={u*(-5,0)},CoinHD={u*(7.5,7.5)}]%6 en ordonnee
+ Lancers = \useKV[PfCFrequence]{Lancers};
+ LegendeVide=0;
+ %
+ color Col[];
+ if \useKV[PfCFrequence]{Couleur}:
+ n:=0;
+ for p_=\useKV[PfCFrequence]{ListeCouleurs}:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ LegendeVide:=n;
+ fi;
+ endfor;
+ fi;
+ %
+ string Legende[];
+ vardef EcrireLegendes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if p_="":
+ LegendeVide:=n;
+ else:
+ Legende[n]=p_;
+ fi;
+ endfor;
+ n:=0;
+ enddef;
+ %
+ vardef LectureDonnees(text t)=
+ numeric A[];
+ numeric SommeTotale;
+ SommeTotale=0;
+ n:=0;
+ for p_=t:
+ n:=incr(n);
+ A[n]=p_;
+ SommeTotale:=SommeTotale+p_;
+ endfor;
+ total:=n;
+ enddef;
+ %
+ LectureDonnees(#1);
+ if \useKV[PfCFrequence]{Legende}:
+ EcrireLegendes(#2);
+ fi;
+ %
+ numeric borne[];
+ borne0=0;
+ for k=1 upto total:
+ borne[k]=borne[k-1]+A[k];
+ endfor;
+ %
+ x.u:=5mm;
+ y.u:=5mm;
+ quad.u:=5mm;
+ unites(1/(170*Lancers),5);
+ origine((1,4));
+ % grille
+ for k=1 upto 11:
+ draw (pp(0,0)--pp(0,1.1)) shifted(pp(k*Lancers*100,0)-pp(0,0)) withcolor gris;
+ draw (pp(0,0)--pp(Lancers*(1000+100),0)) shifted(pp(0,k/10)-pp(0,0)) withcolor gris;
+ endfor;
+ % axe
+ drawarrow pp(0,0)--pp(0,1.1);
+ drawarrow pp(0,0)--pp(Lancers*(1000+100),0);
+ % tiret
+ for k=1 upto 10:
+ draw (pp(k*Lancers*100,0)+u*(0,-0.05))--(pp(k*Lancers*100,0)+u*(0,0.05));
+ endfor;
+ numeric nb[],freq[];
+ pair Freq[][];
+ for k=1 upto total:
+ nb[k]:=0;
+ freq[k]=0;
+ endfor;
+ %
+ for k=1 upto (Lancers*1000):
+ nn:=floor(uniformdeviate(SommeTotale))+1;
+ if nn=0:
+ message("il est nul...");
+ fi;
+ for l=1 upto total:
+ if (nn>borne[l-1]) and (nn<borne[l]+1):
+ nb[l]:=nb[l]+1;
+ fi;
+ freq[l]:=nb[l]/k;
+ Freq[l][k]=pp(k,freq[l]);
+ endfor;
+ endfor;
+ %
+ def Style=enddef;
+ def Stylea=dashed evenly enddef;
+ def Styleb=dashed withdots scaled 1/2 enddef;
+ def Stylec=dashed dashpattern(on 1 off 1) enddef;
+ def Styled=dashed withdots scaled 1/4 enddef;
+ def Stylee=dashed dashpattern(on 6 off2) enddef;
+ parc:=0;
+ for l=1 upto total:
+ if \useKV[PfCFrequence]{Couleur}=false:
+ if (l mod 6)=1:
+ elseif (l mod 6)=2:
+ drawoptions(Stylea);
+ elseif (l mod 6)=3:
+ drawoptions(Styleb);
+ elseif (l mod 6)=4:
+ drawoptions(Stylec);
+ elseif (l mod 6)=5:
+ drawoptions(Styled);
+ else:
+ drawoptions(Stylee);
+ fi;
+ if \useKV[PfCFrequence]{Legende}:
+ parc:=incr(parc);
+ if l<>LegendeVide:
+ draw pp(Lancers*400*((parc-1) mod 3),-0.25-0.1*((parc-1) div 3))--pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3));
+ label.rt(TEX(Legende[l]),pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3)));
+ else:
+ parc:=parc-1;
+ fi;
+ fi;
+ fi;
+ %
+ if l<>LegendeVide:
+ if Lancers<1:
+ trace Freq[l][1]
+ for k=2 upto (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ else:
+ trace Freq[l][1]
+ for k=5 step 4 until (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ for k=1 upto 10 :
+ label.bot(TEX("\scriptsize\num{"&decimal((100*k)*Lancers)&"}"),pp(Lancers*100k,0));
+ endfor;
+ for k=2 step 2 until 10:
+ label.lft(TEX("\scriptsize\num{"&decimal(k/10)&"}"),pp(0,k/10));
+ endfor;
+ label.llft(TEX("\scriptsize 0"),pp(0,0));
+ label.urt(TEX("Fréquence"),pp(0,1));
+ label.bot(TEX("Nombre de lancers"),pp(0.5*Lancers*(1000+200),-0.075));
+ \end{Geometrie}
+ \mplibnumbersystem{scaled}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
index 9745bb144c..aaf9a67f20 100644
--- a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
@@ -4,6 +4,9 @@
\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}%
\defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}%
+\newcounter{NbRelie}%
+\newcounter{NbRelieD}
+
\NewDocumentCommand\Relie{som}{%
\useKVdefault[ClesRelie]%
\setKV[ClesRelie]{#2}%
@@ -33,7 +36,13 @@
\itemtomacro\ListeRelie[##1,1]\untest%
\ifx\bla\untest\bla%
\else%
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
+ \itemtomacro\ListeRelie[##1,3]\Foo
+ \setsepchar{-}\ignoreemptyitems%
+ \readlist*\ListeRelieReponses{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeRelieReponses{%
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelieReponses[\compteurcnt]);}%
+ }
\fi
}%
}{%
@@ -41,49 +50,39 @@
}%
}%
-\newcommand\Relieold[2][]{%
- \useKVdefault[ClesRelie]%
- \setKV[ClesRelie]{#1}%
- \setsepchar[*]{,*/}\reademptyitems%
- \readlist*\ListeRelie{#2}%
- \ignoreemptyitems
- \buildtabrelie%
- \ifboolKV[ClesRelie]{Solution}{%
- \colorlet{PfCRelieCouleurTrace}{\useKV[ClesRelie]{Couleur}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
- \itemtomacro\ListeRelie[##1,1]\untest
- \ifx\bla\untest\bla%
- \else
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
- \fi
- }%
- }{%
- }%
-}%
-
-\newcounter{NbRelie}%
-
\def\buildtabrelie{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\renewcommand{\arraystretch}{\useKV[ClesRelie]{Stretch}}%
- \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}>{\tikz[remember
- picture]{\node[name=RelieD-\theNbRelie,inner
- sep=0pt]{};\fill[] (RelieD-\theNbRelie) circle[radius=1.5pt]}}cp{\useKV[ClesRelie]{LargeurD}}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
+ \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}cp{\useKV[ClesRelie]{LargeurD}}}%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
+ \ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
+ \ifx\bla\untest\bla%
\uppercase{&}\stepcounter{NbRelie}%
\else
\uppercase{&}\stepcounter{NbRelie}\tikz[remember
picture,overlay]{\node[name=RelieG-\theNbRelie,inner
sep=0pt]{};\fill[]
(RelieG-\theNbRelie) circle[radius=1.5pt];}
-\fi&&&\ListeRelie[##1,2]\\}%
+ \fi&&
+ \itemtomacro\ListeRelie[##1,2]\untest
+ \ifx\bla\untest\bla\else\stepcounter{NbRelieD}\tikz[remember
+ picture]{\node[name=RelieD-\theNbRelieD,inner
+ sep=0pt]{};\fill[] (RelieD-\theNbRelieD) circle[radius=1.5pt]}
+ \fi
+ &\itemtomacro\ListeRelie[##1,2]\untest%
+ \ifx\bla\untest\bla
+ \else
+ \ListeRelie[##1,2]
+ \fi\\}%
\end{tabular}%
- \setcounter{NbRelie}{0}%
+ %\setcounter{NbRelie}{0}%
+ %\setcounter{NbRelieD}{0}%
}%
\def\buildtabrelieauto{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\xdef\PfCFooListeNbQ{1}%
\xintFor* ##1 in{\xintSeq{2}{\ListeRelielen}}\do{%
\xdef\PfCFooListeNbQ{\PfCFooListeNbQ,##1}%
@@ -110,4 +109,5 @@
\fi&&&\itemtomacro\PfCListeReponsesMelangees[##1]\PfCNumReponses\ListeRelie[\PfCNumReponses,2]\\}%
\end{tabular}%
\setcounter{NbRelie}{0}%
-}% \ No newline at end of file
+}%
+
diff --git a/macros/latex/contrib/profcollege/latex/PfCSolides.tex b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
index 9da7bce259..037b80e50f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCSolides.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
@@ -1,11 +1,118 @@
%%%
% Solide et sections
%%%
-\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,RayonCone=1,HauteurCone=2,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
+\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,Arete=1,RayonCone=1,HauteurCone=2,HauteurPrisme=2,SommetsPrisme=6,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
\defKV[ClesSolides]{Traces=\setKV[ClesSolides]{Code}}%
\defKV[ClesSolides]{Section=\setKV[ClesSolides]{Sections}}%
\defKV[ClesSolides]{CouleurSection=\setKV[ClesSolides]{RemplisSection}}%
+\newcommand\MPSolidePrisme[4]{%
+ \ifluatex
+ \mplibnumbersystem{double}
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ boolean Pointilles,TraceArete,NommeSommets,Code,AutoLabel,Sections,RemplisSection;
+ AutoLabel:=\useKV[ClesSolides]{AutoLabel};
+ Pointilles=\useKV[ClesSolides]{Pointilles};
+ TraceArete=\useKV[ClesSolides]{Aretes};
+ NommeSommets=\useKV[ClesSolides]{Sommets};
+ Code=\useKV[ClesSolides]{Code};
+ Sections:=\useKV[ClesSolides]{Sections};
+ RemplisSection=\useKV[ClesSolides]{RemplisSection};
+ if RemplisSection:color CouleurSection;CouleurSection=\useKV[ClesSolides]{CouleurSection};fi;
+
+ color PfCOutColor;
+ PfCOutColor=Cornsilk;%\useKV[ClesSolides]{Couleur};
+
+ string Section;
+ if Sections:Section=\useKV[ClesSolides]{Section};fi;
+
+ %Initialisation
+ PfCRho=\useKV[ClesSolides]{Rho};
+ PfCPhi=\useKV[ClesSolides]{Phi};
+ PfCTheta=\useKV[ClesSolides]{Theta};
+ PfCDistance=\useKV[ClesSolides]{Distance};
+ anglerotationx=\useKV[ClesSolides]{Anglex};
+ hauteurprisme=\useKV[ClesSolides]{HauteurPrisme};
+ nombresommets=\useKV[ClesSolides]{SommetsPrisme};
+ Initialisation(PfCRho,PfCPhi,PfCTheta,PfCDistance);
+ typetrace:="3D";
+ typerepre:="persp";
+ eclairage:=false;
+ incolor:=white;
+ outcolor:=white;
+ if Pointilles=false:
+ pointilles:="non";
+ fi;
+
+ Ferme1:=true;
+
+ color A,B,C,D,E,F,G,H;
+ color Sommet[];
+
+ NbS:=nombresommets;
+
+ color TS[];
+
+ ecartangle=360/(NbS/2);
+ for k=1 upto (NbS/2):
+ repereangle:=(k-2)*ecartangle+(ecartangle*0.25+uniformdeviate(floor(ecartangle/2)));
+ TS[k]:=(cosd(repereangle),-sind(repereangle),0);
+ endfor;
+ TS[NbS/2+1]:=TS[1];
+
+ for k=1 upto (NbS/2):
+ TS[NbS/2+1+k]:=TS[k]+(0,0,hauteurprisme);
+ endfor;
+ TS[NbS+2]:=TS[NbS/2+2];
+
+ angx:=anglerotationx;
+ for k=1 upto (NbS+2):
+ TS[k]:=RotXYZ(TS[k]);
+ endfor;
+ angx:=0;
+
+ ObjetNew1(%
+ TS1, for k=2 upto (NbS+1):TS[k], endfor TS[NbS+2]
+ )(%
+ NbS/2, for p_=1 upto NbS/2:p_, endfor
+ NbS/2, for p_=NbS/2+1 downto NbS+2:p_, endfor
+ for p=1 upto NbS/2:
+ 4,p,p+1,NbS/2+1+p+1,NbS/2+1+p,%
+ endfor
+ );
+ %AffichageObjet1;
+
+ NF:=(NbS/2+2);
+ Fc[100*(NbS/2+1)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+1)+k]:=k;
+ endfor;
+ Fc[100*(NbS/2+2)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+2)+k]:=NbS+2-k;
+ endfor;
+ for l=1 upto NbS/2:
+ Fc[l*100]:=4;
+ %for k=1 upto 4:
+ Fc[l*100+1]:=l;Fc[l*100+4]:=l+1;Fc[l*100+3]:=NbS/2+1+l+1;Fc[l*100+2]:=NbS/2+1+l;
+ %Fc[101]:=1;Fc[102]:=2;Fc[103]:=6;Fc[104]:=5;
+ %endfor;
+ endfor;
+ DessineObjet;
+% picture Depart;
+% Depart=currentpicture;
+% currentpicture:=nullpicture;
+% for k=1 upto 8:
+% dotlabel.top(decimal(k),Projette(TS[k]));
+% endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
+}
+
\newcommand\MPSolideCylindre[3]{%
\ifluatex
\mplibnumbersystem{double}
@@ -927,7 +1034,7 @@
\foreachitem\compteur\in\ListeNomSommet{\expandafter\UpdatetoksSolide\compteur\nil}%\the\toksolidelistesommets%
\IfStrEqCase{\useKV[ClesSolides]{Nom}}{%
{cube}{%
- \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{1,1,1}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
+ \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
}%
{pave}{%
\MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Profondeur},\useKV[ClesSolides]{Largeur},\useKV[ClesSolides]{Hauteur}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
@@ -935,6 +1042,9 @@
{cone}{%
\MPSolideCone{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}%
}%
+ {prisme}{%
+ \MPSolidePrisme{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{}{\useKV[ClesSolides]{PointsSection}}%
+ }%
{pyramide}{%
\MPSolidePyramide{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{DecalageSommet}}{\useKV[ClesSolides]{PointsSection}}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex b/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
index 949c781ce7..461a42fb71 100644
--- a/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
@@ -18,9 +18,10 @@
Axes=false,%Affichage des axes ou pas
Origine={(0,0)},%Origine des axes
Cases=false,%Se déplace-t-on sur des cases ?
+ Trace=false%
}
\defKV[Tortue]{Etape=\setKV[Tortue]{Etapes}}%choix de l'étape d'arrêt
-
+\defKV[Tortue]{Traces=\setKV[Tortue]{Trace}}%
\newcounter{PfCTortue}
\setcounter{PfCTortue}{0}
@@ -178,6 +179,9 @@
\ifboolKV[Tortue]{Etapes}{%
\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[Total] scaled 1.5,A[Total]);}%
}{\ifboolKV[Tortue]{TortueF}{\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[k] scaled 1.5,A[k]);}}{}}%
+ \ifboolKV[Tortue]{Trace}{%
+ \immediate\write\turtle@out{\useKV[Tortue]{Traces}}%
+ }{}%
\immediate\closeout\turtle@out%
\restorecomparemode%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex b/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex
new file mode 100644
index 0000000000..895f96136c
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex
@@ -0,0 +1,928 @@
+%%%
+% Urne et probabilités
+%%%
+\newtoks\tokUrneListeCouleurs%
+\newtoks\tokUrneListeColonnes%
+\newtoks\tokUrneListeNombres%
+
+\def\UpdatetoksUrneCouleurs#1\nil{\addtotok\tokUrneListeCouleurs{#1,}}%
+\def\UpdatetoksUrneNombres#1\nil{\addtotok\tokUrneListeNombres{"#1",}}%
+\def\UpdatetoksUrneColonnes#1\nil{\addtotok\tokUrneListeColonnes{"#1",}}%
+
+\setKVdefault[PfCUrne]{Couleurs=false,Nombres=false,Pas=4,Echelle=1,Repartition={1,2,3},Double=false,RepartitionC={1,2,3},RepartitionN={1,2,3},Roue=false,Rayon=3,Tableau=false,SansRemise=false,Solution=false,Codes=false,CouleurLigne=0.85white,CouleurColonne=0.85white,Different=false,RepartitionLigne={1,2,3},RepartitionColonne={1,2,3},Impression,Casino=false}%
+\defKV[PfCUrne]{Traces=\setKV[PfCUrne]{Codes}}%
+\defKV[PfCUrne]{ListeCouleurs=\setKV[PfCUrne]{Couleurs}\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeNombres=\setKV[PfCUrne]{Nombres}\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeColonne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeLigne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+
+\NewDocumentCommand\BuildRoulette{}{%
+ \ifluatex
+ \begin{Geometrie}[Cadre="aucun"]
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+
+ color colzero,colrouge,coltoura,coltourb,colbarre;
+
+ boolean Impression;
+ Impression=\useKV[PfCUrne]{Impression};
+
+ if Impression=false:
+ colzero=green;
+ colrouge=red;
+ coltoura=(179,103,0)/256;
+ coltourb=(179,111,48)/256;%(184,114,50)/256;
+ colbarre=0.7529white;
+ else:
+ colzero=white;
+ colrouge=white;
+ coltoura=black;
+ coltourb=black;
+ colbarre=black;
+ fi;
+ pair O,A[],B[],C[],D[];
+ path cc[];
+ O=(0,0);
+ cc1=cercles(O,2u);
+ cc2=cercles(O,2.75u);
+ cc3=cercles(O,3.5u);
+ cc4=cercles(O,3.7u);
+ cc5=cercles(O,4u);
+ cc6=cercles(O,3.125u);
+ cc7=cercles(O,2.375u);
+ if Impression=false:
+ fill cc5 withcolor coltoura;
+ fill cc4 withcolor coltourb;
+ fill cc1 withcolor coltoura;
+ trace cc1 withpen pencircle scaled 1.05;
+ trace cc5 withpen pencircle scaled 1.05;
+ trace cc4 withpen pencircle scaled 1.05;
+ trace cc3 withpen pencircle scaled 1.05;
+ else:
+ fill cc5;
+ fill cc4 withcolor white;
+ trace cc1;
+ trace cc3;
+ fi;
+ for k=0 upto 38:
+ A[k]=pointarc(cc3,90-k*(360/37));
+ B[k]=pointarc(cc1,90-k*(360/37));
+ endfor;
+ na:=1;
+ for p_=32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26,0:
+ if (na mod 2)=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ drawoptions(withcolor white);
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ drawoptions();
+ else:
+ if p_=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colzero;
+ else:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colrouge;
+ fi;
+ if Impression=false:
+ drawoptions(withcolor white);
+ fi;
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ if Impression=false:
+ drawoptions();
+ fi;
+ fi;
+ trace arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ na:=na+1;
+ endfor;
+ trace cc2;
+ fill cercles(pointarc(cc7,90+0.5*(360/37)),0.125u);%dotlabel("",);
+ % barre
+ cc8=cercles(O,1.5u);
+ cc9=cercles(O,0.25u);
+ fill cc9 withcolor colbarre;
+ pair E[];
+ anglebase=floor(uniformdeviate(360));
+ E1=pointarc(cc8,anglebase);
+ E4=pointarc(cc8,anglebase+6);
+ E3=symetrie(E1,O);
+ E2=symetrie(E4,O);
+ E5=pointarc(cc8,anglebase+90);
+ E8=pointarc(cc8,anglebase+6+90);
+ E7=symetrie(E5,O);
+ E6=symetrie(E8,O);
+ fill polygone(E1,E2,E3,E4) withcolor colbarre;
+ fill polygone(E5,E6,E7,E8) withcolor colbarre;
+ pair F[];
+ F1=(E1--iso(E1,E2)) intersectionpoint cc9;
+ F2=(E4--iso(E3,E4)) intersectionpoint cc9;
+ F3=(E5--iso(E6,E5)) intersectionpoint cc9;
+ F4=(E8--iso(E7,E8)) intersectionpoint cc9;
+ F5=(E3--iso(E4,E3)) intersectionpoint cc9;
+ F6=(E2--iso(E2,E1)) intersectionpoint cc9;
+ F7=(E7--iso(E8,E7)) intersectionpoint cc9;
+ F8=(E6--iso(E6,E5)) intersectionpoint cc9;
+ trace E1--E4--F2--arccercle(F2,F3,O)--E5--E8--F4--arccercle(F4,F5,O)--E3--E2--F6--arccercle(F6,F7,O)--E7--E6--F8--arccercle(F8,F1,O)--cycle;
+ \end{Geometrie}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntreeDifferent{mmmm}{%
+ % #1 : les labels en colonne
+ % #2 : les labels en ligne
+ % #3 : la répartition en colonne
+ % #4 : la répartition en ligne
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNumC[],RetiensNumL[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumL[n]=p_;
+ n:=n+1;
+ endfor;
+ totallignes=n;
+ enddef;
+ %
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalcolonnes=n;
+ enddef;
+ %
+ string Colonnes[];
+ vardef RecuperationColonnes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Colonnes[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Lignes[];
+ vardef RecuperationLignes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Lignes[n]=p_;
+ endfor;
+ enddef;
+ %
+ boolean Solution, Codes;
+ Solution=\useKV[PfCUrne]{Solution};
+ Codes=\useKV[PfCUrne]{Codes};
+ %
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+ %
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationColonnes(#1);
+ RecuperationLignes(#2);
+
+ pair A[][],C[][];
+ for k=0 upto totallignes+1:
+ for l=0 upto totalcolonnes+1:
+ A[k][l]=(0,0) shifted(u*(l,-k));
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ fill polygone(A[0][1],A[0][totalcolonnes+1],A[1][totalcolonnes+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totallignes+1][0],A[totallignes+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[k-1]]),iso(A[1][k],A[0][k+1]));
+ endfor;
+ for k=1 upto totallignes:
+ label(TEX(Lignes[RetiensNumL[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ %
+ for k=1 upto totallignes:
+ trace segment(A[k][0],A[k][totalcolonnes+1]);
+ endfor;
+ for k=1 upto totalcolonnes:
+ trace segment(A[0][k],A[totallignes+1][k]);
+ endfor;
+ trace A[1][0]--A[totallignes+1][0]--A[totallignes+1][totalcolonnes+1]--A[0][totalcolonnes+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalcolonnes+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totallignes+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ for k=1 upto totallignes:
+ for l=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[l-1]]&"--"&Lignes[RetiensNumL[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ endfor;
+ endfor;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntree{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+ %
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+ %
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+ %
+ boolean Couleurs, Nombres, Roue, Solution, SansRemise, Codes;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+ Solution=\useKV[PfCUrne]{Solution};
+ SansRemise=\useKV[PfCUrne]{SansRemise};
+ Codes=\useKV[PfCUrne]{Codes};
+
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[][],C[][];
+ for k=0 upto totalboules+1:
+ for l=0 upto totalboules+1:
+ A[k][l]:=(0,0) shifted(u*(l,-k));
+ endfor;
+ endfor;
+
+ for k=0 upto totalboules:
+ for l=0 upto totalboules:
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ fill cercles(iso(A[1][k],A[0][k+1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ fill cercles(iso(A[k][0],A[k+1][1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ trace cercles(iso(A[1][k],A[0][k+1]),0.35u);
+ trace cercles(iso(A[k][0],A[k+1][1]),0.35u);
+ endfor;
+ drawoptions();
+ else:
+ fill polygone(A[0][1],A[0][totalboules+1],A[1][totalboules+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totalboules+1][0],A[totalboules+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalboules:
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[1][k],A[0][k+1]));
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ fi;
+ if SansRemise:
+ for k=1 upto totalboules:
+ draw 1/8[A[k][k],A[k+1][k+1]]--7/8[A[k][k],A[k+1][k+1]];
+ draw 1/8[A[k+1][k],A[k][k+1]]--7/8[A[k+1][k],A[k][k+1]];
+ endfor;
+ fi;
+ for k=1 upto totalboules:
+ trace segment(A[k][0],A[k][totalboules+1]);
+ trace segment(A[0][k],A[totalboules+1][k]);
+ endfor;
+ trace A[1][0]--A[totalboules+1][0]--A[totalboules+1][totalboules+1]--A[0][totalboules+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalboules+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totalboules+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ ccsol[k][l]=cercles(iso(A[k][l],A[k+1][l+1]),0.25u);
+ if SansRemise:
+ if k<>l:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ else:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ endfor;
+ endfor;
+ drawoptions();
+ else:
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ if SansRemise:
+ if k<>l:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ else:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ endfor;
+ endfor;
+ fi;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrne{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Couleurs, Nombres, Roue;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ % trace cc;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ if Couleurs:
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensNum[k-1]]:white else: Col[RetiensNum[k-1]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ fi;
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric Pas;Pas=\useKV[PfCUrne]{Pas}; boolean Couleurs, Nombres; Couleurs=\useKV[PfCUrne]{Couleurs}; Nombres=\useKV[PfCUrne]{Nombres};}]
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair A[];
+
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrneDouble{mmmm}{%
+ % #1 Liste Couleurs
+ % #2 Liste Nombres
+ % #3 Repartition des couleurs
+ % #4 Repartition des nombres
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensC[],RetiensNum[];
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Roue;
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric RetiensC[],RetiensNum[];numeric Pas,Rayon;Pas=\useKV[PfCUrne]{Pas};Rayon=\useKV[PfCUrne]{Rayon};boolean Roue;Roue=\useKV[PfCUrne]{Roue};}]
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*1cm);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(LATEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\SchemaProba{o}{%
+ \useKVdefault[PfCUrne]%
+ \setKV[PfCUrne]{#1}%
+ \tokUrneListeCouleurs{}%
+ \tokUrneListeNombres{}%
+ \tokUrneListeColonnes{}%
+ \ifboolKV[PfCUrne]{Casino}{%
+ \BuildRoulette%
+ }{%
+ \ifboolKV[PfCUrne]{Tableau}{%
+ \ifboolKV[PfCUrne]{Different}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionColonne}}%
+ \xdef\PfCFooRepartitionL{\useKV[PfCUrne]{RepartitionLigne}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionLAv{\PfCFooRepartitionL}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionL{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalL{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionLAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionLAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionL{\PfCFooListeRepartitionL,##1}%
+ \xdef\PfCTotalL{\fpeval{\PfCTotalL+1}}%
+ }%
+ }%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneColonnes\compteur\nil}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntreeDifferent{\the\tokUrneListeColonnes}{\the\tokUrneListeNombres}{\PfCFooListeRepartitionC}{\PfCFooListeRepartitionL}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \BuildTableauDoubleEntree{\the\tokUrneListeCouleurs}{}{\PfCFooListeRepartition}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntree{}{\the\tokUrneListeNombres}{\PfCFooListeRepartition}%
+ }{}%
+ }%
+ }%
+ }{%
+ \ifboolKV[PfCUrne]{Double}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionC}}%
+ \xdef\PfCFooRepartitionN{\useKV[PfCUrne]{RepartitionN}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionNAv{\PfCFooRepartitionN}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionN{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalN{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionNAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionNAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionN{\PfCFooListeRepartitionN,##1}%
+ \xdef\PfCTotalN{\fpeval{\PfCTotalN+1}}%
+ }%
+ }%
+ \MelangeListe{\PfCFooListeRepartitionC}{\PfCTotalC}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \MelangeListe{\PfCFooListeRepartitionN}{\PfCTotalN}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildUrneDouble{\the\tokUrneListeCouleurs}{\the\tokUrneListeNombres}{\ListeRepartitionCouleurs}{\ListeRepartitionNombres}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ % Couleurs :\\
+ % La répartition est : \ListeRepartitionCouleurs\\
+ % Les couleurs sont : \the\tokUrneListeCouleurs.\\
+ \BuildUrne{\the\tokUrneListeCouleurs}{}{\ListeRepartitionCouleurs}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ % Nombres :\\
+ % La répartition est : \ListeRepartitionNombres\\
+ % Les nombres sont : \the\tokUrneListeNombres.\\
+ \BuildUrne{}{\the\tokUrneListeNombres}{\ListeRepartitionNombres}%
+ }{}%
+ }%
+ }%
+}%
+}%
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index ca3b52ba9a..a6b767a3bf 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/05/18}%
+\def\filedate{2024/07/03}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-f}%
+\def\fileversion{0.99-A-g}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -124,7 +124,6 @@
\RequirePackage{listofitems}%
\RequirePackage{datatool}%
\RequirePackage{multido}%
-
\RequirePackage{xlop}%
\RequirePackage{tcolorbox}%
@@ -637,18 +636,18 @@
\tikzset{face/.style={shape=circle,minimum size=4ex,shading=radial,outer sep=0pt, inner color=white!50!yellow,outer color= yellow!70!orange}}
\newcommand\emoticon[2][]{%
-\scalebox{.5}{\begin{tikzpicture}
-\node[face,#1,draw,thick] (emoticon) {};
+\scalebox{.5}{\begin{tikzpicture}%
+\node[face,#1,draw,thick] (emoticon) {};%
%% The eyes are fixed.
\draw[fill=white] (-1ex,0ex) ..controls (-0.5ex,0.2ex)and(0.5ex,0.2ex)..(1ex,0.0ex) ..controls ( 1.5ex,1.5ex)and( 0.2ex,1.7ex)..(0ex,0.4ex) ..controls (-0.2ex,1.7ex)and(-1.5ex,1.5ex)..(-1ex,0ex)--cycle;
#2%
\end{tikzpicture}}%
-}
+}%
-\newcommand\pupils{
+\newcommand\pupils{%
%% standard pupils
-\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}
+\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}%
\def\RKsmallsmile{%
\emoticon{%
@@ -656,14 +655,14 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKsmile{%
\emoticon{%
\pupils
\draw[thick] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKbigsmile{%
\emoticon{%
@@ -671,7 +670,7 @@
%% mouth
\draw[thick] (-1.5ex,-0.5ex)..controls (-0.7ex,-1.7ex)and(0.7ex,-1.7ex)..(1.5ex,-0.5ex);
}%\emoticon
-}
+}%
\def\RKsad{%
\emoticon{%
@@ -681,7 +680,7 @@
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKneutral{%
\emoticon{%
@@ -691,7 +690,7 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)--(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKconfused{%
\emoticon{%
@@ -716,19 +715,19 @@
(-1.00ex,1.00ex)--(-1.20ex,1.10ex)
(-0.35ex,1.15ex)--(-0.25ex,1.35ex);
}%\emoticon
-}
+}%
\def\RKangry{%
\emoticon{%
%% pupils
-\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
+\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
%% mouth
-\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
+\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);%
%% eyebrows
-\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);
+\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);%
}%\emoticon
-}
+}%
\def\RKlookup{%
\emoticon{%
@@ -826,6 +825,8 @@
\def\PfCSymbolTimes{\times}%
\def\PfCSymbolDiv{\div}%
+\input{PfCUrneProba}
+\input{PfCProbaFrequence}
\input{PfCVisualisationMulDeci}
\input{PfCArbreChiffre}
\input{PfCAssemblagesSolides}
@@ -971,4 +972,11 @@
\input{PfCDomino}
\input{PfCProgrammeCalcul}
\input{PfCPapiers}
-\input{PfCScratch} \ No newline at end of file
+\input{PfCScratch}
+
+\RequirePackage{PfCInfixRPN}
+%\makeatletter
+%\let\@nil\@empty
+%\makeatother
+
+\input{PfCArbreCalcul} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/metapost/PfCMonde.mp b/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
index fb3064cefd..6cc7f15e45 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
@@ -151,6 +151,15 @@ enddef;
vardef FZ(expr t,v)=rayon*sind(c*t)
enddef;
+vardef FXx(expr t,v)=rayon*cosd(t)*cosd(v)
+enddef;
+
+vardef FYy(expr t,v)=rayon*cosd(t)*sind(v)
+enddef;
+
+vardef FZz(expr t,v)=rayon*sind(t)
+enddef;
+
%Paramtres et macros de reprsentation
vardef Initialisation(expr r,t,p,d)=
Rho:=r;
@@ -227,6 +236,25 @@ vardef MaillageSphere=
MaillageS;
enddef;
+vardef MaillageSphereCoord=
+% InitialiseMaillage(((phim div 10)+1)*pi/12,((phip div 10)-1)*pi/12,pi/12,-pi,pi,pi/12);
+ InitialiseMaillage(-pi/2,pi/2,pi/18,-pi,pi,pi/12);
+ %MaillageS;
+ path Maillage[];
+ nbmor:=0;
+ for k=-90 step 10 until 90:
+ for l=-180 step 10 until 180:
+ nbl:=nbl+1;
+ if ProduitScalaire(1/2[(FXx(k,l),FYy(k,l),FZz(k,l)),(FXx(k+10,l+10),FYy(k+10,l+10),FZz(k+10,l+10))]-pte3,Oeil-pte3)>0:
+ nbmor:=nbmor+1;
+ Maillage[nbmor]=Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k,l+10),FYy(k,l+10),FZz(k,l+10)));
+ draw Maillage[nbmor] if k=0: withpen pencircle scaled 1 withcolor Crimson fi;
+ draw Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k+10,l),FYy(k+10,l),FZz(k+10,l))) if l=0:withpen pencircle scaled 1 withcolor LightSteelBlue fi;
+ fi;
+ endfor;
+ endfor;
+enddef;
+
boolean maille;
maille=false;
@@ -276,9 +304,19 @@ vardef lecture(expr nomfichier,fond)=
numeric ll;
ll:=0;
nbpts:=scantokens readfrom nomfichier;
- for k=1 upto (nbpts div 3):
+% for k=1 upto (nbpts div 3):
+% pair latlon;
+% latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3;
+ if nbpts<Allegee:
+ Alleg:=1;
+ else:
+ Alleg:=Allegee;
+ fi;
+ for k=1 upto (nbpts div Alleg):
pair latlon;
- latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3;
+ latlon=((scantokens readfrom nomfichier) for l=2 upto Alleg:
+ +(scantokens readfrom nomfichier)
+ endfor)/Alleg;
Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60)));
if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)):
if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0:
@@ -295,7 +333,7 @@ vardef lecture(expr nomfichier,fond)=
path pays;
if ll>0:
pays=Projgeo(Pays[1])
- for l=2 upto (nbpts div 3):
+ for l=2 upto (nbpts div Alleg):%(nbpts div 3):
--Projgeo(Pays[l])
endfor;
if noncolore=true:
@@ -303,7 +341,7 @@ vardef lecture(expr nomfichier,fond)=
else:
fill pays--cycle withcolor fond;
fi;
- draw pays;
+ draw pays withpen pencircle scaled 0.25;
clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4);
fi;
enddef;
@@ -319,9 +357,19 @@ vardef Lectureiles=
ll:=0;
nbpts:=scantokens readfrom nomfichiermul;
fond=scantokens readfrom nomfichiermul;
- for k=1 upto nbpts:
+ %if nbpts<Allegee:
+ Alleg:=1;
+ %else:
+ % Alleg:=2;%pas Allegee car sinon des artefacts apparaissent
+ %fi;
+ for k=1 upto (nbpts div Alleg):
pair latlon;
- latlon=scantokens readfrom nomfichiermul;
+ latlon=((scantokens readfrom nomfichiermul) for l=2 upto Alleg:
+ +(scantokens readfrom nomfichiermul)
+ endfor)/Alleg;
+% for k=1 upto nbpts:
+% pair latlon;
+% latlon=scantokens readfrom nomfichiermul;
Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60)));
if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)):
if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0:
@@ -337,7 +385,7 @@ vardef Lectureiles=
path pays;
if ll>0:
pays=Projgeo(Pays[1])
- for l=2 upto nbpts:
+ for l=2 upto (nbpts div Alleg):%nbpts:
--Projgeo(Pays[l])
endfor;
if noncolore=true:
@@ -345,9 +393,15 @@ vardef Lectureiles=
else:
fill pays--cycle withcolor fond;
fi;
- draw pays;
+ draw pays withpen pencircle scaled 0.25;
clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4);
fi;
+ % rustine pour tout lire chaque partie de Ile.dat
+ if Alleg>1:
+ for po=1 upto (nbpts mod Alleg):
+ poubelle:=scantokens readfrom nomfichiermul;
+ endfor;
+ fi;
endfor;
closefrom nomfichiermul;
enddef;
@@ -1641,6 +1695,11 @@ vardef mappemonde(expr longobs,latobs)=
MaillageSphere;
drawoptions();
fi;
+ if maillagecoord=true:
+ drawoptions(withpen pencircle scaled 0.25 withcolor couleurmaillage);
+ MaillageSphereCoord;
+ drawoptions();
+ fi;
if maille=true:
Maille;
fi;
diff --git a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
index fd2fbe0f2d..5dac3c967d 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
@@ -661,6 +661,55 @@ vardef DessineFusion=
endfor;
enddef;
+vardef DessineFusionCoul=
+ save _fusion;
+ picture _fusion;
+ tapj:=0;
+ color Fc[][];color cou[];
+ for l=1 upto nbobj:
+ for k=0 upto apj[l]:
+ cpt[tapj]:=tapj;
+ cou[tapj]:=Outcolor[l];
+ Fc[tapj].nb:=OTFc[l][k].nb;
+ for p=1 upto Fc[tapj].nb:
+ Fc[tapj][p]:=OTFc[l][k][p];
+ endfor;
+ Fc[tapj].iso:=OTFc[l][k].iso;
+ ALT[tapj]:=ALT[l][k];
+ Vue[tapj]:=Vue[l][k];
+ if Ferme[l]:
+ if Vue[tapj]=false:
+ tapj:=tapj-1;
+ fi;
+ fi;
+ tapj:=tapj+1;
+ endfor;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 upto tapj:
+ fill for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withcolor if Vue[cpt[k]]:
+ abs(lumin(cpt[k]))*cou[cpt[k]] fi;
+ if traits:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withpen pencircle scaled0.25bp;
+ %add by cp 22/08/2011
+ else:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withcolor if Vue[cpt[k]]:
+ abs(lumin(cpt[k]))*cou[cpt[k]] fi;
+ %fin add
+ fi;
+ endfor;
+enddef;
+
vardef Objettore[](expr Rn,rn)=
Outcolor.@:=outcolor;
Incolor.@:=incolor;
@@ -1727,8 +1776,8 @@ vardef Objettetraedre[](expr ar)=
tcpt.@[0]:=0;
OTFc.@[0].nb:=3;
OTFc.@[0][1]:=Image(Sommet0);
- OTFc.@[0][2]:=Image(Sommet2);
- OTFc.@[0][3]:=Image(Sommet1);
+ OTFc.@[0][2]:=Image(Sommet1);
+ OTFc.@[0][3]:=Image(Sommet2);
OTFc.@[0].iso:=(OTFc.@[0][1]+OTFc.@[0][2]+OTFc.@[0][3])/3;
tcpt.@[1]:=1;
OTFc.@[1].nb:=3;
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 000537a0d4..b4802be53e 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
index 5e6698109f..c3e58a2813 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index f622238309..e37ce44eeb 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,9 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2024/05/09 3.04b Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2024/07/13 3.04d Aide pour l'utilisation de LaTeX en lycee]
+% 3.04d PitonInputFile et styles
+% 3.04c Max et min pour des fonctions
% 3.04b Travail sur la loi binomiale + Ajout de clés pour les environnements graphiques
% 3.04a Améliorations de la partie graphiques tikz (intégrales, axes) + Factorielle
% 3.03d Page de garde type BAC
@@ -146,7 +148,6 @@
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{decorations.pathmorphing}
%tcolorbox
-%\RequirePackage[most]{tcolorbox}
\RequirePackage{tcolorbox}%
\tcbuselibrary{breakable,fitting,skins,listings,listingsutf8,hooks}
%divers
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index ade88434c2..1581688cb1 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -996,4 +996,15 @@
}%
}
+%----max/min
+\NewDocumentCommand\DetermineMax{ O{0.01} m m m O{\tmpmax} O{\tmpmaxvalx} }{%
+ \xdef#5{\xintfloateval{max(seq(#2,x=#3..[#1]..#4,#4))}}%
+ \xdef#6{\xintfloateval{first(seq((#2 == #5)?{x}{},x=#3..[#1]..#4,#4))}}%
+}
+
+\NewDocumentCommand\DetermineMin{ O{0.01} m m m O{\tmpmin} O{\tmpminvalx} }{%
+ \xdef#5{\xintfloateval{min(seq(#2,x=#3..[#1]..#4,#4))}}%
+ \xdef#6{\xintfloateval{first(seq((#2 == #5)?{x}{},x=#3..[#1]..#4,#4))}}%
+}
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
index 418c5aa8cc..0cb6600617 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
@@ -2,6 +2,7 @@
% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+%3.04d PitonInputFile et styles, pour compatibilité pfm
%3.03c Thonny via piton + modification clé gobble ?
%3.01f PseudoCode via piton (?)
%3.01e Correction du comportement de la console repl piton/pyluatex
@@ -220,6 +221,57 @@
\endtcolorbox%
}
+%inputfile
+\NewDocumentCommand\CodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpiton]%
+ \setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \SetPitonStyle{ Number = \color{\CODPITcolnb} }
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true,#3}}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,continuation-symbol={\;}}%,numbers-sep=0.65em}%language=Python}
+ %------les styles tcbox
+ \IfEq{\CODPITstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign,leftupper=0.75em}}
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnystylelineos,leftupper=0.75em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ {\tcbset{stylebase/.style={thonnystyle,leftupper=0.4em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}
+ \endtcolorbox}%
+}
+
%piton >= 2.4
\NewPitonEnvironment{PseudoCodePiton}{ O{} m D<>{} }%
{%
@@ -317,6 +369,86 @@
\endtcolorbox%
}
+%--inputfile
+\NewDocumentCommand\PseudoCodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpcpiton]%
+ \setKV[envpcpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,all-line-numbers}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,language=minimal,continuation-symbol={\;}}%,numbers-sep=0.65em}%
+ \SetPitonStyle{ Number = }
+ \ifboolKV[envpcpiton]{Couleurs}%
+ {%
+ \SetPitonIdentifier[minimal]{Algorithme,Fonction,Début,Paramètre,Paramètres,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure}{\color{MotsClesPseudoCodeA}}
+ \SetPitonIdentifier[minimal]{Afficher,Renvoyer,Saisir}{\color{MotsClesPseudoCodeB}}
+ % \PitonOptions{
+ % identifiers =
+ % {
+ % names = {Algorithme,Fonction,Début,Paramètre,Paramètres,allant,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure},
+ % style = \color{MotsClesPseudoCodeA}
+ % } ,
+ % identifiers =
+ % {
+ % names = {Afficher,Retourner,Saisir},
+ % style = \color{MotsClesPseudoCodeB}
+ % }
+ % }%
+ \SetPitonStyle
+ {
+ String = \color{MotsClesPseudoCodeChaine},
+ Comment = \itshape\color{gray},
+ }
+ }%
+ {%
+ \SetPitonStyle
+ {
+ String = ,
+ Comment = \itshape
+ }
+ }%
+ %------les styles tcbox
+ \IfEq{\CODPITPCstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepcpiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITPClargeur,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign,leftupper=0.75em}}
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITPCstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnypcstylelineos,leftupper=0.75em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ {\tcbset{stylebase/.style={thonnypcstyle,leftupper=0.4em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpcpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITPCtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}%
+ \endtcolorbox}%
+}
+
%======CONSOLE PYLUATEX (package à charger manuellement !!)
\tcbset{consolepylua/.style={%base de la boîte
enhanced,colback=white,colframe=CouleurVertForet,sharp corners,boxrule=1pt,%
@@ -428,6 +560,18 @@
\endtcolorbox%
}%
+\NewDocumentCommand\PitonThonnyEditorFichier{ D<>{} O{\linewidth} m }{%
+ {\restoreKV[pitonthonny]%
+ \setKV[pitonthonny]{#1}%
+ \settowidth{\LargeurNumbersThonny}{\footnotesize\texttt{00}}%
+ \PitonOptions{left-margin=\LargeurNumbersThonny+1mm,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true},break-lines,indent-broken-lines,continuation-symbol={}}%
+ \tcbset{tcbthonnypiton/.style={title=\vphantom{pf}\thonnypitonfilename\:\textcolor{gray}{×}},before skip=0.33\baselineskip,after skip=0.33\baselineskip}%
+ \tcolorbox[sharp corners=all,enhanced,size=small,width=#2,colframe=gray,colback=lightgray!5,tcbthonnypiton,fonttitle=\scriptsize\sffamily,coltitle=black,
+ attach boxed title to top left={yshift*=-0.4pt},fontupper=\footnotesize,bottom=-0.25mm,boxed title style={size=tight,colback=lightgray!15,sharp corners=all,boxrule=0.4pt,boxsep=2pt},boxrule=0.4pt,overlay={\begin{tcbclipinterior}\fill[draw=none,gray!25] ([shift={(0.4pt,0.4pt)}]frame.south west) rectangle ([shift={(\LargeurNumbersThonny+1mm+0.8pt,-0.4pt)}]frame.north west) ;\end{tcbclipinterior}}]%
+ \PitonInputFile{#3}
+ \endtcolorbox}%
+}%
+
\NewDocumentEnvironment{PitonThonnyConsole}{ D<>{} O{} m }%
{
\restoreKV[pitonthonny]%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
index cd01f4393b..89fe894503 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
@@ -75,6 +75,69 @@
\expandafter\def\csname\RegLinCoeffrd\endcsname{\fpeval{\csname\RegLinCoeffr\endcsname*\csname\RegLinCoeffr\endcsname}}
}
+\defKV[coeffregquad]{%
+ NomCoeffa=\def\RegQuadCoeffa{#1},%
+ NomCoeffb=\def\RegQuadCoeffb{#1},%
+ NomCoeffc=\def\RegQuadCoeffc{#1},%
+ NomXmin=\def\RegQuadCoeffXmin{#1},%
+ NomXmax=\def\RegQuadCoeffXmax{#1}
+}
+
+\setKVdefault[coeffregquad]{%
+ NomCoeffa=COEFFa,%
+ NomCoeffb=COEFFb,%
+ NomCoeffc=COEFFc,%
+ NomXmin=LXmin,%
+ NomXmax=LXmax
+}
+
+\newcommand\CalculsRegQuad[3][]{%
+ \useKVdefault[coeffregquad]%
+ \setKV[coeffregquad]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %xmin et xmax
+ \expandafter\def\csname\RegQuadCoeffXmin\endcsname{\xintfloateval{min(#2)}}%
+ \expandafter\def\csname\RegQuadCoeffXmax\endcsname{\xintfloateval{max(#2)}}%
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[\i])^2}}%
+ }%
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[\i]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[\i]-\LXmoy)*((\LX[\i])*(\LX[\i])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[\i])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[\i])^2-\LXCmoy)*(\LY[\i]-\LYmoy)}}%
+ }%
+ %COEFFS OK
+ \expandafter\def\csname\RegQuadCoeffb\endcsname{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffa\endcsname{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffc\endcsname{\xintfloateval{\LYmoy-\csname\RegQuadCoeffb\endcsname*\LXmoy-\csname\RegQuadCoeffa\endcsname*\LXCmoy}}%
+}
+
%pour un nuage en TiKz
\defKV[nuagereglin]{%
Couleur=\def\RegLinNuageCouleur{#1},%
diff --git a/macros/latex/contrib/prtec/PRTEC19-template.pdf b/macros/latex/contrib/prtec/PRTEC19-template.pdf
deleted file mode 100644
index c0f369154a..0000000000
--- a/macros/latex/contrib/prtec/PRTEC19-template.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/prtec/PRTEC24-template.pdf b/macros/latex/contrib/prtec/PRTEC24-template.pdf
new file mode 100644
index 0000000000..a65827b7c4
--- /dev/null
+++ b/macros/latex/contrib/prtec/PRTEC24-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/prtec/PRTEC19-template.tex b/macros/latex/contrib/prtec/PRTEC24-template.tex
index e0769005af..59e978ef74 100644
--- a/macros/latex/contrib/prtec/PRTEC19-template.tex
+++ b/macros/latex/contrib/prtec/PRTEC24-template.tex
@@ -4,7 +4,7 @@
%%
%% PRTEC uses A4 paper.
%%
-%% This file is version 1.04 dated 2019/04/17
+%% This file is version 1.07 dated 2024/07/07
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,18 +22,17 @@
%%
%% * option to omit PRTEC footer and header [nofoot]
%%
-%% * option not to use newtxtext's superiors font for footnotes [nodefaultsups] and option
-%% * for slightly larger small capitals [largesc]
+%% * option for slightly larger small capitals [largesc]
%%
%% For details of newtxmath and newtxtext, see the documentation available on CTAN (http://ctan.org)
%%
-%% The booktabs, array, and dcolumn packages are loaded by default; those macros may be used for setting tables.
+%% The booktabs, array, and dcolumn packages are loaded by default; those macros are for tables.
%%
%=========================================================
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John Lienhard
+%% Copyright (c) 2024 John Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -53,17 +52,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Class options are described above.
-
-\documentclass[upint,varvw]{prtec}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Editing tools; can delete these if not using.
-
-\usepackage{lipsum} % makes paragraphs of "latin" for layout testing
-\usepackage{comment} % see package documentation. Can comment out sections as needed.
+%% Don't modify the \DocumentMetadata command unless you know what it does.
+%% If this command throws an "undefined" error, your latex system is out of date: comment this command out.
+\DocumentMetadata{
+ pdfstandard = a-2b,% a-4,
+ pdfversion = 1.7,% 2.0,
+ lang = en-US,
+}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Class options are described above.
+\documentclass[upint,varvw,subscriptcorrection]{prtec}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -86,15 +84,15 @@
%%%%% Conference, title, authors, affiliations %%%%%%%%
-\confname{Extended Abstracts of The Second Pacific Rim Thermal Engineering Conference}
-\confdate{December 13-17, 2019}
-\confcity{Maui, Hawaii, USA}
+\confname{Extended Abstracts of The Third Pacific Rim Thermal Engineering Conference}
+\confdate{December 15--19, 2024}
+\confcity{Honolulu, Hawaii, USA}
%%% Your paper number
\paperno{PRTEC-XXXXX}
%%% Your title
-\papertitle{Our research paper: the latest developments in cutting-edge engineering}
+\papertitle{Our research paper: cutting-edge cooling}
%% Put author names into the order you want. Use the same order for affiliations.
@@ -106,7 +104,7 @@
%%
%% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor , Yongchan Kim\affil{2}\JointFirstAuthor , Sumanta Acharya\affil{3} , Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
+\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor, Yongchan Kim\affil{2}\JointFirstAuthor, Sumanta Acharya\affil{3}, Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
\SetAffiliation{1}{Department of Mechanical Engineering, Tokyo Institute of Technology, Japan}
\SetAffiliation{2}{School of Mechanical Engineering, Korea University, Republic of Korea}
@@ -124,18 +122,17 @@
\begin{abstract}
-This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2019), December 13--17, 2019, Maui, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
+This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2024), December 15--19, 2024, Honolulu, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
-\keywords{PRTEC, Extended Abstract, Template; 10 pt Times font} %% <=== Change to your keywords, keep this command before \end{abstract}.
+\keywords{Times New Roman, 10 pt, Convection, Computational methods, Heat exchanger, Cooling turbine blade, Film cooling, High temperature} %% <=== Change to your keywords, keep this command before \end{abstract}.
\end{abstract}
-
\section{Introduction \NoCaseChange{(Details for submitting extended abstract)}}
-The Extended Abstract must be formatted using this template and submitted by \textbf{June 30, 2019} for review. \textbf{The final version of the Extended Abstract must be submitted by August 31, 2019 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+The Extended Abstract must be formatted using this template and submitted by \textbf{August 15, 2024} for review. \textbf{The final version of the Extended Abstract must be submitted by September 30, 2024 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
-It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{August 31, 2019} to ensure that their presentation is included in the Conference Program.
+It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{October 15, 2024} to ensure that their presentation is included in the Conference Program.
\section{Length and Layout}
@@ -150,7 +147,7 @@ The layout of the extended abstract should follow the style of this document, st
\textbf{KEYWORDS:} Keywords can be selected to describe the feature of the extended abstract. Leave two blank lines between keywords and the first major heading.
-\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2019 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
+\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2024 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
@@ -240,11 +237,11 @@ Authors from non-English speaking countries are requested to find persons who ar
\textbf{Figures and tables:} Figures and tables should be placed at the top or bottom of the page on which they are first mentioned if possible, on the next page if not. Do not gather them at the end of the extended abstract.
-\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}).
+\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}).
-\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{June 30, 2019}. Notification of acceptance will be made by July 15, 2019.
+\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{July 15, 2024}. Notification of acceptance will be made by August 15, 2024.
-\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{August 31, 2019} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{September 30, 2024} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
\section*{Acknowledgements}
@@ -286,7 +283,7 @@ Acknowledgments should be placed immediately following CONCLUSIONS, if necessary
\section{Additional notes for \LaTeX\ users}
The PRTEC class file is compatible with \hologo{pdfLaTeX}, \hologo{LuaLaTeX}, and \hologo{XeLaTeX}. The class relies on the \texttt{newtx} math and text fonts and is not configured for \texttt{fontspec}. The class will automatically set the needed margins, spacings, font sizes, and citation formats. The class is also designed to support hyperlinks, metadata, and pdf bookmarks.
-The class loads the \verb|\booktabs|, \verb|\array|, and \verb|\dcolumn| packages, for use in formatting tables.
+The class loads the \verb|mathtools| and \verb|amsmath| for setting mathematics. The class loads the \verb|booktabs|, \verb|array|, and \verb|dcolumn| packages for formatting tables.
PRTEC requires that section headings be set in uppercase, bold-face type. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes inside tables, use the \texttt{tablefootnote} package.}
@@ -298,12 +295,12 @@ The pdf bookmarks are automatically set as the text of the section heading. Simp
%% For math in a section heading: the optional argument creates a pdfbookmark
%% without an error message or loss of characters.
-\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}
+\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}
For math in a section heading, the optional argument of \verb|\section[..]{..}| creates a pdfbookmark without losing characters or producing error messages. For this example, we use:
-\verb|\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}|
+\verb|\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}|
-Observe that some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
+Some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/prtec/README.md b/macros/latex/contrib/prtec/README.md
index f3dacefae1..f01e4e5dc1 100644
--- a/macros/latex/contrib/prtec/README.md
+++ b/macros/latex/contrib/prtec/README.md
@@ -1,6 +1,6 @@
#prtec -- A template for PRTEC conference papers#
- Version 1.06 dated 2019/08/20.
+ Version 1.07 dated 2024/07/07.
####Overview####
This class provides a LaTeX template to format extended abstracts for the
@@ -50,6 +50,12 @@
####Version History####
+ v1.07
+ - update to PRTEC 24
+ - update various aspects of code to account for 5 years of change in LaTeX
+ - adjust top and bottom margins
+ - include \\DocumentMetadata
+
v1.06 -- correct nofoot option to fully clear header
v1.05 -- edits to .bst to better support urls; minor edit to \\entry
@@ -62,7 +68,7 @@
####License####
- Copyright (c) 2019 John H. Lienhard
+ Copyright (c) 2024 John H. Lienhard
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
diff --git a/macros/latex/contrib/prtec/prtec.cls b/macros/latex/contrib/prtec/prtec.cls
index 9bd3af2237..9bd46e5ba1 100644
--- a/macros/latex/contrib/prtec/prtec.cls
+++ b/macros/latex/contrib/prtec/prtec.cls
@@ -1,12 +1,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the prtec class for formatting conference papers according to
-%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of April 2019.
+%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of July 2024.
%%
%% The prtec.cls file should be used with the files prtec.bst (for citations) and prtec-template.tex.
%%
%%
-%% This file is version 1.06 dated 2019/08/20.
+%% This file is version and date:
+ \def\versionno{1.07}
+ \def\versiondate{2024/07/07\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -34,7 +36,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -54,33 +56,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{prtec}[2019/08/20 PRTEC paper format]
+\ProvidesClass{prtec}[\versiondate\ PRTEC paper format]
-\LoadClass[twoside,11pt]{article}
-% Two-sided layout not used in PRTEC's specs, but is included anyway.
+\LoadClass[11pt]{article}
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen}
-\newboolean{DefaultSups}
-\setboolean{DefaultSups}{true}
-
-\RequirePackage{kvoptions}
-\RequirePackage{kvsetkeys}
-\SetupKeyvalOptions{
- family=prtec,
- prefix=prtec@,
- setkeys=\kvsetkeys,
-}
-
-%%% set key nodefaultsups to obtain newtx superiors font for footnotes.
-\define@key{prtec}{nodefaultsups}[false]{%
- \setboolean{DefaultSups}{#1}
-}
-
-\ProcessKeyvalOptions*
-
%% option to omit PRTEC footer and header
\DeclareOption{nofoot}{%
@@ -96,13 +79,10 @@
%% Access many options from newtxmath
%% See newtxmath documentation for details
-\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}}
+\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces,subscriptcorrection}{\PassOptionsToPackage{}{newtxmath}}
%% Option for slightly larger small capitals font
-\DeclareOption{largesc}{\PassOptionsToPackage{}{newtxtext}}
-
-%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax}
+\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}
%% Suppress warnings about any omitted keys as unused global options
\DeclareOption*{}
@@ -112,8 +92,8 @@
%%%%%%%%%%%%% end options %%%%%%%%%%%%%%%%%%%
-\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom = 20mm, footskip=10mm, includefoot, headsep=2mm]{geometry}
-% conforms to PRTEC 19 required margins
+\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom=20mm, headsep=3mm, includefoot ]{geometry}
+% conforms to PRTEC24 required margins
\RequirePackage{parskip}
@@ -122,8 +102,9 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\RequirePackage[hyperref,fixpdftex,dvipsnames,svgnames,x11names]{xcolor}
-\RequirePackage{xparse}
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
+
+\ifdefined\NewDocumentCommand\else\RequirePackage{xparse}\fi
%%%%%%%%%%%%%%%%%%%%%%%%
@@ -136,14 +117,10 @@
%%%% FONT related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{mathtools} % extends amsmath
-\RequirePackage[utf8]{inputenc}
\RequirePackage[]{newtxtext}
\RequirePackage[]{newtxmath}
% See package documentation
-%% override \textsu if using default superiors
-\ifthenelse{\boolean{DefaultSups}}{\let\textsu\textsuperscript}{\relax}
-
\RequirePackage{bm} % load after all other math packages, to give greater access to bold math
@@ -163,19 +140,19 @@
\RequirePackage{fancyhdr}
\pagestyle{fancy}
-\setlength{\headheight}{22.53pt}
+\setlength{\headheight}{24pt}
\fancyfoot{}
-\fancyfoot[CE,CO]{\thepage}
-\fancyfoot[RO,LE]{}
+\fancyfoot[C,C]{\thepage}
+\fancyfoot[R,L]{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{title}{%
\fancyhf{} % clear all header and footer fields
-\fancyfoot[LO,RE]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
-\fancyfoot[LE,RO]{\thepage}
-\fancyhead[LE,RO]{\bfseries\sffamily \HeaderConfName}
+\fancyfoot[L]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
+\fancyfoot[R]{\thepage}
+\fancyhead[R]{\bfseries\sffamily \HeaderConfName}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
@@ -196,10 +173,9 @@
\noindent\makebox[2ex][r]{\@makefnmark}#1}
-
%%%%%%%%% CAPTION RELATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
+\RequirePackage[labelfont={bf},hypcap=false]{caption}
\RequirePackage[hypcap=false,list=true]{subcaption}
\captionsetup[figure]{name=Fig.,labelfont={bf},textfont={}, labelsep=quad} %textformat=period,
@@ -207,15 +183,12 @@
%%%%%%%%%%%%%%%%%% Section headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% wish to accommodate hyperref
-
-\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
\RequirePackage[raggedright,indentafter]{titlesec}
% PRTEC specifies 12 pt headings
-\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeTextUppercase}
-\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeTextUppercase}
+\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeUppercase}
+\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeUppercase}
\titleformat{\subsection}[runin]{\bfseries}{\thesubsection}{0.5em}{\mathversion{bold}\noindent}[\hspace*{0.5em}]
\titleformat{\subsubsection}[runin]{\itshape}{}{0em}{\noindent\underline}[.\hspace*{0.5em}]
@@ -230,88 +203,81 @@
\setcounter{section}{0}
\pdfbookmark[0]{Appendices}{appendices}
\renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeTextUppercase}
+ \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeUppercase}
}
%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%
-\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
-
-\RequirePackage[%
- unicode, % Unicode encoded PDF strings
- psdextra, % additional support for math in pdf bookmarks
- pdfborder={0 0 0},%
- bookmarks=true, %
- bookmarksnumbered=true,%
- bookmarksopen=true,%
- bookmarksopenlevel=1,%
- colorlinks=true,%%% <=== set false to get black type, but do so in .tex file
+\RequirePackage[psdextra]{hyperref}
+
+\hypersetup{
+ colorlinks=true,
+ pdfborder={0 0 0},
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ pdfpagelayout=SinglePage,
+ pdfdisplaydoctitle=true,
+ pdfstartview=Fit,
+ pdfnewwindow=true,
linkcolor=blue, %
- citecolor=blue, % SeaGreen4,%
- urlcolor=blue, % Red3,%
- breaklinks=true,%
- pdftitle={}, % <=== add in .tex file
- pdfkeywords={}, % <=== add in .tex file
- pdfnewwindow=true,%
- pdfpagelayout=TwoPageRight,%
- pdfauthor={}, % <=== add in .tex file
- pdfdisplaydoctitle=true%
- ]{hyperref}
-
+ citecolor=blue, %
+ urlcolor=blue, %
+ filecolor=violet,%
+}
\urlstyle{same} % don't switch to typewriter font
\RequirePackage{doi} % provides hyperlinks for doi in bibliography
\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for PRTEC specification
-%% Since \bm is useful in headings, this fix will reduce frequency with which
-%% alternate pdfstrings must be given in section command as \section[pdfstring]{texstring}
+%% Since \bm may be useful in headings, this fix will reduce frequency with which
+%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
+% Let's disable \( and \) in pdf bookmarks
+\pdfstringdefDisableCommands{%
+ \def\({\relax}%
+ \def\){\relax}%
+}
+
+% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
\pdfstringdefDisableCommands{%
\let\NoCaseChange\relax%
}
-%% Let's just remove citations from pdf bookmarks
+% Let's just remove citations from pdf bookmarks
\pdfstringdefDisableCommands{%
\def\cite{\@gobble}%
}
-%% Let's make sure footnotes in section headings don't break pdf bookmarks.
+%% Ensure that tag color does not follow \eqref into bookmarks
+\pdfstringdefDisableCommands{%
+ \def\eqref#1{(\ref{#1})}%
+}
+
+% Let's make sure footnotes in section headings don't break pdf bookmarks.
+% Revised footnote command above is already robust
+
\RequirePackage{etoolbox}
-\robustify{\footnote}
+\robustify\footnote
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
-
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
-%% if given in section headings
-\RequirePackage{xpatch}
-\xpatchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{}{}
-
-
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-%%% There should not be errors for $$, \cite, \ref, \label, \footnote, or \bm with current construction.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3} }
- {\addcontentsline{toc}{section}{#2} }
- }
- }
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}
- }
-}
+%% if given in section headings. Ditto for \eqref
+%
+\ifx\AddToNoCaseChangeList\@undefined % see https://github.com/John02139/asmeconf/issues/5
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{\typeout{PRTEC patched textcase nonchangecase to include footnote.}}{}
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{\typeout{PRTEC patched textcase nonchangecase to include eqref.}}{}
+\else
+ \AddToNoCaseChangeList{\eqref \footnote}
+\fi
+
+%%% There should be no errors for section headings with \(, \), \cite, \ref, \eqref, \label, \footnote, \NoCaseChange, or \bm
%%%%%%%%%%%%% Define special environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -321,7 +287,7 @@
\providecommand{\@keywords}{\relax}
-\DeclareDocumentCommand{\keywords}{m}{%
+\NewDocumentCommand{\keywords}{m}{%
\IfNoValueTF{#1}{%
\relax}{%
\long\def\@keywords{\par\medskip\noindent{\bfseries\small KEYWORDS: }{\small #1}}%
@@ -331,7 +297,7 @@
\DeclareDocumentEnvironment{abstract}{}{%
\section*{Abstract}%
}
- {\@keywords\bigskip%
+ {\@keywords\ignorespacesafterend%
}
@@ -347,7 +313,7 @@
%% If the second argument of \entry is omitted, a bold section heading is produced, e.g. \entry{Greek Letters}
-\DeclareDocumentCommand{\entry}{m g}{%
+\NewDocumentCommand{\entry}{m g}{%
\IfNoValueTF{#2}{%
\item[\itshape#1\hfill]\smallskip
}{%
@@ -388,7 +354,7 @@
\providecommand\@ConfCity{\hbox{ }}
\newcommand{\HeaderConfName}{%
-\parbox{\linewidth}{\raggedleft\bfseries\sffamily%
+\parbox{\linewidth}{\raggedleft\bfseries\sffamily\small%
\@ConfName\linebreak[4]%\par%
\@ConfDate\@CDsep\@ConfCity%
}%
@@ -400,7 +366,7 @@
\newcommand{\PaperNo}{%
\vspace*{-4.7mm}%
\parbox{\linewidth}{\raggedleft\bfseries\sffamily\Large%
-\MakeTextUppercase{\@paperno}%
+\MakeUppercase{\@paperno}%
}%
}
@@ -410,7 +376,7 @@
\newcommand{\PaperTitle}{%
\par\vspace*{6mm}%
\parbox{\linewidth}{\centering{\bfseries\Large%
-\MakeTextUppercase{\@papertitle}%
+\MakeUppercase{\@papertitle}%
\thispagestyle{title}\par} %% <=== \par gets the font leading to stick so that lines space properly
}%
}
@@ -429,13 +395,13 @@
\NewCoffin{\AffiliationsBlock}
\SetHorizontalCoffin\AffiliationsBlock{}
-\DeclareDocumentCommand{\SetAuthors}{m}{%
+\NewDocumentCommand{\SetAuthors}{m}{%
\SetHorizontalCoffin\AuthorBlock{%
\parbox{\linewidth}{\centering\bfseries\ignorespaces#1\ignorespaces}%
}
}
-\DeclareDocumentCommand{\SetAffiliation}{m m}{%
+\NewDocumentCommand{\SetAffiliation}{m m}{%
\SetVerticalCoffin\AffiliationBlock{\textwidth}{%
\centering\footnotemark[#1]#2\ignorespaces%
}
@@ -448,7 +414,7 @@
\newif\ifCA\CAfalse
\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}}
-\DeclareDocumentCommand{\CorrespondingAuthor}{m}{%
+\NewDocumentCommand{\CorrespondingAuthor}{m}{%
\global\CAtrue%
\CAemail{#1}%
$^\ast$%
@@ -457,13 +423,13 @@
%%% flag for joint first authors (two or more)
\newif\ifJA\JAfalse
-\DeclareDocumentCommand{\JointFirstAuthor}{}{%
+\NewDocumentCommand{\JointFirstAuthor}{}{%
\global\JAtrue%
$^\dagger$%
}
%%% Affiliation mark
-\DeclareDocumentCommand{\affil}{m}{%
+\NewDocumentCommand{\affil}{m}{%
{\mdseries\footnotemark[#1]}%
}
@@ -475,11 +441,11 @@
\oldaffil{#1}\futurelet\nextToken\isOthernote}
\newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\CorrespondingAuthor\nextToken\textsuperscript{\mdseries,}%
\else%
- \ifx\JointFirstAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\JointFirstAuthor\nextToken\textsuperscript{\mdseries,}%
\else
- \ifx\affil\nextToken\textsu{\mdseries,}%
+ \ifx\affil\nextToken\textsuperscript{\mdseries,}%
\fi%
\fi%
\fi%
@@ -494,7 +460,7 @@
\renewcommand\JointFirstAuthor{%
\oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-\DeclareDocumentCommand{\SetAuthorBlock}{}{%
+\NewDocumentCommand{\SetAuthorBlock}{}{%
\let\savethefootnote\thefootnote
\JoinCoffins\AuthorBlock[hc,b]\AffiliationsBlock[hc,t](0pt,-\baselineskip)
\centerline{\TypesetCoffin\AuthorBlock}
@@ -511,7 +477,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Make the title section
-\DeclareDocumentCommand{\MakeTitlePage}{}{%
+\NewDocumentCommand{\MakeTitlePage}{}{%
\PaperNo
\PaperTitle
\vspace*{2\baselineskip}
diff --git a/macros/latex/contrib/prtec/sample-figure.pdf b/macros/latex/contrib/prtec/sample-figure.pdf
index 29b41786be..89d44bf9cf 100644
--- a/macros/latex/contrib/prtec/sample-figure.pdf
+++ b/macros/latex/contrib/prtec/sample-figure.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-a-answer.pdf b/macros/latex/contrib/randexam/randexam-a-answer.pdf
index d961cd9cb5..686d3f696c 100644
--- a/macros/latex/contrib/randexam/randexam-a-answer.pdf
+++ b/macros/latex/contrib/randexam/randexam-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-a-blank.pdf b/macros/latex/contrib/randexam/randexam-a-blank.pdf
index 9656be370d..d6ea0b132c 100644
--- a/macros/latex/contrib/randexam/randexam-a-blank.pdf
+++ b/macros/latex/contrib/randexam/randexam-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-b-answer.pdf b/macros/latex/contrib/randexam/randexam-b-answer.pdf
index fe0867038c..ec97459092 100644
--- a/macros/latex/contrib/randexam/randexam-b-answer.pdf
+++ b/macros/latex/contrib/randexam/randexam-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-b-blank.pdf b/macros/latex/contrib/randexam/randexam-b-blank.pdf
index c059b6e615..459ad1f116 100644
--- a/macros/latex/contrib/randexam/randexam-b-blank.pdf
+++ b/macros/latex/contrib/randexam/randexam-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam.cls b/macros/latex/contrib/randexam/randexam.cls
index ec5d1c43c2..dacc079cb0 100644
--- a/macros/latex/contrib/randexam/randexam.cls
+++ b/macros/latex/contrib/randexam/randexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{randexam}[2024-02-18 v2024E Make an exam paper and its randomized variants]
+\ProvidesClass{randexam}[2024-07-09 v2024F Make an exam paper and its randomized variants]
%% Old LaTeX release could not recognize date format like 2022-11-01
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -786,7 +786,8 @@
\UseExamTemplate{examdata}{default}
}
-\preto{\@enddocumenthook}{\printquestions\rdxm@stop@random}
+%% this equals to \AddToHook{enddocument}[randexam]{...}
+\AtEndDocument{\printquestions\rdxm@stop@random}
\newcommand\ignorepars{\@ifnextchar\par{\expandafter\ignorepars\@gobble}{}}
@@ -1228,6 +1229,11 @@
\mbox{}\nobreak\hfill$\cdots\cdots$\solutionpointstext{#1}
\par\noindent\ignorespaces
}
+
+%% \eqno would cause extra space after a $$...$$ equation
+%% this bug was fixed in latex release 2023-06-01
+%% see https://github.com/latex3/latex2e/issues/1059
+%% \tag is used in a \[...\] equation hence no problem with it
\newcommand{\pointseqno}[1]{\eqno{\cdots\cdots\text{\solutionpointstext{#1}}}}
\newcommand{\pointstag}[1]{\tag*{$\cdots\cdots$\solutionpointstext{#1}}}
@@ -1374,6 +1380,9 @@
\RequirePackage{extarrows}
\newcommand{\e}{\mathrm{e}}
\newcommand{\R}{\mathbb{R}}
+ \newcommand{\jacobi}[2]{{\left(\frac{##1}{##2}\right)}}
+ \newcommand{\ii}{\mathrm{i}}
+ \newcommand{\Zi}{\mathbb{Z}[\ii]}
\DeclareMathOperator{\arccot}{arccot}
\DeclareMathOperator{\Corr}{\rho}
\DeclareMathOperator{\Cov}{Cov}
diff --git a/macros/latex/contrib/randexam/randexam.pdf b/macros/latex/contrib/randexam/randexam.pdf
index 68c0e5925d..1ef3fcc5ad 100644
--- a/macros/latex/contrib/randexam/randexam.pdf
+++ b/macros/latex/contrib/randexam/randexam.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam.tex b/macros/latex/contrib/randexam/randexam.tex
index 74e57318df..ff7d951a15 100644
--- a/macros/latex/contrib/randexam/randexam.tex
+++ b/macros/latex/contrib/randexam/randexam.tex
@@ -3,7 +3,7 @@
\documentclass[12pt,plain,math=most]{randexam}
\geometry{b5paper,margin=2cm}
-\newcommand*{\myversion}{2024E}
+\newcommand*{\myversion}{2024F}
\newcommand*{\mydate}{\the\year-\mylpad\month-\mylpad\day}
\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
diff --git a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
index 1ae91515fb..fc1cf0d3af 100644
--- a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
index 58f1d6981d..7454d1cce0 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
index ea2f749d32..51238cf571 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
index 2d7130fcb9..fa4b8cdbb5 100644
--- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
index d7a945978b..80a889d85b 100644
--- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
index 75b679b50d..4881557ce0 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf
index e1d1b6af19..3caf07a14a 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
index f7b843c631..7c94d43d13 100644
--- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
index 1c53f875a0..0278d89b9f 100644
--- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
index c9e6daca45..542174e6f0 100644
--- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
index f702632cf3..3ecab9d63b 100644
--- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
index ca3b90abcc..607860d6e6 100644
--- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
index 95a09523d9..26e21be7b9 100644
--- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
index 0021b1cbd3..b1dca2b117 100644
--- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
index 67424c3e0c..499104658b 100644
--- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
index 362ff7012a..f5f58e81d6 100644
--- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
index 0fe795532a..abaf67b4f6 100644
--- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
index ad48933ba2..3cda9762d0 100644
--- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf
index e68f4f3b49..c543daa168 100644
--- a/macros/latex/contrib/reledmac/examples/2-performances.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
index ed0755c95b..9030d23e94 100644
--- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
index a0e92d1b90..53b0429efc 100644
--- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index 22f3ac9ed3..7872a6a918 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
index 6edc466546..d751ef78ff 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
index ae6daea2f3..d05683ac0a 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
index 65e77b6045..71adb5d7bb 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index 7864905fc5..3d12b5b07b 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index 147ece9039..36e5904216 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index bc2e485aa7..df79382ca8 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index a53aafd365..d68d98ff29 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
index b873ef2634..448dea3da8 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index 4437bcd188..37ac4daee6 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 0c36cb9564..d69077e19b 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index 073be3c769..692832cc52 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index 7a13994ca4..bf85737443 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index 5dbce10161..e9fb82d345 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 4c574e496b..6136c9957b 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
index 012bb74b4e..0fea810dc6 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index fc67986e5a..b492f69121 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 58d08bf3bd..d4643edcb3 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index 36f6321386..09f3b72602 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
index db1ccbc5a7..4ccf4308cd 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index d71f06d80e..000ffd301c 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index c6186efd4d..3baa1de986 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index a36ab701dd..7a63bced17 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 33338d8f63..e68462600d 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
index c8200f5ff5..120bdeb43a 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/migration.pdf b/macros/latex/contrib/reledmac/migration.pdf
index 50d46b721e..1512a20fea 100644
--- a/macros/latex/contrib/reledmac/migration.pdf
+++ b/macros/latex/contrib/reledmac/migration.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx
index 2109ca38b5..8b43d5b6be 100644
--- a/macros/latex/contrib/reledmac/reledmac.dtx
+++ b/macros/latex/contrib/reledmac/reledmac.dtx
@@ -786,7 +786,7 @@
% Briefe}, series {\sc I, III, VII,} being edited by Dr.\ H.\
% Breger\index{Breger, Herbert}, Dr.~N. G\"adeke\index{G\"adeke, Nora} and
% others at the Leibniz-Archiv, Nieders\"achsische Landesbibliothek, Hannover.
-% (see \url{http://www.nlb-hannover.de/Leibniz})}
+% (see \url{https://www.gwlb.de/leibniz/digitale-ressourcen/repositorium-des-leibniz-archivs})}
% Theodosius's\index{Theodosius} {\em Spherics}, the German {\em
% Algorismus} of Sacrobosco,\index{Sacrobosco} the Sanskrit text of the
% {\em K\={a}\'{s}ik\={a}\-v\d{r}tti\/} of V\={a}mana\index{Vamana} and
@@ -3962,7 +3962,7 @@
% & It makes the peas taste funny \\
% & And get my tummy gummy.\edindex{gummy} &
% & But it keeps them on the knife.
-% \end{edtabularr}
+% \end{edtabularl}
% \pend
% \endnumbering
% \end{verbatim}
diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf
index bc1f8b20f9..bf4c1a04d6 100644
--- a/macros/latex/contrib/reledmac/reledmac.pdf
+++ b/macros/latex/contrib/reledmac/reledmac.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledpar.dtx b/macros/latex/contrib/reledmac/reledpar.dtx
index aff1d03da1..1d09e9c4ef 100644
--- a/macros/latex/contrib/reledmac/reledpar.dtx
+++ b/macros/latex/contrib/reledmac/reledpar.dtx
@@ -354,6 +354,7 @@
% \changes{v2.25.4}{2023/07/04}{Fix bug with \protect\cs{linenumOnlyPagesForColumnsR} and multiple numbered sections}
% \changes{v2.25.5}{2023/07/20}{Fix bug with hyperlink when using \protect\cs{footnoteXnomk}}
% \changes{v2.25.6}{2024/02/26}{Make \protect\cs{doinsidethislinehook} working on right side}
+% \changes{v2.25.7}{2024/07/23}{Fix compatibility with \protect\package{polyglossia} 2.2}
% ^^A PW added following as the definitions are at some unknown elsewhere
%
% \newcommand{\egstart}{%
@@ -1410,7 +1411,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledpar}[2024/05/11 v2.25.6a reledmac extension for parallel texts]%
+\ProvidesPackage{reledpar}[2024/07/23 v2.25.7 reledmac extension for parallel texts]%
% \end{macrocode}
% \subsection{Package's requirement}
@@ -5543,17 +5544,6 @@
% To counter this, we have to make sure that the correct language is
% used at the proper times.
%
-% \begin{macro}{\ifl@dusedbabel}
-% \begin{macro}{\l@dusedbabelfalse}
-% \begin{macro}{\l@dusedbabeltrue}
-% A flag for checking if \verb?babel? has been used as a package.
-% \begin{macrocode}
-\newif\ifl@dusedbabel
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
% \changes{v1.8.0}{2014/08/05}{Suppress \protect\cs{ifl@dsamelang} which did not work and was not logical, because both columns could have the same language but not the main language of the document.}
%
% \begin{macro}{\l@dchecklang}
@@ -5598,20 +5588,18 @@
% Now do the \protect\package{babel} or \protect\package{polyglossia} fix or, if necessary.
% \begin{macrocode}
\AtBeginDocument{%
- \@ifundefined{xpg@main@language}{%
+ \@ifpackageloaded{babel}{%
\@ifundefined{bbl@main@language}{%
% \end{macrocode}
% Either \protect\package{babel} has not been used or it has been used with no
% specified language.
% \begin{macrocode}
- \l@dusedbabelfalse
}{%
% \end{macrocode}
% Here we deal with the case where babel has been used. \protect\cs{selectlanguage}
% has to be redefined to use our version of \protect\cs{bbl@set@language} and to
% store the left or right language.
% \begin{macrocode}
- \l@dusedbabeltrue
\let\l@doldselectlanguage\selectlanguage
\let\l@doldbbl@set@language\bbl@set@language
\renewcommand{\selectlanguage}[1]{%
@@ -5635,7 +5623,7 @@
\gdef\theledlanguageL{\bbl@main@language}%
\gdef\theledlanguageR{\bbl@main@language}%
}%
- }
+ }{}%
% \end{macrocode}
% If use \protect\package{polyglossia}
% \changes{v1.8.0}{2014/08/05}{Correct left/right language setting with polyglossia.}
@@ -5643,25 +5631,28 @@
% \changes{v2.22.4}{2019/11/04}{Provide compatibility with the latest version of polyglossia (v1.45).}
% \changes{v2.23.0}{2020/03/08}{Restore compatibility with versions of polyglossia prior to v1.45.}
% \begin{macrocode}
- {%
- \@ifpackagelater{polyglossia}{2022/04/10}{}{\led@err@polyglossiaTooOld}%
- \let\old@otherlanguage\otherlanguage%
- \renewcommand{\otherlanguage}[2][]{%
- \selectlanguage[#1]{#2}%
- \xpg@set@language@only@aux[#1]{#2}%
- \ifledRcol \gdef\theledlanguageR{#2}%
- \else \gdef\theledlanguageL{#2}%
- \fi}%
+ \@ifpackageloaded{polyglossia}{%
+ \@ifpackagelater{polyglossia}{2024/07/15}{}{\led@err@polyglossiaTooOld}%
\renewcommand{\l@duselanguage}[1]{%
\csuse{no\languagename @numbers}%
- \expandafter\@select@language\expandafter{#1}%
+ \selectlanguage*{#1}%
+ }%
+ \AddToHook{env/Leftside/begin}{%
+ \AddToHookNext{cmd/polyglossia@language@switched/after}{%
+ \xdef\theledlanguageL{\languagename}%
+ }%
}%
- \xdef\theledlanguageL{\xpg@main@language}%
- \xdef\theledlanguageR{\xpg@main@language}%
+ \AddToHook{env/Rightside/begin}{%
+ \AddToHookNext{cmd/polyglossia@language@switched/after}{%
+ \xdef\theledlanguageR{\languagename}%
+ }%
+ }%
+ \xdef\theledlanguageL{\mainlanguagename}%
+ \xdef\theledlanguageR{\mainlanguagename}%
% \end{macrocode}
% That is it.
% \begin{macrocode}
- }%
+ }{}%
}%
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf
index 84a3fd4ec0..09730ec178 100644
--- a/macros/latex/contrib/reledmac/reledpar.pdf
+++ b/macros/latex/contrib/reledmac/reledpar.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
index 1ee7bc9bba..6f4fa467ef 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
index 97155dee5c..167d62e4f4 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
@@ -3,8 +3,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[french,a4paper,11pt]{article}
-\def\TPversion{0.1.6}
-\def\TPdate{2 avril 2024}
+\def\TPversion{0.1.8}
+\def\TPdate{4 juillet 2024}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[table,svgnames]{xcolor}
\usepackage{amsmath,amssymb}
@@ -148,7 +148,7 @@
\vspace{0.25cm}
-{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2x2, 3x3 ou 4x4) avec la syntaxe du package.}
+{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2×2, 3×3 ou 4×4) avec la syntaxe du package.}
\smallskip
@@ -156,15 +156,15 @@
\smallskip
-{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2×2, 3×3 ou 4×4).}
\smallskip
-{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2×2, 3×3 ou 4×4).}
\smallskip
-{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2×2, 3×3 ou 4×4).}
\vspace{1cm}
@@ -207,7 +207,9 @@
\hrule
-\medskip
+\bigskip
+
+{\footnotesize\sffamily\itshape À mon papa.}
\newpage
@@ -240,8 +242,8 @@ La package \textit{propose} des outils pour travailler sur des matrices ou des s
À noter que les calculs -- en interne -- peuvent être effectués de deux manières :
\begin{itemize}
- \item via les packages \textsf{xint*} pour des formats \textbf{2x2} ou \textbf{3x3} (et dans une certaine mesure pour des \textbf{4x4}) ;
- \item via \textsf{python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2x2}, \textbf{3x3} ou \textbf{4x4}.
+ \item via les packages \textsf{xint*} pour des formats \textbf{2×2} ou \textbf{3×3} (et dans une certaine mesure pour des \textbf{4×4}) ;
+ \item via \textsf{Python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2×2}, \textbf{3×3} ou \textbf{4×4}.
\end{itemize}
Il n'est pas prévu -- pour le moment -- de travailler sur des matrices/systèmes plus grands, car l'idée est de pouvoir formater le résultat, ce qui se fait coefficient par coefficient.
@@ -252,7 +254,7 @@ L'utilisation de \textsf{pyluatex} nécessite une compilation adaptée, à savoi
\smallskip
-La méthode par \textsf{python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé !
+La méthode par \textsf{Python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé !
\end{warningblock}
\subsection{Packages utilisés, choix de formatage}
@@ -283,7 +285,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex
\begin{itemize}
\item \texttt{ResolSysteme-exemples} pour les commandes disponibles en version classique (\textsf{xint}) ;
- \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version python (\textsf{pyluatex}).
+ \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version \textsf{Python} (\textsf{pyluatex}).
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{noteblock}
@@ -293,7 +295,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex
\subsection{Chargement du package, et option}
\begin{importantblock}
-Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{python} est utilisé.
+Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{Python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{Python} est utilisé.
\end{importantblock}
\begin{PresentationCode}{listing only}
@@ -314,16 +316,22 @@ D'autres solutions existent pour faire du calcul matriciel, on peut pas exemple
\smallskip
-L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1x2} à \textbf{4x4}).
+L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1×2} à \textbf{4×4}).
\end{noteblock}
\part{Historique}
+\verb|v0.1.8|~:~~~~Correction de bugs, améliorations dans la documentation.
+
+\verb|v0.1.7|~:~~~~Correction de bugs dans certains calculs avec des fractions.
+
+\verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs avec des fractions.
+
\verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs.
\verb|v0.1.5|~:~~~~Inverse d'une matrice 4x4 et système 4x4 (même en normal).
-\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans python (de taille raisonnable) ;
+\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans \textsf{Python} (de taille raisonnable) ;
\verb| |~~~~~~commandes pour des graphes probabilistes.
@@ -331,7 +339,7 @@ L'idée est ici de proposer une version, adaptée à des dimensions classiques,
\verb| |~~~~~~inversion du comportement des commandes étoilées.
-\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2x2, 3x3 ou 4x4.
+\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2×2, 3×3 ou 4×4.
\verb|v0.1.1|~:~~~~Correction d'un bug avec le caractère \og ; \fg.
@@ -412,7 +420,7 @@ Les \textit{transformations} en fraction devraient pouvoir fonctionner avec des
\subsection{La commande}
\begin{cautionblock}
-Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\textsf{python} est ici non nécessaire !) :
+Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\textsf{Python} est ici non nécessaire !) :
\begin{itemize}
\item en saisissant les coefficients via une syntaxe propre au package (l'affichage est géré en interne par \textsf{nicematrix}) ;
@@ -483,8 +491,8 @@ L'idée est de proposer des commandes pour effectuer des calculs matriciels \tex
\item $(4\times4)\times(4\times4)$ ;
\item $(4\times4)\times(4\times1)$ ;
\end{itemize}
- \item le carré d'une matrice 2x2 ou 3x3 ou 4x4 ;
- \item la puissance d'une matrice 2x2 ou 3x3 ou 4x4 (via \textsf{python}).
+ \item le carré d'une matrice 2×2 ou 3×3 ou 4×4 ;
+ \item la puissance d'une matrice 2×2 ou 3×3 ou 4×4 (via \textsf{Python}).
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -574,7 +582,7 @@ $\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$
Une commande est disponible pour calculer le déterminant d'une matrice :
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -583,7 +591,7 @@ Une commande est disponible pour calculer le déterminant d'une matrice :
%version classique
\DetMatrice(*)[option de formatage](matrice)
-%version python
+%version Python
\DetMatricePY(*)[option de formatage](matrice)
\end{PresentationCode}
@@ -631,7 +639,7 @@ est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dé. de $A=\AffMatrice(1,2 § 3,4)$ est
$\det(A)=\DetMatricePY(1,2 § 3,4)$.
\end{PresentationCode}
@@ -642,13 +650,13 @@ $\det(A)=\DetMatricePY[d](-1,0.5 § 1/2,4)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dét. de $A=\AffMatrice(-1,1/3,4 § 1/3,4,-1 § -1,0,0)$ est
$\det(A) \approx \DetMatricePY[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dét. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$
est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{PresentationCode}
@@ -663,8 +671,8 @@ est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'une matrice :
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour la version \textsf{python}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour la version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -673,7 +681,7 @@ Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'
%version classique
\MatriceInverse(*)[option de formatage]<options nicematrix>(matrice)[Clé]
-%version python
+%version Python
\MatriceInversePY(*)[option de formatage]<options nicematrix>(matrice)[Clé]
\end{PresentationCode}
@@ -712,7 +720,7 @@ $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3 § 4,5,6 § 7,8,8)[Aff]$
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'inverse de $A=\AffMatrice(1,2 § 3,4)$ est
$A^{-1}=\MatriceInversePY[d]<cell-space-limits=2pt>(1,2 § 3,4)[Aff]$.
\end{PresentationCode}
@@ -725,7 +733,7 @@ $A^{-1}=
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'inv. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$ est
$A^{-1}=
\MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$.
@@ -738,17 +746,17 @@ $A^{-1}=
\subsection{Introduction}
\begin{cautionblock}
-\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{python}) :
+\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{Python}) :
\begin{itemize}
- \item afficher un état probabiliste (\textbf{1x2} ou \textbf{1x3} ou \textbf{1x4}, version normale ou version \textsf{python}) ;
- \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{python}.
+ \item afficher un état probabiliste (\textbf{1×2} ou \textbf{1×3} ou \textbf{1×4}, version normale ou version \textsf{Python}) ;
+ \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
\begin{PresentationCode}{listing only}
-%version classique ou python
+%version classique ou Python
\AffEtatProb[opt de formatage]<opts nicematrix>(matrice ligne)
\EtatProbPY[opt de formatage]<opts nicematrix>(état init)(mat de trans)(étape)
\end{PresentationCode}
@@ -845,8 +853,8 @@ $P_4 \approx \EtatProbPY[dec=3]
Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'un système linéaire qui s'écrit matriciellement $A\times X=B$:
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour le package en version \textsf{python}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour le package en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -855,7 +863,7 @@ Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'u
%version classique
\SolutionSysteme(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé]
-%version python
+%version Python
\SolutionSystemePY(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé]
\end{PresentationCode}
@@ -880,6 +888,10 @@ Concernant cette commande, qui est à insérer dans un environnement \textit{mat
\item le dernier argument, \textit{optionnel} et entre \textsf{[...]}, permet -- grâce à la \textit{clé} \Cle{Matrice} -- de présenter le vecteur solution.
\end{itemize}
À noter que si la matrice n'est pas inversible, le texte \texttt{Matrice non inversible} est affiché.
+
+\smallskip
+
+Pour afficher le système via la commande \texttt{\textbackslash systeme}, le package \textsf{systeme} doit être chargé.
\end{tipblock}
\begin{PresentationCode}{}
@@ -889,7 +901,7 @@ La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=%
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=%
\left\lbrace \SolutionSystemePY(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$.
\end{PresentationCode}
@@ -906,7 +918,13 @@ est $\mathcal{S}=%
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+La solution de $\systeme{\frac{2}{7}x + \frac{5}{9}y = 13,\frac{73}{37} x - 9y=-11}$
+est $\mathcal{S}=
+\left\lbrace \SolutionSysteme[d](2/7,5/9 § 73/37,-9)(13,-11) \right\rbrace$.
+\end{PresentationCode}
+
+\begin{PresentationCode}{}
+%version Python
La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$
est $\mathcal{S}=%
\left\lbrace
@@ -922,8 +940,6 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=%
\left\lbrace \SolutionSystemePY(1,2 § 4,8)(-5,1) \right\rbrace$.
\end{PresentationCode}
-\pagebreak
-
\section{Recherche d'un état stable (graphe probabiliste)}
\subsection{Introduction}
@@ -932,8 +948,8 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=%
\cmaj{0.1.4} Il existe une commande (matricielle) pour déterminer l'éventuel état stable d'un graphe probabiliste :
\begin{itemize}
- \item \textbf{2x2} pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package en version \textsf{python}.
+ \item \textbf{2×2} pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} pour le package en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -942,7 +958,7 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=%
%version classique
\EtatStable[opt de formatage]<opts nicematrix>(matriceA)
-%version python
+%version Python
\EtatStablePY[opt de formatage]<opts nicematrix>(matriceA)
\end{PresentationCode}
@@ -976,7 +992,7 @@ ou $\Pi = \EtatStable[dec](0.72,0.28 § 0.12,0.88)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec](0.72,0.28 § 0.12,0.88)$
@@ -985,7 +1001,7 @@ ou $\Pi = \EtatStablePY[dec](0.72,0.28 § 0.12,0.88)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$
@@ -994,7 +1010,7 @@ ou $\Pi = \EtatStablePY[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec]%
(0.1,0.2,0.3,0.4 § 0.25,0.25,0.25,0.25 § 0.15,0.15,0.2,0.5 § 0.3,0.3,0.2,0.2)$
@@ -1007,7 +1023,7 @@ est $\Pi \approx
\pagebreak
-\part{Fonctions python utilisées}
+\part{Fonctions Python utilisées}
\begin{cautionblock}
Les fonctions utilisées par les packages \textsf{pyluatex} ou \textsf{pythontex} sont données ci-dessous.
@@ -1016,7 +1032,7 @@ Elles sont accessibles en \textit{natif} une fois l'option \textsf{pyluatex} act
\end{cautionblock}
\begin{PresentationCodePython}{listing only}
-#variables symboliques (pour du 4x4 maxi)
+#variables symboliques (pour du 4×4 maxi)
import sympy as sy
x = sy.Symbol('x')
y = sy.Symbol('y')
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
index d5bc819d92..dfd7461c74 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
index 407a26aa3e..600ce6d1d3 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
@@ -2,7 +2,7 @@
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.6}
+\def\RSver{0.1.8}
\usepackage[margin=1.5cm]{geometry}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[pyluatex]{ResolSysteme}
@@ -27,7 +27,7 @@
\sisetup{locale=FR,output-decimal-marker={,}}
\end{ShowCodeTeX}
-\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
On considère les matrices $A=\AffMatrice(1,2 § 3,4)$
@@ -35,7 +35,7 @@ et $B=\AffMatrice[n](-1,-1/3,4 § 1/3,4,-1 § -1,0,0)$
et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est
@@ -57,7 +57,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN
est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4}
+\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
$\ProduitMatricesPY(1,2)(3 § 4)[Aff]$ et $\ProduitMatricesPY(1,2)(3,4 § 5,6)[Aff]$ \\
@@ -83,7 +83,7 @@ $\MatricePuissancePY(1,1,-1 § 5,-2,1 § 0,5,2)(3)[Aff]$ \\
$\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$
\end{ShowCodeTeX}
-\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est
@@ -120,7 +120,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p
est $A^{-1}=\MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Résolution d'un système, 2x2 ou 3x3 ou 4x4}
+\section{Résolution d'un système, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=%
@@ -160,7 +160,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=
[Matrice]$
\end{ShowCodeTeX}
-\section{État probabiliste d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4}
+\section{État probabiliste d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
État initial : $P_0 = \AffEtatProb[t](1/3,2/3)$.
@@ -202,7 +202,7 @@ $P_4 \approx \EtatProbPY[dec=3]
(4)$
\end{ShowCodeTeX}
-\section{État stable d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4}
+\section{État stable d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'état stable du gr. prob. de matrice
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
index cd7b6e1fd3..bbf961d1a7 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
index 0eb228e552..b228332dec 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
@@ -2,7 +2,7 @@
% !TeX TXS-program:compile = txs:///pdflatex
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.6}
+\def\RSver{0.1.8}
\usepackage[margin=1.5cm]{geometry}
\usepackage{ResolSysteme}
\usepackage{systeme}
@@ -15,7 +15,7 @@
\part*{ResolSysteme (\RSver), version \og classique \fg{}}
-\section{Préambule sans utiliser python}
+\section{Préambule sans utiliser Python}
\begin{ShowCodeTeX}[listing only]
\documentclass[french,a4paper,10pt]{article}
@@ -25,7 +25,7 @@
\sisetup{locale=FR,output-decimal-marker={,}}
\end{ShowCodeTeX}
-\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
On considère les matrices $A=\AffMatrice(1,2 § 3,4)$
@@ -33,7 +33,7 @@ et $B=\AffMatrice[n](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$
et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4}
+\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
$\ProduitMatrices(1,2)(3 § 4)[Aff]$ et $\ProduitMatrices(1,2)(3,4 § 5,6)[Aff]$ \\
@@ -59,7 +59,7 @@ $\CarreMatrice(-5,6,8 § 1,4,-9 § 1,-1,1)[Aff]$\\
$\CarreMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)[Aff]$
\end{ShowCodeTeX}
-\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est
@@ -81,7 +81,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN
est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est
@@ -113,7 +113,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p
est $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section*{Résolution d'un système, 2x2 ou 3x3 ou 4x4}
+\section*{Résolution d'un système, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=%
@@ -158,7 +158,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=
[Matrice]$
\end{ShowCodeTeX}
-\section{État stable d'une graphe probabiliste, 2x2}
+\section{État stable d'une graphe probabiliste, 2×2}
\begin{ShowCodeTeX}
L'état stable du gr. prob. de matrice
diff --git a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
index 025ea98cfe..5a8d27b31c 100644
--- a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
+++ b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
@@ -2,7 +2,9 @@
% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ResolSysteme}[2024/04/02 v0.1.6 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+\ProvidesPackage{ResolSysteme}[2024/07/04 v0.1.8 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+% 0.1.8 Correction de bugs dans certains calculs, amélioration de la documentation
+% 0.1.7 Correction de bugs dans certains calculs
% 0.1.6 Correction de bugs dans certains calculs
% 0.1.5 Inverse d'une matrice en 4x4 (même en normal !) + Système 4x4 (en normal !)
% 0.1.4 Travail sur graphe probabiliste (2x2/3x3/4x4 en python, ou 2x2 en normal...) + Calculs 4x4 en normal
@@ -612,40 +614,40 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac*[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac*[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac*[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvJ{\ConvVersFrac*[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvK{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
- \def\MatInvL{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
- \def\MatInvM{\ConvVersFrac*[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvN{\ConvVersFrac*[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvO{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
- \def\MatInvP{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac*[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac*[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac*[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvJ{\ConvVersFrac*[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvK{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvL{\ConvVersFrac*[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}}%
+ \def\MatInvM{\ConvVersFrac*[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvN{\ConvVersFrac*[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvO{\ConvVersFrac*[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvP{\ConvVersFrac*[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvJ{\ConvVersFrac[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvK{\ConvVersFrac[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}}%
- \def\MatInvL{\ConvVersFrac[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}}%
- \def\MatInvM{\ConvVersFrac[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}}%
- \def\MatInvN{\ConvVersFrac[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}}%
- \def\MatInvO{\ConvVersFrac[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}}%
- \def\MatInvP{\ConvVersFrac[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac[#2]{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac[#2]{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac[#2]{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac[#2]{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac[#2]{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvJ{\ConvVersFrac[#2]{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvK{\ConvVersFrac[#2]{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvL{\ConvVersFrac[#2]{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}}%
+ \def\MatInvM{\ConvVersFrac[#2]{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvN{\ConvVersFrac[#2]{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}}%
+ \def\MatInvO{\ConvVersFrac[#2]{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}}%
+ \def\MatInvP{\ConvVersFrac[#2]{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -693,26 +695,26 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac*[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac*[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac*[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac*[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac*[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac*[#2]{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac*[#2]{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac*[#2]{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac*[#2]{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac*[#2]{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}}%
- \def\MatInvE{\ConvVersFrac[#2]{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}}%
- \def\MatInvF{\ConvVersFrac[#2]{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}}%
- \def\MatInvG{\ConvVersFrac[#2]{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}}%
- \def\MatInvH{\ConvVersFrac[#2]{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}}%
- \def\MatInvI{\ConvVersFrac[#2]{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvE{\ConvVersFrac[#2]{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvF{\ConvVersFrac[#2]{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}}%
+ \def\MatInvG{\ConvVersFrac[#2]{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvH{\ConvVersFrac[#2]{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}}%
+ \def\MatInvI{\ConvVersFrac[#2]{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -752,16 +754,16 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
{%
\IfBooleanTF{#1}%
{%
- \def\MatInvA{\ConvVersFrac*[#2]{(\MatD)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac*[#2]{(-\MatC)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac*[#2]{(\MatA)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac*[#2]{(\MatD)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac*[#2]{(-\MatB)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac*[#2]{(-\MatC)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac*[#2]{(\MatA)/(\DETMATRICE)}}%
}%
{%
- \def\MatInvA{\ConvVersFrac[#2]{(\MatD)/\DETMATRICE}}%
- \def\MatInvB{\ConvVersFrac[#2]{(-\MatB)/\DETMATRICE}}%
- \def\MatInvC{\ConvVersFrac[#2]{(-\MatC)/\DETMATRICE}}%
- \def\MatInvD{\ConvVersFrac[#2]{(\MatA)/\DETMATRICE}}%
+ \def\MatInvA{\ConvVersFrac[#2]{(\MatD)/(\DETMATRICE)}}%
+ \def\MatInvB{\ConvVersFrac[#2]{(-\MatB)/(\DETMATRICE)}}%
+ \def\MatInvC{\ConvVersFrac[#2]{(-\MatC)/(\DETMATRICE)}}%
+ \def\MatInvD{\ConvVersFrac[#2]{(\MatA)/(\DETMATRICE)}}%
}%
\IfStrEq{#5}{Aff}%si matrice
{%
@@ -889,22 +891,22 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/\DETMATRICE}%
- \def\MatInvB{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/\DETMATRICE}%
- \def\MatInvC{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/\DETMATRICE}%
- \def\MatInvD{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/\DETMATRICE}%
- \def\MatInvE{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/\DETMATRICE}%
- \def\MatInvF{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/\DETMATRICE}%
- \def\MatInvG{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/\DETMATRICE}%
- \def\MatInvH{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/\DETMATRICE}%
- \def\MatInvI{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/\DETMATRICE}%
- \def\MatInvJ{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/\DETMATRICE}%
- \def\MatInvK{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/\DETMATRICE}%
- \def\MatInvL{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/\DETMATRICE}%
- \def\MatInvM{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/\DETMATRICE}%
- \def\MatInvN{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/\DETMATRICE}%
- \def\MatInvO{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/\DETMATRICE}%
- \def\MatInvP{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/\DETMATRICE}%
+ \def\MatInvA{(\MatF*\MatK*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP-\MatH*\MatK*\MatN)/(\DETMATRICE)}%
+ \def\MatInvB{(\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP+\MatD*\MatK*\MatN-\MatB*\MatK*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO)/(\DETMATRICE)}%
+ \def\MatInvC{(\MatB*\MatG*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP-\MatD*\MatG*\MatN)/(\DETMATRICE)}%
+ \def\MatInvD{(\MatB*\MatH*\MatK+\MatC*\MatF*\MatL+\MatD*\MatG*\MatJ-\MatB*\MatG*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK)/(\DETMATRICE)}%
+ \def\MatInvE{(\MatE*\MatL*\MatO+\MatG*\MatI*\MatP+\MatH*\MatK*\MatM-\MatE*\MatK*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO)/(\DETMATRICE)}%
+ \def\MatInvF{(\MatA*\MatK*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP-\MatD*\MatK*\MatM)/(\DETMATRICE)}%
+ \def\MatInvG{(\MatA*\MatH*\MatO+\MatC*\MatE*\MatP+\MatD*\MatG*\MatM-\MatA*\MatG*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO)/(\DETMATRICE)}%
+ \def\MatInvH{(\MatA*\MatG*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL-\MatD*\MatG*\MatI)/(\DETMATRICE)}%
+ \def\MatInvI{(\MatE*\MatJ*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP-\MatH*\MatJ*\MatM)/(\DETMATRICE)}%
+ \def\MatInvJ{(\MatA*\MatL*\MatN+\MatB*\MatI*\MatP+\MatD*\MatJ*\MatM-\MatA*\MatJ*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN)/(\DETMATRICE)}%
+ \def\MatInvK{(\MatA*\MatF*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP-\MatD*\MatF*\MatM)/(\DETMATRICE)}%
+ \def\MatInvL{(\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL+\MatD*\MatF*\MatI-\MatA*\MatF*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ)/(\DETMATRICE)}%
+ \def\MatInvM{(\MatE*\MatK*\MatN+\MatF*\MatI*\MatO+\MatG*\MatJ*\MatM-\MatE*\MatJ*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN)/(\DETMATRICE)}%
+ \def\MatInvN{(\MatA*\MatJ*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO-\MatC*\MatJ*\MatM)/(\DETMATRICE)}%
+ \def\MatInvO{(\MatA*\MatG*\MatN+\MatB*\MatE*\MatO+\MatC*\MatF*\MatM-\MatA*\MatF*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN)/(\DETMATRICE)}%
+ \def\MatInvP{(\MatA*\MatF*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK-\MatC*\MatF*\MatI)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%version étoilée := moinsdevant
{%
@@ -944,7 +946,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\itemtomacro\MAMATRICEA[3,2]\MatH
\itemtomacro\MAMATRICEA[3,3]\MatI
%le déterminant
- \def\DETMATRICE{\xinteval{\MatA*\MatE*\MatI+\MatD*\MatH*\MatC+\MatB*\MatF*\MatG-\MatG*\MatE*\MatC-\MatD*\MatB*\MatI-\MatA*\MatH*\MatF}}%
+ \def\DETMATRICE{\xinteval{(\MatA)*(\MatE)*(\MatI)+(\MatD)*(\MatH)*(\MatC)+(\MatB)*(\MatF)*(\MatG)-(\MatG)*(\MatE)*(\MatC)-(\MatD)*(\MatB)*(\MatI)-(\MatA)*(\MatH)*(\MatF)}}%
%les coeffs de B
\itemtomacro\MAMATRICEB[1]\MatBA
\itemtomacro\MAMATRICEB[2]\MatBB
@@ -953,15 +955,15 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatE*\MatI-\MatH*\MatF)/\DETMATRICE}%
- \def\MatInvB{(-\MatB*\MatI+\MatC*\MatH)/\DETMATRICE}%
- \def\MatInvC{(\MatB*\MatF-\MatC*\MatE)/\DETMATRICE}%
- \def\MatInvD{(-\MatD*\MatI+\MatF*\MatG)/\DETMATRICE}%
- \def\MatInvE{(\MatA*\MatI-\MatC*\MatG)/\DETMATRICE}%
- \def\MatInvF{(-\MatA*\MatF+\MatD*\MatC)/\DETMATRICE}%
- \def\MatInvG{(\MatD*\MatH-\MatE*\MatG)/\DETMATRICE}%
- \def\MatInvH{(-\MatA*\MatH+\MatB*\MatG)/\DETMATRICE}%
- \def\MatInvI{(\MatA*\MatE-\MatB*\MatD)/\DETMATRICE}%
+ \def\MatInvA{(\MatE*\MatI-\MatH*\MatF)/(\DETMATRICE)}%
+ \def\MatInvB{(-\MatB*\MatI+\MatC*\MatH)/(\DETMATRICE)}%
+ \def\MatInvC{(\MatB*\MatF-\MatC*\MatE)/(\DETMATRICE)}%
+ \def\MatInvD{(-\MatD*\MatI+\MatF*\MatG)/(\DETMATRICE)}%
+ \def\MatInvE{(\MatA*\MatI-\MatC*\MatG)/(\DETMATRICE)}%
+ \def\MatInvF{(-\MatA*\MatF+\MatD*\MatC)/(\DETMATRICE)}%
+ \def\MatInvG{(\MatD*\MatH-\MatE*\MatG)/(\DETMATRICE)}%
+ \def\MatInvH{(-\MatA*\MatH+\MatB*\MatG)/(\DETMATRICE)}%
+ \def\MatInvI{(\MatA*\MatE-\MatB*\MatD)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%version étoilée := moinsdevant
{%
@@ -993,7 +995,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\itemtomacro\MAMATRICEA[2,1]\MatC
\itemtomacro\MAMATRICEA[2,2]\MatD
%le déterminant
- \def\DETMATRICE{\xinteval{\MatA*\MatD-\MatB*\MatC}}%
+ \def\DETMATRICE{\xinteval{(\MatA)*(\MatD)-(\MatB)*(\MatC)}}%
%les coeffs de B
\itemtomacro\MAMATRICEB[1]\MatBA
\itemtomacro\MAMATRICEB[2]\MatBB
@@ -1001,19 +1003,19 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
\xintifboolexpr{\DETMATRICE == 0}%
{\text{Matrice non inversible}}%
{%
- \def\MatInvA{(\MatD)/\DETMATRICE}%
- \def\MatInvB{(-\MatB)/\DETMATRICE}%
- \def\MatInvC{(-\MatC)/\DETMATRICE}%
- \def\MatInvD{(\MatA)/\DETMATRICE}%
+ \def\MatInvA{(\MatD)/(\DETMATRICE)}%
+ \def\MatInvB{(-\MatB)/(\DETMATRICE)}%
+ \def\MatInvC{(-\MatC)/(\DETMATRICE)}%
+ \def\MatInvD{(\MatA)/(\DETMATRICE)}%
%
\IfBooleanTF{#1}%
{%
- \def\MatResA{\ConvVersFrac*[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}%
- \def\MatResB{\ConvVersFrac*[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}%
+ \def\MatResA{\ConvVersFrac*[#2]{(\MatInvA)*(\MatBA)+(\MatInvB)*(\MatBB)}}%
+ \def\MatResB{\ConvVersFrac*[#2]{(\MatInvC)*(\MatBA)+(\MatInvD)*(\MatBB)}}%
}%
{%
- \def\MatResA{\ConvVersFrac[#2]{\MatInvA*\MatBA+\MatInvB*\MatBB}}%
- \def\MatResB{\ConvVersFrac[#2]{\MatInvC*\MatBA+\MatInvD*\MatBB}}%
+ \def\MatResA{\ConvVersFrac[#2]{(\MatInvA)*(\MatBA)+(\MatInvB)*(\MatBB)}}%
+ \def\MatResB{\ConvVersFrac[#2]{(\MatInvC)*(\MatBA)+(\MatInvD)*(\MatBB)}}%
}%
\IfStrEq{#6}{Matrice}%si matrice
{%
@@ -1442,7 +1444,7 @@ def etat_prob_DD(AA,BB,a,b,c,d,puiss) :
}%
}{}%
\begin{pNiceMatrix}[#3]
- \MatResA & \MatResB & \MatResC \\ \MatResD & \MatResE & \MatResF \\ \MatResG & \MatResH & \MatResI
+ \MatResA & \MatResB & \MatResC \\ \MatResD & \MatResE & \MatResF \\ \MatResG & \MatResH & \MatResI
\end{pNiceMatrix}%
}{}%fin 3,3*3,3
\xintifboolexpr{\NbLigMatA==1 'and' \NbColMatA==4 'and' \NbLigMatB==4 'and' \NbColMatB==1}% (1,4)*(4,1)
diff --git a/macros/latex/contrib/responsive/README b/macros/latex/contrib/responsive/README
index dc2953cb54..c6ed3ea7ea 100644
--- a/macros/latex/contrib/responsive/README
+++ b/macros/latex/contrib/responsive/README
@@ -1,6 +1,6 @@
The Responsive Package
-Version 0.1
+Version v0.1a
Change font sizes and other typographic details in LaTeX documents depending on
the page dimensions.
@@ -21,7 +21,7 @@ elements for various output formats and devices. Key features include:
- Line Spacing Control: adjust line spacing determining the x-height percentage
for enhanced readability.
-Copyright: 2023-2023 Michal Hoftich
+Copyright: 2023-2024 Michal Hoftich
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/responsive/responsive-doc.pdf b/macros/latex/contrib/responsive/responsive-doc.pdf
index 1e7245c04f..498fcac9bb 100644
--- a/macros/latex/contrib/responsive/responsive-doc.pdf
+++ b/macros/latex/contrib/responsive/responsive-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/responsive/responsive-doc.tex b/macros/latex/contrib/responsive/responsive-doc.tex
index 4272397e3e..e5e5b3f074 100644
--- a/macros/latex/contrib/responsive/responsive-doc.tex
+++ b/macros/latex/contrib/responsive/responsive-doc.tex
@@ -22,7 +22,7 @@
\usepackage{booktabs}
\usepackage[style=iso-authoryear]{biblatex}
\addbibresource{responsive-doc.bib}
-\newenvironment{changelog}{\longtable{@{} l p{30em}}}{\endlongtable}
+\newenvironment{changelog}{\longtable{@{} l p{20em}}}{\endlongtable}
\newcommand\change[2]{#1 & #2\\}
\ifdefined\HCode
% I want to convert parts of the document to images,
@@ -525,6 +525,9 @@ under the terms of the \LaTeX\ Project Public License, version 1.3.
\section{Changes}
\begin{changelog}
+ \change{2024-07-14}{Version 0.1a released}
+ \change{2024-03-16}{Set the \texttt{topmargin} dimension}
+ \change{}{Call Geometry's \texttt{\textbackslash Gm@process} command to fix page dimensions, if Geometry is loaded}
\change{2023-12-13}{Version 0.1 released.}
\change{}{Finished documentation.}
\change{2023-12-07}{Added the \texttt{lineheight} property.}
diff --git a/macros/latex/contrib/responsive/responsive.sty b/macros/latex/contrib/responsive/responsive.sty
index 65e5061f45..289f04ca8b 100644
--- a/macros/latex/contrib/responsive/responsive.sty
+++ b/macros/latex/contrib/responsive/responsive.sty
@@ -3,7 +3,7 @@
\RequirePackage{expl3,l3keys2e}
\RequirePackage{kvoptions}
\ProvidesExplPackage{responsive}
-{2023-12-15}{0.1}{Responsive design for LaTeX}
+{2024-07-14}{v0.1a}{Responsive design for LaTeX}
%%%%%%%%%%%%%%%%%%%%%%
% keyval processing %
@@ -168,6 +168,10 @@
\@setfontsize#1{\resp_multiply_note:nnn\resp_font_size{#2}{1}}{\resp_multiply_note:nnn\resp_line_skip{#2}{\l_resp_lineheight_multiplier}}
}
+% This is a dummy definition. It should restore page dimensions using the Geometry package if it is loaded.
+% The correct definition is added in \AtBeginDocument
+\cs_set:Npn\resp_reset_geometry{}
+
% recalculate \textheight and \headheight with the changed font size
% this is necessary to prevent the underfull \vbox messages from the output rutine
\cs_set:Npn\resp_textheight:n {
@@ -182,6 +186,9 @@
\setlength\headheight{\resp_font_size}
\setlength\headsep {1.5\resp_font_size}
\setlength\footskip{\fp_to_dim:n{2*\resp_font_size+1}}
+ \setlength\topmargin{\fp_to_dim:n{(\paperheight-\textheight -\headheight-\headsep-\footskip)/2 - 1in}}
+ \resp_reset_geometry
+ % \addtolength\topmargin{\topskip}
}
% the functionality to fix the textheight should be available as a document command
@@ -355,6 +362,9 @@
% setup font sizes at the begin document, in order to support Geometry etc.
\AtBeginDocument{
+ \@ifpackageloaded{geometry}{
+ \cs_set:Npn\resp_reset_geometry{\Gm@process}
+ }{}
% set the default font size, based on numbers of characters we want to show on a line of text
% \fonttobox[32]\textwidth{\tl_range:Nnn\l_resp_charlist_tl{1}{\l_resp_charlines_int}}%
\bool_if:NTF\l_resp_no_execute {}{
diff --git a/macros/latex/contrib/rub-kunstgeschichte/README.md b/macros/latex/contrib/rub-kunstgeschichte/README.md
new file mode 100644
index 0000000000..4d8ac8c06a
--- /dev/null
+++ b/macros/latex/contrib/rub-kunstgeschichte/README.md
@@ -0,0 +1,11 @@
+# `rub-kunstgeschichte` - Class for the art history institute at Ruhr University Bochum
+
+A LaTeX class implementing the guidelines on scientific writing of the art history institute "KGI" (Kunstgeschichtliches Institut) at Ruhr University Bochum.
+
+## Author
+
+This package is maintained by Joran Schneyer: [joran.schneyer@ruhr-uni-bochum.de](mailto:joran.schneyer@ruhr-uni-bochum.de)
+
+## License
+
+Released under the LaTeX Project Public License v1.3c or later. See https://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte-example.pdf b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte-example.pdf
new file mode 100644
index 0000000000..891c9e8e97
--- /dev/null
+++ b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.dtx b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.dtx
new file mode 100644
index 0000000000..5423d5babe
--- /dev/null
+++ b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.dtx
@@ -0,0 +1,192 @@
+% \iffalse meta-comment
+%
+% File: rub-kunstgeschichte.dtx
+% Copyright (C) 2024 by Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>.
+%
+% This work consists of the files rub-kunstgeschichte.dtx
+% rub-kunstgeschichte.ins
+% and the derived files rub-kunstgeschichte.cls
+% rub-kunstgeschichte-example.tex
+%
+% \fi
+
+% \iffalse
+%<*driver>
+\ProvidesFile{rub-kunstgeschichte.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+%<class>\ProvidesClass{rub-kunstgeschichte}
+%<*class>
+ [2024-05-26 v0.1.0 RUB KGI class]
+%</class>
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+%^^A Document general changes here
+% \changes{v0.1.0}{2024-05-26}{Initial version}
+%
+% \GetFileInfo{\jobname.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+% \DoNotIndex{\begin,\end}
+%
+%^^A define helper commands for consistent typesetting in the documentation
+% \def\env{\texttt}
+% \def\opt{\texttt}
+% \def\cls{\textsf}
+% \def\pkg{\textsf}
+% \def\prg{\textsf}
+% \DeclareDocumentCommand\email{m}{\href{mailto:#1}{\nolinkurl{#1}}}
+%
+% \title{The \cls{\jobname} class^^A
+% \thanks{This document corresponds to \pkg{\jobname}~\fileversion,
+% dated \filedate.}}
+% \author{\copyright{} Joran Schneyer^^A
+% \thanks{Released under the LaTeX Project Public License v1.3c or later.^^A
+% \\ See \url{https://www.latex-project.org/lppl.txt}}^^A
+% \\ \email{joran.schneyer@ruhr-uni-bochum.de}}
+% \date{\filedate}
+%
+% \maketitle
+%
+% \section{Introduction}\label{sec:introduction}
+%
+% This \LaTeX{} class aims to implement the guidelines on scientific writing of the art history institute (Kunstgeschichtliches Institut - short: KGI) at Ruhr University Bochum.^^A
+% \footnote{Guidelines version July 2023 \url{https://kgi.ruhr-uni-bochum.de/wp-content/uploads/2023/04/Anleitung-zum-Erstellen-von-Hausarbeiten-im-Fach-Kunstgeschichte_Fassung-Juli-2023.pdf}}
+%
+% Note, that at this point this is not an official class made by anyone at the institute but rather a free-time hobby project of me, Joran, who knows \LaTeX{} from studying Electrical Engineering and just wants to help out some friends studying art history.
+%
+% You can find the latest releases and the development of this project at GitHub: \url{https://github.com/rub-kgi/rub-kunstgeschichte-latex}
+%
+% \section{Usage}\label{sec:usage}
+%
+% To use this class, simply specify it as the document class.^^A
+% \footnote{You can also find a complete example usage of this class in \autoref{sec:example}.}
+% \begin{verbatim}
+% \documentclass{rub-kunstgeschichte}
+% \end{verbatim}
+%
+% \StopEventually{}
+%
+% \clearpage
+% \appendix
+%
+% \section{Implementation}\label{sec:implementation}
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \subsection{Base class}\label{sec:implementation:base-class}
+% The \cls{\jobname} class is based on the \cls{article} class.
+% When loading the class we specify \texttt{12pt} as the base font size, as required by the guidelines.
+% \iffalse
+%% Load base class with 12pt base font size
+% \fi
+% \begin{macrocode}
+\LoadClass[12pt]{article}
+% \end{macrocode}
+%
+% \subsection{Loading packages}\label{sec:implementation:package-loading}
+%
+% \paragraph{Line spacing}
+% To achieve 1.5 times line spacing as required by the guidelines,
+% we simply load the package \pkg{setspace} with the \opt{onehalfspacing} option.
+% \iffalse
+%% Set 1.5 times line spacing
+% \fi
+% \begin{macrocode}
+\RequirePackage[onehalfspacing]{setspace}
+% \end{macrocode}
+%
+% \paragraph{Margins}
+% The guidelines require 2cm top, left and bottom margins as well as a 4cm correction margin on the right side.
+% Furthermore A4 paper is the standard page size here.
+% \iffalse
+%% Set a4 paper size and margins
+% \fi
+% \begin{macrocode}
+\RequirePackage[
+ a4paper,
+ top=2cm,left=2cm,bottom=2cm,right=4cm
+]{geometry}
+% \end{macrocode}
+%
+% \iffalse
+%</class>
+%<*example>
+% \fi
+%
+% \section{Example}\label{sec:example}
+%
+% To further exemplify the use of this class,
+% we create an example .tex file.
+% The full \texttt{rub-kunstgeschichte-example.tex} and the corresponding \texttt{rub-kunstgeschichte-example.pdf} are available on GitHub.^^A
+% \footnote{\url{https://github.com/rub-kgi/rub-kunstgeschichte-latex/releases}}
+%
+% Let's examine the contents of this example .tex file step by step
+% to highlight features of this class that were used.
+%
+% First, the \cls{rub-kunstgeschichte} class is loaded
+% \iffalse
+%% Load the rub-kunstgeschichte class
+% \fi
+% \begin{macrocode}
+\documentclass{rub-kunstgeschichte}
+% \end{macrocode}
+% \iffalse
+
+% \fi
+%
+% and then the information needed to typeset a title is given:
+% \begin{macrocode}
+\title{Example usage of the \textsf{rub-kunstgeschichte} class}
+\author{Joran Schneyer}
+% \end{macrocode}
+%
+% Naturally, we begin the document environment and typeset the title
+% \begin{macrocode}
+\begin{document}
+ \maketitle
+% \end{macrocode}
+%
+% Next we need some text to show some features.
+% The text in the example itself will explain the features used.
+% \begin{macrocode}
+ Here is some text.
+ Note, how the typeset text has 12pt font size as specified
+ and there is a 1.5 times line-spacing present.
+% \end{macrocode}
+%
+% Finally we end the document environment
+% \begin{macrocode}
+\end{document}
+% \end{macrocode}
+% \iffalse
+
+%</example>
+% \fi
+%
+% \Finale \ No newline at end of file
diff --git a/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.ins b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.ins
new file mode 100644
index 0000000000..32ba943f7f
--- /dev/null
+++ b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.ins
@@ -0,0 +1,70 @@
+\iffalse meta-comment
+
+File: rub-kunstgeschichte.ins
+Copyright (C) 2024 by Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>.
+
+This work consists of the files rub-kunstgeschichte.dtx
+ rub-kunstgeschichte.ins
+ and the derived files rub-kunstgeschichte.cls
+ rub-kunstgeschichte-example.tex
+
+\fi
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/rub-kunstgeschichte}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Joran Schneyer <joran.schneyer@ruhr-uni-bochum.de>.
+
+This work consists of the files rub-kunstgeschichte.dtx
+ rub-kunstgeschichte.ins
+ and the derived files rub-kunstgeschichte.cls
+ rub-kunstgeschichte-example.tex
+
+\endpreamble
+
+\generate{\file{rub-kunstgeschichte.cls}{\from{rub-kunstgeschichte.dtx}{class}}}
+\generate{\file{rub-kunstgeschichte-example.tex}{\from{rub-kunstgeschichte.dtx}{example}}}
+
+\obeyspaces
+\Msg{*********************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* rub-kunstgeschichte.cls *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file rub-kunstgeschichte.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{*********************************************************************}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.pdf b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.pdf
new file mode 100644
index 0000000000..98614bb733
--- /dev/null
+++ b/macros/latex/contrib/rub-kunstgeschichte/rub-kunstgeschichte.pdf
Binary files differ
diff --git a/macros/latex/contrib/scontents/README.md b/macros/latex/contrib/scontents/README.md
index 95b0291960..b3424b02e6 100644
--- a/macros/latex/contrib/scontents/README.md
+++ b/macros/latex/contrib/scontents/README.md
@@ -1,6 +1,6 @@
## scontents — Stores LaTeX contents in memory or files
-Release v2.0 \[2022-04-04\]
+Release v2.1 \[2024-06-14\]
## Description
@@ -13,7 +13,7 @@ or show it in <code>&lt;verbatim style&gt;</code>.
The package loads and depends on updated versions of:
- [expl3](https://ctan.org/pkg/expl3)
-- [l3keys2e](https://ctan.org/pkg/l3keys2e)
+- [latex-base](https://www.ctan.org/pkg/latex-base)
## Installation
@@ -68,4 +68,4 @@ conditions of the [LaTeX Project Public License](https://www.latex-project.org/l
## Author and copyright
-Copyright 2019-2022 by Pablo González L.
+Copyright 2019-2023 by Pablo González L.
diff --git a/macros/latex/contrib/scontents/scontents.dtx b/macros/latex/contrib/scontents/scontents.dtx
index d82fec48c0..e7dd0b4e1a 100644
--- a/macros/latex/contrib/scontents/scontents.dtx
+++ b/macros/latex/contrib/scontents/scontents.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
-% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+% Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3c of this license or (at
% your option) any later version. The latest version of this license is in
%
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
%
% and version 1.3c or later is part of all distributions of LaTeX version
% 2005/12/01 or later.
@@ -32,6 +32,7 @@
% so that entries written to both streams end up in the same file.
\usepackage[english]{babel}
\usepackage[top=0.5in,bottom=0.3in,left=2in,right=0.7in,footskip=0.2in,headheight=1cm,headsep=0.27cm]{geometry}
+\usepackage[llscaled=0.95]{libertine} % need by setup-texlive-action@v3
\usepackage[osf,nomath,mono=false,ScaleSF=0.95,ScaleRM=0.95]{libertinus-otf}
% Set Monospace font, fix 'quotes' in verbatim
\usepackage{sourcecodepro}
@@ -64,7 +65,7 @@
% a letter `j'. The doc package ensures that mathcode and the | actually prints
% a j inside docstrip guards. This changes the mathcode of | to 07C:
\makeatletter
-\def\mod@math@codes{\mathcode`\|="207C \mathcode`\&="2026
+\def\mod@math@codes{\mathcode`\|="207C \mathcode`\&="2026 %
\mathcode`\-="702D \mathcode`\+="702B
\mathcode`\:="703A \mathcode`\=="703D }
\makeatother
@@ -73,7 +74,7 @@
\newfontfamily\fetamontotf{ffmw10.otf}[
Scale = 0.95,%
RawFeature = {+latn,+rand,+kern,+size},%
- FontFace = {b}{n}{ffmw10.otf},% fix raplece font
+ FontFace = {b}{n}{ffmw10.otf},% fix replace font
]
\usepackage[svgnames]{xcolor}
\usepackage[sf,bf,compact,medium,pagestyles]{titlesec}
@@ -173,7 +174,7 @@
% User level commands
\ExplSyntaxOn
% Logo with fetamont font
-\NewDocumentCommand{\pkglogo}{}
+\NewDocumentCommand \pkglogo {}
{
\group_begin:
\fetamontotf{\textcolor{pkgcolor}{s}\textcolor{OrangeRed}{content}\textcolor{pkgcolor}{s}}
@@ -181,15 +182,15 @@
}
% Custom \meta[...]{...}, \marg[...]{...} and \oarg[...]{...} with color
-\NewDocumentCommand{\mymeta}{O{}m}
+\NewDocumentCommand \mymeta {O{}m}
{
\userdoc_meta_generic:Nnn \userdoc_meta:n { #1 } { #2 }
}
-\NewDocumentCommand{\mymarg}{O{}m}
+\NewDocumentCommand \mymarg {O{}m}
{
\userdoc_meta_generic:Nnn \userdoc_marg:n { #1 } { #2 }
}
-\NewDocumentCommand{\myoarg}{O{}m}
+\NewDocumentCommand \myoarg {O{}m}
{
\userdoc_meta_generic:Nnn \userdoc_oarg:n { #1 } { #2 }
}
@@ -263,7 +264,7 @@
}
% \envexamp{m}
\newsavebox{\boxexaenv}
-\NewDocumentCommand{\envexamp}{m}
+\NewDocumentCommand \envexamp {m}
{
\begin{lrbox}{\boxexaenv}%
\begin{minipage}[t]{\marginparwidth}%
@@ -276,7 +277,7 @@
\end{lrbox}%
\usebox{\boxexaenv}
}
-\NewDocumentCommand{\envexaplain}{O{} m O{end}}
+\NewDocumentCommand \envexaplain {O{} m O{end}}
{
\begin{lrbox}{\boxexaenv}%
\begin{minipage}[t]{\marginparwidth}%
@@ -291,7 +292,7 @@
}
% \cmdexamp{s m o m o}
-\DeclareDocumentCommand{\cmdexamp}{o m o m o}
+\DeclareDocumentCommand \cmdexamp {o m o m o}
{
\group_begin:
\small\ttfamily
@@ -309,57 +310,62 @@
\group_end:
}
-% \keyexamp{mmm}
-\DeclareDocumentCommand{\keyexamp}{ m m m }
+% \keyexamp*{m m m}
+\NewDocumentCommand \keyexamp{s m m m }
{
- \par
- \adjustbox{outer=-\marginparsep}{\textcolor{black}{\small\ttfamily{#1}}}
- \textcolor{gray}{\,\bfseries\texttt{=}}\,{}
- \mymarg[type=tt,cbc=gray,ac=lightgray,cf=optcolor]{\small{#2}}
- \hfill\textcolor{gray}{\small\textsf{default}:~\emph{#3}}
- \par
- \MYSortIndex{Keys}{Keys>\texttt{#1}}%
+ \adjustbox{outer=-\marginparsep}{\textcolor{optcolor}{\small\ttfamily{#2}}}
+ \IfBooleanTF{#1}
+ {
+ \hphantom{\textcolor{white}{\,\bfseries\texttt{=}}\,{}}
+ \mymeta[type=tt,cbc=gray,ac=lightgray,cf=lightgray]{\small{#3}}
+ }
+ {
+ \textcolor{gray}{\,\bfseries\texttt{=}}\,{}
+ \mymarg[type=tt,cbc=gray,ac=lightgray,cf=optcolor]{\small{#3}}
+ }
+ \hfill\textcolor{gray}{\small\textsf{default}:~\emph{#4}}\par%
+ \MYSortIndex{Keys}{Keys ~ provide ~ by ~ \pkglogo :>\texttt{#2}}
}
% \mykey{m}
-\DeclareDocumentCommand{\mykey}{ m }
+\NewDocumentCommand \mykey { m }
{
\textcolor{optcolor}{\texttt{#1}}
- \MYSortIndex{Keys}{Keys>\texttt{#1}}%
+ \MYSortIndex{Keys}{Keys ~ provide ~ by ~\pkglogo :>\texttt{#1}}%
}
% \mypkg{sm}
-\NewDocumentCommand{\mypkg}{sm}
+\NewDocumentCommand \mypkg {sm}
{
\group_begin:
\IfBooleanTF{#1}
{
\pkglogo
- \MYSortIndex{packages}{Packages>\texttt{#2}}
+ \MYSortIndex{packages}{Packages:>\texttt{#2}}
}
{
\textcolor{darkgray}{\textsf{#2}}
- \MYSortIndex{packages}{Packages>\texttt{#2}}%
+ \MYSortIndex{packages}{Packages:>\texttt{#2}}%
}
\group_end:
}
% \myenv{sm}
-\DeclareDocumentCommand{\myenv}{sm}
+\NewDocumentCommand \myenv {sm}
{
\IfBooleanTF{#1}
{
\textcolor{pkgcolor}{\ttfamily{#2}}%
- \MYSortIndex{environment}{ Environment ~ provide ~ by ~\pkglogo :>\texttt{#2}}
+ \MYSortIndex{environment}{Environments ~ provide ~ by ~\pkglogo :>\texttt{#2}}
}
{
\textcolor{darkgray}{\ttfamily{#2}}%
- \MYSortIndex{environment}{Environments>\texttt{#2}}
+ \MYSortIndex{environment}{Environments:>\texttt{#2}}
}
}
% \ics{sm}
-\DeclareDocumentCommand{\ics}{sm}
+\NewDocumentCommand \ics {sm}
{
\IfBooleanTF{#1}
{
@@ -373,6 +379,27 @@
\MYSortIndex{#2}{\texttt{\textbackslash#2}}
}
}
+% \bomba
+\NewDocumentCommand \bomba { }
+ {
+ \par\hspace*{-0.5\marginparsep}%
+ \makebox[0pt][r]
+ {
+ \makebox[\marginparsep][r]
+ {
+ \footnotesize\textcolor{pkgcolor}{\faIcon{bomb}}
+ }
+ }
+ \hskip 0.5\marginparsep
+ }
+\NewDocumentEnvironment{important}{ s }
+ {
+ \sffamily
+ \bomba%
+ \IfBooleanTF{#1}
+ { \small }
+ { \color{OrangeRed}\Large }
+ }{}
\ExplSyntaxOff
% email https://tex.stackexchange.com/a/663
@@ -429,7 +456,7 @@
keywords = [3]{document,article,setlength,pagestyle,definecolor},%
% Reserved words 4 (scontents pkg)
keywordstyle = [4]{\color{pkgcolor}},%
- keywords = [4]{scontents,Scontents,getstored,typestored,verbatimsc,%
+ keywords = [4]{scontents,Scontents,getstored,typestored,verbatimsc, mergesc, %
endverbatimsc,countsc,meaningsc,foreachsc,macros,newenvsc,
endscontents,startscontents,stopscontents,scontents.tex},%
% Reserved words 5 (in red)
@@ -483,7 +510,7 @@
{.8}{{\textcolor{MediumOrchid}{.8}}}{2}
{.9}{{\textcolor{MediumOrchid}{.9}}}{2}
{=}{{\textcolor{gray}{=}}}{1},%
-}[keywords,tex,comments,strings]% end languaje
+}[keywords,tex,comments,strings]% end language
% \begin{examplecode}[key=val]...\end{examplecode}
\lstnewenvironment{examplecode}[1][]{%
@@ -550,7 +577,7 @@
}
\setfoot{\rlap{\hskip\dimexpr-\oddsidemargin-1in\relax%
\parbox{1.93\paperwidth}{\hfil\thepage\,/\,\pageref{LastPage}}}}%
- {\parbox{\textwidth}{\raggedright \textcolor{gray}{\raisebox{-1pt}{\textcopyright}{}2019--2022 by Pablo González}}}%
+ {\parbox{\textwidth}{\raggedright \textcolor{gray}{\raisebox{-1pt}{\textcopyright}{}2019--2024 by Pablo González}}}%
{}%
\sethead{\llap{\raisebox{0.55cm}{\parbox{\dimexpr\oddsidemargin+1in\relax}{\makebox[0pt][l]{\hspace{15pt}\pkglogo\space\fileversion}}}}}
{\raisebox{0.55cm}{\parbox{\textwidth}{\hspace*{-\oddsidemargin}\centering\small\S.\thesection\space\sectiontitle}}}%
@@ -605,7 +632,7 @@
% \filedate.}\\[25pt]
% \author{
% \large
-% \raisebox{-1pt}{\textcopyright}{}2019--2022 by Pablo González\thanks{
+% \raisebox{-1pt}{\textcopyright}{}2019--2024 by Pablo González\thanks{
% E-mail: \textcolor{OrangeRed}{\textsf{\guillemotleft}}\email{pablgonz@educarchile.cl}\textcolor{OrangeRed}{\textsf{\guillemotright}}.
% }%
% }
@@ -628,6 +655,10 @@
%
% \tableofcontents
%
+% \begin{important}
+% The next update removes compatibility with versions prior to 2024.
+% \end{important}
+%
% \setlength{\parskip}{3pt}
%
% \section{Description of the package}
@@ -681,12 +712,14 @@
%
% Permission is granted to copy, distribute and/or modify this software under
% the terms of the LaTeX Project Public License (lppl), version 1.3 or later
-% (\url{http://www.latex-project.org/lppl.txt}). The software has the status
+% (\url{https://www.latex-project.org/lppl.txt}). The software has the status
% \enquote{maintained}.
%
-% The \mypkg*{scontents} package loads \mypkg{expl3} (minimum version 2020-02-08) and
-% \mypkg{l3keys2e}. This package can be used with "plain", "context", "xelatex",
-% "lualatex", "pdflatex" and the classical workflow §latex>dvips>ps2pdf§.
+% The The \mypkg*{scontents} package is written (mostly) using
+% \mypkg{expl3}, it requires an updated version of \LaTeX{} to work
+% (minimum version 2022-06-01). This package can be used with "plain",
+% "context", "xelatex", "lualatex", "pdflatex" and the classical workflow
+% §latex>dvips>ps2pdf§.
%
% \section{The \texttt{scontents} package}
% \label{sec:pkgscontents}
@@ -772,6 +805,10 @@
%</example>
% \fi
%
+% \begin{important}*
+% \hologo{ConTeXt} users should use |-luatex|, the implementation does not support LuaMetaTeX.
+% \end{important}
+%
% \subsection{The TAB character}
% \label{sec:tabcharacter}
%
@@ -984,6 +1021,7 @@ This text is in the outer environment (after nested).
% \envexaplain[start]{scontents}[stop]
% \end{syntax}
% \end{function}
+%
% \subsection*{Options for environment}
%
% The environment options can be configured globally using option
@@ -1184,45 +1222,43 @@ This text is in the outer environment (after nested).
% on the contents stored in \mymarg{seq name}. If you pass without options run
% §\getstored§ on all contents stored in \mymarg{seq name}.
%
-% \subsection*{Options for command}
+% \subsubsection*{Options for command}
% \label{sec:optcmdfor}
%
% \keyexamp{sep}{code}{empty}
-% Establishes the separation between each content stored in \mymarg{seq name}.
+% Establishes the separation between each content stored in \mymarg[type=tt]{seq name}.
% For example, you can use §sep={\\[10pt]}§ for vertical separation of stored
% contents.
%
% \keyexamp{step}{integer}{1}
% Sets the increment (\mymeta{step}) applied to the value set by key §start§
-% for each element stored in the \mymarg{seq name}. The value must be a
+% for each element stored in the \mymarg[type=tt]{seq name}. The value must be a
% \mymeta{positive integer}.
%
% \keyexamp{start}{integer}{1}
-% Sets the \mymeta{index} number of the \mymarg{seq name} from which execution
+% Sets the \mymeta{index} number of the \mymarg[type=tt]{seq name} from which execution
% will start. The value must be a \mymeta{positive integer}.
%
% \keyexamp{stop}{integer}{total}
-% Sets the \mymeta{index} number of the \mymarg{seq name} from which execution
+% Sets the \mymeta{index} number of the \mymarg[type=tt]{seq name} from which execution
% it will finish executing. The value must be a \mymeta{positive integer}.
%
% \keyexamp{before}{code}{empty}
-% Sets the \mymarg{code} that will be executed \mymeta{before} each content stored
-% in \mymarg{seq name}. The \mymarg{code} must be passed between braces.
-%
-% \medskip
+% Sets the \mymarg[type=tt]{code} that will be executed \mymeta{before} each content stored
+% in \mymarg[type=tt]{seq name}. The \mymarg[type=tt]{code} must be passed between braces.
%
% \keyexamp{after}{code}{empty}
-% Sets the \mymarg{code} that will be executed \mymeta{after} each content stored
-% in \mymarg{seq name}. The \mymarg{code} must be passed between braces.
+% Sets the \mymarg[type=tt]{code} that will be executed \mymeta{after} each content stored
+% in \mymarg[type=tt]{seq name}. The \mymarg[type=tt]{code} must be passed between braces.
%
% \newsavebox{\hashbox}
% \begin{lrbox}{\hashbox}
-% \lstinline[language=scontents-doc,basicstyle=\ttfamily]+{#1}+
+% \lstinline[language=scontents-doc,basicstyle=\small\ttfamily]+{#1}+
% \end{lrbox}
%
% \keyexamp{wrapper}{code{} \space\usebox{\hashbox} more code}{empty}
-% Wraps the content stored in \mymarg{seq name} referenced by §{#1}§.
-% The \mymarg{code} must be passed between braces. For example
+% Wraps the content stored in \mymarg[type=tt]{seq name} referenced by §{#1}§.
+% The \mymarg[type=tt]{code} must be passed between braces. For example
% §\foreachsc[wrapper={\makebox[1em][l]{#1}}]{contents}§.
%
%
@@ -1233,17 +1269,51 @@ This text is in the outer environment (after nested).
%
% \begin{function}{\typestored}
% \begin{syntax}
-% \cmdexamp{typestored}[index\textnormal{\textcolor{gray}{,}} width-tab \textnormal{\textcolor{gray}{=}} number]{seq name}
+% \cmdexamp{typestored}[index\textnormal{\textcolor{gray}{,}} 1-end\textnormal{\textcolor{gray}{,}} width-tab \textnormal{\textcolor{gray}{=}} number]{seq name}
% \end{syntax}
% The command \ics*{typestored} internally places the content stored in
-% the \mymarg{seq name} into the \myenv*{verbatimsc} environment. The \mymeta{index}
-% corresponds to the position in which the content is stored in the \mymarg{seq name}.
+% the \mymarg[type=tt]{seq name} into the \myenv*{verbatimsc} environment. The \mymeta{index}
+% corresponds to the position in which the content is stored in the \mymarg[type=tt]{seq name},
+% if \mymeta[type=tt]{1-end} is used \emph{\enquote{all}} content stored in \mymarg[type=tt]{seq name} will be printed.
% \end{function}
%
% If the optional argument is not passed it defaults to the first element
-% stored in the \mymarg{seq name}. The key \mykey{width-tab} is available for
+% stored in the \mymarg[type=tt]{seq name}. The key \mykey{width-tab} is available for
% this command.
%
+% \subsection{The command \cs{mergesc}}
+% \label{sec:mergesc}
+%
+% \vspace*{-10pt}
+%
+% \newsavebox{\argmergesc}
+% \begin{lrbox}{\argmergesc}
+% \small\mymarg[type=tt]{seq A}\myoarg[type=tt]{index}\textcolor{gray}{, }\mymarg[type=tt]{seq B}\myoarg[type=tt]{start \textcolor{gray}{-} stop}\textcolor{gray}{, }\mymarg[type=tt]{seq C}\myoarg[type=tt]{1-end}
+% \end{lrbox}
+%
+% \begin{function}{\mergesc}
+% \begin{syntax}
+% \cmdexamp{mergesc}[typestored \textnormal{\textcolor{lightgray}{\textbar}} meaningsc\textcolor{lightgray}{, }keys]{\usebox{\argmergesc}}
+% \end{syntax}
+% The command \ics*{mergesc} internally assembles the content stored in
+% the \mymarg[type=tt]{seq A}§[1]§, \mymarg[type=tt]{seq B}§[2-5]§ and \mymarg[type=tt]{seq C}§[1-end]§ into a temporary internal
+% \mymeta[type=tt]{seq temp}.
+% \end{function}
+%
+% The use of the keys \mykey{typestored} or \mykey{menaingsc} are
+% \emph{\enquote{mandatory}} and disjoint from each other, the rest of the
+% accepted \mymeta{keys} are \mykey{print-cmd}, \mykey{write-out},
+% \mykey{width-tab} and \mykey{overwrite}.
+%
+% The use of the \mykey{write-out} key with this command follows the same
+% rules already described, the main advantage is that it allows to join
+% stored content \emph{without rewriting} the file over and over again,
+% by design \hologo{TeX} does not have an append mode for writing
+% files, this effectively allows you to write chunks of code and then
+% merge them into a single file.
+%
+% \newpage
+%
% \subsection{The environment \env{verbatimsc}}
% \label{sec:verbatimsc}
%
@@ -1537,10 +1607,10 @@ seventies that the \NSA\ has known that for 40 years.\par
\usepackage{tikz}
\setlength{\parindent}{0pt}
\pagestyle{empty}
-\Scontents*{\matrix{ \node (a) {$a$} ; & \node (b) {$b$} ; \\ } ;}
-\Scontents*{\matrix[ampersand replacement=\&]
+\Scontents{\matrix{ \node (a) {$a$} ; & \node (b) {$b$} ; \\ } ;}
+\Scontents{\matrix[ampersand replacement=\&]
{ \node (a) {$a$} ; \& \node (b) {$b$} ; \\ } ;}
-\Scontents*{\matrix{\node (a) {$a$} ; & \node (b) {$b$} ; \\ } ; }
+\Scontents{\matrix{\node (a) {$a$} ; & \node (b) {$b$} ; \\ } ; }
\begin{document}
\section{tikzpicture}
\begin{tikzpicture}
@@ -1706,9 +1776,9 @@ Something in the whole course.
%<*example>
% \fi
\begin{scontents}[write-out=scexamp7.ltx]
-\documentclass{article}
% arara: pdflatex
% arara: clean: { extensions: [ aux, log] }
+\documentclass{article}
\usepackage{scontents}
\makeatletter
\let\verbatimsc\@undefined
@@ -1728,20 +1798,20 @@ breakaftersymbolpre={\,\tiny\ensuremath{\rfloor}}]}%
\setlength{\parindent}{0pt}
\pagestyle{empty}
\begin{document}
-\section{Test \texttt{\textbackslash begin\{scontents\}} whit \texttt{fancyvrb}}
+\section{Test \texttt{\textbackslash begin\{scontents\}} with \texttt{fancyvrb}}
Test \verb+{scontents}+ \par
\begin{scontents}
Using \verb+scontents+ env no \verb+[key=val]+, save in seq \verb+contents+
with index 1.
-Prove new \Verb*{ fancyvrb whit braces } and environment \verb+Verbatim*+
+Prove new \Verb*{ fancyvrb with braces } and environment \verb+Verbatim*+
\begin{verbatim}
verbatim environment
\end{verbatim}
\end{scontents}
-\section{Test \texttt{\textbackslash Scontents} whit \texttt{fancyvrb}}
+\section{Test \texttt{\textbackslash Scontents} with \texttt{fancyvrb}}
\Scontents{ We have coded this in \LaTeX: $E=mc^2$.}
\section{Test \texttt{\textbackslash getstored}}
@@ -1798,7 +1868,7 @@ Prove new \Verb*{ fancyvrb whit braces } and environment \verb+Verbatim*+
\setlength{\parindent}{0pt}
\pagestyle{empty}
\begin{document}
-\section{Test \texttt{\textbackslash begin\{scontents\}} whit \texttt{listings}}
+\section{Test \texttt{\textbackslash begin\{scontents\}} with \texttt{listings}}
Test \verb+{scontents}+ \par
\begin{scontents}
@@ -1810,7 +1880,7 @@ Prove \lstinline[basicstyle=\ttfamily]| lstinline | and environment \verb+Verbat
\end{verbatim}
\end{scontents}
-\section{Test \texttt{\textbackslash Scontents*} whit \texttt{listings}}
+\section{Test \texttt{\textbackslash Scontents*} with \texttt{listings}}
\Scontents*+ We have coded this in \lstinline[basicstyle=\ttfamily]|\LaTeX: $E=mc^2$|
and more.+
@@ -1852,14 +1922,14 @@ and more.+
\pagestyle{empty}
\setlength{\parindent}{0pt}
\begin{document}
-\section{Test \texttt{\textbackslash begin\{scontents\}} whit \texttt{minted}}
+\section{Test \texttt{\textbackslash begin\{scontents\}} with \texttt{minted}}
Test \verb+{scontents}+ \par
\begin{scontents}[overwrite,write-env=\jobname.tsc,force-eol=true]
Using \verb+scontents+ env no \verb+[key=val]+, save in seq \verb+contents+
with index 1.\par
-Prove new \Verb*{ new fvextra whit braces } and environment \verb+Verbatim*+
+Prove new \Verb*{ new fvextra with braces } and environment \verb+Verbatim*+
\begin{Verbatim}[obeytabs, showtabs, tab=\rightarrowfill, tabcolor=red]
No tab
One real tab
@@ -1871,7 +1941,7 @@ No tab
Read \Verb{\jobname.tsc} (shows TABs as red arrows):
\VerbatimInput[obeytabs, showtabs, tab=\rightarrowfill, tabcolor=red]{\jobname.tsc}
-\section{Test \texttt{\textbackslash Scontents} whit \texttt{minted}}
+\section{Test \texttt{\textbackslash Scontents} with \texttt{minted}}
\Scontents{ We have coded \par this in \LaTeX: $E=mc^2$.}
@@ -1892,6 +1962,90 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \textattachfile[color=linkcolor,print=false]{scexamp9.ltx}{\faFile*[regular]}.
% \lstinputlisting[language=scontents-doc,numbers=left]{scexamp9.ltx}
%
+% \subsection{The command \texttt{\textbackslash{}mergesc} in action}
+%
+% \iffalse
+%<*example>
+% \fi
+\begin{scontents}[write-out=scexamp10.ltx]
+% arara: pdflatex
+% arara: clean: { extensions: [ aux, log] }
+\documentclass{article}
+\usepackage{scontents}
+% Fix part of a MCE that should go before babel's loading
+\begin{scontents}[store-env=mce]
+\documentclass[french]{article}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{lmodern}
+\usepackage[a4paper]{geometry}
+\end{scontents}
+% Fix part of a MCE that should go after (>=) babel's loading
+\begin{scontents}[store-env=mce]
+\usepackage{babel}
+\begin{document}
+\end{scontents}
+% Fix part of a MCE that should go after its body
+\begin{scontents}[store-env=mce]
+\end{document}
+\end{scontents}
+\begin{document}
+\section{First annswer}
+% Variable part of a MCE that should added to the fixed preamble, before babel's loading
+\begin{scontents}[store-env=mce-1]
+\usepackage{amsmath}
+\end{scontents}
+% Variable part of a MCE being the code snippet
+\begin{scontents}[store-env=mce-1]
+\begin{align}
+ 0 & \neq 1 \\
+ 1 & \neq 0
+\end{align}
+\end{scontents}
+\begin{description}
+\item[Preamble's addition]\leavevmode
+ \typestored[1]{mce-1}
+\item[Code snippet]\leavevmode
+ \typestored[2]{mce-1}
+\item[MCE]\leavevmode
+ \mergesc[typestored, print-cmd=true]
+ {
+ {mce}[1], {mce-1}[1], {mce}[2], {mce-1}[2], {mce}[3]
+ }
+\end{description}
+\section{Second annswer}
+% Variable part of a MCE that should added to the fixed preamble, before babel's loading
+\begin{scontents}[store-env=mce-2]
+\usepackage{amsmath}
+\end{scontents}
+% Variable part of a MCE being the code snippet
+\begin{scontents}[store-env=mce-2]
+\begin{flalign}
+ 0 & \neq 1 \\
+ 1 & \neq 0
+\end{flalign}
+\end{scontents}
+
+\begin{description}
+\item[Preamble's addition]\leavevmode
+ \typestored[1]{mce-2}
+\item[Code snippet]\leavevmode
+ \typestored[2]{mce-2}
+\item[MCE]\leavevmode
+ \mergesc[typestored, print-cmd=true, write-out=mce.txt, overwrite=true]
+ {
+ {mce}[1], {mce-2}[1], {mce}[2], {mce-2}[2], {mce}[3]
+ }
+\end{description}
+\end{document}
+\end{scontents}
+% \iffalse
+%</example>
+% \fi
+% The command §\mergesc§ in action, adapted from Denis Bitouzé request at \url{https://github.com/pablgonz/scontents/issues/2}
+% \textattachfile[color=linkcolor,print=false]{scexamp9.ltx}{\faFile*[regular]}.
+% \lstinputlisting[language=scontents-doc,numbers=left]{scexamp10.ltx}
+%
% \newpage
%
% \section{Change history}
@@ -1910,37 +2064,47 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \begin{description}[font=\small\sffamily,wide=0pt,style=multiline,leftmargin=\descrwidth,nosep,noitemsep]
% \item [\fileversion{} (ctan), \filedate]
% \begin{itemize}
-% \item Adapting the |verbatimsc| environment (compatibility |verbatim| package).
-% \item Removed compatibility layer for older \hologo{LaTeX} releases.
-% \item Fix loader in \hologo{plainTeX} and \hologo{ConTeXt}.
-% \item Minor adjustments in the documentation.
+% \item Fix |\cleansc| command.
+% \item Add |\mergesc| command.
+% \item Fix internal definition for seq var.
+% \item Fix internal code for |\typestored|.
+% \item Replace |\cs_argument_spec:N| by |\cs_parameter_spec:N|.
+% \item Detect |l3keys2e| package (obsolete in june 2022 \LaTeX{} release).
+% \item Minor adjustments in the documentation.
+% \end{itemize}
+% \item [v2.0 (ctan), 2022-04-04]
+% \begin{itemize}
+% \item Adapting the |verbatimsc| environment (compatibility |verbatim| package).
+% \item Removed compatibility layer for older \hologo{LaTeX} releases.
+% \item Fix loader in \hologo{plainTeX} and \hologo{ConTeXt}.
+% \item Minor adjustments in the documentation.
% \end{itemize}
% \item [v1.9 (ctan), 2020-01-21]
% \begin{itemize}
-% \item Update and improvements in the internal code.
-% \item Updating the generic code for |I/O| verification.
-% \item Add |write-cmd| and |write-out| keys for |\Scontents*|.
-% \item Fix |sep| key in |\foreachsc|.
+% \item Update and improvements in the internal code.
+% \item Updating the generic code for |I/O| verification.
+% \item Add |write-cmd| and |write-out| keys for |\Scontents*|.
+% \item Fix |sep| key in |\foreachsc|.
% \end{itemize}
% \item [v1.8 (ctan), 2019-11-18]
% \begin{itemize}
-% \item Add |\newenvsc| command.
-% \item Fix nested environment in \hologo{plainTeX} and \hologo{ConTeXt}.
-% \item Modified default value in |\getstored|.
-% \item Add |overwrite| key to reduce |I/O| operations.
-% \item Deleted an unnecessary group in the code.
+% \item Add |\newenvsc| command.
+% \item Fix nested environment in \hologo{plainTeX} and \hologo{ConTeXt}.
+% \item Modified default value in |\getstored|.
+% \item Add |overwrite| key to reduce |I/O| operations.
+% \item Deleted an unnecessary group in the code.
% \end{itemize}
% \item [v1.7 (ctan), 2019-10-29]
% \begin{itemize}
-% \item The |verbatimsc| environment was rewritten.
-% \item Minor adjustments in documentation.
+% \item The |verbatimsc| environment was rewritten.
+% \item Minor adjustments in documentation.
% \end{itemize}
% \item [v1.6 (ctan), 2019-10-26]
% \begin{itemize}
-% \item The internal behavior of |\getstored| has been modified.
-% \item The internal behavior of |\foreachsc| has been modified.
-% \item Corrected file extension for \hologo{ConTeXt}.
-% \item Remove spurious warning.
+% \item The internal behavior of |\getstored| has been modified.
+% \item The internal behavior of |\foreachsc| has been modified.
+% \item Corrected file extension for \hologo{ConTeXt}.
+% \item Remove spurious warning.
% \end{itemize}
% \item [v1.5 (ctan), 2019-10-24]
% \begin{itemize}
@@ -1998,15 +2162,15 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \begin{thebibliography}{9}
% \bibitem{expl3} The \hologo{LaTeX} Project. \enquote{The \textsf{expl3}
% package}. Available from
-% \textsc{ctan}, \url{https://www.ctan.org/pkg/expl3}, 2020.
+% \textsc{ctan}, \url{https://www.ctan.org/pkg/expl3}, 2023.
%
% \bibitem{xparse} The \hologo{LaTeX} Project. \enquote{The \textsf{xparse}
% package}. Available from
-% \textsc{ctan}, \url{https://www.ctan.org/pkg/xparse}, 2020.
+% \textsc{ctan}, \url{https://www.ctan.org/pkg/xparse}, 2023.
%
% \bibitem{l3keys} The \hologo{LaTeX} Project. \enquote{The \textsf{l3keys2e}
% package}. Available from
-% \textsc{ctan}, \url{https://www.ctan.org/pkg/l3keys2e}, 2020.
+% \textsc{ctan}, \url{https://www.ctan.org/pkg/l3keys2e}, 2022.
%
% \bibitem{keyval} \textsc{Wright, Joseph}. \enquote{Programming
% \textsf{key–value} in \textsf{expl3}}. Available from
@@ -2053,10 +2217,10 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%
% Now we define some common macros to hold the package date and version:
% \begin{macrocode}
-%<loader>\def\ScontentsFileDate{2022-04-04}%
-%<core>\def\ScontentsCoreFileDate{2022-04-04}%
+%<loader>\def\ScontentsFileDate{2024-06-14}%
+%<core>\def\ScontentsCoreFileDate{2024-06-14}%
%<*loader>
-\def\ScontentsFileVersion{2.0}%
+\def\ScontentsFileVersion{2.1}%
\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
% \end{macrocode}
%
@@ -2065,7 +2229,15 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%
% \begin{macrocode}
%<*latex>
-\RequirePackage{l3keys2e}[2020/02/08]
+\IfFormatAtLeastTF { 2022-06-01 }
+ { }
+ {
+ \RequirePackage{l3keys2e}[2020/02/08]
+ \PackageWarning { scontents }
+ {
+ The next update removes compatibility with versions prior to 2024.
+ }
+ }
\ProvidesExplPackage
{scontents} {\ScontentsFileDate} {\ScontentsFileVersion} {\ScontentsFileDescription}
%</latex>
@@ -2229,6 +2401,13 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\l_@@_keys_tl}
+% Stores unused keys to be frwarded to other commands.
+% \begin{macrocode}
+\tl_new:N \l_@@_keys_tl
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Compatibility layer with \hologo{plainTeX} and \hologo{ConTeXt}}
%
% When loading the package outside of \LaTeX{} we can't usually use
@@ -2292,9 +2471,14 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% In \LaTeX{} mode we load \mypkg{l3keys2e} process the \mymeta{keys}
% as options passed on to the package, the package \pkg{l3keys2e} will
% verify the \mymeta{keys} and will return an error when they are
-% \emph{unknown}.
% \begin{macrocode}
-%<latex>\ProcessKeysOptions { scontents }
+%<*latex>
+\IfFormatAtLeastTF { 2022-06-01 }
+ {
+ \ProcessKeyOptions [ scontents ]
+ }
+ { \ProcessKeysOptions { scontents } }
+%</latex>
%<*core>
% \end{macrocode}
%
@@ -2333,8 +2517,8 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\l_@@_seq_item_int,\l_@@_env_nesting_int,\l_@@_foreach_stop_int}
-% \cs{l_@@_seq_item_int} stores the index in the sequence of the item
+% \begin{macro}{\l_@@_env_nesting_int,\l_@@_foreach_stop_int}
+% \cs{l_@@_seq_item_seq} stores the indexes in the sequence of the items
% requested to §\typestored§ or §\meaningsc§. \cs{l_@@_env_nesting_int}
% stores the current nesting level of the \env{scontents} environment.
% \cs{l_@@_foreach_stop_int} will save the value at which the §\foreachsc§
@@ -2342,7 +2526,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%
% \begin{macrocode}
\int_new:N \l_@@_foreach_stop_int
-\int_new:N \l_@@_seq_item_int
+\seq_new:N \l_@@_seq_item_seq
\int_new:N \l_@@_env_nesting_int
% \end{macrocode}
% \end{macro}
@@ -2382,6 +2566,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%
% \begin{macrocode}
\seq_new:N \l_@@_foreach_print_seq
+\seq_new:c { g_@@_name_sc!internal_seq }
% \end{macrocode}
% \end{macro}
%
@@ -2407,6 +2592,27 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\s_@@_stop,\s_@@_mark}
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+\scan_new:N \s_@@_mark
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_cur_seq_name_str}
+% \begin{macrocode}
+\str_new:N \l_@@_cur_seq_name_str
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_use_i_delimit_by_s_stop:nw,\@@_use_none_delimit_by_s_stop:w}
+% \begin{macrocode}
+\cs_new:Npn \@@_use_delimit_by_s_stop:nw #1 \s_@@_stop {#1}
+\cs_new:Npn \@@_use_i_delimit_by_s_stop:nw #1 #2 \s_@@_stop {#1}
+\cs_new:Npn \@@_use_none_delimit_by_s_stop:w #1 \s_@@_stop { }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\l_@@_save_sf_int,\l_@@_save_skip}
% Internal variables used by functions \cs{@@_bsphack:} and \cs{@@_esphack:}.
%
@@ -2450,7 +2656,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
\cs_generate_variant:Nn \tl_replace_all:Nnn { Nx, Nxx, Nnx }
\cs_generate_variant:Nn \msg_error:nnnn { nnx }
-\prg_generate_conditional_variant:Nnn \tl_if_empty:n { f } { TF }
+\prg_generate_conditional_variant:Nnn \tl_if_empty:n { f } { p, TF }
% \end{macrocode}
% \end{macro}
%
@@ -2566,16 +2772,25 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% a common \mymeta{key}.
%
% \begin{macrocode}
+\bool_new:N \l_@@_print_aux_bool
+\bool_set_true:N \l_@@_print_aux_bool
\keys_define:nn { scontents / typemeaning }
{
- width-tab .meta:nn = { scontents } { width-tab = #1 },
- unknown .code:n = { \@@_parse_type_meaning_key:n {#1} }
+ width-tab .meta:nn = { scontents } { width-tab = #1 },
+ write-out .code:n = {
+ \bool_set_false:N \l_@@_storing_bool
+ \bool_set_true:N \l_@@_writing_bool
+ \tl_set:Nn \l_@@_fname_out_tl {#1}
+ },
+ overwrite .meta:nn = { scontents } { overwrite = #1 },
+ overwrite .default:n = true,
+ unknown .code:n = { \@@_parse_type_meaning_key:n {#1} }
}
% \end{macrocode}
%
% \subsection{Handling undefined keys}
%
-% The \mymeta{keys} are stored in the token list variable \cs{l_keys_key_str},
+% The \mymeta{keys} are stored in the string variable \cs{l_keys_key_str},
% and the value (if any) is passed as an argument to each \mymeta{function}.
%
% \subsubsection{Undefined keys for environment \env{scontents}}
@@ -2666,16 +2881,42 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
{ \exp_args:NV \@@_parse_type_meaning_key:nn \l_keys_key_str {#1} }
\cs_new_protected:Npn \@@_parse_type_meaning_key:nn #1#2
{
- \tl_if_empty:fTF { \int_to_roman:n { -0 #1 } }
+ \tl_if_blank:nTF {#2}
+ { \@@_parse_type_meaning_range:w #1 - \q_@@_mark - \s_@@_mark }
+ { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ }
+\cs_new_protected:Npn \@@_parse_type_meaning_range:w #1 - #2 - #3 \s_@@_mark
+ {
+ \@@_range_parser:nnxn {#1} {#2}
+ { \seq_count:c { g_@@_name_\l_@@_cur_seq_name_str _seq } }
+ { \msg_error:nnn { scontents } { type-key-unknown } }
+ }
+\cs_generate_variant:Nn \@@_range_parser:nnnn { nnx }
+\cs_new_protected:Npn \@@_range_parser:nnnn #1 #2 #3
+ {
+ \exp_args:Nxx \@@_range_parser_aux:nnn
+ { \str_if_eq:nnTF {#1} { end } {#3} { \exp_not:n {#1} } }
+ { \str_if_eq:nnTF {#2} { end } {#3} { \exp_not:n {#2} } }
+ }
+\cs_new_protected:Npn \@@_range_parser_aux:nnn #1 #2 #3
+ {
+ \@@_tl_if_head_is_q_mark:nTF {#2}
{
- \tl_if_blank:nTF {#2}
- { \int_set:Nn \l_@@_seq_item_int {#1} }
- { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ \tl_if_empty:fTF { \int_to_roman:n { -0 #1 } }
+ { \seq_put_right:Nx \l_@@_seq_item_seq { \int_eval:n {#1} } }
+ { #3 {#1} }
}
{
- \tl_if_blank:nTF {#2}
- { \msg_error:nnn { scontents } { type-key-unknown } {#1} }
- { \msg_error:nnnn { scontents } { type-key-value-unknown } {#1} {#2} }
+ \bool_lazy_and:nnTF
+ { \tl_if_empty_p:f { \int_to_roman:n { -0 #1 } } }
+ { \tl_if_empty_p:f { \int_to_roman:n { -0 #2 } } }
+ {
+ \int_compare:nNnTF {#2} > {#1}
+ { \int_step_inline:nnnn {#1} { 1 } {#2} }
+ { \int_step_inline:nnnn {#1} { -1 } {#2} }
+ { \seq_put_right:Nn \l_@@_seq_item_seq {##1} }
+ }
+ { #3 { #1-#2 } }
}
}
% \end{macrocode}
@@ -2704,11 +2945,24 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_getfrom_seq:nn,\@@_getfrom_seq:nnn}
+% \begin{macro}{\@@_getfrom_seq:nn,\@@_getfrom_seq:Nn,\@@_getfrom_seq:nnn}
% The function \cs{@@_getfrom_seq:nn} retrieves the saved item from the
% sequence.
%
% \begin{macrocode}
+\cs_new:Npn \@@_getfrom_seq:Nn #1#2
+ {
+ \seq_if_exist:cTF { g_@@_name_#2_seq }
+ {
+ \exp_args:Nf \@@_getfrom_seq:nNn
+ { \seq_count:c { g_@@_name_#2_seq } } #1 {#2}
+ }
+ { \msg_expandable_error:nnn { scontents } { undefined-storage } {#2} }
+ }
+\cs_new:Npn \@@_getfrom_seq:nNn #1 #2 #3
+ { \seq_map_tokens:Nn #2 { \@@_getfrom_seq_aux:nnn {#1} {#3} } }
+\cs_new:Npn \@@_getfrom_seq_aux:nnn #1 #2 #3
+ { \exp_args:Nnf \use:n { \@@_getfrom_seq:nnn {#1} } { \int_eval:n {#3} } {#2} }
\cs_new:Npn \@@_getfrom_seq:nn #1#2
{
\seq_if_exist:cTF { g_@@_name_#2_seq }
@@ -2765,7 +3019,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%
% In order to be able to define environments that behave similarly to
% \myenv{scontents}, we define a generic environment and make all other
-% environment as wappers around that one.
+% environment as wrappers around that one.
%
% \subsubsection{The command \cs{newenvsc}}
%
@@ -2853,7 +3107,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \startscontents,
% \stopscontents,
% }
-% Finaly defining the \myenv{scontents} environment should be easy :)
+% Finally defining the \myenv{scontents} environment should be easy :)
% \begin{macrocode}
%</core>
%<loader>\newenvsc{scontents}
@@ -2910,7 +3164,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% The function \cs{@@_start_after_option:w} also checks for trailing
% tokens after the optional argument and issues an error if any.
%
-% In all cases, the function \cs{@@_check_line_process:xn} ckecks that
+% In all cases, the function \cs{@@_check_line_process:xn} checks that
% everything past §\begin{scontents}§ is empty and then process
% the environment.
%
@@ -3407,7 +3661,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
%
% The function \cs{@@_norm_arg:n} grabs a normal argument, adds it to
-% the |seq| varaible and optionally prints it.
+% the |seq| variable and optionally prints it.
%
% \begin{macrocode}
\cs_new_protected:Npn \@@_norm_arg:n #1
@@ -3438,7 +3692,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% }
%
% The function \cs{@@_verb_arg_internal:n} replace all §\^^M§ by
-% §\^^J§ then adds it to the |seq| varaible.
+% §\^^J§ then adds it to the |seq| variable.
%
% \begin{macrocode}
\cs_new_protected:Npn \@@_verb_arg_internal:n #1
@@ -3593,21 +3847,36 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%<*core>
\cs_new_protected:Npn \@@_typestored_internal:nn #1 #2
{
+ \@@_bsphack:
\group_begin:
- \int_set:Nn \l_@@_seq_item_int { 1 }
+ \seq_clear:N \l_@@_seq_item_seq
+ \str_set:Nx \l_@@_cur_seq_name_str {#2}
\tl_if_novalue:nF {#1} { \keys_set:nn { scontents / typemeaning } {#1} }
+ \seq_if_empty:NT \l_@@_seq_item_seq
+ { \seq_set_from_clist:Nn \l_@@_seq_item_seq { 1 } }
\tl_set:Nx \l_@@_temp_tl
- { \exp_args:NV \@@_getfrom_seq:nn \l_@@_seq_item_int {#2} }
- \tl_remove_once:NV \l_@@_temp_tl \c_@@_hidden_space_str
+ { \@@_getfrom_seq:Nn \l_@@_seq_item_seq {#2} }
+ \@@_remove_trailing_eol:N \l_@@_temp_tl
+ \tl_replace_all:Nxn \l_@@_temp_tl \c_@@_hidden_space_str { ^^J }
\tl_log:N \l_@@_temp_tl
\tl_if_empty:NF \l_@@_temp_tl
- { \@@_verb_print:N \l_@@_temp_tl }
+ {
+ \bool_if:NT \l_@@_print_aux_bool
+ {
+ \@@_verb_print:N \l_@@_temp_tl
+ }
+ }
+ \@@_file_write_cmd:VV \l_@@_fname_out_tl \l_@@_temp_tl
+ \use:x
+ {
\group_end:
+ \bool_if:NF \l_@@_print_aux_bool { \@@_esphack: }
+ }
}
% \end{macrocode}
%
% The \cs{@@_verb_print:N} macro is defined with active carriage return
-% (\textsc{ascii} 13) characters to mimick an actual verbatim environment
+% (\textsc{ascii} 13) characters to mimic an actual verbatim environment
% \enquote{on the loose}. The contents of the environment are placed in a
% §verbatimsc§ environment and rescanned using \cs{@@_rescan_tokens:x}.
%
@@ -3645,6 +3914,109 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% \end{macrocode}
% \end{macro}
%
+% \subsection{The command \cs{mergesc}}
+%
+% \begin{macro}{\mergesc}
+% The §\mergesc§ command parses a list given as argument, and just assembles
+% it as a temporary internal sequence, then passes it to the requested command.
+% \begin{macrocode}
+%<*loader>
+\NewDocumentCommand \mergesc { o m }
+ { \@@_mergesc_internal:nn {#1} {#2} }
+%</loader>
+%<*core>
+\keys_define:nn { scontents / mergesc }
+ {
+ , typestored .code:n =
+ { \cs_set_eq:NN \@@_mergesc_output_cmd:nn \@@_typestored_internal:nn }
+ , meaningsc .code:n =
+ { \cs_set_eq:NN \@@_mergesc_output_cmd:nn \@@_meaningsc_internal:nn }
+ }
+\cs_new_protected:Npn \@@_mergesc_output_cmd:nn #1 #2
+ { \msg_error:nn { scontents } { mergesc-missing-cmd } }
+\msg_new:nnn { scontents } { mergesc-missing-cmd }
+ { Missing~output~command~for~\iow_char:N\\mergesc~\msg_line_context:. }
+\cs_new_protected:Npn \@@_mergesc_internal:nn #1 #2
+ {
+ \group_begin:
+ \tl_clear:N \l_@@_keys_tl
+ \tl_if_novalue:nF {#1}
+ {
+ % Add print-cmd here :D
+ \keys_define:nn { scontents / typemeaning }
+ {
+ print-cmd .bool_set:N = \l_@@_print_aux_bool,
+ print-cmd .initial:n = false,
+ print-cmd .default:n = true,
+ }
+ \keys_set_known:nnN { scontents / mergesc } {#1} \l_@@_keys_tl
+ }
+ \seq_gclear:c { g_@@_name_sc!internal_seq }
+ \@@_mergesc_parse_list:n {#2}
+ \exp_args:Nx \@@_mergesc_output_cmd:nn
+ { 1-end, \exp_not:V \l_@@_keys_tl } { sc!internal }
+ \group_end:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_mergesc_parse_list:n #1
+ {
+ \clist_map_inline:nn {#1} { \@@_parse_mergesc:nw ##1 \s_@@_stop }
+ \seq_gpop_right:cN { g_@@_name_sc!internal_seq } \l_@@_temp_tl
+ \@@_remove_trailing_eol:N \l_@@_temp_tl
+ \seq_gput_right:cV { g_@@_name_sc!internal_seq } \l_@@_temp_tl
+ }
+\cs_new_protected:Npx \@@_remove_trailing_eol:N #1
+ {
+ \exp_not:N \exp_after:wN \exp_not:N \@@_remove_trailing_eol:w
+ #1 \s_@@_stop \c_@@_hidden_space_str \s_@@_stop \s_@@_mark #1
+ }
+\use:e
+ {
+ \cs_new_protected:Npn \exp_not:N \@@_remove_trailing_eol:w #1
+ \c_@@_hidden_space_str \s_@@_stop #2 \s_@@_mark #3
+ } {
+ \tl_set:Nx #3
+ {
+ \tl_if_empty:nTF {#2}
+ { \exp_not:o { \@@_use_delimit_by_s_stop:nw #1 } }
+ { \exp_not:n {#1} }
+ }
+ }
+\cs_new_protected:Npn \@@_parse_mergesc:nw #1
+ {
+ \peek_charcode_ignore_spaces:NTF [ % ]
+ { \@@_parse_mergesc_aux:nw {#1} }
+ { \@@_parse_mergesc_aux:nw {#1} [ 1-\seq_count:c { g_@@_name_#1_seq } ] }
+ }
+\cs_new_protected:Npn \@@_parse_mergesc_aux:nw #1 [#2]
+ {
+ \seq_clear:N \l_@@_seq_item_seq
+ \clist_map_inline:nn {#2}
+ { \@@_parse_mergesc_range:nw {#1} ##1 - \q_@@_mark - \s_@@_mark }
+ \seq_map_inline:Nn \l_@@_seq_item_seq
+ {
+ \seq_gput_right:cx { g_@@_name_sc!internal_seq }
+ { \seq_item:cn { g_@@_name_#1_seq } {##1} }
+ }
+ \@@_use_none_delimit_by_s_stop:w
+ }
+\cs_new_protected:Npn \@@_parse_mergesc_range:nw #1 #2 - #3 - #4 \s_@@_mark
+ {
+ \cs_set_protected:Npn \@@_tmp:w ##1
+ {
+ \msg_error:nnxxx { scontents } { index-out-of-range }
+ {##1} {#1} { \seq_count:c { g_@@_name_#1_seq } }
+ }
+ \@@_range_parser:nnxn {#2} {#3}
+ { \seq_count:c { g_@@_name_#1_seq } }
+ { \@@_tmp:w }
+ }
+%</core>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{verbatimsc,\startverbatimsc,\stopverbatimsc}
% Finally the \hologo{LaTeX} and \hologo{ConTeXt} version of
% §verbatimsc§ environment is defined.
@@ -3697,20 +4069,20 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
% §\do@noligs§ which makes sure to not consume following space
% tokens. The \LaTeXe{} version ends with §\char`#1§, which
% leaves \TeX{} still looking for an \mymeta{optional~space}.
-% This version uses \cs{char_generate:nn} to ensure that doesn't
-% happen.
-%
+%^^A This version uses \cs{char_generate:nn} to ensure that doesn't
+%^^A happen.
+%^^A Maintain documentation at this point.
% \begin{macrocode}
-\cs_new:Npn \@@_do_noligs:N #1
+\cs_new_protected:Npn \@@_do_noligs:N #1
{
\char_set_catcode_active:N #1
- \char_set_active_eq:Nc #1 { @@_active_char_ \token_to_str:N #1 : }
\cs_set:cpx { @@_active_char_ \token_to_str:N #1 : }
{
\mode_leave_vertical:
\tex_kern:D \c_zero_dim
- \char_generate:nn { `#1 } { 12 }
+ \tex_char:D `\exp_not:N #1
}
+ \char_set_active_eq:Nc #1 { @@_active_char_ \token_to_str:N #1 : }
}
% \end{macrocode}
% \end{macro}
@@ -3721,7 +4093,8 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
\prg_new_protected_conditional:Npnn \@@_tl_if_head_is_q_mark:n #1
{ T, F, TF }
{
- \if_meaning:w \q_@@_mark #1 \scan_stop:
+ \exp_after:wN \if_meaning:w
+ \exp_after:wN \q_@@_mark \@@_use_i_delimit_by_s_stop:nw #1 ? \s_@@_stop
\prg_return_true:
\else:
\prg_return_false:
@@ -3805,8 +4178,11 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
\cs_new_protected:Npn \@@_meaningsc_internal:nn #1 #2
{
\group_begin:
- \int_set:Nn \l_@@_seq_item_int { 1 }
+ \seq_clear:N \l_@@_seq_item_seq
+ \str_set:Nx \l_@@_cur_seq_name_str {#2}
\tl_if_novalue:nF {#1} { \keys_set:nn { scontents / typemeaning } {#1} }
+ \seq_if_empty:NT \l_@@_seq_item_seq
+ { \seq_set_from_clist:Nn \l_@@_seq_item_seq { 1 } }
\@@_meaningsc:n {#2}
\group_end:
}
@@ -3815,9 +4191,9 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
\cs_new_protected:Npn \@@_meaningsc:n #1
{
\tl_set:Nx \l_@@_temp_tl
- { \exp_args:NV \@@_getfrom_seq:nn \l_@@_seq_item_int {#1} }
+ { \@@_getfrom_seq:Nn \l_@@_seq_item_seq {#1} }
\tl_replace_all:Nxn \l_@@_temp_tl { \iow_char:N \^^J } { ~ }
- \tl_remove_once:NV \l_@@_temp_tl \c_@@_hidden_space_str
+ \tl_replace_all:Nxn \l_@@_temp_tl \c_@@_hidden_space_str { ~ }
\tl_log:N \l_@@_temp_tl
\tl_use:N \l_@@_verb_font_tl
\tl_replace_all:Nnx \l_@@_temp_tl { ^^I } { \@@_tabs_to_spaces: }
@@ -3852,7 +4228,7 @@ Read \Verb{\jobname.tsc} (shows TABs as red arrows):
%</core>
%<*loader>
\NewDocumentCommand \cleanseqsc { m }
- { \seq_clear_new:c { g_@@_name_#1_seq } }
+ { \seq_gclear_new:c { g_@@_name_#1_seq } }
%</loader>
%<*core>
% \end{macrocode}
diff --git a/macros/latex/contrib/scontents/scontents.ins b/macros/latex/contrib/scontents/scontents.ins
index 32b3e52331..39ec569e83 100644
--- a/macros/latex/contrib/scontents/scontents.ins
+++ b/macros/latex/contrib/scontents/scontents.ins
@@ -3,13 +3,13 @@
\askforoverwritefalse
\declarepreamble\standard
-Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl>
+Copyright (C) 2019-2024 by Pablo González L <pablgonz@educarchile.cl>
This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License, either version 1.3c of this license or (at
your option) any later version. The latest version of this license is in
- http://www.latex-project.org/lppl.txt
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX version
2005/12/01 or later.
@@ -33,11 +33,11 @@ and the derived files scontents.sty,
\declarepreamble\context
\string\module
[ file=t-scontents,
- version=2.0,
+ version=2.1,
title=\string\CONTEXT\ User Module,
subtitle=Storing Contents,
author=Pablo González,
- date=2022-04-04,
+ date=2024-06-14,
copyright=Pablo González,
email=pablgonz@educarchile.cl,
license=LPPL]
diff --git a/macros/latex/contrib/scontents/scontents.pdf b/macros/latex/contrib/scontents/scontents.pdf
index 73255df198..44bf07e5ce 100644
--- a/macros/latex/contrib/scontents/scontents.pdf
+++ b/macros/latex/contrib/scontents/scontents.pdf
Binary files differ
diff --git a/macros/latex/contrib/se2thesis/CHANGELOG.md b/macros/latex/contrib/se2thesis/CHANGELOG.md
index 32bdced07c..9dfd6257fb 100644
--- a/macros/latex/contrib/se2thesis/CHANGELOG.md
+++ b/macros/latex/contrib/se2thesis/CHANGELOG.md
@@ -7,6 +7,48 @@ and this project adheres to
## [Unreleased]
+## [v4.3.0] – 2024–07–23
+
+### Fixed
+
+- The spelling bachelor thesis and master thesis are widely used but seem to be
+ wrong. According to the Oxford English Dictionary, the spelling shall be
+ bachelor's thesis and master's thesis.
+
+## [v4.2.0] – 2024–06–25
+
+### Fixed
+
+- The `phdphil` should not be a Doctor of Philosophy but, according to the
+ regulations of the University, be a Doctor of *Natural* Philosophy.
+
+## [v4.1.0] – 2024–06–07
+
+### Added
+
+- Add a `\summarybox` macro that simplifies the usage of the `summary`
+ environment
+
+### Changed
+
+- Update the used actions for GitHub to their latest versions.
+- Change the styling of the `summary` environment boxes
+- Adjusted options for `siunitx`
+
+## [v4.0.3] – 2024–05–27
+
+### Fixed
+
+- Add all missing option values for `se2thesis`' `colormode` parameter that are
+ available from the `se2colors` package.
+
+## [v4.0.2] – 2024–05–24
+
+### Added
+
+- Enhance documentation of `se2packages` regarding the usage of `minted` and the
+ grey-scale mode of `se2colors`.
+
## [v4.0.1] – 2024–05–17
### Fixed
@@ -203,7 +245,12 @@ These changes might be breaking changes!
### Added
- First official release
-[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.0.1...HEAD
+[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.3.0...HEAD
+[v4.3.0]: https://github.com/se2p/se2thesis/compare/v4.3.0...v4.2.0
+[v4.2.0]: https://github.com/se2p/se2thesis/compare/v4.2.0...v4.1.0
+[v4.1.0]: https://github.com/se2p/se2thesis/compare/v4.1.0...v4.0.3
+[v4.0.3]: https://github.com/se2p/se2thesis/compare/v4.0.3...v4.0.2
+[v4.0.2]: https://github.com/se2p/se2thesis/compare/v4.0.2...v4.0.1
[v4.0.1]: https://github.com/se2p/se2thesis/compare/v4.0.1...v4.0.0
[v4.0.0]: https://github.com/se2p/se2thesis/compare/v4.0.0...v3.4.0
[v3.4.0]: https://github.com/se2p/se2thesis/compare/v3.4.0...v3.3.1
diff --git a/macros/latex/contrib/se2thesis/se2colors.dtx b/macros/latex/contrib/se2thesis/se2colors.dtx
index ccea678194..5d6917865e 100644
--- a/macros/latex/contrib/se2thesis/se2colors.dtx
+++ b/macros/latex/contrib/se2thesis/se2colors.dtx
@@ -231,7 +231,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2colors} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2colors} {2024-07-23} {4.3.0}
{A colour support package for the se2thesis bundle}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/se2thesis/se2fonts.dtx b/macros/latex/contrib/se2thesis/se2fonts.dtx
index 741478e0fd..5b8d313d5e 100644
--- a/macros/latex/contrib/se2thesis/se2fonts.dtx
+++ b/macros/latex/contrib/se2thesis/se2fonts.dtx
@@ -151,7 +151,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2fonts} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2fonts} {2024-07-23} {4.3.0}
{A font-selection support package for the se2thesis bundle}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/se2thesis/se2packages.dtx b/macros/latex/contrib/se2thesis/se2packages.dtx
index 4c28b13fce..12bf5ee5ba 100644
--- a/macros/latex/contrib/se2thesis/se2packages.dtx
+++ b/macros/latex/contrib/se2thesis/se2packages.dtx
@@ -125,6 +125,33 @@
%
% Please be aware to use \emph{either} \pkg{minted} \emph{or} \pkg{listings}!
%
+% \emph{Attention:} The way how \pkg{minted} is implemented causes the resulting
+% code to be typeset in gray scale, if you use the \pkg{se2colors} package with
+% option |cmode=bw| or the \cls{se2thesis} class with |colormode=bw| (or their
+% respective aliases). Students were requesting that they want to use the
+% black-and-white mode of \pkg{se2color} because it saves lots of money when
+% printing their thesis, while they want the colours in the syntax highlighting
+% of \pkg{minted}. One can achieve this by adding hooks to the preamble of the
+% document, after loading the \pkg{minted} package (which is recommend by
+% setting |minted=true| as an option to \pkg{se2packages}):
+% \begin{LaTeXdemo}[code only]
+% \AddToHook{env/minted/begin}{\selectcolormodel{cmyk}}
+% \AddToHook{cmd/mintinline/before}{\selectcolormodel{cmyk}}
+% \end{LaTeXdemo}
+% Thanks to Ulrike Fischer for pointing out this hook mechanism.\footnote{%
+% \href{https://tex.stackexchange.com/a/718719/14622}{tex.stackexchange.com/a/718719/14622}
+% }
+%
+% Another option, if you do not want colours in the \pkg{minted} output when you
+% use the gray-scale mode of \pkg{se2colors} is the change the highlighting
+% style, \pkg{minted} uses. The package for this provides the macro
+% \cs{usemintedstyle}, which accepts a style available in your local
+% \texttt{pygments} installation, see the \texttt{pygments}
+% documentation\footnote{%
+% \href{https://pygments.org/styles/}{pygments.org/styles/}
+% } for an overview over the available styles; the |bw| style is explicitly
+% designed for this kind of scenario.
+%
% \subsubsection{Designing Tables}
%
% A basically mandatory package to all users of tables
@@ -443,7 +470,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2packages} {2024-05-17} {4.0.1}
+\ProvidesExplPackage {se2packages} {2024-07-23} {4.3.0}
{Supporting packages for the se2thesis bundle}
% \end{macrocode}
%
@@ -654,13 +681,14 @@
\msg_info:nnn { seiipackages } { load-package } { siunitx }
\RequirePackage[
add-integer-zero=false,
- free-standing-units,
+ free-standing-units=true,
group-minimum-digits=4,
- list-final-separator={, and },
+ list-final-separator={,~ and~ },
round-mode=figures,
round-precision=3,
separate-uncertainty=true,
uncertainty-mode=separate,
+ mode=match,
]{siunitx}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
index 957e0b5110..e388ab8e56 100644
--- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
index 4f10ae80f5..fececced48 100644
--- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
+++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.tex
@@ -87,10 +87,6 @@ We could reference the \TeX{} book~\autocite{Knu86}. And we want to reference
We hypothesise that the answer to \cref{rq:1} is 42!
\end{hyp}
-\begin{summary}{\Cref{rq:1}}
- It's 42, obviously!
-\end{summary}
-
And using the auto-cite functionality to cite Knuth~\autocite{Knu86}.
\backmatter
diff --git a/macros/latex/contrib/se2thesis/se2thesis.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx
index ced3b912d1..6aa5245663 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.dtx
+++ b/macros/latex/contrib/se2thesis/se2thesis.dtx
@@ -62,7 +62,7 @@
% internet, causing each thesis looking differently.
%
% The author of this package provided a template,
-% which he initially created for his bachelor and master thesis,
+% which he initially created for his bachelor's and master's thesis,
% that was recommended and used by many students.
% The implementation of that template, however, was very hacky and required
% some changes over time.
@@ -243,11 +243,11 @@
% \end{syntax}
% Defines the type of the thesis.
% Possible values are:
-% |bachelor| for a bachelor thesis, |bachelorproposal| for a proposal to
-% a bachelor thesis, |master| for a master thesis, |masterproposal| for
-% a proposal to a master thesis, |phdproposal| for a proposal to a PhD thesis,
+% |bachelor| for a bachelor's thesis, |bachelorproposal| for a proposal to
+% a bachelor's thesis, |master| for a master's thesis, |masterproposal| for
+% a proposal to a master's thesis, |phdproposal| for a proposal to a PhD thesis,
% |phd| for a PhD thesis in the natural sciences, |phdeng| for a PhD thesis
-% in engineering, and |phdphil| for a PhD thesis in philosophy.
+% in engineering, and |phdphil| for a PhD thesis in natural philosophy.
% \end{function}
%
% \begin{function}{colormode}
@@ -307,7 +307,7 @@
% \cmd{\matrnumber} \marg{matriculation-number}
% \end{syntax}
% Specify the matriculation number of the student writing the thesis.
-% This is required for Bachelor and Master theses.
+% This is required for bachelor's and master's theses.
% \end{function}
%
% \begin{function}{\supervisor, \cosupervisor}
@@ -437,7 +437,7 @@
% We provide the \env{acknowledgements} environment to typeset acknowledgements
% for your thesis.
% Using this environment is optional.
-% Usually, bachelor and master thesis do not contain such an acknowledgements
+% Usually, bachelor's and master's thesis do not contain such an acknowledgements
% section, however, there is no general rule to this.
% \begin{verbatim}
% \begin{acknowledgements}[language]
@@ -607,7 +607,7 @@
%
% Identify the class and give the overall version number.
% \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2024-05-17} {4.0.1}
+\ProvidesExplClass {se2thesis} {2024-07-23} {4.3.0}
{A thesis class for the Chair of Software Engineering II}
% \end{macrocode}
%
@@ -788,7 +788,7 @@
},
thesistype .initial:n = master,
- colormode .choices:nn = {cmyk,rgb,bw}{
+ colormode .choices:nn = {4C,CMYK,cmyk,RGB,rgb,BW,bw,gray}{
\tl_gset_eq:NN \l_@@_colormode_tl \l_keys_choice_tl
},
colormode .initial:n = cmyk,
@@ -1246,7 +1246,7 @@
% \end{macrocode}
% The next block generates the text that describes the thesis.
% In case of a PhD thesis, this text is predefined to match the requirements.
-% In case of a bachelor or master thesis, or a proposal thereof, we generate
+% In case of a bachelor's or master's thesis, or a proposal thereof, we generate
% a text based on the values of the |thesistype| load-time option and the
% values of the \cmd{\degreeprogramme}, \cmd{\department}, and
% \cmd{\institute} variables.
@@ -1283,7 +1283,7 @@
\tl_if_eq:NnTF \l_@@_thesis_type_tl { phdphil }
{
Dissertation~ zur~ Erlangung~ des~ Doktorgrades\\
- der~ Philosophie~ (Dr.\,phil.)\\
+ der~ Naturphilosophie~ (Dr.\,phil.\,nat.)\\
eingereicht~ an~ der~ Fakultät~ für~ Informatik~ und~ Mathematik\\
der~ Universität~ Passau\\
\rule{\textwidth}{.1pt}\\
@@ -1291,7 +1291,7 @@
the~ Faculty~ of~ Computer~ Science~ and~ Mathematics\\
of~ the~ University~ of~ Passau\\
in~ partial~ fulfillment~ of~ obtaining\\
- the~ degree~ of~ a~ Doctor~ of~ Philosophy
+ the~ degree~ of~ a~ Doctor~ of~ Natural~ Philosophy
} {
\tl_if_eq:NnT \l_@@_thesis_type_tl { bachelor }
{ \GetTranslation{Bachelor-thesis} }
@@ -1622,12 +1622,35 @@
% The \env{summary} environment expects a label and has the summary text in
% its content.
% \begin{macrocode}
-\NewDocumentEnvironment { summary } { m }
- { \begin{tcolorbox}[title={Summary~ (#1)}] }
- { \end{tcolorbox} }
+\ExplSyntaxOff
+\NewDocumentEnvironment { summary } { m +b }
+ {%
+ \begin{tcolorbox}[%
+ size=fbox,%
+ rounded corners=all,%
+ attach title to upper,%
+ coltitle=black,%
+ fonttitle=\bfseries,%
+ title={Summary #1},
+ after title={:\ },
+ ]
+ #2
+ } {%
+ \end{tcolorbox}%
+ }
+\ExplSyntaxOn
% \end{macrocode}
% \end{environment}
-%
+% \begin{macro}{\summarybox}
+% The \cmd{summarybox} macro simplifies the usage of the \env{summary}
+% environment.
+% \begin{macrocode}
+\NewDocumentCommand { \summarybox } { m m }
+ {
+ \begin{summary}{#1} #2 \end{summary}
+ }
+% \end{macrocode}
+% \end{macro}
%
%
%
@@ -1655,7 +1678,7 @@
% We provide the following English translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2024/05/17]
+\ProvideDictionaryFor{English}{se2translations}[2024/07/23]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -1680,10 +1703,10 @@
\ProvideDictTranslation{External}{External Examiner}
\ProvideDictTranslation{degreeprogramme}{programme}
\ProvideDictTranslation{Degreeprogramme}{Programme}
-\ProvideDictTranslation{Bachelor-thesis}{Bachelor Thesis}
-\ProvideDictTranslation{Bachelor-thesis-proposal}{Bachelor Thesis Proposal}
-\ProvideDictTranslation{Master-thesis}{Master Thesis}
-\ProvideDictTranslation{Master-thesis-proposal}{Master Thesis Proposal}
+\ProvideDictTranslation{Bachelor-thesis}{Bachelor's Thesis}
+\ProvideDictTranslation{Bachelor-thesis-proposal}{Bachelor's Thesis Proposal}
+\ProvideDictTranslation{Master-thesis}{Master's Thesis}
+\ProvideDictTranslation{Master-thesis-proposal}{Master's Thesis Proposal}
\ProvideDictTranslation{PhD-thesis}{PhD Thesis}
\ProvideDictTranslation{PhD-thesis-proposal}{PhD Thesis Proposal}
\ProvideDictTranslation{date}{date}
@@ -1706,7 +1729,7 @@
% We provide the following German translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2024/05/17]
+\ProvideDictionaryFor{German}{se2translations}[2024/07/23]
\ProvideDictTranslation{abstract}{Zusammenfassung}
\ProvideDictTranslation{Abstract}{Zusammenfassung}
\ProvideDictTranslation{acknowledgement}{Danksagung}
diff --git a/macros/latex/contrib/se2thesis/se2thesis.pdf b/macros/latex/contrib/se2thesis/se2thesis.pdf
index b9a75b0b66..944dce1887 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/sepfootnotes/README b/macros/latex/contrib/sepfootnotes/README
index e0f9ac9aac..2a507a1da4 100644
--- a/macros/latex/contrib/sepfootnotes/README
+++ b/macros/latex/contrib/sepfootnotes/README
@@ -5,8 +5,11 @@ This package supports footnotes and endnotes from separate files. This is
achieved with commands \sepfootnotecontent and \sepfootnote; the former defines
the content of a note, while the latter typesets that note.
+2024/07/05 v0.3d
+ * Package options after: Allow \sepfootnotecontent after \sepfootnote
+
2016/07/18 v0.3c
- * Package options Note definitions may take global scope
+ * Package options global: Note definitions may take global scope
2014/07/22 v0.3b
* Documentation Minor formatting changes to page 4
@@ -41,7 +44,7 @@ Usage:
*See sepfootnotes.pdf
--------------------------------------------------------------------------------
-Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
This material is subject to the LaTeX Project Public License. See
http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf b/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
index 0cb449cb21..0246b086b5 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.sty b/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
index d953d30022..f99b9770c0 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
@@ -1,4 +1,4 @@
-%% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+%% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -11,19 +11,23 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat {LaTeX2e} [1996/06/01]
-\ProvidesPackage {sepfootnotes} [2016/07/18 v0.3c Footnotes in separate file]
+\ProvidesPackage {sepfootnotes} [2024/07/05 v0.3d Footnotes in separate file]
\newcommand\sep@packagename{sepfootnotes}
+%{% options
+
\DeclareOption {quiet} {\sep@opt@quiettrue}
\DeclareOption {warn} {\sep@opt@warntrue}
\DeclareOption {error} {\sep@opt@errortrue}
\DeclareOption {global} {\sep@opt@globaltrue}
+\DeclareOption {after} {\sep@opt@aftertrue}
\newif \ifsep@opt@quiet
\newif \ifsep@opt@warn
\newif \ifsep@opt@error
\newif \ifsep@opt@global
+\newif \ifsep@opt@after
\sep@opt@warntrue
@@ -38,10 +42,10 @@
\sep@opt@warnfalse
\fi
+%}%
+%{% public
-% ********************************* Public ************************************
-
-% ==================== shared by footnotes and endnotes =======================
+%{% footnotes and endnotes
\newcommand\sep@new [1]
{\newcounter{#1note}%
@@ -52,7 +56,8 @@
\expandafter\newcommand\csname #1quicknote\endcsname [1] {\sep@namereplace {#1} {sepfootnotes@tmp@quick} {##1}\csname #1note\endcsname{sepfootnotes@tmp@quick}}\relax
}
-% -------------------------------- footnotes ----------------------------------
+%}%
+%{% footnotes
\newcommand\newfootnotes{\@ifstar\sep@newfootnotesfree\sep@newfootnotes}
@@ -73,7 +78,8 @@
\@addtoreset {#2note} {#1}%
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% -------------------------------- endnotes -----------------------------------
+%}%
+%{% endnotes
\newcommand\newendnotes [1]
{\sep@new {#1}%
@@ -88,8 +94,8 @@
\expandafter\newcommand\csname #1notesize\endcsname {\footnotesize}%
\newenvironment {#1notes} {\csname #1notesize\endcsname\setlength\parskip\footnotesep} {}}
-
-% ------------------------------ commentnotes --------------------------------
+%}%
+%{% commentnotes
\newcommand\newcommentnotes [1]
{\newfootnotes*{#1}\relax
@@ -107,62 +113,114 @@
\@addtoreset {#2note} {#1}\relax
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% ********************************* Private ***********************************
+%}%
+
+%}%
+%{% private
-% ---------------------------------- files ------------------------------------
+%{% files
\newcommand\sep@filename [1] {\jobname.ent-#1}
\newcommand\sep@openout [1] {\expandafter \newwrite\csname sep@fileout#1\endcsname\immediate\expandafter\openout\csname sep@fileout#1\endcsname=\sep@filename#1\relax}
\newcommand\sep@write [2] {\immediate \write\csname sep@fileout#1\endcsname {#2}}
\newcommand\sep@close [1] {\immediate\expandafter\closeout\csname sep@fileout#1\endcsname\relax}
-% ---------------------------------- table ------------------------------------
+%}%
+%{% names
+
+%{% \sep@nameuse <prefix> <key>
\newcommand\sep@nameuse [2]
{\@ifundefined{sepfootnotes@text@#1@#2}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' has not been assigned a content}
- {`#2' has not been assigned a content.\MessageBreak
- Solution: Define `#2'\MessageBreak
- Try: \@backslashchar #1notecontent{#2}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' has not been assigned a content}\relax
- \fi}
+ {\sep@warning@undefined{#1}{#2}}
{\@nameuse{sepfootnotes@text@#1@#2}}}
+%}%
+%{% \sep@namedef <prefix> <key> <content>
+
\newcommand\sep@namedef [3]
-{\@ifundefined{sepfootnotes@text@#1@#2}
+{\ifsep@opt@after\sep@namereplace{#1}{#2}{#3}\else
+ \@ifundefined{sepfootnotes@text@#1@#2}
{\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' is already in use}
- {`#2' is already in use.\MessageBreak
- Solution: Use another key.\MessageBreak
- Try: \@backslashchar #1notecontent{<key>}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' is already in use}
- \fi}}
+ {\sep@warning@already{#1}{#2}}\fi}
+
+%}%
+%{% \sep@namereplace <prefix> <key> <content>
+
+\newcommand\sep@namereplace [3]
+{%
+ \ifsep@opt@after
+ \global\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \write\@auxout{\expandafter\unexpanded\expandafter{\global\@namedef {sepfootnotes@text@#1@#2}{#3}}}%
+ \else
+ \ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \fi
+}
+
+%}%
+
+%{% \sep@warning@undefined <prefix> <key>
+
+\newcommand \sep@warning@undefined [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' has not been assigned a content}
+ {`#2' has not been assigned a content.\MessageBreak
+ Solution: Define `#2'\MessageBreak
+ Try: \@backslashchar #1notecontent{#2}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' has not been assigned a content}%
+ \fi
+}
-\newcommand\sep@namereplace [3] {\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
+%}%
+%{% \sep@warning@already <prefix> <key>
+
+\newcommand \sep@warning@already [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' is already in use}
+ {`#2' is already in use.\MessageBreak
+ Solution: Use another key.\MessageBreak
+ Try: \@backslashchar #1notecontent{<key>}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' is already in use}%
+ \fi
+}
-% ---------------------------------- marks ------------------------------------
+%}%
+
+%}%
+%{% marks
\newcommand\sep@markset [1] {\protected@xdef\@thefnmark{\csname the#1mark\endcsname}}
\newcommand\sep@mark [2] {\stepcounter {#1note}\sep@markset {#1}\@footnotemark}
-% ---------------------- cross-references and counters ------------------------
+%}%
+%{% cross-references and counters
\newcommand\sep@refsetcounter [2] {\setcounter{#1}{#2}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
\newcommand\sep@refstepcounter [1] {\stepcounter {#1}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
-% ********************************* Default ***********************************
+%}%
+
+%}%
+%{% default
-% ------------------------- footnotes: \sepfootnote ---------------------------
+%% The default \sepfootnote apparatus relies on \footnote
-%% Default: The default \sepfootnote family relies on \footnote
\newfootnotes{sepfoot}
+%}%
+
\endinput
%%
%% End of file `sepfootnotes.sty'.
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.tex b/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
index 4000f00fad..f73370349a 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -44,11 +44,11 @@
{\begin{center}\begin{minipage}[t]{0.5\linewidth}}
{\end{minipage}\end{center}}
\newcommand\TODO{\texttt{Todo:}}
-\newcommand\fileversion{0.3c}
-\newcommand\filedate{July 18, 2016}
+\newcommand\fileversion{0.3d}
+\newcommand\filedate{July 5, 2024}
\begin{document}
\title{The \textsf{\color{myblue} sepfootnotes} package,\thanks{This document corresponds to \textsf{sepfootnotes}~\fileversion, dated~\filedate.
-I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
+I am grateful to Michael Sellhoff, Sam Foster, Mats, David Carlisle, and schtandard for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
\author{Eduardo C. Louren\c{c}o de Lima \\ \texttt{elourenco@phi.pro.br}}
\maketitle
@@ -59,9 +59,9 @@ I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for thei
Standard |\footnote| and |\endnote| both take a note as a mandatory argument. Because notes have to be embedded in the paragraph to which they refer, sentences are often split up into two\footnote {This is precisely what this footnote does to the first paragraph of this document. There are more than thirty words between `two' and `or more' in the code of an otherwise short paragraph.} or more parts. Consequently, footnotes and endnotes may disrupt the flow of reading and editing {\LaTeX} prose.\footnote {In a posting to \texttt{texhax.tug.org} in April 2010, someone complained that using footnotes ``tends to disrupt the flow of the document on the screen and makes editing the text itself harder'', and asked about the possibility of ``putting all of the footnotes in a separate file''~\cite{Nicholas Cole}. Another user, back in 2004, remarked that the ``only thing I missed about word processors was the ability to keep footnote text at the bottom of the page, or in a separate window. I often have extensive footnotes, and don't want them cluttering up my main body text when I'm composing''~\cite{Luecking}.} This can be an issue for those who make extensive use of notes, such as philosophers and people from the humanities in general.
- The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note later on in the document.
+ The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note in the document.
- Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, right before a paragraph, or even in a \emph{separate file}. In that way, the main body is less cluttered.
+ Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, in a separate file, or even right after a paragraph. In that way, the main body is less cluttered.
You may use |sepfootnotes| and standard |\footnote| simultaneously; the same goes for |\footcite| from |biblatex|.
@@ -273,10 +273,10 @@ Default:\footnote{Adapted from the \texttt{endnotes} package.}
\section {Package options}
\begin{list}{}{}
-\item[|warn|] Print warning messages. (Default.)
+\item[|after|] (experimental) Allow |\sepfootnotecontent| after |\sepfootnote|. Must compile twice. Implies |global|. See below.
+\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\item[|error|] Print warning messages, halt, and wait for user input.
\item[|quiet|] Suppress warning and error messages.
-\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\end{list}
\section{Examples}
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 4dad256c37..1c81cd5e7a 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,10 +7,20 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.19] - 2024-06-24
+
+### Fixed
+- Add \textonly@unskip` to special tokens to cell content (see issue [\#737](https://github.com/josephwright/siunitx/issues/737))
+
+## [v3.3.18] - 2024-06-14
+
+### Fixed
+- Use `fill` glue for aligning comparators (see issue [\#733](https://github.com/josephwright/siunitx/issues/733))
+
## [v3.3.17] - 2024-05-06
### Fixed
-- Correct treatment of end-iof-line spaces when allowing breaks (see issue
+- Correct treatment of end-of-line spaces when allowing breaks (see issue
[\#730](https://github.com/josephwright/siunitx/issues/730))
## [v3.3.16] - 2024-04-24
@@ -1784,7 +1794,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Allow `\highlight` in units
- Option `table-column-width` (issue [\#105](https://github.com/josephwright/siunitx/issues/105))
- Option `bracket-negative-numbers` (issue [\#5](https://github.com/josephwright/siunitx/issues/5))
-- Option `table-align-comparators` (issue [\#86](https://github.com/josephwright/siunitx/issues/86))
+- Option `table-align-comparator` (issue [\#86](https://github.com/josephwright/siunitx/issues/86))
- Option `minimum-integer-digits` (issue [\#112](https://github.com/josephwright/siunitx/issues/112))
- Option to print exponent marker literally (issue [\#113](https://github.com/josephwright/siunitx/issues/113))
- Support for engineering-style number output (issue [\#114](https://github.com/josephwright/siunitx/issues/114))
@@ -2110,7 +2120,9 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.17...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.19...HEAD
+[v3.3.19]: https://github.com/josephwright/siunitx/compare/v3.3.18...v3.3.19
+[v3.3.18]: https://github.com/josephwright/siunitx/compare/v3.3.17...v3.3.18
[v3.3.17]: https://github.com/josephwright/siunitx/compare/v3.3.16...v3.3.17
[v3.3.16]: https://github.com/josephwright/siunitx/compare/v3.3.15...v3.3.16
[v3.3.15]: https://github.com/josephwright/siunitx/compare/v3.3.14...v3.3.15
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 0e89bc3e22..5f4841816e 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 5de8f0b603..03fe45441e 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -364,6 +364,7 @@
\@@_collect_search:NnF #1
{
\unskip { \@@_collect_loop: }
+ \textonly@unskip { \@@_collect_loop: }
\end { \tabularnewline \end }
\relax { \@@_collect_relax:N #1 }
\tabularnewline { \tabularnewline }
@@ -1423,7 +1424,7 @@
}
{
\hbox_unpack:N \l_@@_integer_box
- \@@_fil:
+ \@@_fill:
\hbox_unpack:N \l_@@_tmp_box
}
}
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 00af01ae8a..bd97dc5750 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2024-05-06} {3.3.17}
+\ProvidesExplPackage {siunitx} {2024-06-24} {3.3.19}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 5dea63dd66..9d1c9d36db 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index d004e8f9d7..7c6e147f00 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -2941,6 +2941,7 @@ provide the necessary gap while maintaining alignment (Table~\ref{tab:S:ends}).
\DescribeOption{table-align-exponent}
\DescribeOption{table-align-uncertainty}
+\DescribeOption{table-align-comparator}
When printing exponents in tables, there is a choice of aligning the exponent
parts or having these close up to the mantissa. This is controlled by the
\opt{table-align-exponent} option (Table~\ref{tab:align:exp}). Similarly,
diff --git a/macros/latex/contrib/sjtutex/sjtutex.dtx b/macros/latex/contrib/sjtutex/sjtutex.dtx
index ab429d6850..bcf46b7fbe 100644
--- a/macros/latex/contrib/sjtutex/sjtutex.dtx
+++ b/macros/latex/contrib/sjtutex/sjtutex.dtx
@@ -216,7 +216,7 @@
Please update your TeX distribution}{}}
%</class>
%<*!(driver|install)>
-%<+!driver>\GetIdInfo$Id: sjtutex.dtx 6d52363 2024-04-05 19:40:30 +0800 Alexara Wu <alexarawu@outlook.com> $
+%<+!driver>\GetIdInfo$Id: sjtutex.dtx 78f11bc 2024-06-29 23:01:32 +0800 Alexara Wu <alexarawu@outlook.com> $
%<class&thesis> {Thesis document class for Shanghai Jiao Tong University (SJTUTeX)}
%<class&thesis>\ProvidesExplClass{sjtuthesis}
%<class&report> {Report document class for Shanghai Jiao Tong University (SJTUTeX)}
@@ -335,7 +335,7 @@
%<font&cjk&founder&zh>\ProvidesExplFile{sjtu-cjk-font-founder-zh.def}
%<font&cjk&founder&ja> {Founder CJK fonts definition for Japanese (SJTUTeX)}
%<font&cjk&founder&ja>\ProvidesExplFile{sjtu-cjk-font-founder-ja.def}
-%<!driver> {\ExplFileDate}{2.1.2}{\ExplFileDescription}
+%<!driver> {\ExplFileDate}{2.1.3}{\ExplFileDescription}
%</!(driver|install)>
%
%<*driver>
@@ -343,7 +343,7 @@
\documentclass{ctxdoc}
\newcommand{\sjtutex}{SJTU\TeX}
\expandafter\def\csname ver@\jobname.dtx\endcsname
- {2024/04/05 v2.1.2 SJTUTeX}
+ {2024/06/29 v2.1.3 SJTUTeX}
\usepackage{float}
\usepackage{multirow}
\usepackage{longtable}
@@ -1638,6 +1638,14 @@
% \urlprefix\url{https://ctan.org/pkg/ctex}
% \urlprefix\CTANurl[文档及源代码:]{language/chinese/ctex/ctex.pdf}
%
+% \bibitem{zhlineskip}
+% 张瑞熹.
+% \newblock \textit{zhlineskip 宏包}\allowbreak[EB/OL].
+% \newblock version 1.0e,
+% \newblock (2019-05-15).
+% \urlprefix\url{https://ctan.org/pkg/zhlineskip}
+% \urlprefix\CTANurl[文档:]{language/chinese/zhlineskip/zhlineskip.pdf}
+%
% \bibitem{fduthesis}
% 曾祥东.
% \newblock \textit{fduthesis: 复旦大学论文模板}\allowbreak[EB/OL].
@@ -4076,6 +4084,11 @@
%<thesis> \exp_not:N \zihao { \g_@@_zihao_tl }
%<!thesis> equation-font .initial:V = \c_empty_tl
}
+% \end{macrocode}
+% \end{macro}
+%
+% 借用 \pkg{zhlineskip} 宏包的代码设置行间公式字体。
+% \begin{macrocode}
\clist_map_inline:nn
{
array, matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix,
@@ -4101,7 +4114,6 @@
\spread@equation
}
% \end{macrocode}
-% \end{macro}
%
% \subsection{数学环境}
%
@@ -5318,23 +5330,24 @@
% \end{macro}
%
% \changes{v2.1.2}{2024/03/31}{改用 \pkg{titletoc} 设置目录格式。}
+% \changes{v2.1.3}{2024/06/28}{更新目录样式。}
% \begin{macrocode}
\tl_set:Nn \SJTU@leaders { \titlerule* [ 4bp ] { . } }
\contentsmargin [ 2.55 em ] { 0 pt }
%<article>\titlecontents { section }
%<!article>\titlecontents { chapter }
[ 0 pt ] { \addvspace { 6 bp } \bfseries }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
%<article>\titlecontents { subsection }
%<!article>\titlecontents { section }
[ 2 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
%<article>\titlecontents { subsubsection }
%<!article>\titlecontents { subsection }
[ 4 em ] { }
- { \contentspush { \thecontentslabel \quad } } { }
+ { \contentspush { \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
% \end{macrocode}
%
@@ -5357,7 +5370,7 @@
{ \SJTU@listof {#4} {#2} }
\titlecontents {#2}
[ 0 pt ] { }
- { \contentspush { #3 \space \thecontentslabel \quad } } { }
+ { \contentspush { #3 \space \thecontentslabel \enskip } } { }
{ \SJTU@leaders \thecontentspage }
\exp_args:Nnv \contentsuse {#2} { ext@ #2 }
}
@@ -6044,7 +6057,7 @@
{ address } { Shanghai,~ P.R.~ China } ,
{ author } { Author } ,
{ supervisor } { Supervisor } ,
- { assoc_supervisor } { Assoc.~ Supervisor } ,
+ { assoc_supervisor } { Assoc.\ Supervisor } ,
{ co_supervisor } { Co-supervisor } ,
{ title_page } { Title~ Page } ,
{ declaration } { Statutory~ Declaration } ,
diff --git a/macros/latex/contrib/sjtutex/sjtutex.pdf b/macros/latex/contrib/sjtutex/sjtutex.pdf
index ae3ed269b6..a5994fd3be 100644
--- a/macros/latex/contrib/sjtutex/sjtutex.pdf
+++ b/macros/latex/contrib/sjtutex/sjtutex.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/README.md b/macros/latex/contrib/spbmark/README.md
index fb09a7b7a9..9fe0dc2c5c 100644
--- a/macros/latex/contrib/spbmark/README.md
+++ b/macros/latex/contrib/spbmark/README.md
@@ -1,11 +1,15 @@
-# The spbmark package
+# The `spbmark` package
+Customize superscripts and subscripts (v1.46n)
+## Abstract
`spbmark` provides three commands `\super`, `\sub` and `\supersub` to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
## License
-
This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
## Website
+| [Gitee](https://gitee.com/texno3/spbmark) | [Github](https://github.com/texno3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) |
-| [Gitee](https://gitee.com/texno3/spbmark) | [Github](https://github.com/texno3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) | \ No newline at end of file
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index 8242e5e3bf..c0f3a42077 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index c1ce4837a5..4046c8bf9c 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -8,8 +8,8 @@
% The latest version of this license is in
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
-\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/05/19}{1.46j}
+\RequirePackage{xparse}
+\ProvidesExplPackage{spbmark}{2024/07/14}{1.46n}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -32,6 +32,16 @@
\cs_new_protected:Npn \spb_define:n { \keys_define:nn { ctex/tools } }
\cs_new_protected:Npn \spb_set:n { \keys_set:nn { ctex/tools } }
\cs_set_eq:NN \spbset \spb_set:n
+\cs_new_protected:Npn \spb_mark_core_set_trad:n #1
+ {
+ \cs_set_eq:cc { spb@text#1script@core } { spb@text#1script@save }
+ \cs_set_eq:cc { spb@math@#1@core } { spb@math@#1@save }
+ }
+\cs_new_protected:Npn \spb_mark_core_set_none:n #1
+ {
+ \cs_set_eq:cN { spb@text#1script@core } \use:n
+ \cs_set_eq:cN { spb@math@#1@core } \use:n
+ }
\keys_define:nn { spbmark/option }
{
@@ -43,8 +53,8 @@
},
text/false .code:n =
{
- \cs_set:Npn \textsuperscript { \spb@textsuperscript@save }
- \cs_set:Npn \textsubscript { \spb@textsubscript@save }
+ \cs_set:Npn \textsuperscript { \spb@textsuperscript@core }
+ \cs_set:Npn \textsubscript { \spb@textsubscript@core }
},
text .default:n = true,
math .choice:,
@@ -55,8 +65,8 @@
},
math/false .code:n =
{
- \cs_set:Npn \sp { \spb@math@super@save }
- \cs_set:Npn \sb { \spb@math@sub@save }
+ \cs_set:Npn \sp { \spb@math@super@core }
+ \cs_set:Npn \sb { \spb@math@sub@core }
},
math .default:n = true,
foot .choice:,
@@ -71,7 +81,17 @@
both .meta:n = { text = #1,math = #1 },
both .default:n = true,
all .meta:n = { text = #1,math = #1,foot = #1 },
- all .default:n = true
+ all .default:n = true,
+ spcore .choice:,
+ spcore .value_required:n = true,
+ spcore/trad .code:n = \spb_mark_core_set_trad:n { super },
+ spcore/none .code:n = \spb_mark_core_set_none:n { super },
+ spcore .initial:n = trad,
+ sbcore .choice:,
+ sbcore .value_required:n = true,
+ sbcore/trad .code:n = \spb_mark_core_set_trad:n { sub },
+ sbcore/none .code:n = \spb_mark_core_set_none:n { sub },
+ sbcore .initial:n = trad
}
\char_set_catcode_active:N \~
\keys_define:nn { spbmark/option }
@@ -108,7 +128,12 @@
{ \tl_set_eq:NN \fnmarkfont \ftntm@font }
{ \tl_set_eq:NN \fnmarkfont \normalfont }
-\ProcessKeysOptions{spbmark/option}
+\cs_if_exist:NTF \ProcessKeyOptions
+ { \ProcessKeyOptions[spbmark/option] }
+ {
+ \RequirePackage{l3keys2e}
+ \ProcessKeysOptions{spbmark/option}
+ }
\tl_new:N \g__spb_mark_case_init_tl
\cs_new_protected:Npn \spb_local_case_init:nnn #1#2#3
@@ -314,7 +339,7 @@
{
\ensuremath
{
- \use:c { spb@math@#1@save }
+ \use:c { spb@math@#1@core }
{ \tl_use:c { l__spb_#1_cmd_i_tl }{#2} }
}
}
@@ -324,7 +349,7 @@
{
\hbox_gset:cn { g__#1_i_inner_box }
{
- \use:c { spb@text#1script@save }
+ \use:c { spb@text#1script@core }
{ \tl_use:c { l__spb_#1_cmd_i_tl }{#2} }
}
\dim_gset:Nv \rlastwd { l__spb_box_#1_wd_i_tl }
@@ -332,16 +357,16 @@
\cs_new:Npn \spb_math_print_store_ii:nn #1#2
{
\hbox_gset:Nn \g__super_ii_box
- { \ensuremath{\spb@math@super@save{\l__spb_super_cmd_ii_tl{#1}}} }
+ { \ensuremath{\spb@math@super@core{\l__spb_super_cmd_ii_tl{#1}}} }
\hbox_gset:Nn \g__sub_ii_box
- { \ensuremath{\spb@math@sub@save{\l__spb_sub_cmd_ii_tl{#2}}} }
+ { \ensuremath{\spb@math@sub@core{\l__spb_sub_cmd_ii_tl{#2}}} }
}
\cs_new:Npn \spb_text_print_store_ii:nn #1#2
{
\hbox_gset:Nn \g__super_ii_box
- { \spb@textsuperscript@save{\l__spb_super_cmd_ii_tl{#1}} }
+ { \spb@textsuperscript@core{\l__spb_super_cmd_ii_tl{#1}} }
\hbox_gset:Nn \g__sub_ii_box
- { \spb@textsubscript@save{\l__spb_sub_cmd_ii_tl{#2}} }
+ { \spb@textsubscript@core{\l__spb_sub_cmd_ii_tl{#2}} }
}
\cs_set_eq:NN \spbifmath \use_ii:nn
\cs_new:Npn \spb@ifmathtrue { \cs_set_eq:NN \spbifmath \use_i:nn }
@@ -585,7 +610,7 @@
{
\ifaltsbsp@spbmark
\SetAltSubSupCommands{\relax}
- \else\fi
+ \fi
}
}{}
\cs_set_eq:NN \spb \supersub
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index 9d04ea07f9..d452fd0904 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -1,25 +1,23 @@
\documentclass[load-preamble+]{cnltx-doc}
-\usepackage{siunitx,setspace,pifont,hologo}
+\usepackage{siunitx,setspace,hologo,changelog,enumitem}
\usepackage[spbmark]{altsubsup}
\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = spbmark,
- title = the spbmark package,
- version = v1.46j,
- date = 2024/05/19,
+ version = v1.46n,
+ date = 2024/07/14,
authors = Qu Yi,
- info = Customize superscript and subscript,
+ info = Customize superscripts and subscripts,
email = toquyi@163.com,
url = https://github.com/texno3/spbmark,
abstract =
{
- \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscript and subscript which can be adjusted the relative position and format, and can be used in text and math mode.
+ \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
},
color-scheme = blue,
- title-format = \huge\bfseries\scshape,
listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
pre-output = {\parindent = 0em\setstretch{1.3}},
before-skip = \smallskipamount,
@@ -43,6 +41,9 @@
\newnote{\newtag}[1]{\textcolor{red}{#1}}
\renewcommand{\emph}[1]{\textcolor{red}{#1}}
\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
\makeatother
\begin{document}
@@ -50,13 +51,13 @@
The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}.
\begin{options}
\keychoice{text}{true,\fbox{false}}
- \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
+ \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscripts and subscripts.
\keychoice{math}{true,\fbox{false}}
- \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
+ \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscripts and subscripts.
\keychoice{math*}{true,\fbox{false}}\newtag{Exp\\v1.46j}%
- The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscript and subscript.
+ The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscripts and subscripts.
\keychoice{foot}{true,\fbox{false}}
- The format of the footnote mark match the superscript global move and format settings. \cs{defspbstyle} can be used to define the superscript style \code{fnmark} to change the format of the footnote mark.
+ The format of the footnote mark match the superscripts global move and format settings. \cs{defspbstyle} can be used to define the superscripts style \code{fnmark} to change the format of the footnote mark.
\begin{example}[code-only]
\defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries}
\defspbstyle{mathsb}{hmove=0.5em}
@@ -71,11 +72,20 @@ The following macro package options will redefine the script commands of the \La
\usepackage[text,foot=true]{spbmark}
\spbset{all=false,math}
\end{example}
+ \keychoice{spcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
+ Kernel command case for text and math modes superscripts. If \code{none} is selected, support for the superscripts kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscripts.
+ \begin{example}[code-only]
+ \usepackage[spcore=none]{spbmark}
+ \usepackage{graphicx}
+ \spbset{spcmd=\scalebox{0.6},spvmove=5pt}
+ \end{example}
+ \keychoice{sbcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
+ Option for subscripts kernel command case, similar to the \option{spcore} option.
\end{options}
\section{User commands}
\label{sec:user commands}
-There are currently three commands to set superscript and subscript. Their format can be set temporarily using the optional parameters of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
+There are currently three commands to print superscripts and subscripts. Their format can be set locally using the optional parameter of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
\begin{commands}
\command{super}[\sarg\oarg{kv list}\marg{content}\oarg{kv list}]
This is a superscript output command. The two \meta{kv list} are equivalent.
@@ -118,7 +128,7 @@ There are currently three commands to set superscript and subscript. Their forma
6A\supersub[hmove=-8pt]{examsuper}{sub}\hspace{\dimexpr(\maxwd-8pt)}B
\end{example}
\command{defspbstyle}[\marg{style name}\marg{kv list}]
- Defines the style of the superscript or subscript used for the \option{style} option.
+ Defines the style of the superscripts or subscripts used for the \option{style} option.
\command{spbifmath}[\marg{math code}\marg{text code}]
In some cases, \code{math} or \code{text} output modes require different code for format or move. This command can be used when using the \code{match} option or changing the output mode locally, whitch should be used in the move or format options. It can switch the corresponding code according to different output modes.
\command{spbshortkv}[\marg{short opt}\marg{key value}]
@@ -145,11 +155,11 @@ The options common to \meta{kv list} of the three commands are as follows. They
\keyval{cmd}{format cmds}
The format commands of superscript or subscript. The last command can take a parameter, which accepts superscript or subscript. Represents the format of superscript and subscript in the superscript and subscript commands.
\keyval{cmd+}{format cmds}
- Add code to the previous global superscript or subscript format commands.
+ Add code to the previous option \option{cmd}.
\keyval{height}{fixed length}
- The distance between the superscript or subscript baseline and the previous line. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
+ The height of the marker box above the baseline. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
\keyval{depth}{fixed length}
- The distance between the superscript or subscript baseline and the next line.
+ The depth of the marker box below the baseline.
\keyval{style}{style name}
Use the \meta{style name} defined by the \cs{defspbstyle} command to make it work global or local.
\keychoice{mode}{text,math,\fbox{match}}
@@ -175,71 +185,74 @@ The options common to \meta{kv list} of the three commands are as follows. They
\label{sec:global control interface}
\begin{commands}
\command{spbset}[\marg{key-value list}]
- \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscript and subscript. These options also apply to \meta{kv list} of the above commands. The values ​set by it will be overwritten by the optional parameters of the superscript and other commands.
+ \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscripts and subscripts. These options also apply to \meta{kv list} of the \textcolor{red}{above} print commands. The values set by it will be overwritten by the optional parameter of superscripts and subscripts commands.
+
+ Note that the relative length units in the options such as \code{ex} and \code{em} are for the \textcolor{red}{body} font size, not the marker itself.
+
+ The following list of keys control the format both of superscripts \emph{or} subscripts. They can also be used in the optional parameter of the \cs{super} or \cs{sub} command.
\end{commands}
-The following list of keys control the format both of superscript \emph{or} subscript.
\begin{options}
\keyval{spvmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript.
+ Extra vertical move of the superscripts.
\keyval{sphmove}{fixed length}\Default{0pt}
- Extra horizontal move of the superscript.
+ Extra horizontal move of the superscripts.
\keyval{sbvmove}{fixed length}\Default{0pt}
- Extra vertical move of the subscript.
+ Extra vertical move of the subscripts.
\keyval{sbhmove}{fixed length}\Default{0pt}
- Extra horizontal move of the subscript.
+ Extra horizontal move of the subscripts.
\opt{nohmove}
- Cancel the horizontal move of superscript and subscript at the same time.
+ Cancel the horizontal move of superscripts and subscripts at the same time.
\opt{novmove}
- Cancel the vertical move of superscript and subscript at the same time.
+ Cancel the vertical move of superscripts and subscripts at the same time.
\keyval{spcmd}{format cmds}
- The format commands of superscript. The last command in the code can take an argument, which is a superscript.
+ The format commands of superscripts. The last command in the code can take an argument, which is a superscripts.
\keyval{spcmd+}{format cmds}
- Add code to the previous global superscript format commands.
+ Add code to the previous option \option{spcmd}.
\keyval{sbcmd}{format cmds}
- The format commands of subscript. The last command in the code can take an argument, which is a subscript.
+ The format commands of subscripts. Similar to the \option{spcmd} option, but for subscripts.
\keyval{sbcmd+}{format cmds}
- Add code to the previous global subcript format commands.
+ Add code to the previous option \option{sbcmd}.
\keyval{spheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spdepth}{fixed length}
- The distance between the superscript baseline and the next line.
+ The depth of the superscript box below the baseline.
\keyval{sbheight}{fixed length}
- The distance between the subscript baseline and the previous line.
+ The height of the subscript box above the baseline.
\keyval{sbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\keychoice{spthiswd}{auto,\fbox{keep}}
- Width processing mode after using this superscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this superscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keychoice{sbthiswd}{auto,\fbox{keep}}
- Width processing mode after using this subscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this subscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{spregex}{regular expression}
- After the superscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
+ After the superscripts command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{sbregex}{regular expression}
- After the subscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
+ Similar to the \option{spregex} option, but for subscripts.
\end{options}
-If \option{sphmove} is positive, the superscript or subscript moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscript and superscript is \textcolor{red}{opposite}. For superscript, if \option{spvmove} is positive, the superscript moves up, conversely it moves down. For subscript, if \option{spvmove} is positive, the subscript moves down, conversely it moves up.
+If \option{sphmove} is positive, the superscripts or subscripts moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscripts and superscripts is \textcolor{red}{opposite}. For superscripts, if \option{spvmove} is positive, the superscripts moves up, conversely it moves down. For subscripts, if \option{spvmove} is positive, the subscripts moves down, conversely it moves up.
-The following list of keys control the format of superscript \emph{and} subscript.
+The following list of keys control the format of superscripts \emph{and} subscripts. They can also be used in the optional parameter of the \cs{supersub} command.
\begin{options}
\keyval{spbhmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript and the subscript.
+ Extra vertical move of the superscripts and the subscripts.
\kvsplit{spbcmd}{super cmds}{sub cmds}
- The format commands of superscript and subscript. The first part is in superscript format, and the latter part is in subscript format. They are separated by commas, or only the first part exists.
+ The format commands of superscripts and subscripts. The first part is in superscripts format, and the latter part is in subscripts format. They are separated by commas, or only the first part exists.
\kvsplit{spbcmd+}{super cmds}{sub cmds}
- Add code to the previous global superscript and subscript format commands.
+ Add code to the previous option \option{spbcmd}.
\keyval{spbheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\kvsplit{vsep}{super move}{sub move}\Default{0.6ex}
- The extra vertical distance between superscript and subscript. The front part is the movement amount of the superscript, and the latter part is the movement amount of the subscript. If only the front part means that both are vertically shifted by one-half of the current value.
+ The extra vertical distance between superscripts and subscripts. The front part is the movement amount of the superscripts, and the latter part is the movement amount of the subscripts. If only the front part means that both are vertically shifted by one-half of the current value.
\keychoice{halign}{\fbox{l},c,r}
- The alignment of superscript and subscript, which contains \code{l}, \code{c}, and \code{r} parameters respectively for left, center, and right alignment.
+ The alignment of superscripts and subscripts, which contains \code{l}, \code{c}, and \code{r} parameter respectively for left, center, and right alignment.
\end{options}
\section{Examples of use}
-Here is a list of the three commands, please pay attention to the usage of optional parameters. Note when the horizontal move is negative, the starting point is at the right end of the mark.
+Here is a list of the three commands, please pay attention to the usage of optional parameter. Note when the horizontal move is negative, the starting point is at the right end of the mark.
\begin{example}
\defspbstyle{fancy}{cmd=\color{purple}}
\spbset{spbcmd={\spbifmath{\mathtt}{\ttfamily},\color{blue}}}
@@ -251,7 +264,7 @@ Here is a list of the three commands, please pay attention to the usage of optio
\end{example}
\subsection{siunitx}
-It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit:
+It can also be used with the \pkg*{siunitx} package to output superscripts and subscripts in the unit:
\begin{example}
\spbset{spcmd=\spbifmath{}{\color{purple}}}
\sisetup{text-superscript-command=\super}
@@ -262,13 +275,13 @@ It can also be used with the \pkg*{siunitx} package to output superscript and su
\end{example}
\subsection{realscripts}
-If the OpenType text font you are using does not have optical sizes, the superscript and subscript may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
+If the OpenType text font you are using does not have optical sizes, the superscripts and subscripts may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
\begin{example}[code-only]
\usepackage{realscripts,spbmark}
\end{example}
\subsection{altsubsup}
-The \pkg*{altsubsup} package allows to write alternate superscript and subscript in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscript and subscript mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscript style \code{altsup} and subscript style \code{altsub}.
+The \pkg*{altsubsup} package allows to write alternate superscripts and subscripts in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscripts and subscripts mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscripts style \code{altsup} and subscripts style \code{altsub}.
\begin{example}
\defspbstyle{altsup}{sphmove=-\llastwd,spthiswd=auto,spvmove=1pt}
$A_[bcd]^[e]B$
@@ -281,19 +294,27 @@ The \pkg*{altsubsup} package allows to write alternate superscript and subscript
If you need to use the original definitions of \cs{textsuperscript}, \cs{textsubscript}, \cs{sp} and \cs{sb} after using the \option{text} or \option{math} option, then you can use the following commands:
\begin{commands}
\command{spb@textsuperscript@save}[\marg{content}]
- Save the original definition of the \cs{textsuperscript} command, output superscript in the text mode.
+ Save the original definition of the \cs{textsuperscript} command, output superscripts in the text mode.
\command{spb@textsubscript@save}[\marg{content}]
- Save the original definition of the \cs{textsubscript} command, output subscript in the text mode.
+ Save the original definition of the \cs{textsubscript} command, output subscripts in the text mode.
\command{spb@math@super@save}[\marg{content}]
- Save the original definition of the \cs{sp} command, output superscript in the math mode.
+ Save the original definition of the \cs{sp} command, output superscripts in the math mode.
\command{spb@math@sub@save}[\marg{content}]
- Save the original definition of the \cs{sb} command, output subscript in the math mode.
+ Save the original definition of the \cs{sb} command, output subscripts in the math mode.
\end{commands}
\section{Known issues}
At present, the vertical and horizontal move are effective for the unit commands in the \pkg*{siunitx} macro package. However, due to the special mechanism that the decimal point is not recognized correctly because it's converted to a space in the \cs*{unit} command, it's recommended to use \code{pt} as the unit of move.
\appendix
+\begin{changelog}[simple]
+ \begin{version}[v = 1.46j,date = 2024/05/19]
+ \item Add option \option{math*}: The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands.
+ \end{version}
+ \begin{version}[v = 1.46k,date = 2024/06/21]
+ \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscripts and subscripts of text and math modes.
+ \end{version}
+\end{changelog}
\nocite{*}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..3185ca52c8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-2.ogg b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-2.ogg
new file mode 100644
index 0000000000..01bae15339
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-3.ogg b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-3.ogg
new file mode 100644
index 0000000000..fe2b4f1314
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.m3u
new file mode 100644
index 0000000000..cc969b31f7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.0.0.0.0.ogg
+1.0.0.0.0-1.ogg
+1.0.0.0.0-2.ogg
+1.0.0.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.ogg
new file mode 100644
index 0000000000..ff6db0d091
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/1.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..67712c1745
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-2.ogg b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-2.ogg
new file mode 100644
index 0000000000..f8f68b313b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-3.ogg b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-3.ogg
new file mode 100644
index 0000000000..9478bdebbb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.m3u
new file mode 100644
index 0000000000..38ff0aca21
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.0.0.0.0.ogg
+2.0.0.0.0-1.ogg
+2.0.0.0.0-2.ogg
+2.0.0.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.ogg
new file mode 100644
index 0000000000..44d415fd31
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/2.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..d500956316
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-2.ogg b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-2.ogg
new file mode 100644
index 0000000000..affd24989c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.m3u
new file mode 100644
index 0000000000..7126037f5d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.0.0.0.0.ogg
+3.0.0.0.0-1.ogg
+3.0.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.ogg
new file mode 100644
index 0000000000..d7147b5cd6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/3.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..c5307858c7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-2.ogg b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-2.ogg
new file mode 100644
index 0000000000..ef40bd9734
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.m3u
new file mode 100644
index 0000000000..3eebda66de
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.0.0.0.0.ogg
+4.0.0.0.0-1.ogg
+4.0.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.ogg
new file mode 100644
index 0000000000..95da73a4f1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/4.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.m3u
new file mode 100644
index 0000000000..ed93b0f718
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+5.0.0.0.0.ogg
+5.1.0.0.0.ogg
+5.1.0.0.0-1.ogg
+5.2.0.0.0.ogg
+5.2.0.0.0-1.ogg
+5.2.0.0.0-star-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.ogg
new file mode 100644
index 0000000000..ba529eb4c3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..e987134adf
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.m3u
new file mode 100644
index 0000000000..69e1f4059e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+5.1.0.0.0.ogg
+5.1.0.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.ogg
new file mode 100644
index 0000000000..8eab7ae3fb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-1.ogg
new file mode 100644
index 0000000000..dfa846e2fc
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-star-1.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-star-1.ogg
new file mode 100644
index 0000000000..1404701800
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0-star-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.m3u b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.m3u
new file mode 100644
index 0000000000..e5106355e4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+5.2.0.0.0.ogg
+5.2.0.0.0-1.ogg
+5.2.0.0.0-star-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.ogg b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.ogg
new file mode 100644
index 0000000000..7e2bb4d502
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/5.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/author.ogg b/macros/latex/contrib/spelatex/Example/example-spel/author.ogg
new file mode 100644
index 0000000000..ee14dcc502
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/author.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/date.ogg b/macros/latex/contrib/spelatex/Example/example-spel/date.ogg
new file mode 100644
index 0000000000..2c8670eb1a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/date.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example-spel/title.ogg b/macros/latex/contrib/spelatex/Example/example-spel/title.ogg
new file mode 100644
index 0000000000..f728d6671a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example-spel/title.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example.pdf b/macros/latex/contrib/spelatex/Example/example.pdf
new file mode 100644
index 0000000000..81ace4e4e3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example.pdf
Binary files differ
diff --git a/macros/latex/contrib/spelatex/Example/example.tex b/macros/latex/contrib/spelatex/Example/example.tex
new file mode 100644
index 0000000000..e7a5e8dc69
--- /dev/null
+++ b/macros/latex/contrib/spelatex/Example/example.tex
@@ -0,0 +1,112 @@
+\documentclass{article}
+
+\usepackage[dutch,english]{babel} % load babel before spel to avoid
+ % option clash!
+\selectlanguage{english}
+\usepackage[format=ogg]{spelatex}
+
+\newrobustcmd\CTAN{CTAN}
+\spelmacad{CTAN}{see-tan}
+\newrobustcmd\CPAN{CPAN}
+\spelmacad{CPAN}{see-pan}
+
+\title{\spelatex{} Example}
+\author{Walter Daems and Paul Levrie}
+\date{2011/04/12}
+\setlength\parindent{0em}
+\setlength\parskip{1ex}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+\begin{spelchunk}
+ This file is just a simple showcase of the features of \spelatex.
+ Below, you'll find examples of:
+\end{spelchunk}
+
+\begin{itemize}
+ \spelitem{a simple equation}
+ \spelitem{a more complex equation}
+\end{itemize}
+
+\section{A simple equation}
+\label{eqn:simple}
+\begin{spelchunk}
+ Consider the following simple definition of a polynomial function and
+ check its spoken version by clicking on it.
+\end{spelchunk}
+\begin{spelchunk}[arealink]
+ \begin{equation}
+ f(x) = x^{5}- x^4 + 7 x^3 + 3 x^2 - 8 x + 23
+ \end{equation}
+\end{spelchunk}
+\begin{spelchunk}
+ This seems a simple equation, however, it is not so straightforward
+ for an automated reader, to read it correctly.
+\end{spelchunk}
+
+\section{A more complex equation}
+\newcommand\xx[2]{\ensuremath{#1_{#2}}}
+\spelmacad{xx}[2]{#1 #2}
+
+\label{eqn:complex}
+\begin{spelchunk}
+ For a lightray that hits the parabola at the point
+ $P(t,9-\frac{t^2}{4})$, the reflected ray has slope $\tan 2\alpha$.
+ Since the slope of the tangent to the parabola at $P$ is
+ equal to $\tan\alpha = -\frac{t}{2}$, the equation of the
+ reflected ray is given by
+\end{spelchunk}
+\begin{spelchunk}[arealink]
+ \[
+ y-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+ \]
+\end{spelchunk}
+
+\selectlanguage{dutch}
+\section{Een andere taal}
+\begin{spelchunk}
+\spelatex{} is ook volledig babel-actief, wat wil zeggen dat de
+voorleesstem de geselecteerde taal zal volgen.
+\end{spelchunk}
+
+\begin{spelchunk}[arealink]
+ \[
+ y-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+ \]
+\end{spelchunk}
+
+\selectlanguage{english}
+\section{And some extras}
+\subsection{Citations}
+\begin{spelchunk}
+Two excellent repositories are \CPAN{} \cite{CPAN} and \CTAN{} \cite{CTAN}.
+\end{spelchunk}
+
+\subsection{References to labels}
+\begin{spelchunk}
+Section~\ref{eqn:simple} contains an illustration of a simple
+equation. For a more complex equation, we refer the user to
+section~\ref{eqn:complex}.
+\end{spelchunk}
+
+\bibliographystyle{alpha}
+
+\begin{thebibliography}{99}
+
+\bibitem{CTAN}
+The Comprehensive \TeX{} Archive Network.
+\newblock \url{http://www.ctan.org}.
+\newblock online, accessed in August 2021.
+
+\bibitem{CPAN}
+The Comprehensive Perl Archive Network.
+\newblock \url{http://www.cpan.org}.
+\newblock online, accessed in August 2021.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/macros/latex/contrib/spelatex/LICENSE b/macros/latex/contrib/spelatex/LICENSE
new file mode 100644
index 0000000000..ee327b8405
--- /dev/null
+++ b/macros/latex/contrib/spelatex/LICENSE
@@ -0,0 +1,9 @@
+License
+=======
+All files of the reader package are subject to the LPPL.
+
+The reader package may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt.
diff --git a/macros/latex/contrib/spelatex/README b/macros/latex/contrib/spelatex/README
new file mode 100644
index 0000000000..f20fa8b948
--- /dev/null
+++ b/macros/latex/contrib/spelatex/README
@@ -0,0 +1,61 @@
+********************************************************************
+* *
+* The spelatex package *
+* *
+********************************************************************
+ Walter Daems
+ walter.daems(at)uantwerpen.be
+
+
+SpeLaTeX equips the PDF that is generated with LaTeX with hyperlinks
+to audio files that contain the spoken equivalent of the original
+text, equations, figures and tables.
+
+The audio files can be automatically generated using a Perl-script
+called spel-wizard.pl (part of the SpeL::Wizard module available on
+CPAN). This script interfaces with locally installed text-to-speech
+software or with online available (paying) cloud services to generate
+the audio files. To this end, the LaTeX chunks of your text are parsed
+and translated to 'natural language'.
+
+SpeLaTeX is babel enabled, such that your text is read with the
+correct pronunciation corresponding to your language. So far, it
+provides the languages English and Dutch, but it will be extended in
+the future.
+
+You can package your PDF together with the audio-files (in your
+favorite archive format) and make it available to your users, such
+that the only requirements to read your text and listen to the audio
+are a suited PDF reader and media player. Not all readers and players
+work. Working readers are: okular, acrobat reader, pdfxchange
+viewer. Working media players are: SoX, totem, vlc.
+
+The package is part of the SpeLbox package, consisting of
+- an Emacs Org-mode exporter, called ox-spelatex (under development,
+ will be released soon)
+- the LaTeX spelatex package itself
+- a perl script 'spel-wizard.pl' available from CPAN in the SpeL::Wizard
+ module, that converts text to speech (doing the magic, parsing your
+ equations).
+
+The package also functions without the Org-Mode exporter, the latter
+just being there to make use more convenient. For the text-to-speech
+conversion, one can use free options (festival, balabolka, ...) or
+paying services (e.g. AWS polly).
+
+Do you like this package? You're welcome to send us beer, wine, or
+just an e-mail with kind words.
+
+If you want to contribute to the package (e.g., by providing some
+extra babel support for your language), please contact me.
+
+License
+=======
+
+see file LICENSE
+
+
+History
+=======
+
+see PDF documentation
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.m3u
new file mode 100644
index 0000000000..a6c2dc392a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.m3u
@@ -0,0 +1,31 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.0.0.0.0.ogg
+1.1.0.0.0.ogg
+1.1.0.0.0-1.ogg
+1.1.0.0.0-2.ogg
+1.1.0.0.0-3.ogg
+1.2.0.0.0.ogg
+1.2.1.0.0.ogg
+1.2.1.0.0-1.ogg
+1.2.1.0.0-2.ogg
+1.2.1.0.0-3.ogg
+1.2.2.0.0.ogg
+1.2.2.0.0-1.ogg
+1.2.2.0.0-2.ogg
+1.2.2.0.0-3.ogg
+1.2.2.0.0-4.ogg
+1.2.2.0.0-5.ogg
+1.3.0.0.0.ogg
+1.3.0.0.0-1.ogg
+1.3.0.0.0-2.ogg
+1.3.0.0.0-3.ogg
+1.3.0.0.0-4.ogg
+1.3.0.0.0-5.ogg
+1.3.0.0.0-6.ogg
+1.3.0.0.0-7.ogg
+1.3.0.0.0-8.ogg
+1.3.0.0.0-9.ogg
+1.3.0.0.0-10.ogg
+1.3.0.0.0-11.ogg
+1.3.0.0.0-12.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.ogg
new file mode 100644
index 0000000000..f41ff41400
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..ea54ff261a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-2.ogg
new file mode 100644
index 0000000000..316f66fd5f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-3.ogg
new file mode 100644
index 0000000000..28092584ed
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.m3u
new file mode 100644
index 0000000000..4ebe5bab70
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.1.0.0.0.ogg
+1.1.0.0.0-1.ogg
+1.1.0.0.0-2.ogg
+1.1.0.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.ogg
new file mode 100644
index 0000000000..131dd33d49
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.m3u
new file mode 100644
index 0000000000..db1dae06a9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.m3u
@@ -0,0 +1,13 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.2.0.0.0.ogg
+1.2.1.0.0.ogg
+1.2.1.0.0-1.ogg
+1.2.1.0.0-2.ogg
+1.2.1.0.0-3.ogg
+1.2.2.0.0.ogg
+1.2.2.0.0-1.ogg
+1.2.2.0.0-2.ogg
+1.2.2.0.0-3.ogg
+1.2.2.0.0-4.ogg
+1.2.2.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.ogg
new file mode 100644
index 0000000000..6985d8f27b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-1.ogg
new file mode 100644
index 0000000000..714b76e75e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-2.ogg
new file mode 100644
index 0000000000..a451b698c9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-3.ogg
new file mode 100644
index 0000000000..5ab8e79931
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.m3u
new file mode 100644
index 0000000000..b0e1e17f30
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.2.1.0.0.ogg
+1.2.1.0.0-1.ogg
+1.2.1.0.0-2.ogg
+1.2.1.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.ogg
new file mode 100644
index 0000000000..bdc044b04e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-1.ogg
new file mode 100644
index 0000000000..aa34ddaadd
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-2.ogg
new file mode 100644
index 0000000000..a622038409
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-3.ogg
new file mode 100644
index 0000000000..2e596a4e9b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-4.ogg
new file mode 100644
index 0000000000..fd0cb0f042
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-5.ogg
new file mode 100644
index 0000000000..ca6e7b0840
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.m3u
new file mode 100644
index 0000000000..ad74166429
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.2.2.0.0.ogg
+1.2.2.0.0-1.ogg
+1.2.2.0.0-2.ogg
+1.2.2.0.0-3.ogg
+1.2.2.0.0-4.ogg
+1.2.2.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.ogg
new file mode 100644
index 0000000000..d30536104f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.2.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-1.ogg
new file mode 100644
index 0000000000..8755692ae2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-10.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-10.ogg
new file mode 100644
index 0000000000..fd861c6630
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-10.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-11.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-11.ogg
new file mode 100644
index 0000000000..c19ca3750d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-11.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-12.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-12.ogg
new file mode 100644
index 0000000000..896cfe1e9f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-12.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-2.ogg
new file mode 100644
index 0000000000..b2ceb636ed
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-3.ogg
new file mode 100644
index 0000000000..2878767463
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-4.ogg
new file mode 100644
index 0000000000..e5b76465e9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-5.ogg
new file mode 100644
index 0000000000..6b9483b142
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-6.ogg
new file mode 100644
index 0000000000..6432746abe
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-7.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-7.ogg
new file mode 100644
index 0000000000..fd282fc22e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-7.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-8.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-8.ogg
new file mode 100644
index 0000000000..11e45178a3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-8.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-9.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-9.ogg
new file mode 100644
index 0000000000..5df4676bff
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0-9.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.m3u
new file mode 100644
index 0000000000..d673720186
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.m3u
@@ -0,0 +1,15 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+1.3.0.0.0.ogg
+1.3.0.0.0-1.ogg
+1.3.0.0.0-2.ogg
+1.3.0.0.0-3.ogg
+1.3.0.0.0-4.ogg
+1.3.0.0.0-5.ogg
+1.3.0.0.0-6.ogg
+1.3.0.0.0-7.ogg
+1.3.0.0.0-8.ogg
+1.3.0.0.0-9.ogg
+1.3.0.0.0-10.ogg
+1.3.0.0.0-11.ogg
+1.3.0.0.0-12.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.ogg
new file mode 100644
index 0000000000..41874f58e9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/1.3.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.m3u
new file mode 100644
index 0000000000..9c053963b6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.m3u
@@ -0,0 +1,59 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.0.0.0.0.ogg
+2.1.0.0.0.ogg
+2.1.0.0.0-1.ogg
+2.1.0.0.0-2.ogg
+2.1.0.0.0-3.ogg
+2.1.0.0.0-4.ogg
+2.1.0.0.0-5.ogg
+2.1.0.0.0-6.ogg
+footnote-1.ogg
+2.2.0.0.0.ogg
+2.2.1.0.0.ogg
+2.2.1.0.0-1.ogg
+2.2.1.0.0-2.ogg
+2.2.1.0.0-3.ogg
+2.2.1.0.0-4.ogg
+2.2.2.0.0.ogg
+2.2.2.0.0-1.ogg
+2.2.2.0.0-2.ogg
+2.2.2.0.0-3.ogg
+2.2.2.0.0-4.ogg
+footnote-2.ogg
+2.2.2.0.0-5.ogg
+2.2.2.0.0-6.ogg
+2.2.2.0.0-7.ogg
+2.2.2.0.0-8.ogg
+2.2.2.0.0-9.ogg
+2.2.2.0.0-10.ogg
+2.2.2.0.0-11.ogg
+2.2.2.0.0-12.ogg
+2.2.3.0.0.ogg
+2.2.3.0.0-1.ogg
+2.2.3.0.0-2.ogg
+2.2.4.0.0.ogg
+2.2.4.0.0-1.ogg
+2.2.4.0.0-2.ogg
+2.2.4.0.0-3.ogg
+2.2.4.0.0-4.ogg
+2.2.4.0.0-5.ogg
+2.2.4.0.0-6.ogg
+2.2.5.0.0.ogg
+2.2.5.0.0-1.ogg
+2.2.5.0.0-2.ogg
+2.2.6.0.0.ogg
+2.2.6.0.0-1.ogg
+2.2.6.0.0-2.ogg
+2.2.6.0.0-3.ogg
+2.3.0.0.0.ogg
+2.3.0.0.0-1.ogg
+2.3.0.0.0-2.ogg
+2.3.0.0.0-3.ogg
+2.3.0.0.0-4.ogg
+2.4.0.0.0.ogg
+2.4.0.0.0-1.ogg
+2.4.0.0.0-2.ogg
+2.4.0.0.0-3.ogg
+2.4.0.0.0-4.ogg
+2.4.0.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.ogg
new file mode 100644
index 0000000000..b25506f74b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..0351cb3d19
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-2.ogg
new file mode 100644
index 0000000000..711dc66367
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-3.ogg
new file mode 100644
index 0000000000..c8926c15ab
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-4.ogg
new file mode 100644
index 0000000000..62f31b27b8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-5.ogg
new file mode 100644
index 0000000000..7d21a4318b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-6.ogg
new file mode 100644
index 0000000000..8f73c2c7ca
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.m3u
new file mode 100644
index 0000000000..639be865ec
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.m3u
@@ -0,0 +1,10 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.1.0.0.0.ogg
+2.1.0.0.0-1.ogg
+2.1.0.0.0-2.ogg
+2.1.0.0.0-3.ogg
+2.1.0.0.0-4.ogg
+2.1.0.0.0-5.ogg
+2.1.0.0.0-6.ogg
+footnote-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.ogg
new file mode 100644
index 0000000000..7360d8018a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.m3u
new file mode 100644
index 0000000000..6fba59dcf3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.m3u
@@ -0,0 +1,39 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.0.0.0.ogg
+2.2.1.0.0.ogg
+2.2.1.0.0-1.ogg
+2.2.1.0.0-2.ogg
+2.2.1.0.0-3.ogg
+2.2.1.0.0-4.ogg
+2.2.2.0.0.ogg
+2.2.2.0.0-1.ogg
+2.2.2.0.0-2.ogg
+2.2.2.0.0-3.ogg
+2.2.2.0.0-4.ogg
+footnote-2.ogg
+2.2.2.0.0-5.ogg
+2.2.2.0.0-6.ogg
+2.2.2.0.0-7.ogg
+2.2.2.0.0-8.ogg
+2.2.2.0.0-9.ogg
+2.2.2.0.0-10.ogg
+2.2.2.0.0-11.ogg
+2.2.2.0.0-12.ogg
+2.2.3.0.0.ogg
+2.2.3.0.0-1.ogg
+2.2.3.0.0-2.ogg
+2.2.4.0.0.ogg
+2.2.4.0.0-1.ogg
+2.2.4.0.0-2.ogg
+2.2.4.0.0-3.ogg
+2.2.4.0.0-4.ogg
+2.2.4.0.0-5.ogg
+2.2.4.0.0-6.ogg
+2.2.5.0.0.ogg
+2.2.5.0.0-1.ogg
+2.2.5.0.0-2.ogg
+2.2.6.0.0.ogg
+2.2.6.0.0-1.ogg
+2.2.6.0.0-2.ogg
+2.2.6.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.ogg
new file mode 100644
index 0000000000..15e3c2f0c9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-1.ogg
new file mode 100644
index 0000000000..6bf77572b9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-2.ogg
new file mode 100644
index 0000000000..fde009a238
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-3.ogg
new file mode 100644
index 0000000000..0c47ef1f1c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-4.ogg
new file mode 100644
index 0000000000..ede30fbdfe
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.m3u
new file mode 100644
index 0000000000..98183521d8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.1.0.0.ogg
+2.2.1.0.0-1.ogg
+2.2.1.0.0-2.ogg
+2.2.1.0.0-3.ogg
+2.2.1.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.ogg
new file mode 100644
index 0000000000..d62c585ba2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-1.ogg
new file mode 100644
index 0000000000..a8a29d2801
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-10.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-10.ogg
new file mode 100644
index 0000000000..437bbfb2fa
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-10.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-11.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-11.ogg
new file mode 100644
index 0000000000..9770b89c6e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-11.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-12.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-12.ogg
new file mode 100644
index 0000000000..3f7983f7c5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-12.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-2.ogg
new file mode 100644
index 0000000000..472d803099
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-3.ogg
new file mode 100644
index 0000000000..375c547c08
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-4.ogg
new file mode 100644
index 0000000000..cc8c361025
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-5.ogg
new file mode 100644
index 0000000000..72e05ea116
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-6.ogg
new file mode 100644
index 0000000000..9a79083394
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-7.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-7.ogg
new file mode 100644
index 0000000000..f154852d0e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-7.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-8.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-8.ogg
new file mode 100644
index 0000000000..511d94185c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-8.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-9.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-9.ogg
new file mode 100644
index 0000000000..69f1ac6701
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0-9.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.m3u
new file mode 100644
index 0000000000..319b497479
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.m3u
@@ -0,0 +1,16 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.2.0.0.ogg
+2.2.2.0.0-1.ogg
+2.2.2.0.0-2.ogg
+2.2.2.0.0-3.ogg
+2.2.2.0.0-4.ogg
+footnote-2.ogg
+2.2.2.0.0-5.ogg
+2.2.2.0.0-6.ogg
+2.2.2.0.0-7.ogg
+2.2.2.0.0-8.ogg
+2.2.2.0.0-9.ogg
+2.2.2.0.0-10.ogg
+2.2.2.0.0-11.ogg
+2.2.2.0.0-12.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.ogg
new file mode 100644
index 0000000000..74ae517fa6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-1.ogg
new file mode 100644
index 0000000000..95cc730494
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-2.ogg
new file mode 100644
index 0000000000..85b092fa09
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.m3u
new file mode 100644
index 0000000000..db806b06e6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.3.0.0.ogg
+2.2.3.0.0-1.ogg
+2.2.3.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.ogg
new file mode 100644
index 0000000000..a1832ce2db
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.3.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-1.ogg
new file mode 100644
index 0000000000..6bba254cb3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-2.ogg
new file mode 100644
index 0000000000..be39c9b098
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-3.ogg
new file mode 100644
index 0000000000..19449c3761
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-4.ogg
new file mode 100644
index 0000000000..c83f2d5cae
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-5.ogg
new file mode 100644
index 0000000000..550e0e4712
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-6.ogg
new file mode 100644
index 0000000000..a725418127
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.m3u
new file mode 100644
index 0000000000..5d6b37fe95
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.4.0.0.ogg
+2.2.4.0.0-1.ogg
+2.2.4.0.0-2.ogg
+2.2.4.0.0-3.ogg
+2.2.4.0.0-4.ogg
+2.2.4.0.0-5.ogg
+2.2.4.0.0-6.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.ogg
new file mode 100644
index 0000000000..ee37616991
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.4.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-1.ogg
new file mode 100644
index 0000000000..f557268e9a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-2.ogg
new file mode 100644
index 0000000000..949ad1f84f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.m3u
new file mode 100644
index 0000000000..1a186d15de
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.5.0.0.ogg
+2.2.5.0.0-1.ogg
+2.2.5.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.ogg
new file mode 100644
index 0000000000..d2195a26cc
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.5.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-1.ogg
new file mode 100644
index 0000000000..cb6ebd1183
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-2.ogg
new file mode 100644
index 0000000000..8ae2cccab1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-3.ogg
new file mode 100644
index 0000000000..c93a3c6d6c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.m3u
new file mode 100644
index 0000000000..ae39555217
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.2.6.0.0.ogg
+2.2.6.0.0-1.ogg
+2.2.6.0.0-2.ogg
+2.2.6.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.ogg
new file mode 100644
index 0000000000..8c82713973
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.2.6.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-1.ogg
new file mode 100644
index 0000000000..6772bbf466
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-2.ogg
new file mode 100644
index 0000000000..45d4885ae7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-3.ogg
new file mode 100644
index 0000000000..9d5ab0c4fe
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-4.ogg
new file mode 100644
index 0000000000..1b0411966c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.m3u
new file mode 100644
index 0000000000..8652268b66
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.3.0.0.0.ogg
+2.3.0.0.0-1.ogg
+2.3.0.0.0-2.ogg
+2.3.0.0.0-3.ogg
+2.3.0.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.ogg
new file mode 100644
index 0000000000..955a986c87
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.3.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-1.ogg
new file mode 100644
index 0000000000..3a95f7e72a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-2.ogg
new file mode 100644
index 0000000000..d137101e04
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-3.ogg
new file mode 100644
index 0000000000..b5feb6b9ce
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-4.ogg
new file mode 100644
index 0000000000..a585c2e035
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-5.ogg
new file mode 100644
index 0000000000..59f9b5a3c6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.m3u
new file mode 100644
index 0000000000..ee754a4627
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+2.4.0.0.0.ogg
+2.4.0.0.0-1.ogg
+2.4.0.0.0-2.ogg
+2.4.0.0.0-3.ogg
+2.4.0.0.0-4.ogg
+2.4.0.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.ogg
new file mode 100644
index 0000000000..32673df314
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/2.4.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.m3u
new file mode 100644
index 0000000000..8f2c49d9e4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.m3u
@@ -0,0 +1,26 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.0.0.0.0.ogg
+3.1.0.0.0.ogg
+3.1.0.0.0-1.ogg
+3.1.0.0.0-2.ogg
+3.1.0.0.0-3.ogg
+3.2.0.0.0.ogg
+3.2.1.0.0.ogg
+3.2.1.0.0-1.ogg
+3.2.1.0.0-2.ogg
+3.2.1.0.0-3.ogg
+3.2.1.0.0-4.ogg
+3.2.1.0.0-5.ogg
+3.2.2.0.0.ogg
+3.2.2.0.0-1.ogg
+3.2.2.0.0-2.ogg
+3.2.2.0.0-3.ogg
+3.2.2.0.0-4.ogg
+3.2.2.0.0-5.ogg
+3.2.2.0.0-6.ogg
+3.3.0.0.0.ogg
+3.3.0.0.0-1.ogg
+3.4.0.0.0.ogg
+3.4.0.0.0-1.ogg
+3.4.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.ogg
new file mode 100644
index 0000000000..3f7aa5376b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..8de21e60da
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-2.ogg
new file mode 100644
index 0000000000..181c6ce4df
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-3.ogg
new file mode 100644
index 0000000000..374e4a19ed
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.m3u
new file mode 100644
index 0000000000..841095e90f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.1.0.0.0.ogg
+3.1.0.0.0-1.ogg
+3.1.0.0.0-2.ogg
+3.1.0.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.ogg
new file mode 100644
index 0000000000..402087171e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.m3u
new file mode 100644
index 0000000000..925bdb7d03
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.m3u
@@ -0,0 +1,16 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.2.0.0.0.ogg
+3.2.1.0.0.ogg
+3.2.1.0.0-1.ogg
+3.2.1.0.0-2.ogg
+3.2.1.0.0-3.ogg
+3.2.1.0.0-4.ogg
+3.2.1.0.0-5.ogg
+3.2.2.0.0.ogg
+3.2.2.0.0-1.ogg
+3.2.2.0.0-2.ogg
+3.2.2.0.0-3.ogg
+3.2.2.0.0-4.ogg
+3.2.2.0.0-5.ogg
+3.2.2.0.0-6.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.ogg
new file mode 100644
index 0000000000..889afb6f22
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-1.ogg
new file mode 100644
index 0000000000..d47169eb17
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-2.ogg
new file mode 100644
index 0000000000..4fdf603598
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-3.ogg
new file mode 100644
index 0000000000..226d8aaa40
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-4.ogg
new file mode 100644
index 0000000000..9765dbb2c6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-5.ogg
new file mode 100644
index 0000000000..44ba2dd04a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.m3u
new file mode 100644
index 0000000000..4dca129e2c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.2.1.0.0.ogg
+3.2.1.0.0-1.ogg
+3.2.1.0.0-2.ogg
+3.2.1.0.0-3.ogg
+3.2.1.0.0-4.ogg
+3.2.1.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.ogg
new file mode 100644
index 0000000000..cf767af99b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-1.ogg
new file mode 100644
index 0000000000..02fd558b14
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-2.ogg
new file mode 100644
index 0000000000..83c9a9a5f4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-3.ogg
new file mode 100644
index 0000000000..ed2d91628d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-4.ogg
new file mode 100644
index 0000000000..0d64440011
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-5.ogg
new file mode 100644
index 0000000000..0c554f69ba
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-6.ogg
new file mode 100644
index 0000000000..7f0754c7bb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.m3u
new file mode 100644
index 0000000000..f748017144
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.2.2.0.0.ogg
+3.2.2.0.0-1.ogg
+3.2.2.0.0-2.ogg
+3.2.2.0.0-3.ogg
+3.2.2.0.0-4.ogg
+3.2.2.0.0-5.ogg
+3.2.2.0.0-6.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.ogg
new file mode 100644
index 0000000000..afff242cea
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.2.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0-1.ogg
new file mode 100644
index 0000000000..bcee2491e1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.m3u
new file mode 100644
index 0000000000..6fc1783bde
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.3.0.0.0.ogg
+3.3.0.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.ogg
new file mode 100644
index 0000000000..f144a1d1a6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.3.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-1.ogg
new file mode 100644
index 0000000000..caba787f5d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-2.ogg
new file mode 100644
index 0000000000..7785c186eb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.m3u
new file mode 100644
index 0000000000..6839de2f60
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+3.4.0.0.0.ogg
+3.4.0.0.0-1.ogg
+3.4.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.ogg
new file mode 100644
index 0000000000..6da364e1f3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/3.4.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.m3u
new file mode 100644
index 0000000000..9d5aff05d5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.m3u
@@ -0,0 +1,53 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.0.0.0.0.ogg
+4.1.0.0.0.ogg
+4.1.0.0.0-1.ogg
+4.1.0.0.0-2.ogg
+4.1.0.0.0-3.ogg
+4.1.0.0.0-4.ogg
+4.1.0.0.0-5.ogg
+4.1.0.0.0-6.ogg
+4.1.0.0.0-7.ogg
+4.1.0.0.0-8.ogg
+4.1.1.0.0.ogg
+4.1.1.0.0-1.ogg
+4.1.1.0.0-2.ogg
+4.1.1.0.0-3.ogg
+4.1.1.0.0-4.ogg
+4.1.2.0.0.ogg
+4.1.2.0.0-1.ogg
+4.1.2.0.0-2.ogg
+4.1.3.0.0.ogg
+4.1.3.0.0-1.ogg
+4.1.3.0.0-2.ogg
+4.1.3.0.0-3.ogg
+4.1.3.0.0-4.ogg
+4.1.3.0.0-5.ogg
+4.1.4.0.0.ogg
+4.1.4.0.0-1.ogg
+4.1.4.0.0-2.ogg
+4.1.4.0.0-3.ogg
+4.1.4.0.0-4.ogg
+4.1.5.0.0.ogg
+4.1.5.0.0-1.ogg
+4.1.5.0.0-2.ogg
+4.1.5.0.0-3.ogg
+4.1.5.0.0-4.ogg
+4.1.6.0.0.ogg
+4.1.6.0.0-1.ogg
+4.1.6.0.0-2.ogg
+4.1.6.0.0-3.ogg
+4.1.6.0.0-4.ogg
+4.1.6.0.0-5.ogg
+4.1.7.0.0.ogg
+4.1.7.0.0-1.ogg
+4.1.7.0.0-2.ogg
+4.1.7.0.0-3.ogg
+4.1.7.0.0-4.ogg
+4.2.0.0.0.ogg
+4.2.0.0.0-1.ogg
+4.2.0.0.0-2.ogg
+4.2.0.0.0-3.ogg
+4.2.0.0.0-4.ogg
+4.2.0.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.ogg
new file mode 100644
index 0000000000..e05874d6ba
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..58dc04068d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-2.ogg
new file mode 100644
index 0000000000..a1483cea12
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-3.ogg
new file mode 100644
index 0000000000..44ca72ba64
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-4.ogg
new file mode 100644
index 0000000000..39a304fb03
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-5.ogg
new file mode 100644
index 0000000000..67fa7fce21
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-6.ogg
new file mode 100644
index 0000000000..8fd82f60d0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-7.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-7.ogg
new file mode 100644
index 0000000000..159cc44e6a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-7.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-8.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-8.ogg
new file mode 100644
index 0000000000..d70d6468e8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0-8.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.m3u
new file mode 100644
index 0000000000..3a01c842f0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.m3u
@@ -0,0 +1,46 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.0.0.0.ogg
+4.1.0.0.0-1.ogg
+4.1.0.0.0-2.ogg
+4.1.0.0.0-3.ogg
+4.1.0.0.0-4.ogg
+4.1.0.0.0-5.ogg
+4.1.0.0.0-6.ogg
+4.1.0.0.0-7.ogg
+4.1.0.0.0-8.ogg
+4.1.1.0.0.ogg
+4.1.1.0.0-1.ogg
+4.1.1.0.0-2.ogg
+4.1.1.0.0-3.ogg
+4.1.1.0.0-4.ogg
+4.1.2.0.0.ogg
+4.1.2.0.0-1.ogg
+4.1.2.0.0-2.ogg
+4.1.3.0.0.ogg
+4.1.3.0.0-1.ogg
+4.1.3.0.0-2.ogg
+4.1.3.0.0-3.ogg
+4.1.3.0.0-4.ogg
+4.1.3.0.0-5.ogg
+4.1.4.0.0.ogg
+4.1.4.0.0-1.ogg
+4.1.4.0.0-2.ogg
+4.1.4.0.0-3.ogg
+4.1.4.0.0-4.ogg
+4.1.5.0.0.ogg
+4.1.5.0.0-1.ogg
+4.1.5.0.0-2.ogg
+4.1.5.0.0-3.ogg
+4.1.5.0.0-4.ogg
+4.1.6.0.0.ogg
+4.1.6.0.0-1.ogg
+4.1.6.0.0-2.ogg
+4.1.6.0.0-3.ogg
+4.1.6.0.0-4.ogg
+4.1.6.0.0-5.ogg
+4.1.7.0.0.ogg
+4.1.7.0.0-1.ogg
+4.1.7.0.0-2.ogg
+4.1.7.0.0-3.ogg
+4.1.7.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.ogg
new file mode 100644
index 0000000000..0ead8d7bca
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-1.ogg
new file mode 100644
index 0000000000..6d37123ff3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-2.ogg
new file mode 100644
index 0000000000..8720221612
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-3.ogg
new file mode 100644
index 0000000000..e526fea8ca
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-4.ogg
new file mode 100644
index 0000000000..f05f6410f6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.m3u
new file mode 100644
index 0000000000..c456177811
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.1.0.0.ogg
+4.1.1.0.0-1.ogg
+4.1.1.0.0-2.ogg
+4.1.1.0.0-3.ogg
+4.1.1.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.ogg
new file mode 100644
index 0000000000..a68cbb7f86
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-1.ogg
new file mode 100644
index 0000000000..34c7209ae5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-2.ogg
new file mode 100644
index 0000000000..d20e2c57c3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.m3u
new file mode 100644
index 0000000000..a00d94f72f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.2.0.0.ogg
+4.1.2.0.0-1.ogg
+4.1.2.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.ogg
new file mode 100644
index 0000000000..24fe12ce0a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-1.ogg
new file mode 100644
index 0000000000..ce7eb24a73
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-2.ogg
new file mode 100644
index 0000000000..e303e96f8e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-3.ogg
new file mode 100644
index 0000000000..d20e2c57c3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-4.ogg
new file mode 100644
index 0000000000..bdbb7e4f6e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-5.ogg
new file mode 100644
index 0000000000..d20e2c57c3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.m3u
new file mode 100644
index 0000000000..6a3684a7b3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.3.0.0.ogg
+4.1.3.0.0-1.ogg
+4.1.3.0.0-2.ogg
+4.1.3.0.0-3.ogg
+4.1.3.0.0-4.ogg
+4.1.3.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.ogg
new file mode 100644
index 0000000000..2f2d924197
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.3.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-1.ogg
new file mode 100644
index 0000000000..6052ee961a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-2.ogg
new file mode 100644
index 0000000000..362145b403
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-3.ogg
new file mode 100644
index 0000000000..9d0007377d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-4.ogg
new file mode 100644
index 0000000000..e6633a1efc
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.m3u
new file mode 100644
index 0000000000..e9a7ce2db1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.4.0.0.ogg
+4.1.4.0.0-1.ogg
+4.1.4.0.0-2.ogg
+4.1.4.0.0-3.ogg
+4.1.4.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.ogg
new file mode 100644
index 0000000000..e7b7866591
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.4.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-1.ogg
new file mode 100644
index 0000000000..1949056128
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-2.ogg
new file mode 100644
index 0000000000..247c35c3a4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-3.ogg
new file mode 100644
index 0000000000..7f3d1fb857
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-4.ogg
new file mode 100644
index 0000000000..3f1990e971
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.m3u
new file mode 100644
index 0000000000..46999ff035
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.5.0.0.ogg
+4.1.5.0.0-1.ogg
+4.1.5.0.0-2.ogg
+4.1.5.0.0-3.ogg
+4.1.5.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.ogg
new file mode 100644
index 0000000000..2e17823934
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.5.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-1.ogg
new file mode 100644
index 0000000000..a3f5673c63
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-2.ogg
new file mode 100644
index 0000000000..e4469c62f8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-3.ogg
new file mode 100644
index 0000000000..2a89c9e2af
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-4.ogg
new file mode 100644
index 0000000000..da6ed1a16f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-5.ogg
new file mode 100644
index 0000000000..575d63530a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.m3u
new file mode 100644
index 0000000000..1b21289bb0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.6.0.0.ogg
+4.1.6.0.0-1.ogg
+4.1.6.0.0-2.ogg
+4.1.6.0.0-3.ogg
+4.1.6.0.0-4.ogg
+4.1.6.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.ogg
new file mode 100644
index 0000000000..e417d4427f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.6.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-1.ogg
new file mode 100644
index 0000000000..cc6324a68b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-2.ogg
new file mode 100644
index 0000000000..d913b6722b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-3.ogg
new file mode 100644
index 0000000000..8049b4c6f2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-4.ogg
new file mode 100644
index 0000000000..4b2aa15351
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.m3u
new file mode 100644
index 0000000000..59d35f8864
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.1.7.0.0.ogg
+4.1.7.0.0-1.ogg
+4.1.7.0.0-2.ogg
+4.1.7.0.0-3.ogg
+4.1.7.0.0-4.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.ogg
new file mode 100644
index 0000000000..5023aa141e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.1.7.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-1.ogg
new file mode 100644
index 0000000000..e9f6dc1fb0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-2.ogg
new file mode 100644
index 0000000000..29f8601a16
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-3.ogg
new file mode 100644
index 0000000000..d38401e89e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-4.ogg
new file mode 100644
index 0000000000..0f703d3092
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-5.ogg
new file mode 100644
index 0000000000..6b05a09f2e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.m3u
new file mode 100644
index 0000000000..dc99929f4a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.m3u
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+4.2.0.0.0.ogg
+4.2.0.0.0-1.ogg
+4.2.0.0.0-2.ogg
+4.2.0.0.0-3.ogg
+4.2.0.0.0-4.ogg
+4.2.0.0.0-5.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.ogg
new file mode 100644
index 0000000000..4a86da2c86
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/4.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..c039789ca4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.m3u
new file mode 100644
index 0000000000..270a6f6c2b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+5.0.0.0.0.ogg
+5.0.0.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.ogg
new file mode 100644
index 0000000000..9d384db35b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/5.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..b959950db4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.m3u
new file mode 100644
index 0000000000..1e0e8f0664
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.m3u
@@ -0,0 +1,48 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.0.0.0.0.ogg
+6.0.0.0.0-1.ogg
+6.1.0.0.0.ogg
+6.1.0.0.0-1.ogg
+6.2.0.0.0.ogg
+6.2.1.0.0.ogg
+6.2.1.0.0-1.ogg
+6.2.2.0.0.ogg
+6.2.2.0.0-1.ogg
+6.3.0.0.0.ogg
+6.3.1.0.0.ogg
+6.3.1.0.0-1.ogg
+6.3.2.0.0.ogg
+6.3.2.0.0-1.ogg
+6.3.2.0.0-2.ogg
+6.3.2.0.0-3.ogg
+6.3.2.0.0-4.ogg
+6.3.2.0.0-5.ogg
+6.3.2.0.0-6.ogg
+6.3.3.0.0.ogg
+6.3.3.0.0-1.ogg
+6.4.0.0.0.ogg
+6.4.0.0.0-1.ogg
+6.4.0.0.0-2.ogg
+6.5.0.0.0.ogg
+6.5.0.0.0-1.ogg
+6.5.0.0.0-2.ogg
+6.6.0.0.0.ogg
+6.6.1.0.0.ogg
+6.6.1.0.0-1.ogg
+6.6.1.0.0-2.ogg
+6.6.1.0.0-3.ogg
+6.6.2.0.0.ogg
+6.6.2.0.0-1.ogg
+6.7.0.0.0.ogg
+6.7.0.0.0-1.ogg
+6.7.0.0.0-2.ogg
+6.7.0.0.0-3.ogg
+6.7.0.0.0-4.ogg
+6.7.0.0.0-5.ogg
+6.7.0.0.0-6.ogg
+6.7.0.0.0-7.ogg
+6.7.0.0.0-8.ogg
+6.7.0.0.0-9.ogg
+6.7.0.0.0-10.ogg
+6.7.0.0.0-11.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.ogg
new file mode 100644
index 0000000000..f1b641261b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0-1.ogg
new file mode 100644
index 0000000000..ac16291da1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.m3u
new file mode 100644
index 0000000000..523f40cae3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.1.0.0.0.ogg
+6.1.0.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.ogg
new file mode 100644
index 0000000000..8f149312f2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.m3u
new file mode 100644
index 0000000000..e204a3185c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.2.0.0.0.ogg
+6.2.1.0.0.ogg
+6.2.1.0.0-1.ogg
+6.2.2.0.0.ogg
+6.2.2.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.ogg
new file mode 100644
index 0000000000..122a2dbbcf
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0-1.ogg
new file mode 100644
index 0000000000..464d55991a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.m3u
new file mode 100644
index 0000000000..a5741a63f1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.2.1.0.0.ogg
+6.2.1.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.ogg
new file mode 100644
index 0000000000..dcdb3dc3f2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0-1.ogg
new file mode 100644
index 0000000000..b3f0b35ec6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.m3u
new file mode 100644
index 0000000000..47a9259f45
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.2.2.0.0.ogg
+6.2.2.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.ogg
new file mode 100644
index 0000000000..0d189cb732
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.2.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.m3u
new file mode 100644
index 0000000000..5f1ab83f22
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.m3u
@@ -0,0 +1,14 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.3.0.0.0.ogg
+6.3.1.0.0.ogg
+6.3.1.0.0-1.ogg
+6.3.2.0.0.ogg
+6.3.2.0.0-1.ogg
+6.3.2.0.0-2.ogg
+6.3.2.0.0-3.ogg
+6.3.2.0.0-4.ogg
+6.3.2.0.0-5.ogg
+6.3.2.0.0-6.ogg
+6.3.3.0.0.ogg
+6.3.3.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.ogg
new file mode 100644
index 0000000000..c5129d96af
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0-1.ogg
new file mode 100644
index 0000000000..f8f68b313b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.m3u
new file mode 100644
index 0000000000..03c58738cd
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.3.1.0.0.ogg
+6.3.1.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.ogg
new file mode 100644
index 0000000000..13dc05e262
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-1.ogg
new file mode 100644
index 0000000000..260158312f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-2.ogg
new file mode 100644
index 0000000000..8a43e52e34
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-3.ogg
new file mode 100644
index 0000000000..5de30a7757
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-4.ogg
new file mode 100644
index 0000000000..1e35aaed0f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-5.ogg
new file mode 100644
index 0000000000..bcb48dda01
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-6.ogg
new file mode 100644
index 0000000000..9b1d6ab7d7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.m3u
new file mode 100644
index 0000000000..9932c5cbfc
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.3.2.0.0.ogg
+6.3.2.0.0-1.ogg
+6.3.2.0.0-2.ogg
+6.3.2.0.0-3.ogg
+6.3.2.0.0-4.ogg
+6.3.2.0.0-5.ogg
+6.3.2.0.0-6.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.ogg
new file mode 100644
index 0000000000..d2a70dbf20
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0-1.ogg
new file mode 100644
index 0000000000..a1f79c1f83
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.m3u
new file mode 100644
index 0000000000..c4fd845f5b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.3.3.0.0.ogg
+6.3.3.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.ogg
new file mode 100644
index 0000000000..b7c47100a5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.3.3.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-1.ogg
new file mode 100644
index 0000000000..90bf30c41f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-2.ogg
new file mode 100644
index 0000000000..201f087a7e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.m3u
new file mode 100644
index 0000000000..ef2790eb3c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.4.0.0.0.ogg
+6.4.0.0.0-1.ogg
+6.4.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.ogg
new file mode 100644
index 0000000000..68e58600eb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.4.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-1.ogg
new file mode 100644
index 0000000000..1c1eff8793
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-2.ogg
new file mode 100644
index 0000000000..b5254ef6c2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.m3u
new file mode 100644
index 0000000000..92cb21e03c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.5.0.0.0.ogg
+6.5.0.0.0-1.ogg
+6.5.0.0.0-2.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.ogg
new file mode 100644
index 0000000000..53d769aac7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.5.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.m3u
new file mode 100644
index 0000000000..a3e705a5a5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.6.0.0.0.ogg
+6.6.1.0.0.ogg
+6.6.1.0.0-1.ogg
+6.6.1.0.0-2.ogg
+6.6.1.0.0-3.ogg
+6.6.2.0.0.ogg
+6.6.2.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.ogg
new file mode 100644
index 0000000000..700b8c7e9a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-1.ogg
new file mode 100644
index 0000000000..abd95d02ff
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-2.ogg
new file mode 100644
index 0000000000..5200b6e405
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-3.ogg
new file mode 100644
index 0000000000..194c9db5ce
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.m3u
new file mode 100644
index 0000000000..e45e6c3453
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.m3u
@@ -0,0 +1,6 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.6.1.0.0.ogg
+6.6.1.0.0-1.ogg
+6.6.1.0.0-2.ogg
+6.6.1.0.0-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.ogg
new file mode 100644
index 0000000000..5c098338e6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0-1.ogg
new file mode 100644
index 0000000000..5eae47cfde
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.m3u
new file mode 100644
index 0000000000..fbb664ca1e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.m3u
@@ -0,0 +1,4 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.6.2.0.0.ogg
+6.6.2.0.0-1.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.ogg
new file mode 100644
index 0000000000..a36c28ebe7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.6.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-1.ogg
new file mode 100644
index 0000000000..d500956316
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-10.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-10.ogg
new file mode 100644
index 0000000000..a34acee074
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-10.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-11.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-11.ogg
new file mode 100644
index 0000000000..7a635a44b2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-11.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-2.ogg
new file mode 100644
index 0000000000..affd24989c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-3.ogg
new file mode 100644
index 0000000000..9fe42a9abd
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-4.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-4.ogg
new file mode 100644
index 0000000000..91a5eb0453
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-4.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-5.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-5.ogg
new file mode 100644
index 0000000000..0268496ef5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-5.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-6.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-6.ogg
new file mode 100644
index 0000000000..c4bc4dfd11
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-6.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-7.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-7.ogg
new file mode 100644
index 0000000000..2bb5feffa5
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-7.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-8.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-8.ogg
new file mode 100644
index 0000000000..9e0a398575
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-8.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-9.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-9.ogg
new file mode 100644
index 0000000000..e1185b7cd4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0-9.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.m3u
new file mode 100644
index 0000000000..81788dd3a9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.m3u
@@ -0,0 +1,14 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+6.7.0.0.0.ogg
+6.7.0.0.0-1.ogg
+6.7.0.0.0-2.ogg
+6.7.0.0.0-3.ogg
+6.7.0.0.0-4.ogg
+6.7.0.0.0-5.ogg
+6.7.0.0.0-6.ogg
+6.7.0.0.0-7.ogg
+6.7.0.0.0-8.ogg
+6.7.0.0.0-9.ogg
+6.7.0.0.0-10.ogg
+6.7.0.0.0-11.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.ogg
new file mode 100644
index 0000000000..1af6116cd1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/6.7.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..c289bcfa04
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.m3u
new file mode 100644
index 0000000000..59c209eb26
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.m3u
@@ -0,0 +1,27 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.0.0.0.0.ogg
+7.0.0.0.0-1.ogg
+7.1.0.0.0.ogg
+7.2.0.0.0.ogg
+7.3.0.0.0.ogg
+7.4.0.0.0.ogg
+7.5.0.0.0.ogg
+7.6.0.0.0.ogg
+7.7.0.0.0.ogg
+7.8.0.0.0.ogg
+7.8.1.0.0.ogg
+7.8.2.0.0.ogg
+7.8.3.0.0.ogg
+7.8.4.0.0.ogg
+7.8.5.0.0.ogg
+7.8.6.0.0.ogg
+7.9.0.0.0.ogg
+7.9.1.0.0.ogg
+7.9.2.0.0.ogg
+7.10.0.0.0.ogg
+7.10.1.0.0.ogg
+7.10.2.0.0.ogg
+7.10.3.0.0.ogg
+7.10.4.0.0.ogg
+7.11.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.ogg
new file mode 100644
index 0000000000..2208a529c9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.m3u
new file mode 100644
index 0000000000..aad8452193
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.1.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.ogg
new file mode 100644
index 0000000000..4ea4028b7b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.1.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.m3u
new file mode 100644
index 0000000000..4e2e99f016
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.m3u
@@ -0,0 +1,7 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.10.0.0.0.ogg
+7.10.1.0.0.ogg
+7.10.2.0.0.ogg
+7.10.3.0.0.ogg
+7.10.4.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.ogg
new file mode 100644
index 0000000000..07be005182
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.m3u
new file mode 100644
index 0000000000..9118733d86
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.10.1.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.ogg
new file mode 100644
index 0000000000..68f3689b55
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.m3u
new file mode 100644
index 0000000000..6eecefd465
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.10.2.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.ogg
new file mode 100644
index 0000000000..f368c080f1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.m3u
new file mode 100644
index 0000000000..3adc9502ac
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.10.3.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.ogg
new file mode 100644
index 0000000000..ffd90a79f0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.3.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.m3u
new file mode 100644
index 0000000000..552f4fbbec
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.10.4.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.ogg
new file mode 100644
index 0000000000..c7c7756494
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.10.4.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.m3u
new file mode 100644
index 0000000000..d1c41b06d6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.11.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.ogg
new file mode 100644
index 0000000000..8a4aa575b6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.11.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.m3u
new file mode 100644
index 0000000000..65dc14045a
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.2.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.ogg
new file mode 100644
index 0000000000..d009f03745
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.2.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.m3u
new file mode 100644
index 0000000000..88d216c122
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.3.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.ogg
new file mode 100644
index 0000000000..ec71da1483
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.3.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.m3u
new file mode 100644
index 0000000000..5ab8d891ca
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.4.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.ogg
new file mode 100644
index 0000000000..909cf56536
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.4.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.m3u
new file mode 100644
index 0000000000..db3199ecb2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.5.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.ogg
new file mode 100644
index 0000000000..501e4d6f3e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.5.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.m3u
new file mode 100644
index 0000000000..2b73a9329d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.6.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.ogg
new file mode 100644
index 0000000000..c6d001f03d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.6.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.m3u
new file mode 100644
index 0000000000..ad44439ec3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.7.0.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.ogg
new file mode 100644
index 0000000000..89ec80a5d8
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.7.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.m3u
new file mode 100644
index 0000000000..7c9bda47ee
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.0.0.0.ogg
+7.8.1.0.0.ogg
+7.8.2.0.0.ogg
+7.8.3.0.0.ogg
+7.8.4.0.0.ogg
+7.8.5.0.0.ogg
+7.8.6.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.ogg
new file mode 100644
index 0000000000..804b7f66b6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.m3u
new file mode 100644
index 0000000000..7e19147683
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.1.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.ogg
new file mode 100644
index 0000000000..9dc083b378
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.m3u
new file mode 100644
index 0000000000..e3b31c66bb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.2.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.ogg
new file mode 100644
index 0000000000..706084cd9b
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.m3u
new file mode 100644
index 0000000000..a88f6b83c0
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.3.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.ogg
new file mode 100644
index 0000000000..427ff5ee22
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.3.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.m3u
new file mode 100644
index 0000000000..35f43920c7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.4.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.ogg
new file mode 100644
index 0000000000..09f9e2aa42
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.4.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.m3u
new file mode 100644
index 0000000000..a47d61bdd1
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.5.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.ogg
new file mode 100644
index 0000000000..2b206fe380
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.5.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.m3u
new file mode 100644
index 0000000000..fe1f3bdb65
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.8.6.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.ogg
new file mode 100644
index 0000000000..f38ca7926f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.8.6.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.m3u
new file mode 100644
index 0000000000..92e3c5d6e3
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.m3u
@@ -0,0 +1,5 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.9.0.0.0.ogg
+7.9.1.0.0.ogg
+7.9.2.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.ogg
new file mode 100644
index 0000000000..9650ec9582
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.m3u
new file mode 100644
index 0000000000..5e2efd9c5f
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.9.1.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.ogg
new file mode 100644
index 0000000000..527ae5ae02
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.1.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.m3u
new file mode 100644
index 0000000000..9f4c5730bb
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.m3u
@@ -0,0 +1,3 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+7.9.2.0.0.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.ogg
new file mode 100644
index 0000000000..ddf594575d
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/7.9.2.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-1.ogg
new file mode 100644
index 0000000000..a9f226ac10
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-2.ogg
new file mode 100644
index 0000000000..a33e942cd2
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-3.ogg
new file mode 100644
index 0000000000..06f2d25095
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-1.ogg
new file mode 100644
index 0000000000..f270038b25
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-2.ogg
new file mode 100644
index 0000000000..a708edd941
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-3.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-3.ogg
new file mode 100644
index 0000000000..1c90a0e4b4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0-star-3.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.m3u b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.m3u
new file mode 100644
index 0000000000..83fe2049a4
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.m3u
@@ -0,0 +1,9 @@
+#EXTM3U
+#EXTINF: section playlist generated with SpeLbox
+8.0.0.0.0.ogg
+8.0.0.0.0-1.ogg
+8.0.0.0.0-2.ogg
+8.0.0.0.0-3.ogg
+8.0.0.0.0-star-1.ogg
+8.0.0.0.0-star-2.ogg
+8.0.0.0.0-star-3.ogg \ No newline at end of file
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.ogg b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.ogg
new file mode 100644
index 0000000000..24dbfc82f7
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/8.0.0.0.0.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/author.ogg b/macros/latex/contrib/spelatex/spelatex-spel/author.ogg
new file mode 100644
index 0000000000..10bf7e2413
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/author.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/date.ogg b/macros/latex/contrib/spelatex/spelatex-spel/date.ogg
new file mode 100644
index 0000000000..4bf1df7b7c
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/date.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/footnote-1.ogg b/macros/latex/contrib/spelatex/spelatex-spel/footnote-1.ogg
new file mode 100644
index 0000000000..33da761ca9
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/footnote-1.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/footnote-2.ogg b/macros/latex/contrib/spelatex/spelatex-spel/footnote-2.ogg
new file mode 100644
index 0000000000..1b1c68a106
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/footnote-2.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex-spel/title.ogg b/macros/latex/contrib/spelatex/spelatex-spel/title.ogg
new file mode 100644
index 0000000000..01842fdaa6
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex-spel/title.ogg
Binary files differ
diff --git a/macros/latex/contrib/spelatex/spelatex.dtx b/macros/latex/contrib/spelatex/spelatex.dtx
new file mode 100644
index 0000000000..bdedc84d70
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex.dtx
@@ -0,0 +1,2456 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 by Walter Daems <walter.daems@uantwerpen.be>
+% and Paul Levrie
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, either version 1.3 of this license
+% or (at your option) any later version. The latest version of this
+% license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX version
+% 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Walter Daems.
+%
+% This work consists of the files spelatex.dtx, spelatex.ins,
+% and any derivative file, generated from the dtx file using
+% the ins driver file.
+%
+% \fi
+%
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{spelatex}
+%</package>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{spelatex.dtx}
+%</driver>
+%<*package>
+ [2024/06/21 v0.91 SpeLaTeX - Speech-enabled LaTeX (DMW and LVP)]
+%</package>
+\def\fileversion{0.91}
+\def\filedate{2024/06/21}
+%<*driver>
+\documentclass[10pt]{ltxdoc}
+\usepackage{makeidx}
+\usepackage{alltt}
+\usepackage[english]{babel}
+\usepackage[extramath]{spelatex}
+\usepackage{amsmath}
+\usepackage{graphicx}
+\usepackage{tikz}
+\IfFileExists{tocbibind.sty}{\usepackage{tocbibind}}{}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\StopEventually{\PrintChanges\PrintIndex}
+\spelmacad{DescribeEnv}[1]{#1}
+\spelmacad{DescribeMacro}[1]{#1}
+\begin{document}
+ \DocInput{spelatex.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \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
+% Lower-case \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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{v0.90}{2024/05/31}{. Birth}
+% \changes{v0.91}{2024/06/21}{. First overhaul:\\
+% - avoided big active link areas\\
+% - sketched bigger picture, leading to
+% the three project phases.}
+%
+% \GetFileInfo{spelatex.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+% \setlength{\parindent}{0em}
+% \addtolength{\parskip}{0.5\baselineskip}
+%
+% \title{\sf \spelatex{} --- Speech-enabled \LaTeX{}}
+% \author{Walter Daems (\texttt{walter.daems@uantwerpen.be})
+% and Paul Levrie}
+% \date{\fileversion --- \filedate}
+%
+% \newrobustcmd\GNU{GNU}
+% \spelmacad{GNU}{gnew}
+% \newrobustcmd\TexLive{Tex Live}
+% \spelmacad{TexLive}{tech-laaiv}
+% \newrobustcmd\MikTeX{MikTeX}
+% \spelmacad{MikTeX}{miktech}
+% \newrobustcmd\CTAN{CTAN}
+% \spelmacad{CTAN}{see-tan}
+% \newrobustcmd\CPAN{CPAN}
+% \spelmacad{CPAN}{see-pan}
+% \newrobustcmd\POD{POD}
+% \spelmacad{POD}{pod}
+%
+% \maketitle
+% \fvset{gobble=2}
+%
+% \section{Preface}
+%
+% \subsection{Background}
+%
+% \begin{spelchunk}
+% At our institute, the University of Antwerp in Belgium, the number
+% of students with reading and/or writing disorders (or at least
+% aware of these disorders) is increasing. Approximately 5\% of the
+% students are registered with such a disorder. Probably there's an
+% additional number of people opting not to register their disorder.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% A large portion of the study materials we offer to students is
+% still written material. The authors believe that this will keep on
+% being so, even given the multimedia and AI options that have
+% become mainstream. Let's not go into this debate for now.\\
+% However, written course texts cannot be but suboptimal for
+% students with reading disorders.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% For small texts, reading them out loud and recording them using a
+% voice recorder to create an aid for our target group, is still
+% feasible. We have taken that route at our institute for exam
+% assignments. However, for bigger texts (like course syllabi) this
+% is beyond the time a teacher can afford spending on this small a
+% group of students. Yes, economic laws also govern teaching!
+% \end{spelchunk}
+%
+% \subsection{State of the art}
+%
+% \subsubsection{In general}
+%
+% \begin{spelchunk}
+% Therefore, reverting to readily available text-to-speech software
+% is an obvious choice. Nowadays, special software exists that
+% provides the functionality of reading out loud the contents of
+% electronic documents, e.g. NVDA \cite{NVDA} or
+% SprintPlus~\cite{SPRINT}. Moreover, more and more standard PDF
+% readers (such
+% as Acrobat Reader~\cite{ADOBEREADER} have the facility of
+% performing text-to-speech). For nontechnical subjects, this works
+% fine. However, when it comes to technical course syllabi that are
+% loaded with non-trivial mathematics, the standard text-to-speech
+% packages fail to meet our expectations. In addition, they cannot
+% read a sensible textual description of figures or tables.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The issue with reading mathematics will be solved in the future,
+% by enforcing mathematical equations to follow a specific standard
+% that can be parsed and converted, not only into a visual
+% representation, but also into proper text. MathML will be one of
+% the candidates for that format.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The issue with figures and tables can be solved by using the tag
+% infrastructure of PDF. The format provides a system of tags that
+% allow you to provide extra information about the content of a
+% document, in much the same way as you can specify an 'alt' key for
+% an image in HTML. This tag could contain a proper textual
+% description of the figure or the table.
+% \end{spelchunk}
+%
+% \subsubsection{For \LaTeX}
+%
+% \begin{spelchunk}
+% Currently, the \LaTeX project is investing in enabling \LaTeX{} to
+% partially automate the tagging of PDFs with the \texttt{tagpdf}
+% package~\cite{TAGPDF}, such that the user only has to do a minimal
+% job (adding tags for figures and tables). The goal is to maximize
+% the accessibility of \LaTeX-produced documents.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% So all is well? Not quite. Though I'm confident that with enough
+% time the community will solve the issue completely, there are
+% still some gaps:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{The tagpdf package is still not a part of the mainstream
+% \LaTeX{}-kernel.}
+% \spelitem{MathML reading support in PDF readers is still in its
+% infancy.}
+% \spelitem{Many PDF readers do not fully support tags yet.}
+% \end{itemize}
+%
+% \subsection{This package}
+%
+% \begin{spelchunk}
+% This package aims to overcome these problems in the meantime and
+% also to contribute to the longterm goal: making perfectly tagged
+% PDFs that are read by any PDF-reader.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% In the \emph{first phase} of this package (i.e. the version you are
+% looking at right now), this package reads your \LaTeX{} source,
+% converts the text and the formulas to audio files and equips your
+% PDF with hyperlinks to these files, such that with a few clicks
+% you can listen to your document.
+% The audio files are external files that should be packaged with
+% your PDF to allow a reader to use the document with the available
+% audio.
+% How does it read the formulas? It parses your \LaTeX{} constructs and
+% makes the best of it. This will probably be the part that might
+% survive up until the very last phase of this package.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% In a \emph{second phase} of this package, the audio files will be embedded
+% into the PDF. Currently, there are not enough PDF readers that
+% support this feature. Therefore, we decided to keep using the
+% external audio files for now.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% In a \emph{third phase}, the audio files \emph{may be} abandoned
+% alltogether, fully switching to tags. And we do think that this
+% should be the end goal. The reasons why we say
+% \emph{'may be'}, are:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{The voices of the current PDF-readers are still not of the
+% same quality as the ones available online. And quality does matter.}
+% \spelitem{The better voices may require cloud access, and probably
+% will not be free, therefore (me) paying for them at document creation
+% time, makes more sense to me than having my students pay
+% for these voices whenever they read the document.}
+% \spelitem{The industry standard Adobe reader is not easily available
+% on open-source operating systems (like UNIX/BSD/Linux-derived
+% platforms). You might consider using emulation using
+% wine~\cite{WINE}, but in that case you can forget about audio. Free
+% access to software is something we consider to be a must-have,
+% rather than a nice-to-have. In addition, Walter feels miserable when
+% he's forced to use anything else than GNU/Linux, because then he
+% keeps moaning that his productivity is ruined.}
+% \end{itemize}
+%
+% \begin{spelchunk}
+% Admittedly, in this first phase, using the \spelatex{} package
+% causes a significant overhead in writing your text. Therefore we
+% also provide you the \spelbox{} extension for the Org-mode
+% \cite{ORGMODE} of \GNU{} Emacs \cite{EMACS}. To satisfy your
+% curiosity: \spelbox{} stands for ``Speech-Enabled \LaTeX{} By
+% Org-mode eXport''.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Will \spelatex{} become obsolete in the future?
+% Undoubtedly so. But for the time being, it answers our desire to
+% provide our students with good audio support when studying their
+% engineering courses. That is now, not only in five years time.
+% \end{spelchunk}
+
+% \begin{spelchunk}
+% We hope that you enjoy
+% using our software, or that --- if you are not pleased with it ---
+% it triggers you to give us feedback or to come up with a better
+% solution. We especially would like to thank Ulrike Fischer (of the
+% \LaTeX-project and the maintainer of the tagpdf package) for
+% trying to use this package and reaching out to give us feedback.
+% One of her suggestions (not to use big hyperlink-areas) was almost
+% instantly implemented and has been adopted as the standard way of
+% linking.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% You are free to use our software but kindly ask you to provide a
+% mention ``The audio materials of this text have been prepared with
+% \spelatex{}/\spelbox{}'' in the section treating copyrights,
+% bibliographic data or any other spot that is suited. We'd also
+% welcome a short mail of yours telling that you make use of the
+% package. The pleasure of receiving such an e-mail makes our day.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% You are free to modify this \LaTeX-package, keeping a reference to
+% our original package intact, provided that your package is subject
+% to the LPPL license, as is \spelatex{}. However, contributing to our
+% package might be a better way to go, in order to bundle the efforts
+% for a better speech-enabled \LaTeX{}.
+% \end{spelchunk}
+%
+% \section{Introduction}
+%
+% \subsection{Target audience}
+% \begin{spelchunk}
+% \spelatex{} is primarily intended for persons with a reading
+% disorder. This may be:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{persons suffering dyslexia}
+% \spelitem{visually impaired persons}
+% \begin{itemize}
+% \spelitem{persons who still can recognize the basic
+% parts of a book,
+% i.e. are able to operate a PDF viewer and click on the
+% individual parts.}
+% \spelitem{persons who can't recognize the basic parts of a book
+% (e.g., blind persons): they can listen to the automatic
+% playback of the ordered chain of audio fragments.}
+% \end{itemize}
+% \end{itemize}
+%
+% \begin{spelchunk}
+% But also people who want to multitask, e.g., gardening while
+% listening to a technical book, can benefit from
+% \spelatex{}.\footnote{Note that multitasking is not reserved for persons
+% without visual impairment. Also visually impaired persons can
+% benefit from listening to an audiobook while doing other
+% things.} Personally, we often use \spelatex{} to proofread texts as we
+% hear language errors more easily than we spot them while reading.
+% \end{spelchunk}
+%
+% \subsection{The magic under the hood}
+%
+% \subsubsection{The \spelbox{}-ecosystem}
+%
+% \begin{spelchunk}
+% The \spelatex{}-package is one of the parts of the \spelbox{}
+% ecosystem. It consists of three components:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{An Org-mode exporter called \texttt{ox-spel} \cite{OXSPELATEX}}
+% \spelitem{This \LaTeX{}-package \spelatex{} \cite{SPEL}}
+% \spelitem{A script embeded in the Perl module \texttt{SpeL::Wizard} \cite{SPELWIZARD}}
+% \end{itemize}
+%
+% \subsubsection{The overall picture}
+%
+% \begin{spelchunk}
+% \spelatex{} equips the PDF that is generated by \LaTeX{}
+% with hyperlinks to audio files that contain the spoken
+% equivalent of the original text, equations, figures and tables
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Let's look at this in detail in Fig.~\ref{fig:setup}.
+% For now, ignore the two top boxes, and let's assume you are
+% composing the file |text.tex| as your document. We will return
+% to the two top boxes later.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% By loading the |spel.sty| package in your source
+% document, \LaTeX{} will produce a PDF file that references audio
+% files that will be generated later (see below). In
+% addition, it generates text chunks (i.e. small portions of
+% your text) in separate files (|.tex|) and a spel index file
+% (|.spelidx|) referencing them in sequence.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Together with the |.aux|-file (needed by \spelatex{} for labels and
+% citations), these are the inputs to the \spelatex-engine (|spel-wizard.pl|)
+% that parses the text chunks, writes a full text version of them as
+% spel files (with extension |.spel|) and
+% controls the text-to-speech engine to generate audio files of
+% them.\footnote{In the figure, Ogg Vorbis has been chosen as
+% format, but this can be any audio format.}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% To avoid excessive text to speech conversion (i.e. an expensive step)
+% the \spelatex{} engine derives a finger print of them and compares it
+% to previously generated fingerprints for the chunk. If the
+% finger print has changed, the audio file is overwritten (or
+% created the first time), otherwise it is left untouched.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% As a cherry on top, the \spelatex-engine also creates a playlist,
+% such that you may use the audio files for a \POD{}cast-like
+% listening experience.\\
+% Something that has not been indicated on the figure, is that for
+% reading out loud entire (sub)sections, the PDF-file also references
+% m3u playlists that gather all chunks belonging to the (sub)section.
+% \end{spelchunk}
+%
+% \begin{figure}[p]
+% \begin{spelchunk}
+% \begin{center}
+% \begin{tikzpicture}
+% [scale=0.8,>=latex,
+% doc/.style={rectangle,fill=black!10,align=center,minimum
+% width=2cm,minimum height=2cm},
+% tool/.style={rectangle,draw,align=center}]
+% \node [doc] (utext) at (0,9) {text.org\\\footnotesize(unprepped
+% source)};
+% \node [tool] (instrument) at (0,6) {Org-mode exporter\\\footnotesize(\spelbox)};
+% \node [doc] (text) at (0,3) {text.tex\\\footnotesize(prepped source)};
+% \draw[->] (utext) -- (instrument);
+% \draw[->] (instrument) -- (text);
+% \node [doc] (R) at (-3,0) {spel.sty\\\footnotesize(package)};
+% \node [tool] (latex) at (0,0) {\LaTeX\\\footnotesize(compiler)};
+% \node [doc] (pdf) at (0,-3) {text.pdf\\\footnotesize(PDF with\\\footnotesize hyperlinks)};
+% \node [doc] (spelidx) at (6,-3) {text.spelidx\\\footnotesize(index file)};
+% \node [doc] (aux) at (9,-3) {text.aux\\\footnotesize(auxiliary file)};
+% \node [doc] (files) at (3,-3) {*.tex\\\footnotesize(text chunks)};
+% \draw[->] (text) -- (latex);
+% \draw[->,dotted] (text) -- (R);
+% \draw[->,dotted] (spelidx) -- (files);
+% \draw[->] (R) -- (latex);
+% \draw[->] (latex) -- (pdf);
+% \draw[->] (latex) edge[out=0,in=90] (spelidx);
+% \draw[->] (latex) edge[out=10,in=90] (aux);
+% \draw[->] (latex) edge[out=-10,in=90] (files);
+% \node [tool] (engine) at (6,-6) {\spelpl{}\\
+% \footnotesize(\spelatex{} engine)};
+% \node [tool] (t2s) at (1.5,-6) {text-to-speech\\engine};
+% \draw[->] (files) -- (engine);
+% \draw[->] (spelidx) -- (engine);
+% \draw[->] (aux) -- (engine);
+% \node[doc] (ogg) at (0,-9) {*.ogg\\\footnotesize(audio files)};
+% \node[doc] (spel) at (3,-9) {*.spel\\\footnotesize(spel files)};
+% \node[doc] (m3u) at (6,-9) {text.m3u\\\footnotesize(playlist)};
+% \node[doc] (md5) at (9,-9) {*.md5\\\footnotesize(fingerprints)};
+% \draw[->] (engine) -- (spel);
+% \draw[->] (engine) -- (m3u);
+% \draw[<->] (engine) -- (md5);
+% \draw[->,dotted] (pdf) edge[out=-115,in=115] (ogg);
+% \draw[->,dotted] (m3u) edge[out=-125,in=-55] (ogg);
+% \draw[->,dashed] (engine) -- (t2s);
+% \draw[->] (spel) -- (t2s);
+% \draw[->] (t2s) -- (ogg);
+% \end{tikzpicture}
+% \end{center}
+% \end{spelchunk}
+% \begin{spelchunkad}
+% The easiest flow is to start from the top box, which represents
+% an org file that describes your text. We call this the
+% unprepped source. Read the Orgmode
+% documentation on \LaTeX{} and \spelatex{}-exporting to get to know
+% the format. The Orgmode \spelatex{} exporter, creates a fully
+% equiped \LaTeX{} file of your text. We call this the prepped source. You can
+% also start by composing this file yourself.
+% If you prepped source file uses the \spelatex{} style file, than
+% your compiler will generate a PDF file with hyperlinks, a
+% dot aawks-file and a dot spellindex-file together with a directory full of
+% dot tex files containing the text chunks to be processed by the
+% \spelpl-engine. This is a perl script that converts the chunks into
+% plain text readable spel files. The script is called spel dash
+% wizard dot pl. It also creates a playlist and audio files using a
+% text-to-speech engine. In this case, these are
+% Ogg-Vorbis files. To avoid having to call the text-to-speech
+% engine too frequently (which may incur costs), MD5-fingerprints
+% are used such that chunks that have been generated before and
+% are unchanged, can be reused. The end result is a PDF file that
+% references the audio files.
+% \end{spelchunkad}
+% \caption{Basic tool setup of \spelbox{} of which the \spelatex{} package
+% is an integral part; filled boxes indicate files,
+% outlined boxes indicate tools; solid lines indicates use or
+% creation of files, dotted lines indicate references, dashed lines
+% indicate a control relationship.}
+% \label{fig:setup}
+% \end{figure}
+%
+% \begin{spelchunk}
+% You might wonder: where are the links? Well, there are three
+% variants:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{\emph{area links}, which are almost exclusively
+% used for equations, tables or figures. These links make an entire
+% rectangle active, linking to the corresponding audio file.}
+% \spelitem{\emph{group links}, indicated by small right-pointing
+% triangles next to section headers. These cause all blocks in the
+% section to be read one by one.}
+% \spelitem{\emph{hidden links}, wich are, as the name suggests,
+% hidden to avoid visual disturbance of the text; every
+% paragraph, footnote and list is activated by a link on the
+% whitespace before the first line of the chunk. Try it! Once you
+% are aware that these regions are active, you'll find them
+% easily. In addition, not using the full paragraph as an active
+% region, allows existing hyperlinks (like for citations, references
+% or URLs) to still function.}
+% \end{itemize}
+%
+%
+% \subsubsection{Implicit spelchunks}
+% \spelmacad{usepackage}[1]{the usepackage #1 macro}
+% \spelmacad{title}{the title macro}
+% \spelmacad{author}{the author macro}
+% \spelmacad{section}{the section macro}
+% \spelmacad{caption}{the caption macro}
+% \spelmacad{footnote}{the footnote macro}
+% \spelmacad{thanks}{the thanks macro}
+% \spelmacad{item}{the item macro}
+% \spelmacad{spelitem}{the spelitem macro}
+% \begin{spelchunk}
+% Generating the text chunks to be read out loud requires us to use
+% special \LaTeX-macros. For all pieces of text that are within
+% an existing macro (e.g. |\title|, |\author|, |\section|,
+% |\caption|, |\footnote|, |\thanks|), these macros have been
+% redefined by the \spelatex{}-package to
+% execute the magic without any further hassle.\\
+% We call these \LaTeX-fragments \emph{implicit spelchunks}.%
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% However, not all \LaTeX-constructs can be dealt with in an
+% automatic way. This is true for any |\item| you put inside a list.
+% You need to replace that with a |\spelitem| that takes the text
+% that follows as a first explicit argument, i.e. |\item blabla|
+% should be replaced by |\spelitem{blabla}|.
+% We call these \LaTeX-fragments \emph{defunct implicit
+% spelchunks}. They should have been implicit, but we could not get
+% that to work without problems. Therefore you need to mark them
+% explicitly as |\spelitem| constructs.
+% \end{spelchunk}
+%
+% \subsubsection{Explicit spelchunks}
+% \begin{spelchunk}
+% One would hope that displaymath environments are also implicit
+% spelchunks. However, overriding environments in \LaTeX{} is a tricky
+% business. In view of this, the \spelatex{} package keeps away from
+% this, and we've chosen to treat displaymath environments (like
+% |equation|, |eqnarray|, |gather|, |align|, |alignat|) the same way
+% as tables or figures, i.e. you need to embed the in a |spelchunk|
+% environment. The only difference between math environments and
+% figures an tables is that displaymath environments can be
+% automatically read out loud by the \spelpl{} script, while you
+% will have to provide a text description for tables and figures
+% manually, using a subsequence |spelchunkad|
+% environment (the suffix ad stands for \emph{audio description}).
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% To keep the terminology clear, we label them as automatic
+% and manual spelchunks respectively:
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{automatic: \texttt{equation}, \texttt{eqnarray},
+% \texttt{gather}, \texttt{align}, \texttt{alignat}, \ldots}
+% \spelitem{manual: \texttt{figure}, \texttt{table},
+% \texttt{tikzpicture}, \ldots}
+% \end{itemize}
+%
+% \begin{spelchunk}
+% The similarity between both categories is that you both embed them
+% in a |spelchunk| environment, but that you provide the manual
+% textual description using a |spelchunkad| environment right after
+% the chunk: in this way, the |spelchunkad| environment provides an
+% alternative text for the chunk. Note that this way of working also
+% enables you to provide an overriding text for an equation, if you
+% think that \spelpl{} is doing a bad job. You do me a favor if
+% you submit this subpar behavior as a bug report to me!
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% It is worthwile to make good descriptions for a figure or a
+% table. It's here that you can create true added value to your
+% manuscript, even for readers without impairment!
+% \end{spelchunk}
+%
+% \subsubsection{Paragraphs}
+% \begin{spelchunk}
+% However, there is the elephant in the room that we did not yet
+% talk about, the paragraph. Indeed, it is desirable to split plain
+% text according to the paragraphs in the document. Alas, paragraphs
+% are one of the silent features that are
+% not easily accessible from within a \LaTeX-package.
+% Therefore paragraphs (or smaller text chunks) are considered to be
+% explicit spelchunks and need to be embedded
+% in |spelchunk| environments. This environment will cause its
+% contents to be hyperlinked to a separate piece of audio.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Encasing all your paragraphs with |spelchunk| environments
+% manually is a pain. There is a reason why in \LaTeX{}
+% paragraphs can be created by a double newline: convenience.
+% The |spelchunk|-environment encasing ruins this totally!
+% \end{spelchunk}
+%
+% \subsubsection{Emacs Orgmode to the rescue!}
+% \begin{spelchunk}
+% However, we provide an exporter for the Org-mode \cite{ORGMODE} of
+% Emacs \cite{EMACS}, such
+% that you can prepare your manuscript in Org-mode and not worry
+% about all these exlicit tricks with |spelchunk| and |spelitem|
+% constructs.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% This brings us to the two top boxes in the diagram of
+% Fig.~\ref{fig:setup}. If you prepare your manuscript in Org-mode,
+% and use the Org-mode exporter, you don't have to worry about explicit
+% spelchunks, or defunct implicit spelchunks. Therefore, we encourage
+% you to use Emacs as your editor. The learning
+% curve is steep, but the rewards regarding ease-of-use are huge.
+% In that way, you can focus on providing textual descriptions for
+% the non textual portions of your manuscript, e.g. giving a good
+% description of a graph.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Note that this very document has been prepared manually to make it
+% independent of Org-mode. It also shows that if you don't
+% want to use Emacs and Org-mode, you will suffer some considerable
+% pain in equipping your manuscript with an overload of |spelchunk|
+% environments. We have only one advice: don't use the \spelatex{}
+% outside \spelbox{}. Outside a proper boxed confinement,
+% spells easily become curses\ldots
+% \end{spelchunk}
+%
+% \subsection{Extra math commands}
+%
+% \begin{spelchunk}
+% Some of the ways to specify mathematical expressions in \LaTeX{} is
+% very liberal, what makes converting them to text quite
+% difficult. Therefore, we also provide some
+% extra constructs that make life easier for both parties: you as a
+% user and \spelpl{} as a parser.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% An example of this are sets. We provide two commands to define a
+% set. As we want these commands to blend in with general \LaTeX{},
+% we did not equip them with a prefix |spel|. Therefore, we made
+% activating them conditional to specifying the package option
+% |extramath|.
+% \end{spelchunk}
+% \begin{description}
+% \spelitem[\texttt{\textbackslash{}setenum}]{a command to define a set
+% that consists of comma or semicolon separated elements}
+% \spelitem[\texttt{\textbackslash{}setdesc}]{a command to define a
+% set that is specified using a description}
+% \end{description}
+%
+%
+% \subsection{Added value}
+%
+% \begin{spelchunk}
+% Why would it make sense to use \spelatex? We think there are many
+% selling points. We can mention a few:
+% \end{spelchunk}
+% \begin{description}
+% \spelitem[Minimal overhead]{
+% Preparing a \LaTeX{} manuscript for use with \spelatex{} requires a
+% minimal amount of work, if you are using Org-mode in Emacs.}
+% \spelitem[Free for the content provider]{
+% If you are using a freeware text-to-speech engine (like for
+% example festival \cite{FESTIVAL} or balabolka \cite{BALABOLKA})
+% and a royalty-free audio format and player (like for example
+% ogg-vorbis), generating audio-enabled documents only requires
+% the effort of preparing your manuscript. There are no license
+% costs involved.\\
+% You could also consider to use an online paying text-to-speech
+% service. As an example, We incorporated a connection to Amazon's
+% Polly \cite{AWSPOLLY}.\\
+% In addition, if your user has a better-quality (maybe
+% commercial) text-to-speech system, he/she can reconvert the text
+% files him-/herself, equiping your document with a voice they
+% like and are used to, without you having to worry about license
+% costs. They might even use an AI-generated copy of their own
+% voice!}
+% \spelitem[Free for your audience]{
+% In addition, the user of your audio-enabled document doesn't
+% need to buy a license for text-to-speech software. Only a PDF-viewer
+% and standard audio-player program are required.}
+% \spelitem[Math capable]{
+% Try some of the equations in this manuscript. We are quite
+% confident you'll be convinced fairly soon.}
+% \end{description}
+%
+% \section{Installation}
+%
+% \subsection{The \spelatex{} package}
+% \begin{spelchunk}
+% If you are a package manager then you'll know how to
+% prepare an installation package for \spelatex.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% If you are a normal user then you have two options. First,
+% check if there is a package that your favorite \LaTeX{}
+% distributor has prepared for you. Most of the major distributions
+% (like e.g. \TexLive{} or \MikTeX{}) do so.\\
+% Second, grab the TDS package
+% from \CTAN{} \cite{CTAN} (spel.TDS.zip) and unzip it somewhere in your
+% own TDS tree, regenerate your filename database and off you go.
+% In any case, make sure that \LaTeX{} finds the file |spel.sty|.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The \spelatex{} package uses a number of auxiliary packages, fetch them
+% from \CTAN{} \cite{CTAN} if your \TeX{} distributor does not provide
+% them. The ones used are: |expl3|, |hyperref|, |ifthen|,
+% |fancyvrb|, |newfile|, |rotating|, |babel|, |kvoptions|.
+% \end{spelchunk}
+%
+% \subsection{The \spelpl{} speech generator}
+%
+% \subsubsection{The script}
+% \begin{spelchunk}
+% You can install the wizard assuming you have a working Perl
+% interpreter installed. Assuming you're on \GNU/Linux or MAC, you
+% should be able to find an installation package using the package
+% manager for your distribution. If you are on MS-Windows, look for
+% Strawberry perl or ActiveState perl.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The only thing to do is to install the |SpeL::Wizard|
+% module. You can do this with the perl pacakge manager for your
+% interpreter.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Open a terminal or command window, and then enter on the
+% command line (the dollar represents your prompt):
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% On \GNU/Linux and MAC: |$ cpanm SpeL::Wizard|\\
+% On Strawberry perl: |$ cpan SpeL::Wizard|\\
+% On ActiveState perl: |$ ppm install SpeL-Wizard|
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The script \spelpl{} will be installed on your system. Make sure
+% it is on your search path.
+% \end{spelchunk}
+%
+% \subsubsection{The configuration file}
+% \begin{spelchunk}
+% Finally, you need to provide \spelpl{} with an appropriate
+% config-file, named |tts.conf| that sets up the text-to-speech conversion.
+% Below you can find a setup for Festival \cite{FESTIVAL}:
+% \begin{Verbatim}
+% [engine]
+% tts=festival
+%
+% [languagetags]
+% dutch=nl
+% english=en-gb
+%
+% [voices]
+% dutch=nl1_mbrola
+% english=en1_mbrola
+% \end{Verbatim}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% And additionally, for the Microsoft users a setup for Balabolka \cite{BALABOLKA}:
+% \begin{Verbatim}
+% [engine]
+% tts=balabolka
+%
+% [languagetags]
+% english=en-us
+%
+% [voices]
+% english=Zira
+% \end{Verbatim}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The tts configuration parameter defines the speech engine to use.
+% The languagetags section defines how the babel languages are mapped to
+% internationalization codes (also known as locales).
+% The voices section specifies what voice to use for a specific language.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% An environment variable can specify where your config file is
+% located, e.g., on \GNU/Linux:
+% \begin{Verbatim}
+% $ export SPELWIZARD_CONFIG=/home/wdaems/.config/tts.conf
+% \end{Verbatim}
+% \end{spelchunk}
+% \begin{spelchunk}
+% If that variable is not set, the script will look in a subdirectory
+% |.spel_wizard| of your home-folder (or |%userprofile%| in
+% MS-Windows), or it will take the default that came with the
+% |SpeL::Wizard| module.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Be aware that you need to install your text-to-speech tool yourself
+% according to the documentation provided by the tool provider.
+% In addition, make sure it the executable is in your search path. In
+% case you are using an online text-to-speech service provider you
+% will need to get an account on their cloud platform and setup
+% credentials and whatever is needed to get going. Providing
+% assistance for this is beyond the aim of this manual.
+% \end{spelchunk}
+%
+% \subsection{The PDF viewer}
+%
+% \begin{spelchunk}
+% You need to make sure you have a PDF-viewer that supports links
+% containing 'run' tags. E.g., xpdf \cite{XPDF} does not, evince
+% \cite{EVINCE} complains about security risks, but okular
+% \cite{OKULAR} and Adobe Reader \cite{ADOBEREADER} do. So does
+% PDF-XChange Viewer \cite{PDFXCHANGE}.
+% \end{spelchunk}
+%
+% \subsection{The media player}
+
+% \begin{spelchunk}
+% When clicking a \spelatex-enabled item in your PDF-file, your media
+% player is started to play the |.ogg| or |.m3u|-file. On GNU/Linux
+% most media players work fine (SoX, totem, vlc, \ldots).
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% On windows, we recommend using vlc. It works out of the box.
+% When usign the stock Windows Media Player, you will need to add
+% every folder that contains a PDF you'd like to have read, to your
+% Media Player library. Search the internet to find instructions on
+% that and be prepared: in line with Microsoft's standard practice it
+% is well hidden in the interface.
+% \end{spelchunk}
+%
+% \section{Usage}
+%
+% \subsection{Preparing your document source}
+% \begin{spelchunk}
+% Using the \spelatex{} package is very simple. Just load the package's
+% style file using an appropriate |\usepackage{spel}|.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% In case you are not using Org-mode, there are $5$ things to do:
+% \end{spelchunk}
+% \begin{enumerate}
+% \spelitem{Treat the defunct implicit spelchunks}
+% \spelitem{Treat the explicit spelchunks}
+% \spelitem{Manually provide text to read when needed}
+% \spelitem{Provide audiodescriptions or preprocessing instructions
+% for your typesetting macros}
+% \spelitem{Provide audiodescriptions or preprocessing instructions
+% for your typesetting environments}
+% \end{enumerate}
+%
+% \begin{spelchunk}
+% Steps 1 and 2 can be done automatically for you by using Org-mode in
+% Emacs and using the proper |spel| exporter.
+% Steps 3, 4 and 5 are up to you. In this section, we assume you are
+% executing all 5 steps manually and therefore, we will explain all
+% required macros.
+% \end{spelchunk}
+%
+% \subsubsection{Treat the implicit spelchunks}
+% \begin{spelchunk}
+% The texts of chapter, (sub)section titles, a.s.o. will be formatted
+% automatically such that they are hyperlinked to the appropriate
+% audio file. Therefore, this step was not mentioned above. It is done
+% automatically for you by using the \spelatex{} package.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% You only need to cover your \emph{defunct implicit spelchunks}:\\
+% \DescribeMacro{\spelitem}
+% Use this macro instead of the \texttt{\textbackslash{}item} macro to make
+% sure your list environments are converted to speech chunks
+% appropriately.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Example:
+% \begin{Verbatim}
+% We like
+% \begin{itemize}
+% \spelitem{apples,}
+% \spelitem{pears, and}
+% \spelitem{oranges.}
+% \end{itemize}
+% \end{Verbatim}
+% \end{spelchunk}
+% \begin{spelchunk}
+% Another example:
+% \begin{Verbatim}
+% If you don't know these fruits:
+% \begin{description}
+% \spelitem[apple]{a green round fruit}
+% \spelitem[pears]{a green pointy-shaped fruit}
+% \spelitem[orange]{an orange round fruit}
+% \end{description}
+% \end{Verbatim}
+% Note that the spel exporter in Org-mode takes care of all this
+% boilerplate work.
+% \end{spelchunk}
+%
+% \subsubsection{Treat the explicit spelchunks}
+%
+% \begin{spelchunk}
+% \DescribeEnv{spelchunk}
+% Use this environment to embed the chunks of text in that you want
+% to generate audio for. In case the content is an equation, a
+% figure or a table, we recommend specifying |arealink| as the
+% optional argument to the |spelchunk| environment. It makes the
+% entire equation an active hyperlink.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Example:\\
+% {\footnotesize (note: the example below is not \spelatex{}-enabled because it
+% generates internal package problems)}
+% \end{spelchunk}
+% \begin{Verbatim}
+% \begin{spelchunk}
+% An orderinary paragraph must be embedded in this environment.
+% The same holds for equations! However, then we recommend using
+% the |arealink| option, as that makes the full area of the
+% equation clickable and avoids an empty white line before the
+% equation.
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% E &= m c^2\\
+% e^{j\pi} &= -1
+% \end{align}
+% \end{spelchunk}
+% \end{Verbatim}
+%
+%
+% \subsubsection{Manually provide text to read when needed}
+% \begin{spelchunk}
+% \DescribeEnv{spelchunkad}
+% If you want a different text to be used for the previous
+% spelchunk environment, this environment allows you to specify it.
+% For plain text or math environments, this is also your generic escape
+% route in case the \spelpl{} parser does not work as you'd like
+% it to.\\
+% \end{spelchunk}
+% \begin{spelchunk}
+% Just have your |spelchunk| environment followed by a
+% |spelchunkad| environment that specifies the correct text to read
+% out loud. However, please, file a bug report, such that we can
+% improve the tool.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Example:\\
+% {\footnotesize (note: the example below is not \spelatex{}-enabled because it
+% generates internal package problems)}
+% \end{spelchunk}
+% \begin{Verbatim}
+% \begin{spelchunk}
+% An orderinary paragraph must be embedded in this environment.
+% \end{spelchunk}
+% \begin{spelchunkad}
+% Do not forget to embed ordinary paragraphs in this environment.
+% \end{spelchunkad}
+% \end{Verbatim}
+%
+% \begin{spelchunk}
+% For non-textual material such as figures or tables, this allows you
+% to specify a sensible text that acts as an audio description for
+% that material.\\
+% Just have your |spelchunk| environment that surrounds your figure
+% or table, followed by a |spelchunkad| environment that provides
+% the audio description for the non-textual material.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Example:\\
+% {\footnotesize (note: the example below is not \spelatex{}-enabled because it
+% generates internal package problems)}
+% \end{spelchunk}
+% \begin{Verbatim}
+% \begin{spelchunk}
+% \includegraphics{engine.jpg}
+% \end{spelchunk}
+% \begin{spelchunkad}
+% The image shows a turbo-fan engine of an aircraft. One can
+% clearly see the silver blades of the fan, and the housing. Note
+% how little spacing there is between the blades and the housing.
+% \end{spelchunkad}
+% \end{Verbatim}
+%
+% \subsubsection{Provide descriptions for typesetting macros}
+%
+% \DescribeMacro{\spelmacad}
+% \begin{spelchunk}
+% Often, recurring constructs are being typeset using a dedicated
+% macro, defined by the user.
+% For example, to consistently typeset input voltages for arbitrary pins,
+% one might have defined the macro:
+% \begin{Verbatim}
+% \newcommand\vin[2][IN]{\ensuremath{v_{\mathit{#1},#2}}}
+% \end{Verbatim}
+% \end{spelchunk}
+% \newcommand\vin[2][IN]{\ensuremath{v_{\mathit{#1},#2}}}%
+% \spelmacad{vin}[2][IN]{the #1put voltage at pin #2}%
+% \begin{spelchunk}
+% This allows easy specification of
+% \begin{Verbatim}
+% \vin{1} = \sin 20 t
+% \end{Verbatim}
+% resulting in $\vin{1} = \sin 20 t$.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% However one might want this line to be read as 'the input voltage
+% at pin 1 equals sine 20 t'.\\
+% To this end, one can provide an description for this macro
+% using the |spelmacad| macro.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Example:
+% \begin{Verbatim}
+% \spelmacad{vin}[1][IN]{the #1put voltage at pin #2}
+% \end{Verbatim}
+% Note that the audio description in this case will only be
+% acceptable, for arguments IN and OUT. One clearly has to take the
+% audio description into account when defining \LaTeX{}-macros.
+% \end{spelchunk}
+%
+% \subsubsection{Descriptions for typesetting environments}
+%
+% \DescribeMacro{\spelenvad}
+% \begin{spelchunk}
+% Often, recurring constructs are being typeset using a dedicated
+% environment, defined by the user.
+% For example, to consistently typeset a proof or illustration one might
+% have defined the environment:
+% \begin{Verbatim}
+% \newenvironment{proof}[2][Proof]{
+% \textbf{#1: #2}\\
+% }
+% {
+% \hfill$\blacksquare$\\
+% }
+% \end{Verbatim}
+% \end{spelchunk}
+% \begin{spelchunk}
+% This allows easy specification of an illustration as:
+% \begin{Verbatim}
+% \begin{proof}[Illustration]{solving a quadratic equation}
+% blabla
+% \end{proof}
+% \end{Verbatim}
+% \end{spelchunk}
+% \begin{spelchunk}
+% However one might want this environment to be read as
+% 'Illustration of solving a quadratic equation: blabla. This
+% concludes this illustration.'\\
+% To this end, one can provide an description for this macro
+% using the |spelenvad| macro.
+% \end{spelchunk}
+%
+%
+% \begin{spelchunk}
+% Example:
+% \begin{Verbatim}
+% \spelenvad{proof}[1][Illustration]
+% {#1 of #2:}
+% {This concludes this #1.}
+% \end{Verbatim}
+% \end{spelchunk}
+%
+% \subsubsection{Using the i18n features of \spelpl when describing
+% your macros and environments}
+% \begin{spelchunk}
+% Sooner rather than later you will feel the need to provide reading
+% alternatives for your constructs that are language dependent. In
+% that case you can call the i18n features that are built into
+% \spelpl. We illustrate this with an example.
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Assume you've made your own command to raise numbers to a power,
+% and you provide and description for your macro.
+% \end{spelchunk}
+% \begin{Verbatim}
+% \newcommand\numtopower[2]{#1^{#2}}
+% \spelmacad{numtopower}[2]{#1 to the power of #2}
+% \end{Verbatim}
+%
+% \begin{spelchunk}
+% The problem with this solution is, that it only works for one
+% language. The solution is to use an i18n expression in your
+% description:
+% \end{spelchunk}
+% \begin{Verbatim}
+% \spelmacad{numtopower}[2]{#1 @{i18n(Power,#2)}}
+% \end{Verbatim}
+% \begin{spelchunk}
+% This will call the maketext function (See Locale::Maketext) on
+% the Lexicon provided in SpeL::Wizard::I18n, as:
+% \end{spelchunk}
+% \begin{Verbatim}
+% $SpeL::Wizzard::I18n::lh->maketext( 'Power', "#2")
+% \end{Verbatim}
+% \begin{spelchunk}
+% to read your macro.
+% \end{spelchunk}
+%
+% \subsubsection{The extra math commands}
+% Note that these commands are only available if you provide the
+% package option |extramath|.
+%
+% \DescribeMacro{\setenum}
+% \begin{spelchunk}
+% This macro typesets an enumeration set and makes sure \spelpl{}
+% can read it properly.
+% \end{spelchunk}
+% \begin{spelchunk}
+% \begin{Verbatim}
+% \begin{equation}
+% P = \setenum{ 2, 3, 5, 7, 11, 13, \ldots }
+% \end{equation}
+% \end{Verbatim}
+% \end{spelchunk}
+%
+% \DescribeMacro{\setdesc}
+% \begin{spelchunk}
+% This macro typesets an enumeration set and makes sure \spelpl{}
+% can read it properly.
+% \end{spelchunk}
+% \begin{spelchunk}
+% \begin{Verbatim}
+% \begin{equation}
+% P = \setdesc{ n \in N \mid n \text{~is prime} }
+% \end{equation}
+% \end{Verbatim}
+% \end{spelchunk}
+%
+% \subsection{Going through the flow}
+% \begin{spelchunk}
+% Once your document source has been prepared, you are ready for the
+% regular \spelatex-flow. It consists of 3 steps.
+% \end{spelchunk}
+%
+% \begin{enumerate}
+% \spelitem{Create a \texttt{jobname-spel} subdirectory in the
+% working directory your \LaTeX{} source document is in (replace
+% jobname with the basename of your latex file, the final
+% \texttt{-spel} is a literal).}
+% \spelitem{Run your document
+% 3-times through your \{pdf,Xe,Lua\}\LaTeX{}-compiler to get all
+% the references right.}
+% \spelitem{Run the \spelpl{} speech
+% generator (see scripts directory or the wrapper provided by the
+% package manager), by launching it with the base name of your
+% document as command-line
+% argument.\\
+% E.g.: \texttt{\spelpl{} -v example}}\\
+% The |-v| argument causes the script to be somewhat more verbose.
+% \end{enumerate}
+%
+% \begin{spelchunk}
+% The result of this will be a PDF file equipped with links to audio
+% files in the 'speech' subdirectory. Alas your PDF file has been
+% become a little less portable, as it now requires the 'speech'
+% subdirectory to be complete. You might want to package the
+% ensemble into a tar-file or zip-archive.
+% \end{spelchunk}
+%
+%%
+% \section{Example}
+%
+% \begin{spelchunk}
+% Below, you can find a simple example to give you a head-start.
+% In order not to spoil the fun for you, the embedded version here
+% is not speech-enabled.
+% \end{spelchunk}
+%
+% \begin{VerbatimOut}[gobble=4]{Example/example.tex}
+% \documentclass{article}
+%
+% \usepackage[dutch,english]{babel} % load babel before spel to avoid
+% % option clash!
+% \selectlanguage{english}
+% \usepackage[format=ogg]{spelatex}
+%
+% \newrobustcmd\CTAN{CTAN}
+% \spelmacad{CTAN}{see-tan}
+% \newrobustcmd\CPAN{CPAN}
+% \spelmacad{CPAN}{see-pan}
+%
+% \title{\spelatex{} Example}
+% \author{Walter Daems and Paul Levrie}
+% \date{2011/04/12}
+% \setlength\parindent{0em}
+% \setlength\parskip{1ex}
+%
+% \begin{document}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% \begin{spelchunk}
+% This file is just a simple showcase of the features of \spelatex.
+% Below, you'll find examples of:
+% \end{spelchunk}
+%
+% \begin{itemize}
+% \spelitem{a simple equation}
+% \spelitem{a more complex equation}
+% \end{itemize}
+%
+% \section{A simple equation}
+% \label{eqn:simple}
+% \begin{spelchunk}
+% Consider the following simple definition of a polynomial function and
+% check its spoken version by clicking on it.
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{equation}
+% f(x) = x^{5}- x^4 + 7 x^3 + 3 x^2 - 8 x + 23
+% \end{equation}
+% \end{spelchunk}
+% \begin{spelchunk}
+% This seems a simple equation, however, it is not so straightforward
+% for an automated reader, to read it correctly.
+% \end{spelchunk}
+%
+% \section{A more complex equation}
+% \newcommand\xx[2]{\ensuremath{#1_{#2}}}
+% \spelmacad{xx}[2]{#1 #2}
+%
+% \label{eqn:complex}
+% \begin{spelchunk}
+% For a lightray that hits the parabola at the point
+% $P(t,9-\frac{t^2}{4})$, the reflected ray has slope $\tan 2\alpha$.
+% Since the slope of the tangent to the parabola at $P$ is
+% equal to $\tan\alpha = -\frac{t}{2}$, the equation of the
+% reflected ray is given by
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \[
+% y-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+% \]
+% \end{spelchunk}
+%
+% \selectlanguage{dutch}
+% \section{Een andere taal}
+% \begin{spelchunk}
+% \spelatex{} is ook volledig babel-actief, wat wil zeggen dat de
+% voorleesstem de geselecteerde taal zal volgen.
+% \end{spelchunk}
+%
+% \begin{spelchunk}[arealink]
+% \[
+% y-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+% \]
+% \end{spelchunk}
+
+% \selectlanguage{english}
+% \section{And some extras}
+% \subsection{Citations}
+% \begin{spelchunk}
+% Two excellent repositories are \CPAN{} \cite{CPAN} and \CTAN{} \cite{CTAN}.
+% \end{spelchunk}
+%
+% \subsection{References to labels}
+% \begin{spelchunk}
+% Section~\ref{eqn:simple} contains an illustration of a simple
+% equation. For a more complex equation, we refer the user to
+% section~\ref{eqn:complex}.
+% \end{spelchunk}
+%
+% \bibliographystyle{alpha}
+%
+% \begin{thebibliography}{99}
+%
+% \bibitem{CTAN}
+% The Comprehensive \TeX{} Archive Network.
+% \newblock \url{http://www.ctan.org}.
+% \newblock online, accessed in August 2021.
+%
+% \bibitem{CPAN}
+% The Comprehensive Perl Archive Network.
+% \newblock \url{http://www.cpan.org}.
+% \newblock online, accessed in August 2021.
+%
+% \end{thebibliography}
+%
+% \end{document}
+% \end{VerbatimOut}
+% \VerbatimInput[frame=lines,numbers=left,gobble=0]{Example/example.tex}
+%
+% \section{Demo}
+%
+% \newcommand\rd[1]{\ensuremath{\mathrm{d}#1}}
+% \spelmacad{rd}[1]{d of #1}
+% \newcommand\xx[2]{\ensuremath{#1_{#2}}}
+%
+% \begin{spelchunk}
+% The examples below have been composed and used to test the math
+% reading capabilities of \spelatex{} and \spelpl. The source code has not
+% been made visible in this document. If you'd like to see the
+% source code, check the original |.dtx|-file that was used to
+% generate this PDF-file.
+% \end{spelchunk}
+%
+% \subsection{Numbers}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% \pi\\
+% -31415\\
+% 1.25\\
+% -0.34 \times 10^{4}\\
+% 12 - j 3\\
+% -31415.23 + .45i
+% \end{align}
+% \end{spelchunk}
+%
+%
+% \subsection{Fractions}
+% \subsubsection{A fraction only containg numbers}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% x &= - \frac{1}{2} \\
+% y &= - \sqrt{\frac{\pi}{2}}
+% \end{align}
+% \end{spelchunk}
+%
+% \subsubsection{A fraction with a little more under the hood}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% u &= - \frac{x^2+35}{\sqrt{12}} \\
+% v &= - \frac{\sqrt{\frac{\pi}{2}}}{-3x^2+3}
+% \end{align}
+% \end{spelchunk}
+%
+%
+% \subsection{Simple expressions}
+% \subsubsection{A polynomial function}%
+% \begin{spelchunk}[arealink]
+% \begin{equation}
+% f(x) = x^{5}- x^4 + 7 x^3 + 3 x^2 - 8 x + 23
+% \end{equation}
+% \end{spelchunk}
+%
+% \subsubsection{Some more complex equations}
+% \begin{spelchunk}
+% Here's de Moivre's formula:
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{equation}
+% \left(\cos x+j\sin x\right)^n=\cos(nx)+j\sin(nx)
+% \end{equation}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Euler's relationship:
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{equation}
+% e^{j \phi} = \cos \phi + j \sin \phi
+% \end{equation}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Euler's identity:
+% \end{spelchunk}
+% \begin{spelchunk}
+% \begin{equation}
+% e^{j \pi} + 1 = 0
+% \end{equation}
+% \end{spelchunk}
+%
+% \subsubsection{A rather well-known definite integral}
+% \begin{spelchunk}
+% \begin{equation}
+% \int_{-\infty}^\infty e^{-x^2}\,\rd{x} = \sqrt{\pi}
+% \end{equation}
+% \end{spelchunk}
+%
+% \subsection{Sets}
+% \begin{spelchunk}
+% Let's check the two set commands this package provides:
+% \texttt{\textbackslash{}setenum} and
+% \texttt{\textbackslash{}setdesc}:
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% P &= \setenum{ 2, 3, 5, 7, 11, 13, \ldots }\\
+% P &= \setdesc{ n \in N \mid n \text{~is prime}}
+% \end{align}
+% \end{spelchunk}
+%
+% \subsection{Matrices}
+% \begin{spelchunk}
+% How about some linear algebra?
+% \end{spelchunk}
+% \begin{spelchunk}[arealink]
+% \begin{align}
+% \begin{bmatrix}
+% 3 & 4 \\
+% 7 & 2
+% \end{bmatrix}
+% \cdot
+% \begin{bmatrix}
+% x \\ y
+% \end{bmatrix}
+% &=
+% \begin{bmatrix}
+% 1 \\ 0
+% \end{bmatrix}\\
+% \begin{vmatrix}
+% 3 & 4 \\
+% 7 & 2
+% \end{vmatrix}
+% &= -22
+% \end{align}
+% \end{spelchunk}
+%
+% \subsection{Figures and Tables}
+% \subsubsection{Figures}
+% \begin{spelchunk}
+% The example Fig.~\ref{fig:blockdiagram} illustrates the voice-aid
+% that can be added to figures.
+% \end{spelchunk}
+% \begin{figure}[h]
+% \setlength{\unitlength}{4mm}
+% \begin{spelchunk}
+% \begin{center}
+% \begin{picture}(24,2)
+% \put(0,0.8){$x[n]$}
+% \put(2,1){\vector(1,0){3}}
+% \put(5,0){\framebox(5,2){$H(z)$}}
+% \put(10,1){\vector(1,0){3}}
+% \put(13,0){\framebox(5,2){$G(z) \ast F(z)$}}
+% \put(18,1){\vector(1,0){3}}
+% \put(22,0.8){$y[n]$}
+% \end{picture}
+% \end{center}
+% \end{spelchunk}
+% \begin{spelchunkad}
+% The discrete-time input signal x is fed through a filter H of
+% z. The intermediate output signal of the filter H of z is fed into
+% another filter whose transfer function is the convolution of G of
+% z and F of z. This resuspel in the discrete-time output signal y.
+% \end{spelchunkad}
+% \caption{A block diagram of the filter system}
+% \label{fig:blockdiagram}
+% \end{figure}
+%
+% \subsubsection{Tables}
+% \begin{spelchunk}
+% \begin{center}
+% \begin{tabular}{lcc}
+% Food & Sweet & Bitter \\
+% \hline
+% apple & $\bullet$ & \\
+% unsweetened coffee & & $\bullet$\\
+% cake & $\bullet$ & \\
+% chocolate & $\bullet$ & $\bullet$ \\
+% \hline
+% \end{tabular}
+% \end{center}
+% \end{spelchunk}
+% \begin{spelchunkad}
+% This table indicates the sweetness and bitterness for several food
+% products.
+% It lists apples that are (sweet); unsweetened coffee which is
+% bitter; cake which is sweet and chocolate that is both sweet and bitter.
+% \end{spelchunkad}
+% \subsection{A parabola tale}
+%
+% \begin{spelchunk}
+% For a lightray that hits the parabola at the point
+% $P(t,9-\frac{t^2}{4})$, the reflected ray has slope $\tan 2\alpha$.
+% Since the slope of the tangent to the parabola at $P$ is equal
+% to $\tan \alpha = -\frac{t}{2}$, the equation of the reflected
+% ray is given by
+% \end{spelchunk}
+% \begin{spelchunk}
+% \begin{equation}
+% y-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+% \end{equation}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% The $x$-coordinate of the point of intersection of the reflected ray
+% with a fixed line $y=u$ satisfies:
+% \end{spelchunk}
+% \begin{spelchunk}
+% \begin{equation}
+% u-9+\frac{t^2}{4} = -\frac{4t}{4-t^2} \cdot (x-t)
+% \label{eqn:refray}
+% \end{equation}
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% We calculate the minimal value of this $x$ for varying $t$, by
+% differentiating (\ref{eqn:refray}) with respect to $t$ and assuming
+% that $\frac{\rd{x}}{\rd{t}}=0$:
+% \end{spelchunk}
+% \begin{spelchunk}
+% \[
+% \frac{t}{2} = -\frac{4(4+t^2)}{(4-t^2)^2} (x-t) -
+% \frac{4t}{4-t^2} \cdot (-1) \ \ \ \Leftrightarrow \ \ \ x=
+% 3\frac{t}{2}-\frac{t^3}{8}
+% \]
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% Inserting in the equation containing $u$ gives us the relation
+% between $t$ and $u$:
+% \end{spelchunk}
+% \begin{spelchunk}
+% \[
+% u = 9- 3 \frac{t^2}{4}
+% \]
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% This leads to a system of parametric equations for the caustic:
+% \end{spelchunk}
+% \begin{spelchunk}
+% \[
+% \left\{\begin{array}{l}
+% x = 3\frac{t}{2}-\frac{t^3}{8} \\[0.3cm]
+% y = 9- 3 \frac{t^2}{4}
+% \end{array} \right.
+% \quad \Leftrightarrow \quad
+% \left\{\begin{array}{l}
+% x = \frac{t}{2} \cdot (3 -\frac{t^2}{4}) \\
+% y = 3(3- \frac{t^2}{4})
+% \end{array} \right.
+% \]
+% \end{spelchunk}
+%
+% \begin{spelchunk}
+% It is now easy to eliminate the parameter $t$. As you can see, $t
+% = \frac{6 x}{y}$. Inserting into the equation for $y$ gives us the
+% equation of Tschirnhausen's cubic.
+% \end{spelchunk}
+%
+%
+% \section{Implementation}
+% \begin{spelchunk}
+% To ease the implementation work and because raw \LaTeX{} code is
+% difficult to read on itself, We took the liberty of not providing
+% this section with speech chunks (except for this introduction
+% text).
+% \end{spelchunk}
+%
+% \iffalse
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% \fi
+%
+% \subsection{Design principles}
+%
+% \spelatex{} has been developed using the following main targets in
+% mind. Some of them are common sense design principles, some of them
+% are specific for this application.
+% \begin{itemize}
+% \item minimal effort in preparing a \LaTeX{} manuscript for use with
+% \spelatex{}
+% \item maximal compatibility with existing \LaTeX{} packages
+% \item no (or minimal) compromise mathematical reading capabilities
+% for mathematical constructs
+% \item user extensible audio preprocessor
+% \item minimal use of processing power for text to speech conversion
+% \end{itemize}
+%
+%
+% \subsection{Auxiliary Packages}
+% The \spelatex{} package uses some basic auxiliary packages to make life
+% easy.
+% \begin{macrocode}
+\RequirePackage{expl3}
+\RequirePackage{hyperref}
+\RequirePackage{xcolor}
+\RequirePackage{ifthen}
+\RequirePackage{fancyvrb}
+\RequirePackage{newfile}
+\RequirePackage{rotating}
+\RequirePackage{babel}
+\hypersetup{backref=true,
+ breaklinks=true,
+ colorlinks=true,
+ citecolor=black,
+ filecolor=black,
+ hyperindex=true,
+ linkcolor=black,
+ pageanchor=true,
+ pagebackref=true,
+ pagecolor=black,
+ pdfpagemode=UseOutlines,
+ bookmarksopen=true,
+ urlcolor=black}
+\RequirePackage{kvoptions}
+\RequirePackage{xkeyval}
+\RequirePackage{marginnote}
+% \end{macrocode}
+%
+% \subsection{Options}
+%
+% \begin{macrocode}
+\SetupKeyvalOptions{
+ family=spel,
+ prefix=spel@
+}
+\DeclareStringOption[ogg]{format}
+\DeclareBoolOption[false]{disabled}
+\DeclareBoolOption[false]{extramath}
+\DeclareBoolOption[false]{propermath}
+\ProcessKeyvalOptions*
+% \end{macrocode}
+%
+% \subsection{Logos}
+% Vanity is everything, so let's make some logoware.
+% \begin{macro}{\spelatex}
+% This is the official \spelatex{} logo.
+% \begin{macrocode}
+\DeclareRobustCommand{\spelatex}{S\kern-0.3ex\raisebox{-0.1ex}{\rotatebox{-15}{p}}\kern-0.25ex\raisebox{0.1ex}{\rotatebox{10}{e}}\kern-0.1ex\LaTeX}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\spelbox}
+% This is the official \spelbox{} logo.
+% \begin{macrocode}
+\DeclareRobustCommand{\spelbox}{S\kern-0.3ex\raisebox{-0.1ex}{\rotatebox{-15}{p}}\kern-0.25ex\raisebox{0.1ex}{\rotatebox{10}{e}}\kern-0.1exLbo\raisebox{-0.2ex}{x}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\spelpl}
+% This is the official \spelpl{} logo.
+% \begin{macrocode}
+\DeclareRobustCommand{\spelpl}{\texttt{spel-wizard.pl}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{The speech stream}
+% The basic structural elements of a document (title, chapters,
+% sections, \ldots) are written to the speech index stream. This is a
+% textfile that has the same base name as your \LaTeX{} job and has
+% extension |.spelidx|.
+%
+% It is the index to the chunks of text that are written to the speech
+% directory.
+%
+% The |.spelidx| file requires postprocessing by the \spelpl{}
+% script in order to obtain the required audio files.
+%
+% The speech stream needs to be open before the preamble's title,
+% author and date.
+% \begin{macrocode}
+\newoutputstream{chunk}
+\newoutputstream{spelidx}
+\openoutputfile{\jobname.spelidx}{spelidx}
+% \end{macrocode}
+% The stream needs to be closed upon termination of the document.
+% \begin{macrocode}
+\AtEndDocument{
+ \closeoutputstream{spelidx}%
+}
+% \end{macrocode}
+%
+% To begin with, we write the standard locations for audio and chunk
+% data to the |.spelidx| file.
+% \begin{macrocode}
+\newcommand\audiodir{\jobname-spel}
+\newcommand\chunkdir{\jobname-spel}
+\addtostream{spelidx}{format|\spel@format}
+\addtostream{spelidx}{audiodir|\audiodir}
+\addtostream{spelidx}{chunkdir|\chunkdir}
+% \end{macrocode}
+%
+% To ease writing to the speech index stream, we define a |\spelidxwrite|
+% function to take care of appropriate formatting.
+% \begin{macro}{\spel@idxwrite}
+% This is an internal macro, used to write information to the |.spelidx|
+% file and to a correspondig chunk file.
+% \begin{macrocode}
+\ifspel@disabled\newcommand{\spel@idxwrite}[2]{}\else
+\newcommand{\spel@idxwrite}[2]{%
+ \typeout{spel: Generating #1 - #2}%
+ \addtostream{spelidx}{#1|#2}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% To ease writing speech chunk, we define a |\spel@chunkwrite|
+% function.
+% \begin{macro}{\spel@chunkwrite}
+% This is an internal macro, used to write information to the speech chunk
+% files.
+% \begin{macrocode}
+\ifspel@disabled\newcommand{\spel@chunkwrite}[2]{}\else
+\newcommand{\spel@chunkwrite}[2]{%
+ \openoutputfile{\audiodir/#1.tex}{chunk}%
+ \addtostream{chunk}{#2}%
+ \closeoutputstream{chunk}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Create missing counters}
+% As we need to be able to fully identify every speech chunk, we need
+% to provide some missing counters for the starred versions of the
+% sectioning commands.
+%
+% \begin{macro}{spel@spart} counter
+% \begin{macrocode}
+\newcounter{spel@spart}
+\renewcommand\thespel@spart{\@arabic\c@spel@spart}
+\setcounter{spel@spart}{0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{spel@schapter} counter
+% \begin{macrocode}
+\ifx\c@chapter\@undefined
+\else
+\ifx\c@part\@undefined
+\newcounter{spel@schapter}
+\else
+\newcounter{spel@schapter}[part]
+\fi
+\renewcommand\thespel@schapter{\@arabic\c@spel@schapter}
+\setcounter{spel@schapter}{0}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{spel@ssect} counter
+% \begin{macrocode}
+\ifx\c@chapter\@undefined
+\newcounter{spel@ssect}
+\else
+\newcounter{spel@ssect}[chapter]
+\fi
+\renewcommand\thespel@ssect{\@arabic\c@spel@ssect}
+\setcounter{spel@ssect}{0}
+% \end{macrocode}
+% \end{macro}
+%
+% In addition, some elements that are not canonically numbered require
+% a unique and monotonous numbering.
+% \begin{macro}{spel@footnote} counter
+% \begin{macrocode}
+\newcounter{spel@footnote}
+\renewcommand\thespel@footnote{\@arabic\c@spel@footnote}
+\setcounter{spel@footnote}{0}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{spel@chunk} counter
+% \begin{macrocode}
+\newcounter{spel@chunk}[subparagraph]
+\renewcommand\thespel@chunk{\@arabic\c@spel@chunk}
+\setcounter{spel@chunk}{0}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting up the language}
+% We want to make sure that babel communicates the switching of
+% langauges to spel, such that it can take not of it. This allows the
+% spel engine to select an appropriate language-capable voice when
+% generating the spoken text.
+% \begin{macrocode}
+\AddBabelHook{informspel}{write}{\spel@idxwrite{language}{\languagename}}
+\EnableBabelHook{informspel}
+% \end{macrocode}
+%
+% \subsection{Generating speech chunks --- implicitly}
+% \subsubsection{Auxiliary macros}
+% We define a macro to generate wrappers for single-line text elements.
+% The |\spel@registerelement| macro does
+% the job. The user can even use the macro for his own custom
+% single-line text elements (e.g., for a subtitle, a version string).
+% \begin{macro}{\spel@registerelement}
+% generic macro to register single-line text elements
+% \begin{macrocode}
+\ifspel@disabled\newcommand{\spel@registerelement}[1]{}\else
+\newcommand{\spel@registerelement}[1]{%
+ \expandafter\let\csname spel@@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\gdef\csname #1\endcsname##1{%
+ \spel@chunkwrite{#1}{##1}
+ \csname spel@@#1\endcsname{\href{run:\audiodir/#1.\spel@format}{##1}}
+ }
+ \expandafter\AtBeginDocument{
+ \spel@idxwrite{#1}{#1}
+ }
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Title elements}
+% By redefining the title elements, |\title|, |\author| and |\date| we
+% avoid having to chunk them.
+%
+% Using this macro, we can easily take care of all title-like
+% elements, using:
+% \begin{macrocode}
+\spel@registerelement{title}
+\spel@registerelement{date}
+\spel@registerelement{author}
+% \end{macrocode}
+%
+% \subsubsection{Table of contents}
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@addcontentsline\addcontentsline
+\renewcommand\addcontentsline[3]{%
+ \let\spel@@href\href%
+ \renewcommand\href[2]{#2}%
+ \spel@@addcontentsline{#1}{#2}{#3}%
+ \let\href\spel@@href%
+}
+\providecommand{\tableofcontents}{}
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \@ifclassloaded{article}{\section*{\contentsname}}{\chapter*{\contentsname}}
+ \@mkboth{%
+ \MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ }
+\fi
+% \end{macrocode}
+%
+% \subsubsection{Sectioning commands}
+%
+% \begin{macro}{\@part}
+% This is a simple wrapper around the regular |\@part| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@part\@part
+\def\@part[#1]#2{%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@part[#1]{\href{run:\audiodir/\spel@@optpart.\spel@format}{#2}}%
+ \spel@idxwrite{part \thepart}{\spel@@optpart}%
+ \spel@chunkwrite{\spel@@optpart}{#2}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@spart}
+% This is a simple wrapper around the regular |\@spart| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@spart\@spart
+\def\@spart#1{%
+ \stepcounter{spel@spart}%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@spart{%
+ \href{run:\audiodir/\spel@@optpart star-\thespel@spart.\spel@format}{#1}}%
+ \spel@idxwrite{part}{\spel@@optpart star-\thespel@spart}%
+ \spel@chunkwrite{\spel@@optpart star-\thespel@spart}{#1}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@chapter}
+% This is a simple wrapper around the regular |\@chapter| macro.
+% It is defined conditionally on the existence of the |\chapter| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\ifx\chapter\@undefined\else
+\let\spel@@chapter\@chapter
+\def\@chapter[#1]#2{%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@chapter[#1]{%
+ \href{run:\audiodir/\spel@@optpart\thechapter.\spel@format}{#2}}%
+ \spel@idxwrite{chapter \thechapter}{\spel@@optpart\thechapter}%
+ \spel@chunkwrite{\spel@@optpart\thechapter}{#2}%
+}
+\fi
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@schapter}
+% This is a simple wrapper around the regular |\@schapter| macro.
+% It is defined condionally on the existence of the |\schapter| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\ifx\schapter\@undefined\else
+\let\spel@@schapter\@schapter
+\def\@schapter#1{%
+ \stepcounter{spel@schapter}%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@schapter{%
+ \href{run:\audiodir/\spel@@optpart star-\thespel@schapter.\spel@format}{#1}}%
+ \spel@idxwrite{chapter}{\spel@@optpart star-\thespel@schapter}%
+ \spel@chunkwrite{\spel@@optpart star-\thespel@schapter}{#1}%
+}
+\fi
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@sect}
+% This is a simple wrapper around the regular |\@sect| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ % correct default tex behavior
+ \ifnum #2>\c@secnumdepth%
+ \stepcounter{#1}%
+ \fi%
+ \setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph.\spel@format}{#8}\hfill%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph.m3u}{\textcolor{black!25}{$\triangleright$}}}%
+ \def\spel@@label{\ifnum #2>\c@secnumdepth\else#1 \csname the#1\endcsname\fi}
+ \spel@idxwrite{\spel@@label}{\spel@@optpart\thesubparagraph}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph}{#8}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@sect}
+% This is a simple wrapper around the regular |\@ssect| macro.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+ \stepcounter{spel@ssect}%
+ %\setcounter{spel@chunk}{0}% need this because counter resetting fails
+ \spel@@ssect{#1}{#2}{#3}{#4}{%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph-star-\thespel@ssect.\spel@format}%
+ {#5}}%
+ \spel@idxwrite{section}{\spel@@optpart\thesubparagraph-star-\thespel@ssect}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-star-\thespel@ssect}{#5}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Notes}
+%
+% \begin{macro}{\@footnotetext}
+% This is a simple wrapper around the regular |\$footnotetext|
+% macro. We use a |spelfootnote| counter to keep track of the
+% individual footnotes.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@fntext\@footnotetext
+\long\def\@footnotetext#1{%
+ \stepcounter{spel@footnote}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@@fntext{%
+ \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/footnote-\thespel@footnote.\spel@format}{\usebox\spel@mptbox}#1}%
+ \spel@idxwrite{footnote}{footnote-\thespel@footnote}%
+ \spel@chunkwrite{footnote-\thespel@footnote}{#1}%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Itemizations/Enumerations}
+
+% \begin{macro}{\spelitem}
+% This macro is to be used inside an enumerate, itemize, description
+% environment to automatically cause the generation of a speech
+% chunk.
+% \begin{macrocode}
+\ifspel@disabled\newcommand{\spelitem}{\item}\else
+\newcommand{\spelitem}{%
+ \@ifnextchar[{\spelitem@opt}{\spelitem@intone}
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% This macro uses a number of auxiliary macros.
+% \begin{macro}{\spelitem@opt}
+% This is an internal macro intended to deal with the |\item|'s
+% options.
+% \begin{macrocode}
+\def\spelitem@opt[#1]{\spelitem@inttwo{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\spelitem@opt}
+% This is an internal macro intended to deal with an |\spelitem| without
+% options.
+% \begin{macrocode}
+\def\spelitem@intone#1{%
+ \stepcounter{spel@chunk}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@idxwrite{item}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#1}%
+ \item \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\spelitem@inttwo}
+% This is an internal macro intended to deal with an |\spelitem| with
+% options.
+% \begin{macrocode}
+\def\spelitem@inttwo#1#2{%
+ \stepcounter{spel@chunk}%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \spel@idxwrite{item}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#1 . #2}%
+\item[#1] \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}#2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\caption}
+% This is a redefinition of the |\caption| macro such that it
+% becomes alive.
+% \begin{macrocode}
+\ifspel@disabled\else
+\let\spel@@caption\caption
+\renewcommand\caption[2][]{%
+ \stepcounter{spel@chunk}%
+ \spel@idxwrite{caption}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \spel@chunkwrite{\spel@@optpart\thesubparagraph-\thespel@chunk}{#2}%
+ \spel@@caption[#1]{\protect\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{#2}}
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Generating speech chunks --- explicitly}
+%
+% \subsubsection{Spel chunks to be parsed by \spelpl}
+% \begin{environment}{spelchunk}
+% The |spelchunk| environment is used to define explicit speech chunks.
+% \begin{macrocode}
+\newlength\spel@mptboxwidth
+\newsavebox\spel@mptbox
+\savebox\spel@mptbox{\textcolor{black!25}{$\qquad$}}
+\newif\ifspel@chunkarealink
+\define@key{spelchunk}{arealink}[]{\spel@chunkarealinktrue}
+\ifspel@disabled\def\spelchunk{}\else
+\def\spelchunk{%
+ \catcode`\^^M=\active%
+ \stepcounter{spel@chunk}%
+ \spel@idxwrite{chunk}{\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \@ifnextchar[{\catcode`\^^M=5\spelchunk@opt}{\catcode`\^^M=5\spelchunk@int}}%
+\fi
+\ifspel@disabled\def\endspelchunk{}\else
+\def\endspelchunk{%
+ \end{VerbatimOut}%
+ \catcode`\^^M=5\relax%
+ \ifspel@chunkarealink%
+ \href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\input{./\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk}}%
+ \else%
+ \settowidth\spel@mptboxwidth{\usebox\spel@mptbox}%
+ \hspace*{-\spel@mptboxwidth}\href{run:\audiodir/\spel@@optpart\thesubparagraph-\thespel@chunk.\spel@format}{\usebox\spel@mptbox}\input{./\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk}%
+ \fi%
+ \spel@chunkarealinkfalse%
+}%
+\fi
+% \end{macrocode}
+% \end{environment}
+%
+% The environment above checks if it is called with optional arguments
+% or not.
+% \begin{macro}{\spelchunk@opt}
+% This is macro that deals with the optional arguments of the
+% |spelchunk| envronment.
+% \begin{macrocode}
+\def\spelchunk@opt[#1]{\setkeys{spelchunk}{#1}\spelchunk@int}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\spelchunk@int}
+% This is an internal macro to start the |VerbatimOut| environment
+% embedded in the |spelchunk| environment.
+% \begin{macrocode}
+\def\spelchunk@int{%
+ \VerbatimEnvironment
+ \begin{VerbatimOut}{\chunkdir/\spel@@optpart\thesubparagraph-\thespel@chunk.tex}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Explicit spelchunks}
+%
+% \begin{environment}{spelchunkad}
+% The |spelchunkad| environment is used to override a previous speech
+% chunk. In this way you can provide your own text.
+% \begin{macrocode}
+\def\spelchunkad{%
+ \catcode`\^^M=\active
+ \@ifnextchar[{\catcode`\^^M=5\spelchunk@opt}{\catcode`\^^M=5\spelchunk@int}}
+\def\endspelchunkad{%
+ \end{VerbatimOut}
+ \catcode`\^^M=5\relax
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macrocode}
+\AtBeginDocument{
+ \newcommand\spel@@optpart{}
+}
+% \end{macrocode}
+%
+% \subsection{Helping the wizard to read our chunks}
+%
+% \subsubsection{Listing macros that are to be preprocessed}
+% Some \LaTeX{} or \TeX commands are only for layout purposes and are
+% totally not content related. They do not contribute to what must be
+% read. On the contrary, they make it hard for the \spelpl{} parser to
+% convert the texts flawlessly to what can be read by the
+% text-to-speech engines.
+% Examples of these layout-only commands are |\sf|, |\it|, |\tt|,
+% |\bf| and |\displaystyle| that are to be discarded, but also macro's
+% like e.g. |\fbox| for which only the content is to be retained.
+%
+% As you might also make your own macros that are pure typesetting
+% oriented, it makes sense to provide a macro that registers them as
+% pure type-setting macros and use that macro to cover the examples
+% mentioned above.
+% \begin{macro}{\spelmacpp}
+% \begin{macrocode}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelmacpp}{moom}
+{
+ \addtostream{spelidx}{macpp|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+% Now let's register some standard macros that are to be ignored.
+% \begin{macrocode}
+\spelmacpp{sf}{}
+\spelmacpp{it}{}
+\spelmacpp{tt}{}
+\spelmacpp{bf}{}
+\spelmacpp{HUGE}{}
+\spelmacpp{Huge}{}
+\spelmacpp{huge}{}
+\spelmacpp{LARGE}{}
+\spelmacpp{Large}{}
+\spelmacpp{large}{}
+\spelmacpp{normalsize}{}
+\spelmacpp{small}{}
+\spelmacpp{footnotesize}{}
+\spelmacpp{scriptsize}{}
+\spelmacpp{tiny}{}
+\spelmacpp{minuscule}{}
+\spelmacpp{textsf}[1]{keep}
+\spelmacpp{textit}[1]{keep}
+\spelmacpp{texttt}[1]{keep}
+\spelmacpp{textbf}[1]{keep}
+\spelmacpp{quad}{}
+\spelmacpp{qquad}{}
+\spelmacpp{displaystyle}{}
+\spelmacpp{relax}{}
+\spelmacpp{strut}{}
+\spelmacpp{mathstrut}{}
+\spelmacpp{label}[1]{}
+% \end{macrocode}
+%
+% And let's register a macro for which only the contents is to be
+% preserved:
+% \begin{macrocode}
+\spelmacpp{fbox}[1]{keep}
+% \end{macrocode}
+%
+% \subsubsection{Listing environments that are to be ignored}
+% Some \LaTeX{} or \TeX environments are only for layout purposes and are
+% totally not content related. They do not contribute to what must be
+% read. On the contrary, they make it hard for the \spelpl{} parser to
+% convert the texts flawlessly to what can be read by the
+% text-to-speech engines.
+% An examples of such a layout-only environment is the |center|
+% environment.
+%
+% As you might also make your own environments that are pure typesetting
+% oriented, it makes sense to provide a macro that registers them as
+% pure type-setting macros and use that macro to cover the examples
+% mentioned above.
+% \begin{macro}{\spelenvpp}
+% \begin{macrocode}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelenvpp}{moom}
+{
+ \addtostream{spelidx}{envpp|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+% Now let's register some standard macros that are to be ignored:
+% \begin{macrocode}
+\spelenvpp{center}{keep}
+% \end{macrocode}
+%
+% \subsubsection{Audio descriptions for typesetting macros}
+% \begin{macro}{\spelmacad}
+% This macro allows specifying how to treat macros (with arguments)
+% that appear in the chunks to read out loud. The arguments are in
+% order:
+% \begin{enumerate}
+% \item (mandatory) name of the macro (without leading backslash)
+% \item (optional) number of arguments of the macro
+% \item (optional) default for optional (first) argument
+% \item (mandatory) text to read (with macro parameters in them)
+% You can use the special syntax
+% |@{i18n(keyword,#1,#2)}|
+% to trigger a call to the internationalization (i18n) features built
+% in the \spelpl{} script. This will help to read your commands in an
+% appropriate way. If you miss some features in the i18n list of
+% \spelpl{}, please contact the author to help you out.
+% If you are fluent in Perl, you might also want to change the i18n
+% list of \spelpl{} yourself. It's not that hard.
+% \end{enumerate}
+% \begin{macrocode}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelmacad}{moom}
+{
+ \addtostream{spelidx}{macad|#1|#2|#3|#4}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+% We immediately provide some standard constructs, which are to be
+% ignored:
+% \begin{macrocode}
+\spelmacad{spelatex}{spee-lay-tech}
+\spelmacad{spelbox}{spel-box}
+\spelmacad{spelpl}{spel wizzard dot pl}
+\spelmacad{LaTeX}{lay-tech}
+\spelmacad{TeX}{tech}
+\spelmacad{textsf}[1]{#1}
+\spelmacad{texttt}[1]{#1}
+\spelmacad{textit}[1]{#1}
+\spelmacad{emph}[1]{#1}
+\spelmacad{underline}[1]{#1}
+\spelmacad{mbox}[1]{#1}
+\spelmacad{text}[1]{#1}
+\spelmacad{nobreakspace}{#1}
+\spelmacad{textasciitilde}[1]{ }
+\spelmacad{textbackslash}{backslash}
+\spelmacad{footnote}[1]{}
+\spelmacad{pm}{@{i18n(plusminus)}}
+\spelmacad{ldots}{...}
+% \end{macrocode}
+%
+% Some more that don't seem ignorable - and they are not indeed - they
+% are treated differently by \spelpl{}. However, by registering them
+% here, \spelpl{} knows there signature:
+% \begin{macrocode}
+\spelmacad{cite}[1]{}
+\spelmacad{ref}[1]{}
+\spelmacad{pageref}[1]{}
+% \end{macrocode}
+%
+% \subsubsection{Audio descriptions for typesetting environments}
+% \begin{macro}{\spelenvad}
+% This macro allows specifying how to treat environments (with arguments)
+% that appear in the chunks to read out loud. The arguments are in order:
+% \begin{enumerate}
+% \item (mandatory) name of the macro (without leading backslash)
+% \item (optional) number of arguments of the macro
+% \item (optional) default for optional (first) argument
+% \item (mandatory) text to read (with macro parameters in them)
+% \end{enumerate}
+% \begin{macrocode}
+\ExplSyntaxOn
+\NewDocumentCommand{\spelenvad}{moomm}
+{
+ \addtostream{spelidx}{envad|#1|#2|#3|#4|#5}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+% We immediately provide some standard constructs, which are to be
+% ignored:
+% \begin{macrocode}
+\spelenvad{center}{}{}
+% \end{macrocode}
+%
+% \subsection{Extra math commands}
+%
+% The commands are only loaded if the package option |extramath| is
+% provided:
+%
+% \begin{macrocode}
+\ifspel@extramath
+% \end{macrocode}
+%
+% \begin{macro}{\setenum}
+% This macro typesets a set defined by enumeration:
+% \begin{macrocode}
+\DeclareRobustCommand{\setenum}[1]{\left\{#1\right\}}
+\spelmacad{setenum}[1]{@{i18n(Setenum,#1)}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setdesc}
+% This macro typesets a set defined by description:
+% \begin{macrocode}
+\DeclareRobustCommand{\setdesc}[1]{\left\{#1\right\}}
+\spelmacad{setdesc}[1]{@{i18n(Setdesc,#1)}}
+% \end{macrocode}
+% \end{macro}
+%
+% Note that these two macro's are identical! However, the fact that
+% they have a different name is of great value to \spelpl{}.
+%
+% The conditional loading ends here:
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+%
+% \iffalse
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \fi
+%
+% \section{TODO}
+% \begin{spelchunk}[arealink]
+% As long as there are things on my todo list, We have a reason to
+% live.
+% \end{spelchunk}
+% \begin{itemize}
+% \spelitem{provide enable/disable switch to disable certain ranges in
+% text, e.g. the implementation range in this document}
+% \spelitem{enable bibliography and citation stuff}
+% \end{itemize}
+%
+% \bibliographystyle{alpha}
+%
+% \begin{thebibliography}{99}
+%
+% \bibitem{NVDA}
+% NVDA from NV Access, empowering lives through non-visual access to technology
+% \newblock \url{https://www.nvaccess.org}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{SPRINT}
+% SprintPlus, helping people with dyslexia
+% \newblock \url{https://www.sprintplus.be/en}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{ADOBEREADER}
+% Adobe Reader, a PDF reader from Adobe.
+% \newblock \url{https://get.adobe.com/}
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{TAGPDF}
+% TagPDF - Tools for experimenting with tagging using pdfLaTeX and
+% LuaLaTeX.
+% \newblock \url{https://ctan.org/pkg/tagpdf}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{WINE}
+% Wine - Wine Is Not an Emulator - running windows applications on POSIX-compliant systems.
+% \newblock \url{https://www.winehq.org}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{ORGMODE}
+% Org Mode --- your life in plain text.
+% \newblock \url{https://orgmode.org/}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{EMACS}
+% The Emacs An extensible, customizable, free text editor --- and
+% more.
+% \newblock \url{https://www.gnu.org/software/emacs/}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{OXSPELATEX}
+% Org Mode SpeLaTeX Exporter --- SpeLaTeX made easy.
+% \newblock \url{https://www.melpa.org/#/ox-spelatex}
+% \newblock (not yet online)
+%
+% \bibitem{SPEL}
+% SpeL --- Speech-enabled \LaTeX.
+% \newblock \url{https://ctan.org/pkg/spel}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{SPELWIZARD}
+% SpeL::Wizard --- Incantating \LaTeX{} into natural lanuage
+% \newblock \url{https://metacpan.org/pod/SpeL::Wizard}
+% \newblock online, accessed in June 2024.
+%
+% \bibitem{FESTIVAL}
+% The Festival TTS-program.
+% \newblock \url{http://www.cstr.ed.ac.uk/projects/festival}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{BALABOLKA}
+% The Balabolka TTS-program.
+% \newblock \url{http://www.cross-plus-a.com/balabolka.htm}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{FREETTS}
+% FreeTTS --- A speech synthesizer in Java.
+% \newblock \url{https://freetts.sourceforge.io/docs/index.php}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{AWSPOLLY}
+% Amazon Polly --- An online text-to-speech engine.
+% \newblock \url{https://aws.amazon.com/polly}
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{CTAN}
+% The Comprehensive \TeX{} Archive Network.
+% \newblock \url{http://www.ctan.org}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{CPAN}
+% The Comprehensive Perl Archive Network.
+% \newblock \url{http://www.cpan.org}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{XPDF}
+% xpdf, a simple and very fast PDF reader on \GNU/Linux.
+% \newblock \url{http://www.xpdfreader.com/}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{EVINCE}
+% evince, a PDF reader, part of the Gnome environment.
+% \newblock \url{https://help.gnome.org/users/evince/stable/}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{OKULAR}
+% okular, a PDF reader, part of the KDE environment.
+% \newblock \url{https://okular.kde.org}.
+% \newblock online, accessed in May 2024.
+%
+% \bibitem{PDFXCHANGE}
+% PDF XChange Viewer, a PDF reader from Tracker Software.
+% \newblock \url{https://www.pdf-xchange.com/}
+% \newblock online, accessed in May 2024.
+%
+% \end{thebibliography}
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/spelatex/spelatex.ins b/macros/latex/contrib/spelatex/spelatex.ins
new file mode 100644
index 0000000000..dfe1cbf39e
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex.ins
@@ -0,0 +1,58 @@
+%% Copyright (C) 2024 by Walter Daems <walter.daems@uantwerpen.be>
+%% and Paul Levrie
+%%
+%% This work may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Walter Daems.
+%%
+%% This work consists of the files lts.dtx and lts.ins
+%% and all derived files.
+
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2024 by Walter Daems <walter.daems@ieee.org>
+ and Paul Levrie
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3 of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX version
+2005/12/01 or later.
+
+\endpreamble
+
+\usedir{tex/latex/spelatex}
+\generate{\file{spelatex.sty}{\from{spelatex.dtx}{package}}}
+
+\obeyspaces
+\Msg{***************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to merge the TDS tree *}
+\Msg{* into your TEXMFLOCAL tree. *}
+\Msg{* *}
+\Msg{* Good luck! *}
+\Msg{* *}
+\Msg{* Walter *}
+\Msg{* *}
+\Msg{***************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/spelatex/spelatex.pdf b/macros/latex/contrib/spelatex/spelatex.pdf
new file mode 100644
index 0000000000..d68cae1950
--- /dev/null
+++ b/macros/latex/contrib/spelatex/spelatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/standardsectioning/LICENSE.md b/macros/latex/contrib/standardsectioning/LICENSE.md
new file mode 100644
index 0000000000..99a6973749
--- /dev/null
+++ b/macros/latex/contrib/standardsectioning/LICENSE.md
@@ -0,0 +1,19 @@
+----------------------------------------------------------------------------
+
+This work may be distributed and/or modified under the conditions of the
+LaTeX Project Public License, version 1.3c of the license. The latest
+version of this license is in http://www.latex-project.org/lppl.txt and
+version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+or later. This work has the LPPL maintenance status “maintained”.
+The current maintainer and author of this work is Markus Kohm.
+
+----------------------------------------------------------------------------
+
+Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle
+Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01
+oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „maintained”
+Der aktuelle Verwalter und Autor dieses Werks ist Markus Kohm.
+
+----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/standardsectioning/README.md b/macros/latex/contrib/standardsectioning/README.md
new file mode 100644
index 0000000000..ffbf1cf1b9
--- /dev/null
+++ b/macros/latex/contrib/standardsectioning/README.md
@@ -0,0 +1,174 @@
+# Package `standardsectioning`
+
+Copyright © 2019–2024 Markus Kohm
+
+Release: 2024-06-06 v0.9
+
+License: LPPL 1.3c
+
+KOMA presents the `standardsectioning` micro package to force the usage of
+the sectioning command definition of the standard classes also when using
+other classes like the [KOMA-Script](https://www.ctan.org/pkg/koma-script)
+classes.
+
+----------------------------------------------------------------------------
+
+This work may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, version 1.3c of the license.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer and author of this work is Markus Kohm.
+
+----------------------------------------------------------------------------
+
+# Abstract
+
+A long time ago [KOMA-Script](https://www.sourceforge.net/project/koma-script)
+was more or less just a collection of replacements for the three standard
+classes `article`, `book` and `report`. Replacing a standard class with a
+[KOMA-Script](https://www.sourceforge.net/project/koma-script) class was easy,
+even if users used a lot of additional packages. Over the years, KOMA has
+added many new features and user interfaces to the classes. This also led to
+completely different implementation of the sectioning commands. But some
+packages depend on an implementation similar to the standard classes.
+
+Package `standardsectioning` implements these commands with the code of the
+standard classes. If used with a KOMA-Script class, it also deactivates parts
+of the KOMA-Script user interface, which should not be used with these
+changes. These are more or less all commands to configure sectioning
+commands. It also undefines some internal macros of KOMA-Script.
+
+# Note
+
+Using package `standardsectioning` is only a kind of first-aid
+workaround. Usually it is better not to use the incompatible package with
+KOMA-Script similar classes.
+
+This package is also a replacement of the `standardsections.hak` of
+`scrhack` before version 3.42.
+
+# Installation for Users
+
+If you are a user, you should wait until the package has been added to your
+preferred TeX distribution. Then you can use the package manager of your TeX
+distribution to install all the packages.
+
+# Unpacking for Distributors
+
+Distributors should download [the distribution from
+CTAN](https://www.ctan.org/pkg/standardsectioning). This consists in:
+
+* `standardsectioning.dtx`
+* `README.md`
+* `LICENSE.md`
+* `standardsectioning.pdf`
+
+If distributors also want to distribute `standardsectioning.sty`, they can
+unpack it using
+
+ tex standardsectioning.dtx
+
+Note, that you have to use `tex` not `latex`, `pdflatex`, `xelatex` or
+`lualatex`!
+
+Note also, that a legal distribution consists at least in:
+
+* `standardsectioning.dtx`
+* `README.md`
+
+The following files are optionally, but must not be distributed without the
+previous ones:
+
+* `LICENSE.md`
+* `standardsectioning.sty`
+* `standardsectioning.pdf`
+
+
+# Unpacking and Installation for Developers
+
+Developers who want the current developer version of the code to be installed
+for testing, should clone [the `third-party-enhancements`
+repository](https://github.com/komascript/third-party-enhancements), e.g.,
+using
+
+ git clone https://github.com/komascript/third-party-enhancements.git
+
+You can than either unpack and install all the third-party enhancements using:
+
+ l3build install --full
+
+from within the main directory of the cloned respository. For installation of
+`standardsectioning` only run the same command from within the
+`standardsectioning` subdirectory. For installation without the manual omit
+option `--full`, but this is not recommended for developers.
+
+# How to get the Manual
+
+After installation you should get the user manual using:
+
+ texdoc standardsectioning
+
+See the manual of your TeX distribution for more information.
+
+Developers or distributors can also build the manual from the source using:
+
+ l3build doc
+
+# How to Contribute
+
+To become a contributor, e.g., do heavy testing. If you find an issue, please
+report it using [the issue
+tracker](https://github.com/komascript/third-party-enhancements/issues).
+Please note, however, that the loss of class features as a result of using
+this package is generally an intended side effect and does not necessarily
+constitute an issue.
+
+You can also become a developer and, e.g., make new test files to the
+packages. See the [`l3build`](https://ctan.org/pkg/l3build) manual for more
+information about tests. If you've created a new test and think that it would
+be useful. Please either do a pull request or [add a new
+issue](https://github.com/komascript/third-party-enhancements/issues/new/choose)
+and include your test file.
+
+Another kind of contribution would be to contact the author of the package,
+that depends on the sectioning implementation of the standard classes and is
+therefore incompatible with the class you are using to convince her or him to
+make his package compatible.
+
+# How to Report Issues
+
+If you think you have found a bug (or another kind of issue) using
+`setspaceenhanced` you should use [the issue
+tracker](https://github.com/komascript/third-party-enhancements/issues). Please
+first search for similar issues already reported and maybe also already fixed
+and closed. Maybe the replies to such a similar report would help you too.
+Please also note, however, that the loss of class features as a result of using
+this package is generally an intended side effect and does not necessarily
+constitute a bug.
+
+If your issue is new, you should report it also using [the issue
+tracker](https://github.com/komascript/third-party-enhancements/issues). Please
+be kind, not only when writing the report but also when reading replies and
+commenting or answering. And please always add a minimal working example and
+usually the relevant parts of the `log`-file to your report. Please use the
+[markdown for
+code](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks)
+to add such files into the text of your report. The correct language
+identifier for LaTeX code would be `latex`. For `log`-files you won't need any
+language identifier. Usually you should not use attachments for code or
+`log`-files unless you've been asked to do so. And please note, reports should
+always be self-containing. External links often break and so the report become
+useles.
+
+# How to Say Thank You for my Work
+
+Hey, I'm doing this as a hobby. So no need to say thank you. But I'm a vain
+fop, so I'm certainly up for a quick thank you by email. On komascript.de you
+can find an [explanation of my wishes](https://komascript.de/wunschliste) if
+you want to give more. If you don't understand German, just click to links at
+that page.
diff --git a/macros/latex/contrib/standardsectioning/standardsectioning.dtx b/macros/latex/contrib/standardsectioning/standardsectioning.dtx
new file mode 100644
index 0000000000..d8030d2f22
--- /dev/null
+++ b/macros/latex/contrib/standardsectioning/standardsectioning.dtx
@@ -0,0 +1,929 @@
+% \iffalse meta-comment
+% ======================================================================
+% standardsectioning.dtx
+% Copyright © 2008–2024 Markus Kohm
+%
+% This work is a KOMA-Script spin-off. For the original sources of
+% KOMA-Script's `float.hak' see file `scrhack.dtx' in the KOMA-Script
+% sources at <https://sourceforge.net/p/koma-script/code/>.
+%
+% Development is taking place as part of `scrhack' at
+% <https://github.com/komascript/third-party-enhancements>. New issues
+% should be reported there as well as known issues can be found.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.<3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of the files `standardsectioning.dtx' and
+% `README.md'.
+%
+% This work also uses code derived from the standard LaTeX classes.
+% These classes have been released under the LaTeX Project Public
+% License. For the copyright of the original code see `classes.dtx'
+% <https://ctan.org/tex-archive/macros/latex/base/classes.dtx>.
+% Note: For support of the derived code, do not contact the authors of
+% the original code! They are not responsible for this work.
+%
+% The recommended way to install `standardsectioning' is to use
+% the package manager of your TeX distribution.
+% ======================================================================
+%
+%<*dtx>
+\ifx\ProvidesExplFile\undefined\def\ProvidesExplFile#1#2#3#4{}\fi
+\ProvidesExplFile{standardsectioning.dtx}
+%</dtx>
+%<*dtx|package>
+%<package>\ProvidesExplPackage{standardsectioning}
+ {2024-06-06}{0.9}
+ {%
+%<*dtx>
+ sources and unpack driver of
+%</dtx>
+ forcing standard class sectioning definitions%
+ }
+%</dtx|package>
+%<*dtx>
+\ifx\documentclass\undefined
+ \input docstrip.tex
+ \generate{%
+ \file{standardsectioning.sty}{%
+ \from{standardsectioning.dtx}{package}%
+ }%
+ }%
+\else
+ \let\endbatchfile\ExplSyntaxOff
+\fi
+\endbatchfile
+\documentclass[ngerman,USenglish]{koma-script-source-doc}
+\NewDocElement[%
+ macrolike = true,
+ toplevel = true,
+ idxtype = \textit{var.},
+ idxgroup = Variable,
+ printtype = \textit{var.},
+]{Variable}{Variable}
+\setcounter{IndexColumns}{2}
+\usepackage{babel}
+\usepackage{csquotes}
+\usepackage[style=alphabetic]{biblatex}
+\begin{filecontents}[force]{\jobname.bib}
+@manual{pkg:scrhack:manual,
+ author={Markus Kohm},
+ version={3.42},
+ date={2023-07-26},
+ title={Emulating Former \KOMAScript{} Package \pkg*{scrhack}},
+ url={https://mirrors.ctan.org/macros/latex/contrib/scrhack/scrhack.pdf},
+ urldate={2023-07-26},
+}
+@online{pkg:koma-script,
+ author={Markus Kohm},
+ version={3.41},
+ date={2023-07-07},
+ title={{\KOMAScript} --- A bundle of versatile classes and packages},
+ url={https://ctan.org/pkg/koma-script},
+ urldate={2023-07-14},
+ note={The \KOMAScript{} bundle provides replacements for the \pkg*{article},
+ \pkg*{report}, and \pkg*{book} classes with emphasis on typography and
+ versatility. There is also a letter class.},
+}
+@manual{pkg:koma-script:manual:de,
+ author={Markus Kohm},
+ date={2023-06-16},
+ title={{\KOMAScript}},
+ subtitle={Die Anleitung},
+ url={http://mirrors.ctan.org/macros/latex/contrib/koma-script/scrguide-de.pdf},
+ urldate={2023-07-04},
+}
+@manual{pkg:koma-script:manual:en,
+ author={Markus Kohm},
+ date={2023-06-16},
+ title={{\KOMAScript}},
+ subtitle={The Guide},
+ url={http://mirrors.ctan.org/macros/latex/contrib/koma-script/scrguide-en.pdf},
+ urldate={2023-07-14},
+}
+\end{filecontents}
+\addbibresource{\jobname.bib}
+\setcounter{StandardModuleDepth}{2}
+\begin{document}
+ \nocite{pkg:koma-script,pkg:koma-script:manual:en,pkg:koma-script:manual:de}
+ \DocInput{standardsectioning.dtx}
+\end{document}
+%</dtx>
+%\fi
+%
+% \changes{v0.1}{2023/06/01}{start of \KOMAScript{} spin-off}
+% \changes{v0.9}{2024/06/06}{first release}
+%
+% \GetFileInfo{standardsectioning.dtx}
+% \title{Using the Sectioning Command Code of the Standard Classes}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Version \filedate{} \fileversion}
+% \maketitle
+% \begin{abstract}
+% A long time ago
+% \href{https://www.sourceforge.net/project/koma-script}{\KOMAScript} was
+% more or less just a collection of replacements for the three standard
+% classes \cls*{article}, \cls*{book} and \cls*{report}. Replacing a
+% standard class with a
+% \href{https://www.sourceforge.net/project/koma-script}{\KOMAScript} class
+% was easy, even if users used a lot of additional packages. Over the years,
+% the author has added many new features and user interfaces to the
+% classes. This also led to completely different implementation of the
+% sectioning commands. But some packages depend on an implementation similar
+% to the standard classes.
+%
+% Package \pkg*{standardsectioning} implements these commands with the code
+% of the standard classes and also deactivates parts of the
+% \href{https://www.sourceforge.net/project/koma-script}{\KOMAScript} user
+% interface, which should not be used with these changes. These are more or
+% less all commands to configure sectioning commands. It also reverts some
+% internal macros of
+% \href{https://www.sourceforge.net/project/koma-script}{\KOMAScript}.
+% \end{abstract}
+%
+% \tableofcontents
+%
+%\iffalse
+%<*doc>
+%\fi
+\section{What are the typical reasons for using package
+ \texorpdfstring{\pkg*{standardsectioning}}{standardsectioning} and how to do
+ it?}
+\label{sec:reasons}
+
+Sometimes replacing a standard class by a
+\href{https://komascript.de/}{\KOMAScript} class results in new errors,
+because of incompatibility of some of the packages or the already existing
+preamble code with these classes. In such a case, you first should try out
+package \pkg{scrhack} without passing any option to that package. Package
+\pkg{scrhack} should be the first package after loading the document class, or
+even be loaded \emph{before} the document class using \cs{RequirePackage}
+instead of \cs{usepackage}. If this already fixes the issue, you can try to
+find out which of the replacements and enhancements loaded by \pkg{scrhack}
+solved the issue and load only these.
+
+Only if you cannot fix the issue this kind you can try loading
+\pkg*{standardsectioning} either also using \pkg{scrhack} with
+corresponding options (see \cite{pkg:scrhack:manual}) or just loading
+\pkg*{standardsectioning}.
+
+Such errors happen, e.g., because
+\pkg{titlesec}\index{Packages:>\pkg{titlesec}} makes assumptions about the
+definition of the sectioning commands that simply do not apply to the
+\href{https://komascript.de/}{\KOMAScript} classes. This leads, e.g., in the
+following example:
+\begin{verbatim}
+ \documentclass{scrartcl}
+ \usepackage{titlesec}
+ \begin{document}
+ \section{Test Section}
+ Test text.
+ \end{document}
+\end{verbatim}
+to the error message:
+\begin{verbatim}
+ Package titlesec Error: No format for this command.
+
+ See the titlesec package documentation for explanation.
+ Type H <return> for immediate help.
+ ...
+
+ l.4 \section{Test Section}
+\end{verbatim}
+Several other errors can happen with combinations of \pkg{titlesec} and
+\href{https://komascript.de/}{\KOMAScript} classes. Best solution for this,
+would be to not use \pkg{titlesec} and instead use the class' interface to
+configure the sectioning commands, e.g., \cs{RedeclareSectionCommand},
+\cs{setkomafont}, or redefining \cs{sectionlinesformat}. See
+\cite{pkg:koma-script:manual:en} or \cite{pkg:koma-script:manual:de} for more
+information. But if you do not use any of the enhanced sectioning features of
+the \href{https://komascript.de/}{\KOMAScript} classes, a first-aid workaround
+would be to load package \pkg*{standardsectioning} immediately \emph{after}
+the class:
+\begin{verbatim}
+ \documentclass{scrartcl}
+ \usepackage{standardsectioning}
+ \usepackage{titlesec}
+ \begin{document}
+ \section{Test Section}
+ Test text.
+ \end{document}
+\end{verbatim}
+Among other things, this redefines the sectioning commands to be compatible
+with the standard classes.
+\begin{description}\sloppy
+\item[But note:] \leavevmode
+ \marginline{\raisebox{\dimexpr\ht\strutbox-\height\relax}{\Huge\textcolor{red}{!}}}%
+ This also means, that all the enhancements to these commands are broken! You
+ cannot use \cs{DeclareSectionCommand}, \cs{RedeclareSectionCommand},
+ \cs{DeclareNewSectionCommand}, \cs{ProvideSectionCommand},
+ \cs{DeclareSectionCommands}, \cs{RedeclareSectionCommands},
+ \cs{DeclareNewSectionCommands}, or \cs{ProvideSectionCommands} any
+ longer. Other commands like \cs{partformat}, \cs{chapterformat},
+ \cs{sectionformat}, \cs{subsectionformat}, \cs{subsubsectionformat},
+ \cs{paragraphformat}, \cs{subparagraphformat} and many more are not used
+ anymore.
+\end{description}
+
+Sometimes a wrapper classes loads a \href{https://komascript.de/}{\KOMAScript}
+class and than also loads a package like \pkg{titlesec}. To load
+\pkg*{standardsections} immediately after the class, you should use the
+generic class hook available from \LaTeX{} 2020-10-01:
+\begin{verbatim}
+ \AddToHook{class/scrartcl/after}{\RequirePackage{standardsectioning}}
+ \AddToHook{class/scrbook/after}{\RequirePackage{standardsectioning}}
+ \AddToHook{class/scrreprt/after}{\RequirePackage{standardsectioning}}
+\end{verbatim}
+These lines should be placed \texttt{before} \cs{documentclass}. If you are
+using an older \LaTeX{} version you can use
+\href{https://komascript.de/}{\KOMAScript} package \pkg{scrlfile} to do the
+same:
+\begin{verbatim}
+ \RequirePackage{scrlfile}
+ \AfterClass{scrartcl}{\RequirePackage{standardsectioning}}
+ \AfterClass{scrbook}{\RequirePackage{standardsectioning}}
+ \AfterClass{scrreport}{\RequirePackage{standardsectioning}}
+\end{verbatim}
+also \emph{before} loading the class.
+
+\section{How to select the correct sectioning code, if the automatism fails?}
+\label{sec:options}
+
+By default, the package uses an automatism to decide which code of which
+standard class should be used. If the \KOMAScript{} class \cls{scrartcl} is
+detected, automatically the code of \cls{article} is used. If the
+\KOMAScript{} class \cls{scrreprt} is detected, automatically the code of
+\cls{report} is used. If the \KOMAScript{} class \cls{scrbook} is detected,
+automatically the code of \cls{book} is used. If none of these classes is
+detected, the existence of two commands is used. If \cs{chapter} is not
+defined, the code of \cls{article} is used. If \cs{chapter} is defined, but
+\cs{frontmatter} is not defined, the code of \cls{report} is used. If both
+\cs{chapter} and \cs{frontmatter} are defined, the code of \cls{book} is used.
+
+%\DescribeOption{article}
+%\DescribeOption{book}
+%\DescribeOption{report}
+Very seldom this automatism fails and the wrong code is used, which results in
+error messages or printing mistakes. In this case you can load package
+\pkg*{standardsectioning} with one of the options \opt{article}, \opt{report}
+or \opt{book} to force the usage of the sectioning code of either
+\cls{article}, \cls{report}, or \cls{book}. This could, e.g., be needed, if
+you are using a class, that defines \cs{chapter} and \cs{frontmatter} but not
+\cs{if@mainmatter}. In this case, you should use
+\begin{verbatim}
+ \usepackage[report]{standardsectioning}
+\end{verbatim}
+instead of
+\begin{verbatim}
+ \usepackage{standardsectioning}
+\end{verbatim}
+because otherwise the not defined \cs{if@mainmatter} will result in errors,
+when using \cs{chapter}.
+% \iffalse
+%</doc>
+% \fi
+%
+% \MaybeStop{\printbibliography[heading=bibintoc]\PrintIndex}
+%
+% \iffalse
+%<*package>
+%<@@=standardsectioning>
+% \fi
+% \section{Implementation}
+% \label{sec:implementation}
+%
+% \subsection{Messages}
+% \label{ssec:messages}
+%
+% There are some messages, that may be used several times:
+% \begin{macrocode}
+\msg_new:nnnn { standardsectioning } { wrong-package-order }
+ {
+ wrong~package~order~detected.
+ }
+ {
+ You've~loaded~this~package~after~package~#1.\iow_newline:
+ But~this~cannot~work.\iow_newline:
+ Loading aborted!
+ }
+
+\msg_new:nnn { standardsectioning } { deactivate-extended-section-commands }
+ {
+ extended~sectioning~option~handling~deactivated.
+ }
+
+\msg_new:nnn { standardsectioning } { no-force-with-KOMA-Script-class }
+ {
+ package~option~`#1'~is~ignored~due~to~usage~of~KOMA-Script~class~\KOMAClassName.
+ }
+% \end{macrocode}
+%
+% \subsection{Package order}
+% \label{ssec:packageorder}
+%
+% \pkg{hyperref} must not be loaded, because otherwise deactivation of
+% \cs{scr@chapter@after@hyperref@patch} would not work.
+% \begin{macrocode}
+\@ifpackageloaded { hyperref }
+ {
+ \msg_critical:nnn { standardsectioning } { wrong-package-order }
+ { hyperref }
+ } { }
+% \end{macrocode}
+% \pkg{titlesec} must not be loaded, because otherwise the re-definitions
+% would overwrite the definitions of this package.
+% \begin{macrocode}
+\@ifpackageloaded { titlesec }
+ {
+ \msg_critical:nnn { standardsectioning } { wrong-package-order }
+ { titlesec }
+ } { }
+% \end{macrocode}
+% \pkg{sectsty} must not be loaded, because otherwise the re-definitions
+% would overwrite the definitions of this package.
+% \begin{macrocode}
+\@ifpackageloaded { sectsty }
+ {
+ \msg_critical:nnnn { standardsectioning } { wrong-package-order }
+ { sectsty }
+ } { }
+% \end{macrocode}
+%
+% \subsection{\KOMAScript{} deactivation code}
+% \label{ssec:deactivationcode}
+%
+% \ExplSyntaxOn
+% \begin{macro}{\@@_common_komascript_deactivation_code:}
+% \ExplSyntaxOff
+% Some deactivation code is common for all \KOMAScript{} classes and
+% therefore we use an auxiliary function to not need to copy it several
+% times.
+% \begin{macrocode}
+\cs_new:Nn \@@_common_komascript_deactivation_code:
+ {
+% \end{macrocode}
+% \begin{macro}{\@startsection}
+% \KOMAScript{} classes redefine this internal \LaTeX{} kernel macro. In this
+% case \cs{scr@saved@startsection} is defined, differs from
+% \cs{@startsection} and has the definition found before redefining the
+% original macro. We do nothing else but resetting \cs{@startsection} to this
+% saved definition.
+% \begin{macrocode}
+ \RenewCommandCopy \@startsection \scr@saved@startsection
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@sect,\@ssect,\@xsect}
+% All these should be resetted to their original definitions stored in
+% \cs{scr@latex@\dots}.
+% \begin{macrocode}
+ \RenewCommandCopy\@sect\scr@latex@sect
+ \RenewCommandCopy\@ssect\scr@latex@ssect
+ \RenewCommandCopy\@xsect\scr@latex@xsect
+% \end{macrocode}
+% \end{macro}
+% \begin{command}{\DeclareSectionCommand,\RedeclareSectionCommand,
+% \DeclareNewSectionCommand,\ProvideSectionCommand,
+% \DeclareSectionCommands,\RedeclareSectionCommands,
+% \DeclareNewSectionCommands,\ProvideSectionCommands}
+% These \KOMAScript{} commands do not make sense any longer after forced
+% redefinition of \cs{part} \dots{} \cs{subparagraph}. They even would not
+% work correctly after resetting, e.g., \cs{@startsection}. So best reaction
+% is to \emph{undefine} them.
+% \begin{macrocode}
+ \cs_undefine:N \DeclareSectionCommand
+ \cs_undefine:N \DeclareSectionCommands
+ \cs_undefine:N \RedeclareSectionCommand
+ \cs_undefine:N \RedeclareSectionCommands
+ \cs_undefine:N \DeclareNewSectionCommand
+ \cs_undefine:N \DeclareNewSectionCommands
+ \cs_undefine:N \ProvideSectionCommand
+ \cs_undefine:N \ProvideSectionCommands
+% \end{macrocode}
+% \end{command}
+% \begin{macro}{\minisec}
+% This also has to be undefined, because it also uses internal \KOMAScript{}
+% definitions, which are deactivated.
+% \begin{macrocode}
+ \cs_undefine:N \minisec
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\scr@chapter@before@hyperref@patch,
+% \scr@chapter@after@hyperref@patch}
+% Now, definitions without respecting \pkg{hyperref} are used, so
+% \pkg{hyperref} should again be able to patch them. So the hack should
+% deactivate the patch deactivation of the \KOMAScript{} classes.
+% \begin{macrocode}
+ \cs_gset_eq:NN \scr@chapter@before@hyperref@patch \relax
+ \cs_gset_eq:NN \scr@chapter@after@hyperref@patch \relax
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\scr@osectarg}
+% The \KOMAScript{} classes use this macro to store how to use the optional
+% argument of section commands. But with the standard class definition the
+% only possibility is to use it as running head and write it into the table of
+% contents without any extended handling. So the only value, that makes sense
+% is 0.
+% \begin{macrocode}
+ \int_if_zero:nF { \scr@osectarg }
+ {
+ \msg_warning:nn { standardsectioning }
+ { deactivate-extended-section-commands }
+ \cs_gset_eq:NN \scr@osectarg \c_zero_int
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\scr@activate@xsection}
+% Further changing of the value has to be deactivated.
+% \begin{macrocode}
+ \renewcommand*{\scr@activate@xsection}[1]{%
+ \int_if_zero:nF { ##1 }
+ {
+ \msg_warning:nn { standardsectioning }
+ { deactivate-extended-section-commands }
+ \cs_gset_eq:NN \scr@osectarg \c_zero_int
+ }
+ }%
+% \end{macrocode}
+% \end{macro}
+% \begin{command}{\partlineswithprefixformat,
+% \sectionlinesformat,\sectioncatchphraseformat}
+% These \KOMAScript{} commands are not used any longer. To detect errors,
+% because of redefining them, we undefine them.
+% \begin{macrocode}
+ \cs_undefine:N \partlineswithprefixformat
+ \cs_undefine:N \sectionlinesformat
+ \cs_undefine:N \sectioncatchphraseformat
+% \end{macrocode}
+% \end{command}
+% \begin{option}{headings}
+% The \KOMAScript{} option does not make sense any longer. So it is
+% deactivated and usage will throw an error.
+% \begin{macrocode}
+ \RelaxFamilyKey[.\KOMAClassFileName]{KOMA}{headings}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{headings}%
+% \end{macrocode}
+% \end{option}
+% \begin{macro}{\scr@class@titlesec@warning}
+% The warning about loading \pkg{titlesec} has to be removed, because we do
+% not expect errors any longer.
+% \begin{macrocode}
+ \cs_undefine:N \scr@class@titlesec@warning
+% \end{macrocode}
+% \begin{macrocode}
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \ExplSyntaxOff
+%
+% \subsection{Sectioning code of the standard classes}
+% \label{ssec:standardsectioningcommands}
+%
+% \begin{command}{\part,\chapter,\section,\subsection,\subsubsection,
+% \paragraph,\subparagraph}
+% These commands are redefined using code from
+% \href{https://ctan.org/tex-archive/macros/latex/base/classes.dtx}
+% {\file{classes.dtx}}
+% 2024/02/08 v1.4n.
+% Only \cs{newcommand} is replaced by \cs{def} and \texttt{\#} are
+% doubled. Depending on the class, we use different code:
+% \ExplSyntaxOn
+% \begin{macro}{\@@_article_sectioning_code:,\@@_book_sectioning_code:,
+% \@@_report_sectioning_code:}
+% \ExplSyntaxOff
+% \begin{macrocode}
+\cs_new:Nn \@@_article_sectioning_code:
+ {
+ \def\part{%
+ \if@noskipsec \leavevmode \fi
+ \par
+ \addvspace{4ex}%
+ \@afterindentfalse
+ \secdef\@part\@spart}%
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \Large\bfseries \partname\nobreakspace\thepart
+ \par\nobreak
+ \fi
+ \huge \bfseries ##2%
+ \markboth{}{}\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}%
+ \def\@spart##1{%
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \huge \bfseries ##1\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}%
+
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}%
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}%
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}%
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}%
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}%
+ }
+
+\cs_new:Nn \@@_report_sectioning_code:
+ {
+ \def\part{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \thispagestyle{plain}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \null\vfil
+ \secdef\@part\@spart}
+
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname\nobreakspace\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries ##2\par}%
+ \@endpart}
+ \def\@spart##1{%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries ##1\par}%
+ \@endpart}
+ \def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+ \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+ \def\@chapter[##1]##2{\ifnum \c@secnumdepth >\m@ne
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}##1}%
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \chaptermark{##1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{##2}]%
+ \else
+ \@makechapterhead{##2}%
+ \@afterheading
+ \fi}
+ \def\@makechapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\@schapter##1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{##1}]%
+ \else
+ \@makeschapterhead{##1}%
+ \@afterheading
+ \fi}
+ \def\@makeschapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ }
+
+\cs_new:Nn \@@_book_sectioning_code:
+ {
+ \def\part{%
+ \if@openright
+ \cleardoublepage
+ \else
+ \clearpage
+ \fi
+ \thispagestyle{plain}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \null\vfil
+ \secdef\@part\@spart}
+
+ \def\@part[##1]##2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}##1}%
+ \else
+ \addcontentsline{toc}{part}{##1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname\nobreakspace\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries ##2\par}%
+ \@endpart}
+ \def\@spart##1{%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries ##1\par}%
+ \@endpart}
+ \def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+ \def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+ \def\@chapter[##1]##2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}##1}%
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{##1}%
+ \fi
+ \chaptermark{##1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{##2}]%
+ \else
+ \@makechapterhead{##2}%
+ \@afterheading
+ \fi}
+ \def\@makechapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\@schapter##1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{##1}]%
+ \else
+ \@makeschapterhead{##1}%
+ \@afterheading
+ \fi}
+ \def\@makeschapterhead##1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \Huge \bfseries ##1\par\nobreak
+ \vskip 40\p@
+ }}
+ \def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\bfseries}}
+ \def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\bfseries}}
+ \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+ \def\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{command}
+%
+% \subsection{Class dependent deactivation and implemention}
+% \label{ssec:doit}
+%
+% If a \KOMAScript{} class has been loaded we need use the common deactivation
+% code and the \cls*{article} sectioning code.
+% \ExplSyntaxOn
+% \begin{macro}{\@@_acticvation_code:}
+% \ExplSyntaxOff
+% \begin{macrocode}
+\cs_new:Nn \@@_activation_code:
+ {
+ \@ifclassloaded { scrartcl }
+ {
+ \@@_common_komascript_deactivation_code:
+ \@@_article_sectioning_code:
+ }
+ {
+% \end{macrocode}
+% \begin{command}{\chapterlineswithprefixformat,\chapterlinesformat}
+% For \cls*{scrbook} and \cls*{scrreprt} we need additional deactivation
+% code and the \cls*{book} resp. \cls*{report} sectioning code.
+% \begin{macrocode}
+ \@ifclassloaded { scrbook }
+ {
+ \@@_common_komascript_deactivation_code:
+ \cs_undefine:N \chapterlineswithprefixformat
+ \cs_undefine:N \chapterlinesformat
+ \@@_book_sectioning_code:
+ }
+ {
+ \@ifclassloaded { scrreprt }
+ {
+ \@@_common_komascript_deactivation_code:
+ \cs_undefine:N \chapterlineswithprefixformat
+ \cs_undefine:N \chapterlinesformat
+ \@@_report_sectioning_code:
+ }
+ {
+% \end{macrocode}
+% \end{command}
+% For all other classes, we use a heuristic to either use the sectioning code
+% of \cls*{article}, \cls*{book}, or \cls*{report}
+% \begin{macrocode}
+ \cs_if_exist:NTF \chapter
+ {
+ \cs_if_exist:cTF { frontmatter }
+ {
+ \@@_book_sectioning_code:
+ }
+ {
+ \@@_report_sectioning_code:
+ }
+ }
+ {
+ \@@_article_sectioning_code:
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \ExplSyntaxOff
+%
+% \begin{option}{book,article,report}
+% These options can be used to force the usage of one of the selection
+% codes, but only if no \KOMAScript{} class has been used. So in the code
+% section we first have to test for a \KOMAScript{} class and either throw a
+% warning or do the redefinition of \cs{@@\_activation\_code:}.
+% \begin{macrocode}
+\DeclareKeys
+ {
+ article .meta:nn = { @@/internal } { force=article },
+ article .usage = load,
+ book .meta:nn = { @@/internal } { force=book },
+ book .usage = load,
+ report .meta:nn = { @@/internal } { force=report },
+ report .usage = load,
+ }
+\keys_define:nn { @@/internal }
+ {
+ force .code =
+ {
+ \cs_if_exist:NTF \KOMAClassName
+ {
+ \msg_warning:nnn { standardsectioning }
+ { no-force-with-KOMA-Script-class }
+ { #1 }
+ }
+ {
+ \cs_set_eq:Nc \@@_activation_code: { @@_#1_sectioning_code: }
+ }
+ }
+ }
+\ProcessKeyOptions
+\@@_activation_code:
+% \end{macrocode}
+% \end{option}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+% \PrintChanges
+%
+% \endinput
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% End:
diff --git a/macros/latex/contrib/standardsectioning/standardsectioning.pdf b/macros/latex/contrib/standardsectioning/standardsectioning.pdf
new file mode 100644
index 0000000000..1b2d9ce573
--- /dev/null
+++ b/macros/latex/contrib/standardsectioning/standardsectioning.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqn/CATALOG b/macros/latex/contrib/subeqn/CATALOG
new file mode 100644
index 0000000000..9d420c825f
--- /dev/null
+++ b/macros/latex/contrib/subeqn/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqn
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.0c
+
+Description:
+
+The subeqn package implements an extension to LaTeXs's equation
+and eqnarray environments in order to be able to put labels on
+individual expressions. To this end two now environments are defined:
+subequations and subeqnarray.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/subeqn/MANIFEST b/macros/latex/contrib/subeqn/MANIFEST
new file mode 100644
index 0000000000..4fe2a9a156
--- /dev/null
+++ b/macros/latex/contrib/subeqn/MANIFEST
@@ -0,0 +1,19 @@
+%
+% CONTENTS OF THE SUBEQN PACKAGE
+% ==============================
+%
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
+%
+% subeqn.dtx -- A package to number subexpressions of an equation;
+% originally by Stephen Gildea,
+% rewritten by Donald Arsenau,
+% updated for LaTeX2e by Johannes Braams
+% subeqn.pdf -- A `printed´ version of subeqn.dtx
+% subeqn-sample.pdf -- The `printed' version of the sample file
+%
+% Installation script for the various parts:
+% -------------------------------------------
+%
+% subeqn.ins -- produces subeqn.sty and subeqn-sample.tex
diff --git a/macros/latex/contrib/subeqn/README b/macros/latex/contrib/subeqn/README
new file mode 100644
index 0000000000..25f16dbe87
--- /dev/null
+++ b/macros/latex/contrib/subeqn/README
@@ -0,0 +1,14 @@
+ subeqn bundle
+
+ July 20, 2024
+
+This bundle contains a package that extends the functionality
+of LaTeX's equation and eqnarray environments.
+It provides the environments subequations and subeqnarray.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/subeqn/manifest.txt b/macros/latex/contrib/subeqn/manifest.txt
deleted file mode 100644
index 58e7cdb221..0000000000
--- a/macros/latex/contrib/subeqn/manifest.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-%
-% CONTENTS OF THE SUBEQN PACKAGE
-% ==============================
-%
-% manifest.txt -- This file
-%
-% subeqn.dtx -- A package to number subexpressions of an equation;
-% originally by Stephen Gildea,
-% rewritten by Donald Arsenau,
-% updated for LaTeX2e by me
-% subeqn.pdf -- A `printed version of subeqn.dtx
-%
-% Installation script for the various parts:
-% -------------------------------------------
-%
-% subeqn.ins -- produces subeqn.sty and subeqn.tex
diff --git a/macros/latex/contrib/subeqn/subeqn-sample.pdf b/macros/latex/contrib/subeqn/subeqn-sample.pdf
new file mode 100644
index 0000000000..ae4bd5c467
--- /dev/null
+++ b/macros/latex/contrib/subeqn/subeqn-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqn/subeqn.dtx b/macros/latex/contrib/subeqn/subeqn.dtx
index cc49b5f0b5..b9ce870682 100644
--- a/macros/latex/contrib/subeqn/subeqn.dtx
+++ b/macros/latex/contrib/subeqn/subeqn.dtx
@@ -1,48 +1,49 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1999-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the subeqn package.
% ----------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the subeqn package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{76}
+%
+% \CheckSum{84}
% \iffalse
-%% File: `subeqn.dtx'
-%% Copyright (C) 1999-2004
-%% Donald Arsenau (asnd at reg.triumf.ca),
-%% Johannes Braams (TeXniek at braams.cistron.nl)
-%%
+% Copyright (C) 1999-2024
+% Donald Arsenau at reg.triumf.ca,
+% Johannes Braams texniek at texniek.nl
+%
%<*dtx>
\ProvidesFile{subeqn.dtx}
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1998/06/01]
%<package>\ProvidesPackage{subeqn}
-%<sample>\ProvidesFile{subeqn.tex}
+%<sample>\ProvidesFile{subeqn-sample.tex}
%<driver>\ProvidesFile{subeqn.drv}
%\ProvidesFile{subeqn.dtx}
- [2004/04/15 v2.0b subnumbering of equations]
+ [2024/07/21 v2.0c subnumbering of equations]
%<*driver>
\documentclass{ltxdoc}
\begin{document}
+\pagestyle{myheadings}
\providecommand{\Lenv}[1]{\textsf{#1}}
\providecommand{\Lopt}[1]{\textsf{#1}}
\providecommand{\pkg}[1]{\texttt{#1}}
@@ -60,6 +61,10 @@
% \date{\filedate}
% \maketitle
%
+% \markboth
+% {subeqn package version \fileversion\space as of \filedate}
+% {subeqn package version \fileversion\space as of \filedate}
+%
% \section{Introduction}
%
% Sometimes it is necessary to be able to refer to subexpressions
@@ -165,7 +170,7 @@
\global\c@equation\z@
}{%
% \end{macrocode}
-% When the environment is finished we restore the value ot the
+% When the environment is finished we restore the value of the
% \texttt{equation} counter.
% \begin{macrocode}
\global\c@equation\c@mainequation
@@ -220,7 +225,14 @@
\usepackage{subeqn}
\begin{document}
-This is an example ot the use of the \texttt{subeqations} package.
+\title{Sample sub-equations}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
+\noindent
+This is an example of the use of the \texttt{subeqations}
+package. First we have a normal \textsf{equation} environment.
\begin{equation}
\label{a}
a^2 + b^2 = c^2
@@ -247,6 +259,7 @@ Now we start sub-numbering.
and~\ref{c2}.
\end{subequations}
+\noindent
Now lets start a \textsf{subeqnarray} environment.
\begin{subeqnarray}
\label{d}
diff --git a/macros/latex/contrib/subeqn/subeqn.ins b/macros/latex/contrib/subeqn/subeqn.ins
index e9e8689856..b3e295f28c 100644
--- a/macros/latex/contrib/subeqn/subeqn.ins
+++ b/macros/latex/contrib/subeqn/subeqn.ins
@@ -3,50 +3,41 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
-%%
-%% This file is part of the subeqn package.
-%% ----------------------------------------
-%%
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the subeqn package is
-%% given in the file `manifest.txt.
+%%
+%% This file is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% IMPORTANT NOTICE:
+%%
+%% Copyright (C) 1999-2024 Johannes L. Braams. All rights reserved.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1.3c of the License, or any later version.
%%
%% --------------- start of docstrip commands ------------------
%%
-\def\filedate{2004/04/15}
\def\batchfile{subeqn.ins}
\input docstrip.tex
+\keepsilent
\preamble
+This is a generated file.
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the subeqn package.
-----------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3с
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3с or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -57,7 +48,7 @@ subeqn package. You may however distribute the subeqn package
without such generated files.
The list of all files belonging to the subeqn package is
-given in the file `manifest.txt.
+given in the file `MANIFEST'.
The list of derived (unpacked) files belonging to the distribution
and covered by LPPL is defined by the unpacking scripts (with
@@ -70,7 +61,7 @@ extension .ins) which are part of the distribution.
% The sample file
-\generateFile{subeqn.tex}{t}{\from{subeqn.dtx}{sample}}
+\generateFile{subeqn-sample.tex}{t}{\from{subeqn.dtx}{sample}}
\Msg{***********************************************************}
\Msg{*}
diff --git a/macros/latex/contrib/subeqn/subeqn.pdf b/macros/latex/contrib/subeqn/subeqn.pdf
index e2247d3fdc..bf29789b71 100644
--- a/macros/latex/contrib/subeqn/subeqn.pdf
+++ b/macros/latex/contrib/subeqn/subeqn.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqnarray/CATALOG b/macros/latex/contrib/subeqnarray/CATALOG
new file mode 100644
index 0000000000..5e037823f8
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqnarray
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.1e
+
+Description:
+
+The subeqnarray package provides two new environments subeqnarray and
+subeqnarray* which behave like LaTeX's eqnarray and subeqnarray environments
+except the individual lines are numbered like 1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/subeqnarray/manifest.txt b/macros/latex/contrib/subeqnarray/MANIFEST
index f54bba3c8a..7c25363971 100644
--- a/macros/latex/contrib/subeqnarray/manifest.txt
+++ b/macros/latex/contrib/subeqnarray/MANIFEST
@@ -2,14 +2,18 @@
% CONTENTS OF THE SUBEQNARRAY PACKAGE
% ===================================
%
-% manifest.txt -- This file
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
%
% subeqnarray.dtx -- Numbering of individual lines of an eqnarray
% environment as subexpressions; not compatible
% with subeqn.dtx
-% subeqnarray.pdf -- A `printed version of subeqnarray.dtx
+% subeqnarray.pdf -- A `printed´ version of subeqnarray.dtx
+% subeqnarray-sample.pdf -- The `printed' versino of the sample file
%
% Installation script for the various parts:
% -------------------------------------------
%
% subeqnarray.ins -- produces subeqnarray.sty and subeqnarray.tex
+
diff --git a/macros/latex/contrib/subeqnarray/README b/macros/latex/contrib/subeqnarray/README
new file mode 100644
index 0000000000..e52f27f0bb
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/README
@@ -0,0 +1,16 @@
+ subeqnarray bundle
+
+ July 20, 2024
+
+This bundle contains a package that provides two new environments
+subeqnarray and subeqnarray* which behave like LaTeX's eqnarray and
+subeqnarray environments except the individual lines are numbered like
+1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf b/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf
new file mode 100644
index 0000000000..2345c08f58
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.dtx b/macros/latex/contrib/subeqnarray/subeqnarray.dtx
index 5b3555c312..d460ccfca3 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.dtx
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.dtx
@@ -1,43 +1,40 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1998-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the subeqnarray package.
% ---------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the subeqnarray package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST'.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{259}
-%\iffalse
+%
+% \CheckSum{264}
+%
+% \iffalse
%
% Subeqnarray package to use with LaTeX2e
%
-%% Copyright (C) 1988--2004 by Johannes Braams,
-%% all rights resserved
%%
%% Error reports please to: J. Braams
%% TeXniek
-%% Kooienswater 62
-%% 2715 AJ Zoetermeer
-%% The Netherlands
-%% Email: texniek at braams.cistron.nl
+%% Email: texniek at texniek.nl
%
% \section{Producing the documentation}
%
@@ -48,10 +45,10 @@
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1998/06/01]
%<package>\ProvidesPackage{subeqnarray}
-%<sample>\ProvidesFile{subeqnarray.tex}
+%<sample>\ProvidesFile{subeqnarray-sample.tex}
%<driver>\ProvidesFile{subeqnarray.drv}
%\ProvidesFile{subeqnarray.dtx}
- [2004/04/15 v2.1c subeqnarray package]
+ [2024/07/20 v2.1e subeqnarray package]
%<*driver>
\documentclass{ltxdoc}
@@ -82,10 +79,8 @@
%
% \author{Johannes Braams\\
% \TeX niek\\
-% Kersengaarde 33\\
-% 2723 BP Zoetermeer\\
% The Netherlands\\
-% Internet: \texttt{TeXniek at braams.cistron.nl}}
+% Internet: \texttt{texniek at texniek.nl}}
%
% \date{\filedate}
%
@@ -114,8 +109,8 @@
% \changes{2.0}{1993/11/02}{Added support for the leqno option}
% \changes{2.0}{1993/11/02}{Added support for the fleqn option}
% \changes{2.1}{1994/02/09}{Upgrade for LaTeX2e}
-% \changes{2.1b}{1999/03/03}{Changed licensing remarks to use LPPL}
-% \changes{2.1c}{2004/04/15}{Updated address information}
+% \changes{v2.1b}{1999/03/03}{Changed licensing remarks to use LPPL}
+% \changes{v2.1e}{2024/07/20}{Updated contact info}
%
% \section{Initial Code}
%
@@ -129,8 +124,8 @@
% \end{macro}
%
% \begin{macro}{\thesubequation}
-% The representation o the counter \texttt{subequation} includes
-% the \texttt{equation} counter
+% The representation of the counter \texttt{subequation} includes
+% the \texttt{equation} counter.
% \begin{macrocode}
\def\thesubequation{\theequation\alph{subequation}}
% \end{macrocode}
@@ -197,7 +192,7 @@
\ExecuteOptions{reqno,deqn}
% \end{macrocode}
%
-% Now see if the use specified any options.
+% Now see if the user specified any options.
% \begin{macrocode}
\ProcessOptions
% \end{macrocode}
@@ -206,9 +201,9 @@
%
% \begin{macro}{\slabel}
% A new label command to refer to subequations. It works
-% like the |\label| command and was taken from \texttt{latex.tex}.
+% like the |\label| command and was taken from \texttt{latex.ltx}.
%
-% |\slabel{FOO}| writes the following on file |\@auxout|
+% |\slabel{FOO}| writes the following on file |\@auxout|:
%
% |\newlabel{FOO}{{eval(\@currentlabel)}{eval(\thepage)}}|
%
@@ -285,7 +280,7 @@
% \end{macro}
%
% \begin{macro}{\@@subeqncr}
-% Ceck the number of columns, and insert extra |&| if needed. If
+% Check the number of columns, and insert extra |&| if needed. If
% there appear to be more than 3 columns an error is signalled.
% \begin{macrocode}
\def\@@subeqncr{\let\@tempa\relax
@@ -314,7 +309,6 @@
% \begin{macrocode}
\let\@ssubeqncr\@subeqncr
%</package>
-%<*sample>
% \end{macrocode}
% \end{macro}
%
@@ -328,6 +322,11 @@
\documentclass[fleqn]{article}
\usepackage{subeqnarray}
\begin{document}
+\title{Sample subeqnarray}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
This document shows an example of the use of the \emph{subeqnarray}
environment. Here is one:
\begin{subeqnarray}
@@ -360,20 +359,4 @@ These are equations~\ref{eq10},~\ref{eq11} and~\ref{eq12}.
%
% \Finale
\endinput
-%
-%% \CharacterTable
-%% {Upper-case \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
-%% Lower-case \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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
+% \ No newline at end of file
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.ins b/macros/latex/contrib/subeqnarray/subeqnarray.ins
index efa2d4da60..f28eb4717a 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.ins
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.ins
@@ -1,53 +1,49 @@
-%%
+%
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
-%%
-%% This file is part of the subeqnarray package.
-%% ---------------------------------------------
-%%
+%% Copyright (C) 1999-2024 Johannes L. Braams. All rights reserved.
+%%
+%% This file is part of the eqnarray distribution.
+%% -----------------------------------------------
+%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the subeqnarray package is
-%% given in the file `manifest.txt.
-%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file has the LPPL maintenance status "maintained".
+%%
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% --------------- start of docstrip commands ------------------
%%
-% ignored commands
-\def\filedate{2004/04/15}
-\def\batchfile{subeqnarray.ins}
+
\input docstrip.tex
\preamble
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the subeqnarray package.
----------------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -71,7 +67,7 @@ extension .ins) which are part of the distribution.
% The sample file
-\generateFile{subeqnarray.tex}{t}{\from{subeqnarray.dtx}{sample}}
+\generateFile{subeqnarray-sample.tex}{t}{\from{subeqnarray.dtx}{sample}}
\Msg{***********************************************************}
\Msg{*}
@@ -89,4 +85,4 @@ extension .ins) which are part of the distribution.
\Msg{* Happy TeXing}
\Msg{***********************************************************}
-\endinput
+\endbatchfile
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.pdf b/macros/latex/contrib/subeqnarray/subeqnarray.pdf
index 937120f21d..d69c233513 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.pdf
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.pdf
Binary files differ
diff --git a/macros/latex/contrib/supertabular/CATALOG b/macros/latex/contrib/supertabular/CATALOG
index 8c58273050..b6438f4bcf 100644
--- a/macros/latex/contrib/supertabular/CATALOG
+++ b/macros/latex/contrib/supertabular/CATALOG
@@ -1,7 +1,7 @@
Name: supertabular (also called supertab)
-Problems-To: texniek@braams.xs4all.nl
+Problems-To: texniek@texniek.nl
Author: J.L. Braams and T. Jurriens
-Version: 4.1g
+Version: 4.2c
Description:
@@ -23,6 +23,4 @@ ISBN 0-201-54199-8.
Address:
TeXniek
-Kersengaarde 33
-2723 BP Zoetermeer
The Netherlands
diff --git a/macros/latex/contrib/supertabular/MANIFEST b/macros/latex/contrib/supertabular/MANIFEST
index bcd27adbf4..3015e0edd5 100644
--- a/macros/latex/contrib/supertabular/MANIFEST
+++ b/macros/latex/contrib/supertabular/MANIFEST
@@ -1,6 +1,6 @@
-README - A short introduction
-MANIFEST - A list of files
-CATALOG - An entry for the macro catalog
+00readme.tx - A short introduction
+manifest.txt - A list of files
+catalog.txt - An entry for the macro catalog
Changelog - An overview of the changes to the package
supertabular.dtx - The documented version of the code, including a couple
of examples of how to use it. Needs supertabular.sty
diff --git a/macros/latex/contrib/supertabular/README b/macros/latex/contrib/supertabular/README
index ccd7c596a5..9de0746460 100644
--- a/macros/latex/contrib/supertabular/README
+++ b/macros/latex/contrib/supertabular/README
@@ -13,9 +13,9 @@ The files contained in this bundle are listed in the file MANIFEST
Supertabular can be used with LaTeX2e as a package.
-Copyright (C) 1989 - 2020 Johannes L. Braams texniek at braams.xs4all.nl
+Copyright (C) 1989 - 2024 Johannes L. Braams texniek at texniek.nl
This program can be redistributed and/or modified under the terms
of the LaTeX Project Public License Distributed from CTAN
archives in directory macros/latex/base/lppl.txt; either
-version 1 of the License, or any later version.
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/supertabular/ChangeLog b/macros/latex/contrib/supertabular/supertabular.bug
index 1dedbe6cd4..7c340f0a99 100644
--- a/macros/latex/contrib/supertabular/ChangeLog
+++ b/macros/latex/contrib/supertabular/supertabular.bug
@@ -1,8 +1,29 @@
-2020-02-02 Johannes Braams <texniek at braams.xs4all.nl>
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: Issue a \penalty-\@M instead of \newpage when
+ moving the first part of a supertabular to the next page to
+ prevent the first two rows from opverlapping.
+
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: When the tablehead and/or tabletail are not
+ defeined the internal macros that store their arguments need to
+ remain empty as well. Otherwise the algorithm will always think
+ there's a head and tail with a height of 2.5 pt.
+
+2020-06-27 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: the new algorithm for calculating the height
+ of the row broke old documents, especially when small font sizes
+ are used. Made the new algorithm optional (calculate versus
+ estimate) and make sure the row height covers super- and
+ subscripts.
+
+2020-02-02 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Replaced the way the height of normal tabular
lines is calculated by basing it on the height and depth of
- \strutbox. This also ment being able to take the \extrarowheight
+ \strutbox. This also meant being able to take the \extrarowheight
from the array package into account.
Also the height of the first and subsequent heads was not taken
into account in the calculation of the available pageheigt. This
@@ -14,25 +35,25 @@
\pagesofar. Therefore we substract a little extra from
\ST@pageleft.
-2020-01-26 Johannes Braams <texniek at braams.xs4all.nl>
+2020-01-26 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Updated the copyright year and rearranged the
text around the examples in order to get the first table to split
accross a page boundary again.
-2019-01-18 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-18 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The linenumber in the tracing information, that
is reported from within \\, is off by one when the optional
argument is missing. Therefore the input linenumber is now saved
before TeX starts scanning. Problem reported by Frank Mittelbach.
-2019-01-16 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-16 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The option "pageshow" didn't work as it set a
too low value in \c@tracingst. Problem reported by Frank
Mittelbach.
-2019-01-12 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-12 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The definition for the first table head was
different from the definition of the regular table heads.
This problem was reported by FMi as it produced an extra table in
@@ -44,7 +65,7 @@
themselves although this couteracts the change that was introduced
on 08-08-1999.
-2001-08-21 Johannes Braams <texniek at braams.xs4all.nl>
+2001-08-21 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The macro \ST@next needs to be defined when
\ST@skippage was called. Therefore I moved the default definition
@@ -52,7 +73,7 @@
is called; possibly defined by \ST@newpage. This problem was
reported by Andrew Dorrell <dorrell@research.canon.com.au>.
-1999-08-08 Johannes Braams <texniek at braams.xs4all.nl>
+1999-08-08 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : No longer re-initialize the internal variable
\@table@first@head and \@table@last@tail. This made it impossible
@@ -61,20 +82,20 @@
redeclaring the firsthead and/or lasttail. Reported by Christian
Matuszewski <matuszew@informatik.uni-halle.de>.
-Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : For standard LaTeX we need to change
\@@startpbox not \@startpbox. Found by Peter R Wilson
- <Peter.Wilson@PSS.Boeing.com>
+ <Peter.Wilson@PSS.Boeing.com>.
-Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Running the documentation revealed a loop;
inside the table tail and head \\ was reset to \@tabularcr instead
of to \@@tabularcr (now: \org@tabularcr). First found by Thomas
- Esser <te@informatik.uni-hannover.de>
+ Esser <te@informatik.uni-hannover.de>.
-Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Added the mpsupertabular and mpsupertabular*
environments provided by Axel Kielhorn <A.Kielhorn@tu-bs.de>;
@@ -84,14 +105,14 @@ Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
The calculation of the available height still missed the case
where TeX has already begun the second column.
-Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The \tablehead and \tabletail commands reset
the command \\; they used \cr for it. That should have been
\@tabularcr to properly deal with it's optional argument.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : In two column mode the parameters that
determine how much space is left on the page were not correctly
@@ -99,7 +120,7 @@ Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
completely.
Found by Jeffrey Spielberg <jspielberg@infinet-software.com>
-Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue May 20 23:46:08 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : \shrinkheight didn't shrink the available
height for a part of the tabular (as documented); it just *set* it
@@ -109,26 +130,26 @@ Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
\@table@last@tail are undefined; this shoud be done globally.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Added \ST@stretchht and \ST@prevht to improve
decision process. \estimate@lineht now also computes the
difference between a normal line height and when \arraystretch is
in effect.
-Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Had to repaire some documentation errors.
(found by Thomas Esser <te@informatik.uni-hannover.de>)
-Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Only the first part of a supertabular can be
moved to the next page. Therefore we need to change the definition
of \ST@skippage in the middle of processing the supertabular data.
-Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Using a tabular environment in the cells of a
supertabular gives `interesting' results when the algorithm
@@ -136,14 +157,14 @@ Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
tabular. A number of changes were necessary to make this work.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Renamed \tableformat into \ST@tableformat
because the KOPMA-packages also use \tableformat and therefore
clashed with babel.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx (section{The Implementation}): Removed the use
of the page height correction for p-columns; the current algorithm
@@ -155,7 +176,7 @@ Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
page on a calculated minimum height of the table. The minimum is
the head, the tail and 1 line of tabular data.
-Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Started a cleanup of the code, made source
file a full fledged .dtx file
@@ -168,7 +189,7 @@ Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
% jurriens at fwn.rug.nl P.O Box 800, 9700 AV Groningen
%
% revised by: Johannes Braams
-% texniek at braams.xs4all.nl TeXniek (NL)
+% texniek at texniek.nl TeXniek (NL)
% \def\fileversion{3.7c}
% \def\filename{supertabular sty}
% \def\filedate{1995/10/16}
diff --git a/macros/latex/contrib/supertabular/supertabular.dtx b/macros/latex/contrib/supertabular/supertabular.dtx
index be31a2d113..6bde17bbfa 100644
--- a/macros/latex/contrib/supertabular/supertabular.dtx
+++ b/macros/latex/contrib/supertabular/supertabular.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1989-2020 Johannes L. Braams. All rights reserved.
+% Copyright 1989-2021 Johannes L. Braams. All rights reserved.
%
% This file is part of the supertabular package.
% ---------------------------------------------
@@ -25,14 +25,13 @@
% extension .ins) which are part of the distribution.
% \fi
%
-% \CheckSum{1132}
+% \CheckSum{1188}
% \iffalse
%% Sourcefile `supertabular.dtx'.
%%
%% Copyright (C) 1988 by Theo Jurriens
-%% Copyright (C) 1990-2020 by Johannes Braams texniek at braams.xs4all.nl
-%% Kersengaarde 33
-%% 2723 BP Zoetermeer NL
+%% Copyright (C) 1990-2024 by Johannes Braams texniek at texniek.nl
+%% The Netherlands
%% all rights reserved.
%%
%%
@@ -43,11 +42,11 @@
%<package>\ProvidesPackage{supertabular}
%<driver>\ProvidesFile{supertabular.drv}
%\ProvidesFile{supertabular.dtx}
- [2020/02/02 v4.1g the supertabular environment]
+ [2024/07/20 v4.2c the supertabular environment]
%
%<*driver>
\documentclass{ltxdoc}
-\usepackage[debugshow]{supertabular}
+\usepackage[debugshow,calculate]{supertabular}
\newcommand{\tbsp}{\rule{0pt}{18pt}}
\begin{document}
\providecommand{\Lenv}[1]{\textsf{#1}}
@@ -59,17 +58,19 @@
%</driver>
% \fi
%
-% \changes{v4.0a}{1996/11/28}{Cleanup of the code, now a \file{.dtx}
-% source file}
-% \changes{v4.0c}{1997/02/20}{Replace \cs{tableformat} by
-% \cs{ST@tableformat} to prevent a clash with the \pkg{KOMA}
-% pacakage}
-% \changes{v4.0f}{1997/04/10}{Repaired a few typos in the
-% documentation}
-% \changes{v4.1a}{1997/09/18}{Repaired a number of typos and added
-% contributed mpsupertabular environemnts}
-% \changes{v4.1b}{1997/10/08}{Renamed \cs{@@tabularcr} to
-% \cs{org@tabularcr}}
+% \changes{v4.0a}{1996/11/28}{Cleanup of the code, now a \file{.dtx}
+% source file}
+% \changes{v4.0c}{1997/02/20}{Replace \cs{tableformat} by
+% \cs{ST@tableformat} to prevent a clash with the \pkg{KOMA}
+% pacakage}
+% \changes{v4.0f}{1997/04/10}{Repaired a few typos in the
+% documentation}
+% \changes{v4.1a}{1997/09/18}{Repaired a number of typos and added
+% contributed mpsupertabular environemnts}
+% \changes{v4.1b}{1997/10/08}{Renamed \cs{@@tabularcr} to
+% \cs{org@tabularcr}}
+% \changes{v4.2a}{2020-06-27}{renamed \cs{ST@lineht} to \cs{ST@rowht}}
+% \changes{v4.2c}{2024/07/20}{A few documentation changes}
%
% \GetFileInfo{supertabular.dtx}
% \title{The \texttt{supertabular} environment\thanks{This file
@@ -110,7 +111,13 @@
% and why \pkg{supertabular} decides to break the tabular
% environment in order to produce a new page.
% \item The option \textsf{debugshow} also adds information about
-% each line that is added to the tabular.
+% each row that is added to the tabular.
+% \item The option \textsf{estimate} (the default) has the package
+% use the old estimation-based algortihm to establish the height
+% of individual rows.
+% \item The option \textsf{calculate} has the package use the new
+% calculation-based algortihm to establish the height
+% of individual rows.
% \end{enumerate}
%
% Below is a description of the new commands and environments that
@@ -172,15 +179,15 @@
%
% \begin{itemize}
% \item When the material of a normal entry (not a p-arg) becomes
-% larger than the estimated |\ST@lineht|, overfull |\vbox|es
-% will be produced at all.
+% larger than the estimated |\ST@rowht|, overfull |\vbox|es
+% will be produced.
% \item When the last p-arg on a page gets more than 4 lines
% (probably even more than 3 lines) it will result in an overfull
% |\vbox|. Also some combinations of |\baselinestretch|
-% |\arraystretch| and a large font may lead to one line too much.
-% \item if accidentally the last line of the tabular produces a
+% |\arraystretch| and a large font may lead to one row too much.
+% \item if accidentally the last row of the tabular produces a
% newpage, on the next page the tabletail will be written
-% immediately after the tablehead. Depending on the contents this
+% immediately after the tablehead. Depending on the contents, this
% may result in an error message regarding misplaced |\noalign|.
%
% A quick but not very elegant solution: shrink the allowed height
@@ -431,6 +438,36 @@
\DeclareOption{errorshow}{\c@tracingst\z@}
\DeclareOption{pageshow}{\c@tracingst\thr@@}
\DeclareOption{debugshow}{\c@tracingst5\relax}
+% \end{macrocode}
+% In version 4.1g a new way of determining the height of the
+% average row was introduced. Instead of using an estimation, based
+% on the value of |\baselineskip| a computation was introduced,
+% based on the size of the |\strutbox|. The effect of this new
+% method was that the parial tabulars fill the page better, so less
+% \texttt{underfull vbox} message would appear. Unfortunately this
+% had a negative effect on existing documents (that don;t come out
+% like they used to) and especially when a very small font
+% (|\tiny| or |\scriptsize| was chosen for the tabular and the
+% cells contain subscripts or superscripts. It turned out that the
+% heigth and depth of a formula like $5^5_5$ exceeds the size of
+% |\strutbox|. The result is that the rows have more height (and/or
+% depth) thatn what the algorithm computed. Hence, when more rows
+% are added to the partial tabular than fit on the page. Especially
+% on the first part thisis a probem as the partial tabular becomes
+% too high and doesn't fit in the avialbale space. \TeX\ then
+% decides to move it to the next page, resulting in two
+% consecutive pages that have a lot of white space on them.
+% \changes{v4.2a}{2020-06-27}{Two new options to choose the
+% computation algorithhm}
+% \begin{macrocode}
+\DeclareOption{calculate}{\def\ST@calculate@rowht{\ST@compute@rowht}}
+\DeclareOption{estimate}{\def\ST@calculate@rowht{\ST@estimate@rowht}}
+%\def\ST@calculate@rowht{\ST@estimate@rowht}
+% \end{macrocode}
+% The default for the options is to only show errors and use the
+% old estmation algorithm (so as not to break old documents).
+% \begin{macrocode}
+\ExecuteOptions{errorshow,estimate}
\ProcessOptions
% \end{macrocode}
%
@@ -510,7 +547,7 @@
% yet be visible in the amount of space occupoed on the page
% sofar. Therefore we include the possibility to reduce the height
% of the first part of the supertabular. In order to this we need a
-% macro that indicates a aption has been put in front of the
+% macro that indicates a caption has been put in front of the
% table. We do this to reduce the risk that the first part of the
% table is too high after all and is pushed onto the next page due
% to an overfull |\vbox| condition.
@@ -523,7 +560,7 @@
% \begin{macro}{\ST@caption}
% This is a redefinition of LaTeX's |\@caption|, |\@makecaption| is
% called within a group so as not to return to |\normalsize|
-% globally. also a fix is made for the `feature' of the
+% globally. Also a fix is made for the `feature' of the
% |\@makecaption| of the document class \cls{article} and friends
% that a caption \textbf{always} gets a |\vskip 10pt| at the top
% and \textbf{none} at the bottom. If a user wants to precede his
@@ -554,14 +591,19 @@
% to \cs{@tabularcr}}
% \changes{v4.1b}{1997/10/08}{Not \cs{@tabularcr} but
% \cs{org@tabularcr}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tablehead} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablehead[1]{%
- \gdef\@tablehead{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{\global\let\\=\@savcr}}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@tablehead{}\else
+ \gdef\@tablehead{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{\global\let\\=\@savcr}}%
+ \fi}
\tablehead{}
% \end{macrocode}
% It's possible to specify a different tablehead for the first
@@ -571,17 +613,22 @@
% document.
% \changes{v4.1f}{2019/01/12}{\cs{\@table@first@head} needs the same
% definition as \cs{\@tablehead} (found by FMi)}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@table@first@head} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablefirsthead[1]{%
- \gdef\@table@first@head{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{%
- \global\let\\=\@savcr
- \global\let\@table@first@head\undefined
- }}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@table@first@head{}\else
+ \gdef\@table@first@head{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{%
+ \global\let\\=\@savcr
+ \global\let\@table@first@head\undefined
+ }}%
+ \fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -598,14 +645,19 @@
% to \cs{@tabularcr}}
% \changes{v4.1b}{1997/10/08}{Not \cs{@tabularcr} but
% \cs{org@tabularcr}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tabletail} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tabletail[1]{%
- \gdef\@tabletail{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{\global\let\\=\@savcr}}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@tabletail{}\else
+ \gdef\@tabletail{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{\global\let\\=\@savcr}}%
+ \fi}
\tabletail{}
% \end{macrocode}
% It's possible to specify a different tabletail for the last
@@ -615,17 +667,22 @@
% document.
% \changes{v4.1f}{2019/01/12}{\cs{\@table@last@tail} needs the same
% definition as \cs{\@tabletail}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tabletail} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablelasttail[1]{%
- \gdef\@table@last@tail{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{%
- \global\let\\=\@savcr
- \global\let\@table@last@tail\undefined
- }}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@table@last@tail{}\else
+ \gdef\@table@last@tail{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{%
+ \global\let\\=\@savcr
+ \global\let\@table@last@tail\undefined
+ }}%
+ \fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -660,7 +717,7 @@
%
% \begin{macro}{\ST@trace@cr}
% A variant of |\ST@trace| that can be called from within |\\| as
-% that command is looking for an optional argument will end up
+% that command is looking for an optional argument and will end up
% scanning the next line.
% \begin{macro}{\ST@save@lineno}
% \changes{v4.1f}{2019/01/18}{Added a macro to save the current input
@@ -752,25 +809,22 @@
% \changes{v4.0b}{1997/02/04}{Removed the use of \cs{ST@pboxcorr},
% correction seems to be no longer necessary}
%
-% \begin{macro}{\ST@lineht}
+% \begin{macro}{\ST@rowht}
% \begin{macro}{\ST@stretchht}
% \changes{v4.0g}{1997/04/12}{Dimension register added}
% \begin{macro}{\ST@prevht}
% \changes{v4.0g}{1997/04/12}{Dimension register added}
-% The estimated height of a normal line is stored in
-% |\ST@lineht|. The dimension register |\ST@stretchht| is used to
-% store the difference between the `normal' line height and the
-% line height when |\arraystretch| has a non-standard value. This
-% is used in the case where p-box entries are added to the
-% tabular. The dimension register |\ST@prevht| is use to store the
-% height of the previous line to use it as an estimate for the
-% height of the next line. This is needed for a better estimate of
+% The estimated height of a normal row is stored in
+% |\ST@rowht|. The dimension register |\ST@stretchht| was used to
+% store the difference between the `normal' row height and the
+% row height when |\arraystretch| has a non-standard value. This
+% was used in the case where p-box entries are added to the
+% tabular. The dimension register |\ST@prevht| is used to store the
+% height of the previous row, to use it as an estimate for the
+% height of the next row. This is needed for a better estimate of
% when to break the tabular.
-% \changes{v4.1g}{2020/02/02}{\cs{ST@stretchht} is no longer needed,
-% will be removed in a future release}
% \begin{macrocode}
-\newdimen\ST@lineht
-%\newdimen\ST@stretchht
+\newdimen\ST@rowht
\newdimen\ST@prevht
% \end{macrocode}
% \end{macro}
@@ -907,10 +961,12 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\ST@compute@lineht}
-% \changes{v4.1g}{2020/02/02}{New macro \cs{ST@compute@lineht} to
-% replacte \cs{estimate@lineht}}
-% The height of a line in an array environemnt can be computed as:
+% \begin{macro}{\ST@compute@rowht}
+% \changes{v4.1g}{2020/02/02}{New macro \cs{ST@compute@rowht} to
+% replace \cs{ST@estimate@rowht}}
+% \changes{v4.2a}{2020-06-27}{Make sure that \cs{ST@rowht} is large
+% enough to take subscripts and superscripts into account}
+% The height of a row in an array environemnt can be computed as:
% \begin{itemize}
% \item the height of the strutbox |\ht\strutbox| (plus
% |\extrarowheight| when the \pkg{array} package is loaded),
@@ -919,34 +975,60 @@
% by |\arraystretch|.
% \end{itemize}
% \begin{macrocode}
-\def\ST@compute@lineht{%
- \ST@lineht=\ht\strutbox
+\def\ST@compute@rowht{%
+% \end{macrocode}
+% Temporarily store a formula with superscript and subscript in a
+% box in order to be able to measure its height and depth.
+% \begin{macrocode}
+ \setbox\@tempboxa=\vbox{\@arrayparboxrestore $5^5_5$}
+% \end{macrocode}
+% Use the largest height of either |\@tempboxa| or |\strutbox|.
+% \begin{macrocode}
+ \ifnum\ht\@tempboxa>\ht\strutbox
+ \ST@rowht=\ht\@tempboxa
+ \else
+ \ST@rowht=\ht\strutbox
+ \fi
+% \end{macrocode}
+% If the \textsf{array} pacakge is used we need to add the
+% value of |\extrarowheight|.
+% \begin{macrocode}
\ifx\extrarowheight\undefined\else
- \advance \ST@lineht by \extrarowheight
+ \advance \ST@rowht by \extrarowheight
+ \fi
+% \end{macrocode}
+% Also use the largest depth of either |\@tempboxa| or |\strutbox|.
+% \begin{macrocode}
+ \ifnum\dp\@tempboxa>\dp\strutbox
+ \advance\ST@rowht \dp\@tempboxa
+ \else
+ \advance\ST@rowht \dp\strutbox
\fi
- \ST@lineht = \arraystretch\ST@lineht
- \advance\ST@lineht \arraystretch\dp\strutbox
- \ST@trace\tw@{Normal Line height: \the\ST@lineht}%
+% \end{macrocode}
+% And finally multiply by |\arraystretch|.
+% \begin{macrocode}
+ \ST@rowht = \arraystretch\ST@rowht
+% \end{macrocode}
+% \begin{macrocode}
+ \ST@trace\tw@{Normal Row height: \the\ST@rowht}%
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\estimate@lineht}
+% \begin{macro}{\ST@estimate@rowht}
% Estimates the height of normal line taking |\arraystretch| into
% account. Also computes the difference between a normal line and a
% `stretched' one.
% \changes{v4.0b}{1997/02/04}{Removed use of \cs{ST@pboxcorr}}
% \changes{v4.0g}{1997/04/12}{Added the computation of
% \cs{ST@stretchht}}
-% This macro will be removed in a future release.
+% \changes{v4.2a}{2020-06-27}{removed the computation of
+% \cs{ST@stretchht} as it is no longer used}
% \begin{macrocode}
-\def\estimate@lineht{%
- \ST@lineht=\arraystretch \baslineskp
- \global\advance\ST@lineht by 1\p@
- \ST@stretchht\ST@lineht\advance\ST@stretchht-\baslineskp
- \ifdim\ST@stretchht<\z@\ST@stretchht\z@\fi
- \ST@trace\tw@{Average line height: \the\ST@lineht}%
- \ST@trace\tw@{Stretched line height: \the\ST@stretchht}%
+\def\ST@estimate@rowht{%
+ \ST@rowht=\arraystretch \baslineskp
+ \global\advance\ST@rowht by 1\p@
+ \ST@trace\tw@{Average Row height: \the\ST@rowht}%
}
% \end{macrocode}
% \end{macro}
@@ -1071,23 +1153,23 @@
\ST@tailht=\ht\@tempboxa\advance\ST@tailht\dp\@tempboxa
\fi
% \end{macrocode}
-% We add the average height of a line to this because when we
+% We add the average height of a row to this because when we
% decide to continue the tabular we need to have enough space left
-% for one line and the tail.
+% for one row \emph{and} the tail.
% \begin{macrocode}
- \advance\ST@tailht by \ST@lineht
+ \advance\ST@tailht by \ST@rowht
\ST@trace\tw@{Height of tail: \the\ST@tailht}%
\ST@trace\tw@{Maximum height of tabular: \the\ST@pageleft}%
\@tempdima\ST@headht
% \end{macrocode}
% \changes{v4.0b}{1997/02/04}{Base the decision whether to start on a
-% new page on the total of headheight, tailht and lineht}
+% new page on the total of headheight, tailht and rowht}
% Now we decide whether we can continue on the current page or
% whether we need to start on a new page. We assume that the
% minimum height of a tabular is the height of the head, the tail
-% and one line of data. If that doesn't fit a new page is started.
+% and one row of data. If that doesn't fit a new page is started.
% \begin{macrocode}
- \advance\@tempdima\ST@lineht
+ \advance\@tempdima\ST@rowht
\advance\@tempdima\ST@tailht
\ST@trace\tw@{Minimum height of tabular: \the\@tempdima}%
\ifnum\@tempdima>\ST@pageleft
@@ -1164,7 +1246,7 @@
\global\let\@oldcr=\\
% \end{macrocode}
% Save the current value of |\baselineskip|, as we need it in the
-% calculation of the average height of a line.
+% calculation of the average height of a row.
% \begin{macrocode}
\def\baslineskp{\baselineskip}%
% \end{macrocode}
@@ -1174,9 +1256,9 @@
\ifx\undefined\@classix
% \end{macrocode}
% Save old |\@tabularcr| and insert the definition of
+% |\ST@tabularcr|.
% \changes{v4.1c}{1997/11/07}{For standard \LaTeX\ we need to change
% \cs{@@startpbox}, \emph{not} \cs{@startpbox}}
-% |\ST@tabularcr|.
% \begin{macrocode}
\let\org@tabularcr\@tabularcr
\let\@tabularcr\ST@tabularcr
@@ -1210,20 +1292,20 @@
\fi
% \end{macrocode}
% The first part of a supertabular may be moved on to the next page
-% if it doesn't fit on the current page afterall. Subsequent parts
+% if it doesn't fit on the current page after all. Subsequent parts
% can not be moved; therefor we will have to switch the definition
-% of |\ST@skippart| around.
+% of |\ST@skippage| around.
% \changes{v4.0e}{1997/04/09}{Make sure that only the first part of a
% supertabular can be moved to the next page.}
% \begin{macrocode}
\let\ST@skippage\ST@skipfirstpart
% \end{macrocode}
-% Now we can estimate the average line height and the height of the
+% Now we can estimate the average row height and the height of the
% first page of the \Lenv{supertabular}.
% \changes{v4.0i}{1997/09/18}{Added \cs{noindent}}
-% \changes{v4.1g}{2020/02/02}{Now call \cs{ST@compute@lineht}}
+% \changes{v4.1g}{2020/02/02}{Now call \cs{ST@calculate@rowht}}
% \begin{macrocode}
- \ST@compute@lineht
+ \ST@calculate@rowht
\@calfirstpageht
\noindent
}
@@ -1544,20 +1626,20 @@
% \begin{macrocode}
\def\ST@cr{%
\noalign{%
- \ifnum\ST@pboxht<\ST@lineht
+ \ifnum\ST@pboxht<\ST@rowht
% \end{macrocode}
-% If there is a non-empty line, but an empty parbox, then
-% |\ST@pboxht| might be non-zero, but too small thereby breaking
-% the algorithm. Therefor we estimate the height of the line to be
-% |\ST@lineht| in this case.
+% If there is a non-empty row, but an empty parbox, then
+% |\ST@pboxht| might be non-zero, but too small, thereby breaking
+% the algorithm. Therefor we estimate the height of the row to be
+% |\ST@rowht| in this case.
% \begin{macrocode}
- \global\advance\ST@pageleft -\ST@lineht
+ \global\advance\ST@pageleft -\ST@rowht
% \end{macrocode}
% And we store that fact in |\ST@prevht|.
-% \changes{v4.0g}{1997/04/12}{store the height of the previous line in
+% \changes{v4.0g}{1997/04/12}{store the height of the previous row in
% \cs{ST@prevht}}
% \begin{macrocode}
- \global\ST@prevht\ST@lineht
+ \global\ST@prevht\ST@rowht
\else
% \end{macrocode}
% When the parbox was not empty we take into account its height
@@ -1605,11 +1687,11 @@
\else
% \end{macrocode}
% When there is not enough space left on the current page, we start
-% a new page. To compute the amount of space need we use the
-% height of the previous line (|\ST@prevht|) as an estimation of
-% the height of the next line. If we are processing a
+% a new page. To compute the amount of space needed we use the
+% height of the previous row (|\ST@prevht|) as an estimation of
+% the height of the next row. If we are processing a
% \Lenv{mpsupertabular} we need to take the height of the footnotes
-% into account.
+% into account as well.
% \changes{v4.0g}{1997/04/12}{Leave room for both \cs{ST@tailht}
% \emph{and} \cs{ST@prevht}}
% \changes{v4.1a}{1997/09/19}{Take care of space needed for
@@ -1659,10 +1741,19 @@
% \begin{macrocode}
\global\advance\ST@pageleft\pagetotal
% \end{macrocode}
-% Then we can set |\ST@pagesofar| to $0$ and start the new page.
+% Then we can set |\ST@pagesofar| to $0$...
% \begin{macrocode}
\global\ST@pagesofar\z@
- \newpage
+% \end{macrocode}
+% ... and start the new page, but in this special case we need to
+% trigger the output routine directly by issuing a |\penalty|
+% rather than calling |\newpage| as that macro effectively issues a
+% |\vskip-\maxdepth| which makes the first two rows of the tabular
+% overlap.
+% \changes{v4.2b}{2021-02-14}{Issue a \cs{penalty} instead of
+% \cs{newpage} to trigger the output routine.}
+% \begin{macrocode}
+ \penalty -\@M
% \end{macrocode}
%
% Finally we make sure that this macro can only be executed once
diff --git a/macros/latex/contrib/supertabular/supertabular.pdf b/macros/latex/contrib/supertabular/supertabular.pdf
index 444cbfdcd7..a24a8c865c 100644
--- a/macros/latex/contrib/supertabular/supertabular.pdf
+++ b/macros/latex/contrib/supertabular/supertabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/LICENSE b/macros/latex/contrib/synthslant/LICENSE
index f8b699e6eb..888d9e68e7 100644
--- a/macros/latex/contrib/synthslant/LICENSE
+++ b/macros/latex/contrib/synthslant/LICENSE
@@ -355,11 +355,11 @@ Here is an example of such a notice and statement:
%% Copyright 2005 M. Y. Name
%
% This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License, either version 1.3
+ % conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
+ % https://www.latex-project.org/lppl.txt
+ % and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
diff --git a/macros/latex/contrib/synthslant/Makefile b/macros/latex/contrib/synthslant/Makefile
index d8de419230..8ef77a6982 100644
--- a/macros/latex/contrib/synthslant/Makefile
+++ b/macros/latex/contrib/synthslant/Makefile
@@ -19,8 +19,9 @@ DVIPS := dvips
DVIPS_FLAGS := -d1 # debug \special{}
-LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
-LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_PROPER := pdflatex
+LATEX := /usr/bin/env max_print_line=2147483647 $(LATEX_PROPER)
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode -output-directory=.
LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
@@ -33,18 +34,9 @@ METAPOST := mpost
METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
-SPELLCHECK := aspell
-SPELLCHECK_FLAGS := \
- --add-tex-command='citenum p' --add-tex-command='code p' \
- --add-tex-command='Cref p' --add-tex-command='cref p' \
- --add-tex-command='cs p' \
- --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
- --add-tex-command='marg p' --add-tex-command='meta p' \
- --add-tex-command='oarg p' \
- --lang=en_US --mode=tex
-
-
-SOURCE_FILES := LICENSE Makefile synthslant.dtx synthslant.ins
+PROJECT_NAME := synthslant
+SOURCE_FILES := LICENSE Makefile README.md synthslant.dtx synthslant.ins
+DOCUMENTATION_FILES := synthslant-gauge.pdf synthslant.pdf
@@ -57,7 +49,7 @@ sty: synthslant.sty
.PHONY: pdf
-pdf: doc gauge
+pdf: doc gauge test
.PHONY: doc
@@ -68,19 +60,42 @@ doc: synthslant.pdf
gauge: synthslant-gauge.pdf
-.PHONY: cpio
-cpio:
- cd ..; \
- echo $(addprefix synthslant/,$(SOURCE_FILES)) | \
- cpio -o | \
- gzip > "synthslant-$$(date +%Y-%m-%d).cpio.gz"
+.PHONY: test
+test: synthslant-minimal-test.pdf
+
+
+export TEMPORARY_DIRECTORY
+
+
+.PHONY: dist
+dist:
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ trap '$(RM) -r $(TEMPORARY_DIRECTORY); exit 1' HUP INT QUIT TERM; $(MAKE) __dist
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+
+
+.PHONY: __dist
+__dist: LATEX_FLAGS += -interaction=batchmode
+__dist: $(DOCUMENTATION_FILES)
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ cp $(SOURCE_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ cp $(DOCUMENTATION_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ tar czf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY) $(PROJECT_NAME)
-.PHONY: tar
-tar:
- cd ..; \
- tar czf "synthslant-$$(date +%Y-%m-%d).tar.gz" \
- $(addprefix synthslant/,$(SOURCE_FILES))
+.PHONY: distcheck
+distcheck: LATEX_FLAGS += -interaction=batchmode
+distcheck: dist
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ tar xzf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY)
+ $(MAKE) --directory=$(TEMPORARY_DIRECTORY)/$(PROJECT_NAME) LATEX_FLAGS='$(LATEX_FLAGS)' all
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+ @printf '\n\ndistcheck passed.\n'
.PHONY: clean
@@ -91,6 +106,7 @@ clean:
$(RM) mptextmp.* mpxerr.tex
$(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
$(RM) compare-with-the-gimp.eps compare-with-the-gimp.png
+ $(RM) $(PROJECT_NAME).tar.gz
.PHONY: mostlyclean
@@ -99,35 +115,27 @@ mostlyclean: clean
.PHONY: maintainer-clean
maintainer-clean: mostlyclean
- $(RM) ./*.base64 ./*.ist ./*.mp ./*.sty ./*.tex
+ $(RM) ./*.base64 ./*.gst ./*.ist ./*.mp ./*.sty ./*.tex
.PHONY: perf
perf: synthslant-gauge.tex synthslant.sty
- perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction batchmode -draftmode $<
+ perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction=batchmode -draftmode $<
.PHONY: tool-check
tool-check:
- @printf '*** LATEX = "%s"\n' '$(LATEX)'
- $(LATEX) --version
+ @printf '*** LATEX_PROPER = "%s"\n' '$(LATEX_PROPER)'
+ $(LATEX_PROPER) --version
+ @printf '\n\n*** BibTeX\n'
+ bibtex --version
@printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
- $(MAKEINDEX) < /dev/null
+ $(MAKEINDEX) < /dev/null
@printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
$(METAPOST) --version
@printf '\n*** BASE64 = "%s"\n' '$(BASE64)'
$(BASE64) --version
- @printf '\n\nTool check passed.\n'
-
-
-.PHONY: spell-check
-spell-check:
- @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
- -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < synthslant.dtx | \
- sed -e 's/^ *%%*//' | \
- sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
- $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
- sort | uniq | fmt | sed -e 's/ / /g'
+ @printf '\n\ntool check passed.\n'
.PHONY: update-docs
@@ -142,8 +150,12 @@ all: Make everything there is to make. This is the .DEFAULT_GOAL.
clean: Remove some products.
-cpio: In the parent directory create a cpio(1) archive of the
- project source files whose name is time-stamped.
+dist: Create a tar file of the project source files and the PDF
+ documentation files. The archive is in the form and has a
+ name that CTAN prefers.
+
+distcheck: Create a tar file of the project source files, unpack it in
+ a different location and build all targets.
doc: Build "synthslant.pdf" the Syntslant documentation.
@@ -160,15 +172,22 @@ pdf: Build doc: and gauge:.
sty: Only extract "synthslant.sty" from "synthslant.dtx". This
operation requires LaTeX (-> $(LATEX)) and nothing else.
-tar: In the parent directory create a tar(1) file of the project
- source files whose name is time-stamped.
+test: Run some tests. Currently only compiles a minimal document
+ to check whether "synthslant.sty" contains all the necessary
+ \RequirePackage directives.
tool-check: Check whether some of the required tools to build the
project are available.
+update-docs: Copy the documentation files into the "docs"
+ sub-directory.
+
Selected Implicit Rules
-----------------------
+%: %.html
+ Convert HTML to plain text. Requires w3m(1).
+
%.dvi %.pdf: %.dtx
Run LaTeX or pdfLaTeX (-> $(LATEX)) on dtx source until a
fix-point is reached.
@@ -177,6 +196,9 @@ Selected Implicit Rules
Run LaTeX or pdfLaTeX (-> $(LATEX)) on tex file until a
fix-point is reached.
+%.html: %.md
+ Convert markdown to HTML. Requires markdown(1).
+
%.mx.pdf: %.dvi
Convert dvi to pdf via dvipdfmx (-> $(DVIPDFMX)).
@@ -187,9 +209,9 @@ Selected Implicit Rules
Some Explicit Rules
-------------------
README.html:
- Convert "README.md" to html. Requires markdown(1).
+ Convert "README.md" to html.
-README: Convert "README.html" to plain text. Requires w3m(1).
+README: Convert "README.html" to plain text.
endef
@@ -205,8 +227,8 @@ help:
define MAKE_INDEX_AND_GLOSSARY
sed -e '/@/d' < $*.idx > ,$*.idx; mv ,$*.idx $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s synthslant.ist -t $*.ilg -o $*.ind $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.gst -t $*.glg -o $*.gls $*.glo
endef
define GREP_LATEX_WARNINGS
@@ -250,7 +272,13 @@ endef
%.mps: %.mp
- $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $<
+ $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $< || { \
+ printf '=== $*.log ===\n'; \
+ cat $*.log; \
+ printf '\n\n=== mpxerr.log ===\n'; \
+ cat mpxerr.log; \
+ false; \
+ } 1>&2
%.eps: %.png
@@ -265,7 +293,8 @@ endef
-synthslant.sty synthslant.ist synthslant-gauge.tex \
+synthslant.sty synthslant.ist \
+synthslant-gauge.tex synthslant-minimal-test.tex \
compare-with-the-gimp.png.base64 shear-transform.mp title.mp: \
synthslant.ins synthslant.dtx
$(LATEX) $(LATEX_FLAGS) $<
diff --git a/macros/latex/contrib/synthslant/README.md b/macros/latex/contrib/synthslant/README.md
index 1b1c719189..efc20fd37e 100644
--- a/macros/latex/contrib/synthslant/README.md
+++ b/macros/latex/contrib/synthslant/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/synthslant/actions/workflows/distcheck.yml/badge.svg)
+
+
# SynthSlant &ndash; Synthetic slanting of glyphs
LaTeX package `synthslant` slants short pieces of text to the right or to the left.
diff --git a/macros/latex/contrib/synthslant/RELEASE-HOWTO.md b/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d..0000000000
--- a/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/macros/latex/contrib/synthslant/docs/index.md b/macros/latex/contrib/synthslant/docs/index.md
deleted file mode 100644
index c8c312f388..0000000000
--- a/macros/latex/contrib/synthslant/docs/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Package Documentation
-
-- Comprehensive `synthslant` documentation: [synthslant.pdf](https://cspiel.github.io/synthslant/synthslant.pdf)
-- `synthslant` test and demonstration: [synthslant-gauge.pdf](https://cspiel.github.io/synthslant/synthslant-gauge.pdf)
diff --git a/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
index 425e7944ef..762c1e00a0 100644
--- a/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
+++ b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/docs/synthslant.pdf b/macros/latex/contrib/synthslant/docs/synthslant.pdf
index 9b034b86c3..555101ee3c 100644
--- a/macros/latex/contrib/synthslant/docs/synthslant.pdf
+++ b/macros/latex/contrib/synthslant/docs/synthslant.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/synthslant.dtx b/macros/latex/contrib/synthslant/synthslant.dtx
index f5424cf7fa..6c052c64a7 100644
--- a/macros/latex/contrib/synthslant/synthslant.dtx
+++ b/macros/latex/contrib/synthslant/synthslant.dtx
@@ -3,11 +3,11 @@
% Copyright (C) 2024 by Ch. L. Spiel
%
% This work may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.3 of this
+% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
+% httpc://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% \fi
@@ -26,7 +26,6 @@
\PassOptionsToClass{a4paper}{article}
\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
-\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
\PassOptionsToPackage{dvipsnames}{xcolor}
\usepackage{amsmath}
@@ -52,6 +51,7 @@
\newcommand*{\textls}[2][]{#2}
\fi
\usepackage{needspace}
+\usepackage[section]{placeins}
\usepackage{ragged2e}
\usepackage{setspace}
\usepackage[slant=.18, negslant=-.16]{synthslant}
@@ -65,7 +65,7 @@
\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
\usepackage[lining, regular]{sourcecodepro}
-\usepackage[xcharter]{newtxmath}
+\usepackage[scaled=1.08, uprightscript, xcharter]{newtxmath}
\setstretch{1.04166}% \baselineskip: 12.5pt
@@ -74,15 +74,15 @@
\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
\makeatother
-\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
-\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
-\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
-\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+\DeclareRobustCommand{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\DeclareRobustCommand{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\DeclareRobustCommand{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\DeclareRobustCommand{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
-\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
-\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
-\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
-\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+\DeclareRobustCommand{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\DeclareRobustCommand{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\DeclareRobustCommand{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\DeclareRobustCommand{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
\newcommand*{\nativetextfraction}[2]
{\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
@@ -92,21 +92,23 @@
\newenvironment*{tabfigures}
{\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
{\ignorespacesafterend}
-
-\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
-\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
-\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
-\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
-%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
-%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
-\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
-\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
-\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
-\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
-\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
-\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
\makeatother
+\DeclareRobustCommand{\elseries}{\fontseries{el}\selectfont}
+\DeclareTextFontCommand{\textel}{\elseries}
+\DeclareRobustCommand{\lseries}{\fontseries{l}\selectfont}
+\DeclareTextFontCommand{\textl}{\lseries}
+%%--\DeclareRobustCommand{\mdseries}{\fontseries{m}\selectfont}
+%%--\DeclareTextFontCommand{\textmd}{\mdseries}
+\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\DeclareRobustCommand{\bseries}{\fontseries{b}\selectfont}
+\DeclareTextFontCommand{\textb}{\bseries}
+\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
+\DeclareTextFontCommand{\texteb}{\ebseries}
+\DeclareRobustCommand{\ubseries}{\fontseries{k}\selectfont}
+\DeclareTextFontCommand{\textub}{\ubseries}
+
\usepackage{cleveref}
@@ -119,7 +121,7 @@
citecolor = blue,
colorlinks = true,
linkcolor = blue,
- linktocpage = false,
+ linktocpage = true,
pdfauthor={Dr. Christoph L. Spiel},
pdfcreationdate={\pdffiledate},
pdfkeywords={LaTeX, font, italic, oblique, slant, upright},
@@ -131,9 +133,94 @@
}
+\SetExtraKerning[context=drop-left-sidebearing, name=source-code-normal, unit=space]
+ {font={T1/SourceCodePro-LF/m/n/44, T1/SourceCodePro-TLF/m/n/44}}
+ {
+ 1={-150,},
+ 2={-120,},
+ 3={-120,},
+ 4={-40,},
+ A={-100,},
+ B={-170,}
+ }
+
+\newlength{\sectiontocindent}
+\newlength{\sectionnumberwidth}
+\newlength{\subsectiontocindent}
+\newlength{\subsectionnumberwidth}
+\newlength{\subsubsectiontocindent}
+\newlength{\subsubsectionnumberwidth}
+
+\setlength{\sectiontocindent}{0pt}
+\setlength{\sectionnumberwidth}{40pt}
+\setlength{\subsectiontocindent}{40pt}
+\setlength{\subsectionnumberwidth}{25pt}
+\setlength{\subsubsectiontocindent}{65pt}
+\setlength{\subsubsectionnumberwidth}{30pt}
+
\makeatletter
-\renewcommand*{\@dotsep}{10000} % suppress leaders
-\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\renewcommand*{\l@section}[2]
+ {\ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \setlength{\@tempdima}{\sectionnumberwidth}%
+ \begingroup
+ \def\numberline##1{\hb@xt@\@tempdima{%
+ \tt\lseries
+ \fontsize{44}{0}\selectfont
+ \microtypecontext{kerning=drop-left-sidebearing}%
+ \iffalse\raisebox{-30pt}[0pt][0pt]{\rule{0.1pt}{40pt}}\fi
+ \textcolor{customred3}{##1}%
+ \hfil}}%
+ \parindent \z@
+ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \bfseries
+ \iffalse
+ \nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2\kern-\p@\kern\p@}%
+ \else
+ {\sffamily\large #1}\quad
+ {#2}\hfil\hbox{}
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\@dottedtocline}[5]
+ {\ifnum #1>\c@tocdepth
+ \else
+ \vskip \z@ \@plus.2\p@
+ \begingroup
+ \leftskip #2\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima
+ \null\nobreak
+ \hskip -\leftskip
+ {#4}\nobreak
+ \iffalse
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5\kern-\p@\kern\p@}%
+ \else
+ \hbox{\quad\normalfont\bfseries #5}\nobreak\hfill\hbox{}%
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\l@subsection}{\@dottedtocline{2}{\subsectiontocindent}{\subsectionnumberwidth}}
+\renewcommand*{\l@subsubsection}{\@dottedtocline{3}{\subsubsectiontocindent}{\subsubsectionnumberwidth}}
+\newrobustcmd*{\tocsquashedsubsections}
+ {\def\l@subsection{\@dottedtocline{2}{0pt}{\subsubsectionnumberwidth}}%
+ \def\l@subsubsection{\@dottedtocline{3}{0pt}{\subsubsectionnumberwidth}}}
\makeatother
@@ -156,8 +243,10 @@
\newcommand*{\floatcaptionwidth}{.79\textwidth}
-\captionsetup[figure]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
-\captionsetup[table]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[figure]{font=small, justification=centerlast,
+ labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[table]{font=small, justification=centerlast,
+ labelfont=sc, width=\floatcaptionwidth}
\newsavebox{\listlabelbox}
@@ -188,13 +277,15 @@
\fancypagestyle{pagenumberonly}{
+ \fancyhf{}
\fancyhead[L]{}
\fancyhead[R]{\thepage}
}
-\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[L]{\rightmark}
-\fancyhead[R]{\textsf{\thepage}}
+\fancypagestyle{fancy}{
+ \fancyhf{}
+ \fancyhead[L]{\rightmark}
+ \fancyhead[R]{\thepage}
+}
\newcommand*{\resetfancyhead}
{\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
@@ -236,12 +327,9 @@
\pretocmd{\DescribeMacro}{\needspace{25pt}}{\relax}{\PrependingFailed}
-\setcounter{IndexColumns}{2}
-
-
\setlength{\columnsep}{20pt}
\setlength{\skip\footins}{25pt}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
@@ -273,15 +361,19 @@
\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
\makeatother
-\def\code#1{\texttt{#1}}
+\renewcommand*{\code}[1]{\texttt{#1}}
+
+\newcommand*{\codelineindicator}{\mbox{\small$\mathscr{l}$}}
\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
\newcommand*{\degree}{{}^\circ}
+\newcommand*{\detoxindex}[1]{\index{\detokenize{#1}}}
+
\newcommand*{\doublequotes}[1]{\guillemetright\kern-.03333em #1\guillemetleft}
-\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}\unskip}}
\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
@@ -295,12 +387,48 @@
\renewcommand*{\fps@table}{htbp}
\makeatother
+\apptocmd{\GlossaryParms}
+ {\RaggedRight\normalsize}
+ {\relax}
+ {\AppendingFailed}
+
+\let\oldhdclindex=\hdclindex
+\renewcommand*{\hdclindex}[2]
+ {\ifstrequal{#2}{code}
+ {\oldhdclindex{#1}{codeidx}}
+ {\oldhdclindex{#1}{#2}}}
+
+\let\oldhdpindex=\hdpindex
+\renewcommand*{\hdpindex}[2]{\textbf{\oldhdpindex{#1}{#2}}}
+
\newcommand*{\hollowrectangle}[2]
{\setlength{\fboxrule}{.5pt}%
\setlength{\fboxsep}{0pt}%
\framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+\apptocmd{\IndexParms}
+ {\RaggedRight\small}
+ {\relax}
+ {\AppendingFailed}
+
+\makeatletter
+\ExplSyntaxOn
+\apptocmd{\index@prologue}
+ {\legacy_if:nTF {codeline@index}
+ {We\space prefix\space all\space references\space
+ to\space code\space lines\space with~\singlequotes{\codelineindicator}.}
+ {}}
+ {\relax}
+ {\AppendingFailed}
+
+\newcommand*{\linenumberdecoration}
+ {\legacy_if:nTF {codeline@index}
+ {\codelineindicator}
+ {}}
+\ExplSyntaxOff
+\makeatother
+
\newcommand*{\logmacro}[1]
{\ifdef{#1}
{\message{^^JDump of macro \string#1 follows.^^J}
@@ -314,6 +442,24 @@
\begin{fullwidth}}
{\end{fullwidth}}
+
+\let\originalmulticols=\multicols
+\let\endoriginalmulticols=\endmulticols
+\RenewDocumentEnvironment{multicols}{m o o}
+ {\ifnum #1=1
+ \IfNoValueTF{#2}{\relax}{#2}%
+ \else
+ \IfNoValueTF{#2}
+ {\originalmulticols{#1}}
+ {\originalmulticols{#1}[#2]}%
+ \fi}
+ {\ifnum #1=1
+ \relax
+ \else
+ \endoriginalmulticols
+ \fi}
+
+
\newenvironment*{multilinecodeexample}
{\begin{quote}\tt
\def\indent{\mbox{}\hspace{25pt}}%
@@ -409,7 +555,7 @@
\newenvironment*{specialcodesection}[1]
{\Needspace{4\baselineskip}%
\begin{tcolorbox}[colback=white, colframe=\markercolor,
- bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ bottomrule=.5pt, leftrule=5pt, rightrule=.5pt, toprule=.5pt]
\sffamily
\begin{list}
{\specialcodesectionheading{#1}}
@@ -464,6 +610,12 @@
\newcommand*{\tikzlogo}{\textrm{Ti\textit{k\/}Z}}
+\newcommand*{\toccontinuesonnextpage}
+ {\addtocontents{toc}{\par
+ \bigskip
+ \hfill\textit{Table of Contents continued on next page.}\par
+ \clearpage}}
+
\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
\newcommand*{\transpose}[1]{{#1}^{\text{T}}}
@@ -477,6 +629,12 @@
\copy0\kern\ttellipsisgap
\box0\kern\ttellipsisgap}
+\newcommand*{\unmarkedfntext}[1]
+ {{\def\thefootnote{}\footnote{#1}%
+ \addtocounter{footnote}{-1}}}
+
+\newcommand*{\userman}[1]{\textbf{\hyperpage{#1}}}
+
\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
\newenvironment*{widecodeexample}
@@ -491,6 +649,15 @@
\hyphenation{% https://hyphenateit.com/en-us
+ neg-slant-context
+ neg-slant-environment
+ slant-context
+ slant-environment
+ synth-neg-slant
+ synth-slant
+ synth-slant-box
+ text-synth-slant
+ text-synth-upright-italic
}
@@ -515,12 +682,33 @@
%</driver>
%<*index-style>
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
%</index-style>
+%<*changes-style>
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
+%</changes-style>
% \fi
%
%
@@ -530,7 +718,7 @@ quote '!'
% \DoNotIndex{\edef,\else}
% \DoNotIndex{\endgroup,\endmicrotypecontext,\endnegslantenvironment,\endslantenvironment}
% \DoNotIndex{\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
-% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp}
+% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp,\fpeval}
% \DoNotIndex{\hbox,\hskip}
% \DoNotIndex{\ifcase,\ifcsdef,\ifdefined,\ifluatex,\ifmmode,\ifnum,\ifpdftex,\ifx,\itshape}
% \DoNotIndex{\kern}
@@ -540,16 +728,17 @@ quote '!'
% \DoNotIndex{\newbox,\newcommand,\NewDocumentCommand,\NewDocumentEnvironment,\newenvironment,\newrobustcmd}
% \DoNotIndex{\node,\nolinebreak}
% \DoNotIndex{\or}
-% \DoNotIndex{\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage}
+% \DoNotIndex{\PackageError,\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage}
% \DoNotIndex{\pdfoutput,\pdfrestore,\pdfsave,\pdfsetmatrix,\pstilt}
% \DoNotIndex{\relax,\RequirePackage}
-% \DoNotIndex{\sbox,\skip,\space}
+% \DoNotIndex{\sbox,\skip,\space,\string}
% \DoNotIndex{\tikz}
% \DoNotIndex{\upshape,\usebox}
% \DoNotIndex{\wd}
+% \DoNotIndex{\xdef}
%
%
-% \changes{v0.1}{2024-2-12}{Initial version}
+% \changes{v0.1}{2024-2-12}{Initial version.}
%
%
% \pagenumbering{roman}
@@ -636,39 +825,83 @@ end
% \footnotesize
% \noindent
% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed and/or
-% modified under the conditions of the \LaTeX{} Project Public License \acronym{(LPPL)},
-% either version~1.3c of this license or --~at your option~-- any later version. This work
-% has the \acronym{LPPL} maintenance status \doublequotes{author-maintained}.\par
+% modified under the conditions of the \href{https://www.latex-project.org/lppl.txt}{\LaTeX{}
+% Project Public License} \acronym{(LPPL)}, either version~1.3c of this license or --~at your
+% option~-- any later version. This work has the \acronym{LPPL} maintenance status
+% \doublequotes{author-maintained}.\par
% \endgroup
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
-% \tableofcontents
+% \pagestyle{pagenumberonly}
%
-% \vspace{\fill}
-%
-% \begingroup
-% \footnotesize
-% \singlespacing
-% \noindent
-% The font samples~\singlequotes{fga} on the title page
-% were generated with the help of \MP{} using \doublequotes{\acronym{URW} Palladio~L}
-% in styles~\singlequotes{roman} and~\singlequotes{italic}.
-% The affine transformations were \code{slanted .2} for the slanted roman and
-% \code{slanted -.2} for the upright italics.\par
-% \endgroup
+% \unmarkedfntext{The font samples~\singlequotes{fga} on the title page were generated with the
+% help of \MP{} using \doublequotes{\acronym{URW} Palladio} in styles~\singlequotes{roman}
+% and~\singlequotes{italic}. The affine transformations were\enspace \code{slanted
+% .2}\enspace for the slanted roman and\enspace \code{slanted -.2}\enspace for the upright
+% italics.}
+% \tableofcontents
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
% \listoftables
% \bigskip
% \listoffigures
%
%
% \clearpage
+% \phantomsection
+% \addcontentsline{toc}{section}{\numberline{}Quick Reference}
+% \addtocontents{toc}{\medskip}
+% \section*{Quick Reference}
+%
+% Alphabetically sorted list of all user macros and environments defined by
+% package~\packagename{synthslant}. The list of all package options can be found on
+% \cpageref{sec:package-options} and \pageref{secend:package-options}. The
+% \hyperref[sec:index]{Index} on pages~\pageref{sec:index} to~\pageref{secend:index} may
+% provide some more detailed insights.
+%
+% \begin{list}{}{\itemindent=-\leftmargin \itemsep=4.5pt plus 2pt minus 1pt}
+% \NewDocumentCommand{\qritem}{m m O{}}
+% {\item
+% \hyperref[#1]{#2}#3\relax
+% \def\qrref{\cpageref{#1}}\par\ignorespaces}
+% \qritem{syn:negslantcontext}{\cs{negslantcontext}}
+% Name of the \packagename{microtype} context used when typesetting backward slanted
+% text~(\qrref)
+%
+% \qritem{syn:negslantenvironment}{\code{negslantenvironment}}
+% Wrapper around \cs{synthslantbox} when slanting backward with
+% \cs{textsynthuprightitalic}~(\qrref)
+%
+% \qritem{syn:slantcontext}{\cs{slantcontext}}
+% Name of the \packagename{microtype} context used when typesetting forward slanted
+% text~(\cpageref{syn:slantcontext})
+%
+% \qritem{syn:slantenvironment}{\code{slantenvironment}}
+% Wrapper around \cs{synthslantbox} when slanting forward with
+% \cs{textsynthslant}~(\qrref)
+%
+% \qritem{syn:synthnegslant}{\cs{synthnegslant}}
+% Slant value used by \cs{textsynthuprightitalic}~(\qrref)
+%
+% \qritem{syn:synthslantbox}{\cs{synthslantbox}}[\marg{slant}\marg{text}]
+% Slant \meta{text} (forward or backward) with \meta{slant}~(\qrref)
+%
+% \qritem{syn:synthslant}{\cs{synthslant}}
+% Slant value used by \cs{textsynthslant}~(\qrref)
+%
+% \qritem{syn:textsynthslant}{\cs{textsynthslant}}[\marg{text}]
+% Forward slant upright glyphs~(\qrref)
+%
+% \qritem{syn:textsynthuprightitalic}{\cs{textsynthuprightitalic}}[\marg{text}]
+% Backward slant italics or oblique glyphs~(\qrref)
+% \end{list}
+%
+%
+% \clearpage
% \pagenumbering{arabic}
+% \pagestyle{fancy}
% \section{Introduction}\label{sec:introduction}
%
% The \packagename{synthslant} package provides a translator (e.\,g.~\LaTeX, \pdfLaTeX, or
@@ -688,8 +921,8 @@ end
%
% \subsection{Appeal for Artificially Slanted Type}\label{sec:appleal-for-artificially-slanted}
%
-% Artificially slanted type have a bad reputation. Whenever there is an order to round up the
-% usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy}
+% Artificially slanted type have a lousy reputation. Whenever there is an order to round up
+% the usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy}
% defines a \doublequotes{Poor Man's Bold} macro~\cs{pmb} that works by
% \singlequotes{overprinting}. The authors of \packagename{amsbsy} recommend to prefer
% package~\packagename{bm} for bold mathematical symbols, though.}, and condensed type along
@@ -699,8 +932,9 @@ end
% condescension for synthetic bold and condensed variants. They spoil the glyphs' outline
% because they do not (and cannot) conserve the necessary proportions. For small-caps the
% problems are somewhat minor and I wonder how far one could get with an
-% \propername{OpenType}~font that supports a \code{size}~axis\index{font>axis>size=\code{size}}
-% as well as an \code{opsz}~axis\index{font>axis>opsz=\code{opsz}} in the necessary ranges to
+% \propername{OpenType}~font that supports a
+% \code{size}~axis\index{font>axis>size=\code{size}|userman} as well as an
+% \code{opsz}~axis\index{font>axis>opsz=\code{opsz}|userman} in the necessary ranges to
% construct convincing small-caps out of the multiple-master font.
%
% In my view artificial slanting keeps much of the font's character intact. In fact one
@@ -741,13 +975,14 @@ end
%
% Some fonts in current \LaTeX{} distributions offer slanted series right out of the box.
% \foreignphrase{Eureka!} In particular the oldest (and once upon a time the only) font family
-% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{Computer Modern
-% Roman}\index{font>Computer Modern Roman} --~nowadays member of the \acronym{CM}-Super
-% family~-- is available in a deluge of almost thirty shapes. It covers not just slanted roman
-% or slanted smallcaps but also slanted typewriter and somewhat surprisingly upright italics.
-% Furthermore, the \LaTeXe{} font selection scheme provisions \singlequotes{\code{sl}} for
-% slanted shapes and \singlequotes{\code{ui}} for upright italics~\cite{fntguide}. The former
-% is accompanied by the macros~\cs{slshape} and~\cs{textsl}.
+% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{\acronym{CM}
+% Roman}\index{font>typeface>CM Roman=\acronym{CM} Roman|userman} --~nowadays member of the
+% \acronym{CM}-Super family~-- is available in a deluge of almost thirty shapes. It covers not
+% just slanted roman or slanted smallcaps but also slanted typewriter and somewhat surprisingly
+% upright italics. Furthermore, the \LaTeXe{} font selection scheme provisions
+% \singlequotes{\code{sl}} for slanted shapes and \singlequotes{\code{ui}} for upright
+% italics~\cite{fntguide}. The former is accompanied by the macros~\cs{slshape}
+% and~\cs{textsl}.
%
% \begin{wraptable}{r}{.382\textwidth}
% \renewcommand*{\floatcaptionwidth}{\textwidth}
@@ -759,15 +994,15 @@ end
%
% \begin{tabular}{@{}l@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Cairo\index{font>Cairo} \\
-% Commissioner\index{font>Commissioner} \\
-% Geologica\index{font>Geologica} \\
-% Gluten\index{font>Gluten} \\
-% Inter\index{font>Inter} \\
-% Recursive\index{font>Recursive} \\
-% Roboto Flex\index{font>Roboto Flex} \\
+% Cairo\index{font>typeface>Cairo|userman} \\
+% Commissioner\index{font>typeface>Commissioner|userman} \\
+% Geologica\index{font>typeface>Geologica|userman} \\
+% Gluten\index{font>typeface>Gluten|userman} \\
+% Inter\index{font>typeface>Inter|userman} \\
+% Recursive\index{font>typeface>Recursive|userman} \\
+% Roboto Flex\index{font>typeface>Roboto Flex|userman} \\
% \bottomrule
% \end{tabular}
% \end{wraptable}
@@ -781,8 +1016,9 @@ end
% \code{slnt}-axis} or fonts with an \href{https://v-fonts.com/tags/C5}{unusual variation} at
% \href{https://v-fonts.com/}{Variable Fonts}.} that offer a slant-axis\footnote{The
% registered axis is called \code{slnt} and it is not to be confused with the
-% \code{ital}~axis.}\index{font>axis>slant=\code{slant}}\index{font>axis>ital=\code{ital}} that
-% can be controlled with \packagename{fontspec}'s\index{package>\packagename{fontspec}}
+% \code{ital}~axis.}\index{font>axis>slant=\code{slant}|userman}\index{font>axis>ital=\code{ital}|userman}
+% that can be controlled with
+% \packagename{fontspec}'s\index{package>fontspec=\packagename{fontspec}|userman}
% \code{Slant}\footnote{Since \packagename{fontspec} version~2.9a as of 2024/2/13.}~key and
% \cref{tab:slanted-series-fonts} for a rather incomplete list of fonts that are shipped with
% slanted shapes. For these fonts \packagename{synthslant} is largely superfluous unless
@@ -801,35 +1037,35 @@ end
%
% \begin{tabular}[t]{@{}p{12em}@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Arvo\index{font>Arvo} \\
-% Computer Modern Roman\index{font>Computer Modern Roman} \\
-% Domitian\index{font>Domitian} \\
-% Droid Serif\index{font>Droid Serif} \\
-% Erewhon\index{font>Erewhon} \\
-% Extended Charter\index{font>Extended Charter} \\
-% \acronym{GFS} Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia} \\
-% \acronym{GFS} Bodoni\index{font>GFS Bodoni=\acronym{GFS} Bodoni} \\
-% \acronym{GFS} Didot\index{font>GFSDidot=\acronym{GFS} Didot} \\
+% Arvo\index{font>typeface>Arvo|userman} \\
+% \acronym{CM} Roman\index{font>typeface>CM Roman=\acronym{CM} Roman|userman} \\
+% Domitian\index{font>typeface>Domitian|userman} \\
+% Droid Serif\index{font>typeface>Droid Serif|userman} \\
+% Erewhon\index{font>typeface>Erewhon|userman} \\
+% Extended Charter\index{font>typeface>Extended Charter|userman} \\
+% \acronym{GFS} Artemisia\index{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman} \\
+% \acronym{GFS} Bodoni\index{font>typeface>GFS Bodoni=\acronym{GFS} Bodoni|userman} \\
+% \acronym{GFS} Didot\index{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} \\
% \\
% \bottomrule
% \end{tabular}
% \qquad
% \begin{tabular}[t]{@{}p{12em}@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Cabin\index{font>Cabin} \\
-% Clear Sans\index{font>Clear Sans} \\
-% Cuprum\index{font>Cuprum} \\
-% Fira Sans\index{font>Fira Sans} \\
-% Gandhi Sans\index{font>Gandhi Sans} \\
-% \acronym{Inria} Sans\index{font>Inria Sans=\acronym{Inria} Sans} \\
-% Lato\index{font>Lato}\itshapemark \\
-% Montserrat\index{font>Montserrat} \\
-% \acronym{PT} Sans\index{font>PT Sans=\acronym{PT} Sans} \\
-% Source Sans Pro\index{font>Source Sans Pro} \\
+% Cabin\index{font>typeface>Cabin|userman} \\
+% Clear Sans\index{font>typeface>Clear Sans|userman} \\
+% Cuprum\index{font>typeface>Cuprum|userman} \\
+% Fira Sans\index{font>typeface>Fira Sans|userman} \\
+% Gandhi Sans\index{font>typeface>Gandhi Sans|userman} \\
+% \acronym{Inria} Sans\index{font>typeface>Inria Sans=\acronym{Inria} Sans|userman} \\
+% Lato\itshapemark\index{font>typeface>Lato|userman} \\
+% Montserrat\index{font>typeface>Montserrat|userman} \\
+% \acronym{PT} Sans\index{font>typeface>PT Sans=\acronym{PT} Sans|userman} \\
+% Source Sans Pro\index{font>typeface>Source Sans Pro|userman} \\
% \bottomrule
% \end{tabular}
%
@@ -852,15 +1088,16 @@ end
% \pdfTeX~version~1.40.0~\cite{schroeder:2007}.} With the help of the latter affine
% transformations of arbitrary content can be coded directly by setting the transformation
% matrix. A slight variant of his code is used in this package for the \acronym{PDF}- and
-% \packagename{l3draw}\index{package>\packagename{l3draw}}-slant~engines. The implementations
-% for \pstrickslogo, \tikzlogo{}, and \packagename{fontspec}\packagename{fontspec} are trivial
-% as they build upon shear~functions supplied by the respective packages.
+% \packagename{l3draw}\index{package>l3draw=\packagename{l3draw}|userman}-slant~engines. The
+% implementations for \pstrickslogo, \tikzlogo{}, and
+% \packagename{fontspec}\packagename{fontspec} are trivial as they build upon shear~functions
+% supplied by the respective packages.
%
%
% \subsection{Shear Transformation, Slant, and Angle}\label{sec:shear-transformation}
%
-% \index{slant>operation}
-% \index{shear>transformation}
+% \index{slant>operation|userman}
+% \index{shear>transformation|userman}
% Mathematically the slant operation is a shear transformation, which can be expressed with the
% equation
% \begin{equation}\label{equ:shear-transformation}
@@ -1018,7 +1255,7 @@ end
% For \(\alpha = 0\) the shear matrix becomes the identity matrix. Throughout of
% \packagename{synthslant} we work with the \meta{slant} which is \(\sin \alpha\) in
% \cref{equ:shear-transformation} and avoid converting back and forth to the
-% \index{shear>angle}shear angle~\(\alpha\).\footnote{At least one slant engine currently
+% \index{shear>angle|userman}shear angle~\(\alpha\).\footnote{At least one slant engine currently
% requires such a conversion, namely~\pstrickslogo. The math is hidden from the user, though.}
% Some values for orientation: \mbox{\(\sin 5.74\degree \approx .1\)}, \mbox{\(\sin 11.5\degree
% \approx .2\)}, and \mbox{\(\sin 17.5\degree \approx .3\)}.\footnote{For small
@@ -1038,8 +1275,8 @@ end
% \begin{enumerate}
% \item\label{it:no-italics}
% Generate a slanted serif in the unfortunate situation when a serif font comes without
-% italics such as \singlequotes{\acronym{URW}~Antiqua}\index{font>URW Antiqua=\acronym{URW}
-% Antiqua}.
+% italics such as
+% \singlequotes{\acronym{URW}~Antiqua}\index{font>typeface>URW Antiqua=\acronym{URW} Antiqua|userman}.
%
% Here, the user is relatively free to choose a \meta{slant}, for there are no italics whose
% angle must be matched. \packagename{Synthslant}'s default of~.2 should be a good starting
@@ -1053,8 +1290,8 @@ end
%
% \item\label{it:correct-italics-angle}
% An italics shape that has an excessive slant angle, as
-% e.\,g.~\singlequotes{Libre~Caslon}\index{font>Libre Caslon} may be corrected, i.\,e.,
-% partially un-slanted.
+% e.\,g.~\singlequotes{Libre~Caslon}\index{font>typeface>Libre Caslon|userman} may be corrected,
+% i.\,e., partially un-slanted.
%
% In this case, and generally if a font as a whole needs to be corrected, an alternative
% approach like the one sketched in \cref{sec:alternative} on \cpageref{sec:alternative} may
@@ -1062,16 +1299,16 @@ end
%
% \item\label{it:generate-sole-obliques}
% Generate an oblique sans-serif if a sans-serif font comes without an oblique shape as,
-% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>URW Grotesk=\acronym{URW} Grotesk}
+% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>typeface>URW Grotesk=\acronym{URW} Grotesk|userman}
%
% \item\label{it:generate-extra-obliques}
% Supply a slanted sans-serif shape for sans-serif fonts with designed, this is \emph{true}
-% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>Open Sans}
+% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>typeface>Open Sans|userman}
%
% \item\label{it:slant-typewriter}
% Fixed-width --~also called \singlequotes{typewriter} or \singlequotes{teletype}~-- fonts
-% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>Inconsolata} finally
-% get an oblique shape.
+% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>typeface>Inconsolata|userman}
+% finally get an oblique shape.
%
% \item\label{it:slanted-small-caps}
% Small caps without accompanying italics can be slanted, too.
@@ -1109,7 +1346,9 @@ end
%
% \begingroup
% \newcommand*{\indexpackageoption}[1]
-% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% {\detoxindex{package option>#1=\code{#1}|userman}%
+% \detoxindex{#1=\code{#1}~(option)|userman}%
+% \ignorespaces}
% \begin{description}
% [before={\let\oldmakelabel=\makelabel
% \renewcommand{\makelabel}[1]
@@ -1130,13 +1369,14 @@ end
%
% \item[|fontspec|]\label{item:fontspec}
% \indexpackageoption{fontspec}
-% Use \packagename{fontspec}\index{package>\packagename{fontspec}} as slanting
-% back-end.\footnote{Requires \filesystem{fontspec.sty.}}
+% Use \packagename{fontspec}\index{package>fontspec=\packagename{fontspec}|userman} as
+% slanting back-end.\footnote{Requires \filesystem{fontspec.sty.}}
%
% \item[|l3draw|]\label{item:l3draw}
% \indexpackageoption{l3draw}
-% Select the \singlequotes{draw} layer\index{package>\packagename{l3draw}} of \LaTeXIII{} as
-% base for the slanting engine.\footnote{This option requires \filesystem{l3draw.sty.}}
+% Select the \singlequotes{draw} layer\index{package>l3draw=\packagename{l3draw}|userman} of
+% \LaTeXIII{} as base for the slanting engine.\footnote{This option requires
+% \filesystem{l3draw.sty.}}
%
% \begin{caution}
% This engine is experimental and the \singlequotes{draw} layer of \LaTeXIII{} itself is
@@ -1148,7 +1388,7 @@ end
% \indexpackageoption{negslant}
% Set the default value for \hyperref[syn:synthnegslant]{\cs{synthnegslant}} \emph{only.}
% The argument \meta{slant-expr} is a floating-point expression. Note that for this option
-% \meta{slant-expr} must evaluate to a non-positive value.
+% \meta{slant-expr} must evaluate to a nonpositive value.
%
% \item[|PDF|, |pdf|]\label{item:pdf}
% \indexpackageoption{pdf}
@@ -1159,14 +1399,14 @@ end
% \indexpackageoption{posslant}
% Set the default value for \hyperref[syn:synthslant]{\cs{synthslant}} \emph{only.} The
% argument \meta{slant-expr} is a floating-point expression. Note that for this option
-% \meta{slant-expr} must evaluate to a non-negative value.
+% \meta{slant-expr} must evaluate to a nonnegative value.
%
% \item[|PS|, |ps|]\label{item:postscript}
-% \index{ps}
-% Use \pstrickslogo\index{package>\packagename{pstricks}} to delegate slanting to the
-% PostScript\index{PostScript} interpreter. Obviously requires \pstrickslogo\footnote{The
-% package actually required is \filesystem{pst-3d.sty.}} and \acronym{DVI}-to-PostScript
-% translation.
+% \index{ps|userman}
+% Use \pstrickslogo\index{package>pstricks=\packagename{pstricks}|userman} to delegate
+% slanting to the PostScript\index{PostScript|userman} interpreter. Obviously requires
+% \pstrickslogo\footnote{The package actually required is \filesystem{pst-3d.sty.}} and
+% \acronym{DVI}-to-PostScript translation.
%
% \begin{caution}
% This engine is still experimental and produces low-quality output! See
@@ -1176,7 +1416,7 @@ end
% \item[|slant=|\meta{slant-expr}]\label{item:slant}
% \indexpackageoption{slant}
% Set the default values for both \hyperref[syn:synthslant]{\cs{synthslant}} and
-% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, behave as if the two package
+% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, act as if the two package
% options \(\code{posslant} = \meta{slant-expr}\) and \(\code{negslant} =
% -(\meta{slant-expr})\) have been given. The argument \meta{slant-expr} is a floating-point
% expression.
@@ -1185,8 +1425,8 @@ end
%
% \item[|TikZ|, |tikz|]\label{item:tikz}
% \indexpackageoption{tikz}
-% Use \packagename{TikZ}\index{package>\packagename{TikZ}} for slanting.\footnote{Requires
-% \filesystem{tikz.sty.}}
+% Use \packagename{TikZ}\index{package>tikz=\packagename{tikz}|userman} for
+% slanting.\footnote{Requires \filesystem{tikz.sty.}}
%
% \begin{caution}
% This engine is still experimental and produces low-quality output! See
@@ -1199,7 +1439,7 @@ end
% floating-point \emph{expressions} as their arguments not just plain floating-point literals.
% See Ref.~\citenum{latex3-interfaces}, Ch.~29, \doublequotes{The \textsf{l3fp}~module~--
% Floating points} for a description of the floating-point expression syntax and the available
-% functions.
+% functions.\label{secend:package-options}
%
%
% \clearpage
@@ -1218,7 +1458,7 @@ end
%
% \DescribeMacro{\synthslant}
% Control the slant applied by \hyperref[syn:textsynthslant]{\cs{textsynthslant}}.
-% This value is non-negative.
+% This value is nonnegative.
%
% \begin{synopsis}\label{syn:synthslant}
% \cs{synthslant}
@@ -1248,43 +1488,43 @@ end
% \begin{tabfigures}
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% \acronym{ADF} Accanthis\index{font>ADF Accanthis=\acronym{ADF} Accanthis} & .26 \\
-% \acronym{ADF} Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} & .32 \\
-% \acronym{ADF} Berenis\index{font>ADF Berenis=\acronym{ADF} Berenis} & .2 \\
-% \acronym{ADF} Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis} & .2 \\
-% Alegreya\index{font>Alegreya} & .2 \\
-% Arvo\index{font>Arvo} & .2 \\
-% BaskervilleF\index{font>BaskervilleF} & .2 \\
-% Bera Serif\index{font>Bera Serif} & .2 \\
-% Bitter\index{font>Bitter} & .16 \\
-% Caladea\index{font>Caladea} & .14 \\
-% Clara\index{font>Clara} & .24 \\
-% Cochineal\index{font>Cochineal} & .2 \\
-% Coelacanth\index{font>Coelacanth} & .2 \\
-% Crimson Pro\index{font>Crimson Pro} & .2 \\
-% Crimson Text\index{font>Crimson Text} & .2 \\
+% \acronym{ADF} Accanthis\index{font>typeface>ADF Accanthis=\acronym{ADF} Accanthis|userman} & .26 \\
+% \acronym{ADF} Baskervald\index{font>typeface>ADF Baskervald=\acronym{ADF} Baskervald|userman} & .32 \\
+% \acronym{ADF} Berenis\index{font>typeface>ADF Berenis=\acronym{ADF} Berenis|userman} & .2 \\
+% \acronym{ADF} Venturis\index{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman} & .2 \\
+% Alegreya\index{font>typeface>Alegreya|userman} & .2 \\
+% Arvo\index{font>typeface>Arvo|userman} & .2 \\
+% BaskervilleF\index{font>typeface>BaskervilleF|userman} & .2 \\
+% Bera Serif\index{font>typeface>Bera Serif|userman} & .2 \\
+% Bitter\index{font>typeface>Bitter|userman} & .16 \\
+% Caladea\index{font>typeface>Caladea|userman} & .14 \\
+% Clara\index{font>typeface>Clara|userman} & .24 \\
+% Cochineal\index{font>typeface>Cochineal|userman} & .2 \\
+% Coelacanth\index{font>typeface>Coelacanth|userman} & .2 \\
+% Crimson Pro\index{font>typeface>Crimson Pro|userman} & .2 \\
+% Crimson Text\index{font>typeface>Crimson Text|userman} & .2 \\
% \bottomrule
% \end{tabular}%
% \qquad
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% Day Roman\index{font>Day Roman} & .2 \\
-% \acronym{EB} Garamond\index{font>EB Garamond=\acronym{EB} Garamond} & .3 \\
-% etbb\index{font>etbb} & .2 \\
-% fbb\index{font>fbb} & .2 \\
-% Garamond Expert\index{font>Garamond Expert} & .2 \\
-% Gandhi Serif\index{font>Gandhi Serif} & .2 \\
-% Gentium\index{font>Gentium} & .2 \\
-% Ibarra Real Nova\index{font>Ibarra Real Nova} & .2 \\
-% \acronym{IBM} Plex Serif\index{font>IBM Plex Serif=\acronym{IBM} Plex Serif} & .24 \\
-% \acronym{Inria} Serif\index{font>Inria Serif=\acronym{Inria} Serif} & .2 \\
-% Libertinus Serif\index{font>Libertinus Serif} & .2 \\
-% Libre Baskerville\index{font>Libre Baskerville} & .3 \\
-% Libre Caslon\index{font>Libre Caslon} & .38 \\
+% Day Roman\index{font>typeface>Day Roman|userman} & .2 \\
+% \acronym{EB} Garamond\index{font>typeface>EB Garamond=\acronym{EB} Garamond|userman} & .3 \\
+% etbb\index{font>typeface>etbb|userman} & .2 \\
+% fbb\index{font>typeface>fbb|userman} & .2 \\
+% Garamond Expert\index{font>typeface>Garamond Expert|userman} & .2 \\
+% Gandhi Serif\index{font>typeface>Gandhi Serif|userman} & .2 \\
+% Gentium\index{font>typeface>Gentium|userman} & .2 \\
+% Ibarra Real Nova\index{font>typeface>Ibarra Real Nova|userman} & .2 \\
+% \acronym{IBM} Plex Serif\index{font>typeface>IBM Plex Serif=\acronym{IBM} Plex Serif|userman} & .24 \\
+% \acronym{Inria} Serif\index{font>typeface>Inria Serif=\acronym{Inria} Serif|userman} & .2 \\
+% Libertinus Serif\index{font>typeface>Libertinus Serif|userman} & .2 \\
+% Libre Baskerville\index{font>typeface>Libre Baskerville|userman} & .3 \\
+% Libre Caslon\index{font>typeface>Libre Caslon|userman} & .38 \\
% & \\
% & \\
% \bottomrule
@@ -1292,22 +1532,22 @@ end
% \qquad
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% Merriweather\index{font>Merriweather} & .14 \\
-% MLModern\index{font>MLModern} & .23 \\
-% Noto Serif\index{font>Noto Serif} & .22 \\
-% \acronym{PT} Serif\index{font>PT Serif=\acronym{PT} Serif} & .2 \\
-% Roboto Slab\index{font>Roboto Slab} & .2 \\
-% Quattrocento\index{font>Quattrocento} & .2 \\
-% Source Serif Pro\index{font>Source Serif Pro} & .18 \\
-% Spectral\index{font>Spectral} & .18 \\
-% \acronym{STIX}\index{font>STIX=\acronym{STIX}} & .2 \\
-% \TeX{} Gyre Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella} & .16 \\
-% \acronym{TX} Fonts Serif\index{font>TX Fonts Serif=\acronym{TX} Fonts Serif} & .2 \\
-% \acronym{URW} Antiqua\index{font>URW Antiqua=\acronym{URW} Antiqua} & .2 \\
-% \acronym{URW} Nimbus Roman\index{font>URW Nimbus Roman=\acronym{URW} Nimbus Roman} & .2 \\
-% Utopia\index{font>Utopia} & .2 \\
+% Merriweather\index{font>typeface>Merriweather|userman} & .14 \\
+% \acronym{ML} Modern\index{font>typeface>ML Modern=\acronym{ML} Modern|userman} & .23 \\
+% Noto Serif\index{font>typeface>Noto Serif|userman} & .22 \\
+% \acronym{PT} Serif\index{font>typeface>PT Serif=\acronym{PT} Serif|userman} & .2 \\
+% Roboto Slab\index{font>typeface>Roboto Slab|userman} & .2 \\
+% Quattrocento\index{font>typeface>Quattrocento|userman} & .2 \\
+% Source Serif Pro\index{font>typeface>Source Serif Pro|userman} & .18 \\
+% Spectral\index{font>typeface>Spectral|userman} & .18 \\
+% \acronym{STIX}\index{font>typeface>STIX=\acronym{STIX}|userman} & .2 \\
+% \TeX{} Gyre Pagella\index{font>typeface>TeX Gyre Pagella=\TeX{} Gyre Pagella|userman} & .16 \\
+% \acronym{TX} Fonts Serif\index{font>typeface>TX Fonts Serif=\acronym{TX} Fonts Serif|userman} & .2 \\
+% \acronym{URW} Antiqua\index{font>typeface>URW Antiqua=\acronym{URW} Antiqua|userman} & .2 \\
+% \acronym{URW} Nimbus Roman\index{font>typeface>URW Nimbus Roman=\acronym{URW} Nimbus Roman|userman} & .2 \\
+% Utopia\index{font>typeface>Utopia|userman} & .2 \\
% & \\
% \bottomrule
% \end{tabular}
@@ -1319,7 +1559,7 @@ end
% \DescribeMacro{\synthnegslant}
% Control the slant applied by
% \hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}. This value is
-% non-positive.
+% nonpositive.
%
% \begin{synopsis}\label{syn:synthnegslant}
% \cs{synthnegslant}
@@ -1332,9 +1572,9 @@ end
% more flexible and powerful interface, see~\cref{sec:advanced-interface}.
%
% \begin{note}
-% The following restrictions and workarounds to get line-breaking and automatic hyphenation
-% working again do \emph{not} apply to the
-% \packagename{fontspec}\index{package>\packagename{fontspec}} back-end.
+% The following restrictions and workarounds to get line-breaking and \TeX's automatic
+% hyphenation working again do \emph{not} apply to the
+% \packagename{fontspec}\index{package>fontspec=\packagename{fontspec}|userman} back-end.
% \end{note}
%
% \noindent
@@ -1344,7 +1584,7 @@ end
% provisions to re-enable at least some breakability.
%
% \begin{enumerate}
-% \item Spaces introduce breakpoint,\index{breakpoint at space} e.\,g.
+% \item Spaces introduce breakpoint,\index{breakpoint at space|userman} e.\,g.
% \begin{codeexample}
% \cs{textsynthslant}\{topological dual space\}
% \end{codeexample}
@@ -1352,8 +1592,8 @@ end
% second word (producing another horizontal box). \TeX{} sees two (unbreakable) boxes and a
% discardable space when it comes to linebreaking.
%
-% \item Discretionary hyphens\index{discretionary hyphen} in the form of \singlequotes{\cs{-}}
-% get propagated. So, we could improve on our above example by saying
+% \item Discretionary hyphens\index{discretionary hyphen|userman} in the form of
+% \singlequotes{\cs{-}} get propagated. So, we could improve on our above example by saying
% \begin{codeexample}
% \cs{textsynthslant}\{topo\cs{-}log\cs{-}i\cs{-}cal dual space\}
% \end{codeexample}
@@ -1374,7 +1614,7 @@ end
%
% In horizontal mode switch to an upright shape, slant \meta{text} with the slant value stored
% in \hyperref[syn:synthslant]{\cs{synthslant}} and apply \doublequotes{slant
-% correction}\index{slant>correction} --~the equivalent of italics correction~-- at the
+% correction}\index{slant>correction|userman} --~the equivalent of italics correction~-- at the
% right-hand side of~\meta{text}.
%
% In math mode just slant \meta{text} with the slant value stored in
@@ -1391,7 +1631,7 @@ end
%
% \noindent
% where we show the font modification in conjunction with the
-% \packagename{babel}~macro\index{package>\packagename{babel}}
+% \packagename{babel}~macro\index{package>babel=\packagename{babel}|userman}
% \cs{foreignlanguage}~\cite{package:babel}.~\visualpar
%
% In math-mode you cannot have enough fonts, symbols, and most of the gizmos over there! I
@@ -1485,7 +1725,7 @@ end
% \end{synopsis}
%
% Switch to an upright font shape and --~if
-% package~\packagename{microtype}~\cite{package:microtype}\index{package>\packagename{microtype}}
+% package~\packagename{microtype}~\cite{package:microtype}\index{package>microtype=\packagename{microtype}|userman}
% has been loaded~-- enter the Microtype-context defined by
% macro~\hyperref[syn:slantcontext]{\cs{slantcontext}}. At the end add some slant correction,
% which is the equivalent of italics correction.
@@ -1511,7 +1751,7 @@ end
% Microtype-context defined by macro~\hyperref[syn:negslantcontext]{\cs{negslantcontext}}.
%
% \DescribeMacro{\slantcontext}
-% Microtype context used when typesetting slanted text.
+% Name of the \packagename{microtype} context used when typesetting slanted text.
%
% \begin{synopsis}\label{syn:slantcontext}
% \cs{slantcontext}
@@ -1530,7 +1770,7 @@ end
% \end{note}
%
% \DescribeMacro{\negslantcontext}
-% Microtype context used when typesetting un-slanted text.
+% Name of the \packagename{microtype} context used when typesetting backward slanted text.
%
% \begin{synopsis}\label{syn:negslantcontext}
% \cs{negslantcontext}
@@ -1667,13 +1907,13 @@ end
% and --~after recompiling with the appropriate \LaTeX-engine~-- used to examine the details of
% the slant operations.
%
-% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native al
-% well as synthesized ones. Here, the slanted glyphs as well as the upright italics should
-% blend well with the native italics/obliques and the normal font, respectively.
+% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native and
+% synthesized ones. Here, the slanted glyphs as well as the upright italics should blend well
+% with the native italics/obliques and with the normal font, respectively.
%
-% Page~3, Sec.~3.2 and following sub-sections, examines the coupling of
-% \packagename{synthslant} with the \TeX-system and some of its extensions. If a slant engine
-% malfunctions, it will become evident on this page.
+% Page~3, Sec.~3.2 and following sub-sections, examine the coupling of \packagename{synthslant}
+% with the \TeX-system and some of its extensions. If a slant engine malfunctions, it will
+% become evident on this page.
%
%
% \clearpage
@@ -1687,7 +1927,7 @@ end
% \packagename{Syntslant}~manipulations may not survive
% (pre-)\discretionary{}{}{}processing by \MP.
%
-% \item[\packagename{l3draw} engine.]\index{package>\packagename{l3draw}}\mbox{}
+% \item[\packagename{l3draw} engine.]\index{package>l3draw=\packagename{l3draw}|userman}\mbox{}
% \begin{itemize}
% \item Depending of the shear direction the \packagename{l3draw} engine may generate some
% extra positive or negative space at the ends of the text.
@@ -1697,10 +1937,10 @@ end
% \item Markedly slower than the \acronym{PDF}-implementation!
% \end{itemize}
%
-% \item[\pstrickslogo{} engine.]\index{package>\packagename{pstricks}}
+% \item[\pstrickslogo{} engine.]\index{package>pstricks=\packagename{pstricks}|userman}
% The \pstrickslogo{} engine produces some extra space at the ends of the text.
%
-% \item[\tikzlogo{} engine.]\index{package>\packagename{tikz}}
+% \item[\tikzlogo{} engine.]\index{package>tikz=\packagename{tikz}|userman}
% The \tikzlogo{} engine produces some extra space at the ends of the text.
% \end{description}
%
@@ -1753,7 +1993,7 @@ end
%
% I want to elaborate the example given in \cref{sec:usage-ideas},
% \cref{it:correct-italics-angle} and generate less-angled italics for
-% Libre~Caslon.\index{font>Libre Caslon} Here is a suitable map line taken from
+% Libre~Caslon.\index{font>typeface>Libre Caslon|userman} Here is a suitable map line taken from
% \filesystem{pdftex.map} on my system:
%
% \begin{multilinecodeexample}
@@ -1824,7 +2064,8 @@ end
% \end{example}
%
%
-% \subsection{Combining \LaTeX{} and \command{dvipdfmx}}\label{sec:alternative-latex}
+% \subsection{Combining \LaTeX{} and
+% \texorpdfstring{\command{dvipdfmx}}{dvipdfmx}}\label{sec:alternative-latex}
%
% The alternative when using \LaTeX{} is similar the one elaborated in the previous section.
% The font mapline gets modified by \cs{special} primitive
@@ -1872,14 +2113,20 @@ end
%
% \MaybeStop{
% \clearpage
-% \phantomsection
-% \resetfancyhead
-% \addcontentsline{toc}{section}{Change History}
-% \PrintChanges
+% \begingroup
+% \setcounter{GlossaryColumns}{1}
+% \phantomsection
+% \label{sec:changes}
+% \resetfancyhead
+% \addtocontents{toc}{\bigskip}
+% \addcontentsline{toc}{section}{\numberline{}Change History}
+% \PrintChanges
+% \endgroup
%
% \clearpage
% \phantomsection
-% \addcontentsline{toc}{section}{References}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}References}
% \begin{RaggedRight}
% \begin{thebibliography}{88}
% \bibitem{package:relsize}
@@ -1986,20 +2233,31 @@ end
%
%
% \clearpage
-% \begin{RaggedRight}
+% \begingroup
% \setcounter{IndexColumns}{2}
% \setlength{\columnsep}{30pt}
-% \label{sec:index}
% \phantomsection
-% \addcontentsline{toc}{section}{Index}
+% \label{sec:index}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}Index}
+% \raggedcolumns
+% \def\codeidx##1{\linenumberdecoration\textbf{##1}}
+% \def\main##1{\linenumberdecoration\underbar{\textbf{##1}}}
+% \def\usage##1{\textit{\textbf{##1}}}
% \PrintIndex
-% \end{RaggedRight}
+% \label{secend:index}
+% \endgroup
% }
%
%
% \clearpage
+% \toccontinuesonnextpage
% \section{Package Code}\label{sec:package-code}
-% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{list}{}{\leftmargin=\subsectiontocindent\parsep=0pt}}
+% \addtocontents{toc}{\protect\item}
+% \addtocontents{toc}{\RaggedRight}
+% \addtocontents{toc}{\small}
+% \addtocontents{toc}{\tocsquashedsubsections}
% \addtocontents{toc}{\protect\begin{multicols}{2}}
% \addtocontents{toc}{\protect\raggedcolumns}
%
@@ -2008,12 +2266,15 @@ end
% and explain its implementation details.
%
%
+% \changes{v0.1a}{2024-6-2}{Add missing dependency on \packagename{etoolbox}.
+% Fix suggested by \code{mbertucci47}.}
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{synthslant}
- [2024/05/07 v0.1 Synthetically Slant glyphs]
+ [2024/07/08 v0.1a Synthetically Slant glyphs]
+\RequirePackage{etoolbox}
\RequirePackage{iftex}
\RequirePackage{xkeyval}
@@ -2094,12 +2355,16 @@ end
% \begin{macrocode}
\ExplSyntaxOn
\fp_compare:nNnTF {\synthslant} < {.0}
- {\PackageError{synthslant}{\string\synthslant\space <\space 0}
- {Pass\space a\space value\space that\space is\space non-negative.}}
+ {\PackageError{synthslant}
+ {\string\synthslant\space <\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonnegative.}}
{}
\fp_compare:nNnTF {\synthnegslant} > {.0}
- {\PackageError{synthslant}{\string\synthnegslant\space >\space 0}
- {Pass\space a\space value\space that\space is\space non-positive.}}
+ {\PackageError{synthslant}
+ {\string\synthnegslant\space >\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonpositive.}}
{}
\ExplSyntaxOff
@@ -2176,7 +2441,7 @@ end
% \end{macro}
%
%
-% \subsubsection{\acronym{PDF} Slant Engine}
+% \subsubsection{\texorpdfstring{\acronym{PDF}}{PDF} Slant Engine}
%
% The \acronym{PDF}-engine works well and it is the best tested alternative.
%
@@ -2251,13 +2516,15 @@ end
% \begin{macrocode}
\fp_compare:nNnTF {#1} >= {.0}
{
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim - #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim - #1\l_tmpb_dim}
}
{
\draw_suspend_begin:
\kern#1\l_tmpb_dim
\draw_suspend_end:
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim + #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim + #1\l_tmpb_dim}
}
% \end{macrocode}
%
@@ -2348,7 +2615,8 @@ end
% \begin{macrocode}
\newcommand*{\synthslantbox@fontspect@shear@box}[2]{
\begingroup
- \expandafter\fontspec[FakeSlant = #1]{\l_fontspec_family_tl}
+ \expandafter
+ \fontspec[FakeSlant=#1]{\l_fontspec_family_tl}
#2
\endgroup
}
@@ -2473,8 +2741,12 @@ end
% \begin{macrocode}
\ifnum\synthslant@engine=4% fontspec
\newrobustcmd*{\synthslantbox}[2]{%
- \edef\synthslant@slant@value{#1}% definition for compatibility of both branches
- \synthslantbox@fontspect@shear@box{\synthslant@slant@value}{#2}%
+% \end{macrocode}
+% The following (expanding) definition is only here for the compatibility of both branches.
+% \begin{macrocode}
+ \edef\synthslant@slant@value{#1}
+ \synthslantbox@fontspect@shear@box{\synthslant@slant@value}
+ {#2}%
}
% \end{macrocode}
%
@@ -2530,7 +2802,8 @@ end
\NewDocumentEnvironment{slantenvironment}{}
{\upshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\slantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\slantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
@@ -2557,8 +2830,8 @@ end
% \end{macro}
%
% \begin{macro}{\synthslantbox@right@negslant@correction}
-% We could play the same trick here as in \cs{synthslantbox@right@slant@correction} and use
-% \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a
+% We could play the same trick here as in \cs{synthslantbox@\-right@\-slant@\-correction} and
+% use \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a
% correction. Anyhow, this macro may be convenient to override someday.
%
% \begin{macrocode}
@@ -2588,7 +2861,8 @@ end
\NewDocumentEnvironment{negslantenvironment}{}
{\itshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\negslantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\negslantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
@@ -2622,7 +2896,7 @@ end
%
%
% \addtocontents{toc}{\protect\end{multicols}}
-% \addtocontents{toc}{\endgroup}
+% \addtocontents{toc}{\protect\end{list}}
%
%
% \Finale
@@ -4889,7 +5163,7 @@ KJ8AAAAASUVORK5CYII=
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\pagestyle{plain}
@@ -5254,6 +5528,20 @@ right: \code{\cs{textsynthslant}\{Show line-break\cs{-}ing in a sen\cs{-}tence.\
%
%
%
+% \iffalse
+%<*minimal-test>
+\documentclass{minimal}
+
+\usepackage{synthslant}
+
+\begin{document}
+\textsynthslant{abc}
+\end{document}
+%</minimal-test>
+% \fi
+%
+%
+%
\endinput
%
%
diff --git a/macros/latex/contrib/synthslant/synthslant.ins b/macros/latex/contrib/synthslant/synthslant.ins
index 845b4378b1..f7027fe6f5 100644
--- a/macros/latex/contrib/synthslant/synthslant.ins
+++ b/macros/latex/contrib/synthslant/synthslant.ins
@@ -1,11 +1,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
@@ -23,11 +23,11 @@ This is a generated file.
Copyright (C) 2024 by Ch. L. Spiel
This work may be distributed and/or modified under the conditions
-of the LaTeX Project Public License, either version 1.3 of this
+of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This work has the LPPL maintenance status `maintained'.
@@ -46,12 +46,15 @@ shear-transform.mp, and title.mp.
\generate{\file{synthslant.sty}{\from{\source}{package}}
\file{synthslant-gauge.tex}{\from{\source}{gauge}}
- \file{synthslant.ist}{\from{\source}{index-style}}}
+ \file{synthslant-minimal-test.tex}{\from{\source}{minimal-test}}}
\nopostamble
-\generate{\file{title.mp}{\from{\source}{title}}}
-\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}}
+\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}
+ \file{synthslant.gst}{\from{\source}{changes-style}}
+ \file{synthslant.ist}{\from{\source}{index-style}}
+ \file{title.mp}{\from{\source}{title}}}
+
\nopreamble
diff --git a/macros/latex/contrib/tabulary/README b/macros/latex/contrib/tabulary/README.txt
index ed7423902f..ed7423902f 100644
--- a/macros/latex/contrib/tabulary/README
+++ b/macros/latex/contrib/tabulary/README.txt
diff --git a/macros/latex/contrib/tabulary/tabulary-v010.sty b/macros/latex/contrib/tabulary/tabulary-v010.sty
new file mode 100644
index 0000000000..0a092d7d67
--- /dev/null
+++ b/macros/latex/contrib/tabulary/tabulary-v010.sty
@@ -0,0 +1,455 @@
+%%
+%% This is an old release of `tabulary.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `tabulary.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tabulary.dtx (with options: `package')
+%% DRAFT VERSION
+%%
+%% File `tabulary.dtx'.
+%% Copyright (C) 1995 1996 2003 2008 David Carlisle
+%% This file may be distributed under the terms of the LPPL.
+%% See 00readme.txt for details.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tabulary}
+ [2014/06/11 v0.10 tabulary package (DPC)]
+\RequirePackage{array}[=v2.5]
+\catcode`\Z=14
+\DeclareOption{debugshow}{\catcode`\Z=9\relax}
+\ProcessOptions
+\def\arraybackslash{\let\\=\@arraycr}
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+\newcount\TY@count
+\def\tabulary{%
+ \let\TY@final\tabular
+ \let\endTY@final\endtabular
+ \TY@tabular}
+\def\TY@tabular#1{%
+ \edef\TY@{\@currenvir}%
+ {\ifnum0=`}\fi
+ \@ovxx\TY@linewidth
+ \@ovyy\TY@tablewidth
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if@tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY@F\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \expandafter\let\csname TY@SF\the\count@\expandafter\endcsname
+ \csname TY@F\the\count@\endcsname
+ \global\expandafter\let\csname TY@F\the\count@\endcsname\relax
+ \expandafter\let\csname TY@S\the\count@\expandafter\endcsname
+ \csname TY@\the\count@\endcsname
+ \fi}%
+ \global\TY@count\@ne
+ \TY@width\xdef{0pt}%
+ \global\TY@tablewidth\z@
+ \global\TY@linewidth#1\relax
+Z\message{^^J^^JTable^^J%
+Z Target Width: \the\TY@linewidth^^J%
+Z \string\tabcolsep: \the\tabcolsep\space
+Z \string\arrayrulewidth: \the\arrayrulewidth\space
+Z \string\doublerulesep: \the\doublerulesep^^J%
+Z \string\tymin: \the\tymin\space
+Z \string\tymax: \the\tymax^^J}%
+ \let\@classz\TY@classz
+ \let\verb\TX@verb
+ \toks@{}\TY@get@body}
+\let\TY@@mkpream\@mkpream
+\def\TY@mkpream{%
+ \def\@addamp{%
+ \if@firstamp \@firstampfalse \else
+ \global\advance\TY@count\@ne
+ \edef\@preamble{\@preamble &}\fi
+ \TY@width\xdef{0pt}}%
+ \def\@acol{%
+ \TY@subwidth\col@sep
+ \@addtopreamble{\hskip\col@sep}}%
+ \let\@arrayrule\TY@arrayrule
+ \let\@classvi\TY@classvi
+ \def\@classv{\save@decl
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \sbox\z@{\d@llarbegin\@nextchar\d@llarend}%
+ \TY@subwidth{\wd\z@}%
+ \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
+ \prepnext@tok}%
+ \global\let\@mkpream\TY@@mkpream
+ \TY@@mkpream}
+\def\TY@arrayrule{%
+ \TY@subwidth\arrayrulewidth
+ \@addtopreamble \vline}
+\def\TY@classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY@subwidth\doublerulesep
+ \@addtopreamble{\hskip \doublerulesep}\or
+ \@acol \or
+ \@classvii
+ \fi}
+\def\TY@tab{%
+ \setbox\z@\hbox\bgroup
+ \let\[$\let\]$%
+ \let\equation$\let\endequation$%
+ \col@sep\tabcolsep
+ \let\d@llarbegin\begingroup\let\d@llarend\endgroup
+ \let\@mkpream\TY@mkpream
+ \def\multicolumn##1##2##3{\multispan##1\relax}%
+ \CT@start\TY@tabarray}
+\def\TY@tabarray{\@ifnextchar[{\TY@array}{\@array[t]}}
+\def\TY@array[#1]{\@array[t]}
+\def\TY@width#1{%
+ \expandafter#1\csname TY@\the\TY@count\endcsname}
+\def\TY@subwidth#1{%
+ \TY@width\dimen@
+ \advance\dimen@-#1\relax
+ \TY@width\xdef{\the\dimen@}%
+ \global\advance\TY@linewidth-#1\relax}
+\def\endtabulary{%
+ \gdef\@halignto{}%
+ \expandafter\TY@tab\the\toks@
+ \crcr\omit
+ {\xdef\TY@save@row{}%
+ \loop
+ \advance\TY@count\m@ne
+ \ifnum\TY@count>\z@
+ \xdef\TY@save@row{\TY@save@row&\omit}%
+ \repeat}\TY@save@row
+ \endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
+ \unskip\global\setbox1=\lastbox}\egroup
+ \dimen@\TY@linewidth
+ \divide\dimen@\TY@count
+ \ifdim\dimen@<\tymin
+ \TY@warn{tymin too large (\the\tymin), resetting to \the\dimen@}%
+ \tymin\dimen@
+ \fi
+ \setbox\tw@=\hbox{\unhbox\@ne
+ \loop
+\@tempdima=\lastskip
+\ifdim\@tempdima>\z@
+Z \message{ecs=\the\@tempdima^^J}%
+ \global\advance\TY@linewidth-\@tempdima
+\fi
+ \unskip
+ \setbox\tw@=\lastbox
+ \ifhbox\tw@
+Z \message{Col \the\TY@count: Initial=\the\wd\tw@\space}%
+ \ifdim\wd\tw@>\tymax
+ \wd\tw@\tymax
+Z \message{> max\space}%
+Z \else
+Z \message{ \@spaces\space}%
+ \fi
+ \TY@width\dimen@
+Z \message{\the\dimen@\space}%
+ \advance\dimen@\wd\tw@
+Z \message{Final=\the\dimen@\space}%
+ \TY@width\xdef{\the\dimen@}%
+ \ifdim\dimen@<\tymin
+Z \message{< tymin}%
+ \global\advance\TY@linewidth-\dimen@
+ \expandafter\xdef\csname TY@F\the\TY@count\endcsname
+ {\the\dimen@}%
+ \else
+ \expandafter\ifx\csname TY@F\the\TY@count\endcsname\z@
+Z \message{***}%
+ \global\advance\TY@linewidth-\dimen@
+ \expandafter\xdef\csname TY@F\the\TY@count\endcsname
+ {\the\dimen@}%
+ \else
+Z \message{> tymin}%
+ \global\advance\TY@tablewidth\dimen@
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname
+ \maxdimen
+ \fi\fi
+ \advance\TY@count\m@ne
+ \repeat}%
+ \TY@checkmin
+ \TY@checkmin
+ \TY@checkmin
+ \TY@checkmin
+ \TY@count\z@
+ \let\TY@box\TY@box@v
+ {\expandafter\TY@final\the\toks@\endTY@final}%
+ \count@\z@
+ \@tempswatrue
+ \@whilesw\if@tempswa\fi{%
+ \advance\count@\@ne
+ \expandafter\ifx\csname TY@SF\the\count@\endcsname\relax
+ \@tempswafalse
+ \else
+ \global\expandafter\let\csname TY@F\the\count@\expandafter\endcsname
+ \csname TY@SF\the\count@\endcsname
+ \global\expandafter\let\csname TY@\the\count@\expandafter\endcsname
+ \csname TY@S\the\count@\endcsname
+ \fi}%
+ \TY@linewidth\@ovxx
+ \TY@tablewidth\@ovyy
+ \ifnum0=`{\fi}}
+\def\TY@checkmin{%
+ \let\TY@checkmin\relax
+\ifdim\TY@tablewidth>\z@
+ \Gscale@div\TY@ratio\TY@linewidth\TY@tablewidth
+ \ifdim\TY@tablewidth <\TY@linewidth
+ \def\TY@ratio{1}%
+ \fi
+\else
+ \TY@warn{No suitable columns!}%
+ \def\TY@ratio{1}%
+\fi
+\count@\z@
+Z \message{^^JLine Width: \the\TY@linewidth,
+Z Natural Width: \the\TY@tablewidth,
+Z Ratio: \TY@ratio^^J}%
+\@tempdima\z@
+\loop
+\ifnum\count@<\TY@count
+\advance\count@\@ne
+ \ifdim\csname TY@F\the\count@\endcsname>\tymin
+ \dimen@\csname TY@\the\count@\endcsname
+ \dimen@\TY@ratio\dimen@
+ \ifdim\dimen@<\tymin
+Z \message{Column \the\count@\space ->}%
+ \global\expandafter\let\csname TY@F\the\count@\endcsname\tymin
+ \global\advance\TY@linewidth-\tymin
+ \global\advance\TY@tablewidth-\csname TY@\the\count@\endcsname
+ \let\TY@checkmin\TY@@checkmin
+ \else
+ \expandafter\xdef\csname TY@F\the\count@\endcsname{\the\dimen@}%
+ \advance\@tempdima\csname TY@F\the\count@\endcsname
+ \fi
+ \fi
+Z \dimen@\csname TY@F\the\count@\endcsname\message{\the\dimen@, }%
+\repeat
+Z \message{^^JTotal:\the\@tempdima^^J}%
+}
+\let\TY@@checkmin\TY@checkmin
+\newdimen\TY@linewidth
+\def\tyformat{\everypar{{\nobreak\hskip\z@skip}}}
+\newdimen\tymin
+\tymin=10pt
+\newdimen\tymax
+\tymax=2\textwidth
+\def\@testpach{\@chclass
+ \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
+ \ifnum \@lastchclass=7 5 \else
+ \ifnum \@lastchclass=8 \tw@ \else
+ \ifnum \@lastchclass=9 \thr@@
+ \else \z@
+ \ifnum \@lastchclass = 10 \else
+ \edef\@nextchar{\expandafter\string\@nextchar}%
+ \@chnum
+ \if \@nextchar c\z@ \else
+ \if \@nextchar l\@ne \else
+ \if \@nextchar r\tw@ \else
+ \if \@nextchar C7 \else
+ \if \@nextchar L8 \else
+ \if \@nextchar R9 \else
+ \if \@nextchar J10 \else
+ \z@ \@chclass
+ \if\@nextchar |\@ne \else
+ \if \@nextchar !6 \else
+ \if \@nextchar @7 \else
+ \if \@nextchar <8 \else
+ \if \@nextchar >9 \else
+ 10
+ \@chnum
+ \if \@nextchar m\thr@@\else
+ \if \@nextchar p4 \else
+ \if \@nextchar b5 \else
+ \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi
+ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi}
+\def\TY@classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY@box\TY@box@v
+ \global\advance\TY@count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext@tok
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \ifcase\@chnum
+ \hfil \d@llarbegin\insert@column\d@llarend \hfil \or
+ \kern\z@
+ \d@llarbegin \insert@column \d@llarend \hfil \or
+ \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \or% dubious "s" case
+ \TY@box\centering\or
+ \TY@box\raggedright\or
+ \TY@box\raggedleft\or
+ \TY@box\relax
+ \fi}\prepnext@tok}
+\def\TY@box#1{%
+ \ifx\centering#1%
+ \hfil \d@llarbegin\insert@column\d@llarend \hfil \else
+ \ifx\raggedright#1%
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d@llarbegin \insert@column \d@llarend \hfil \else
+ \ifx\raggedleft#1%
+ \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \else
+ \ifx\relax#1%
+ \d@llarbegin \insert@column \d@llarend
+ \fi \fi \fi \fi}
+\def\TY@box@v#1{%
+ \vtop \@startpbox{\csname TY@F\the\TY@count\endcsname}%
+ #1\arraybackslash\tyformat
+ \insert@column\@endpbox}
+\newdimen\TY@tablewidth
+\def\Gscale@div#1#2#3{%
+ \setlength\dimen@{#3}%
+ \ifdim\dimen@=\z@
+ \PackageError{graphics}{Division by 0}\@eha
+ \dimen@#2%
+ \fi
+ \edef\@tempd{\the\dimen@}%
+ \setlength\dimen@{#2}%
+ \count@65536\relax
+ \ifdim\dimen@<\z@
+ \dimen@-\dimen@
+ \count@-\count@
+ \fi
+ \loop
+ \ifdim\dimen@<8192\p@
+ \dimen@\tw@\dimen@
+ \divide\count@\tw@
+ \repeat
+ \dimen@ii=\@tempd\relax
+ \divide\dimen@ii\count@
+ \divide\dimen@\dimen@ii
+ \edef#1{\strip@pt\dimen@}}
+\long\def\TY@get@body#1\end
+ {\toks@\expandafter{\the\toks@#1}\TY@find@end}
+\def\TY@find@end#1{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\TY@\def\@tempa{\end{#1}}\expandafter\@tempa
+ \else\toks@\expandafter
+ {\the\toks@\end{#1}}\expandafter\TY@get@body\fi}
+\def\TY@warn{%
+ \PackageWarning{tabulary}}
+\catcode`\Z=11
+\AtBeginDocument{
+\@ifpackageloaded{colortbl}{%
+\expandafter\def\expandafter\@mkpream\expandafter#\expandafter1%
+ \expandafter{%
+ \expandafter\let\expandafter\CT@setup\expandafter\relax
+ \expandafter\let\expandafter\CT@color\expandafter\relax
+ \expandafter\let\expandafter\CT@do@color\expandafter\relax
+ \expandafter\let\expandafter\color\expandafter\relax
+ \expandafter\let\expandafter\CT@column@color\expandafter\relax
+ \expandafter\let\expandafter\CT@row@color\expandafter\relax
+ \expandafter\let\expandafter\CT@cell@color\expandafter\relax
+ \@mkpream{#1}}
+\let\TY@@mkpream\@mkpream
+\def\TY@classz{%
+ \@classx
+ \@tempcnta\count@
+ \ifx\TY@box\TY@box@v
+ \global\advance\TY@count\@ne
+ \fi
+ \let\centering c%
+ \let\raggedright\noindent
+ \let\raggedleft\indent
+ \let\arraybackslash\relax
+ \prepnext@tok
+\expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil
+ \ifnum\@chnum<4
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \ifnum\@chnum=6
+ \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
+ \fi
+ \@addtopreamble{%
+ \setbox\z@\hbox\bgroup\bgroup
+ \ifcase\@chnum
+ \hskip\stretch{.5}\kern\z@
+ \d@llarbegin\insert@column\d@llarend\hskip\stretch{.5}\or
+ \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
+ \d@llarbegin \insert@column \d@llarend \hfill \or
+ \hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or
+ $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
+ \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \or% dubious s case
+ \TY@box\centering\or
+ \TY@box\raggedright\or
+ \TY@box\raggedleft\or
+ \TY@box\relax
+ \fi
+ \egroup\egroup
+\begingroup
+ \CT@setup
+ \CT@column@color
+ \CT@row@color
+ \CT@cell@color
+ \CT@do@color
+\endgroup
+ \@tempdima\ht\z@
+ \advance\@tempdima\minrowclearance
+ \vrule\@height\@tempdima\@width\z@
+\unhbox\z@
+}\prepnext@tok}%
+ \def\TY@arrayrule{%
+ \TY@subwidth\arrayrulewidth
+ \@addtopreamble{{\CT@arc@\vline}}}%
+ \def\TY@classvi{\ifcase \@lastchclass
+ \@acol \or
+ \TY@subwidth\doublerulesep
+ \ifx\CT@drsc@\relax
+ \@addtopreamble{\hskip\doublerulesep}%
+ \else
+ \@addtopreamble{{\CT@drsc@\vrule\@width\doublerulesep}}%
+ \fi\or
+ \@acol \or
+ \@classvii
+ \fi}%
+}{%
+\let\CT@start\relax
+}
+}
+{\uccode`\*=`\ %
+\uppercase{\gdef\TX@verb{%
+ \leavevmode\null\TX@vwarn
+ {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
+ \@ifstar{\let~*\TX@vb}{\TX@vb}}}}
+\def\TX@vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
+ \expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
+\def\TX@v#1!{\afterassignment\TX@vfirst\let\@tempa= }
+\begingroup
+\catcode`\*=\catcode`\#
+\catcode`\#=12
+\gdef\TX@vfirst{%
+ \if\@tempa#%
+ \def\@tempb{\TX@v@#}%
+ \else
+ \let\@tempb\TX@v@
+ \if\@tempa\space~\else\@tempa\fi
+ \fi
+ \@tempb}
+\gdef\TX@v@*1 *2{%
+ \TX@v@hash*1##\relax\if*2\\\else~\expandafter\TX@v@\fi*2}
+\gdef\TX@v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX@v@hash\fi*2}
+\endgroup
+\def\TX@vwarn{%
+ \@warning{\noexpand\verb may be unreliable inside tabularx/y}%
+ \global\let\TX@vwarn\@empty}
+\endinput
+%%
+%% End of file `tabulary.sty'.
diff --git a/macros/latex/contrib/tabulary/tabulary.dtx b/macros/latex/contrib/tabulary/tabulary.dtx
index b455cf0382..21dc80b419 100644
--- a/macros/latex/contrib/tabulary/tabulary.dtx
+++ b/macros/latex/contrib/tabulary/tabulary.dtx
@@ -1,9 +1,9 @@
% \iffalse
%%
%% File `tabulary.dtx'.
-%% Copyright (C) 1995 1996 2003 2008 David Carlisle
+%% Copyright (C) 1995 1996 2003 2008 2024 David Carlisle
%% This file may be distributed under the terms of the LPPL.
-%% See 00readme.txt for details.
+%% See README.txt for details.
%%
%
%<*dtx>
@@ -13,7 +13,7 @@
%<package>\ProvidesPackage{tabulary}
% \fi
% \ProvidesFile{tabulary.dtx}
- [2014/06/11 v0.10 tabulary package (DPC)]
+ [2024/06/04 v0.11 tabulary package (DPC)]
%
% \iffalse
%<*driver>
@@ -35,7 +35,6 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{1346}
%
% \changes{v0.1}{1995/10/08}
% {Initial version}
@@ -51,6 +50,14 @@
% {Rename S to J and `hide' s (until it works)}
% \changes{v0.10}{2014/06/21}
% {support \cs{cellcolor} see http://tex.stackexchange.com/a/185851/1090}
+% \changes{v0.11}{2024/06/04}
+% {Update to match latest array package (rollback to v0.10 for older releases)}
+% \changes{v0.11}{2024/06/04}
+% {Restore LaTeX counters after trial typesetting gh/12}
+% \changes{v0.11}{2024/06/04}
+% {Handle p and b columns like m gh/38}
+% \changes{v0.11}{2024/06/04}
+% {use \cs{hskip}1sp to match array 2.3i from 1996}
%
% \section{User Documentation}
%
@@ -218,8 +225,15 @@
%<*package>
% \end{macrocode}
%
+% Rollback.
% \begin{macrocode}
-\RequirePackage{array}
+\DeclareRelease{v0.10}{1995/10/08}{tabulary-v010.sty}
+\DeclareCurrentRelease{}{2024-06-01}
+% \end{macrocode}
+%
+% This version needs a current array package
+% \begin{macrocode}
+\RequirePackage{array}[2024/05/23]
% \end{macrocode}
%
% \begin{macrocode}
@@ -349,11 +363,12 @@ Z \string\tymax: \the\tymax^^J}%
% \begin{macro}{\TY@mkpream}
% TY version.
% \begin{macrocode}
+\ExplSyntaxOn
\def\TY@mkpream{%
\def\@addamp{%
\if@firstamp \@firstampfalse \else
\global\advance\TY@count\@ne
- \edef\@preamble{\@preamble &}\fi
+ \edef\@preamble{\@preamble & \noexpand\tbl_update_cell_data:}\fi
\TY@width\xdef{0pt}}%
% \end{macrocode}
%
@@ -373,7 +388,7 @@ Z \string\tymax: \the\tymax^^J}%
%
% \begin{macrocode}
\def\@classv{\save@decl
- \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@
+ \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@__tbl
\sbox\z@{\d@llarbegin\@nextchar\d@llarend}%
\TY@subwidth{\wd\z@}%
\@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}%
@@ -386,6 +401,7 @@ Z \string\tymax: \the\tymax^^J}%
%
% \begin{macrocode}
\TY@@mkpream}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
%
@@ -478,7 +494,17 @@ Z \string\tymax: \the\tymax^^J}%
% row is hidden by an hline or something.
% \begin{macrocode}
\def\endtabulary{%
+ \SuspendTagging {tabulary}%
\gdef\@halignto{}%
+% \end{macrocode}
+%
+% Save values of counters, to reset after the trial
+% \begin{macrocode}
+ \def\@elt##1{\global\value{##1}\the\value{##1}\relax}%
+ \edef\TY@ckpt{\cl@@ckpt}%
+% \end{macrocode}
+%
+% \begin{macrocode}
\expandafter\TY@tab\the\toks@
\crcr\omit
{\xdef\TY@save@row{}%
@@ -489,6 +515,7 @@ Z \string\tymax: \the\tymax^^J}%
\repeat}\TY@save@row
\endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
\unskip\global\setbox1=\lastbox}\egroup
+ \ResumeTagging {tabulary}%
% \end{macrocode}
% Check that |\tymin| is not too large.
% \begin{macrocode}
@@ -563,6 +590,11 @@ Z \message{> tymin}%
\let\TY@box\TY@box@v
% \end{macrocode}
%
+% Restore counter values.
+% \begin{macrocode}
+ \TY@ckpt
+% \end{macrocode}
+%
% Run a second tabular, and for the star form, unbox it.
% \begin{macrocode}
{\expandafter\TY@final\the\toks@\endTY@final}%
@@ -744,7 +776,7 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\let\raggedleft\indent
\let\arraybackslash\relax
\prepnext@tok
- \ifnum\@chnum<4
+ \ifnum\@chnum<6
\global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
\fi
\ifnum\@chnum=6
@@ -752,14 +784,19 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\fi
\@addtopreamble{%
\ifcase\@chnum
- \hfil \d@llarbegin\insert@column\d@llarend \hfil \or
- \kern\z@
- \d@llarbegin \insert@column \d@llarend \hfil \or
- \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or
- $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \d@llarbegin \insert@column \d@llarend \or% dubious "s" case
+ \hfil\hskip1sp%
+ \d@llarbegin\insert@column\d@llarend\do@row@strut\hfil \or
+ \hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut\hfil \or
+ \hfil\hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut \or
+ \setbox\ar@mcellbox\vbox
+ \@startpbox{\@nextchar}\insert@pcolumn \@endpbox
+ \ar@align@mcell
+ \do@row@strut\or
+ \vtop \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \d@llarbegin \insert@column \d@llarend \do@row@strut \or% dubious "s" case
\TY@box\centering\or
\TY@box\raggedright\or
\TY@box\raggedleft\or
@@ -777,14 +814,16 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
% \begin{macrocode}
\def\TY@box#1{%
\ifx\centering#1%
- \hfil \d@llarbegin\insert@column\d@llarend \hfil \else
+ \hfil\hskip1sp%
+ \d@llarbegin\insert@column\d@llarend\do@row@strut \hfil \else
\ifx\raggedright#1%
- \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- \d@llarbegin \insert@column \d@llarend \hfil \else
+ \hskip1sp%
+ \d@llarbegin \insert@column \d@llarend\do@row@strut \hfil \else
\ifx\raggedleft#1%
- \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \else
+ \hfil\hskip1sp%
+ \kern\z@ \d@llarbegin \insert@column \d@llarend\do@row@strut \else
\ifx\relax#1%
- \d@llarbegin \insert@column \d@llarend
+ \d@llarbegin \insert@column \d@llarend\do@row@strut
\fi \fi \fi \fi}
% \end{macrocode}
% \end{macro}
@@ -796,7 +835,7 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\def\TY@box@v#1{%
\vtop \@startpbox{\csname TY@F\the\TY@count\endcsname}%
#1\arraybackslash\tyformat
- \insert@column\@endpbox}
+ \insert@pcolumn\@endpbox}
% \end{macrocode}
% \end{macro}
%
@@ -896,7 +935,7 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\let\arraybackslash\relax
\prepnext@tok
\expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil
- \ifnum\@chnum<4
+ \ifnum\@chnum<6
\global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@
\fi
\ifnum\@chnum=6
@@ -910,10 +949,13 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
\kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
\d@llarbegin \insert@column \d@llarend \hfill \or
\hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or
- $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or
- \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or
- \d@llarbegin \insert@column \d@llarend \or% dubious s case
+ \setbox\ar@mcellbox\vbox
+ \@startpbox{\@nextchar}\insert@pcolumn \@endpbox
+ \ar@align@mcell
+ \do@row@strut \or
+ \vtop \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \vbox \@startpbox{\@nextchar}\insert@pcolumn \@endpbox \or
+ \d@llarbegin \insert@pcolumn \d@llarend \or% dubious s case
\TY@box\centering\or
\TY@box\raggedright\or
\TY@box\raggedleft\or
@@ -999,9 +1041,40 @@ Z \message{^^JTotal:\the\@tempdima^^J}%
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\tblcrcrn}^^A L3 name
+% Patch to ensure |\tbl_crcr:n| ends with |\crcr|.
+% (Will be fixed in later \LaTeX\ releases.
+% \begin{macrocode}
+%<package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_set:Npn \@tempa #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ \cr
+ }
+ }
+\ifx\@tempa\tbl_crcr:n
+\cs_set:Npn \tbl_crcr:n #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ }
+ \crcr
+ }
+\fi
+\let\@tempa\@undefined
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
+% \end{macro}
+%
% \PrintIndex
% \Finale
%
diff --git a/macros/latex/contrib/tabulary/tabulary.pdf b/macros/latex/contrib/tabulary/tabulary.pdf
index c5a8ed2e61..74dedf72a5 100644
--- a/macros/latex/contrib/tabulary/tabulary.pdf
+++ b/macros/latex/contrib/tabulary/tabulary.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md
index d5ec6a6054..9602302c2a 100644
--- a/macros/latex/contrib/tagpdf/README.md
+++ b/macros/latex/contrib/tagpdf/README.md
@@ -1,6 +1,6 @@
#tagpdf — A package to create tagged pdf
-Packageversion: 0.99b
-Packagedate: 2024/04/12
+Packageversion: 0.99c
+Packagedate: 2024/06/20
Author: Ulrike Fischer, LaTeX Project Team
## License
diff --git a/macros/latex/contrib/tagpdf/ex-AF-file.pdf b/macros/latex/contrib/tagpdf/ex-AF-file.pdf
index 88cce58755..37673eac26 100644
--- a/macros/latex/contrib/tagpdf/ex-AF-file.pdf
+++ b/macros/latex/contrib/tagpdf/ex-AF-file.pdf
@@ -1,11 +1,11 @@
%PDF-2.0
%
22 0 obj
-<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240412224343+02'00') /Size 151 /CheckSum (D52DAF2721ACFB0A3038F7BEDDA61C03) >> /Length 151 >>
+<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >>
stream
%% LaTeX2e file `example-input-file.tex'
%% generated by the `filecontents' environment
-%% from source `ex-AF-file' on 2024/04/12.
+%% from source `ex-AF-file' on 2024/06/20.
%%
Additional info!
@@ -15,7 +15,7 @@ endobj
<< /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF <FEFF006500780061006D0070006C0065002D0069006E007000750074002D00660069006C0065002E007400650078> /EF<</F 22 0 R/UF 22 0 R>> >>
endobj
25 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240412) >> /Length 19 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 19 >>
stream
Bär with teh shirt
endstream
@@ -24,7 +24,7 @@ endobj
<< /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF <FEFF007400610067002D0041004600660069006C00650031002E007400780074> /EF<</F 25 0 R/UF 25 0 R>> >>
endobj
28 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240412) >> /Length 4 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 4 >>
stream
Duck
endstream
@@ -242,17 +242,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:43:57+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:50:54+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-AF-file.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:43:57+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:43:57+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:43:57+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:50:54+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:50:54+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:50:54+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:6b06569f-01cc-4520-8f3e-f24784f393ab</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -347,7 +347,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,F7B920C5-38F1-B398-9D50-A556845632C) >>
+<< /Type /Namespace /NS (data:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -449,7 +449,7 @@ endobj
<< /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >>
endobj
46 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224357+02'00')/ModDate (D:20240412224357+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175054+02'00')/ModDate (D:20240620175054+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 47
@@ -458,10 +458,10 @@ xref
0000000003 00000 f
0000000004 00000 f
0000000010 00000 f
-0000016361 00000 n
+0000016360 00000 n
0000013627 00000 n
0000013838 00000 n
-0000015791 00000 n
+0000015790 00000 n
0000014417 00000 n
0000000012 00000 f
0000014485 00000 n
@@ -474,34 +474,34 @@ xref
0000015425 00000 n
0000015703 00000 n
0000000000 00000 f
-0000015852 00000 n
+0000015851 00000 n
0000000020 00000 n
0000000382 00000 n
-0000015965 00000 n
+0000015964 00000 n
0000000603 00000 n
0000000758 00000 n
-0000016097 00000 n
+0000016096 00000 n
0000000943 00000 n
0000001083 00000 n
-0000016229 00000 n
+0000016228 00000 n
0000001268 00000 n
0000013481 00000 n
0000013346 00000 n
0000012740 00000 n
-0000020114 00000 n
-0000020468 00000 n
+0000020113 00000 n
+0000020467 00000 n
0000013591 00000 n
0000013684 00000 n
0000013801 00000 n
-0000016481 00000 n
-0000018930 00000 n
-0000016667 00000 n
-0000019151 00000 n
-0000020268 00000 n
-0000020530 00000 n
-0000020648 00000 n
+0000016480 00000 n
+0000018929 00000 n
+0000016666 00000 n
+0000019150 00000 n
+0000020267 00000 n
+0000020529 00000 n
+0000020647 00000 n
trailer
-<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <94D14D0D874136BA8E3138318B983D46> <94D14D0D874136BA8E3138318B983D46> ] >>
+<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >>
startxref
-20871
+20870
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
index 2ee461f0b5..8bbbbcc16c 100644
--- a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
+++ b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/ex-attribute.pdf b/macros/latex/contrib/tagpdf/ex-attribute.pdf
index cf0457f4ce..172ce02990 100644
--- a/macros/latex/contrib/tagpdf/ex-attribute.pdf
+++ b/macros/latex/contrib/tagpdf/ex-attribute.pdf
@@ -216,17 +216,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:45:00+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:51:49+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-attribute.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:45:00+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:45:00+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:45:00+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:51:49+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:51:49+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:51:49+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:ebb76e7a-6558-411c-8644-ae16263a1ccf</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -450,7 +450,7 @@ endobj
<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >>
endobj
38 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240412224500+02'00')/ModDate (D:20240412224500+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240620175149+02'00')/ModDate (D:20240620175149+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 39
@@ -494,7 +494,7 @@ xref
0000017721 00000 n
0000017839 00000 n
trailer
-<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <F0A4043D02B88225A376093CF6F0F5F6> <F0A4043D02B88225A376093CF6F0F5F6> ] >>
+<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >>
startxref
18076
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
index 4f52377221..9ac7a851bc 100644
--- a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
+++ b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
@@ -239,17 +239,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:45:21+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:52:18+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-formula-problem.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:45:21+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:45:21+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:45:21+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:52:18+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:52:18+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:52:18+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:b235cb52-00e7-4b87-80da-099ff7a08959</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -425,7 +425,7 @@ endobj
<< /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >>
endobj
33 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224521+02'00')/ModDate (D:20240412224521+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175218+02'00')/ModDate (D:20240620175218+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 34
@@ -464,7 +464,7 @@ xref
0000018886 00000 n
0000019004 00000 n
trailer
-<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <DA67BF625C6AC31DA20A2C414D89BF53> <DA67BF625C6AC31DA20A2C414D89BF53> ] >>
+<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >>
startxref
19227
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-list.pdf b/macros/latex/contrib/tagpdf/ex-list.pdf
index 68136b26fc..2346b0398a 100644
--- a/macros/latex/contrib/tagpdf/ex-list.pdf
+++ b/macros/latex/contrib/tagpdf/ex-list.pdf
@@ -1,7 +1,7 @@
%PDF-1.7
%
48 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11379 >>
+<< /Type /Metadata /Subtype /XML /Length 11376 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -205,22 +205,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>en</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:45:43+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:52:47+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-list.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:45:43+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:45:43+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:45:43+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:52:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:52:47+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:52:47+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:2a093094-e2b9-4472-8f3a-4dbbebc7fd1c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -651,88 +651,88 @@ endobj
<< /Type /Pages /Count 1 /Kids [ 50 0 R ] >>
endobj
71 0 obj
-<< /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en-US)/Metadata 48 0 R/StructTreeRoot 5 0 R >>
+<< /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en)/Metadata 48 0 R/StructTreeRoot 5 0 R >>
endobj
72 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224543+02'00')/ModDate (D:20240412224543+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175247+02'00')/ModDate (D:20240620175247+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 73
0000000002 65535 f
-0000013512 00000 n
+0000013509 00000 n
0000000003 00000 f
0000000004 00000 f
0000000008 00000 f
-0000019050 00000 n
-0000013595 00000 n
-0000014434 00000 n
+0000019047 00000 n
+0000013592 00000 n
+0000014431 00000 n
0000000000 00000 f
-0000015231 00000 n
-0000015332 00000 n
-0000015408 00000 n
-0000015484 00000 n
-0000015571 00000 n
-0000015678 00000 n
-0000015768 00000 n
-0000015878 00000 n
-0000015962 00000 n
-0000016050 00000 n
-0000016173 00000 n
-0000016263 00000 n
-0000016373 00000 n
-0000016457 00000 n
-0000016545 00000 n
-0000016668 00000 n
-0000016755 00000 n
-0000016866 00000 n
-0000016956 00000 n
-0000017066 00000 n
-0000017150 00000 n
-0000017238 00000 n
-0000017361 00000 n
-0000017451 00000 n
-0000017561 00000 n
-0000017645 00000 n
-0000017733 00000 n
-0000017856 00000 n
-0000017943 00000 n
-0000018058 00000 n
-0000018148 00000 n
-0000018258 00000 n
-0000018342 00000 n
-0000018430 00000 n
-0000018553 00000 n
-0000018643 00000 n
-0000018754 00000 n
-0000018838 00000 n
-0000018926 00000 n
+0000015228 00000 n
+0000015329 00000 n
+0000015405 00000 n
+0000015481 00000 n
+0000015568 00000 n
+0000015675 00000 n
+0000015765 00000 n
+0000015875 00000 n
+0000015959 00000 n
+0000016047 00000 n
+0000016170 00000 n
+0000016260 00000 n
+0000016370 00000 n
+0000016454 00000 n
+0000016542 00000 n
+0000016665 00000 n
+0000016752 00000 n
+0000016863 00000 n
+0000016953 00000 n
+0000017063 00000 n
+0000017147 00000 n
+0000017235 00000 n
+0000017358 00000 n
+0000017448 00000 n
+0000017558 00000 n
+0000017642 00000 n
+0000017730 00000 n
+0000017853 00000 n
+0000017940 00000 n
+0000018055 00000 n
+0000018145 00000 n
+0000018255 00000 n
+0000018339 00000 n
+0000018427 00000 n
+0000018550 00000 n
+0000018640 00000 n
+0000018751 00000 n
+0000018835 00000 n
+0000018923 00000 n
0000000020 00000 n
-0000013413 00000 n
-0000013271 00000 n
-0000011489 00000 n
-0000029177 00000 n
-0000022225 00000 n
-0000029531 00000 n
-0000013559 00000 n
-0000013715 00000 n
-0000014397 00000 n
-0000015026 00000 n
-0000019168 00000 n
-0000021127 00000 n
-0000019300 00000 n
-0000019374 00000 n
-0000021361 00000 n
-0000022376 00000 n
-0000022573 00000 n
-0000027712 00000 n
-0000022909 00000 n
-0000023032 00000 n
-0000027948 00000 n
-0000029331 00000 n
-0000029593 00000 n
-0000029711 00000 n
+0000013410 00000 n
+0000013268 00000 n
+0000011486 00000 n
+0000029174 00000 n
+0000022222 00000 n
+0000029528 00000 n
+0000013556 00000 n
+0000013712 00000 n
+0000014394 00000 n
+0000015023 00000 n
+0000019165 00000 n
+0000021124 00000 n
+0000019297 00000 n
+0000019371 00000 n
+0000021358 00000 n
+0000022373 00000 n
+0000022570 00000 n
+0000027709 00000 n
+0000022906 00000 n
+0000023029 00000 n
+0000027945 00000 n
+0000029328 00000 n
+0000029590 00000 n
+0000029705 00000 n
trailer
-<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <AB165FBD92401154000829BD1ADC4E0A> <AB165FBD92401154000829BD1ADC4E0A> ] >>
+<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >>
startxref
-29934
+29928
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
index 05f6c08b7e..70cfe5e793 100644
--- a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+++ b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
@@ -34,7 +34,7 @@ endobj
<< /ExtGState 1 0 R /Font << /F15 13 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
15 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11404 >>
+<< /Type /Metadata /Subtype /XML /Length 11401 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -238,22 +238,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>de</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:46:02+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:53:22+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-mc-manual-para-split-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:46:02+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:46:02+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:46:02+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:53:22+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:53:22+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:53:22+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:bcd2c2e1-c962-4de2-807b-cf19c4e0788a</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -410,15 +410,15 @@ endobj
<< /Type /Pages /Count 2 /Kids [ 9 0 R 10 0 R ] >>
endobj
24 0 obj
-<< /Type /Catalog /Pages 14 0 R /Lang (en-US)/Metadata 15 0 R >>
+<< /Type /Catalog /Pages 14 0 R /Lang (de)/Metadata 15 0 R >>
endobj
25 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224602+02'00')/ModDate (D:20240412224602+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175322+02'00')/ModDate (D:20240620175322+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 26
0000000002 65535 f
-0000016854 00000 n
+0000016851 00000 n
0000000003 00000 f
0000000004 00000 f
0000000005 00000 f
@@ -427,24 +427,24 @@ xref
0000000008 00000 f
0000000000 00000 f
0000002976 00000 n
-0000016648 00000 n
+0000016645 00000 n
0000003094 00000 n
0000000020 00000 n
-0000023475 00000 n
-0000023829 00000 n
+0000023472 00000 n
+0000023826 00000 n
0000003181 00000 n
-0000016767 00000 n
-0000014675 00000 n
-0000016901 00000 n
-0000022024 00000 n
-0000017208 00000 n
-0000017283 00000 n
-0000022260 00000 n
-0000023629 00000 n
-0000023897 00000 n
-0000023978 00000 n
+0000016764 00000 n
+0000014672 00000 n
+0000016898 00000 n
+0000022021 00000 n
+0000017205 00000 n
+0000017280 00000 n
+0000022257 00000 n
+0000023626 00000 n
+0000023894 00000 n
+0000023972 00000 n
trailer
-<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <F8A7135FF68D011151C46C7318E355A1> <F8A7135FF68D011151C46C7318E355A1> ] >>
+<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >>
startxref
-24201
+24195
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
index 167f4c4098..5f96db2bdb 100644
--- a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+++ b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
@@ -1,7 +1,7 @@
%PDF-1.7
%
14 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11385 >>
+<< /Type /Metadata /Subtype /XML /Length 11382 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -205,22 +205,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>de</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:46:20+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:53:55+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-softhyphen.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:46:20+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:46:20+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:46:20+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:53:55+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:53:55+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:53:55+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:519a7795-b9d2-4e15-8969-b897a5a4ef22</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -390,46 +390,46 @@ endobj
<< /Type /Pages /Count 1 /Kids [ 16 0 R ] >>
endobj
29 0 obj
-<< /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (en-US)/Metadata 14 0 R/StructTreeRoot 5 0 R >>
+<< /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (de)/Metadata 14 0 R/StructTreeRoot 5 0 R >>
endobj
30 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224620+02'00')/ModDate (D:20240412224620+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175355+02'00')/ModDate (D:20240620175355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 31
0000000002 65535 f
-0000012363 00000 n
+0000012360 00000 n
0000000003 00000 f
0000000004 00000 f
0000000008 00000 f
-0000013741 00000 n
-0000012446 00000 n
-0000012664 00000 n
+0000013738 00000 n
+0000012443 00000 n
+0000012661 00000 n
0000000000 00000 f
-0000013256 00000 n
-0000013349 00000 n
-0000013435 00000 n
-0000013545 00000 n
-0000013631 00000 n
+0000013253 00000 n
+0000013346 00000 n
+0000013432 00000 n
+0000013542 00000 n
+0000013628 00000 n
0000000020 00000 n
-0000012276 00000 n
-0000012141 00000 n
-0000011495 00000 n
-0000017690 00000 n
-0000018054 00000 n
-0000012410 00000 n
-0000012496 00000 n
-0000012627 00000 n
-0000013842 00000 n
-0000016490 00000 n
-0000013996 00000 n
-0000014170 00000 n
-0000016730 00000 n
-0000017849 00000 n
-0000018116 00000 n
-0000018234 00000 n
+0000012273 00000 n
+0000012138 00000 n
+0000011492 00000 n
+0000017687 00000 n
+0000018051 00000 n
+0000012407 00000 n
+0000012493 00000 n
+0000012624 00000 n
+0000013839 00000 n
+0000016487 00000 n
+0000013993 00000 n
+0000014167 00000 n
+0000016727 00000 n
+0000017846 00000 n
+0000018113 00000 n
+0000018228 00000 n
trailer
-<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <D9AD6A8B84F7C436A5E33ABFF75724B5> <D9AD6A8B84F7C436A5E33ABFF75724B5> ] >>
+<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >>
startxref
-18457
+18451
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
index 3925dd28a1..21b11b9346 100644
--- a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+++ b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
@@ -1,7 +1,7 @@
%PDF-1.5
%
10 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11394 >>
+<< /Type /Metadata /Subtype /XML /Length 11391 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -205,22 +205,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>de</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:46:38+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:54:22+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-spaceglyph-listings.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:46:38+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:46:38+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:46:38+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:54:22+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:54:22+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:54:22+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:6c942f83-dfd6-4e6f-8910-a9170ff614fd</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -351,42 +351,42 @@ endobj
<< /Type /Pages /Count 1 /Kids [ 12 0 R ] >>
endobj
25 0 obj
-<< /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (en-US)/Metadata 10 0 R/StructTreeRoot 5 0 R >>
+<< /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (de)/Metadata 10 0 R/StructTreeRoot 5 0 R >>
endobj
26 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224638+02'00')/ModDate (D:20240412224638+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175422+02'00')/ModDate (D:20240620175422+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 27
0000000002 65535 f
-0000012010 00000 n
+0000012007 00000 n
0000000003 00000 f
0000000004 00000 f
0000000008 00000 f
-0000012889 00000 n
-0000012093 00000 n
-0000012236 00000 n
+0000012886 00000 n
+0000012090 00000 n
+0000012233 00000 n
0000000000 00000 f
-0000012815 00000 n
+0000012812 00000 n
0000000020 00000 n
-0000011923 00000 n
-0000011788 00000 n
-0000011504 00000 n
-0000015072 00000 n
-0000015426 00000 n
-0000012057 00000 n
-0000012128 00000 n
-0000012199 00000 n
-0000012990 00000 n
-0000014056 00000 n
-0000013045 00000 n
-0000013120 00000 n
-0000014292 00000 n
-0000015226 00000 n
-0000015488 00000 n
-0000015606 00000 n
+0000011920 00000 n
+0000011785 00000 n
+0000011501 00000 n
+0000015069 00000 n
+0000015423 00000 n
+0000012054 00000 n
+0000012125 00000 n
+0000012196 00000 n
+0000012987 00000 n
+0000014053 00000 n
+0000013042 00000 n
+0000013117 00000 n
+0000014289 00000 n
+0000015223 00000 n
+0000015485 00000 n
+0000015600 00000 n
trailer
-<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <4F03E017A0AB75B1D9F70C4C092338B6> <4F03E017A0AB75B1D9F70C4C092338B6> ] >>
+<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >>
startxref
-15829
+15823
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
index 4e1d3bd333..7c9c135bf7 100644
--- a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
+++ b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
@@ -1,7 +1,7 @@
%PDF-1.7
%
20 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11393 >>
+<< /Type /Metadata /Subtype /XML /Length 11390 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -205,22 +205,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>de</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:46:56+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:54:47+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-structure-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:46:56+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:46:56+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:46:56+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:54:47+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:54:47+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:54:47+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:dfe9a42c-3fb3-4d0b-8cff-cbabbd4c8758</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -523,59 +523,59 @@ endobj
<< /Type /Pages /Count 1 /Kids [ 22 0 R ] >>
endobj
42 0 obj
-<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (en-US)/Metadata 20 0 R/StructTreeRoot 5 0 R >>
+<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de)/Metadata 20 0 R/StructTreeRoot 5 0 R >>
endobj
43 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224656+02'00')/ModDate (D:20240412224656+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175447+02'00')/ModDate (D:20240620175447+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 44
0000000002 65535 f
-0000012797 00000 n
+0000012794 00000 n
0000000003 00000 f
0000000004 00000 f
0000000008 00000 f
-0000014933 00000 n
-0000012880 00000 n
-0000013229 00000 n
+0000014930 00000 n
+0000012877 00000 n
+0000013226 00000 n
0000000000 00000 f
-0000013821 00000 n
-0000013906 00000 n
-0000014004 00000 n
-0000014112 00000 n
-0000014220 00000 n
-0000014309 00000 n
-0000014399 00000 n
-0000014509 00000 n
-0000014621 00000 n
-0000014711 00000 n
-0000014821 00000 n
+0000013818 00000 n
+0000013903 00000 n
+0000014001 00000 n
+0000014109 00000 n
+0000014217 00000 n
+0000014306 00000 n
+0000014396 00000 n
+0000014506 00000 n
+0000014618 00000 n
+0000014708 00000 n
+0000014818 00000 n
0000000020 00000 n
-0000012698 00000 n
-0000012563 00000 n
-0000011503 00000 n
-0000023016 00000 n
-0000019782 00000 n
-0000023364 00000 n
-0000012844 00000 n
-0000012958 00000 n
-0000013192 00000 n
-0000015034 00000 n
-0000018513 00000 n
-0000015283 00000 n
-0000015358 00000 n
-0000018749 00000 n
-0000019936 00000 n
-0000020136 00000 n
-0000021904 00000 n
-0000020273 00000 n
-0000020349 00000 n
-0000022138 00000 n
-0000023167 00000 n
-0000023426 00000 n
-0000023544 00000 n
+0000012695 00000 n
+0000012560 00000 n
+0000011500 00000 n
+0000023013 00000 n
+0000019779 00000 n
+0000023361 00000 n
+0000012841 00000 n
+0000012955 00000 n
+0000013189 00000 n
+0000015031 00000 n
+0000018510 00000 n
+0000015280 00000 n
+0000015355 00000 n
+0000018746 00000 n
+0000019933 00000 n
+0000020133 00000 n
+0000021901 00000 n
+0000020270 00000 n
+0000020346 00000 n
+0000022135 00000 n
+0000023164 00000 n
+0000023423 00000 n
+0000023538 00000 n
trailer
-<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <070B43978F0B9DD29A40F81836E2FD94> <070B43978F0B9DD29A40F81836E2FD94> ] >>
+<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >>
startxref
-23767
+23761
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
index 1edb5a1526..81423fede4 100644
--- a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+++ b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
@@ -1,7 +1,7 @@
%PDF-2.0
%
26 0 obj
-<< /Type /Metadata /Subtype /XML /Length 11390 >>
+<< /Type /Metadata /Subtype /XML /Length 11387 >>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
@@ -205,22 +205,22 @@ stream
</dc:type>
<dc:language>
<rdf:Bag>
- <rdf:li>en-US</rdf:li>
+ <rdf:li>en</rdf:li>
</rdf:Bag>
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-04-12T22:47:14+02:00</rdf:li>
+ <rdf:li>2024-06-20T17:55:14+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-tagpdf-template.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-04-12T22:47:14+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-04-12T22:47:14+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-04-12T22:47:14+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-06-20T17:55:14+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-06-20T17:55:14+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-06-20T17:55:14+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:a58b5e07-b0ee-4a81-8000-b7d421e306ee</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -307,7 +307,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,116ADA92-7CCD-B12C-F093-B4B64DA61C) >>
+<< /Type /Namespace /NS (data:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -396,58 +396,58 @@ endobj
<< /Type /Pages /Count 1 /Kids [ 28 0 R ] >>
endobj
41 0 obj
-<< /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en-US)/Metadata 26 0 R/StructTreeRoot 5 0 R >>
+<< /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en)/Metadata 26 0 R/StructTreeRoot 5 0 R >>
endobj
42 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240412224714+02'00')/ModDate (D:20240412224714+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175514+02'00')/ModDate (D:20240620175514+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 43
0000000002 65535 f
-0000011932 00000 n
+0000011929 00000 n
0000000003 00000 f
0000000004 00000 f
0000000010 00000 f
-0000014806 00000 n
-0000012015 00000 n
-0000012225 00000 n
-0000014241 00000 n
-0000012868 00000 n
+0000014805 00000 n
+0000012012 00000 n
+0000012222 00000 n
+0000014240 00000 n
+0000012865 00000 n
0000000012 00000 f
-0000012936 00000 n
+0000012933 00000 n
0000000014 00000 f
-0000013006 00000 n
+0000013003 00000 n
0000000020 00000 f
-0000013769 00000 n
-0000013087 00000 n
-0000014047 00000 n
-0000013876 00000 n
-0000014154 00000 n
+0000013766 00000 n
+0000013084 00000 n
+0000014044 00000 n
+0000013873 00000 n
+0000014151 00000 n
0000000000 00000 f
-0000014302 00000 n
-0000014399 00000 n
-0000014486 00000 n
-0000014573 00000 n
-0000014672 00000 n
+0000014301 00000 n
+0000014398 00000 n
+0000014485 00000 n
+0000014572 00000 n
+0000014671 00000 n
0000000020 00000 n
-0000011869 00000 n
-0000011734 00000 n
-0000011500 00000 n
-0000017427 00000 n
-0000017781 00000 n
-0000011979 00000 n
-0000012056 00000 n
-0000012188 00000 n
-0000012804 00000 n
-0000014943 00000 n
-0000016384 00000 n
-0000015030 00000 n
-0000016605 00000 n
-0000017581 00000 n
-0000017843 00000 n
-0000017961 00000 n
+0000011866 00000 n
+0000011731 00000 n
+0000011497 00000 n
+0000017426 00000 n
+0000017780 00000 n
+0000011976 00000 n
+0000012053 00000 n
+0000012185 00000 n
+0000012801 00000 n
+0000014942 00000 n
+0000016383 00000 n
+0000015029 00000 n
+0000016604 00000 n
+0000017580 00000 n
+0000017842 00000 n
+0000017957 00000 n
trailer
-<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <6A478CD03D1F91A40D3812163E3E3FC9> <6A478CD03D1F91A40D3812163E3E3FC9> ] >>
+<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >>
startxref
-18184
+18180
%%EOF
diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
index 0f388b2542..7e19e1e90f 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2024-04-12} {0.99b}
+\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c}
{tagpdf~driver~for~luatex}
% \end{macrocode}
% \section{Loading the lua}
@@ -164,8 +164,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.99b", --TAGVERSION
- date = "2024-04-12", --TAGDATE
+ version = "0.99c", --TAGVERSION
+ date = "2024-06-20", --TAGDATE
description = "tagpdf lua code",
license = "The LATEX Project Public License 1.3c"
}
@@ -196,8 +196,8 @@ ltx.@@.page will contain page data
ltx.@@.tables contains also data from mc and struct (from older code). This needs cleaning up.
There are certainly dublettes, but I don't dare yet ...
ltx.@@.func will contain (public) functions.
-ltx.@@.trace will contain tracing/loging functions.
-local funktions starts with __
+ltx.@@.trace will contain tracing/logging functions.
+local functions starts with __
functions meant for users will be in ltx.tag
functions
@@ -210,7 +210,7 @@ functions
ltx.@@.func.store_mc_kid (mcnum,kid,page): stores the mc-kids of mcnum on page page
ltx.@@.func.store_mc_in_page(mcnum,mcpagecnt,page): stores in the page table the number of mcnum on this page
ltx.@@.func.store_struct_mcabs (structnum,mcnum): stores relations structnum<->mcnum (abs)
- ltx.@@.func.mc_insert_kids (mcnum): inserts the /K entries for mcnum by wandering throught the [kids] table
+ ltx.@@.func.mc_insert_kids (mcnum): inserts the /K entries for mcnum by wandering through the [kids] table
ltx.@@.func.mark_page_elements(box,mcpagecnt,mccntprev,mcopen,name,mctypeprev) : the main function
ltx.@@.func.mark_shipout (): a wrapper around the core function which inserts the last EMC
ltx.@@.func.fill_parent_tree_line (page): outputs the entries of the parenttree for this page
@@ -827,7 +827,7 @@ end
% @@_activate_mark_space,
% ltx.@@.func.markspaceoff
% }
-% Theses functions add/remove the function which marks the spaces to the callbacks
+% These functions add/remove the function which marks the spaces to the callbacks
% |pre_linebreak_filter| and |hpack_filter|
% \begin{macrocode}
local function @@_activate_mark_space ()
diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
index f786ede615..345b2e35ba 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \section{Commands}
@@ -74,7 +74,7 @@
% It relies currently on that the code, that saved the box, correctly sets
% the command \verb+\l_tag_box_\int_use:N #1_tl+ to a positive value.
% The LaTeX commands will do that automatically
-% at some time but it is in the responsability of the user to
+% at some time but it is in the responsibility of the user to
% ensure that when using low-level code.
% If the internal command doesn't exist the box is assumed to be untagged.
% \end{function}
@@ -331,7 +331,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-checks-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to checks, conditionals, debugging and messages}
%</header>
% \end{macrocode}
@@ -639,7 +639,7 @@
% It relies on that the code that saved the box correctly set
% \verb+\l_tag_box_<box number>_tl+ to a positive value.
% The LaTeX commands will do that automatically
-% at some time but it is in the responsability of the user to
+% at some time but it is in the responsibility of the user to
% ensure that when using low-level code.
% If the internal command doesn't exist the box is assumed to be untagged.
% \begin{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
index 10a9c1dc8d..4dd216d1a9 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-code.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf-data.dtx b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
index d8cba42142..f07e5db3ed 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-data.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% This files contains a various data files which are read in
@@ -58,10 +58,10 @@
% \section{The LaTeX namespace}
% This is the main new namespace. It is bound to change a lot!
% It lists the new tag, the rolemap and the namespace of the rolemap.
-% latex-lab has also a namespace module, which takes precendence!
+% latex-lab has also a namespace module, which takes precedence!
% \begin{macrocode}
%<*ns-latex>
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c}
%% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
title, Title, pdf2,
part, Title, pdf2,
@@ -93,7 +93,7 @@ text, P, pdf2,
% It is bound to change
% \begin{macrocode}
%<*ns-latex-book>
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-06-20} {0.99c}
%% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
chapter, H1,pdf2,
section, H2,pdf2,
@@ -107,7 +107,7 @@ subparagraph, H6,pdf2,
% \section{The pdf namespace data}
% \begin{macrocode}
%<*ns-pdf>
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-06-20} {0.99c}
%% {pdf} {http://iso.org/pdf/ssn}{}
StructTreeRoot,StructTreeRoot,pdf,D,
Document,Document,pdf,D,
@@ -175,7 +175,7 @@ Strong,Span,pdf,I,
% \section{The pdf 2.0 namespace data}
% \begin{macrocode}
%<*ns-pdf2>
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-06-20} {0.99c}
%% {pdf2} {http://iso.org/pdf2/ssn}{}
StructTreeRoot,StructTreeRoot,pdf2,D,
Document,Document,pdf2,D,
@@ -232,7 +232,7 @@ Strong,Strong,pdf2,I,
% \section{The mathml namespace data}
% \begin{macrocode}
%<*ns-mathml>
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-06-20} {0.99c}
% {mathml}{http://www.w3.org/1998/Math/MathML}{}
abs,abs,mathml,
and,and,mathml,
@@ -430,7 +430,7 @@ xor,xor,mathml,
% \section{Rule naming}
% \begin{macro}{\c_@@_role_rules_prop}
% These two properties map the rule strings to numbers and back.
-% There are in tagpdf-data.dtx near the csv files for easier maintainance.
+% There are in tagpdf-data.dtx near the csv files for easier maintenance.
% \begin{macrocode}
%<*package>
\prop_const_from_keyval:Nn \c_@@_role_rules_prop
@@ -467,7 +467,7 @@ xor,xor,mathml,
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child>
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c}
,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅
@@ -522,7 +522,7 @@ MC,both,---,∅,∅,∅,∅,∅,∅,0..n,‡,∅,∅,∅,0..n,0..n,0..n,0..n,0..
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child-2>
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-04-12} {0.99b}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-06-20} {0.99c}
,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
index b1ce874db6..0cef27fd3b 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \end{documentation}
@@ -55,11 +55,11 @@
% \begin{macrocode}
%<@@=tag>
%<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c}
{part of tagpdf - code related to marking chunks - generic mode}
%</generic>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c}
{part of tagpdf - debugging code related to marking chunks - generic mode}
%</debug>
% \end{macrocode}
@@ -393,12 +393,12 @@
% \end{macro}
% \begin{macro}{\@@_add_missing_mcs_to_stream:Nn}
-% This is the main command to add mc to the stream. It is therefor
+% This is the main command to add mc to the stream. It is therefore
% guarded by the mc-boolean.
%
% If we aren't in the main stream then processing is a bit more
% complicated because to get at the marks in the box we need to
-% artifically split it and then look at the split marks.
+% artificially split it and then look at the split marks.
%
% First argument is the box to update and the second is the \enquote{stream}.
% In lua mode the command is a no-op.
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
index 9db6cc95fa..7dd309c5f5 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
@@ -46,10 +46,10 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{implementation}
-% The code is splitted into three parts: code shared by all engines,
+% The code is split into three parts: code shared by all engines,
% code specific to luamode and code not used by luamode.
%
% \section{Marked content code -- luamode code}
@@ -86,11 +86,11 @@
% \begin{macrocode}
%<@@=tag>
%<*luamode>
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c}
{tagpdf - mc code only for the luamode }
%</luamode>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-lua} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c}
{part of tagpdf - debugging code related to marking chunks - lua mode}
%</debug>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
index aeadb889d4..c96fd8c4c8 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -175,13 +175,13 @@
% \end{function}
% \end{documentation}
% \begin{implementation}
-% The code is splitted into three parts: code shared by all engines,
+% The code is split into three parts: code shared by all engines,
% code specific to luamode and code not used by luamode.
% \section{Marked content code -- shared}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-06-20} {0.99c}
{part of tagpdf - code related to marking chunks -
code shared by generic and luamode }
%</header>
diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
index de239c2db7..80f9da0f6b 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
@@ -33,7 +33,7 @@
%</driver>
% \fi
% \title{^^A
-% The \pkg{tagpdf-roles} module\\ Tags, roles and namesspace code ^^A
+% The \pkg{tagpdf-roles} module\\ Tags, roles and namespace code ^^A
% \\ Part of the tagpdf package
% }
%
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -98,7 +98,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-roles-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to roles and structure names}
%</header>
% \end{macrocode}
@@ -190,7 +190,7 @@
% \end{variable}
%
% \begin{variable}{\g_@@_role_tags_class_prop}
-% With pdf 2.0 we store the class in the NS dependant props.
+% With pdf 2.0 we store the class in the NS dependent props.
% With pdf <2.0 we store for now the type(s) of a tag in a common
% prop.
% Tags that are rolemapped should get the type from
@@ -750,19 +750,31 @@
{
\hook_gput_code:nnn {begindocument}{tagpdf}
{
- \cs_if_exist:NT \chapter
- {
- \prop_map_inline:cn{g_@@_role_NS_latex-book_prop}
- {
- \@@_role_add_tag:ne {#1}{\use_i:nn #2\c_empty_tl\c_empty_tl}
- }
- }
+ \bool_lazy_and:nnT
+ {
+ \cs_if_exist_p:N \chapter
+ }
+ {
+ \cs_if_exist_p:N \c@chapter
+ }
+ {
+ \prop_map_inline:cn{g_@@_role_NS_latex-book_prop}
+ {
+ \@@_role_add_tag:ne {#1}{\use_i:nn #2\c_empty_tl\c_empty_tl}
+ }
+ }
}
}
{
\hook_gput_code:nnn {begindocument}{tagpdf}
{
- \cs_if_exist:NT \chapter
+ \bool_lazy_and:nnT
+ {
+ \cs_if_exist_p:N \chapter
+ }
+ {
+ \cs_if_exist_p:N \c@chapter
+ }
{
\prop_map_inline:cn{g_@@_role_NS_latex-book_prop}
{
diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
index 62c9fd1eca..a29c8f0fb3 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-space.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \begin{function}{activate/space (setup-key),interwordspace (deprecated)}
@@ -58,7 +58,7 @@
% This key is deprecated. Use |debug/show=spaces| instead.
% This key works only with luatex and shows with small red
% bars where spaces have been inserted. This is only for debugging and
-% is not completly reliable (and change affect other literals and tagging), so it
+% is not completely reliable (and change affect other literals and tagging), so it
% should be used with care.
% \end{function}
% \end{documentation}
@@ -66,12 +66,12 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-space-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to real space chars}
%</header>
% \end{macrocode}
% \section{Code for interword spaces}
-% The code is engine/backend dependant. Basically only pdftex and luatex
+% The code is engine/backend dependent. Basically only pdftex and luatex
% support real space chars. Most of the code for luatex which uses attributes
% is in the lua code, here are only the keys.
%
diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
index 04ffa900cc..963852b1fc 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -95,7 +95,7 @@
% This inserts an annotation in the structure. \meta{object reference}
% is there reference to the annotation. \meta{struct parent number}
% should be the same number as had been inserted with \cs{tag_struct_parent_int:}
-% as |StructParent| value to the dictionary of the annotion.
+% as |StructParent| value to the dictionary of the annotation.
% The command will increase the value of the counter
% used by \cs{tag_struct_parent_int:}.
% \end{function}
@@ -147,7 +147,7 @@
% needed as you can only use structures already defined), and by the
% |ref| key (which can refer to future structures).
% Internally the label name will start with \texttt{tagpdfstruct-} and it stores
-% the two attributs |tagstruct| (the structure number) and |tagstructobj| (the
+% the two attributes |tagstruct| (the structure number) and |tagstructobj| (the
% object reference).
% \end{function}
% \begin{function}{parent (struct-key)}
@@ -285,7 +285,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-struct-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to storing structure}
%</header>
% \end{macrocode}
@@ -323,7 +323,7 @@
% in generic mode it can happen after
% a page break that we have to inject into a structure
% sequence an additional mc after. We will store this additional
-% info in a property. The key is the absolut mc num, the value the pdf directory.
+% info in a property. The key is the absolute mc num, the value the pdf directory.
% \begin{macrocode}
\@@_prop_new:N \g_@@_struct_cont_mc_prop
% \end{macrocode}
@@ -419,7 +419,7 @@
T, %title, value in () or <>
Lang, %language
Alt, % value in () or <>
- E, % abreviation
+ E, % abbreviation
ActualText,
AF, %pdf 2.0, array of dict, associated files
NS, %pdf 2.0, dict, namespace
@@ -523,7 +523,7 @@
{ g_@@_struct_#1_prop }{#2}{#3}
%<debug>\prop_gput:cnn { g_@@_struct_debug_#1_prop } {#2} {#3}
}
-\cs_generate_variant:Nn \@@_struct_prop_gput:nnn {nne,nee,nno}
+\cs_generate_variant:Nn \@@_struct_prop_gput:nnn {onn,nne,nee,nno}
%</package|debug>
% \end{macrocode}
% \end{macro}
@@ -902,7 +902,7 @@
% Basically it does what |\pdfdict_use:n| does.
% This is used a lot so should be rather fast.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_struct_get_dict_content:nN #1 #2 %#1: stucture num
+\cs_new_protected:Npn \@@_struct_get_dict_content:nN #1 #2 %#1: structure num
{
\tl_clear:N #2
\prop_map_inline:cn { g_@@_struct_#1_prop }
@@ -1270,7 +1270,7 @@
% extension.
% AF/AFref is an array and can be used more than once, so we store it in a tl.
% which is expanded.
-% AFinline currently uses the fix extention txt.
+% AFinline currently uses the fix extension txt.
% texsource is a special variant which creates a tex-file, it expects a
% tl-var as value (e.g. from math grabbing)
%
@@ -1579,6 +1579,7 @@
{ g_@@_struct_ \l_@@_struct_stack_parent_tmpa_tl _prop}
{S}
\l_@@_tmpa_tl
+ \quark_if_no_value:NT\l_@@_tmpa_tl{\tl_set:Nn \l_@@_tmpa_tl{UNKNOWN}}
\msg_warning:nneee
{ tag }
{role-parent-child}
@@ -1936,7 +1937,7 @@
% \section{Attributes and attribute classes}
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-attr-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to attributes and attribute classes}
%</header>
% \end{macrocode}
@@ -1962,7 +1963,7 @@
\tl_new:N \l_@@_attr_value_tl
\prop_new:N \g_@@_attr_objref_prop %will contain obj num of used attributes
% \end{macrocode}
-% This seq is currently kept for compability with the table code.
+% This seq is currently kept for compatibility with the table code.
% \begin{macrocode}
\seq_new:N\g_@@_attr_class_used_seq
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
index 6319250523..04b9309597 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-tree-code} {2024-06-20} {0.99c}
{part of tagpdf - code related to writing trees and dictionaries to the pdf}
%</header>
% \end{macrocode}
@@ -275,6 +275,10 @@
{
\l_@@_tmpa_tl
}
+% \end{macrocode}
+% Better put S back, see https://github.com/latex3/tagging-project/issues/86
+% \begin{macrocode}
+ \prop_gput:cnn { g_@@_struct_1_prop } {S}{ /StructTreeRoot }
}
% \end{macrocode}
% \end{macro}
@@ -506,7 +510,7 @@
{
\tl_clear:N \l_@@_tmpa_tl
% \end{macrocode}
-% We process the older sec for compability with the table code.
+% We process the older sec for compatibility with the table code.
% TODO: check if still needed
% \begin{macrocode}
\seq_map_inline:Nn \g_@@_attr_class_used_seq
diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
index 099cd95299..916ff041d0 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-user.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99b, released 2024-04-12}
+% \date{Version 0.99c, released 2024-06-20}
% \maketitle
% \begin{documentation}
% \section{Setup commands}
@@ -309,7 +309,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-user} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-user} {2024-06-20} {0.99c}
{tagpdf - user commands}
%</header>
% \end{macrocode}
@@ -848,7 +848,7 @@
}
% \end{macrocode}
% \end{macro}
-% TEMPORARLY FIX (2023-11-17). Until latex-lab is updated we must adapt a sec command:
+% TEMPORARY FIX (2023-11-17). Until latex-lab is updated we must adapt a sec command:
% \begin{macrocode}
\AddToHook{package/latex-lab-testphase-sec/after}
{
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index 064490c2c4..e58570340e 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -87,7 +87,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -113,7 +113,7 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
% \end{macrocode}
@@ -136,7 +136,7 @@
% we define a base package with dummy functions
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
@@ -171,15 +171,16 @@
% possible, so we define a command which a special in the relevant backends:
% \begin{macrocode}
%<*base>
+\cs_new_protected:Npn \@@_whatsits: {}
\AddToHook{begindocument}
{
\str_case:VnF \c_sys_backend_str
{
- { luatex } { \cs_new_protected:Npn \@@_whatsits: {} }
- { dvisvgm } { \cs_new_protected:Npn \@@_whatsits: {} }
+ { luatex } { \cs_set_protected:Npn \@@_whatsits: {} }
+ { dvisvgm } { \cs_set_protected:Npn \@@_whatsits: {} }
}
{
- \cs_new_protected:Npn \@@_whatsits: {\tex_special:D {} }
+ \cs_set_protected:Npn \@@_whatsits: {\tex_special:D {} }
}
}
%</base>
diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf
index a04ba6fc3c..04d46c2fbf 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf.tex b/macros/latex/contrib/tagpdf/tagpdf.tex
index e023ba6d02..ac1c33fa4a 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.tex
+++ b/macros/latex/contrib/tagpdf/tagpdf.tex
@@ -16,8 +16,8 @@
}
\DebugBlocksOff
\makeatletter
-\def\UlrikeFischer@package@version{0.99b}
-\def\UlrikeFischer@package@date{2024-04-12}
+\def\UlrikeFischer@package@version{0.99c}
+\def\UlrikeFischer@package@date{2024-06-20}
\makeatother
\documentclass[bibliography=totoc,a4paper]{article}
@@ -90,8 +90,7 @@
\maketitle
-\tagstructbegin{tag=Div}
-\begin{tcolorbox}[colframe=red,before upper=\tagpdfparaOn]
+\begin{tcolorbox}[colframe=red]
This package is not meant for direct use in (normal) documents. It started in 2018 as
a support tool to \emph{research} tagging. It is now the base of the code developed
@@ -123,7 +122,6 @@ Issues, comments, suggestions can be added as issues to these two github tracker
\leavevmode\llap{or\qquad\qquad} \url{https://github.com/latex3/tagpdf}
\end{tcolorbox}
-\tagstructend
\tagtool{sec-add-grouping=false}
@@ -351,7 +349,7 @@ mentioned above passing a formal test doesn't mean that the content is really
good and usable. The user commands used for the tagging and also some of the
patches used are still rather crude. So there is lot space for improvement.
-\begin{tcolorbox}[before upper=\tagpdfparaOn]
+\begin{tcolorbox}[]
Be aware that to create the tagged version a current lualatex-dev and a
current version of the pdfmanagment-testphase package is needed.
\end{tcolorbox}
@@ -719,7 +717,7 @@ To tag a \PDF{} three tasks must be carried out:
\begin{figure}[t!]
-\begin{tcolorbox}[before upper=\tagpdfparaOn]
+\begin{tcolorbox}[]
\minisec{Page stream with marked content}
@@ -1271,7 +1269,7 @@ add the needed code.
command that saves the text internally in a box): If the box is used
directly, there is probably no problem. If the use is later, stash
the marked content and add the needed \verb+\tagmcuse+ directly
- before oder after the box when you use it.
+ before or after the box when you use it.
\item Don't use a saved box with markers twice.
@@ -2925,7 +2923,7 @@ command.
\texttt{root-AF}) has been added. This allow e.g. to add a css-file
which is be used if the \PDF\ is converted to html.
-\item First steps have been done to adapt the package to planed changes
+\item First steps have been done to adapt the package to planned changes
in \LaTeX{}: The command \cs{DocumentMetadata} will be added to the
format and will take over the role of \cs{DeclareDocumentMetadata}
from \pkg{pdfmanagement-testphase} and additionally will also load
diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
index 38a5f0196d..936f8adacd 100644
--- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
@@ -1,5 +1,5 @@
%\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2024-04-12} {0.99b}
+\ProvidesExplPackage {tagpdfdocu-patches} {2024-06-20} {0.99c}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox,xpatch}
@@ -33,7 +33,7 @@
\else
\addpenalty\@secpenalty\addvspace{1.5ex}%
\fi
- {\tagpdfsetup{paratag=H10}\parindent \z@
+ {\tagpdfsetup{para/maintag=P,para/tag=Strong}\parindent \z@
\setlength{\parfillskip}{\z@ plus 1fil}%
\raggedright\normalfont\bfseries\nobreak
\nobreak\interlinepenalty \@M #1\par\nobreak%
@@ -92,7 +92,7 @@
% the before upper setting is dangerous as it can be overwritten by
% users. So a more stable hook is needed.
% we force also a \par and add a div structure, to avoid clashes with the block
-% tagging code. This needs revisting!
+% tagging code. This needs revisiting!
\AddToHook{env/tcolorbox/before}{\par\tagstructbegin{tag=Div}}
\AddToHook{env/tcolorbox/begin}{\tagpdfparaOff \tcbset{before upper=\tagpdfparaOn}}
@@ -177,20 +177,6 @@
{bbox}{/O /Layout /BBox [0 0 100 100]}
}
-% ======= maketitle
-
-\renewcommand\maketitle{%
- \tagstructbegin{tag=Title}
- \begin{center}%
- \let\thanks\footnote
- \makeatletter
- \huge \@title \par
- \vskip .5em
- \@author \par
- \vskip 1em%
- \@date \par
- \end{center}%
- \tagstructend}
\endinput
diff --git a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
index 2484a42020..04f8b88aec 100644
--- a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
+++ b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
@@ -1,5 +1,5 @@
%% Overview over tagpdfsetup keys
-%% The keys are split in a number of key pathes.
+%% The keys are split in a number of key paths.
\tagpdfsetup{table/header-rows=1}
\begin{tabular}{lllll}
\toprule
diff --git a/macros/latex/contrib/tblr-extras/README.md b/macros/latex/contrib/tblr-extras/README.md
index 373fedb6a1..5b74c5b48f 100644
--- a/macros/latex/contrib/tblr-extras/README.md
+++ b/macros/latex/contrib/tblr-extras/README.md
@@ -14,5 +14,5 @@ Use caption package to typeset tabularray tall and long tabulars captions.
Enable this library with `\UseTblrLibrary{caption}`
## Babel Library
Translate `contfoot` and `conthead` to current `babel`/`polyglossia` language.
-Currently only supports ngerman, french, spanish, russian and ukrainian translations.
+Languages: spanish, catalan, galician, portuguese, italian, french, german, dutch, danish, esperanto, afrikaans, romanian, ukrainian and russian.
Enable this library with `\UseTblrLibrary{babel}`
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
index 9262427895..3c02dd31ef 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
+++ b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.pdf
Binary files differ
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
index 308c0e232a..833984fc8d 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
+++ b/macros/latex/contrib/tblr-extras/tblr-extras-doc-EN.tex
@@ -1,6 +1,6 @@
% -----------------------------------------------------------------------
%%% tblr-extras-doc: Documentation for tblr-extras package.
-%%% Version : 1.1 - 2024-05-13
+%%% Version : 1.3 - 2024-06-25
%%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com>
%%% License : The LaTeX Project Public License 1.3c
% -----------------------------------------------------------------------
@@ -17,7 +17,7 @@
%
% The Current Maintainer of this work is Manuel E. Merino
% -----------------------------------------------------------------------
-\documentclass[a4paper,12pt]{article}
+\documentclass[a4paper,11pt]{article}
\usepackage{fontspec}
\setmainfont{montserrat}
\setsansfont{montserrat}
@@ -31,7 +31,7 @@
\usepackage{parskip}
\usepackage[hidelinks]{hyperref}
-\newcommand{\Version}{1.1}
+\newcommand{\Version}{1.3}
\NewDocumentCommand{\tblrextras}{}{\textbf{\color{udep}tblr-extras}}
@@ -40,7 +40,7 @@
\centering
\LARGE\textbf{Package \color{udep}tblr-extras}\par
\large Manuel E. Merino\par
- \texttt{v\Version{} - 13/06/2024}\par
+ \texttt{v\Version{} - 25/06/2024}\par
\normalsize Extra libraries for tabularray package.\par
\endgroup
\tableofcontents
@@ -55,32 +55,60 @@
To install the \tblrextras{} package download and unzip the \texttt{tblr-extras.sty} file and place it in a folder accessible to \LaTeX{} (this can be the current working folder or a subfolder in the TEXMF directory).
- To use the \tblrextras{} package add the following command to the preamble of your document: \verb|\usepackage{tblr-extras}|
+ To use the \tblrextras{} package, add the following command to the preamble of your document: \verb|\usepackage{tblr-extras}|
\section{Available libraries}
\subsection{caption library}
- The \tblrextras{} package changes the way \texttt{tabularray} typesets the captions of \texttt{talltblr} and \texttt{longtblr} environments, using the settings defined by the \texttt{caption} package.
+ This \tblrextras{} library changes the way \texttt{tabularray} typesets the captions of \texttt{talltblr} and \texttt{longtblr} environments, using the settings defined by the \texttt{caption} package.
To enable this library, use \verb*|\UseTblrLibrary{caption}| after loading \tblrextras{} and \texttt{tabularray} packages.
- \subsection{babel library}
-
- The \tblrextras{} package redefines the \texttt{conthead-text} and \textbf{contfoot-text} for the \texttt{longtblr} environment, using the current babel language.
+ Since version 1.2, there is partial support for typesetting captions below tables. To enable this feature use the command \verb|\TblrCaptionBelow| to enable this feature. If you want to revert to captions above the table, use the command \verb|\TblrCaptionAbove|. Be aware that \texttt{longtblr} environments will position the caption hyperlink anchor in the lastfoot and the table will be listed in the List of Tables as if it was located in the last page occupied by the \texttt{longtblr}. environment.
- Currently only spanish, ngerman, russian, ukrainian and french variants are supported.
+ \subsection{babel library}
+ Load this library using \verb|\UseTblrLibrary{babel}|
+
+ The \tblrextras{} package redefines the \texttt{conthead-text} and \texttt{contfoot-text} for the \texttt{longtblr} environment, using the current babel language if this library is enabled.
+
+ Currently supported languages are:
+
+ \begin{itemize}
+ \item spanish
+ \item french
+ \item italian
+ \item portuguese
+ \item german (ngerman)
+ \item esperanto (only unicode engines)
+ \item romanian
+ \item dutch
+ \item danish (only unicode engines)
+ \item russian (pdflatex and unicode engines)
+ \item ukrainian (pdflatex and unicode engines)
+ \item galician
+ \item catalan
+ \item afrikaans
+ \end{itemize}
\section{Bug reports and suggestions}
- For bug reports and suggestions, please use GitHub or send an email to manuel.merino.pe@gmail.com.
+ For bug reports, suggestions amd support, please use GitHub or send an email to manuel.merino.pe@gmail.com.
\section{License}
The \tblrextras{} package and all its included files are licensed under the LPPL v1.3c or later.
\section{Changelog}
+ v1.3 - Fixed a bug with longtblr captions (thanks Zarko). Added afrikaans, catalan, danish, dutch, galician, esperanto, romanian translations.
+
+ v1.2 - Added new languages and an extension to caption library
+ \begin{itemize}
+ \item Improved the caption library to support \texttt{label=empty} and \texttt{entry=none}.
+ \item Added partial support for captions below the table using \verb|\TblrCaptionBelow| and to reverse the changes with \verb|\TblrCaptionAbove|.
+ \item Added support for portuguese and italian languages in the babel library.
+ \end{itemize}
- v1.1 - Thanks sgolovan.
+ v1.1 - This version uses code contributions by GitHub user \textbf{sgolovan}. Thanks for your contribution.
\begin{itemize}
\item Improved the babel library using language hooks.
\item Added support for polyglossia package.
diff --git a/macros/latex/contrib/tblr-extras/tblr-extras.sty b/macros/latex/contrib/tblr-extras/tblr-extras.sty
index a6742f4a10..bbc181a00e 100644
--- a/macros/latex/contrib/tblr-extras/tblr-extras.sty
+++ b/macros/latex/contrib/tblr-extras/tblr-extras.sty
@@ -1,6 +1,6 @@
% -----------------------------------------------------------------------
%%% tblr-extras: Extra libraries for tabularray package.
-%%% Version : 1.1 - 2024-05-13
+%%% Version : 1.3 - 2024-06-25
%%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com>
%%% License : The LaTeX Project Public License 1.3c
% -----------------------------------------------------------------------
@@ -18,16 +18,19 @@
% The Current Maintainer of this work is Manuel E. Merino
% -----------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-\ProvidesPackage{tblr-extras}[2024/05/13 package tblr-extras]
+\ProvidesPackage{tblr-extras}[2024/06/25 package tblr-extras]
\RequirePackage{tabularray}
%% ----------------------------------------------------------------------
%% TblrLibrary caption - Use caption package to typeset tabularray tall
%% and long tabulars captions.
-%% Empty token list checker wrapper
+%% This stuff needs to be ported to expl3 soon.
\ExplSyntaxOn
\prg_generate_conditional_variant:Nnn \tl_if_empty:n { e } { TF }
\let \IfTokenListEmpty = \tl_if_empty:eTF
-\ExplSyntaxOff
+\let \IfBoolFalse = \bool_if:NF
+\let \IfBoolTF = \bool_if:NTF
+\bool_new:N \l__tblrextras_table_title_below_bool
+\bool_set_false:N \l__tblrextras_table_title_below_bool
\NewTblrLibrary{caption}
{%
\RequirePackage{caption}
@@ -35,27 +38,142 @@
\@ifundefined{KOMAClassName}
{}
{\PackageWarningNoLine{tblr-extras}{KOMAScript class detected. Setup caption position using 'captions=option'}}
+ %%% Presetup
+ \NewDocumentCommand{\TblrCaptionBelow}{}{\bool_set_true:N \l__tblrextras_table_title_below_bool}
+ \NewDocumentCommand{\TblrCaptionAbove}{}{\bool_set_false:N \l__tblrextras_table_title_below_bool}
\SetTblrOuter[talltblr,longtblr]{headsep=0pt}
- \DefTblrTemplate{firsthead}{default}{%
- \addtocounter{table}{-1}%
- \IfTokenListEmpty{\InsertTblrText{entry}}{%
- \captionsetup{type=table}
- \caption{\InsertTblrText{caption}}%
- }{%
- \captionsetup{type=table}
- \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}%
- }%
- }
- \DefTblrTemplate{middlehead,lasthead}{default}{%
- \addtocounter{table}{-1}%
- \captionsetup{type=table}%
- \caption[]{\InsertTblrText{caption} \UseTblrTemplate{conthead-text}{default}}%
- }
+ %%%%%%%%%% TEMPLATES
+ \DefTblrTemplate{firsthead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \IfTokenListEmpty{\InsertTblrText{entry}}{
+ \caption{\InsertTblrText{caption}}
+ }{
+ \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}
+ }
+ }
+ }
+ } % END FIRSTHEAD
+ \DefTblrTemplate{middlehead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}}
+ }
+ }
+ }% END MIDDLEHEAD
+ \DefTblrTemplate{lasthead}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ { \UseTblrTemplate{conthead}{default} \vspace{4pt} }
+ % Cap Above (default)
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}}
+ }
+ }
+ }% END LASTHEAD
+ \DefTblrTemplate{firstfoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{contfoot}{default} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}}
+ \UseTblrTemplate{contfoot}{default}
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{contfoot}{default}
+ }
+ }
+ }% END FIRSTFOOT
+ \DefTblrTemplate{middlefoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ { \UseTblrTemplate{contfoot}{default} }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \addtocounter{table}{-1}
+ \captionsetup{type=table}
+ \caption[]{\InsertTblrText{caption}}
+ \UseTblrTemplate{contfoot}{default}
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{contfoot}{default}
+ }
+ }
+ }% END MIDDLEFOOT
+ \DefTblrTemplate{lastfoot}{default}{
+ \IfBoolTF \l__tblr_table_no_label_bool
+ % True NoLabel
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ }
+ % False NoLabel
+ {
+ \IfBoolTF \l__tblrextras_table_title_below_bool
+ % Cap Below
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ \addtocounter{table}{-1}
+ \captionsetup{type=table} \IfTokenListEmpty{\InsertTblrText{entry}}{
+ \caption{\InsertTblrText{caption}}
+ }{
+ \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}
+ }
+ }
+ % Cap Above (default)
+ {
+ \UseTblrTemplate{note}{default}
+ \UseTblrTemplate{remark}{default}
+ }
+ }
+ }% END LASTFOOT
\SetTblrTemplate{caption-lot}{empty}
}
+\ExplSyntaxOff
%% ----------------------------------------------------------------------
%% TblrLibrary babel - Translate contfoot and conthead to current babel/polyglossia
-%% language. Supports: ngerman, french, spanish, russian and ukrainian translations.
+%% language.
+% Supports: ngerman, french, spanish, russian, romanian, galician, esperanto, danish, catalan, danish, afrikaans, italian, portuguese and ukrainian translations.
+%%%%%
%% Check engine
\newif\if@unicode@engine
\ifdefined\luatexversion
@@ -71,53 +189,101 @@
\RequirePackage{babel}
}
}
+ \ifdefined\captionsromanian
+ \addto\captionsromanian{%
+ \renewcommand{\tblrcontfootname}{Continuare pe pagina următoare}%
+ \renewcommand{\tblrcontheadname}{(Continuare)}%
+ }
+ \fi
+ \ifdefined\captionsgalician
+ \addto\captionsgalician{%
+ \renewcommand{\tblrcontfootname}{Continuación na seguinte páxina}%
+ \renewcommand{\tblrcontheadname}{(Continuación)}%
+ }
+ \fi
+ \ifdefined\captionsesperanto
+ \addto\captionsesperanto{%
+ \renewcommand{\tblrcontfootname}{Daŭrigo sur la sekva paĝo}%
+ \renewcommand{\tblrcontheadname}{(Daŭrigo)}%
+ }
+ \fi
+ \ifdefined\captionsdanish
+ \addto\captionsdanish{%
+ \renewcommand{\tblrcontfootname}{Fortsættelse på næste side}%
+ \renewcommand{\tblrcontheadname}{(Fortsættelse)}%
+ }
+ \fi
+ \ifdefined\captionscatalan
+ \addto\captionscatalan{%
+ \renewcommand{\tblrcontfootname}{Continuació a la pàgina següent}%
+ \renewcommand{\tblrcontheadname}{(Continuació)}%
+ }
+ \fi
+ \ifdefined\captionsdutch
+ \addto\captionsdutch{%
+ \renewcommand{\tblrcontfootname}{Vervolg op de volgende pagina}%
+ \renewcommand{\tblrcontheadname}{(Vervolg)}%
+ }
+ \fi
+ \ifdefined\captionsafrikaans
+ \addto\captionsafrikaans{%
+ \renewcommand{\tblrcontfootname}{Vervolg op die volgende bladsy}%
+ \renewcommand{\tblrcontheadname}{(Vervolg)}%
+ }
+ \fi
+ \ifdefined\captionsitalian
+ \addto\captionsitalian{%
+ \renewcommand{\tblrcontfootname}{Continua alla pagina successiva}%
+ \renewcommand{\tblrcontheadname}{(Continuazione)}%
+ }
+ \fi
+ \ifdefined\captionsportuguese
+ \addto\captionsportuguese{%
+ \renewcommand{\tblrcontfootname}{Continua na próxima página}%
+ \renewcommand{\tblrcontheadname}{(Continuação)}%
+ }
+ \fi
\ifdefined\captionsspanish
\addto\captionsspanish{%
- \DefTblrTemplate{contfoot-text}{default}{Continúa en la página siguiente}%
- \DefTblrTemplate{conthead-text}{default}{(Continuación)}%
+ \renewcommand{\tblrcontfootname}{Continúa en la siguiente página}%
+ \renewcommand{\tblrcontheadname}{(Continuación)}%
}
\fi
\ifdefined\captionsngerman
\addto\captionsngerman{%
- \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
- \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
- }
- \fi
- \ifdefined\captionsgerman
- \addto\captionsgerman{%
- \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}%
- \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}%
+ \renewcommand{\tblrcontfootname}{Fortsetzung auf der nächsten Seite}%
+ \renewcommand{\tblrcontheadname}{(Fortsetzung)}%
}
\fi
\ifdefined\captionsfrench
\addto\captionsfrench{%
- \DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante}%
- \DefTblrTemplate{conthead-text}{default}{(Suite)}%
+ \renewcommand{\tblrcontfootname}{Suite à la page suivante}%
+ \renewcommand{\tblrcontheadname}{(Suite)}%
}
\fi
\ifdefined\captionsrussian
\if@unicode@engine
\addto\captionsrussian{%
- \DefTblrTemplate{contfoot-text}{default}{Продолжение на следующей странице}%
- \DefTblrTemplate{conthead-text}{default}{(продолжение)}%
+ \renewcommand{\tblrcontfootname}{Продолжение на следующей странице}%
+ \renewcommand{\tblrcontheadname}{(продолжение)}%
}
\else
\addto\captionsrussian{%
- \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}%
- \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}%
+ \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}%
+ \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}%
}
\fi
\fi
\ifdefined\captionsukrainian
\if@unicode@engine
\addto\captionsukrainian{%
- \DefTblrTemplate{contfoot-text}{default}{Продовження на наступній сторінці}%
- \DefTblrTemplate{conthead-text}{default}{(продовження)}%
+ \renewcommand{\tblrcontfootname}{Продовження на наступній сторінці}%
+ \renewcommand{\tblrcontheadname}{(продовження)}%
}
\else
\addto\captionsukrainian{%
- \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
- \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}%
+ \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}%
+ \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}%
}
\fi
\fi
diff --git a/macros/latex/contrib/tblr-extras/test-tblr-extras.pdf b/macros/latex/contrib/tblr-extras/test-tblr-extras.pdf
new file mode 100644
index 0000000000..db0bff113c
--- /dev/null
+++ b/macros/latex/contrib/tblr-extras/test-tblr-extras.pdf
Binary files differ
diff --git a/macros/latex/contrib/tblr-extras/test-tblr-extras.tex b/macros/latex/contrib/tblr-extras/test-tblr-extras.tex
new file mode 100644
index 0000000000..69cc27a9e4
--- /dev/null
+++ b/macros/latex/contrib/tblr-extras/test-tblr-extras.tex
@@ -0,0 +1,24 @@
+\documentclass{article}
+\usepackage[margin=55mm]{geometry}
+\usepackage[esperanto]{babel}
+\usepackage[font = {small, sf}, labelfont = bf,
+singlelinecheck = off]{caption}
+\usepackage{tabularray}
+\usepackage{tblr-extras}
+\UseTblrLibrary{booktabs, caption, babel}
+
+\usepackage{lipsum}
+
+\begin{document}
+ \begin{longtblr}[
+ caption = {My Table Title},
+ label = {tab:test},
+ ]{colspec = {@{} X[j] @{}}}
+ \toprule
+ \lipsum[1] \\
+ \midrule
+ \lipsum[1] \\
+ \lipsum[1] \\
+ \bottomrule
+ \end{longtblr}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/tcolorbox/CHANGES.md b/macros/latex/contrib/tcolorbox/CHANGES.md
index 5aaa4f6f21..a0287ad4b2 100644
--- a/macros/latex/contrib/tcolorbox/CHANGES.md
+++ b/macros/latex/contrib/tcolorbox/CHANGES.md
@@ -22,7 +22,45 @@ and this project adheres to
-## [6.2.0]
+## [6.3.0] - 2024-07-10
+
+### Added
+- Library `documentation`:
+ - Option `page ref formatter` (issue #273)
+- First experimental partial tagging support: suppress tagging of drawing (issue #283)
+ This works for lualatex only.
+
+### Changed
+- The base package loads `tikz` now instead of `pgf`.
+ All skins, including the `standard` family, use `tikzpicture` as internal environment now.
+- Boolean marker to detect if inside a `tcb@savebox` introduced (issue #262)
+- LaTeX usrguide cited for `\NewDocumentCommand` and friends (issue #263)
+- Stricter checks on box names in `\newtcbox` and friends (issue #264)
+- Checks on formatter like `index key formatter` enforced (issue #265)
+- Needed LaTeX version updated to 2023-11-01
+- More meaningful error message in case of `\DeclareTColorBox` with same auto counter (issue #276)
+- Library `theorems`:
+ - Options `ams align`, `ams align*`, `ams gather`, and `ams gather*` are now shortcuts
+ for the upper part only (issue #282)
+ - Documentation for `ams align`, `ams align*`, `ams gather`, and `ams gather*` adapted, i.e.
+ exclusion of lower parts documented (issue #282)
+- Technical information: The package documentation is now produced with lualatex instead of pdflatex
+
+### Deprecated
+- The option `graphical environment` is useless now, since all environments are based on `tikzpicture` now.
+
+### Removed
+- Documentation for the deprecated options `before example` and `after example`
+- Documentation for the deprecated option `graphical environment`
+
+### Fixed
+- `\@nobreakfalse` added to `\tcb@parbox@false@settings` to avoid
+ decreased space before list with `parbox=false` following a section heading (issue #270)
+- Documentation typos fixed (issue #279)
+
+
+
+## [6.2.0] - 2024-01-10
### Added
- New convenience options for box content additions (issue #250)
diff --git a/macros/latex/contrib/tcolorbox/README.md b/macros/latex/contrib/tcolorbox/README.md
index 27f6edf11d..e90e2bec18 100644
--- a/macros/latex/contrib/tcolorbox/README.md
+++ b/macros/latex/contrib/tcolorbox/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+# The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
> Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
index 90ece8e5a5..cade134ab2 100644
--- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
@@ -82,6 +82,7 @@
\reserved@a%
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\tcb@@break%
\iftcb@usecolorstack%
\pdfcolSwitchStack{tcb@breakable}%
@@ -551,7 +552,7 @@
\let\tcb@before@middle=\@empty%
\let\tcb@before@last=\@empty%
\iftcb@multicol%
- \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algortihm sometimes
+ \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algorithm sometimes
\long\def\tcb@after@middle{\par\vfill}%
\else%
\long\def\tcb@after@first{\par\pagebreak\tcb@enlbreak@next}%
@@ -827,7 +828,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -842,7 +843,7 @@
\tcb@tdraw@upper%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -857,7 +858,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -868,7 +869,7 @@
\tcb@tdraw@title%
\tcb@tdraw@upper%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -883,7 +884,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -897,7 +898,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -912,7 +913,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -923,7 +924,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
index 3eff9746f8..a550de9fff 100644
--- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings,skins,external,raster}
@@ -199,10 +199,6 @@
keywords bold/true/.code={\let\tcb@doc@bfseries\bfseries},
keywords bold/false/.code={\let\tcb@doc@bfseries\mdseries},
doc key prefix/.store in=\kvtcb@doc@keyprefix,
- index key formatter/.code={\let\kvtcb@doc@format@key=#1},
- index keys formatter/.code={\let\kvtcb@doc@format@keys=#1},
- index key formatter/.default=\@firstofone,
- index keys formatter/.default=\@firstofone,
}
@@ -337,6 +333,43 @@
\ExplSyntaxOn
+\tcbset{
+ index~key~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@key
+ },
+ index~key~formatter / .default = \use:n,
+ index~keys~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@keys
+ },
+ index~keys~formatter / .default = \use:n,
+ page~ref~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@page
+ },
+ page~ref~formatter / .default = \use:n,
+}
+
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
\cs_new_nopar:Npn \__tcobox_new_bool_key:Nn #1 #2
{
@@ -879,7 +912,7 @@
\IfBooleanTF{#2}{}{%
\ifnum\getpagerefnumber{#1:#3}=\thepage\relax%
\else%
- \textsuperscript{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
+ \kvtcb@doc@format@page{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
\,\kvtcb@text@pageshort\,\pageref*{#1:#3}}%
\fi}}%
}
@@ -1027,6 +1060,7 @@
doc key prefix={/},
index key formatter,
index keys formatter,
+ page ref formatter=\textsuperscript,
}
% deprecated
diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
index 0bfa994f68..060f1bb9a0 100644
--- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
@@ -111,14 +111,14 @@
\def\tcbexternal@pdfmissing@warning{%
\tcb@warning{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}%
\message{Load '\tcbexternal@job@source' instead}%
\tcbexternal@inputsource%
}
\def\tcbexternal@pdfmissing@error{%
\tcb@error{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}{}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}{}%
}
\def\tcbexternal@inputpdf{%
diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
index 0e34e15ad5..e133063705 100644
--- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
index b3edf95636..6a60587177 100644
--- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
index 195076eee1..9a869f870f 100644
--- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{listings}[2007/02/22]
diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
index 48241a94d5..f3ffb31b90 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
index 0c9b2b7e8c..0fb3fd8d22 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings}
diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
index 81180a8eb8..49059a0863 100644
--- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
index cae9e8d707..d21bc11036 100644
--- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{minted}[2021/12/24]
diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
index 49abfc651a..3fcec6b22c 100644
--- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
index ce0ae43075..a5bdabc874 100644
--- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
index 3551030092..e3645497e9 100644
--- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
index 3fbad78584..5e3faed9dd 100644
--- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,15 +17,10 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
-\RequirePackage{tikz}[2010/10/13]
\RequirePackage{tikzfill.image}
-\newenvironment{tikzpicture@tcb@hooked}{%
- \edef\tcb@tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb@tikz@option@hook]}%
- \tcb@tikzpicture@begin\tcb@tikz@begin@hook}{\tcb@tikz@end@hook\endtikzpicture}
-
\def\tcb@creategeonodes@true{%
\begin{scope}[every node/.style={line width=0mm,inner sep=0mm,outer sep=0mm,draw=none,fill=none,rectangle}]
\node[name=frame,at={(0,0)},above right,minimum width=\tcb@width,minimum height=\tcb@height]{};
@@ -438,7 +433,7 @@
\tcbset{%
base@unbroken/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -446,7 +441,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@first/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathfirst,%
shape@of@skin=first,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -454,7 +449,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@middle/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathmiddle,%
shape@of@skin=middle,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -462,7 +457,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@last/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathlast,%
shape@of@skin=last,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -885,7 +880,7 @@
segmentation code={\tcb@drawspec@widgetsegment},%
skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast}
-\tcb@new@skin{spartan}{graphical environment=tikzpicture@tcb@hooked,geometry nodes=true,shape@of@skin=unbroken,%
+\tcb@new@skin{spartan}{geometry nodes=true,shape@of@skin=unbroken,%
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@underlay},set@extensions@final=,%
frame engine=spartan,interior titled engine=spartan,interior engine=spartan,title engine=spartan,segmentation engine=spartan,%
set@outerboundary=\tcb@boundaryframe@standard,%
@@ -893,7 +888,7 @@
\tcbset{spartan/.style={skin=spartan}}
-\tcb@new@skin{draft}{clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,shape@of@skin=unbroken,%
+\tcb@new@skin{draft}{clear@spec,geometry nodes,shape@of@skin=unbroken,%
frame engine=empty,interior titled engine=empty,interior engine=empty,segmentation engine=path,title empty,%
segmentation style={draw=black,dashed},
set@extensions@postframe=,
diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
index 551971a0df..6a54fca567 100644
--- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
index f53eda79a5..cfbc1ba796 100644
--- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{amsmath}
@@ -138,7 +138,7 @@
% insert box with name and number
\mode_leave_vertical:
\box_use_drop:N \l__tcobox_tmpa_box
- % insert formated title
+ % insert formatted title
\group_begin:
\__tcobox_theo_format_description:n{#3}
\group_end:
@@ -260,11 +260,31 @@
description~font/.default =,
description~formatter/.code =
{
- \cs_set_eq:NN \__tcobox_theo_format_description:n #1
+ \__tcobox_store_formatter_in:nN {#1} \__tcobox_theo_format_description:n
},
description~formatter/.default = \__tcobox_theo_format_description_standard:n,
}
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
+
\ExplSyntaxOff
@@ -298,16 +318,16 @@
ams equation*/.style={ams equation* upper,ams equation* lower},%
ams align upper/.style={before upper*=\tcb@hack@amsmath\align,after upper*=\endalign},%
ams align lower/.style={before lower*=\tcb@hack@amsmath\align,after lower*=\endalign},%
- ams align/.style={ams align upper,ams align lower},%
+ ams align/.style={ams align upper},%
ams align* upper/.style={before upper*=\tcb@hack@amsmath\csname align*\endcsname,after upper*=\endalign},%
ams align* lower/.style={before lower*=\tcb@hack@amsmath\csname align*\endcsname,after lower*=\endalign},%
- ams align*/.style={ams align* upper,ams align* lower},%
+ ams align*/.style={ams align* upper},%
ams gather upper/.style={before upper*=\tcb@hack@amsmath\gather,after upper*=\endgather},%
ams gather lower/.style={before lower*=\tcb@hack@amsmath\gather,after lower*=\endgather},%
- ams gather/.style={ams gather upper,ams gather lower},%
+ ams gather/.style={ams gather upper},%
ams gather* upper/.style={before upper*=\tcb@hack@amsmath\csname gather*\endcsname,after upper*=\endgather},%
ams gather* lower/.style={before lower*=\tcb@hack@amsmath\csname gather*\endcsname,after lower*=\endgather},%
- ams gather*/.style={ams gather* upper,ams gather* lower},%
+ ams gather*/.style={ams gather* upper},%
ams nodisplayskip upper/.style={before upper=\vskip-\abovedisplayskip},%
ams nodisplayskip lower/.style={before lower=\vskip-\abovedisplayskip},%
ams nodisplayskip/.style={ams nodisplayskip upper,ams nodisplayskip lower},%
diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
index e177bb33d4..51a4c9d6d0 100644
--- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
index cf60ef0731..5223be23ea 100644
--- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,6 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{xparse}[2013/12/31]
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
index e39ddaa037..1e380d5559 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
index ffa291103b..cb8586e6ec 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
index 809b35a2ca..2d332523c2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
index 1adaa24d7e..6f878d2f1d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
index eb23961967..f81aee0783 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
index ae550c5c6d..7c6c769d1d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib b/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
index be1c60b666..e38e91c3d4 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
@@ -209,3 +209,9 @@
}
+@manual{latexproject:usrguide,
+ author = {The \LaTeX{} Project Team},
+ title = {{\LaTeX} for authors --- current version},
+ url = {https://mirrors.ctan.org/macros/latex/base/usrguide.pdf},
+ date = {2023-05-23},
+}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
index a86994c7e2..00dc2198b2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
@@ -252,7 +252,7 @@ The |break at| option can be used to insert better break points by hand.
The example code enlarged the second partial box by one line, the third
partial box by two lines, and all following parts are not enlarged.
\begin{marker}
- If an automated page break occures before the first partial box, the
+ If an automated page break occurs before the first partial box, the
page enlargement is applied to the page before the first partial box \emph{and}
again to the page of the first partial box. Insert a manual break to prevent this.\\
In general, |enlargepage| should be used at the final stage of a document
@@ -513,7 +513,7 @@ and \refKey{/tcb/enlarge bottom at break by}.
\item the segmentation line (or similar) is drawn as first element of the
partial box containing the \emph{lower part}, if \refKey{/tcb/segmentation at break}
is set to be |true|.
- \item the segmenation line (or similar) is not drawn at all, if
+ \item the segmentation line (or similar) is not drawn at all, if
\refKey{/tcb/segmentation at break} is set to be |false|.
This may be preferable for skins like \refSkin{bicolor}, \refSkin{tile},
or \refSkin{beamer}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
index 0847f09775..c41134a6c8 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -214,7 +214,8 @@ numbered title and options.
\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
Basically, \refCom{NewTColorBox} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if an environment with \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -275,7 +276,8 @@ This is a tcolorbox.
Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
In contrast to \refCom{NewTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
Basically, \refCom{NewTotalTColorBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
the specified \meta{content}.\\
@@ -387,7 +389,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
Basically, \refCom{NewTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -437,7 +440,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
In contrast to \refCom{NewTCBox}, also the \meta{content} of the |tcbox| is specified.\\
Basically, \refCom{NewTotalTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
the specified \meta{content}.\\
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
index e20936d76b..62f3fa3c01 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -3104,11 +3104,11 @@ inside the document preamble.
\begin{docTcbKey}[][doc new={2020-09-25}]{before skip balanced}{=\meta{glue}}{no default, initially |0.5\textbackslash baselineskip plus 2pt|}
Inserts some vertical space before the colored box. This style sets \refKey{/tcb/before}.\par
If the depth of the
- preceeding \TeX\ box is between |0pt| and |0.3\baselineskip|,
- the distance between the \emph{baseline} of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}$+$|0.3\baselineskip|.\par
- If the depth is larger, the distance of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}.\par
+ preceding \TeX\ box is between |0pt| and |0.3\baselineskip|,
+ the distance between the \emph{baseline} of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}$+$|0.3\baselineskip|.\par
+ If the depth is larger, the distance of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}.\par
Alternatively, see \refKey{/tcb/before skip} which ignores the \emph{baseline}.
\begin{exdispExample*}{before_skip_balanced}{sbs,lefthand ratio=0.6}
@@ -3174,7 +3174,7 @@ line 4 g
Inserts some vertical space of the given \meta{glue} before the colored box.
This style sets \refKey{/tcb/before}.
In contrast to \refKey{/tcb/before skip balanced}, this \meta{glue} is
- relative to the lower edge of the preceeding box and not to the baseline.
+ relative to the lower edge of the preceding box and not to the baseline.
\begin{exdispExample*}{before_skip}{sbs,lefthand ratio=0.6}
Some text.
\begin{tcolorbox}[before skip=1cm,
@@ -4363,7 +4363,8 @@ from page \pageref{sec:numberedboxes}, e.\,g.\ \refKey{/tcb/new/auto counter}.
\begin{docTcbKey}[][doc new=2014-11-28]{phantomlabel}{=\meta{marker}}{no default, initially unset}
Equivalent to \refKey{/tcb/label} for an \emph{unnumbered} box.
A |\phantomsection| from the package |hyperref| \cite{rahtz:hyperref} is used to set a correct
-hyperlink target. This is not needed for a numbered box.
+hyperlink target.
+This is not needed and should typically not be used for a numbered box.
\end{docTcbKey}
\clearpage
@@ -4691,8 +4692,7 @@ It is precise only, if \refKey{/tcb/check odd page} was set.
See \Fullref{sec:external} for the \mylib{external} library of |tcolorbox|.
\end{marker}
-If the \emph{externalization} library of the \texttt{tikz} package is used
-and \refKey{/tcb/graphical environment} is set to |tikzpicture|,
+If the \emph{externalization} library of the \texttt{tikz} package is used,
a |tcolorbox| could trigger the externalization process which will arise
a compilation error.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
index 9934cd5c86..45282f3c46 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
@@ -953,7 +953,7 @@ hand side if too long. Linebreaks can be used inside the \meta{text}.
\begin{dispListing}
\begin{docCommands}[
doc name = l_tcobox_example_tl,
- doc sort index = example_tl, % sorted unter e like example
+ doc sort index = example_tl, % sorted under e like example
]{}
\end{docCommands}
\end{dispListing}
@@ -1354,29 +1354,6 @@ keys to insert code before (or after) the description texts.
\end{docTcbKey}
-\begin{marker}
-The following two keys are deprecated and without function (v3.50 and above).
-Use \refKey{/tcb/before} and \refKey{/tcb/after} with appropriate values
-instead. Also see \refKey{/tcb/docexample}.
-\end{marker}
-
-\begin{docTcbKey}[][doc updated=2015-03-16]{before example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed before \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/before}.
-\end{deprecated}
-\end{docTcbKey}
-
-\enlargethispage*{1cm}
-
-\begin{docTcbKey}{after example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed after \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/after}.
-\end{deprecated}
-\end{docTcbKey}
-
-\clearpage
\begin{docTcbKey}[][doc new=2017-04-25]{keywords bold}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
Keyword used in \refEnv{docEnvironment}, \refEnv{docCommand}, etc. are printed
boldface (or not). Since the typewriter font is used, the effect may be
@@ -1391,6 +1368,24 @@ instead. Also see \refKey{/tcb/docexample}.
\end{dispExample*}
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKeys}
+ {
+ {
+ doc name = page ref formatter,
+ doc new = {2024-03-13},
+ doc parameter = \colOpt{=\meta{macro}},
+ doc description = {no default, initially \texttt{\textbackslash textsuperscript}},
+ }
+ }
+Sets \meta{macro} as formatter for page references like the
+reference to \refEnv{tcolorbox}.
+The default setting puts the page reference in a |\textsuperscript|.
+It may be changed to |\fakesuperscript| to cope with superiors problems
+in combination with the |realscripts| package or just otherwise for user customization.
+\end{docTcbKeys}
+
\begin{docTcbKey}[][doc new=2015-01-09]{index command}{=\meta{macro}}{no default, initially \cs{index}}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
index b7a10c2331..62c982c2d3 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
@@ -74,7 +74,7 @@ executed.
\documentclass[a4paper]{book}% for example
\usepackage{...}% anything
% ...
-% Tpyically, all or the very most settings for the document.
+% Typically, all or the very most settings for the document.
\tcbEXTERNALIZE% Typically, just before \begin{document}
@@ -500,7 +500,7 @@ in this case.
\clearpage
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
@@ -532,7 +532,7 @@ a & This table is externalized as snippet. Obviously,
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
index 9f1f4627ca..909f7f4ac0 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
@@ -63,7 +63,7 @@ To be more specific, they determine the east-to-west and the north-to-south dime
which may be not the maximal dimensions for a non-rectangular node.
Note that the following dimensions are measured exactly including the line width
of the border line. If a new rectangle or node with the same dimensions
-and a border is to be drawn, this border width has to be substracted.
+and a border is to be drawn, this border width has to be subtracted.
\begin{docCommand}[doc new=2014-09-19]{tcbsettowidthofnode}{\marg{register}\marg{node}}
Sets the east-to-west dimension of the given \meta{node}
@@ -88,7 +88,7 @@ and a border is to be drawn, this border width has to be substracted.
\node[align=center,draw=red,fill=yellow] (A) {This is my\\example node};
\tcbsetmacrotowidthofnode\mywidth{A}
\tcbsetmacrotoheightofnode\myheight{A}
- \path[fill=blue!25!white] % rectangle widthout border
+ \path[fill=blue!25!white] % rectangle without border
([xshift=2mm]A.south east)
rectangle node{Copy} +(\mywidth,\myheight);
\node[draw=blue,fill=blue!25!white, % standard border width 0.4pt
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
index 14f9e7b577..a541659c37 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
@@ -145,7 +145,8 @@ The library is loaded by a package option or inside the preamble by:
\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
Basically, \refCom{NewTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -192,7 +193,8 @@ The library is loaded by a package option or inside the preamble by:
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
In contrast to \refCom{NewTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
Basically, \refCom{NewTotalTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
the specified \meta{content}.\\
@@ -620,7 +622,7 @@ if necessary.
\begin{docTcbKey}{fit maxstep}{=\meta{number}}{no default, initially |20|}
Sets the maximal step size for the font size adjustment algorithm.
- In normal situations, the algorithm stops before reaching the intial value of 20 steps.
+ In normal situations, the algorithm stops before reaching the initial value of 20 steps.
If the box content does not shrink, this value prevents an endless loop.
\end{docTcbKey}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
index 548c70e081..0d76c0afbb 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
@@ -48,7 +48,7 @@ for some hints. The short story is: you have to install not only
\subsection{Loading the Package}
The base package |tcolorbox| loads the packages
-|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
+|tikz| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
|etoolbox| \cite{lehmann:etoolbox},
and |environ| \cite{robertson:2014a}.
|tcolorbox| itself is loaded in the usual manner in the preamble:
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
index c2e8b5fe27..c6e56dcdfa 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
@@ -282,7 +282,8 @@ This is my \LaTeX\ box.
\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
Basically, \refCom{NewTCBListing} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -429,7 +430,8 @@ Note that the following code uses \verb+!O{}+ now.
\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
Basically, \refCom{NewTCBInputListing} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
The \meta{init options} allow setting up automatic numbering,
@@ -1178,6 +1180,7 @@ This \meta{system command} is added to \refKey{/tcb/process code}.
\end{marker}
\end{docTcbKey}
+\enlargethispage*{5mm}
\begin{docTcbKey}[][doc new=2014-11-14]{run pdflatex}{\colOpt{=\meta{arguments}}}{style, no default, initially unset}
Issues a |pdflatex| compilation of the listing with the given \meta{arguments}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
index 3eabd88b1e..7bc44882c8 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
@@ -276,9 +276,9 @@
before skip=\medskipamount,after skip=\medskipamount,frame style={}},
}
-\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
-\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
\newcommand{\inputpreamblelisting}[1]{%
\tcbinputlisting{title=Definition in the preamble:,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
index ece3b4bc35..9f79252f3e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
@@ -117,7 +117,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standard|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -143,7 +142,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standardjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -185,7 +183,6 @@ have some \enquote{enhanced} features, the |enhanced| skin is what you are looki
\begin{tcolorbox}[skintable=enhanced]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -297,7 +294,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -322,7 +318,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -346,7 +341,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -368,7 +362,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhanced jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -404,7 +397,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -429,7 +421,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -509,7 +500,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -537,7 +527,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -694,7 +683,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -720,7 +708,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -746,7 +733,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -772,7 +758,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -805,7 +790,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -833,7 +817,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -860,7 +843,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -891,7 +873,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tile]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -923,7 +904,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilefirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -949,7 +929,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilemiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -976,7 +955,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilelast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1006,7 +984,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamer]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1069,7 +1046,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1094,7 +1070,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamermiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1118,7 +1093,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1145,7 +1119,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widget]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -1184,7 +1157,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -1208,7 +1180,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -1231,7 +1202,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -1257,7 +1227,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=empty]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1348,7 +1317,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptyfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1375,7 +1343,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptymiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1401,7 +1368,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptylast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1520,7 +1486,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=spartan]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |spartan|\\
\refKey{/tcb/interior titled engine}: \> |spartan|\\
\refKey{/tcb/interior engine}: \> |spartan|\\
@@ -1551,7 +1516,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=draft]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> \emph{special}\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1612,7 +1576,6 @@ you would have used \refKey{/tcb/freelance} before.
\begin{tcolorbox}[skintable=freelance]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |freelance|\\
\refKey{/tcb/interior titled engine}: \> |freelance|\\
\refKey{/tcb/interior engine}: \> |freelance|\\
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
index e92d81a644..bbf946c9fc 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
@@ -7,8 +7,7 @@ The library is loaded by a package option or inside the preamble by:
\begin{dispListing}
\tcbuselibrary{skins}
\end{dispListing}
-This also loads the package |tikz| \cite{tantau:tikz_and_pgf}. Typically but not necessarily,
-the following skins use |tikz| instead of |pgf|.
+This also loads the package |tikzfill.image|.
In the following, general settings and options of the library are
documented.
@@ -1059,9 +1058,7 @@ By default, the resulting boxed title is somewhat smaller than the main box.
\clearpage
\subsection{Watermark Option Keys}\label{subsec:watermarks}
-The following watermark options are applicable for all skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these watermarks,
+The skin \refSkin{standard} does not support these watermarks,
but all other skins, e.\,g.\ \refSkin{enhanced}.
\begin{marker}
@@ -1479,9 +1476,7 @@ Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen
\clearpage
\subsection{Border Line Option Keys}\label{subsec:borderline}
-The following borderline options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these border lines,
+The skin \refSkin{standard} does not support these border lines,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The borderlines are independent from the normal |tcolorbox| rules.
@@ -1714,9 +1709,7 @@ but adapt to breakable boxes.
\clearpage
\subsection{Shadow Option Keys}\label{subsec:shadows}
-The following shadow options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these shadows,
+The skin \refSkin{standard} does not support these shadows,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The shadows are stackable, i.\,e.\ several different shadows can be
@@ -2087,7 +2080,7 @@ This is a tcolorbox.
from the frame outline. A positive \meta{offset} value shrinks the shadow
and a negative \meta{offset} value enlarges the shadow.
The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options}.\\
- The shadows adapt to the rounded corners of the |tcolorbox|. A shrinked shadow
+ The shadows adapt to the rounded corners of the |tcolorbox|. A shrunken shadow
will switch to sharp corners if necessary, an enlarged shadow may become
more rounded depending on several factors. But \refKey{/tcb/sharp corners}
have sharp shadows.
@@ -2255,7 +2248,7 @@ This is a tcolorbox.
\clearpage
\subsubsection{\tikzname\ Shadows}
-Alternativ to the package shadow options described before, shadows from
+Alternative to the package shadow options described before, shadows from
the \flqq Shadows Library\frqq\ of \tikzname\ can be used.
Such shadows can be added directly to the frame path using \refKey{/tcb/frame style}.
@@ -2292,9 +2285,7 @@ Such shadows can be added directly to the frame path using \refKey{/tcb/frame st
\clearpage
\subsection{\tikzname\ Picture Option Keys}\label{subsec:tikzpicture}
-The following general options are applicable for skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these options,
+The skin \refSkin{standard} does not support these options,
but most other skins, e.\,g.\ \refSkin{enhanced}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
index 1e6960ffd2..a9fbc31bb2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
@@ -62,13 +62,6 @@ option from the core package has to be set.
\clearpage
-\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}}
- Sets the graphical environment for the |tcolorbox| to \meta{name}.
- Feasible values are |pgfpicture| and |tikzpicture| or environments which
- inherit from one of these two. This key is set by a \refKey{/tcb/skin} and
- may seldom be used directly.
-\end{docTcbKey}
-
The skin of a |tcolorbox| is drawn by up to four \emph{engines}.
Afterwards, the text content is drawn which is not part of a skin.
The four steps are:
@@ -85,18 +78,6 @@ The four steps are:
by \refKey{/tcb/title engine}.
\end{enumerate}
-%Every engine for the up to four steps can be set to one of the following types:
-%\begin{enumerate}
-%\item\docValue{standard}: the original code from the core package.
-%\item\docValue{path}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathfirst}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathlast}: a |tikz| path which can be controlled by options.
-%\item\docValue{freelance}: arbitrary user code.
-%\item\docValue{spartan}: a quite spartan code.
-%\end{enumerate}
-%\clearpage
-
\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}}
Sets the \emph{frame} drawing engine for a box to \meta{name}.
Typically, this key is set by a \refKey{/tcb/skin}.
@@ -644,7 +625,7 @@ These color names are
\item\docColor{tcbcolframe} set by \refKey{/tcb/colframe} (frame color)
\item\docColor{tcbcolback} set by \refKey{/tcb/colback} (background color)
\item\docColor{tcbcolbacktitle} set by \refKey{/tcb/colbacktitle} (background color of the title)
-\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependend background color
+\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependent background color
of the lower part; needs \mylib{skins} to be loaded)
\item\docColor{tcbcolupper} set by \refKey{/tcb/colupper} (text color upper part)
\item\docColor{tcbcollower} set by \refKey{/tcb/collower} (text color lower part)
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
index 4884e85f57..f1a7be1ff4 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
@@ -243,7 +243,7 @@ E&=mc^2 + \int_a^b x\, dx
\begin{docTcbKey}{separator sign}{=\meta{sign}}{no default, initially |:|}
The given \meta{sign} is used inside the title text of a theorem
- as separater between display name combined with number and
+ as separator between display name combined with number and
the specific title text. It is omitted, if there is no specific title text.
\begin{dispExample}
@@ -706,91 +706,140 @@ created by hand or using \refCom{newtcbtheorem}.
\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{ams align upper}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align upper,
+ },
+ {
+ doc name = ams align,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align| environment to the start and end
of the upper part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align lower}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the lower part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the upper \emph{and} lower part.
\begin{dispExample}
\begin{tcolorbox}[ams align,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align* upper}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align upper} or \refKey{/tcb/ams align}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams align* lower}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
+\begin{docTcbKey}{ams align lower}{}{style, no value}
+ Adds an |amsmath| |align| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams align*}{}{style, no value}
+
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align* upper,
+ },
+ {
+ doc name = ams align*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams align*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}{ams gather upper}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align* upper} or \refKey{/tcb/ams align*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather lower}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
+\begin{docTcbKey}{ams align* lower}{}{style, no value}
+ Adds an |amsmath| |align*| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather}{}{style, no value}
+
+\clearpage
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather upper,
+ },
+ {
+ doc name = ams gather,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams gather* upper}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather upper} or \refKey{/tcb/ams gather}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather* lower}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
+\begin{docTcbKey}{ams gather lower}{}{style, no value}
+ Adds an |amsmath| |gather| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather*}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather* upper,
+ },
+ {
+ doc name = ams gather*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather* upper} or \refKey{/tcb/ams gather*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
+\begin{docTcbKey}{ams gather* lower}{}{style, no value}
+ Adds an |amsmath| |gather*| environment to the start and end
+ of the lower part.
+\end{docTcbKey}
\clearpage
\begin{docTcbKey}{ams nodisplayskip upper}{}{style, no value}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
index 733c356d8e..8ea72010fe 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
@@ -140,7 +140,7 @@ is used internally.
\enlargethispage*{1cm}
-\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} inside the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -154,7 +154,7 @@ is used internally.
\clearpage
-\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} outside the node with the given \meta{name}.
The inner limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -167,7 +167,7 @@ is used internally.
\end{vigTcbKey}
-\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} over the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry, but
are shifted to the outside by \refKey{/tcb/vig/over node offset}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
index a7499395e4..3054aff591 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty
index be2dc7e19b..23f0d51569 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,12 @@
%%
%% This work consists of all files listed in README
%%
-\NeedsTeXFormat{LaTeX2e}[2021-11-15]
-\ProvidesPackage{tcolorbox}[2024/01/10 version 6.2.0 text color boxes]
-\def\tcb@version{6.2.0}
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesPackage{tcolorbox}[2024/07/10 version 6.3.0 text color boxes]
+\def\tcb@version{6.3.0}
-\RequirePackage{pgf}[2008/01/15]
+%\RequirePackage{pgf}[2008/01/15]
+\RequirePackage{tikz}[2023/01/15]
\RequirePackage{verbatim}[2003/08/22]
\RequirePackage{environ}[2013/04/01]
\RequirePackage{etoolbox}[2011/01/03]
@@ -57,6 +58,7 @@
\ExplSyntaxOn
\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+\bool_new:N \l__tcobox_savebox_construction_bool
\box_new:N \l__tcobox_tmpa_box
\dim_new:N \l__tcobox_tmpa_dim
\fp_new:N \l__tcobox_tmpa_fp
@@ -561,7 +563,7 @@
toggle left and right/evenpage/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@evenpage\tcbset{check odd page}},
toggle left and right/forced/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@forced},
toggle left and right/.default=evenpage,
- graphical environment/.store in=\kvtcb@graphenv,
+ graphical environment/.style=,% deprecated
%
frame engine/.is choice,
frame engine/standard/.style={frame code=\tcb@drawframe@standard},
@@ -1003,22 +1005,13 @@
IfBooleanF/.code~n~args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
}
-\IfFormatAtLeastTF{2023-06-01}
- {
- \def\tcb@set@parbox@indent@{
- \exp_args:Nne \hook_gput_next_code:nn {para/begin}
- { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
- \let\tcb@set@parbox@indent\@empty
- }
- }
- {
- % Note: To be removed in future
- \def\tcb@set@parbox@indent@{
- \vspace{-\parskip}
- \noindent
- \let\tcb@set@parbox@indent\@empty
- }
- }
+
+\def\tcb@set@parbox@indent@{
+ \exp_args:Nne \hook_gput_next_code:nn {para/begin}
+ { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
+ \let\tcb@set@parbox@indent\@empty
+}
+
\cs_new_protected:Npn \__tcobox_set_parbox_indent:n #1
{
@@ -1027,12 +1020,20 @@
{ \int_compare_p:nNn { #1 } = { \thetcolorboxnumber } }
% and if inside a "tcb@savebox" env (upper or lower part is non-empty),
% hence not at the time of using saved \tcb@upperbox or \tcb@lowerbox
- { \cs_if_exist_p:N \tcbbreak }
+ { \l__tcobox_savebox_construction_bool }
{
\OmitIndent
}
}
+
+\def\tcb@set@savebox@construction@true
+ {
+ \bool_set_true:N \l__tcobox_savebox_construction_bool
+ }
+\bool_set_false:N \l__tcobox_savebox_construction_bool
+
+
\ExplSyntaxOff
\def\tcb@parbox@true@indent{}%
@@ -1045,6 +1046,7 @@
\let\tcb@parboxrestore=\@parboxrestore
\def\tcb@parbox@false@settings{%
+ \@nobreakfalse%
\let\par\@@par%
\linewidth\hsize%
\@totalleftmargin\z@%
@@ -1082,6 +1084,7 @@
\reserved@a
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\@@par%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\tcb@minipage{#2}%
@@ -2025,17 +2028,42 @@
\fi%
}
-\def\tcb@drawing@env@begin{%
- \csname tcb@before@\tcb@split@state\endcsname%
- \begin{\kvtcb@graphenv}%
- \tcb@bbdraw%
- \tcb@apply@graph@patches%
-}
-\def\tcb@drawing@env@end{%
- \end{\kvtcb@graphenv}%
- \csname tcb@after@\tcb@split@state\endcsname%
-}
+\let\tcb@tikz@option@hook\@empty
+\let\tcb@tikz@begin@hook\@empty
+\let\tcb@tikz@end@hook\@empty
+
+\ExplSyntaxOn
+
+\NewSocket{tagsupport/tcb/drawing/begin}{0}
+\NewSocket{tagsupport/tcb/drawing/end}{0}
+\NewSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+ {\tag_mc_end_push:\tag_mc_begin:n{artifact}}
+\NewSocketPlug{tagsupport/tcb/drawing/end}{resume}
+ {\tag_mc_end:\tag_mc_begin_pop:n{}}
+\AssignSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+\AssignSocketPlug{tagsupport/tcb/drawing/end}{resume}
+
+\NewDocumentEnvironment{ tcb@drawing }{ }
+ {
+ \use:c{ tcb@before@\tcb@split@state }
+ \exp_last_unbraced:NnNo \begin{tikzpicture}[\tcb@tikz@option@hook]
+ \UseTaggingSocket{tcb/drawing/begin}
+ \SuspendTagging{tcb/drawing}
+ \tcb@tikz@begin@hook
+ \tcb@bbdraw
+ \tcb@apply@graph@patches
+ }
+ {
+ \tcb@tikz@end@hook
+ \ResumeTagging{tcb/drawing}
+ \UseTaggingSocket{tcb/drawing/end}
+ \end{tikzpicture}
+ \use:c{ tcb@after@\tcb@split@state }
+ }
+
+\ExplSyntaxOff
+
\def\tcb@set@normal@unbroken@beforeafter{%
\let\tcb@before@unbroken=\kvtcb@beforebox%
@@ -2077,7 +2105,8 @@
\tcb@ch%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
+ %\tcb@drawing@env@begin%
\pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}%
\tcb@extensions@preframe%
% draw frame and interior
@@ -2097,7 +2126,8 @@
\tcb@tdraw@upper%
\iftcb@hasLower\tcb@tdraw@lower\fi%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ %\tcb@drawing@env@end%
+ \end{tcb@drawing}%
}
\let\tcb@drawcolorbox@standalone=\tcb@drawcolorbox
@@ -2255,6 +2285,9 @@
}
\def\tcb@proc@counter@auto#1{%
+ \ifcsdef{c@tcb@cnt@#1}
+ {\tcb@error{Auto counter for environment '#1' already defined}{}}
+ {}%
\newcounter{tcb@cnt@#1}%
\csxdef{tcb@cnt@#1}{tcb@cnt@#1}%
\tcb@proc@counter@autoanduse{#1}%
@@ -2297,6 +2330,33 @@
\ExplSyntaxOn
+\prg_new_conditional:Npnn \__tcobox_if_single_cs:n #1 { p, TF }
+ {
+ \bool_lazy_and:nnTF
+ { \tl_if_single_p:n { #1 } }
+ { \token_if_cs_p:N #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+\msg_new:nnn { tcolorbox } { invalid-box-name }
+ {
+ Invalid~box~name~`` \tl_to_str:n {#1} ''.~
+ A~single~command~is~expected~after~space~trimming.~
+ I'll~drop~this~box~definition.
+ }
+
+\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
+ {
+ \__tcobox_if_single_cs:nTF { #2 }
+ {
+ \tl_set:Ne #1 { \exp_last_unbraced:Ne \cs_to_str:N { \tl_trim_spaces:n { #2 } } }
+ }
+ {
+ \msg_error:nnn { tcolorbox } { invalid-box-name } { #2 }
+ }
+ }
+
\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
{
\bool_lazy_and:nnF
@@ -2312,14 +2372,6 @@
}
-\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
- {
- \tl_set:Nn #1 { #2 }
- \tl_trim_spaces:N #1
- \tl_set:Ne #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
- }
-
-
\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
@@ -2740,7 +2792,7 @@
\tcb@new@skin{standard}{frame engine=standard,interior titled engine=standard,
interior engine=standard,segmentation engine=standard,title engine=standard,
- graphical environment=pgfpicture,geometry nodes=false,
+ geometry nodes=false,
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@overlay},set@extensions@final=,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex
index b7c1742391..c60eb4acfa 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -25,6 +25,18 @@
% arara: pdflatex: { shell: yes, synctex: yes }
% arara: pdflatex: { shell: yes, synctex: yes }
%
+%\DocumentMetadata{
+% lang = en,
+% pdfversion = 2.0,
+% pdfstandard = ua-2,
+% pdfstandard = a-4f,
+% testphase =
+% {
+% phase-III,
+% firstaid
+% },
+% %uncompress,
+%}
\PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks,pdfusetitle,pdfpagelabels}{hyperref}
\documentclass[a4paper,11pt]{ltxdoc}
@@ -51,8 +63,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{6.2.0}%
-\def\datum{2024/01/10}%
+\def\version{6.3.0}%
+\def\datum{2024/07/10}%
\makeindex
\hypersetup{
@@ -68,7 +80,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.initoptions,tcolorbox.doc.index}
+%\includeonly{tcolorbox.doc.coreoptions}
%\hypersetup{colorlinks=false}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/texvc/Makefile b/macros/latex/contrib/texvc/Makefile
new file mode 100644
index 0000000000..d32d473d3b
--- /dev/null
+++ b/macros/latex/contrib/texvc/Makefile
@@ -0,0 +1,17 @@
+PACKAGE = texvc
+all: $(PACKAGE).pdf
+
+$(PACKAGE).sty: $(PACKAGE).dtx $(PACKAGE).ins
+ pdflatex $(PACKAGE).ins
+
+$(PACKAGE).idx: $(PACKAGE).dtx $(PACKAGE).sty
+ pdflatex $(PACKAGE).dtx
+
+$(PACKAGE).ind: $(PACKAGE).idx $(PACKAGE).sty
+ makeindex -s gind.ist $(PACKAGE).idx
+
+$(PACKAGE).gls: $(PACKAGE).idx $(PACKAGE).sty
+ makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+
+$(PACKAGE).pdf: $(PACKAGE).dtx $(PACKAGE).sty $(PACKAGE).ind $(PACKAGE).gls
+ pdflatex $(PACKAGE).dtx
diff --git a/macros/latex/contrib/texvc/texvc.dtx b/macros/latex/contrib/texvc/texvc.dtx
index 429a1a5e6e..7309d0266f 100644
--- a/macros/latex/contrib/texvc/texvc.dtx
+++ b/macros/latex/contrib/texvc/texvc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2015 by Moritz Schubotz
+% Copyright (C) 2015-2018 by Moritz Schubotz
% -----------------------------------
%
% This file may be distributed and/or modified under the
@@ -22,7 +22,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{texvc}
%<*package>
-[2018/03/04 v1.1 Bugfixes]
+[2020/02/09 v1.2 Document deprecations]
%</package>
%<package>
%<package>\RequirePackage{amsmath}
@@ -42,7 +42,7 @@
%<package>
%<*driver>
\documentclass{ltxdoc}
-\usepackage{texvc}[2018/03/04]
+\usepackage{texvc}[2020/02/09]
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -75,19 +75,21 @@
%
% \changes{v1.0}{2015/11/09}{Initial version}
% \changes{v1.1}{2018/03/04}{Fix bug with varcoppa, document usage of or}
+% \changes{v1.2}{2020/02/09}{Document deprecations}
% \GetFileInfo{texvc.sty}
-%
+% \newcommand{\deprecated}{\emph{This command is deprecated.}}
% \DoNotIndex{\newcommand,\newenvironment}
%
% \title{The \textsf{texvc} package\thanks{This document
% corresponds to \textsf{texvc}~\fileversion,
% dated \filedate.}}
-% \author{Moritz Schubotz \\ \texttt{moritz.schubotz@uni-konstanz.de}}
-%
+% \author{Moritz Schubotz \\ \texttt{moritz.schubotz@fiz-karlsruhe.de}}
+% \date{\filedate}
+%
% \maketitle
%
% \begin{abstract}
-% This package provides all\footnote{The command \texttt{\textbackslash or} is only availible if custom code is copied into your \LaTeX-file. See page \pageref{cmd.or} for details.} LaTeX command availible in MediaWiki.
+% This package provides all\footnote{The command \texttt{\textbackslash or} is only available if custom code is copied into your \LaTeX-file. See page \pageref{cmd.or} for details.} LaTeX command available in MediaWiki.
% This includes several packages like amsmath, and adds some specific
% commands such as \texttt{\textbackslash Reals}.
% \end{abstract}
@@ -95,7 +97,7 @@
% \section{Provided Macros}
%
% \subsection{Arrows}
-% The first group of MediaWiki coustom command (other\_delimiters2) defines short hand notations for some arrorws.
+% The first group of MediaWiki custom command (other\_delimiters2) defines short hand notations for some arrows.
%
% \DescribeMacro{\darr} Short hand notation for arrow $\downarrow.$
%
@@ -122,12 +124,12 @@
%
% \subsection{Literals}
%
-% The second group of MediaWiki coustom commands (other\_litereals3) defines short hand notations for some literals.
+% The second group of MediaWiki custom commands (other\_litereals3) defines short hand notations for some literals.
%
-% \DescribeMacro{\C} Short hand notation for literal $\mathbb{C}.$
+% \DescribeMacro{\C} Short hand notation for literal $\mathbb{C}.$ \deprecated
%
%
-% \DescribeMacro{\H} Short hand notation for literal $\mathbb{H}.$
+% \DescribeMacro{\H} Short hand notation for literal $\mathbb{H}.$ \deprecated
%
%
% \DescribeMacro{\N} Short hand notation for literal $\mathbb{N}.$
@@ -151,10 +153,10 @@
% \DescribeMacro{\Alpha} Short hand notation for literal $\mathrm{A}.$
%
%
-% \DescribeMacro{\and} Short hand notation for literal $\land.$
+% \DescribeMacro{\and} Short hand notation for literal $\land.$ \deprecated
%
%
-% \DescribeMacro{\ang} Short hand notation for literal $\angle.$
+% \DescribeMacro{\ang} Short hand notation for literal $\angle.$ \deprecated
%
%
% \DescribeMacro{\Beta} Short hand notation for literal $\mathrm{B}.$
@@ -277,10 +279,10 @@
% \DescribeMacro{\Omicron} Short hand notation for literal $\mathrm{O}.$
%
%
-% \DescribeMacro{\or} Short hand notation for literal $\lor.$
+% \DescribeMacro{\or} Short hand notation for literal $\lor.$ \deprecated
%
%
-% \DescribeMacro{\part} Short hand notation for literal $\partial.$
+% \DescribeMacro{\part} Short hand notation for literal $\partial.$ \deprecated
%
%
% \DescribeMacro{\plusmn} Short hand notation for literal $\pm.$
@@ -342,7 +344,21 @@
%
% \DescribeMacro{\Zeta} Short hand notation for literal $\mathrm{Z}.$
%
-%
+% \section{Deprecations}
+% According to the decision of \emph{Wikimedia Community User Group Math}\footnote{\url{https://meta.wikimedia.org/w/index.php?oldid=19705444}} the following macros have been deprecated\footnote{See \url{https://phabricator.wikimedia.org/T197842} for the discussion.}:
+% \begin{enumerate}
+% \item \verb|$|
+% \item \verb|%|
+% \item \verb|\and|
+% \item \verb|\or|
+% \item \verb|\part|
+% \item \verb|\ang|
+% \item \verb|\C|
+% \item \verb|\H|
+% \item \verb|\bold|
+% \item \verb|\Bbb|
+% \end{enumerate}
+% The commands 1,2,4,9,10 have never been part of this package, but were available from within Wikipedia.
% \StopEventually{}
%
% \section{Implementation}
diff --git a/macros/latex/contrib/texvc/texvc.ins b/macros/latex/contrib/texvc/texvc.ins
index 5343a6a94f..0c12dd61eb 100644
--- a/macros/latex/contrib/texvc/texvc.ins
+++ b/macros/latex/contrib/texvc/texvc.ins
@@ -1,42 +1,42 @@
-%%
-%% Copyright (C) 2015 by Moritz Schubotz
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
-%% version. The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%%
-\input docstrip.tex
-\keepsilent
-\usedir{tex/latex/texvc}
-\askforoverwritefalse
-\preamble
-This is a generated file.
-Copyright (C) 2015 by Moritz Schubotz
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3 of this license or (at your option) any later
-version. The latest version of this license is in:
-http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-\endpreamble
-\generate{\file{texvc.sty}{\from{texvc.dtx}{package}}}
-\Msg{*********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the}
-\Msg{* following file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space texvc.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file texvc.dtx}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*********************************************************}
-\endbatchfile
+%%
+%% Copyright (C) 2015-2018 by Moritz Schubotz
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/texvc}
+\askforoverwritefalse
+\preamble
+This is a generated file.
+Copyright (C) 2015-2018 by Moritz Schubotz
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+\endpreamble
+\generate{\file{texvc.sty}{\from{texvc.dtx}{package}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space texvc.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file texvc.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/texvc/texvc.pdf b/macros/latex/contrib/texvc/texvc.pdf
index 7269b865f2..f431f01829 100644
--- a/macros/latex/contrib/texvc/texvc.pdf
+++ b/macros/latex/contrib/texvc/texvc.pdf
Binary files differ
diff --git a/macros/latex/contrib/thermodynamics/thermodynamics.dtx b/macros/latex/contrib/thermodynamics/thermodynamics.dtx
index 972a2b6b0c..98fdb4c3de 100644
--- a/macros/latex/contrib/thermodynamics/thermodynamics.dtx
+++ b/macros/latex/contrib/thermodynamics/thermodynamics.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% File: thermodynamics.dtx Copyright (C) 2022-2023 Karl D. Hammond
+% File: thermodynamics.dtx Copyright (C) 2022-2024 Karl D. Hammond
%
% Karl D. Hammond
% Chemical Engineering Program
@@ -24,11 +24,7 @@
% \fi
%
% \iffalse
-%^^A FIXME: need correct date of release once you update this
-%^^X\GetIdInfo $Id: thermodynamics.dtx 2.00 2023/11/16 Karl D. Hammond <hammondkd@missouri.edu> $
-%^^X {thermodynamics notation}
%<*driver>
-%^^X\ProvidesFile{\ExplFileName}
\ProvidesFile{thermodynamics.dtx}
%</driver>
%
@@ -36,9 +32,8 @@
%<package>\RequirePackage{expl3}
%<package>\ProvidesPackage{thermodynamics}
%<*package>
- [2023/12/05 v2.01 thermodynamics notation]
+ [2024/06/14 v2.02 thermodynamics notation]
%</package>
-%^^X {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
%<*driver>
\documentclass[11pt,letterpaper]{ltxdoc}
%^^X\bool_set_false:N \l__codedoc_allow_indexing_bool
@@ -46,18 +41,26 @@
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{amsmath}
+\usepackage{mathrsfs}
\usepackage{pxfonts}
\usepackage{array}
\usepackage{booktabs}
\usepackage{footmisc}
+\usepackage{pdflscape}
+\usepackage{supertabular}
+\usepackage{graphicx} %^^A for \reflectbox
+\usepackage{xcolor}
\usepackage[labelfont=bf,labelsep=period,font=small]{caption}
+\usepackage{emf}
\GetFileInfo{thermodynamics.dtx}
\usepackage{thermodynamics}[\filedate\space\fileversion]
+\DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}
\DisableCrossrefs
\CodelineIndex
\PageIndex
\CodelineNumbered
\RecordChanges
+%^^X\OnlyDescription
%^^X Preparing to use l3doc.cls, but it's not quite mature yet....
%^^A\DisableDocumentation
%^^A\DisableImplementation
@@ -65,13 +68,30 @@
\let\tn\cs
\let\env\texttt
\let\pkg\textsf
+\IndexPrologue{\section*{Index}%
+ \markboth{Index}{Index}%
+ Numbers written in italics refer to the page
+ where the corresponding entry is described;
+ numbers underlined refer to the
+ %^^A\ifcodeline@index
+ code line of the
+ %^^A\fi
+ definition.%^^A; numbers in Roman refer to the
+ %^^A\ifcodeline@index
+ %^^A code lines
+ %^^A\else
+ %^^A pages
+ %^^A\fi
+ %^^Awhere the entry is used.
+ }
+\makeatother
\begin{document}
\DocInput{thermodynamics.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{2387}
+% \CheckSum{3537}
%
% \CharacterTable
% {Upper-case \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
@@ -91,7 +111,7 @@
%
% \changes{v1.00}{2022/04/29}{Initial public release}
% \changes{v2.00}{2023/11/16}{Revision to use \LaTeX3
-% (\pkg{expl3}/\pkg{xparse}) syntax layer}
+% (\pkg{expl3}/\pkg{xparse}) syntax layer.}
%
% \newcommand*{\setmarginparsize}[1]
% {\bgroup
@@ -248,7 +268,10 @@
% Using the default package options, the above renders as
% \[ \Ht \quad \Hm \quad \hat H \quad \Hpm{i}. \]
% In addition, the properties in
-% Table~\ref{table:conveniences} are defined for convenience.
+% Table~\ref{table:conveniences} are defined for convenience. A more
+% comprehensive list, including how those properties are represented in the
+% various textbook-related options supported by this package, are shown in
+% Appendix~\ref{sec:symbols}.
%
% \DescribeMacro{\Ut}
% \DescribeMacro{\Um}
@@ -455,8 +478,8 @@
% \texttt{\textbackslash cP\_i\^{}\textbackslash std} renders as
% $C_{P,i}^\circ$, also as expected. You can also reverse it:
% \texttt{\textbackslash cP\^{}\textbackslash std\_i} becomes
-% $C^\circ_{P,i}$.}
-% \label{table:conveniences}
+% $C^\circ_{P,i}$.}\relax
+% \label{table:conveniences}\relax
%^^A TODO The \leavevmode macro here is to prevent whitespace from building
%^^A up due to a bug in old versions of hypdoc. It should be harmless to
%^^A leave it in there, but consider removing it at some point.
@@ -471,16 +494,21 @@
% \SpecialMacroIndex{\heatcapacitysymbol}\relax
% \SpecialMacroIndex{\compressibilitysymbol}\relax
% \SpecialMacroIndex{\expansivitysymbol}\relax
-% \SpecialMacroIndex{\amix}\relax
% \SpecialMacroIndex{\fpure}\relax
% \SpecialMacroIndex{\fmix}\relax
% \SpecialMacroIndex{\fsat}\relax
% \SpecialMacroIndex{\phipure}\relax
% \SpecialMacroIndex{\phimix}\relax
% \SpecialMacroIndex{\phisat}\relax
+% \SpecialMacroIndex{\actrel}\relax
% \SpecialMacroIndex{\Psat}\relax
% \SpecialMacroIndex{\Pvap}\relax
% \SpecialMacroIndex{\sat}\relax
+% \SpecialMacroIndex{\std}\relax
+% \SpecialMacroIndex{\Pstd}\relax
+% \SpecialMacroIndex{\Cstd}\relax
+% \SpecialMacroIndex{\fstd}\relax
+% \SpecialMacroIndex{\mustd}\relax
% \SpecialMacroIndex{\Henryrat}\relax
% \SpecialMacroIndex{\Henrymol}\relax
% \SpecialMacroIndex{\gammarat}\relax
@@ -495,10 +523,12 @@
% \SpecialMacroIndex{\fusion}\relax
% \SpecialMacroIndex{\vaporization}\relax
% \SpecialMacroIndex{\sublimation}\relax
-% \begin{minipage}{\linewidth}
-% \small
+% \SpecialMacroIndex{\Epot}\relax
+% \SpecialMacroIndex{\xrxn}\relax
+% \begin{minipage}{\linewidth}\relax
+% \footnotesize
% \addtolength{\tabcolsep}{-2.75pt}\relax
-% \addtolength{\extrarowheight}{0.75ex}\relax
+% \addtolength{\extrarowheight}{0.50ex}\relax
% \renewcommand*{\footnoterule}{\vskip-1.5ex}\relax
% \begin{tabular}{l l l l l}
% \toprule
@@ -509,59 +539,65 @@
% Extensive and specific (per-unit-mass) versions are available
% as \cs{cPt} and \cmd\cPs, respectively, with similar macros for the
% isochoric heat capacity.\label{fn:cP}}
-% & \(cP\) & \(\displaystyle T\Partial{\Sm}{T}{P}\)
-% & \cmd\heatcapacitysymbol \\[2.0ex]
+% & \(\cP\) & \(\displaystyle T\Partial{\Sm}{T}{P}\)
+% & \cmd\heatcapacitysymbol \\[1.75ex]
% Isochoric heat capacity & \verb"\cV"\footref{fn:cP} & \(\cV\)
% & \(\displaystyle T\Partial{\Sm}{T}{\Vm}\)
-% & \cmd\heatcapacitysymbol \\[2.0ex]
+% & \cmd\heatcapacitysymbol \\[1.75ex]
% Isothermal compressibility & \cmd\kappaT & $\kappaT$
% & \(\displaystyle -\frac{1}{\Vm} \Partial{\Vm}{P}{T} \)
-% & \cmd\compressibilitysymbol \\[2.0ex]
+% & {\footnotesize\cmd\compressibilitysymbol} \\[1.75ex]
% Isentropic compressibility & \cmd\kappaS & $\kappaS$
% & \(\displaystyle -\frac{1}{\Vm} \Partial{\Vm}{P}{\Sm}\)
-% & \cmd\compressibilitysymbol \\[2.0ex]
+% & {\footnotesize\cmd\compressibilitysymbol} \\[1.75ex]
% Isobaric expansivity & \cmd\alphaP & $\alphaP$
% & \(\displaystyle \frac{1}{\Vm} \Partial{\Vm}{T}{P}\)
-% & \cmd\expansivitysymbol \\[2.0ex]
+% & \cmd\expansivitysymbol \\[1.75ex]
% Isentropic expansivity & \cmd\alphaS & $\alphaS$
% & \(\displaystyle \frac{1}{\Vm} \Partial{\Vm}{T}{\Sm}\)
-% & \cmd\expansivitysymbol \\[2.0ex]
+% & \cmd\expansivitysymbol \\[1.75ex]
% Joule--Thomson coeff. & \cmd\muJT & $\muJT$
% & \(\displaystyle \Partial{T}{P}{\Hm}\) & \cmd\JTsymbol \\
% Pure fugacity & \cmd\fpure & $f$ & $\phi P$ \\
-% Mixture fugacity & \cmd\fmix & $\fmix$
-% & $\fmix_i = x_i\phimix_i P$ \\[0.5ex]
% Saturation fugacity & \cmd\fsat & $\fsat$
% & $\phisat \Psat$ & \cmd\sat \\
+% Mixture fugacity & \cmd\fmix & $\fmix$
+% & $\fmix_i = x_i\phimix_i P$ \\
% Pure fugacity coefficient & \cmd\phipure & $\phipure$ &
% \multicolumn{2}{l}{\( \phipure_i
% = \exp\left(\frac{1}{RT}\int_0^P \Vm_i(T,p)
% - \frac{RT}{p}\,dp\right) \)} \\
+% Saturation fugacity coeff.\ & \cmd\phisat & $\phisat$
+% & $\phipure(T,\Psat)$ & \cmd\sat \\
% Mixture fugacity coeff.\ & \cmd\phimix & $\phimix$
% & \multicolumn{2}{l}{\( \phimix_i
% = \exp\left(\frac{1}{RT}\int_0^P \Vpm{i}(T,p,\allXs)
-% - \frac{RT}{p}\,dp\right) \)} \\
+% - \frac{RT}{p}\,dp\right) \)} \\[1.25ex]
+% Absolute activity & \cmd\actabs & $\actabs$
+% & \multicolumn{2}{l}{\(\actabs_i = \exp(\mu_i/{RT})\)} \\
+% Relative activity & \cmd\actrel & $\actrel$
+% & \multicolumn{2}{l}{\(\actrel_i = \exp\left(\frac{\mu_i - \mu_i^\std}{RT}\right) = \frac{\fmix_i(T,P,\allXs)}{\fstd_i(T)}\)} \\
% Henry's constant (rational) & \cmd\Henryrat & $\Henryrat$
% & $\gamma_i^\infty f_i$ \\
-% Henry's constant (molal) & \cmd\Henrymol & $\Henrymol$
+% Henry's constant (molal) & \cmd\Henrymol & $\Henrymol$
% & $M_s \gamma_i^\infty f_i$ \\
% Rational activity coeff.\ & \cmd\gammarat & $\gammarat$
% & $\gamma/\gamma^\infty$ \\
% Molal activity coeff.\ & \cmd\gammamol & $\gammamol$
% & $x_s \gamma/\gamma^\infty$ \\
-% Saturation fugacity coeff.\ & \cmd\phisat & $\phisat$
-% & $\phipure(T,\Psat)$ & \cmd\sat \\
-% Saturation pressure & \cmd\Psat & $\Psat$ && \cmd\sat \\
-% Vapor pressure & \cmd\Pvap & \multicolumn{3}{l}{Currently a synonym
-% for \cs{Psat}\footnote{If you want \cs{Pvap} to produce $P^\text{vap}$
-% instead of $\Psat$, you should redefine the \cs{sat} macro.}} \\
+% Saturation pressure & \cmd\Psat\footnote{\cs{Pvap} is a synonym for
+% \cs{Psat}; if you want it to produce $P^\text{vap}$, you should
+% redefine the \cs{sat} macro} & $\Psat$ && \cmd\sat \\
% Standard state & \cmd\std\footnote{Typical usage would be
% \texttt{\$\cs{mu}\_i = \cs{mu}\textasciicircum\cs{std}\_i
% + RT \cs{log} a\_i\$},
% yielding $\mu_i = \mu_i^\std + RT \log a_i$.} & $\std$ \\
% Standard pressure & \cmd\Pstd & $\Pstd$ & & \cs{std} \\
-% Standard fugacity & \cmd\fstd & $\fstd$ & $\fpure(T,\Pstd)$ & \cs{std}
-% \\
+% Standard molality & \cmd\Cstd & $\Cstd$ & & \cs{std} \\
+% Standard fugacity & \cmd\fstd & $\fstd$
+% & $\fstd_i = \fpure_i(T,\Pstd,x^\std)$ & \cs{std} \\
+% Standard chemical potential & \cmd\mustd & $\mustd$
+% & $\mustd_i = \mu(T,\Pstd,x^\std)$ & \cs{std} \\
% Change on mixing & \cmd\Deltamix\footnote{The usual usage would be
% something like
% \texttt{\$\cs{Deltamix}\cs{Vm}\textasciicircum\cs{IGM} = 0\$}.\relax
@@ -577,6 +613,9 @@
% & $\Deltavap M$ & $M^V - M^L$ & \cmd\vaporization \\
% Change on subliming & \cmd\Deltasub\footref{fn:Deltausage}
% & $\Deltasub M$ & $M^V - M^S$ & \cmd\sublimation \\
+% Electric potential & \cmd\Epot & $\Epot$
+% & $-n_e\mathscr{F}\Deltarxn\Gm$ \\
+% Extent of reaction & \cmd\xrxn & $\xrxn$ & & \\
% \bottomrule
% \end{tabular}
% \end{minipage}
@@ -687,14 +726,21 @@
% \cs{expansivitysymbol}, which is done automatically by some of the
% package options that create notation specific to a particular textbook.
%
-% \subsubsection{Joule--Thomson Coefficients}
+% \subsubsection{Joule--Thomson Coefficient}
% \changes{v2.00}{2023/11/16}{Added \cs{muJT} to represent Joule--Thomson
% coefficients (which have different notation across textbooks).}
% \DescribeMacro{\muJT}
-% The Joule--Thomson coefficient is produced with \cs{muJT}, which be default
+% The Joule--Thomson coefficient is produced with \cs{muJT}, which by default
% is rendered $\muJT$. Some books call this coefficient $\alpha_H$; this is
% handled automatically for books of which the package author is aware.
%
+% \subsubsection{Chemical Potentials}
+% \DescribeMacro{\mu}
+% \DescribeMacro{\muit}
+% The chemical potential is always produced by the macro \cs{mu}. Some
+% textbook-related options use \(\muup\) instead of \(\mu\) for chemical
+% potential; if so, the macro \cs{muit} will always produce \(\muit\).
+%
% \subsubsection{Fugacities and Fugacity Coefficients}
% \DescribeMacro{\fpure}
% \DescribeMacro{\fmix}
@@ -704,13 +750,13 @@
% fugacity, so it is recommended to use the macro \cs{fpure} to denote the
% pure-component fugacity and \cs{fmix} to denote the mixture fugacity.
% Similarly, the pure-component fugacity coefficient should be generated with
-% \cs{phipure}, and that in the mixture should be \cs{phimix}.
+% \cs{phipure}, and that in a mixture should be \cs{phimix}.
%
% For example, the following markup is an example of a common equation in
% mixture thermodynamics:
% \begin{verbatim}
% \[ \fmix_j = x_j \phimix_j P = x_j \gamma_j \fpure_j
-% = x_j \gamma_j \phipure_j P. \]
+% = x_j \gamma_j \phipure_j P. \]
%\end{verbatim}
% With the default package options, this produces
% \[ \fmix_j = x_j \phimix_j P = x_j \gamma_j \fpure_j
@@ -726,15 +772,19 @@
% = x_j \gamma_j \phi_j P. \]
%
% \subsubsection{Activity Coefficients and Henry's Constants}
+% \DescribeMacro{\gamma}
+% \DescribeMacro{\gammait}
% \DescribeMacro{\gammarat}
% \DescribeMacro{\gammamol}
% \DescribeMacro{\Henryrat}
% \DescribeMacro{\Henrymol}
% The activity coefficient based on the Lewis--Randall rule can be generated
-% with \cs{gamma}, as usual. The Henry's Law activity coefficients should be
-% produced with \cs{gammarat} (rational basis) and \cs{gammamol} (molal basis).
-% There are also macros to generate the Henry's law constants for both the
-% rational basis (\cs{Henryrat}) and the molal basis (\cs{Henrymol}).
+% with \cs{gamma}, as usual. The symbol \cs{gammait} is provided just in case
+% \cs{gamma} has been redefined by a package option and you want to use the
+% original symbol for some reason. The Henry's Law activity coefficients should
+% be produced with \cs{gammarat} (rational basis) and \cs{gammamol} (molal
+% basis). There are also macros to generate the Henry's law constants for both
+% the rational basis (\cs{Henryrat}) and the molal basis (\cs{Henrymol}).
% These are interrelated:
% \begin{verbatim}
% \[ \fmix_i = x_i \gamma_i \fpure_i = x_i \gammarat_i \Henryrat_i
@@ -754,7 +804,6 @@
% Note that some books (e.g., |ElliottLira|) prefer the atmospheric chemistry
% convention for the molal basis, namely
% \[ \fmix_i = x_i \gamma_i \fpure_i = x_i \gammarat_i \Henryrat_i
-%%^^A = C_i \gammamol_i \Henrymol_i
% = C_i \gammamol_i / K_{H,i} \]
% (that is, using $1/K_{H,i}$ in place of $\Henrymol_i$).
% Unfortunately, this makes it impossible to change symbols without any edits
@@ -780,29 +829,36 @@
% \verb"\RenewDocumentCommand{\sat}{}{{\text{vap}}}".
% This is done automatically using package option |Sandler|.
%
-% \subsubsection{Standard States}
+% \subsubsection{Standard States and Chemical Reactions}
% \DescribeMacro{\std}
% \DescribeMacro{\Pstd}
+% \DescribeMacro{\Cstd}
% \DescribeMacro{\fstd}
+% \DescribeMacro{\mustd}
% The symbol $\circ$ (\cs{circ}) is used by default for standard states.
% This is intended to be easy to change should the user want to replace
% $P^\circ$ with $P^\ominus$, say. This is accessed via the \cs{std} macro.
% The macro \cs{Pstd} is defined as |P^\std| for convenience to denote
-% standard pressures, and \cs{fstd} is defined for standard fugacities so as
-% to ease implementation across textbooks.
+% standard pressure, \cs{Cstd} is defined as |C^\std| to denote standard
+% molality, \cs{fstd} is defined for standard fugacities, and \cs{mustd} is
+% defined for standard chemical potentials so as to ease implementation across
+% textbooks.
%
% The usual usage would be something like this:
% \begin{verbatim}
-% \[ \Deltarxn\Gm = \sumall_i \nu_i \mu_i = \sumall_i \left[ \nu_i \mu^\std_i
+% \[ \Deltarxn\Gm = \sumall_i \nu_i \mu_i = \sumall_i \left[ \nu_i \mustd_i
% + \nu_i RT \log\left(\frac{\fmix_i}{\fstd_i}\right) \right]
% = \Deltarxn\Gm^\std + RT \log\left[\prodall_i a_i^{\nu_i} \right] \],
%\end{verbatim}
% which produces
-% \[ \Deltarxn\Gm = \sumall_i \nu_i \mu_i = \sumall_i \left[ \nu_i \mu^\std_i
+% \[ \Deltarxn\Gm = \sumall_i \nu_i \mu_i = \sumall_i \left[ \nu_i \mustd_i
% + \nu_i RT \log\left(\frac{\fmix_i}{\fstd_i}\right) \right]
% = \Deltarxn\Gm^\std + RT \log\left[\prodall_i a_i^{\nu_i} \right] \]
% with the default settings.
%
+% The extent of reaction is generated by the macro \cs{xrxn}, which by default
+% is printed as \(\xrxn\).
+%
% \subsubsection{Changes on Mixing, Reaction, Fusion, Vaporization, and
% Sublimation}
% \DescribeMacro{\Deltamix}
@@ -989,9 +1045,10 @@
% \Vpm_i = \Partialinline{\Vt}{\Nt_i}{T,P,\allNsbut{i}}
% = \PartialMixSecondinline{\Gt}{\Nt_i}{P}{T,\allNsbut{i}}
% = \PartialMixSecondinline{\Gt}{P}{\Nt_i}{T,\allNsbut{i}}
-% = \Partialinline{\Gpm_i}{P}{T,\allNs}.
+% = \Partialinline{\Gpm_i}{P}{T,\allNs}
% \label{eq:Vpm-inline}
% \end{equation}
+% with the default options.
% \pagebreak[0]%
%
% \subsubsection{Delimiter Sizing}
@@ -1014,16 +1071,16 @@
% = \Partial*{\Gpm_i}{P}{T,\allNs}
% = \PartialBigg*{\Gpm_i}{P}{T,\allNs}
% = RT\Partial*{\log\fmix_i}{P}{T,\allNs}
-% = RT\,\PartialBigg*{\log\fmix_i}{P}{T,\allNs}
-% = RT\,\Partialbigg{\log\fmix_i}{P}{T,\allNs} \],
+% = RT\PartialBigg*{\log\fmix_i}{P}{T,\allNs}
+% = RT\Partialbigg{\log\fmix_i}{P}{T,\allNs} \],
%\end{verbatim}
% which typesets as
% \[ \Vpm{i} = \Partial*{\Vt}{\Nt_i}{T,P,\allNsbut{i}}
% = \Partial*{\Gpm{i}}{P}{T,\allNs}
% = \PartialBigg*{\Gpm{i}}{P}{T,\allNs}
% = RT\Partial*{\log\fmix_i}{P}{T,\allNs}
-% = RT\,\PartialBigg*{\log\fmix_i}{P}{T,\allNs}
-% = RT\,\Partialbigg{\log\fmix_i}{P}{T,\allNs}. \]
+% = RT\PartialBigg*{\log\fmix_i}{P}{T,\allNs}
+% = RT\Partialbigg{\log\fmix_i}{P}{T,\allNs}. \]
% Note that a similar effect---possibly with other side effects---can be
% achieved with \pkg{amsmath}'s \tn{smash} command, which has the effect of
% removing all vertical space associated with a particular character.
@@ -1097,7 +1154,7 @@
% \[ \Vpm{k} = \Partial{\Vt}{\Nt_k}{T,P,\allNsbut{k}} \]
% \end{thermomolesrange}
% or
-% \[ \Vpm{k} = \left(\frac{\partial\Vt}{\partial\Nt_k}\right)_{T,P,\Nt_j[k]} \]
+% \[ \Vpm{k} = \left(\frac{\partial\Vt}{\partial\Nt_k}\right)_{T,P,\Nt_j[k]}, \]
% to mean partial derivatives that hold the number of moles of each species
% constant \emph{except} the one being changed.
% Similarly, a property determined with all mole fractions held
@@ -1301,8 +1358,7 @@
% represented, as shown in Table~\ref{table:extensive}.
% The default is \verb"intensive-plain", which (using the volume as an
% example) represents the total, molar, specific, and partial molar volumes,
-% respectively, as $\Vt,$ $\Vm,$ $\Vs,$ and $\Vpm{j},$
-% respectively.
+% respectively, as $\Vt,$ $\Vm,$ $\Vs,$ and $\Vpm{j}$.
%
% For example, the definition of the partial molar enthalpy would be different
% depending on which set of notation is used. The markup
@@ -1391,6 +1447,37 @@
% \cs{Sm} will be $S$; and inside \env{thermointensivesubscript},
% \cs{St} will be $S$ and \cs{Sm} will be $s$.
%
+% \subsubsection{Options Affecting Partial Molar Properties}
+% There are two options that change how partial molar properties are typeset.
+% For option |longpm| (the default), the subscript and superscript are
+% considered part of the symbol, producing something like $\HEpm_i$.
+% The option |shortpm| makes it display as
+% \begin{thermoshortpm}
+% $\HEpm_i$.
+% \end{thermoshortpm}
+% The |shortpm| option is the default for several textbook-related options.
+%
+% \DescribeEnv{thermolongpm}
+% \DescribeEnv{thermoshortpm}
+% It is possible to change partial molar notation locally---this could be
+% useful if you have a very, very long superscript or subscript and the
+% default option looks silly, say. The environment \env{thermolongpm} sets
+% the style equivalent to the |longpm| option, while the \env{thermoshortpm}
+% environment sets the local style equivalent to the |shortpm| option.
+% For example,
+% \begin{verbatim}
+% \[ \Spm_i = \Spm_i^\IGM + \SRpm_i
+% \begin{thermoshortpm}
+% = \Spm_i^\IGM + \SRpm_i
+% \end{thermoshortpm} \]
+%\end{verbatim}
+% produces
+% \[ \Spm_i = \Spm_i^\IGM + \SRpm_i
+% \begin{thermoshortpm}
+% = \Spm_i^\IGM + \SRpm_i,
+% \end{thermoshortpm} \]
+% assuming the default options are loaded.
+%
% \subsubsection{Options Affecting Partial Derivatives}
% There are several options that change how partial derivatives are rendered.
% First are the options that affect the delimiters. We will use the following
@@ -1431,7 +1518,7 @@
% \end{thermosubscripts}\relax \]
% and instead renders them
% \[ \begin{thermoNOsubscripts}
-% \Partial{\Vm}{P}{T} \qquad \text{(\texttt{nosubscripts} option)},
+% \Partial{\Vm}{P}{T} \qquad \text{(\texttt{nosubscripts} option)}.
% \end{thermoNOsubscripts} \]
% Combined with \verb"plain-derivatives", this would give
% \[ \begin{thermoplain}
@@ -1457,6 +1544,7 @@
%
% \DescribeEnv{thermoparentheses}
% \DescribeEnv{thermobrackets}
+% \DescribeEnv{thermobraces}
% \DescribeEnv{thermobar}
% \DescribeEnv{thermoplain}
% If you want to use parentheses \emph{locally}, even though your overall
@@ -1577,96 +1665,229 @@
% Times, Palatino, Bitstream Charter, Garamond, and Utopia, but other typefaces
% may require a manual redefinition.
%
-% \subsubsection{Options for Particular Textbooks}
+% \subsubsection{Options for Particular Textbooks} \label{sec:textbooks}
% There are several options that load package options and/or redefine
-% particular commands to match the notation in a particular textbook. So far
-% the following textbooks are supported:
+% particular commands to match the notation in a particular textbook.
+% A table showing how various properties are typeset using each of these
+% packages is included in Appendix~\ref{sec:symbols}.
+% So far, the following textbooks are supported:
% \begin{description}
% \item[Bejan] Notation used by Bejan, \emph{Advanced Engineering
-% Thermodynamics}, Third Edition. Wiley: Hoboken, 2006. Loads non-default
-% package options \verb"EUFGHAN", \verb"intensive-lowercase", and
-% \verb"delta". Also swaps the notation for specific and
-% intensive properties and redefines \cs{cV}, \cs{cVs}, \cs{cVt},
-% \cs{expansivitysymbol}, and \cs{ncomponents} to match his notation.
+% Thermodynamics}, Third Edition. Wiley: Hoboken, 2006.
% \item[CBK] Notation used by \c Cengel, Boles, and Kano\u glu,
% \emph{Thermodynamics: An Engineering Approach}, Ninth Edition.
-% McGraw Hill: Singapore, 2020. Loads the non-default package options
-% \verb"EUAGHAN" and \verb"intensive-lowercase"; also redefines
-% partial molar, specific, and molar properties' notation to fit theirs,
-% and redefines the internal symbol for pressure, \cs{Deltarxn},
-% \cs{compressibilitysymbol}, and \cs{expansivitysymbol} to fit their
-% usage. Their prodigal symbols for specific and total volume, which appear
-% to be from the font ITC Benguiat Gothic Standard Book Oblique, are not
-% supported.
+% McGraw Hill: Singapore, 2020. Their symbols for specific and
+% total volume, which appear to be from the font ITC Benguiat Gothic (and
+% reasonably approximated by Krub Italic), are not directly
+% supported.\footnote{%
+% \providecommand*{\XeTeX}{X\kern-0.125em \lower 0.5ex
+% \hbox{\reflectbox{\hbox{E}}}\kern-0.125em \TeX}
+% If you have ITC Benguiat Gothic installed and want to use it for the
+% volume symbol, you can use it through \XeTeX; try this:\\
+% \texttt{\textbackslash usepackage\{fontspec\}} \\
+% \texttt{\textbackslash setsansfont\{ITC Benguiat Gothic\}} \\
+% \texttt{\textbackslash ExplSyntaxOn} \\
+% \texttt{\mbox{}~~\textbackslash tl\_gset:Nn
+% \textbackslash g\_\_thermodynamics\_volume\_symbol
+% \{\{\textbackslash text\{\textbackslash
+% sffamily V\}\}\}} \\
+% \texttt{\textbackslash ExplSyntaxOff}
+% \label{fn:XeTeX}}
% \item[ElliottLira] Notation used by Elliott and Lira, \emph{Introductory
% Chemical Engineering Thermodynamics}, Second Edition. Prentice Hall:
-% Upper Saddle River, 2012. Loads the default package options and
-% redefines \cs{IG}, \cs{IGM}, \cs{allcomponents}, and \cs{Deltarxn} to fit
-% their notation.
+% Upper Saddle River, 2012. \emph{Note: these authors use
+% Henry's Law (molal basis) in the form \(y_i P = m_i/K_{H,i}\), which is
+% inconsistent with their notation for the rational basis, so that macro
+% is left set to its default.}
+% \item[KlotzRosenberg] Notation used by Klotz and Rosenberg, \emph{Chemical
+% Thermodynamics: Basic Concepts and Methods}, Seventh Edition.
+% Wiley: Hoboken, 2008.
% \item[Koretsky] Notation used by Koretsky, \emph{Engineering and Chemical
-% Thermodynamics}, Second Edition, Wiley: New Caledonia, 2013.
-% Loads the non-default package options \verb"EUAGHAn", \verb"brackets",
-% \verb"intensive-lowercase", and \verb"delta"; modifies the
-% \verb"intensive-lowercase" defaults to make uppercase partial molar
-% properties to match Koretsky's notation and redefines
-% \cs{expansivitysymbol}, \cs{IS}, \cs{residual}, \cs{IG}, \cs{IGM},
-% \cs{Deltafus}, \cs{Deltasub}, \cs{Deltavap}, \cs{Henryrat},
-% \cs{gammarat}, \cs{Deltafus}, \cs{Deltavap}, and \cs{Deltasub} to match
-% his use. Also redefines the fugacity coefficients to use $\varphi$
-% instead of $\phi$.
+% Thermodynamics}, Second Edition. Wiley: New Caledonia, 2013.
+% \item[ModellReid] Alias for \verb"TesterModell" (the first and second
+% editions were by Modell and Reid; Reid died prior to the third edition).
% \item[MSBB] Notation used by Moran, Shapiro, Boettner, and Bailey,
% \emph{Fundamentals of Engineering Thermodynamics}, Eighth Edition.
-% Wiley: Kendallville, 2014. Loads the non-default package options
-% \verb"EUFGHAn", \verb"intensive-lowercase", and \verb"delta"; removes the
-% left parenthesis in partial derivatives and redefines \cs{IGM}, \cs{IG},
-% \cs{expansitivitysymbol}, \cs{allcomponents}, \cs{allbut}, \cs{Ft},
-% \cs{fmix}, and \cs{phimix}, as well as symbols for the Helmholtz free
-% energy and pressure, intensive and specific property notation, and
-% partial molar notation to fit their somewhat ill-advised notation.
+% Wiley: Kendallville, 2014.
% \item[Prausnitz] Notation used by Prausnitz, Lichtenthaler, and de Azevedo,
% \emph{Molecular Thermodynamics of Fluid-Phase Equilibria}, Third Edition,
-% Pearson, 1998. Loads the non-default package option
-% \verb"intensive-lowercase" and redefines \cs{fmix}, \cs{phimix},
-% \cs{fpure}, \cs{phipure}, \cs{Henryrat}, \cs{residual},
-% \cs{allcomponents}, and \cs{allbut} to fit their notation.
+% Pearson, 1998.
% \item[Sandler] Notation used by Sandler, \emph{Chemical, Biochemical, and
% Engineering Thermodynamics}, Fifth Edition. Wiley: Hoboken, 2017.
-% Loads non-default package options \verb"EUAGHaN" and
-% \verb"extensive-plain"; also redefines \cs{sat}, \cs{excess},
-% \cs{residual}, \cs{ncomponents}, \cs{fmix}, \cs{fstd}, \cs{phimix},
-% \cs{allcomponents}, \cs{IS}, \cs{Deltamix}, \cs{Deltarxn}, \cs{Deltasub},
-% \cs{Deltafus}, \cs{Deltavap}, and \cs{Henryrat}. Also redefines \cs{cV},
-% \cs{cP}, \cs{cVt}, and \cs{cPt}.
% \item[SVNAS] Notation used by Smith, Van Ness, Abbott, and Swihart,
% \emph{Introduction to Chemical Engineering Thermodynamics}, Ninth
-% Edition. McGraw-Hill: Boston, 2021. Loads the non-default package option
-% \verb"extensive-superscript" and redefines \cs{allcomponents},
-% \cs{allbut}, \cs{IG}, \cs{IGM}, \cs{IS}, \cs{expansivitysymbol}, and
-% \cs{Deltarxn} to fit their notation. The extensive heat capacities are
-% also redefined, as they do not use such an entity.
+% Edition. McGraw-Hill: Boston, 2021.
% \item[TesterModell] Notation used by Tester and Modell,
% \emph{Thermodynamics and Its Applications}, Third Edition, Prentice Hall:
-% Upper Saddle River, 1997. Loads the non-default package options
-% \verb"EUAGHaN" and \verb"delta"; also redefines \cs{ncomponents} to be
-% $n$ and redefines \cs{allcomponents}, \cs{allbut}, and \cs{allbutlastand}
-% to fit their (somewhat inconsistent) notation. Also redefines \cs{IG},
-% \cs{IGM}, \cs{IS}, \cs{excess}, \cs{reaction}, \cs{Henryrat},
-% \cs{Henrymol}, \cs{gammarat}, and \cs{gammamol} to fit their style.
+% Upper Saddle River, 1997.
% \item[Thompson] Notation used by Thompson, \emph{A Unified Introduction to
% Chemical Engineering Thermodynamics}, Stillwater Press: Orono, 2000.
-% Loads the non-default package options |EUAGHAn| and |delta|;
-% also redefines \cs{excess}, \cs{residual}, \cs{Henryrat}, \cs{Henrymol},
-% \cs{allcomponents}, \cs{ncomponents}, \cs{IS}, \cs{IG}, \cs{IGM},
-% \cs{fpure}, \cs{phipure}, \cs{mix}, \cs{Deltamix}, \cs{Deltarxn}, and
-% \cs{allbut} to match his notation, plus adjustments to intensive (molar)
-% properties. Note that he uses $c$, $\mathrm{c}$, $n_C$, and
-% $\mathrm{n}$ for the number of components in various places in the book;
-% I chose $c$ for the definition of \cs{ncomponents}, but it is impossible
-% to be completely consistent with his notation.
+% Note that he uses $c$, $\mathrm{c}$, $n_C$, and $\mathrm{n}$ for the
+% number of components in various places in the book; I chose $c$ for the
+% definition of \cs{ncomponents}, but it is impossible to be completely
+% consistent with his notation.
% \end{description}
% There may well be some inconsistencies between the notation in these books
% and the symbols used here. I will fix such inconsistencies as I become aware
% of them.
+%
+% \textbf{Important}: Some textbooks use symbols other than \(\mu\) for
+% chemical potential and \(\gamma\) for activity coefficients. For example,
+% |KlotzRosenberg| uses $\muup$ for the chemical potential and $\gammaup$
+% for the activity coefficient. In such cases,
+% the macro \verb"\mu" will produce whatever symbol \emph{is} used for the
+% chemical potential, and \verb"\gamma" will produce the activity coefficient.
+% The original symbols will still be available as \cs{gammait} and \cs{muit},
+% respectively.
+%
+% \appendix
+% \section{Notation Across Textbooks} \label{sec:symbols}
+% \changes{v2.02}{2024/06/14}{Improved consistency of package options for
+% textbooks and added a table of symbols organized by textbook option.}
+% Some of the textbooks supported by this package use multiple symbols for the
+% same quantity---for example, Sandler's textbook uses both \(P^\text{sat}\)
+% and \(P^\text{vap}\) for vapor (saturation) pressure, and Elliott and Lira
+% use both \(\Delta H^\circ\) and \(\Delta H_R^o\) for the standard enthalpy
+% of reaction. This package may only support one of the two in such cases.
+%
+% Table~\ref{table:textbooks} gives a description of each symbol supported
+% by the package, the corresponding command, and the way that command is
+% rendered using each of the textbook-related options in
+% Section~\ref{sec:textbooks}. Packages consisting of two names are shortened
+% to one name in the headers for space considerations.
+%
+% \NewDocumentCommand{\inherit}{m}{\textcolor{gray}{#1}}
+% \begin{landscape}\scriptsize
+% \tablehead{%
+% \toprule
+% Quantity & Macro & Default & Bejan & CBK & Elliott & Klotz
+% & Koretsky & MSBB & Prausnitz & Sandler & SVNAS & Modell & Thompson \\
+% \midrule
+% }
+% \tabletail{%
+% \midrule\multicolumn{13}{l}{\emph{continued on next page\dots}} \\
+% }
+% \tablelasttail{\bottomrule}
+% \tablecaption{How symbols are typeset for various textbooks.
+% Entries in \inherit{gray} indicate quantities that are not directly or
+% indirectly defined in a particular textbook and are therefore inherited
+% fromthe defaults.
+% \emph{Note: Options with two authors, such as \texttt{ElliottLira},
+% only include one name so as to fit on one page.}
+% \label{table:textbooks}}
+% \setlength{\extrarowheight}{3.5pt}%
+% \begin{mpsupertabular}{l l l l l l l l l l l l l l}
+% \# components & \verb"\ncomponents" & $\ncomponents$ & $n$ & $\inherit{\ncomponents}$ & $\inherit{\ncomponents}$ & $\inherit{\ncomponents}$ & $m$ & $\inherit{\ncomponents}$ & $m$ & $\mathcal{C}$ & $\inherit{\ncomponents}$ & $n$ & $c$ \\
+% activity (absolute) & \verb"\actabs_i" & $\actabs_i$ & $\inherit{\lambda_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ & $\inherit{\lambda_i}$ & $\inherit{\lambda_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ & $\inherit{\actabs_i}$ \\
+% activity (relative) & \verb"\actrel_i" & $\actrel_i$ & $\inherit{\actrel_i}$ & $\inherit{\actrel_i}$ & $a_i$ & $a_i$ & $\inherit{a_i}$ & $\inherit{\actrel_i}$ & $\mathdutchcal{a}_i$\relax
+% \footnote{The symbol $\mathdutchcal{a}$ requires the |dutchcal| fonts to be installed,
+% though the package itself is not loaded. This symbol is an approximation to the one
+% the book actually uses.} & $a_i$ & $a_i$ & $a_i$ & $\widehat a_i$ \\
+% activity coefficient (ordinary) & \verb"\gamma_i" & $\gamma_i$ & $\inherit{\gamma_i}$ & $\inherit{\gamma_i}$ & $\gamma_i$ & $\gammaup_i$ & $\gamma_i$ & $\inherit{\gamma_i}$ & $\gamma_i$ & $\gamma_i$ & $\gamma_i$ & $\gammaup_i$ & $\gamma_i$ \\
+% activity coefficient (Henry, rational) & \verb"\gammarat_i" & $\gammarat_i$ & $\inherit{\gammarat_i}$ & $\inherit{\gammarat_i}$ & $\gamma_i^\ast$ & $\gammaup_i$ & $\gamma_i^\text{Henry's}$ & $\inherit{\gammarat_i}$ & $\inherit{\gammarat_i}$ & $\gamma_i^\ast$ & $\inherit{\gammarat_i}$ & $\gammaup_i^{\ast\ast}$ & $\inherit{\gammarat_i}$ \\
+% activity coefficient (Henry, molal) & \verb"\gammamol_i" & $\gammamol_i$ & $\inherit{\gammamol_i}$ & $\inherit{\gammamol_i}$ & $\gamma_i^\square$ & $\gammaup_i$ & $\gamma_i^m$ & $\inherit{\gammamol_i}$ & $\inherit{\gammamol_i}$ & $\gamma_i^\square$ & $\gammarat_i$ & $\gammaup_i^\ast$ & $\inherit{\gammamol_i}$ \\
+% adiabatic compressibility & \multicolumn{13}{l}{\emph{See} isentropic compressibility} \\
+% adiabatic expansivity & \multicolumn{13}{l}{\emph{See} isentropic expansivity} \\
+% area (total) & \verb"\At" & $\At$ & $A$ & $A$ & $\inherit{\At}$ & $\inherit{a}$ & $A$ & $A$ & $\inherit{A}$ & $\inherit{a}$ & $\inherit{a^t}$ & {\large$\underline{a}$} & $\inherit{\mkern2mu\underline{\mkern-2mu\mathcal{A}\mkern-2mu}\mkern2mu}$ \\
+% chemical potential & \verb"\mu" & $\mu$ & $\mu$ & $\mu$ & $\mu$ & $\muup$ & $\mu$ & $\mu$ & $\mu$ & $\mu$ & $\mu$ & $\muup$ & $\mu$ \\
+% electric potential & \verb"\Epot" & $\Epot$ & $\inherit{\Epot}$ & $\inherit{\Epot}$ & $E$ & $\emf$\footnote{The
+% symbol $\emf$ requires the \pkg{emf} package. If that package is not
+% loaded, $\mathcal{E}$ is used instead.\label{fn:emf}}
+% & $E$ & $\inherit{\Epot}$ & $\emf$\footref{fn:emf} & $E$ & $E$ & $\exists$ & $E$ \\
+% electric potential (standard) & \verb"\Epot^\std" & $\Epot^\std$ & $\inherit{\Epot^\std}$ & $\inherit{\Epot^\std}$ & $E^\circ$ & $\emf^\circ$ & $E^o$ & $\inherit{\Epot^\std}$ & $\emf^0$ & $\inherit{E^\circ}$ & $E^\circ$ & $\exists^o$ & $E^\circ$ \\
+% energy (total) & \verb"\Et" & $\Et$ & $E$ & $E$ & $\inherit{\Et}$ & $\inherit{E}$ & $E$ & $E$ & $E$ & $\inherit{E}$ & $\inherit{E^t}$ & $\Et$ & $\inherit{\Et}$ \\
+% energy (molar) & \verb"\Em" & $\Em$ & $\overline{e}$ & $\overline{e}$ & $\inherit{\Em}$ & $\inherit{E_{\textrm{m}}}$ & $e$ & $\overline{e}$ & $\inherit{e}$ & \begin{thermoextensiveplain}$\inherit{\Em}$\end{thermoextensiveplain} & $\inherit{E}$ & $\Em$ & $\inherit{\Em}$ \\
+% energy (specific) & \verb"\Es" & $\Es$ & $e$ & $e$ & $\inherit{E}$ & $\inherit{\hat E}$ & $\hat e$ & $e$ & $\inherit{\hat e}$ & $\hat E$ & $\inherit{E}$ & $\Es$ & $\inherit{\Em}$ \\
+% enthalpy (total) & \verb"\Ht" & $\Ht$ & $H$ & $H$ & $\Ht$ & $H$ & $H$ & $H$ & $H$ & $H$ & $H^t$ & $\Ht$ & $\Ht$ \\
+% enthalpy (molar) & \verb"\Hm" & $\Hm$ & $\overline{h}$ & $\overline{h}$ & $H$ & $H_{\textrm{m}}$ & $h$ & $\overline{h}$ & $h$ & \begin{thermoextensiveplain}$\Hm$\end{thermoextensiveplain} & $H$ & $\Hm$ & $\Hm$ \\
+% enthalpy (specific) & \verb"\Hs" & $\Hs$ & $h$ & $h$ & $H$ & $\inherit{\Hs}$ & $\hat h$ & $h$ & $\inherit{\hat h}$ & $\hat H$ & $H$ & $\Hs$ & $\inherit{\Hs}$ \\
+% enthalpy (partial molar) of $i$ & \verb"\Hpm_i" & $\Hpm_i$ & $\inherit{\overline{h}_i}$ & $\widetilde{h}_i$ & $\overline{H}_i$ & $H_{\mathrm{m}i}$ & $\overline{H}_i$ & $\Hpm_i$ & $\overline{h}_i$ & \begin{thermoshortpm}$\Hpm_i$\end{thermoshortpm} & $\overline{H}_i$ & $\Hpm_i$ & $\Hpm_i$ \\
+% enthalpy of reaction & \verb"\Deltarxn\Hm" & $\Deltarxn\Hm$ & $\inherit{\Delta\overline{h}_\text{rxn}}$ & $\overline{h}_R$ & $\Delta H$ & $\Delta H_{\mathrm{m}}$ & $\Delta h_\text{rxn}$ & $\inherit{\Delta\overline{h}_\text{rxn}}$ & $\inherit{\Delta h_\text{rxn}}$ & \begin{thermoextensiveplain}$\Delta_{\text{rxn}}\Hm$\end{thermoextensiveplain} & $\Delta H$ & $\Delta H_{rx}$ & $\Delta H_R$ \\
+% enthalpy of fusion & \verb"\Deltafus\Hm" & $\Deltafus\Hm$ & $\overline{h}_{sf}$ & $\overline{h}_{sf}$ & $\Delta H^{fus}$ & $\Delta H_{\mathrm{m}}$ & $\Delta h_\text{fus}$ & $\inherit{\overline{h}^\text{fus}}$ & $\inherit{\Delta h^\text{fus}}$ & \begin{thermoextensiveplain}$\Delta_\text{fus}\Hm$\end{thermoextensiveplain} & $\Delta H^{sl}$ & $\inherit{\Deltafus H}$ & $\Delta H^{SL}$ \\
+% enthalpy of vaporization & \verb"\Deltavap\Hm" & $\Deltavap\Hm$ & $\overline{h}_{sf}$ & $\overline{h}_{fg}$ & $\Delta H^{vap}$ & $\Delta H_{\mathrm{m}}$ & $\Delta h_\text{vap}$ & $\inherit{\overline{h}^\text{vap}}$ & $\inherit{\Delta h^\text{vap}}$ & \begin{thermoextensiveplain}$\Delta_\text{vap}\Hm$\end{thermoextensiveplain} & $\Delta H^{vl}$ & $\inherit{\Deltavap H}$ & $\Delta H^{LV}$ \\
+% enthalpy of sublimation & \verb"\Deltasub\Hm" & $\Deltasub\Hm$ & $\overline{h}_{sg}$ & $\overline{h}_{sg}$ & $\inherit{\Delta H^{sub}}$ & $\Delta H_{\mathrm{m}}$ & $\Delta h_\text{sub}$ & $\inherit{\overline{h}^\text{sub}}$ & $\inherit{\Delta h^\text{sub}}$ & $\Delta_\text{sub}\Ht$ & $\Delta H^{vs}$ & $\inherit{\Deltasub H}$ & $\inherit{\Delta H^{SV}}$ \\
+% entropy (total) & \verb"\St" & $\St$ & $S$ & $S$ & $\St$ & $S$ & $S$ & $S$ & $S$ & $S$ & $S^t$ & $\St$ & $\St$ \\
+% entropy (molar) & \verb"\Sm" & $\Sm$ & $\overline{s}$ & $\overline{s}$ & $S$ & $S_{\mathrm{m}}$ & $s$ & $\overline{s}$ & $s$ & $\St$ & $S$ & $S$ & $S$ \\
+% entropy (specific) & \verb"\Ss" & $\Ss$ & $s$ & $s$ & $S$ & $\inherit{\Ss}$ & $\hat s$ & $s$ & $\inherit{\hat s}$ & $\hat S$ & $S$ & $\hat S$ & $\inherit{\Ss}$ \\
+% entropy (partial molar) of $i$ & \verb"\Spm_i" & $\Spm_i$ & $\overline{S}_i$ & $\widetilde{s}_i$ & $\overline{S}_i$ & $S_{\mathrm{m}i}$ & $\overline{S}_i$ & $\Spm_i$ & $\overline{s}_i$ & \begin{thermoshortpm}$\Spm_i$\end{thermoshortpm} & $\overline{S}_i$ & $\Spm_i$ & $\Spm_i$ \\
+% extent of reaction & \verb"\xrxn" & $\xrxn$ & $\zeta$ & $\inherit{\xrxn}$ & $\xi$ & $\xiup$ & $\xi$ & $\varepsilon$ & $\inherit{\xi}$ & $X$ & $\varepsilon$ & $\xiup$ & $\xi$ \\
+% fugacity of pure substance & \verb"\fpure" & $\fpure$ & $f$ & $\inherit{\fpure}$ & $f$ & $f$ & $f$ & $f$ & $f_\text{pure}$ & $f$ & $f$ & $f$ & $f$ \\
+% fugacity of pure $i$ & \verb"\fpure_i" & $\fpure_i$ & $\inherit{f_i^\bullet}$ & $\inherit{\fpure_i}$ & $f_i$ & $f_i^\bullet$ & $f_i$ & $f_i$ & $f_{\text{pure}\,i}$ & $f_i$ & $f_i$ & $f_i$ & $f_i^\bullet$ \\
+% fugacity of $i$ in mixture & \verb"\fmix_i" & $\fmix_i$ & $f_i$ & $\inherit{\fmix_i}$ & $\hat f_i$ & $f_i$ & $\hat f_i$ & $\bar f_i$ & $f_i$ & $\bar f_i$ & $\hat f_i$ & $\hat f_i$ & $\widehat{f}_i$ \\
+% fugacity at saturation & \verb"\fsat" & $\fsat$ & $\inherit{f^\sat}$ & $\inherit{\fsat}$ & $f^{sat}$ & $\inherit{f^\text{sat}}$ & $\inherit{f^\text{sat}}$ & $\inherit{f^\text{sat}}$ & $f^s_\text{pure}$ & $f^\text{sat}$ & $f^\text{sat}$ & $\inherit{\fsat}$ & $f^\text{sat}$ \\
+% fugacity coefficient of pure substance & \verb"\phipure" & $\phipure$ & $\inherit{\phi}$ & $\inherit{\phipure}$ & $\phi$ & $\gamma$ & $\varphi$ & $\inherit{\phi}$ & $\varphi_{\text{pure}}$ & $\phi$ & $\phi$ & $\phiup$ & $\phi$ \\
+% fugacity coefficient of pure $i$ & \verb"\phipure_i" & $\phipure_i$ & $\inherit{\phi_i^\bullet}$ & $\inherit{\phipure_i}$ & $\phi_i$ & $\gamma_i^\bullet$ & $\varphi_i$ & $\inherit{\phi_i}$ & $\varphi_{\text{pure}\,i}$ & $\phi_i$ & $\phi_i$ & $\phiup_i$ & $\phi_i^\bullet$ \\
+% fugacity coefficient of $i$ in mixture & \verb"\phimix_i" & $\phimix_i$ & $\inherit{\phi_i}$ & $\inherit{\phimix_i}$ & $\hat\phi_i$ & $\gamma_i$ & $\hat\varphi_i$ & $\bar\phi_i$ & $\varphi_i$ & $\bar\phi_i$ & $\hat\phi_i$ & $\hat\phiup_i$ & $\widehat{\phi}_i$ \\
+% fugacity coefficient at saturation & \verb"\phisat" & $\phisat$ & $\inherit{\phisat}$ & $\inherit{\phisat}$ & $\phi^{sat}$ & $\inherit{\gamma^\text{sat}}$ & $\varphi^\text{sat}$ & $\inherit{\phi^\text{sat}}$ & $\varphi^s$ & $\phi^\text{sat}$ & $\phi^\text{sat}$ & $\inherit{\phiup^\sat}$ & $\phi^\text{sat}$ \\
+% Gibbs free energy (total) & \verb"\Gt" & $\Gt$ & $G$ & $G$ & $\Gt$ & $G$ & $G$ & $G$ & $G$ & $G$ & $G^t$ & $\Gt$ & $\Gt$ \\
+% Gibbs free energy (molar) & \verb"\Gm" & $\Gm$ & $\overline{g}$ & $\overline{g}$ & $G$ & $G_{\mathrm{m}}$ & $g$ & $\overline{g}$ & $g$ & $\Gt$ & $G$ & $G$ & $G$ \\
+% Gibbs free energy (specific) & \verb"\Gs" & $\Gs$ & $g$ & $g$ & $G$ & $\inherit{\Gs}$ & $\hat g$ & $g$ & $\inherit{\hat g}$ & $\hat G$ & $G$ & $\Gs$ & $\inherit{\Gs}$ \\
+% Gibbs free energy (partial molar) & \verb"\Gpm_i" & $\Gpm_i$ & $\overline{G}_i$ & $\widetilde{g}_i$ & $\Gpm_i$ & $G_{\mathrm{m}i}$ & $\overline{G}_i$ & $\Gpm_i$ & $\partialmolar{g}_i$ & \begin{thermoshortpm}$\Gpm_i$\end{thermoshortpm} & $\Gpm_i$ & $\Gpm_i$ & $\partialmolar{G}_i$ \\
+% Gibbs free energy of mixing & \verb"\Deltamix\Gt" & $\Deltamix\Gt$ & $\inherit{\Deltamix G}$ & $\inherit{\Deltamix G}$ & $\Delta\Gt_\text{mix}$ & $\Delta G_\text{mix}$ & $\Delta G_\text{mix}$ & $\inherit{\Deltamix G}$ & $\Delta G_\text{mixing}$ & $\Delta_\text{mix}G$ & $\Delta G^t$ & $\Deltamix\Gt$ & $\Delta_{MIX}\Gt$ \\
+% Gibbs free energy of reaction & \verb"\Deltarxn\Gm" & $\Deltarxn\Gm$ & $\inherit{\Deltarxn{\bar{g}}}$ & $\overline{g}_R$ & $\Delta G$ & $\Delta G_{\mathrm{m}}$ & $\Delta g_\text{rxn}$ & $\inherit{\Deltarxn{\overline{g}}}$ & $\inherit{\Delta g_\text{rxn}}$ & $\Delta_\text{rxn}\Gt$ & $\Delta G$ & $\Delta G_{rx}$ & $\Delta G_R$ \\
+% grand potential (total) & \verb"\Lt" & $\Lt$ & $F_\mu$ & $\inherit{\Omega}$ & $\inherit{\Lt}$ & $\inherit{\Omega}$ & $\inherit{\Omega}$ & $\inherit{\Omega}$ & $\inherit{\Omega}$ & $\inherit{\Omega}$ & $\inherit{\Lt}$ & $\inherit{\Lt}$ & $\inherit{\Lt}$ \\
+% grand potential (molar) & \verb"\Lm" & $\Lm$ & $\overline{f}_\mu$ & $\inherit{\overline{\omega}}$ & $\inherit{\Lm}$ & $\inherit{\Omega_{\mathrm{m}}}$ & $\inherit{\omega}$ & $\inherit{\overline{\omega}}$ & $\inherit{\omega}$ & $\inherit{\Lt}$ & $\inherit{\Lm}$ & $\inherit{\Lm}$ & $\inherit{\Lm}$ \\
+% grand potential (specific) & \verb"\Ls" & $\Ls$ & $f_\mu$ & $\inherit{\omega}$ & $\inherit{\Ls}$ & $\inherit{\Ls}$ & $\inherit{\hat\omega}$ & $\inherit{\omega}$ & $\inherit{\hat\omega}$ & $\inherit{\Ls}$ & $\inherit{\Lm}$ & $\inherit{\Ls}$ & $\inherit{\Ls}$ \\
+% heat (total) & \verb"\Qt" & $\Qt$ & $Q$ & $Q$ & $\Qt$ & $Q$ & $Q$ & $Q$ & $Q$ & $Q$ & $Q^t$ & $\inherit{\Qt}$ & $\inherit{\Qt}$ \\
+% heat (molar) & \verb"\Qm" & $\Qm$ & $\overline{q}$ & $\overline{q}$ & $Q$ & $\inherit{Q_{\mathrm{m}}}$ & $q$ & $\overline{q}$ & $\inherit{q}$ & $\inherit{\Qt}$ & $Q$ & $Q$ & $Q$ \\
+% heat (specific) & \verb"\Qs" & $\Qs$ & $q$ & $q$ & $Q$ & $\inherit{\Qs}$ & $\hat q$ & $q$ & $\inherit{\hat q}$ & $\inherit{\Qs}$ & $Q$ & $\inherit{\hat Q}$ & $\inherit{\Qs}$ \\
+% heat capacity (isobaric, total) & \verb"\cPt" & $\cPt$ & $C_P$ & $\inherit{C_p}$ & $\underline{C}_P$ & $C_P$ & $\inherit{C_P}$ & $\inherit{C_p}$ & $C_p$ & $NC_P$ & $nC_P$ & $\inherit{\underline{C}_p}$ & $\inherit{\cPt}$ \\
+% heat capacity (isobaric, molar) & \verb"\cP" & $\cP$ & $\overline{c}_P$ & $\overline{c}_p$ & $C_P$ & $C_{P\mathrm{m}}$ & $c_P$ & $\overline{c}_p$ & $c_p$ & $C_P$ & $C_P$ & $C_p$ & $C_P$ \\
+% heat capacity of $i$ (isobaric, molar) & \verb"\cP_i" & $\cP_i$ & $\overline{c}_{P,i}$ & $\overline{c}_{p,i}$ & $C_{P,i}$ & $C_{P\mathrm{m}i}^\bullet$ & $C_{P,i}$ & $\overline{c}_{p,i}$ & $c_{p\,i}$ & $C_{P,i}$ & ${C_P}_i$ & $C_{pi}$ & $C_{P,i}$ \\
+% heat capacity (isobaric, specific) & \verb"\cPs" & $\cPs$ & $c_P$ & $c_p$ & $C_P$ & $\inherit{\cPs}$ & $\hat c_P$ & $c_p$ & $\inherit{\hat c_p}$ & $\hat C_P$ & $C_P$ & $\inherit{\hat C_p}$ & $\inherit{\hat C_p}$ \\
+% heat capacity (isobaric, partial molar) & \verb"\cPpm_i" & $\cPpm_i$ & $\overline{c}_{P,i}$ & $\inherit{\widetilde{C}_{p,i}}$ & $\overline{C}_{P,i}$ & $C_{P\mathrm{m}i}$ & $\overline{C}_{P,i}$ & \begin{thermoshortpm}$\partialmolar{C}_{p,i}$\end{thermoshortpm} & $\inherit{\bar c_{p\,i}}$ & \begin{thermoshortpm}$\cPpm_i$\end{thermoshortpm} & ${\overline{C}_P}_i$ & $\overline{C}_{pi}$ & \begin{thermoshortpm}$\inherit{\cPpm_i}$\end{thermoshortpm} \\
+% heat capacity (isochoric, total) & \verb"\cVt" & $\cVt$ & $C_V$ & $\inherit{C_V}$\footref{fn:XeTeX} & $\underline{C}_V$ & $C_V$ & $C_V$ & $C_v$ & $C_v$ & $NC_V$ & $nC_V$ & $\inherit{\underline{C}_v}$ & $\inherit{\cVt}$ \\
+% heat capacity (isochoric, molar) & \verb"\cV" & $\cV$ & $\overline{c}_v$ & $\overline{c}_V$\footref{fn:XeTeX} & $C_V$ & $C_{V\mathrm{m}}$ & $c_V$ & $\overline c_v$ & $c_v$ & $C_V$ & $C_V$ & $C_v$ & $C_V$ \\
+% heat capacity (isochoric, specific) & \verb"\cVs" & $\cVs$ & $c_v$ & $c_V$\footref{fn:XeTeX} & $C_V$ & $\inherit{\cVs}$ & $\hat c_v$ & $c_v$ & $\inherit{\hat c_p}$ & $\hat C_V$ & $C_V$ & $\inherit{\hat C_v}$ & $\inherit{\cVs}$ \\
+% heat capacity (isochoric, partial molar) & \verb"\cVpm_i" & $\cVpm_i$ & $\overline{c}_{v,i}$ & $\widetilde{C}_{V,i}$\footref{fn:XeTeX} & $\overline{C}_{V,i}$ & $C_{V\mathrm{m}i}$ & $\overline{C}_V$ & \begin{thermoshortpm}$\partialmolar{C}_{v,i}$\end{thermoshortpm} & $\inherit{\bar c_{v\,i}}$ & \begin{thermoshortpm}$\cVpm_i$\end{thermoshortpm} & ${\overline{C}_V}_i$ & $\overline{C}_{vi}$ & \begin{thermoshortpm}$\inherit{\cVpm_i}$\end{thermoshortpm} \\
+% Helmholtz free energy (total) & \verb"\Ft" & $\Ft$ & $F$ & $A$ & $\underline{A}$ & $A$ & $A$ & $\Psi$ & $A$ & $A$ & $A^t$ & $\Ft$ & $\Ft$ \\
+% Helmholtz free energy (molar) & \verb"\Fm" & $\Fm$ & $\bar{f}$ & $\overline{a}$ & $A$ & $A_{\mathrm{m}}$ & $a$ & $\overline{\psi}$ & $a$ & $\Ft$ & $A$ & $A$ & $A$ \\
+% Helmholtz free energy (specific) & \verb"\Fs" & $\Fs$ & $f$ & $a$ & $A$ & $\inherit{\Fs}$ & $\hat a$ & $\psi$ & $\inherit{\hat a}$ & $\hat A$ & $A$ & $\Fs$ & $\inherit{\Fs}$ \\
+% Helmholtz free energy (partial molar) & \verb"\Fpm_i" & $\Fpm_i$ & $\overline{f}_i$ & $\widetilde{a}_i$ & $\overline{A}_i$ & $A_{\mathrm{m}i}$ & $\overline{A}_i$ & $\overline{\Psi}_i$ & $\overline a_i$ & \begin{thermoshortpm}$\Fpm_i$\end{thermoshortpm} & $\begin{thermoshortpm}\Fpm_i\end{thermoshortpm}$ & $\partialmolar{A}_i$ & \begin{thermoshortpm}$\partialmolar{A}_i$\end{thermoshortpm} \\
+% Henry's constant (rational basis) & \verb"\Henryrat_i" & $\Henryrat_i$ & $\inherit{\Henryrat_i}$ & $\inherit{\Henryrat_i}$ & $h_i$ & $k_i$ & $\mathcal{H}_i$ & $\inherit{\Henryrat_i}$ & $H_i$ & $H_i$ & $\mathcal{H}_i$ & $f^{**}$ & $k_{H,i}$ \\
+% Henry's constant (molal basis) & \verb"\Henrymol_i" & $\Henrymol_i$ & $\inherit{\Henrymol_i}$ & $\inherit{\Henrymol_i}$ & $\inherit{\Henrymol_i}$ & $k''_i$ & $\inherit{\Henrymol_i}$ & $\inherit{\Henrymol_i}$ & $\inherit{\Henrymol_i}$ & $\mathcal{H}_i$ & $\inherit{\Henrymol_i}$ & $f^*$ & $k_{H,i}$ \\
+% ideal gas enthalpy & \verb"\Hm^\IG" & $\Hm^\IG$ & $\inherit{\bar{h}^\IG}$ & $\inherit{\overline{h}^\IG}$ & $H^{ig}$ & $\inherit{H_{\mathrm{m}}^\IG}$ & $h^\text{ideal~gas}$ & $\smash{\overline{h}}^\ast$ & $h^\text{id}$ & $H^\text{IG}$ & $H^{ig}$ & $H^o$ & $H^{IG}$ \\
+% ideal gas mixture enthalpy & \verb"\Hm^\IGM" & $\Hm^\IGM$ & $\inherit{\bar{h}^\IG}$ & $\inherit{\overline{h}^\IGM}$ & $H^{ig}$ & $\inherit{H_{\mathrm{m}}^\IGM}$ & $h^\text{ideal}$ & $\smash{\overline{h}}^\ast$ & $h^\text{id}$ & $H^\text{IGM}$ & $H^{ig}$ & $H^o$ & $H^{IG}$ \\
+% ideal solution enthalpy & \verb"\Hm^\IS" & $\Hm^\IS$ & $\inherit{\bar{h}^\IS}$ & $\inherit{\overline{h}^\IS}$ & $H^{is}$ & $\inherit{H_{\mathrm{m}}^\IS}$ & $h^\text{ideal}$ & $\inherit{\smash{\overline{h}}^\IS}$ & $h^\text{(ideal)}$ & $H^\text{IM}$ & $H^{id}$ & $H^{ID}$ & $H^{IS}$ \\
+% inexact differential & \verb"\dbar" & $\dbar$ & $\delta$ & $\delta$ & $d$ & $d$ & $\delta$ & $\delta$ & $\inherit{\dbar}$ & $\inherit{\dbar}$ & $\dbar$ & $\delta$ & $\delta$ \\
+% internal energy (total) & \verb"\Ut" & $\Ut$ & $U$ & $U$ & $\underline{U}$ & $U$ & $U$ & $U$ & $U$ & $U$ & $U^t$ & $\Ut$ & $\Ut$ \\
+% internal energy (molar) & \verb"\Um" & $\Ut$ & $\bar{u}$ & $\overline{u}$ & $U$ & $U_{\mathrm{m}}$ & $u$ & $\overline{u}$ & $u$ & $\Ut$ & $U$ & $U$ & $U$ \\
+% internal energy (specific) & \verb"\Us" & $\Us$ & $u$ & $u$ & $U$ & $\inherit{\Us}$ & $\hat u$ & $u$ & $\inherit{\hat u}$ & $\hat U$ & $U$ & $u$ & $\inherit{\Us}$ \\
+% internal energy (partial molar) & \verb"\Upm_i" & $\Upm_i$ & $\overline{u}_i$ & $\widetilde{u}_i$ & $\overline{U}_i$ & $U_{\mathrm{m}i}$ & $\overline{U}_i$ & $\Upm_i$ & $\overline{u}_i$ & \begin{thermoshortpm}$\Upm_i$\end{thermoshortpm} & \begin{thermoshortpm}$\Upm_i$\end{thermoshortpm} & $\Upm_i$ & $\Upm_i$ \\
+% isothermal compressibility & \verb"\kappaT" & $\kappaT$ & $\kappa$ & $\alpha$ & $\kappa_T$ & $\betaup$ & $\kappa$ & $\kappa$ & $\beta$ & $\kappa_T$ & $\kappa$ & $\kappa_T$ & $\inherit{\kappaT}$ \\
+% isentropic compressibility & \verb"\kappaS" & $\kappaS$ & $\inherit{\kappaS}$ & $\inherit{\alpha_S}$ & $\inherit{\kappa_S}$ & $\inherit{\beta_S}$ & $\inherit{\kappaS}$ & $\alpha$ & $\inherit{\beta_S}$ & $\inherit{\kappaS}$ & $\inherit{\kappaS}$ & $\inherit{\kappaS}$ & $\inherit{\kappaS}$ \\
+% isobaric expansivity & \verb"\alphaP" & $\alphaP$ & $\beta$ & $\beta$ & $\alpha_P$ & $\alpha$ & $\beta$ & $\beta$ & $\alpha$ & $\alpha$ & $\beta$ & $\alpha_P$ & $\inherit{\alphaP}$ \\
+% isentropic expansivity & \verb"\alphaS" & $\alphaS$ & $\inherit{\beta_S}$ & $\inherit{\beta_S}$ & $\inherit{\alpha_S}$ & $\inherit{\alpha_S}$ & $\inherit{\beta_S}$ & $\inherit{\beta_S}$ & $\alpha_S$ & $\inherit{\alphaS}$ & $\inherit{\beta_S}$ & $\inherit{\alphaS}$ & $\inherit{\alphaS}$ \\
+% Joule--Thomson coefficient & \verb"\muJT" & $\muJT$ & $\mu_J$ & $\mu_\text{JT}$ & $\mu_{JT}$ & $\mu_\text{J.T.}$ & $\mu_\text{JT}$ & $\mu_J$ & $\inherit{\muJT}$ & $\mu$ & $\mu$ & $\alpha_H$ & $\alpha_H$ \\
+% moles & \verb"\Nt" & $\Nt$ & $N$ & $N$ & $n$ & $n$ & $n$ & $n$ & $n$ & $N$ & $n$ & $N$ & $n$ \\
+% saturation pressure & \verb"\Psat" & $\Psat$ & $\inherit{\Psat}$ & $P^v$ & $P^{sat}$ & $p$ & $P^\text{sat}$ & $\inherit{P^\text{sat}}$ & $P^s$ & $P^\text{sat}$ & $P^\text{sat}$ & $P^\text{sat}$ & $P^\text{sat}$ \\
+% saturation pressure of $i$ & \verb"\Psat_i" & $\Psat_i$ & $\inherit{\Psat_i}$ & $P^v_i$ & $P^{sat}_i$ & $p^\bullet_i$ & $P^\text{sat}_i$ & $\inherit{P^\text{sat}_i}$ & $P^s_i$ & $P^\text{sat}_i$ & $P^\text{sat}_i$ & $P^\text{sat}_i$ & $P^\text{sat}_i$ \\
+% standard molality & \verb"\Cstd_i" & $\Cstd_i$ & $\inherit{\Cstd_i}$ & $\inherit{\Cstd_i}$ & $m_i^\circ$ & $m_i^\circ$ & $\inherit{C_i^o}$ & $\inherit{\Cstd_i}$ & $C_i^0$ & \text{1~molal} & $m^\circ$ & $m^+$ & $m_i^\circ$ \\
+% standard chemical potential & \verb"\mustd" & $\mustd$ & $\inherit{\mustd}$ & $\inherit{\mustd}$ & $\mu^\circ$ & $\muup^\circ$ & $\mu^o$ & $\overline{g}^\circ$ & $\mu^0$ & $\mu^\circ$ & $G^\circ$ & $\muup^o$ & $\Gamma$ \\
+% standard enthalpy & \verb"\Hm^\std" & $\Hm^\std$ & $\bar{h}^\circ$ & $\smash{\overline{h}}^\circ$ & $H^\circ$ & $H^\circ_{\mathrm{m}}$ & $h^o$ & $\overline{h}^\circ$ & $h^0$ & $\Ht^\circ$ & $H^\circ$ & $H^o$ & $H^\circ$ \\
+% standard enthalphy of formation & \verb"\Deltaf\Hm^std" & $\Deltaf\Hm^\std$ & $\bar{h}^\circ_f$ & $\smash{\overline{h}}_f^\circ$ & $\Delta H_f^\circ$ & $\Delta_f H^\circ_{\mathrm{m}}$ & $\Delta h_f^o$ & $\bar{h}^\circ_{\mathrm{f}}$ & $\Delta h_f^0$ & $\Delta_{\mathrm{f}}\Ht^\circ$ & $\Delta H^\circ_{f298}$ & $\Delta H_f^o$ & $\Delta H_F^\circ$ \\
+% standard enthalphy of formation of $i$ & \verb"\Deltaf\Hm^std_i" & $\Deltaf\Hm^\std_i$ & $\bar{h}^\circ_{f,i}$ & $\smash{\overline{h}}_{f,i}^\circ$ & $\Delta H_{f,i}^\circ$ & $\Delta_f H^\circ_{\mathrm{m}i}$ & $(\Delta h_f^o)_i$ & $(\bar{h}^\circ_{\mathrm{f}})_i$ & $\Delta h_{f\,i}^0$ & $\Delta_{\mathrm{f}}\Ht^\circ_i$ & $\Delta H^\circ_{f298i}$ & $\Delta H^o_{fi}$ & $\Delta H_{F,i}^\circ$ \\
+% standard enthalphy of reaction & \verb"\Deltarxn\Hm^std" & $\Deltarxn\Hm^\std$ & $\inherit{\bar{h}^\circ_\reaction}$ & $\smash{\overline{h}}_R^\circ$ & $\Delta H^\circ$ & $\Delta H_{\mathrm{m}}$ & $\Delta h^o_\text{rxn}$ & $\inherit{\Delta\bar{h}^\circ_\text{rxn}}$ & $\Delta h^0_\text{rxn}$ & $\Delta_\text{rxn}\Ht^\circ$ & $\Delta H^\circ$ & $\Delta H_{rx}^o$ & $\Delta H_R^\circ$ \\
+% standard free energy of formation & \verb"\Deltaf\Gm^std" & $\Deltaf\Gm^\std$ & $\bar{g}^\circ$ & $\smash{\bar{g}}_f^\circ$ & $\Delta G_f^\circ$ & $\Delta_f G^\circ_{\mathrm{m}}$ & $\Delta g_f^o$ & $\bar{g}^\circ_{\mathrm{f}}$ & $\Delta g_f^0$ & $\Delta_{\mathrm{f}}\Gt^\circ$ & $\Delta G^\circ_{f298}$ & $\Delta G_f^o$ & $\Delta G_F^\circ$ \\
+% standard free energy of formation of $i$ & \verb"\Deltaf\Gm_i^std" & $\Deltaf\Gm_i^\std$ & $\bar{g}^\circ_{f,i}$ & $\smash{\bar{g}}_{f,i}^\circ$ & $\Delta G_{f,i}^\circ$ & $\Delta_f G^\circ_{\mathrm{m}i}$ & $(\Delta g_f^o)_i$ & $(\bar{g}^\circ_{\mathrm{f}})_i$ & $\Delta g_{f\,i}^0$ & $\Delta_{\mathrm{f}}\Gt^\circ_i$ & $\Delta G^\circ_{f298i}$ & $\Delta G^o_{fi}$ & $\Delta G_{F,i}^\circ$ \\
+% standard free energy of reaction & \verb"\Deltarxn\Gm^std" & $\Deltarxn\Gm^\std$ & $\inherit{\bar{g}^\circ_\reaction}$ & $\smash{\bar{g}}^\circ_R$ & $\Delta G^\circ$ & $\Delta G_{\mathrm{m}}$ & $\Delta g^o_\text{rxn}$ & $\inherit{\Delta\bar{g}^\circ_\text{rxn}}$ & $\Delta g_\text{rxn}^0$ & $\Delta_\text{rxn}\Gt^\std$ & $\Delta G^\circ$ & $\Delta G^o_{rx}$ & $\Delta G_R^\circ$ \\
+% standard fugacity & \verb"\fstd" & $\fstd$ & $\inherit{f^\circ}$ & $\inherit{f^\circ}$ & $f^\circ$ & $f^\circ$ & $f^o$ & $\inherit{f^\circ}$ & $f^0$ & $\bar f^\circ$ & $f^\circ$ & $\inherit{\fstd}$ & $f^\circ$ \\
+% standard Gibbs free energy & \verb"\Gm^\std" & $\Gm^\std$ & $\bar{g}^\circ$ & $\bar{g}^\circ$ & $G^\circ$ & $G^\circ_{\mathrm{m}}$ & $g^o$ & $\overline{g}^\circ$ & $g^0$ & $\Gt^\circ$ & $G^\circ$ & $G^o$ & $G^\circ$ \\
+% standard Gibbs free energy of $i$ & \verb"\Gm^\std_i" & $\Gm^\std_i$ & $\bar{g}^\circ_i$ & $\bar{g}_i^\circ$ & $G^\circ_i$ & $G^\circ_{\mathrm{m}i}$ & $g_i^o$ & $\overline{g}^\circ_i$ & $g^0_i$ & $\Gt^\circ_i$ & $G^\circ_i$ & $G^o_i$ & $G^\circ_i$ \\
+% standard pressure & \verb"\Pstd" & $\Pstd$ & $P_0$ & $P_0$ & $P^\circ$ & $P^\circ$ & $\inherit{P^o}$ & $p_\text{ref}$ & $P^0$ & \text{1~bar} & $P^\circ$ & $P^\ast$ & $P^\circ$ \\
+% vapor pressure & \verb"\Pvap" & $\Pvap$ & $\inherit{\Pvap}$ & $P^v$ & $P^{std}$ & $p$ & $\inherit{P^\text{sat}}$ & $p_\text{ref}$ & $P^s$ & $P^\text{vap}$ & $P^\text{sat}$ & $P^\text{sat}$ & $P^\text{sat}$ \\
+% volume (total) & \verb"\Vt" & $\Vt$ & $V$ & $V$\footref{fn:XeTeX} & $\Vt$ & $V$ & $V$ & $V$ & $V$ & $V$ & $V^t$ & $\Vt$ & $\Vt$ \\
+% volume (molar) & \verb"\Vm" & $\Vm$ & $\bar{v}$ & $\overline{v}$\footref{fn:XeTeX} & $V$ & $V_{\mathrm{m}}$ & $v$ & $\overline{v}$ & $v$ & $\Vt$ & $V$ & $V$ & $V$ \\
+% volume (specific) & \verb"\Vs" & $\Vs$ & $v$ & $v$\footref{fn:XeTeX} & $V$ & $\inherit{\Vs}$ & $\hat v$ & $v$ & $\inherit{\hat v}$ & $\hat V$ & $V$ & $\inherit{v}$ & $\inherit{\Vs}$ \\
+% volume (molar, residual) & \verb"\VR" & $\VR$ & $\inherit{\bar{v}^\residual}$ & $\inherit{\overline{v}^\residual}$\footref{fn:XeTeX} & $\inherit{V^R}$ & $\inherit{V^{\mathrm{R}}_{\mathrm{m}}}$ & $v^\text{dep}$ & $\inherit{\overline{v}^R}$ & $v^R$ & $\Vt^r$ & $V^R$ & $\inherit{\VR}$ & $V^R$ \\
+% volume (molar, excess) & \verb"\VE" & $\VE$ & $\inherit{\bar{v}^\excess}$ & $\inherit{\overline{v}^\excess}$\footref{fn:XeTeX} & $V^E$ & $V^{\mathrm{E}}_{\mathrm{m}}$ & $v^E$ & $\inherit{\overline{v}^E}$ & $v^E$ & $\Vt^\text{ex}$ & $V^E$ & $V^{EX}$ & $V^{EX}$ \\
+% volume (partial molar, excess) & \verb"\VEpm_i" & $\VEpm_i$ & $\inherit{\overline{v}_i^\excess}$ & $\inherit{\widetilde{v}^\excess}$\footref{fn:XeTeX} & $\smash{\overline{V}}^E_i$ & $V^{\mathrm{E}}_{\mathrm{m}i}$ & $\smash{\overline{V}}^E_i$ & $\inherit{\overline{V}^E_i}$ & $\overline{v}^E_i$ & \begin{thermoshortpm}$\Vpm^{\text{ex}}_i$\end{thermoshortpm} & \begin{thermoshortpm}$\VEpm_i$\end{thermoshortpm} & \begin{thermoshortpm}$\Vpm^{EX}_i$\end{thermoshortpm} & \begin{thermoshortpm}$\Vpm^{EX}_i$\end{thermoshortpm} \\
+% work (total) & \verb"\Wt" & $\Wt$ & $W$ & $W$ & $\underline{W}$ & $W$ & $W$ & $W$ & $W$ & $W$ & $\inherit{W^t}$ & $\inherit{\Wt}$ & $\inherit{\Wt}$ \\
+% work (molar) & \verb"\Wm" & $\Wm$ & $\bar{w}$ & $\overline{w}$ & $W$ & $\inherit{W_{\mathrm{m}}}$ & $w$ & $\inherit{\overline{w}}$ & $\inherit{w}$ & $\inherit{\Wt}$ & $W$ & $W$ & $W$ \\
+% work (specific) & \verb"\Ws" & $\Ws$ & $w$ & $w$ & $W$ & $\inherit{\Ws}$ & $\hat w$ & $\inherit{w}$ & $\inherit{\hat w}$ & $\inherit{\hat W}$ & $\inherit{W}$ & $w$ & $\inherit{\Ws}$ \\
+% \end{mpsupertabular}
+% \end{landscape}
+%
%^^X \end{documentation}
%
% \setcounter{IndexColumns}{2}
@@ -1763,17 +1984,18 @@
% \end{macro}
%
% Symbols are defined for the total energy, internal energy, Helmholtz free
-% energy, Gibbs free energy, enthalpy, entropy, surface area, volume, number
-% of moles, heat, and work; these are $E$, $U$, $A$, $G$, $H$, $S$, $a$,
-% $V$, $n$, $Q$, and $W$, respectively. These commands should not be used on
-% their own, but rather accessed through the macros \cs{Ut}, \cs{Um}, and
-% \cs{Us} (using the internal energy as an example).
+% energy, Gibbs free energy, grand potential (Landau free energy), enthalpy,
+% entropy, surface area, volume, number of moles, heat, and work; these are
+% $E$, $U$, $A$, $G$, $\Omega$, $H$, $S$, $a$, $V$, $n$, $Q$, and $W$,
+% respectively. These commands should not be used on their own, but rather
+% accessed through the macros \cs{Ut}, \cs{Um}, and \cs{Us} (using the internal
+% energy as an example).
%
% The default symbols are not intended to be easy to change---the intended
% mechanism is through package options. If you want to use a non-standard
% symbol that is not available through one of the package options, you can
% redefine the internal token lists inside
-% \cs{ExplSyntaxOn}\dots\cs{ExplSyntaxOff}. For example,
+% \cs{ExplSyntaxOn}\,\dots\!\cs{ExplSyntaxOff}. For example,
% \begin{verbatim}
% \ExplSyntaxOn
% \tl_gset:Nn \g__thermodynamics_Helmholtz_symbol {H}
@@ -1783,7 +2005,7 @@
% would define the ill-advised notation that I have nonetheless heard of
% that uses $H$ for Helmholtz free energy and $h$ for enthalpy.
% Note that the macros for temperature and pressure are only used inside
-% the definitions of the compressibilities, expansivitites, and heat
+% the definitions of the compressibilities, expansivities, and heat
% capacities; there is no user-level macro for the temperature or the pressure,
% so it is up to the user to use consistent symbols for those properties.
% \begin{macrocode}
@@ -1806,7 +2028,9 @@
\tl_gset:Nn \g_@@_internal_energy_symbol U
\tl_gset:Nn \g_@@_Helmholtz_symbol A
\tl_gset:Nn \g_@@_Gibbs_symbol G
-\tl_gset:Nn \g_@@_Landau_symbol \Omega
+\cs_if_exist:NTF \Omegait
+{ \tl_gset:Nn \g_@@_Landau_symbol \Omegait }
+{ \tl_gset:Nn \g_@@_Landau_symbol \Omega }
\tl_gset:Nn \g_@@_enthalpy_symbol H
\tl_gset:Nn \g_@@_entropy_symbol S
\tl_gset:Nn \g_@@_area_symbol a
@@ -1960,7 +2184,14 @@
}
\cs_new:Npn \@@_set_extensive_superscripts
{
- \cs_set:Nn \@@_extensive:n {{##1}\c_math_superscript_token t}
+ \cs_set:Nn \@@_extensive_one:n
+ { \c_math_superscript_token {##1\l_@@_super_separator_tl t} }
+ \cs_set:Nn \@@_extensive:n
+ {
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { ##1 \@@_extensive_one:n }
+ { ##1 \c_math_superscript_token t }
+ }
\cs_set:Nn \@@_intensive:n {##1}
}
\DeclareOption{extensive-plain}{\@@_set_extensive_plain}
@@ -1969,44 +2200,83 @@
\@@_set_intensive_lowercase
\AtEndOfPackage{
\@@_set_lowercase_pms
- \RenewDocumentCommand{\heatcapacitysymbol}{}{c}
}
}
\DeclareOption{extensive-superscript}{%
\@@_set_extensive_superscripts
- \AtEndOfPackage{%
- \RenewDocumentCommand{\URt}{}{\g_@@_internal_energy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\HRt}{}{\g_@@_enthalpy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\FRt}{}{\g_@@_Helmoholtz_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\GRt}{}{\g_@@_Gibbs_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\VRt}{}{\g_@@_volume_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\SRt}{}{\g_@@_entropy_symbol
- \c_math_superscript_token{\residual,t}}
- \RenewDocumentCommand{\UEt}{}{\g_@@_internal_energy_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\HEt}{}{\g_@@_enthalpy_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\FEt}{}{\g_@@_Helmoholtz_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\GEt}{}{\g_@@_Gibbs_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\VEt}{}{\g_@@_volume_symbol
- \c_math_superscript_token{\excess,t}}
- \RenewDocumentCommand{\SEt}{}{\g_@@_entropy_symbol
- \c_math_superscript_token{\excess,t}}
+%^^A \AtEndOfPackage{%
+%^^A \RenewDocumentCommand{\URt}{}{\g_@@_internal_energy_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\HRt}{}{\g_@@_enthalpy_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\FRt}{}{\g_@@_Helmoholtz_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\GRt}{}{\g_@@_Gibbs_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\VRt}{}{\g_@@_volume_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\SRt}{}{\g_@@_entropy_symbol
+%^^A \c_math_superscript_token{\residual,t}}
+%^^A \RenewDocumentCommand{\UEt}{}{\g_@@_internal_energy_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A \RenewDocumentCommand{\HEt}{}{\g_@@_enthalpy_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A \RenewDocumentCommand{\FEt}{}{\g_@@_Helmoholtz_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A \RenewDocumentCommand{\GEt}{}{\g_@@_Gibbs_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A \RenewDocumentCommand{\VEt}{}{\g_@@_volume_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A \RenewDocumentCommand{\SEt}{}{\g_@@_entropy_symbol
+%^^A \c_math_superscript_token{\excess,t}}
+%^^A }
+}
+% \end{macrocode}
+% \begin{environment}{thermolongpm,thermoshortpm}
+% The |longpm| option (the default) makes partial molar quantities that
+% look like \(\UEpm_i\). The |shortpm| option (which is used by several
+% textbooks) makes partial molar quantities look like
+% \(\smash{\mkern2mu\overline{\mkern-2mu U}}_i^E\).
+% The environments \env{thermolongpm} and \env{thermoshortpm} do the same
+% thing locally.
+% \changes{v2.02}{2024/06/14}{Added ``longpm'' and ``shortpm'' options to
+% control how partial molar properties are rendered along with the
+% environments \env{thermolongpm} and \env{thermoshortpm} to change them
+% locally.}
+% \begin{macrocode}
+\bool_new:N \l_@@_longpm_bool
+\DeclareOption{longpm}{\bool_set_true:N \l_@@_longpm_bool}
+\cs_set_eq:NN \@@_overline_copy:n \@@_overline:n
+\DeclareOption{shortpm}{
+ \bool_set_false:N \l_@@_longpm_bool
+ \AtEndOfPackage{
+ \RenewDocumentCommand{\cPpm}{}
+ {
+ \cs_set:Nn \@@_overline:n {##1}
+ \partialmolar{\cPpmshort}
+ }
+ \RenewDocumentCommand{\cVpm}{}
+ {
+ \cs_set:Nn \@@_overline:n {##1}
+ \partialmolar{\cVpmshort}
+ }
}
}
+\NewDocumentEnvironment{thermolongpm}{}{%
+ \bool_set_true:N \l_@@_longpm_bool
+}{}
+\NewDocumentEnvironment{thermoshortpm}{}{%
+ \bool_set_false:N \l_@@_longpm_bool
+ \RenewSubscriptedSymbol{\cPpm}{\@@_overline:n \heatcapacitysymbol}
+ {\g_@@_pressure_symbol}
+ \RenewSubscriptedSymbol{\cVpm}{\@@_overline:n \heatcapacitysymbol}
+ {\g_@@_volume_symbol}
+}{}
% \end{macrocode}
+% \end{environment}
%
% The next two options choose whether variables held constant are subscripted
% (the default) or placed next to the function. The difference is
-%%^^A \[ \left(\frac{\partial U}{\partial S}\right)_V \quad\text{versus}\quad
-%%^^A \left(\frac{\partial U(S,V)}{\partial S}\right) \]
% \[ \Partial{\Um}{\Sm}{\Vm} \quad\text{versus}\quad
% \begin{thermoNOsubscripts}
% \Partial{\Um}{\Sm}{\Vm}
@@ -2132,7 +2402,8 @@
% \end{macrocode}
% \end{macro}
%
-% We then define two package options that change how to render \cs{allNs} and
+% \subsection{Package Options}
+% We define two package options that change how to render \cs{allNs} and
% friends.\relax
% \changes{v1.01}{2022/05/04}{Fixed bug in \cs{allbutlastand} when using the
% |moles-range| option ($C$ should have been $C-1$ in the last option).}
@@ -2177,50 +2448,343 @@
}
% \end{macrocode}
% The remaining options define textbook-specific notation.
+% \changes{v2.02}{2024/06/14}{Added \texttt{KlotzRosenberg} option.}
% \begin{macrocode}
\DeclareOption{Bejan}{
- \ExecuteOptions{EUFGHAN,intensive-lowercase,delta}
- \cs_set:Nn \@@_specific:n {\text_lowercase:n {#1}}
- \cs_set:Nn \@@_intensive:n {\bar{\text_lowercase:n {#1}}}
- \tl_gset:Nn \g_@@_volume_symbol v
+ \ExecuteOptions{EUFGHAN,intensive-lowercase,delta,shortpm}
+ \AtEndOfPackage{
+ \cs_set:Nn \@@_specific:n {\text_lowercase:n {#1}}
+ \cs_set:Nn \@@_intensive:n {\bar{\text_lowercase:n {#1}}}
+ \cs_set:Nn \@@_extensive:n {\text_uppercase:n {#1}}
+ \tl_gset:Nn \g_@@_volume_symbol v
+ \RenewExpandableDocumentCommand{\ncomponents}{}{n}
+ \RenewSubscriptedSymbol{\Lt}{\g_@@_Helmholtz_symbol}{\mu}
+ \RenewSubscriptedSymbol{\Lm}
+ {\bar{\text_lowercase:n \g_@@_Helmholtz_symbol}}{\mu}
+ \RenewSubscriptedSymbol{\Ls}
+ {\text_lowercase:n \g_@@_Helmholtz_symbol}{\mu}
+ \cs_new:Npn \Delta_vap_sym {} {}
+ \NewSubscriptedSymbol{\Delta_vap}{\Delta_vap_sym}{{fg}}
+ \RenewDocumentCommand{\Deltavap}{m}{
+ \cs_set:Npn \Delta_vap_sym {} {#1}
+ \Delta_vap
+ }
+ \cs_new:Npn \Delta_fus_sym {} {}
+ \NewSubscriptedSymbol{\Delta_fus}{\Delta_fus_sym}{{sf}}
+ \RenewDocumentCommand{\Deltafus}{m}{
+ \cs_set:Npn \Delta_fus_sym {} {#1}
+ \Delta_fus
+ }
+ \cs_new:Npn \Delta_sub_sym {} {}
+ \NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{{sg}}
+ \RenewDocumentCommand{\Deltasub}{m}{
+ \cs_set:Npn \Delta_sub_sym {} {#1}
+ \Delta_sub
+ }
+ \RenewExpandableDocumentCommand{\heatcapacitysymbol}{}{c}
+ \RenewSubscriptedSymbol{\cV}{\@@_intensive:n {\heatcapacitysymbol}}
+ {\text_lowercase:n \g_@@_volume_symbol}
+ \RenewSubscriptedSymbol{\cVt}{\@@_extensive:n {\heatcapacitysymbol}}
+ {\text_uppercase:n \g_@@_volume_symbol}
+ \RenewSubscriptedSymbol{\cVpm}{\heatcapacitysymbol}
+ {\text_lowercase:n \g_@@_volume_symbol}
+ \RenewSubscriptedSymbol{\cPpm}{\heatcapacitysymbol}
+ {\text_lowercase:n \g_@@_pressure_symbol}
+ \RenewExpandableDocumentCommand{\xrxn}{}{\zeta}
+ \RenewDocumentCommand{\fmix}{}{f}
+ \RenewDocumentCommand{\Qm}{}{Q}
+ \RenewDocumentCommand{\Qs}{}{Q}
+ \RenewExpandableDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewExpandableDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewExpandableDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\muJT}{\JTsymbol}{J}
+ \RenewDocumentCommand{\Deltaf}{m}
+ { \tl_set:Nn \l_@@_Deltaf_sym_tl {#1} \@@_Deltaf }
+ \RenewDocumentCommand{\Pstd}{}{P\c_math_subscript_token 0}
+ \RenewDocumentCommand{\Wm}{}{W}
+ \RenewDocumentCommand{\Ws}{}{W}
+ \cs_new:Nn \@@_fpure_one:n
+ {
+ f\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\fpure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \@@_fpure_one:n }
+ { f }
+ }
+ \cs_new:Nn \@@_phipure_one:n
+ {
+ \phi\c_math_subscript_token{#1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\phipure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \@@_phipure_one:n
+ }
+ {\phi}
+ }
+ \RenewDocumentCommand{\phimix}{}{\phi}
+ }
}
\DeclareOption{CBK}{
- \ExecuteOptions{EUAGHAN,intensive-lowercase}
+ \ExecuteOptions{EUAGHAN,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- \cs_set:Nn \@@_overline:n {\widetilde{#1}}
+ \cs_set:Nn \@@_overline:n {\widetilde #1}
+ \cs_set:Nn \@@_overline_copy:n {\widetilde #1}
\cs_set:Nn \@@_specific:n {\text_lowercase:n {#1}}
\cs_set:Nn \@@_intensive:n {\bar{\text_lowercase:n{#1}}}
+ \tl_gset:Nn \g_@@_area_symbol A
+ \RenewExpandableDocumentCommand{\reaction}{}{R}
+ \cs_new:Npn \Delta_vap_sym {} {}
+ \NewSubscriptedSymbol{\Delta_vap}{\Delta_vap_sym}{{fg}}
+ \RenewDocumentCommand{\Deltavap}{m}{
+ \cs_set:Npn \Delta_vap_sym {} {#1}
+ \Delta_vap
+ }
+ \cs_new:Npn \Delta_fus_sym {} {}
+ \NewSubscriptedSymbol{\Delta_fus}{\Delta_fus_sym}{{sf}}
+ \RenewDocumentCommand{\Deltafus}{m}{
+ \cs_set:Npn \Delta_fus_sym {} {#1}
+ \Delta_fus
+ }
+ \cs_new:Npn \Delta_sub_sym {} {}
+ \NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{{sg}}
+ \RenewDocumentCommand{\Deltasub}{m}{
+ \cs_set:Npn \Delta_sub_sym {} {#1}
+ \Delta_sub
+ }
\tl_gset:Nn \g_@@_pressure_symbol p
- \RenewDocumentCommand{\Deltarxn}{m}{{#1}\c_math_subscript_token R}
- \RenewDocumentCommand{\compressibilitysymbol}{}{\beta}
- \RenewDocumentCommand{\expansivitysymbol}{}{\alpha}
+ \RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alpha}
+ \RenewExpandableDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewExpandableDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewExpandableDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSuperscriptedSymbol{\Psat}{P}{v}
+ \RenewDocumentCommand{\Deltaf}{m}
+ { \tl_set:Nn \l_@@_Deltaf_sym_tl {#1}
+ \@@_Deltaf
+ }
+ \RenewDocumentCommand{\Pstd}{}{P\c_math_subscript_token 0}
+ \RenewDocumentCommand{\Lm}{}{\@@_intensive:n\omega}
+ \RenewDocumentCommand{\Ls}{}{\@@_specific:n\omega}
}
}
\DeclareOption{ElliottLira}{
+ \ExecuteOptions{shortpm}
\AtEndOfPackage{
+ \cs_gset_eq:NN \@@_specific:n \@@_intensive:n
+ %^^A\RenewDocumentCommand{\partialmolar}{m}{\@@_overline:n #1}
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
- \RenewDocumentCommand{\IG}{}{{\text{ig}}}
- \RenewDocumentCommand{\IGM}{}{{\text{ig}}}
- \RenewDocumentCommand{\IS}{}{{\text{is}}}
+ \RenewDocumentCommand{\fusion}{}{{fus}}
+ \RenewDocumentCommand{\sublimation}{}{{sub}}
+ \RenewDocumentCommand{\vaporization}{}{{vap}}
+ \RenewDocumentCommand{\sat}{}{{sat}}
+ %^^A\RenewSubscriptedSymbol{\Henrymol}{/K}{H} %^^A FIXME
+ \RenewDocumentCommand{\IG}{}{{ig}}
+ \RenewDocumentCommand{\IGM}{}{{ig}}
+ \RenewDocumentCommand{\IS}{}{{is}}
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token \std}
+ \RenewDocumentCommand{\muJT}{}{\mu\c_math_subscript_token{JT}}
+ }
+}
+\DeclareOption{KlotzRosenberg}{
+ \ExecuteOptions{delta}
+ \AtEndOfPackage{
+ \tl_set:Nn \l_@@_sub_separator_tl {}
+ \cs_set:Nn \@@_extensive:n {#1}
+ \cs_new:Nn \@@_intensive_one:n
+ {
+ \c_math_superscript_token {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \@@_intensive_three:n }
+ { \c_math_subscript_token{\mathrm{m}} }
+ }
+ \cs_new:Nn \@@_intensive_three:n
+ { \c_math_subscript_token{\mathrm{m}\l_@@_sub_separator_tl #1} }
+ \cs_new:Nn \@@_intensive_two:n
+ {
+ \c_math_subscript_token{\mathrm{m}\l_@@_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \cs_set:Nn \@@_intensive:n
+ {
+ #1
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \@@_intensive_one:n }
+ { \peek_catcode_remove:NTF \c_math_subscript_token
+ { \@@_intensive_two:n }
+ { \c_math_subscript_token{\mathrm{m}} }
+ }
+ }
+ \cs_new:Nn \@@_fpure_one:n
+ {
+ f\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\fpure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \@@_fpure_one:n }
+ { f }
+ }
+ \cs_new:Nn \@@_phipure_one:n
+ {
+ \gamma\c_math_subscript_token{#1}
+ \peek_catcode_remove:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \RenewDocumentCommand{\phipure}{}
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \@@_phipure_one:n }
+ { \gamma }
+ }
+ \RenewDocumentCommand{\fmix}{}{f}
+ \RenewDocumentCommand{\phimix}{}{\gamma}
+ \RenewDocumentCommand{\phisat}{}{\gamma^\sat}
+ \cs_if_exist:NTF \gammaup
+ { \RenewDocumentCommand{\gamma}{}{\gammaup} }
+ { \cs_if_exist:NT \upgamma
+ { \RenewDocumentCommand{\gamma}{}{\upgamma} }
+ }
+ \RenewDocumentCommand{\gammarat}{}{\gamma}
+ \RenewDocumentCommand{\gammamol}{}{\gamma}
+ \cs_if_exist:NTF \muup
+ {\RenewDocumentCommand{\mu}{}{\muup}}
+ {\cs_if_exist:NT \upmu
+ {\RenewDocumentCommand{\mu}{}{\upmu}}
+ }
+ \cs_if_exist:NTF \alphaup
+ {\RenewExpandableDocumentCommand{\expansivitysymbol}{}{\alphaup}}
+ {\cs_if_exist:NTF \upalpha
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alphaup}}
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\alpha}}
+ }
+ \cs_if_exist:NTF \betaup
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\betaup}}
+ {\cs_if_exist:NTF \upbeta
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\betaup}}
+ {\RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\beta}}
+ }
+ \cs_if_exist:NTF \xiup
+ {\RenewDocumentCommand{\xrxn}{}{\xiup}}
+ {\cs_if_exist:NT \upxi
+ {\RenewDocumentCommand{\xrxn}{}{\upxi}}
+ }
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\muJT}{\JTsymbol}{\text{J.T.}}
+ \RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\Deltaf}{}{\Delta\c_math_subscript_token\formation}
+ \RenewDocumentCommand{\Deltafus}{}{\Delta}
+ \RenewDocumentCommand{\Deltavap}{}{\Delta}
+ \RenewDocumentCommand{\Deltasub}{}{\Delta}
+%^^A FIXME: should be \Delta G_{\text{mix},\mathrm{m}} not other way around
+ \RenewDocumentCommand{\Deltamix}{m}{
+ \tl_set:Nn \l_@@_sub_separator_tl {,}
+ \Delta #1\c_math_subscript_token{\mixing}
+ }
+ \RenewDocumentCommand{\excess}{}{{\mathrm{E}}}
+ \RenewDocumentCommand{\residual}{}{{\mathrm{R}}}
+ \cs_set:Nn \@@_overline:n {#1}
+ \RenewDocumentCommand{\IS}{}{{\mathrm{I}}}
+ \RenewDocumentCommand{\Psat}{}
+ {
+ \peek_catcode:NTF \c_math_subscript_token
+ {p\c_math_superscript_token\bullet}
+ {p}
+ }
+ \RenewDocumentCommand{\Cstd}{}{m^\std}
+ \RenewDocumentCommand{\Henryrat}{}{k}
+ \RenewDocumentCommand{\Henrymol}{}{k''}
+
+ % Fix partial molar properties
+ \cs_set:Npn \@@_pm_case_one #1
+ {
+ \l_@@_pm_symbol_tl\c_math_subscript_token{\mathrm{m}#1}
+ }
+ \cs_set:Npn \@@_pm_case_two [#1]#2
+ {
+ \l_@@_pm_symbol_tl
+ \c_math_superscript_token{#1}\c_math_subscript_token{\mathrm{m}#2}
+ }
+ \cs_set:Npn \@@_pm_case_three_part_two #1
+ {
+ \l_@@_pm_symbol_tl
+ \c_math_superscript_token{\l_@@_pm_arg_tl}
+ \c_math_subscript_token{\mathrm{m}#1}
+ }
+ \cs_set:Npn \@@_pm_case_four #1
+ {
+ \l_@@_pm_symbol_tl\c_math_superscript_token{#1}
+ \c_math_subscript_token{\mathrm{m}\l_@@_pm_arg_tl}
+ }
+ \cs_set:Npn \@@_pm_case_five
+ {
+ \l_@@_pm_symbol_tl
+ \c_math_subscript_token{\mathrm{m}\l_@@_pm_arg_tl}
+ }
+
+ % fix heat capacities
+ \RenewSubscriptedSymbol{\cP}{\heatcapacitysymbol}
+ {\g_@@_pressure_symbol\mathrm{m}}
+ \RenewSubscriptedSymbol{\cV}{\heatcapacitysymbol}
+ {\g_@@_volume_symbol\mathrm{m}}
+ \RenewDocumentCommand{\cPpm}{}{\partialmolar{\cPt}}
+ \RenewDocumentCommand{\cVpm}{}{\partialmolar{\cVt}}
+
+ \cs_set:Npn \cP_two:n #1
+ { \heatcapacitysymbol
+ \c_math_subscript_token{\g_@@_pressure_symbol\mathrm{m}
+ \l_@@_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ \cs_set:Npn \cV_two:n #1
+ { \heatcapacitysymbol
+ \c_math_subscript_token{\g_@@_volume_symbol\mathrm{m}
+ \l_@@_sub_separator_tl #1}
+ \peek_catcode:NF \c_math_superscript_token
+ { \c_math_superscript_token\bullet }
+ }
+ }
+ \AtBeginDocument{
+ \@ifpackageloaded{emf}{\RenewDocumentCommand{\Epot}{}{\emf}}
+ {%
+ \PackageWarningNoLine{thermodynamics}
+ {Package~emf~not~loaded;~load~to~make~Epot~match~Klotz~
+ and~Rosenberg's~notation}%
+ }
}
}
\DeclareOption{Koretsky}{
- \ExecuteOptions{EUAGHAn,brackets,intensive-lowercase,delta}
+ \ExecuteOptions{EUAGHAn,brackets,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- %^^A Undo part of intensive-lowercase
+ \tl_gset:Nn \g_@@_area_symbol {A}
+ \RenewExpandableDocumentCommand{\std}{}{o}
+ \RenewExpandableDocumentCommand{\ncomponents}{}{m}
\RenewDocumentCommand{\partialmolar}{m}
- { \tl_set:Nn \l_@@_pm_symbol_tl {#1}
+ {
+ \tl_set:Nn \l_@@_pm_symbol_tl {#1}
\@@_generic_pm:
}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
\RenewDocumentCommand{\IS}{}{{\text{ideal}}}
\RenewDocumentCommand{\residual}{}{{\text{dep}}}
- \RenewDocumentCommand{\IG}{}{{\text{ideal}}}
+ \RenewDocumentCommand{\IG}{}{{\text{ideal~gas}}}
\RenewDocumentCommand{\IGM}{}{{\text{ideal}}}
\RenewDocumentCommand{\Henryrat}{}{{\mathcal{H}}}
\RenewDocumentCommand{\gammarat}{}
{\gamma\c_math_superscript_token\text{Henry's}}
+ \RenewDocumentCommand{\gammamol}{}{\gamma\c_math_superscript_token{m}}
\RenewDocumentCommand{\phipure}{}{\varphi}
\RenewDocumentCommand{\phimix}{}{\hat\varphi}
\RenewDocumentCommand{\phisat}{}{\varphi\c_math_superscript_token\sat}
@@ -2238,19 +2802,100 @@
}
\cs_new:Npn \Delta_sub_sym {} {}
\NewSubscriptedSymbol{\Delta_sub}{\Delta_sub_sym}{\sublimation}
- %^^A Undo part of intensive-lowercase
\RenewDocumentCommand{\Deltasub}{m}{
\cs_set:Npn \Delta_sub_sym {} { \Delta #1 }
\Delta_sub
}
+ \tl_new:N \l_@@_Deltaf_superscript_tl
+ \tl_new:N \l_@@_Deltaf_subscript_tl
+ \bool_new:N \l_@@_Deltaf_parentheses_bool
+ \tl_new:N \l_@@_Deltaf_entity_tl
+ \cs_set:Nn \@@_Deltaf_one:n
+ {
+ \tl_set:Nn \l_@@_Deltaf_superscript_tl {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l_@@_Deltaf_parentheses_bool
+ \@@_Deltaf_two:n
+ }
+ {
+ \bool_if:NTF \l_@@_Deltaf_parentheses_bool
+ {
+ (\Delta\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l_@@_Deltaf_subscript_tl
+ { \c_math_subscript_token\l_@@_Deltaf_subscript_tl }
+ }
+ {
+ \Delta\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \cs_set:Nn \@@_Deltaf_two:n
+ {
+ \tl_set:Nn \l_@@_Deltaf_subscript_tl {#1}
+ % check for case 4
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \@@_Deltaf_one:n }
+ {
+ \bool_if:NTF \l_@@_Deltaf_parentheses_bool
+ {
+ (\Delta\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ {\c_math_superscript_token\l_@@_Deltaf_superscript_tl}
+ )
+ \tl_if_empty:NF \l_@@_Deltaf_subscript_tl
+ \c_math_subscript_token\l_@@_Deltaf_subscript_tl
+ }
+ {
+ \Delta\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ {\c_math_superscript_token\l_@@_Deltaf_superscript_tl}
+ }
+ }
+ }
+ \RenewDocumentCommand{\Deltaf}{m}
+ {
+ \tl_clear:N \l_@@_Deltaf_superscript_tl
+ \tl_clear:N \l_@@_Deltaf_subscript_tl
+ \tl_set:Nn \l_@@_Deltaf_entity_tl {#1}
+ \bool_set_false:N \l_@@_Deltaf_parentheses_bool
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ {
+ \@@_Deltaf_one:n
+ }
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l_@@_Deltaf_parentheses_bool
+ \@@_Deltaf_two:n
+ }
+ {
+ \Delta #1\c_math_subscript_token \formation
+ }
+ }
+ }
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewSubscriptedSymbol{\cV}{\@@_intensive:n \heatcapacitysymbol}
+ {\@@_intensive:n \g_@@_volume_symbol}
+ \RenewSubscriptedSymbol{\cVs}{\@@_specific:n \heatcapacitysymbol}
+ {\@@_intensive:n \g_@@_volume_symbol}
+ \RenewDocumentCommand{\Lm}{}{\omega}
+ \RenewDocumentCommand{\Ls}{}{\hat\omega}
}
}
\DeclareOption{MSBB}{
- \ExecuteOptions{EUFGHAn,intensive-lowercase,delta}
+ \ExecuteOptions{EUFGHAn,intensive-lowercase,delta,shortpm}
\AtEndOfPackage{
- \RenewDocumentCommand{\IGM}{}{\ast}
+ \RenewDocumentCommand{\IGM}{}{\ast} % FIXME: is this * or \circ?
\RenewDocumentCommand{\IG}{}{\ast}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewDocumentCommand{\muJT}{}{\mu\c_math_subscript_token J}
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\allbut}{O{j} m m}
{
@@ -2260,29 +2905,114 @@
}
\tl_gset_eq:NN \g_@@_Helmholtz_symbol \psi
\RenewDocumentCommand{\Ft}{}{\Psi}
+ \RenewDocumentCommand{\Fpm}{}{\partialmolar{\Psi}}
\cs_set:Nn \@@_intensive:n {\@@_overline:n{\text_lowercase:n{#1}}}
\cs_set:Nn \@@_specific:n {\text_lowercase:n{#1}}
\RenewDocumentCommand{\fmix}{}{\bar f}
\RenewDocumentCommand{\phimix}{}{\bar\phi}
\RenewDocumentCommand{\phimix}{}{\bar\phi}
\tl_gset:Nn \g_@@_pressure_symbol p
+ \tl_gset:Nn \g_@@_volume_symbol v
\RenewDocumentCommand{\partialmolar}{m}
{
- \tl_set:Nn \l_@@_pm_symbol_tl {#1}
+ \tl_set:Nn \l_@@_pm_symbol_tl {\text_uppercase:n #1}
\@@_generic_pm:
}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\mustd}{}{\Gm^\std}
+ \RenewExpandableDocumentCommand{\formation}{}{{\mathrm{f}}}
+ \RenewDocumentCommand{\Pstd}{}
+ {\g_@@_pressure_symbol\c_math_subscript_token\text{ref}}
+ \RenewExpandableDocumentCommand{\xrxn}{}{\varepsilon}
+ \RenewExpandableDocumentCommand{\Lm}{}{\@@_intensive:n \omega}
+ \RenewExpandableDocumentCommand{\Ls}{}{\@@_specific:n \omega}
+ \RenewExpandableDocumentCommand{\heatcapacitysymbol}{}{C}
+ \tl_new:N \l_@@_Deltaf_superscript_tl
+ \tl_new:N \l_@@_Deltaf_subscript_tl
+ \bool_new:N \l_@@_Deltaf_parentheses_bool
+ \tl_new:N \l_@@_Deltaf_entity_tl
+ \cs_set:Nn \@@_Deltaf_one:n
+ {
+ \tl_set:Nn \l_@@_Deltaf_superscript_tl {#1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l_@@_Deltaf_parentheses_bool
+ \@@_Deltaf_two:n
+ }
+ {
+ \bool_if:NTF \l_@@_Deltaf_parentheses_bool
+ {
+ (\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l_@@_Deltaf_subscript_tl
+ { \c_math_subscript_token\l_@@_Deltaf_subscript_tl }
+ }
+ {
+ \l_@@_Deltaf_entity_tl\c_math_subscript_token{\formation}
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \cs_set:Nn \@@_Deltaf_two:n
+ {
+ \tl_set:Nn \l_@@_Deltaf_subscript_tl {#1}
+ % check for case 4
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \@@_Deltaf_one:n }
+ {
+ \bool_if:NTF \l_@@_Deltaf_parentheses_bool
+ {
+ (\l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ )
+ \tl_if_empty:NF \l_@@_Deltaf_subscript_tl
+ { \c_math_subscript_token\l_@@_Deltaf_subscript_tl }
+ }
+ {
+ \l_@@_Deltaf_entity_tl\c_math_subscript_token\formation
+ \tl_if_empty:NF \l_@@_Deltaf_superscript_tl
+ { \c_math_superscript_token\l_@@_Deltaf_superscript_tl }
+ }
+ }
+ }
+ \RenewDocumentCommand{\Deltaf}{m}
+ {
+ \tl_clear:N \l_@@_Deltaf_superscript_tl
+ \tl_clear:N \l_@@_Deltaf_subscript_tl
+ \tl_set:Nn \l_@@_Deltaf_entity_tl {#1}
+ \bool_set_false:N \l_@@_Deltaf_parentheses_bool
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ {
+ \@@_Deltaf_one:n
+ }
+ {
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \bool_set_true:N \l_@@_Deltaf_parentheses_bool
+ \@@_Deltaf_two:n
+ }
+ {
+ \Delta #1\c_math_subscript_token \formation
+ }
+ }
+ }
}
}
\DeclareOption{Prausnitz}{
- \ExecuteOptions{intensive-lowercase}
+ \ExecuteOptions{intensive-lowercase,shortpm}
\AtEndOfPackage{
+ \RenewExpandableDocumentCommand{\ncomponents}{}{m}
\RenewDocumentCommand{\fmix}{}{f}
- \RenewDocumentCommand{\phimix}{}{\phi}
\RenewDocumentCommand{\fsat}{}{\fpure\c_math_superscript_token\sat}
- % TODO: this should pick up H_2 and make it into H_{2,1} (assuming the
- % solvent is always 1...?)
+ % TODO: this should pick up H_2 and make it into H_{2,1} (assuming
+ % the solvent is always 1...?)
\RenewDocumentCommand{\Henryrat}{}{H}
- \RenewDocumentCommand{\residual}{}{{{\mathcal{R}}}}
+ %^^A\RenewDocumentCommand{\residual}{}{{{\mathcal{R}}}}
\RenewDocumentCommand{\allcomponents}{O{i} m}
{ {#2}\c_math_subscript_token{#1} }
\RenewDocumentCommand{\allbut}{O{i} m m}
@@ -2290,14 +3020,36 @@
{ {#3}\c_math_subscript_token k }
{ {#3}\c_math_subscript_token{#1} }
}
+ \tl_set:Nn \l_@@_sub_separator_tl {\,}
+ \tl_gset:Nn \g_@@_pressure_symbol {p}
+ \tl_gset:Nn \g_@@_volume_symbol {v}
\RenewSubscriptedSymbol{\fpure}{f}{{\text{pure}}}
- \RenewSubscriptedSymbol{\phipure}{\phi}{{\text{pure}}}
+ \RenewDocumentCommand{\phimix}{}{\varphi}
+ \RenewDocumentCommand{\phisat}{}{\varphi^\sat}
+ \RenewDocumentCommand{\sat}{}{s}
+ \RenewDocumentCommand{\mixing}{}{\text{mixing}}
+ \RenewDocumentCommand{\Lm}{}{\omega}
+ \RenewDocumentCommand{\Ls}{}{\@@_specific:n \omega}
+ \RenewSubscriptedSymbol{\phipure}{\varphi}{{\text{pure}}}
+ \RenewDocumentCommand{\IG}{}{{\text{id}}}
+ \RenewDocumentCommand{\IGM}{}{{\text{id}}}
+ \RenewDocumentCommand{\IS}{}{{\text{(ideal)}}}
+ \RenewExpandableDocumentCommand{\compressibilitysymbol}{}{\beta}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewExpandableDocumentCommand{\std}{}{0}
+ \@ifpackageloaded{emf}
+ {\RenewDocumentCommand{\Epot}{}{\emf}}
+ {\RenewDocumentCommand{\Epot}{}{\mathcal{E}}}
+ \DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}
+ \RenewExpandableDocumentCommand{\actrel}{}{\mathdutchcal{a}}
}
}
\DeclareOption{Sandler}{
- \ExecuteOptions{EUAGHaN,extensive-plain}
+ \ExecuteOptions{EUAGHaN,extensive-plain,shortpm}
\AtEndOfPackage{
- \RenewDocumentCommand{\sat}{}{{\text{vap}}}
+ \RenewDocumentCommand{\Pvap}{}
+ {{P\c_math_superscript_token{\text{vap}}}}
\RenewDocumentCommand{\excess}{}{{\text{ex}}}
\RenewDocumentCommand{\residual}{}{{\text{r}}}
\RenewExpandableDocumentCommand{\ncomponents}{}{\mathcal{C}}
@@ -2318,6 +3070,12 @@
{\Delta\c_math_subscript_token\fusion #1}
\RenewDocumentCommand{\Deltavap}{m}
{\Delta\c_math_subscript_token\vaporization #1}
+ \RenewDocumentCommand{\Pstd}{}{\text{1~bar}
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \RenewDocumentCommand{\Cstd}{}{\text{1~molal}
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
\RenewDocumentCommand{\Henryrat}{}{H}
\RenewSubscriptedSymbol{\cV}
{\heatcapacitysymbol}{\g_@@_volume_symbol}
@@ -2327,10 +3085,16 @@
{\Nt\heatcapacitysymbol}{\g_@@_volume_symbol}
\RenewSubscriptedSymbol{\cPt}
{\Nt\heatcapacitysymbol}{\g_@@_pressure_symbol}
+ \RenewDocumentCommand{\formation}{}{\mathrm{f}}
+ \RenewDocumentCommand{\Deltaf}{}
+ {\Delta\c_math_subscript_token\formation}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\muJT}{}{\mu}
+ \RenewDocumentCommand{\xrxn}{}{X}
}
}
\DeclareOption{SVNAS}{
- \ExecuteOptions{extensive-superscript}
+ \ExecuteOptions{extensive-superscript,shortpm}
\AtEndOfPackage{
\RenewDocumentCommand{\allcomponents}{O{} m}{#2}
\RenewDocumentCommand{\allbut}{O{j} m m}
@@ -2342,17 +3106,44 @@
\RenewDocumentCommand{\IG}{}{{ig}}
\RenewDocumentCommand{\IGM}{}{{ig}}
\RenewDocumentCommand{\IS}{}{{id}}
+ \RenewDocumentCommand{\IS}{}{{id}}
+ \RenewDocumentCommand{\fusion}{}{{sl}}
+ \RenewDocumentCommand{\vaporization}{}{{vl}}
+ \RenewDocumentCommand{\sublimation}{}{{vs}}
\RenewDocumentCommand{\expansivitysymbol}{}{\beta}
+ \RenewDocumentCommand{\xrxn}{}{\varepsilon}
\RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\Deltamix}{m}{\Delta #1}
\RenewSubscriptedSymbol{\cVt}
{\Nt\heatcapacitysymbol}{\g_@@_volume_symbol}
\RenewSubscriptedSymbol{\cPt}
{\Nt\heatcapacitysymbol}{\g_@@_pressure_symbol}
+ % FIXME
+ \RenewDocumentCommand{\cP}{}
+ {{\heatcapacitysymbol\c_math_subscript_token\g_@@_pressure_symbol}}
+ \RenewDocumentCommand{\cV}{}
+ {{\heatcapacitysymbol\c_math_subscript_token\g_@@_volume_symbol}}
+ \RenewDocumentCommand{\kappaT}{}{\compressibilitysymbol}
+ \RenewDocumentCommand{\alphaP}{}{\expansivitysymbol}
+ \RenewDocumentCommand{\muJT}{}{\mu}
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token\std
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \RenewDocumentCommand{\mustd}{}{\Gm\c_math_superscript_token\std}
+ \RenewDocumentCommand{\Henryrat}{}{\mathcal{H}}
+ \RenewDocumentCommand{\formation}{}
+ {
+ \tl_set:Nn \l_@@_sub_separator_tl {}
+ f298
+ }
+ \cs_set:Nn \@@_specific:n {#1}
}
}
+\DeclareOption{ModellReid}{\ExecuteOptions{TesterModell}}
\DeclareOption{TesterModell}{
- \ExecuteOptions{EUAGHaN,delta}
+ \ExecuteOptions{EUAGHaN,delta,shortpm}
\AtEndOfPackage{
+ \cs_set:Nn \@@_specific:n {\text_lowercase:n{#1}}
\RenewExpandableDocumentCommand{\ncomponents}{}{n}
\RenewDocumentCommand{\allcomponents}{O{i} m}
{
@@ -2379,23 +3170,62 @@
\RenewDocumentCommand{\Henryrat}{}
{f\c_math_superscript_token{\ast\ast}}
\RenewDocumentCommand{\Henrymol}{}{f\c_math_superscript_token\ast}
+ \cs_if_exist:NTF \gammaup
+ { \RenewDocumentCommand{\gamma}{}{\gammaup} }
+ { \cs_if_exist:NT \upgamma
+ { \RenewDocumentCommand{\gamma}{}{\upgamma} }
+ }
\RenewDocumentCommand{\gammarat}{}
{\gamma\c_math_superscript_token{\ast\ast}}
\RenewDocumentCommand{\gammamol}{}
{\gamma\c_math_superscript_token\ast}
\RenewExpandableDocumentCommand{\JTsymbol}{}{\alpha}
\RenewSubscriptedSymbol{\muJT}{\JTsymbol}{H}
+ \cs_if_exist:NTF \xiup
+ { \RenewDocumentCommand{\xrxn}{}{\xiup} }
+ { \cs_if_exist:NT \upxi
+ { \RenewDocumentCommand{\xrxn}{}{\upxi} }
+ }
+ \cs_if_exist:NTF \phiup
+ {
+ \RenewDocumentCommand{\phipure}{}{\phiup}
+ \RenewDocumentCommand{\phimix}{}{\hat\phiup}
+ \RenewDocumentCommand{\phisat}{}{\phiup\c_math_superscript_token\sat}
+ }
+ { \cs_if_exist:NT \upphi
+ {
+ \RenewDocumentCommand{\phipure}{}{\upphi}
+ \RenewDocumentCommand{\phimix}{}{\hat\upphi}
+ \RenewDocumentCommand{\phisat}{}{\upphi\c_math_superscript_token\sat}
+ }
+ }
+ \RenewDocumentCommand{\Cstd}{}{m\c_math_superscript_token+
+ \peek_catcode_remove:NT \c_math_subscript_token {\use_none:n}
+ }
+ \cs_if_exist:NTF \muup
+ { \RenewDocumentCommand{\mu}{}{\muup} }
+ { \cs_if_exist:NT \upmu
+ { \RenewDocumentCommand{\mu}{}{\upmu} }
+ }
+ \RenewDocumentCommand{\std}{}{o}
+ \RenewDocumentCommand{\Pstd}{}{P^\ast}
+ \tl_gset:Nn \g_@@_area_symbol {\text{\large\(\mathit{a}\)}}
+ \RenewDocumentCommand{\Epot}{}{\exists}
+ \tl_set:Nn \l_@@_sub_separator_tl {}
+ \tl_gset:Nn \g_@@_pressure_symbol {p}
+ \RenewSubscriptedSymbol{\cVt}{\@@_extensive:n {\heatcapacitysymbol}}{v}
+ \RenewSubscriptedSymbol{\cV}{\@@_intensive:n {\heatcapacitysymbol}}{v}
+ \RenewSubscriptedSymbol{\cVs}{\@@_specific:n {\heatcapacitysymbol}}{v}
}
}
\DeclareOption{Thompson}{
- \ExecuteOptions{EUAGHAn,delta}
+ \ExecuteOptions{EUAGHAn,delta,shortpm}
\AtEndOfPackage
{
\RenewDocumentCommand{\excess}{}{{EX}}
\RenewDocumentCommand{\residual}{}{{R}}
- %^^A He uses k_H for both types of Henry's constant, but I changed
- %^^A the rational basis one just so there is SOME difference
- \RenewSubscriptedSymbol{\Henryrat}{k}{h}
+ \RenewDocumentCommand{\actrel}{}{\widehat{a}}
+ \RenewSubscriptedSymbol{\Henryrat}{k}{H}
\RenewSubscriptedSymbol{\Henrymol}{k}{H}
\RenewDocumentCommand{\allcomponents}{O{j} m}
{
@@ -2432,7 +3262,8 @@
}
}
\cs_set:Nn \@@_intensive:n
- { #1
+ {
+ #1
\peek_catcode_remove:NT \c_math_subscript_token
{ \@@_intensive_two:n }
}
@@ -2450,10 +3281,16 @@
}
{\phi}
}
+ \RenewDocumentCommand{\phimix}{}{\widehat\phi}
+ \RenewDocumentCommand{\fmix}{}{\widehat f}
\RenewDocumentCommand{\mixing}{}{{MIX}}
+ \RenewDocumentCommand{\muJT}{}{\alpha\c_math_subscript_token H}
\RenewDocumentCommand{\Deltamix}{m}
{\Delta\c_math_subscript_token\mixing #1}
- \RenewDocumentCommand{\Deltarxn}{m}{\Delta #1}
+ \RenewDocumentCommand{\reaction}{}{R}
+ \RenewDocumentCommand{\fusion}{}{{SL}}
+ \RenewDocumentCommand{\vaporization}{}{{LV}}
+ \RenewDocumentCommand{\sublimation}{}{{SV}}
\RenewDocumentCommand{\allbut}{O{j} m m}
{ \tl_if_eq:nnTF {#1} {#2}
{
@@ -2463,18 +3300,25 @@
{#3}\c_math_subscript_token{#1}\neq{#3}\c_math_subscript_token{#2}
}
}
+ \RenewDocumentCommand{\Cstd}{}{m^\std}
+ \RenewDocumentCommand{\mustd}{}{\Gamma}
+ \RenewDocumentCommand{\formation}{}{F}
+%^^A \RenewDocumentCommand{\Deltarxn}{}{\Delta}
}
}
% \end{macrocode}
% We execute the default options below.
% \begin{macrocode}
-\ExecuteOptions{EUAGHan,subscripts,parentheses,intensive-plain,moles-index}
+\ExecuteOptions{EUAGHan,subscripts,parentheses,intensive-plain,
+ moles-index,longpm}
\ProcessOptions
% \end{macrocode}
+% \subsection{Variable Order}
% We next encode a routine to sort non-subscripted variables into a consistent
% order. It currently does not sort variables with subscripts.
% \changes{v2.00}{2023/11/16}{Added a sorting routine to make function
-% arguments be in a consistent order using the |nosubscripts| option.}
+% arguments be in a consistent order using the \texttt{nosubscripts}
+% option.}
% \begin{macrocode}
\tl_const:Nn \c_@@_sort_order_tl
{\Et\Em\Es\Ut\Um\Us\Ht\Hm\Hs\Ft\Fm\Fs\Gt\Gm\Gs\Lt\Lm\Ls T\St\Sm\Ss
@@ -2540,11 +3384,14 @@
% of partial derivatives. The command \cs{Partial*} is the same as
% \cs{Partial} except that it adjusts the spacing so the (presumably) binary
% operator that follows it slightly overlaps the subscripts.
-% \changes{v1.01}{2022/03/01}{Changed \cs{adjust@width} to 2pt (up from 1pt)}
+% \changes{v1.01}{2022/03/01}{Changed \cs{adjust@width} to 2pt (up from 1pt).}
% \changes{v1.01}{2022/04/21}{Changed \cs{adjust@width} 0.1\cs{operator@width}
-% (from 2pt)}
+% (from 2pt).}
% \changes{v2.00}{2023/11/16}{Changed length added to
-% \cs{l_@@_Partial_const_dim} from $-0.15$ to $-0.20$}
+% \ExplSyntaxOn
+% \cs{l_@@_Partial_const_dim}~
+% \ExplSyntaxOff
+% from $-0.15$ to $-0.20$.}
% \begin{macrocode}
\tl_new:N \l_@@_Partial_start_tl
\tl_new:N \l_@@_Partial_end_tl
@@ -2676,8 +3523,8 @@
% \end{macro}
% \begin{macro}{\PartialSecondBigg}
% The \cs{PartialSecondBigg} macro and its starred variant replace \cs{left}
-% and \tn{right} with \pkg{amsmath}'s \cs[module=amsmath]{Biggl} and
-% \cs[module=amsmath]{Biggr}.
+% and \tn{right} with \pkg{amsmath}'s \cs{Biggl} and
+% \cs{Biggr}.
% \begin{macrocode}
\NewDocumentCommand{\PartialSecondBigg}{}
{ \tl_set:Nn \l_@@_Partial_start_tl {\biggl\l_@@_PartialOpen_tl}
@@ -2689,8 +3536,8 @@
% \end{macro}
% \begin{macro}{\PartialSecondbigg}
% The \cs{PartialSecondbigg} macro and its starred variant replace \tn{left}
-% and \tn{right} with \pkg{amsmath}'s \cs[module=amsmath]{biggl} and
-% \cs[module=amsmath]{biggr}.
+% and \tn{right} with \pkg{amsmath}'s \cs{biggl} and
+% \cs{biggr}.
% \begin{macrocode}
\NewDocumentCommand{\PartialSecondbigg}{}
{ \tl_set:Nn \l_@@_Partial_start_tl {\biggl\l_@@_PartialOpen_tl}
@@ -2808,14 +3655,14 @@
% \end{macrocode}
%
% If the user does not load the \pkg{amsmath} package, we will not have access
-% to \cs[module=amsmath]{Biggl}, \cs{Biggr}, \cs{biggl}, and \cs{biggr}, so we revert them back
+% to \cs{Biggl}, \cs{Biggr}, \cs{biggl}, and \cs{biggr}, so we revert them back
% to the ordinary \cs{left} and \cs{right} versions and warn the user.
% \begin{macrocode}
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{}{%
\PackageWarningNoLine{thermodynamics}
- {Package~amsmath~not~loaded;~load~to~make~PartialBigg~and~friends
- ~work~correctly}%
+ {Package~amsmath~not~loaded;~load~to~make~PartialBigg~and~friends~
+ work~correctly}%
\cs_set_eq:NN \PartialBigg \Partial
\cs_set_eq:NN \Partialbigg \Partial
\cs_set_eq:NN \PartialSecondBigg \PartialSecond
@@ -3046,13 +3893,13 @@
% of \pkg{xparse}-based \cs{NewSubscriptedSymbol} and
% \cs{RenewSubscriptedSymbol}.}
% \begin{macrocode}
+\str_new:N \l_@@_tmp_str
\cs_new:Npn \@@_check_definable:nN #1#2
{
- \bool_set_true:N \l_@@_arg_legal_bool
\tl_trim_spaces_apply:nN {#1} \tl_if_single_token:nTF
{
- \str_set:Nx \l_tmp_str {\tl_to_str:n {#1}}
- \int_compare:nNnT {\str_count:N \l_tmp_str} = 1
+ \str_set:Nx \l_@@_tmp_str {\tl_to_str:n {#1}}
+ \int_compare:nNnT {\str_count:N \l_@@_tmp_str} = 1
{ \PackageError{thermodynamics}
{First~argument~of~'\tl_trim_spaces:o {\tl_to_str:n {#2}}'~
must~be~a~command}
@@ -3072,7 +3919,11 @@
contains~more~than~one~token.
\MessageBreak Perhaps~a~backslash~is~missing?}
}
-}
+}
+\tl_new:N \l_@@_super_separator_tl
+\tl_new:N \l_@@_sub_separator_tl
+\tl_set:Nn \l_@@_super_separator_tl {,}
+\tl_set:Nn \l_@@_sub_separator_tl {,}
\NewDocumentCommand{\NewSubscriptedSymbol}{m m m}
{
\@@_check_definable:nN {#1} \NewSubscriptedSymbol
@@ -3092,10 +3943,10 @@
}
\cs_new:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_subscript_token{#3,##1} }
+ { {#2}\c_math_subscript_token{#3\l_@@_sub_separator_tl ##1} }
\cs_new:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_subscript_token{#3,##1} }
+ { \c_math_subscript_token{#3\l_@@_sub_separator_tl ##1} }
\NewDocumentCommand{#1}{}
{% @branch
@@ -3126,10 +3977,10 @@
}
\cs_set:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_subscript_token{#3,##1} }
+ { {#2}\c_math_subscript_token{#3\l_@@_sub_separator_tl ##1} }
\cs_set:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_subscript_token{#3,##1} }
+ { \c_math_subscript_token{#3\l_@@_sub_separator_tl ##1} }
\RenewDocumentCommand{#1}{}
{% @branch
@@ -3140,7 +3991,6 @@
{ {#2}\c_math_subscript_token{#3} }
}
}
-
}
% \end{macrocode}
% \end{macro}
@@ -3168,10 +4018,10 @@
}
\cs_new:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l_@@_super_separator_tl ##1} }
\cs_new:cpn {\cs_to_str:N #1_three:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l_@@_super_separator_tl ##1} }
\NewDocumentCommand{#1}{}
{
@@ -3202,10 +4052,10 @@
}
\cs_set:cpn {\cs_to_str:N #1_two:n} ##1
- { {#2}\c_math_superscript_token{#3,##1} }
+ { {#2}\c_math_superscript_token{#3\l_@@_super_separator_tl ##1} }
\cs_set:cpn {\cs_to_str:N #1_three:n} ##1
- { \c_math_superscript_token{#3,##1} }
+ { \c_math_superscript_token{#3\l_@@_super_separator_tl ##1} }
\RenewDocumentCommand{#1}{}
{% @branch
@@ -3217,11 +4067,76 @@
}
}
}
+\cs_new:Nn \@@_subscripted_and_superscripted_core:nnnn
+{
+ \cs_set:cpn {\cs_to_str:N #1_one:n} ##1
+ {
+ {#2}\c_math_superscript_token{##1}
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ { \use:c {\cs_to_str:N #1_three:n} }
+ { \c_math_subscript_token{#3} }
+ }
+ \cs_set:cpn {\cs_to_str:N #1_two:n} ##1
+ {
+ {#2}\c_math_subscript_token{#3 ##1}
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \use:c {\cs_to_str:N #1_four:n} }
+ { \c_math_superscript_token{#4 \bullet} }
+ }
+ \cs_set:cpn {\cs_to_str:N #1_three:n} ##1
+ { \c_math_subscript_token{#3 ##1} }
+ \cs_set:cpn {\cs_to_str:N #1_four:n} ##1
+ { \c_math_superscript_token{#4 ##1} }
+}
+\NewDocumentCommand{\NewSubscriptedandSuperscriptedSymbol}{m m m m}
+{
+ \@@_check_definable:nN {#1} \NewSubscriptedandSuperscriptedSymbol
+ \cs_if_exist:NT #1
+ { \PackageError{thermodynamics}
+ {Command~'\tl_trim_spaces:o {\tl_to_str:n {#1}}'~already~defined}
+ {You~have~used~
+ '\tl_trim_spaces:o
+ {\tl_to_str:n {\NewSubscriptedandSuperScriptedSymbol}}'~
+ with~a~command~that~already~has~a~definition}
+ }
+ \@@_subscripted_and_superscripted_core:nnnn {#1} {#2} {#3} {#4}
+ \NewDocumentCommand{#1}{}
+ {
+ \peek_catcode_remove:NTF \c_math_superscript_token
+ { \use:c {\cs_to_str:N #1_one:n} }
+ { \peek_catcode_remove:NTF \c_math_subscript_token
+ { \use:c {\cs_to_str:N #1_two:n} }
+ { {#2}\c_math_subscript_token{#3}\c_math_superscript_token{#4} }
+ }
+ }
+}
+\NewDocumentCommand{\RenewSubscriptedandSuperscriptedSymbol}{m m m m}
+{
+ \@@_check_definable:nN {#1} \RenewSubscriptedandSuperscriptedSymbol
+%^^A \cs_if_exist:NF #1
+%^^A { \PackageError{thermodynamics}
+%^^A {Command~'\tl_trim_spaces:o {\tl_to_str:n {#1}}'~not~already~defined}
+%^^A {You~have~used~
+%^^A '\tl_trim_spaces:o
+%^^A {\tl_to_str:n {\RenewSubscriptedandSuperScriptedSymbol}}'~
+%^^A with~a~command~that~does~not~have~a~definition}
+%^^A }
+%^^A \@@_subscripted_and_superscripted_core:nnnn {#1} {#2} {#3} {#4}
+%^^A \RenewDocumentCommand{#1}{}
+%^^A {
+%^^A \peek_catcode_remove:NTF \c_math_superscript_token
+%^^A { \use:c {\cs_to_str:N #1_one:n} }
+%^^A { \peek_catcode_remove:NTF \c_math_subscript_token
+%^^A { \use:c {\cs_to_str:N #1_two:n} }
+%^^A { {#2}\c_math_subscript_token{#3}\c_math_superscript_token{#4} }
+%^^A }
+%^^A }
+}
% \end{macrocode}
% \end{macro}
+% \subsection{Symbol Definitions}
% \begin{macro}{\heatcapacitysymbol,\compressibilitysymbol,\expansivitysymbol}
-% Now we define symbols for the heat capacities, compressibilities, and
-% so forth.
+% We define symbols for the heat capacities, compressibilities, and so forth.
% \begin{macrocode}
\NewExpandableDocumentCommand{\heatcapacitysymbol}{}{C}
\NewExpandableDocumentCommand{\compressibilitysymbol}{}{\kappa}
@@ -3283,7 +4198,7 @@
% \begin{macro}{\muJT}
% The macro \cs{muJT} renders the Joule--Thomson coefficient.
% \begin{macrocode}
-\NewSubscriptedSymbol{\muJT}{\JTsymbol}{JT}
+\NewSubscriptedSymbol{\muJT}{\JTsymbol}{\text{JT}}
% \end{macrocode}
% \end{macro}
%
@@ -3302,16 +4217,71 @@
\NewDocumentCommand{\fsat}{}{\fpure\c_math_superscript_token\sat}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\std,\Pstd,\fstd}
-% The \cs{std} macro denotes standard properties. \cs{Pstd} and \cs{fstd} are
-% defined for convenience and for consistency across textbooks.
+% \begin{macro}{\std,\Pstd,\fstd,\Cstd,\mustd}
+% The \cs{std} macro denotes standard properties. \cs{Pstd}, \cs{Cstd},
+% \cs{fstd}, and \cs{mustd} are defined for convenience and for consistency
+% across textbooks.
+% \changes{v2.02}{2024/06/14}{Added \cs{Cstd} and \cs{mustd} to standardize
+% standard molalities and chemical potentials across textbooks.}
% \begin{macrocode}
\NewDocumentCommand{\std}{}{\circ}
\NewDocumentCommand{\Pstd}{}{P\c_math_superscript_token \std}
+\NewDocumentCommand{\Cstd}{}{C\c_math_superscript_token \std}
\NewDocumentCommand{\fstd}{}{f\c_math_superscript_token \std}
+\NewDocumentCommand{\mustd}{}{\mu\c_math_superscript_token \std}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\xrxn}
+% The \cs{xrxn} macro denotes the extent of reaction.
+% \changes{v2.02}{2024/06/14}{Added \cs{xrxn} macro to standardize the
+% extent of reaction macro across textbooks.}
+% \begin{macrocode}
+\NewDocumentCommand{\xrxn}{}{\xi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fmix}
+% The \cs{fmix} command is intended to describe fugacities in mixtures.
+% It renders as $\hat f$ by default, and would be used as \verb"\fmix_i" or
+% the like, producing $\hat f_i$; some authors like to use $\bar f_i$ or
+% just $f_i$, and this command creates a consistent way to change between
+% such options.
+% \begin{macrocode}
+\NewDocumentCommand{\fmix}{}{\hat{f}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\phimix}
+% A similar command, \cs{phimix}, renders $\hat\phi$ by default to represent
+% the fugacity coefficient in a mixture.
+% \begin{macrocode}
+\NewDocumentCommand{\phimix}{}{\hat\phi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\fpure}
+% The \cs{fpure} command is intended to describe fugacities in pure substances.
+% It renders as $f$ by default, and would be used as \verb"\fpure" or
+% \verb"\fpure_i" or the like, producing $f_i$; some authors like to use
+% $f_{\text{pure}\,i}$, and others like to use $f_i^\bullet$; this command
+% creates a consistent way to change between the these options. A similar
+% command for $\phi$ is given, \cs{phipure}, for fugacity coefficients.
+% \begin{macrocode}
+\NewDocumentCommand{\fpure}{}{f}
+\NewDocumentCommand{\phipure}{}{\phi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\actabs,\actrel}
+% The \cs{actabs} and \cs{actrel} macros are intended to standardize the macro
+% for the absolute and relative activities, respectively, across textbooks.
+% The defaults are \(\actabs\) and \(\actrel\), respectively.
+% \changes{v2.02}{2024/06/14}{Added \cs{actabs} and \cs{actrel} to make
+% absolute and relative activity symbols consistent.}
+% \begin{macrocode}
+\NewExpandableDocumentCommand{\actabs}{}{\lambda}
+\NewExpandableDocumentCommand{\actrel}{}{a}
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{Property Changes}
% \begin{macro}{\Deltamix,\mixing}
% Mixing properties, such as $\Deltamix\Gm$, should be accessed using
% \verb"\Deltamix\Gm" and similar constructions---this construct will typeset
@@ -3325,16 +4295,22 @@
% \end{macro}
%
% \pagebreak[2]%
-% \begin{macro}{\Deltafus,\fusion,\Deltavap,\vaporization}
-% \begin{macro}{\Deltasub,\sublimation,\Deltarxn,\reaction}
-% Similar entities for property changes on fusion, reaction, sublimation, and
-% vaporization are defined.
+% \begin{macro}{\formation,\fusion,\reaction,\sublimation,\vaporization}
+% Macros for subscripts/superscripts on property changes,
% \begin{macrocode}
+\NewDocumentCommand{\formation}{}{f}
\NewDocumentCommand{\fusion}{}{{\text{fus}}}
\NewDocumentCommand{\reaction}{}{{\text{rxn}}}
\NewDocumentCommand{\sublimation}{}{{\text{sub}}}
\NewDocumentCommand{\vaporization}{}{{\text{vap}}}
-\NewDocumentCommand{\formation}{}{f}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\Deltafus,\Deltasub,\Deltavap,\Deltarxn}
+% and similar macros for the property changes themselves. Some of these may
+% be redefined by package options that select a particular textbook.
+% \changes{v2.02}{2024/06/14}{Changed implementation of \cs{Deltarxn} to
+% handle subscripts.}
+% \begin{macrocode}
\NewDocumentCommand{\Deltafus}{m}
{\Delta #1\c_math_superscript_token\fusion}
\NewDocumentCommand{\Deltasub}{m}
@@ -3342,55 +4318,37 @@
\NewDocumentCommand{\Deltavap}{m}
{\Delta #1\c_math_superscript_token\vaporization}
\NewDocumentCommand{\Deltarxn}{m}
- {\Delta #1\c_math_subscript_token\reaction}
+{
+ \cs_set:Npn \@@_Deltarxn_one ##1
+ {
+ \Delta #1\c_math_subscript_token{\reaction,##1}
+ }
+ \peek_catcode_remove:NTF \c_math_subscript_token
+ {
+ \@@_Deltarxn_one
+ }
+ {
+ \Delta #1\c_math_subscript_token{\reaction}
+ }
+}
\tl_new:N \l_@@_Deltaf_sym_tl
-\NewSubscriptedSymbol{\@@_Deltaf}{\l_@@_Deltaf_sym_tl}{f}
+\NewSubscriptedSymbol{\@@_Deltaf}{\l_@@_Deltaf_sym_tl}{\formation}
\NewDocumentCommand{\Deltaf}{m}
{ \tl_set:Nn \l_@@_Deltaf_sym_tl {\Delta #1}
\@@_Deltaf
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\fmix}
-% The \cs{fmix} command is intended to describe fugacities in mixtures.
-% It renders as $\hat f$ by default, and would be used as \verb"\fmix_i" or
-% the like, producing $\hat f_i$; some authors like to use $\bar f_i$ or
-% just $f_i$, and this command creates a consistent way to change between
-% such options.
-% \begin{macrocode}
-\NewDocumentCommand{\fmix}{}{\hat{f}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\phimix}
-% A similar command, \cs{phimix}, renders $\hat\phi$ by default to represent
-% the fugacity coefficient in the mixture.
-% \begin{macrocode}
-\NewDocumentCommand{\phimix}{}{\hat\phi}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\fpure}
-% The \cs{fpure} command is intended to describe fugacities in pure substances.
-% It renders as $f$ by default, and would be used as \verb"\fpure" or
-% \verb"\fpure_i" or the like, producing $f_i$; some authors like to use
-% $f_{\text{pure},i}$, and others like to use $f_i^\bullet$; this command
-% creates a consistent way to change between the these options. A similar
-% command for $\phi$ is given, \cs{phipure}, for fugacity coefficients.
-% \begin{macrocode}
-\NewDocumentCommand{\fpure}{}{f}
-\NewDocumentCommand{\phipure}{}{\phi}
-% \end{macrocode}
-% \end{macro}
%
-% \subsection{Partial Molar Quantities}
+% \subsubsection{Partial Molar Quantities}
% \begin{macro}{\partialmolar}
% Partial molar quantities with superscripts appear as $\Gpm[\IG]{i}$ or
-% $\GRpm{i}$, rather than something like
-% $\overline{G}^\IG_i$ or $\overline{G}_i^R$; the former looks better but
-% is harder to implement for obvious reasons. Their definitions allow them to
-% be used as symbols, something like \verb"\Gpm_i", \verb"\Gpm^{\IGM}_i",
-% \verb"\Gpm^{\IGM}_i", and even \verb"\Gpm_i^{\IGM}";
+% $\GRpm{i}$ (or, with the |shortpm| option, as
+% \begin{thermoshortpm}$\Gpm[\IG]{i}$ or $\GRpm{i}$\end{thermoshortpm}),
+% rather than something like $\overline{G}^\IG_i$ or $\overline{G}_i^R$; the
+% former looks better but is harder to implement for obvious reasons. Their
+% definitions allow them to be used as symbols, something like \verb"\Gpm_i",
+% \verb"\Gpm^{\IGM}_i", \verb"\Gpm^{\IGM}_i", and even \verb"\Gpm_i^{\IGM}";
% they can also be treated as commands: \verb"\Gpm{i}" is equivalent to
% \verb"\Gpm_i" and \verb"\Gpm[\IGM]{i}" is equivalent to \verb"\Gpm_i^{\IGM}".
% The macro \cs{partialmolar} can be used to create an arbitrary partial
@@ -3434,12 +4392,21 @@
}
\cs_new:Npn \@@_pm_case_one #1
{
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token{#1}}
+ \bool_if:NTF \l_@@_longpm_bool
+ { \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token{#1}} }
+ {
+ \@@_overline:n {\l_@@_pm_symbol_tl}\c_math_subscript_token{#1}
+ }
}
\cs_new:Npn \@@_pm_case_two [#1]#2
{
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{#1}\c_math_subscript_token{#2}}
+ \bool_if:NTF \l_@@_longpm_bool
+ { \@@_overline:n {\l_@@_pm_symbol_tl
+ \c_math_superscript_token{#1}\c_math_subscript_token{#2}}
+ }
+ { \@@_overline:n {\l_@@_pm_symbol_tl}
+ \c_math_superscript_token{#1}\c_math_subscript_token{#2}
+ }
}
\cs_new:Npn \@@_pm_case_three #1
{
@@ -3450,9 +4417,15 @@
}
\cs_new:Npn \@@_pm_case_three_part_two #1
{
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{\l_@@_pm_arg_tl}
- \c_math_subscript_token{#1}}
+ \bool_if:NTF \l_@@_longpm_bool
+ { \@@_overline:n {\l_@@_pm_symbol_tl
+ \c_math_superscript_token{\l_@@_pm_arg_tl}
+ \c_math_subscript_token{#1}}
+ }
+ { \@@_overline:n {\l_@@_pm_symbol_tl}
+ \c_math_superscript_token{\l_@@_pm_arg_tl}
+ \c_math_subscript_token{#1}
+ }
}
\cs_new:Npn \@@_pm_case_four_or_five #1
{
@@ -3463,18 +4436,28 @@
}
\cs_new:Npn \@@_pm_case_four #1
{
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_superscript_token{#1}
- \c_math_subscript_token{\l_@@_pm_arg_tl}}
+ \bool_if:NTF \l_@@_longpm_bool
+ { \@@_overline:n {\l_@@_pm_symbol_tl\c_math_superscript_token{#1}
+ \c_math_subscript_token{\l_@@_pm_arg_tl}}
+ }
+ { \@@_overline:n {\l_@@_pm_symbol_tl}\c_math_superscript_token{#1}
+ \c_math_subscript_token{\l_@@_pm_arg_tl}
+ }
}
\cs_new:Npn \@@_pm_case_five
{
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_subscript_token{\l_@@_pm_arg_tl}}
+ \bool_if:NTF \l_@@_longpm_bool
+ { \@@_overline:n {\l_@@_pm_symbol_tl
+ \c_math_subscript_token{\l_@@_pm_arg_tl}}
+ }
+ { \@@_overline:n {\l_@@_pm_symbol_tl}
+ \c_math_subscript_token{\l_@@_pm_arg_tl}
+ }
}
% \end{macrocode}
% \end{macro}
%
-% \subsection{Symbol Definitions}
+% \subsubsection{Thermodynamic Property Definitions}
% These macros define the user interface to the symbols for energy, volume,
% and so forth. There are five commands that define thermodynamic properties.
%
@@ -3528,7 +4511,7 @@
\NewResidualProperty{#1}{#2}
\NewExcessProperty{#1}{#2}
}
-\NewDocumentCommand{\NewExtensiveProperty}{m m}
+\ProvideDocumentCommand{\NewExtensiveProperty}{m m}
{
% Extensive property
\exp_after:wN \NewDocumentCommand \exp_after:wN
@@ -3546,7 +4529,7 @@
\exp_after:wN \NewDocumentCommand \exp_after:wN
{\cs:w #1pm\cs_end:}{}{\partialmolar{#2}}
}
-\NewDocumentCommand{\NewExcessProperty}{m m}
+\ProvideDocumentCommand{\NewExcessProperty}{m m}
{
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Et\cs_end:}{\@@_extensive:n{#2}}{\excess}
@@ -3555,13 +4538,12 @@
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Es\cs_end:}{\@@_specific:n{#2}}{\excess}
- %^^A TODO: make super- or subscripted partial molar quantities work
% Excess partial molar property
\exp_after:wN \NewDocumentCommand \exp_after:wN
{\cs:w #1Epm\cs_end:}{}{\partialmolar{#2}
\c_math_superscript_token\excess}
}
-\NewDocumentCommand{\NewResidualProperty}{m m}
+\ProvideDocumentCommand{\NewResidualProperty}{m m}
{
\exp_after:wN \NewSuperscriptedSymbol \exp_after:wN
{\cs:w #1 Rt\cs_end:}{\@@_extensive:n{#2}}{\residual}
@@ -3603,75 +4585,32 @@
% \begin{macro}{\cVpm,\cPpm}
% Partial molar heat capacities are \emph{hard}, but the following
% implementation seems to work flawlessly\dots so far.
+% \changes{v2.02}{2024/06/14}{Simplified implementations of partial molar
+% heat capacities that take advantage of \cs{NewPartialMolarProperty} and
+% \cs{NewSubscriptedProperty}. This fixes the issue of the subscripts being
+% ``persistent'' after \cs{cPpm} is used in a line. Also declared alternative
+% symbols for use with the \texttt{shortpm} option.}
% \begin{macrocode}
-\NewDocumentCommand{\cPpm}{}
-{
- \cs_set:Npn \@@_pm_case_one ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token
- {\g_@@_pressure_symbol,##1}}
- }
- \cs_set:Npn \@@_pm_case_two [##1]##2
- {
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_superscript_token{##1}
- \c_math_subscript_token{\g_@@_pressure_symbol,##2}}
- }
- \cs_set:Npn \@@_pm_case_three_part_two ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{\l_@@_pm_arg_tl}
- \c_math_subscript_token{\g_@@_pressure_symbol,##1}}
- }
- \cs_set:Npn \@@_pm_case_four ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{##1}\c_math_subscript_token
- {\g_@@_pressure_symbol,\l_@@_pm_arg_tl}}
- }
- \cs_set:Npn \@@_pm_case_five
- {
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token
- {\g_@@_pressure_symbol,\l_@@_pm_arg_tl}}
- }
- \partialmolar{\heatcapacitysymbol}
-}
-\NewDocumentCommand{\cVpm}{}
-{
- \cs_set:Npn \@@_pm_case_one ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token
- {\g_@@_volume_symbol,##1}}
- }
- \cs_set:Npn \@@_pm_case_two [##1]##2
- {
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{##1}\c_math_subscript_token
- {\g_@@_volume_symbol,##2}}
- }
- \cs_set:Npn \@@_pm_case_three_part_two ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{\l_@@_pm_arg_tl}
- \c_math_subscript_token{\g_@@_volume_symbol,##1}}
- }
- \cs_set:Npn \@@_pm_case_four ##1
- {
- \@@_overline:n {\l_@@_pm_symbol_tl
- \c_math_superscript_token{##1}
- \c_math_subscript_token
- {\g_@@_volume_symbol,\l_@@_pm_arg_tl}}
- }
- \cs_set:Npn \@@_pm_case_five
- {
- \@@_overline:n {\l_@@_pm_symbol_tl\c_math_subscript_token
- {\g_@@_volume_symbol,\l_@@_pm_arg_tl}}
- }
- \partialmolar{\heatcapacitysymbol}
-}
+\NewPartialMolarProperty{cP}{\cP}
+\NewPartialMolarProperty{cV}{\cV}
+\NewSubscriptedSymbol{\cPpmshort}{\@@_overline_copy:n{\heatcapacitysymbol}}
+ {\g_@@_pressure_symbol}
+\NewSubscriptedSymbol{\cVpmshort}{\@@_overline_copy:n{\heatcapacitysymbol}}
+ {\g_@@_volume_symbol}
% \end{macrocode}
% \end{macro}
%
-% \subsection{Residual and Excess Properties}
+% \subsubsection{Electrochemistry}
+% \begin{macro}{\Epot}
+% \changes{v2.02}{2024/06/14}{Added \cs{Epot} to standardize the electric
+% potential across textbooks for electrochemistry.}
+% The \cs{Epot} command can be used for the electric potential.
+% \begin{macrocode}
+\NewExpandableDocumentCommand{\Epot}{}{E}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Residual and Excess Properties}
% \begin{macro}{\residual,\excess}
% Macros are defined for residual properties (departure from ideal gases)
% and excess properties (departure from ideal solutions). We begin with two
@@ -3683,9 +4622,9 @@
% \end{macrocode}
% \end{macro}
%
-% \pagebreak[1]%
+% \pagebreak[1]\relax
% \begin{macro}{\prodall,\sumall,\summallbutlast}
-% The \cs{sumall} command and its cousin, \cs{sumallbutlast}, simplify the
+% The \cs{sumall} macro and its cousin, \cs{sumallbutlast}, simplify the
% typesetting of commonly-used sums; the command \cs{prodall} does the same
% thing for products, viz.,
% \begin{verbatim}
@@ -3694,9 +4633,9 @@
% = \prodall_i a_i^{\nu_i} \]
%\end{verbatim}
% gives
-% \[ \sum_{i=1}^C x_i = 1 \qquad \sum_{i=1}^{C-1} x_i = 1 - x_C \qquad
-% K = \exp\left(\frac{-\Delta G_\text{rxn}^\circ}{RT}\right)
-% = \prod_{i=1}^C a_i^{\nu_i} \]
+% \[ \sumall_i x_i = 1 \qquad \sumallbutlast_i x_i = 1 - x_\ncomponents
+% \qquad K = \exp\left(\frac{-\Deltarxn\Gm^\std}{RT}\right)
+% = \prodall_i a_i^{\nu_i} \]
% \begin{macrocode}
\NewDocumentCommand{\sumall}{m m}
{ \sum\c_math_subscript_token{#2=1}
@@ -3723,6 +4662,7 @@
% \end{macro}
%
% \begin{macro}{\Henryrat,\Henrymol}
+% \subsubsection{Henry's Law Constants and Activity Coefficients}
% The Henry's Law constants for the rational basis ($y_i P = x_i h_i$) and
% the molal basis ($y_i P = C_i \mathcal{H}_i$) are given by the macros
% \cs{Henryrat} and \cs{Henrymol}, respectively. Using them this way
@@ -3733,20 +4673,28 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\gammait,\muit}
+% \changes{v2.02}{2024/06/14}{Added \cs{muit} and \cs{gammait} to preserve
+% symbols in case the base macros are redefined by a package.}
% \begin{macro}{\gammarat,\gammamol}
-% The ordinary activity coefficient is universally denoted $\gamma$, so I
-% have not defined a special macro for that. However, symbols for the Henry's
-% Law activity coefficients are far from universal, so I have defined macros to
-% make their use consistent. The defaults render \cs{gammarat} as $\gamma^\ast$
-% and \cs{gammamol} as $\gamma^\square$.
-% \cs{gammamol} will use \cs{square} from packages if it is defined; if not,
-% it ``fakes it'' with the definition below.
+% The ordinary activity coefficient is typically denoted $\gamma$ or
+% $\gammaup$, so the base symbol will still be \cs{gamma}. The macro
+% \cs{gammait} is defined just in case \cs{gamma} is redefined by a package
+% option. However, symbols for the Henry's Law activity coefficients are far
+% from universal, so I have defined macros to make their use consistent. The
+% defaults render \cs{gammarat} as $\gamma^\ast$ and \cs{gammamol} as
+% $\gamma^\square$. \cs{gammamol} will use \cs{square} from packages if it is
+% defined; if not, it ``fakes it'' with the definition below.
+% The symbol for the chemical potential is \cs{mu}, but \cs{muit} is defined
+% so the symbol is still available, should \cs{mu} be redefined later.
%^^A Backup for \square adapted from amsthm.sty with tweaks to make it
%^^A look reasonably similar to that from newpx (i.e., smaller than the
-%^^A amsfonts) version
+%^^A amsfonts version)
% \begin{macrocode}
+\cs_gset_eq:NN \gammait \gamma
+\cs_gset_eq:NN \muit \mu
\AtBeginDocument{%
- \providecommand*{\square}{%
+ \ProvideDocumentCommand{\square}{}{%
\text{\leavevmode
\hbox to.65em{%
\hfil\vrule
@@ -3759,6 +4707,8 @@
\NewDocumentCommand{\gammamol}{}{\gamma\c_math_superscript_token\square}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \subsection{Jacobians}
% \begin{environment}{thermovmatrix}
% This is a non-user-interface wrapper environment used to detect, in
% effect, whether \pkg{amsmath} has been loaded. If so, it uses its
@@ -3778,7 +4728,7 @@
% \end{environment}
% \begin{macro}{Jacobian}
% The \cs{Jacobian} command typesets the Leibnitz notation for the Jacobian
-% determinant.
+% determinant.\relax
% \changes{v2.00}{2023/11/16}{Reimplemented \cs{Jacobian} to handle an
% arbitary number of variables and implemented \cs{Jacobiandet} to
% handle the matrix representation of the Jacobian.}
diff --git a/macros/latex/contrib/thermodynamics/thermodynamics.ins b/macros/latex/contrib/thermodynamics/thermodynamics.ins
index f2f2b95f40..ac1f6bd146 100644
--- a/macros/latex/contrib/thermodynamics/thermodynamics.ins
+++ b/macros/latex/contrib/thermodynamics/thermodynamics.ins
@@ -1,4 +1,4 @@
-%% File: thermodynamics.ins Copyright (C) 2022-2023 Karl D. Hammond
+%% File: thermodynamics.ins Copyright (C) 2022-2024 Karl D. Hammond
%%
%% Karl D. Hammond,
%% Department of Chemical Engineering
@@ -30,7 +30,7 @@
This is a generated file.
-Copyright (C) 2022-2023 by Karl D. Hammond
+Copyright (C) 2022-2024 by Karl D. Hammond
Karl D. Hammond,
Department of Chemical Engineering
diff --git a/macros/latex/contrib/thermodynamics/thermodynamics.pdf b/macros/latex/contrib/thermodynamics/thermodynamics.pdf
index 389a58d238..b2d2f3c62c 100644
--- a/macros/latex/contrib/thermodynamics/thermodynamics.pdf
+++ b/macros/latex/contrib/thermodynamics/thermodynamics.pdf
Binary files differ
diff --git a/macros/latex/contrib/thuthesis/CHANGELOG.md b/macros/latex/contrib/thuthesis/CHANGELOG.md
index fb293105fc..b038a8a762 100644
--- a/macros/latex/contrib/thuthesis/CHANGELOG.md
+++ b/macros/latex/contrib/thuthesis/CHANGELOG.md
@@ -6,6 +6,17 @@
## [Unreleased]
+## [v7.5.2] - 2024-07-01
+
+### Added
+
+- 增加选项 `eqn-paren-style` 控制公式编号的括号样式([#959](https://github.com/tuna/thuthesis/pull/959))。
+
+### Fixed
+
+- 解决本科生的多篇“书面翻译对应的原文索引”([#956](https://github.com/tuna/thuthesis/issues/956))。
+- 修复 GitHub 发布的 Release 压缩包缺少部分文件的问题([#965](https://github.com/tuna/thuthesis/issues/965))。
+
## [v7.5.1] - 2024-05-20
### Changed
@@ -988,7 +999,8 @@
-[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.1...HEAD
+[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.2...HEAD
+[v7.5.2]: https://github.com/tuna/thuthesis/compare/v7.5.1...v7.5.2
[v7.5.1]: https://github.com/tuna/thuthesis/compare/v7.5.0...v7.5.1
[v7.5.0]: https://github.com/tuna/thuthesis/compare/v7.4.0...v7.5.0
[v7.4.0]: https://github.com/tuna/thuthesis/compare/v7.3.2...v7.4.0
diff --git a/macros/latex/contrib/thuthesis/thuthesis-example.pdf b/macros/latex/contrib/thuthesis/thuthesis-example.pdf
index 2c48ce2ef5..36ed8efd75 100644
--- a/macros/latex/contrib/thuthesis/thuthesis-example.pdf
+++ b/macros/latex/contrib/thuthesis/thuthesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/thuthesis/thuthesis.dtx b/macros/latex/contrib/thuthesis/thuthesis.dtx
index ea4ac03f22..e6f3e46ad8 100644
--- a/macros/latex/contrib/thuthesis/thuthesis.dtx
+++ b/macros/latex/contrib/thuthesis/thuthesis.dtx
@@ -14,7 +14,7 @@
%
% \iffalse
%<*driver>
-\ProvidesFile{thuthesis.dtx}[2024/05/20 7.5.1 Tsinghua University Thesis Template]
+\ProvidesFile{thuthesis.dtx}[2024/07/01 7.5.2 Tsinghua University Thesis Template]
\documentclass{ltxdoc}
\usepackage{dtx-style}
@@ -251,7 +251,7 @@
% $ bibtex thuthesis-example.aux # 生成 bbl 文件
% $ bibtex thuthesis-example-appendix-a.aux # 附录 A 的的参考文献
% $ bibtex thuthesis-example-appendix-b.aux # 附录 B 的的参考文献……
-% $ bibtex thuthesis-example-index.aux # 本科生的书面翻译对应的原文索引
+% $ bibtex thuthesis-example-index-1.aux # 本科生的书面翻译对应的原文索引
% $ xelatex thuthesis-example.tex # 解决引用
% $ xelatex thuthesis-example.tex # 生成论文 PDF
%
@@ -813,7 +813,7 @@
% }
% \end{latex}
%
-% 用户也可以逐项修改数学样式。
+% 用户也可以逐项修改数学样式,包括:
% \newcommand\dif{\mathop{}\!\mathrm{d}}
% \begin{enumerate}
% \item \DescribeOption{uppercase-greek}
@@ -885,12 +885,16 @@
% 模板作了处理,用户可以直接使用这些宏包的命令,如 \cs{bm}、\cs{mathscr}、
% \cs{uppi}。
%
-% 另外,模板还为 `math-font` 提供了传统的 Type 1 字体 \option{newtx}。
+% 另外,模板还为 |math-font| 提供了传统的 Type 1 字体 \option{newtx}。
% 该选项会调用 \pkg{newtxmath} 宏包。
% 但是,如果西文字体已经使用了 OpenType 的 Times New Roman,
% 混用 Type 1 字体可能会导致问题,尤其是使用 \pkg{siunitx} 宏包时。
% 该选项还处于测试阶段,需要谨慎使用。
%
+% \DescribeOption{eqn-paren-style}
+% 控制中文论文中,数学公式编号两边的括号样式。可选项包括:\option{full}(全角,默认) / \option{half}(半角)。
+% 在语言为英语(|language = english|)时,此选项无效,仅使用半角括号。
+%
% \subsubsection{定理环境}
% \label{sec:theorem}
% \thuthesis{} 定义了常用的数学环境:
@@ -1269,7 +1273,7 @@
% \begin{macrocode}
%<cls>\NeedsTeXFormat{LaTeX2e}[2017/04/15]
%<cls>\ProvidesClass{thuthesis}
-%<cls>[2024/05/20 7.5.1 Tsinghua University Thesis Template]
+%<cls>[2024/07/01 7.5.2 Tsinghua University Thesis Template]
% \end{macrocode}
%
% 报错
@@ -1330,7 +1334,7 @@
%<*cls>
\hyphenation{Thu-Thesis}
\def\thuthesis{ThuThesis}
-\def\version{7.5.1}
+\def\version{7.5.2}
\RequirePackage{kvdefinekeys}
\RequirePackage{kvsetkeys}
\RequirePackage{kvoptions}
@@ -1658,6 +1662,17 @@
},
default = print,
},
+% \end{macrocode}
+%
+% 数学公式编号的括号使用全角还是半角。
+% \begin{macrocode}
+ eqn-paren-style = {
+ name = eqn@paren@style,
+ choices = {
+ full,
+ half,
+ }
+ },
}
\newif\ifthu@degree@graduate
\newcommand\thu@set@graduate{%
@@ -3511,10 +3526,23 @@
% 中文模板的公式编号使用中文括号。需要修改 \pkg{amsmath} 的 \cs{tagform@}。
% 这里中文的 \cs{unskip} 是为了“|式~\eqref|”这样的写法不产生额外的空格。
% \begin{macrocode}
+\newcommand\thu@eqn@left@paren{(}
+\newcommand\thu@eqn@right@paren{)}
+\newcommand\thu@set@eqn@paren@style{%
+ \ifthu@eqn@paren@style@full
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \else
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \fi
+}
+\thu@set@eqn@paren@style
+\thu@option@hook{eqn-paren-style}{\thu@set@eqn@paren@style}
\newcommand\thu@put@parentheses[1]{%
\ifthu@language@chinese
\unskip
- (#1)%
+ \thu@eqn@left@paren#1\thu@eqn@right@paren
\else
(#1)%
\fi
@@ -6347,9 +6375,11 @@
% \begin{macrocode}
\newenvironment{translation-index}{}{}
\AtEndOfPackageFile*{bibunits}{
+ \newcounter{thu@translation@index}%
\renewenvironment{translation-index}{%
+ \global\advance\c@thu@translation@index\@ne
\begin{bibunit}%
- \renewcommand\@bibunitname{\jobname-index}%
+ \renewcommand\@bibunitname{\jobname-index-\arabic{thu@translation@index}}%
\renewcommand\bibname{书面翻译对应的原文索引}%
\thu@set@survey@bibheading
}{%
diff --git a/macros/latex/contrib/thuthesis/thuthesis.pdf b/macros/latex/contrib/thuthesis/thuthesis.pdf
index daa32de045..4979b94dc4 100644
--- a/macros/latex/contrib/thuthesis/thuthesis.pdf
+++ b/macros/latex/contrib/thuthesis/thuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tiet-question-paper/LICENSE b/macros/latex/contrib/tiet-question-paper/LICENSE
new file mode 100644
index 0000000000..df351f4f49
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/LICENSE
@@ -0,0 +1,26 @@
+The MIT License (MIT)
+Copyright (c) 2024 B.V. Raghav
+
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the ``Software''), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/macros/latex/contrib/tiet-question-paper/README.md b/macros/latex/contrib/tiet-question-paper/README.md
new file mode 100644
index 0000000000..e03586d4fe
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/README.md
@@ -0,0 +1,151 @@
+# `tiet-question-paper.cls` #
+
+[Installation](#installation) |
+[Usage](#usage) |
+[Emacs Org Integration](#emacs-org-integration)
+
+Author: Raghav B. Venkataramaiyer
+Email: bv.raghav -at- thapar -dot- edu
+Email: bvraghav -at- gmail -dot- com
+License: [MIT License](./LICENSE)
+Version: 2024-06-22
+
+Provide a document class `tiet-question-paper` in order
+to create a question paper for [the Thapar
+Institute](https://thapar.edu/) in $\LaTeX$. Although
+created for the TIET, the module, however, is adaptable
+to any organisation.
+
+The following example is a screenshot from
+[`sample.pdf`](./sample.pdf), with the source at
+[`sample.tex`](./sample.tex)
+
+![](./images/sample.png)
+
+## Installation ##
+
+### CTAN ###
+
+TBA
+
+### From Source ###
+
+1. `tlmgr init-usertree`
+2. `kpsewhich -var-value=TEXMFHOME` should return
+ `~/texmf`
+3. `mkdir -p ~/texmf/tex/latex`
+4. `cd ~/texmf/tex/latex`
+5. `git clone
+ git@github.com:bvraghav/qptiet_latex-class tiet-question-paper`
+6. Verify that `kpsewhich tiet-question-paper.cls` finds `tiet-question-paper.cls`.
+
+## Usage ##
+
+### Document Class ###
+
+The document class is based on `article`. And all the
+options are passed forward as is.
+
+```latex
+\documentclass[11pt,onecolumn]{tiet-question-paper}
+```
+
+### Title Block ###
+
+Only the following macros contribute to the title block.
+
+```latex
+\date{28 May 2024}
+% \institute{Thapar Institute of Engineering \&
+% Technology} % Default value
+% \abbrevinst{\textsc{tiet}} % Reserved for future
+% \instaddress{Patiala 147004} % Reserved for future
+% \cohort{} % Reserved for future
+% \instlogo{images/tiet-logo.pdf} % Optional
+\schoolordepartment{Computer Science \& Engineering Department}
+\examname{End Semester Examination}
+\coursecode{UCS505}
+\coursename{Computer Graphics}
+\timeduration{3 hours}
+\maxmarks{45}
+\faculty{ANG,AMK,HPS,YDS,RGB}
+```
+
+### Geometry ###
+
+The class loads `geometry` package with following
+default options,
+
+```latex
+\RequirePackage[%
+ a4paper,%
+ left=1in,%
+ top=0.5in,%
+ right=0.75in,%
+ bottom=0.75in%
+]{geometry}
+```
+
+However, a user may reconfigure using `\geometry`
+command in [the
+preamble](https://duckduckgo.com/?q=what+is+a+preamble+in+latex+document)
+for example,
+
+```latex
+\geometry{letterpaper,bindingoffset=0.2in,
+ left=1.2in,right=1.2in,top=.8in,bottom=.8in,
+ footskip=.25in}
+```
+
+### Rules ###
+
+```latex
+\bvrhrule
+\bvrhrule[2pt]
+```
+Create a horizontal rule with length equal to line
+width and thickness `0.4pt` by default. Optional
+argument specifies line thickness. Here’s the
+implementation detail,
+
+```latex
+\DeclareRobustCommand%
+% Horizontal rule after each question
+\bvrhrule[1][0.4pt]{\rule{\linewidth}{#1}}
+```
+
+### Line Skip ###
+
+```latex
+\bvrskipline
+\bvrskipline[1.2]
+```
+
+Create vertical blank space with height specified as a
+factor of `\baselineskip`. Optional argument specifies
+the factor, `1.0` by default. Here’s the
+implementation detail,
+
+```latex
+\DeclareRobustCommand%
+% Skip line
+\bvrskipline[1][]{\vspace{#1\baselineskip}}
+```
+
+## Emacs Org Integration ##
+Add the following to [the
+init-file](https://www.gnu.org/software/emacs/manual/html_node/emacs/Init-File.html)
+```elisp
+(add-to-list 'org-latex-classes
+ `("tiet-question-paper" "\\documentclass{tiet-question-paper}
+[NO-DEFAULT-PACKAGES]
+\\usepackage{amsmath}
+\\usepackage{graphicx}
+\\usepackage{wrapfig}
+\\usepackage{amssymb}
+\\usepackage[unicode]{hyperref}
+" nil))
+```
+
+Here’s a [`sample-org`](./sample-org.org) file; that
+produces a [`PDF`](./sample-org.pdf)
diff --git a/macros/latex/contrib/tiet-question-paper/images/sample.png b/macros/latex/contrib/tiet-question-paper/images/sample.png
new file mode 100644
index 0000000000..332ad33af1
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/images/sample.png
Binary files differ
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.org b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.org
new file mode 100644
index 0000000000..50b55b4275
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.org
@@ -0,0 +1,182 @@
+#+date: \today
+
+#+latex_class: tiet-question-paper
+#+latex_class_options: [11pt]
+#+options: num:nil toc:nil author:nil email:nil
+
+#+latex_header_extra: \hypersetup{%
+#+latex_header_extra: colorlinks,%
+#+latex_header_extra: breaklinks,%
+#+latex_header_extra: urlcolor=[rgb]{0,0.35,0.65},%
+#+latex_header_extra: linkcolor=[rgb]{0,0.35,0.65}%
+#+latex_header_extra: }
+
+#+latex_header_extra: \usepackage{libertinus}
+
+#+latex_header_extra: \instlogo{images/tiet-logo.pdf}
+#+latex_header_extra: \schoolordepartment{%
+#+latex_header_extra: Computer Science \& Engineering Department}
+#+latex_header_extra: \examname{End Semester Examination}
+#+latex_header_extra: \coursecode{UCS505}
+#+latex_header_extra: \coursename{Computer Graphics}
+#+latex_header_extra: \timeduration{3 hours}
+#+latex_header_extra: \maxmarks{45}
+#+latex_header_extra: \faculty{ANG,AMK,HPS,YDS,RGB}
+
+#+latex: \maketitle
+
+*Instructions:*
+1. Attempt any 5 questions;
+2. Attempt all the subparts of a question at one place.
+
+#+latex: \bvrhrule\bvrskipline
+
+1.
+ 1. Given the control polygon $\textbf{b}_0,
+ \textbf{b}_1, \textbf{b}_2, \textbf{b}_3$ of a
+ Cubic Bezier curve; determine the vertex
+ coordinates for parameter values $\forall t\in
+ T$. \hfill [7 marks]
+ \begin{align*}
+ T \equiv
+ & \{0, 0.15, 0.35, 0.5, 0.65, 0.85, 1\} \\
+ \begin{bmatrix}
+ \textbf{b}_0 &\textbf{b}_1& \textbf{b}_2& \textbf{b}_3
+ \end{bmatrix} \equiv& \begin{bmatrix}
+ 1&2&4&3\\ 1&3&3&1
+ \end{bmatrix}
+ \end{align*}
+
+ 2. Explain the role of convex hull in curves.
+ \hfill[2 marks]
+
+#+latex: \bvrhrule
+
+#+ATTR_LATEX: :options [resume]
+1.
+ 1. Describe the continuity conditions for
+ curvilinear geometry. \hfill[5 marks]
+ 2. Define formally, a B-Spline curve. \hfill [2
+ marks]
+ 3. How is a Bezier curve different from a B-Spline
+ curve? \hfill [2 marks]
+
+#+latex: \bvrhrule
+
+#+ATTR_LATEX: :options [resume]
+1.
+ 1. Given a triangle, with vertices defined by column
+ vectors of $P$; find its vertices after
+ reflection across XZ plane. \hfill [3 marks]
+ \begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 3&6&5 \\ 4&4&6 \\ 1&2&3
+ \end{bmatrix}
+ \end{align*}
+ 2. Given a pyramid with vertices defined by the
+ column vectors of $P$, and an axis of rotation
+ $A$ with direction $\textbf{v}$ and passing
+ through $\textbf{p}$. Find the coordinates of
+ the vertices after rotation about $A$ by an angle
+ of $\theta=\pi/4$.\hfill [6 marks]
+ \begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 0&1&0&0 \\ 0&0&1&0 \\0&0&0&1
+ \end{bmatrix} \\
+ \begin{bmatrix}
+ \mathbf{v} & \mathbf{p}
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 0&0 \\1&1\\1&0
+ \end{bmatrix}
+ \end{align*}
+#+latex: \bvrhrule
+
+#+ATTR_LATEX: :options [resume]
+1.
+ 1. Explain the two winding number rules for inside
+ outside tests. \hfill [4 marks]
+ 2. Explain the working principle of a CRT. \hfill [5
+ marks]
+
+#+latex: \bvrhrule
+
+#+ATTR_LATEX: :options [resume]
+1.
+ 1. Given a projection plane $P$ defined by normal
+ $\textbf{n}$ and a reference point $\textbf{a}$;
+ and the centre of projection as $\mathbf{p}_0$;
+ find the perspective projection of the point
+ $\textbf{x}$ on $P$. \hfill [5 marks]
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}&\mathbf{n}&\mathbf{p}_0&\mathbf{x}
+ \end{bmatrix}\equiv
+ &
+ \begin{bmatrix}
+ 3&-1&1&8\\4&2&1&10\\5&-1&3&6
+ \end{bmatrix}
+ \end{align*}
+ 2. Given a geometry $G$, which is a standard unit
+ cube scaled uniformly by half and viewed through
+ a Cavelier projection bearing $\theta=\pi/4$
+ wrt. $X$ axis. \hfill [2 marks]
+ 3. Given a view coordinate system (VCS) with origin
+ at $\textbf{p}_v$ and euler angles ZYX as
+ $\boldsymbol{\theta}$ wrt. the world coordinate
+ system (WCS); find the location $\mathbf{x}_v$ in
+ VCS, corresponding to $\textbf{x}_w$ in
+ WCS. \hfill [2 marks]
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{p}_v & \boldsymbol{\theta} & \mathbf{x}_w
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 5&\pi/3&10\\5&0&10\\0&0&0
+ \end{bmatrix}
+ \end{align*}
+
+#+latex: \bvrhrule
+
+#+ATTR_LATEX: :options [resume]
+1.
+ 1. Describe the visible surface detection problem in
+ about 25 words. \hfill [1 mark]
+ 2. To render a scene with $N$ polygons into a
+ display with height $H$; what are the space and
+ time complexities respectively of a typical
+ image-space method. \hfill [2 marks]
+ 3. Given a 3D space bounded within $[0\quad0\quad0]$
+ and $[7\quad7\quad-7]$, containing two infinite
+ planes each defined by 3 incident points
+ $\mathbf{a}_0, \mathbf{a}_1, \mathbf{a}_2$ and
+ $\mathbf{b}_0, \mathbf{b}_1, \mathbf{b}_2$
+ respectively bearing colours (RGB) as
+ $\mathbf{c}_a$ and $\textbf{c}_b$ respectively.
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}_0&\mathbf{a}_1&\mathbf{a}_2
+ &\mathbf{b}_0&\mathbf{b}_1&\mathbf{b}_2
+ &\mathbf{c}_a&\mathbf{c}_b
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 1&6&1&6&1&6&1&0 \\
+ 1&3&6&6&3&1&0&0 \\
+ -1&-6&-1&-1&-6&-1&0&1
+ \end{bmatrix}
+ \end{align*}
+ Compute and/ or determine using the depth-buffer
+ method, the colour at pixel $\mathbf{x}=(2,4)$ on
+ a display resolved into $7\times7$ pixels. The
+ projection plane is at $Z=0$, looking at
+ $-Z$. \hfill [6 marks]
+
+#+latex: \bvrhrule
+
+
+# Local Variables:
+# org-latex-default-packages-alist: nil
+# org-latex-packages-alist: nil
+# End:
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.pdf b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.pdf
new file mode 100644
index 0000000000..bd60bf62e6
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.pdf
Binary files differ
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.tex b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.tex
new file mode 100644
index 0000000000..54c7290a67
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample-org.tex
@@ -0,0 +1,204 @@
+% Created 2024-06-22 Sat 22:57
+% Intended LaTeX compiler: pdflatex
+\documentclass[11pt]{tiet-question-paper}
+\usepackage{amsmath}
+\usepackage{graphicx}
+\usepackage{wrapfig}
+\usepackage{amssymb}
+\usepackage[unicode]{hyperref}
+
+
+\hypersetup{%
+colorlinks,%
+breaklinks,%
+urlcolor=[rgb]{0,0.35,0.65},%
+linkcolor=[rgb]{0,0.35,0.65}%
+}
+\usepackage{libertinus}
+\instlogo{images/tiet-logo.pdf}
+\schoolordepartment{%
+Computer Science \& Engineering Department}
+\examname{End Semester Examination}
+\coursecode{UCS505}
+\coursename{Computer Graphics}
+\timeduration{3 hours}
+\maxmarks{45}
+\faculty{ANG,AMK,HPS,YDS,RGB}
+\date{\today}
+\title{}
+\hypersetup{
+ pdfauthor={B.V. Raghav},
+ pdftitle={},
+ pdfkeywords={},
+ pdfsubject={},
+ pdfcreator={Emacs 29.3 (Org mode 9.6.15)},
+ pdflang={English}}
+\begin{document}
+
+\maketitle
+
+\textbf{Instructions:}
+\begin{enumerate}
+\item Attempt any 5 questions;
+\item Attempt all the subparts of a question at one place.
+\end{enumerate}
+
+\bvrhrule\bvrskipline
+
+\begin{enumerate}
+\item \begin{enumerate}
+\item Given the control polygon \(\textbf{b}_0,
+ \textbf{b}_1, \textbf{b}_2, \textbf{b}_3\) of a
+Cubic Bezier curve; determine the vertex
+coordinates for parameter values \(\forall t\in
+ T\). \hfill [7 marks]
+\begin{align*}
+ T \equiv
+ & \{0, 0.15, 0.35, 0.5, 0.65, 0.85, 1\} \\
+ \begin{bmatrix}
+ \textbf{b}_0 &\textbf{b}_1& \textbf{b}_2& \textbf{b}_3
+ \end{bmatrix} \equiv& \begin{bmatrix}
+ 1&2&4&3\\ 1&3&3&1
+ \end{bmatrix}
+\end{align*}
+
+\item Explain the role of convex hull in curves.
+\hfill[2 marks]
+\end{enumerate}
+\end{enumerate}
+
+\bvrhrule
+
+\begin{enumerate}[resume]
+\item \begin{enumerate}
+\item Describe the continuity conditions for
+curvilinear geometry. \hfill[5 marks]
+\item Define formally, a B-Spline curve. \hfill [2
+marks]
+\item How is a Bezier curve different from a B-Spline
+curve? \hfill [2 marks]
+\end{enumerate}
+\end{enumerate}
+
+\bvrhrule
+
+\begin{enumerate}[resume]
+\item \begin{enumerate}
+\item Given a triangle, with vertices defined by column
+vectors of \(P\); find its vertices after
+reflection across XZ plane. \hfill [3 marks]
+\begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 3&6&5 \\ 4&4&6 \\ 1&2&3
+ \end{bmatrix}
+\end{align*}
+\item Given a pyramid with vertices defined by the
+column vectors of \(P\), and an axis of rotation
+\(A\) with direction \(\textbf{v}\) and passing
+through \(\textbf{p}\). Find the coordinates of
+the vertices after rotation about \(A\) by an angle
+of \(\theta=\pi/4\).\hfill [6 marks]
+\begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 0&1&0&0 \\ 0&0&1&0 \\0&0&0&1
+ \end{bmatrix} \\
+ \begin{bmatrix}
+ \mathbf{v} & \mathbf{p}
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 0&0 \\1&1\\1&0
+ \end{bmatrix}
+\end{align*}
+\end{enumerate}
+\end{enumerate}
+\bvrhrule
+
+\begin{enumerate}[resume]
+\item \begin{enumerate}
+\item Explain the two winding number rules for inside
+outside tests. \hfill [4 marks]
+\item Explain the working principle of a CRT. \hfill [5
+marks]
+\end{enumerate}
+\end{enumerate}
+
+\bvrhrule
+
+\begin{enumerate}[resume]
+\item \begin{enumerate}
+\item Given a projection plane \(P\) defined by normal
+\(\textbf{n}\) and a reference point \(\textbf{a}\);
+and the centre of projection as \(\mathbf{p}_0\);
+find the perspective projection of the point
+\(\textbf{x}\) on \(P\). \hfill [5 marks]
+\begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}&\mathbf{n}&\mathbf{p}_0&\mathbf{x}
+ \end{bmatrix}\equiv
+ &
+ \begin{bmatrix}
+ 3&-1&1&8\\4&2&1&10\\5&-1&3&6
+ \end{bmatrix}
+\end{align*}
+\item Given a geometry \(G\), which is a standard unit
+cube scaled uniformly by half and viewed through
+a Cavelier projection bearing \(\theta=\pi/4\)
+wrt. \(X\) axis. \hfill [2 marks]
+\item Given a view coordinate system (VCS) with origin
+at \(\textbf{p}_v\) and euler angles ZYX as
+\(\boldsymbol{\theta}\) wrt. the world coordinate
+system (WCS); find the location \(\mathbf{x}_v\) in
+VCS, corresponding to \(\textbf{x}_w\) in
+WCS. \hfill [2 marks]
+\begin{align*}
+ \begin{bmatrix}
+ \mathbf{p}_v & \boldsymbol{\theta} & \mathbf{x}_w
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 5&\pi/3&10\\5&0&10\\0&0&0
+ \end{bmatrix}
+\end{align*}
+\end{enumerate}
+\end{enumerate}
+
+\bvrhrule
+
+\begin{enumerate}[resume]
+\item \begin{enumerate}
+\item Describe the visible surface detection problem in
+about 25 words. \hfill [1 mark]
+\item To render a scene with \(N\) polygons into a
+display with height \(H\); what are the space and
+time complexities respectively of a typical
+image-space method. \hfill [2 marks]
+\item Given a 3D space bounded within \([0\quad0\quad0]\)
+and \([7\quad7\quad-7]\), containing two infinite
+planes each defined by 3 incident points
+\(\mathbf{a}_0, \mathbf{a}_1, \mathbf{a}_2\) and
+\(\mathbf{b}_0, \mathbf{b}_1, \mathbf{b}_2\)
+respectively bearing colours (RGB) as
+\(\mathbf{c}_a\) and \(\textbf{c}_b\) respectively.
+\begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}_0&\mathbf{a}_1&\mathbf{a}_2
+ &\mathbf{b}_0&\mathbf{b}_1&\mathbf{b}_2
+ &\mathbf{c}_a&\mathbf{c}_b
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 1&6&1&6&1&6&1&0 \\
+ 1&3&6&6&3&1&0&0 \\
+ -1&-6&-1&-1&-6&-1&0&1
+ \end{bmatrix}
+\end{align*}
+Compute and/ or determine using the depth-buffer
+method, the colour at pixel \(\mathbf{x}=(2,4)\) on
+a display resolved into \(7\times7\) pixels. The
+projection plane is at \(Z=0\), looking at
+\(-Z\). \hfill [6 marks]
+\end{enumerate}
+\end{enumerate}
+
+\bvrhrule
+\end{document}
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.pdf b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.pdf
new file mode 100644
index 0000000000..9f1ff2b670
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.tex b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.tex
new file mode 100644
index 0000000000..4541405a81
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper-sample.tex
@@ -0,0 +1,180 @@
+\documentclass[11pt,a4paper,onecolumn]{tiet-question-paper}
+\date{28 May 2024}
+\institute{Alpha}
+\instlogo{images/tiet-logo.pdf}
+\schoolordepartment{%
+ Computer Science \& Engineering Department}
+\examname{%
+ End Semester Examination}
+\coursecode{UCS505}
+\coursename{Computer Graphics}
+\timeduration{3 hours}
+\maxmarks{45}
+\faculty{ANG,AMK,HPS,YDS,RGB}
+
+\begin{document}
+\maketitle
+\textbf{Instructions:}
+\begin{enumerate}
+\item Attempt any 5 questions;
+\item Attempt all the subparts of a question at one
+ place.
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}
+\item
+ \begin{enumerate}
+ \item Given the control polygon
+ $\textbf{b}_0, \textbf{b}_1, \textbf{b}_2,
+ \textbf{b}_3$ of a Cubic Bezier curve; determine
+ the coordinates for parameter values
+ $\forall t\in T$. \hfill [7 marks]
+
+ \begin{align*}
+ T \equiv
+ & \{0, 0.15, 0.35, 0.5, 0.65, 0.85, 1\} \\
+ \begin{bmatrix}
+ \textbf{b}_0 &\textbf{b}_1& \textbf{b}_2& \textbf{b}_3
+ \end{bmatrix} \equiv
+ & \begin{bmatrix}
+ 1&2&4&3\\ 1&3&3&1
+ \end{bmatrix}
+ \end{align*}
+ \item Explain the role of convex hull in curves.
+ \hfill[2 marks]
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}[resume]
+\item
+ \begin{enumerate}
+ \item Describe the continuity conditions for
+ curvilinear geometry.
+ \hfill[5 marks]
+ \item Define formally, a B-Spline curve. \hfill [2
+ marks]
+ \item How is a Bezier curve different from a B-Spline
+ curve?
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}[resume]
+\item
+ \begin{enumerate}
+ \item Given a triangle, with vertices defined by
+ column vectors of $P$; find its vertices after
+ reflection across XZ plane. \hfill [3 marks]
+ \begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 3&6&5 \\ 4&4&6 \\ 1&2&3
+ \end{bmatrix}
+ \end{align*}
+ \item Given a pyramid with vertices defined by the
+ column vectors of $P$, and an axis of rotation $A$
+ with direction $\textbf{v}$ and passing through
+ $\textbf{p}$. Find the coordinates of the vertices
+ after rotation about $A$ by an angle of
+ $\theta=\pi/4$.\hfill [6 marks]
+ \begin{align*}
+ P\equiv
+ &\begin{bmatrix}
+ 0&1&0&0 \\ 0&0&1&0 \\0&0&0&1
+ \end{bmatrix} \\
+ \begin{bmatrix}
+ \mathbf{v} & \mathbf{p}
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 0&0 \\1&1\\1&0
+ \end{bmatrix}
+ \end{align*}
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}[resume]
+\item
+ \begin{enumerate}
+ \item Explain the two winding number rules for
+ inside outside tests. \hfill [4 marks]
+ \item Explain the working principle of a
+ CRT. \hfill [5 marks]
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}[resume]
+\item
+ \begin{enumerate}
+ \item Given a projection plane $P$ defined by normal
+ $\textbf{n}$ and a reference point $\textbf{a}$;
+ and the centre of projection as $\mathbf{p}_0$;
+ find the perspective projection of the point
+ $\textbf{x}$ on $P$. \hfill [5 marks]
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}&\mathbf{n}&\mathbf{p}_0&\mathbf{x}
+ \end{bmatrix}\equiv
+ &
+ \begin{bmatrix}
+ 3&-1&1&8\\4&2&1&10\\5&-1&3&6
+ \end{bmatrix}
+ \end{align*}
+ \item Given a geometry $G$, which is a standard unit
+ cube scaled uniformly by half and viewed through a
+ Cavelier projection bearing $\theta=\pi/4$
+ wrt. $X$-axis. \hfill [2 marks]
+ \item Given a view coordinate system (VCS) with
+ origin at $\textbf{p}_v$ and euler angles ZYX
+ $\boldsymbol{\theta}$ wrt. world coordinate system
+ (WCS); find the location $\mathbf{x}_v$ in VCS,
+ corresponding to the point $\textbf{x}_w$ in
+ WCS. \hfill [2 marks]
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{p}_v & \boldsymbol{\theta} & \mathbf{x}_w
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 5&\pi/3&10\\5&0&10\\0&0&0
+ \end{bmatrix}
+ \end{align*}
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\begin{enumerate}[resume]
+\item
+ \begin{enumerate}
+ \item Describe the visible surface detection
+ problem in about 25 words. \hfill [1 mark]
+ \item To render a scene with $N$ polygons into a
+ display with height $H$; what are the space and
+ time complexities respectively of a typical
+ image-space method. \hfill [2 marks]
+ \item Given a 3D space bounded within
+ $[0\quad0\quad0]$ and $[7\quad7\quad-7]$,
+ containing two infinite planes each defined by 3
+ incident points
+ $\mathbf{a}_0, \mathbf{a}_1, \mathbf{a}_2$ and
+ $\mathbf{b}_0, \mathbf{b}_1, \mathbf{b}_2$
+ respectively bearing colours (RGB) as
+ $\mathbf{c}_a$ and $\textbf{c}_b$ respectively.
+ \begin{align*}
+ \begin{bmatrix}
+ \mathbf{a}_0&\mathbf{a}_1&\mathbf{a}_2
+ &\mathbf{b}_0&\mathbf{b}_1&\mathbf{b}_2
+ &\mathbf{c}_a&\mathbf{c}_b
+ \end{bmatrix}\equiv
+ &\begin{bmatrix}
+ 1&6&1&6&1&6&1&0 \\
+ 1&3&6&6&3&1&0&0 \\
+ -1&-6&-1&-1&-6&-1&0&1
+ \end{bmatrix}
+ \end{align*}
+
+ Compute and/ or determine using the depth-buffer
+ method, the colour at pixel $\mathbf{x}=(2,4)$ on
+ a display resolved into $7\times7$ pixels. The
+ projection plane is at $Z=0$, looking at
+ $-Z$. \hfill [6 marks]
+ \end{enumerate}
+\end{enumerate}
+\bvrhrule[0.4pt]
+\end{document}
diff --git a/macros/latex/contrib/tiet-question-paper/tiet-question-paper.cls b/macros/latex/contrib/tiet-question-paper/tiet-question-paper.cls
new file mode 100644
index 0000000000..6bc28c5792
--- /dev/null
+++ b/macros/latex/contrib/tiet-question-paper/tiet-question-paper.cls
@@ -0,0 +1,337 @@
+%% ----------------------------------------------------
+%% Latex class ‘tiet-question-paper’
+%%
+%% Author: Raghav B. Venkataramaiyer
+%% Email: bv.raghav -at- thapar -dot- edu
+%% Email: bvraghav -at- gmail -dot- com
+%% License: [MIT License](./LICENSE)
+%% Version: 2024-06-22
+%% ----------------------------------------------------
+
+\NeedsTeXFormat{LaTeX2e}
+
+\ProvidesClass%
+{tiet-question-paper}%
+[2024-06-22 TIET Question Paper class]
+
+%% -----------------------------------
+%% Parent Class
+%% -----------------------------------
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions\relax
+\LoadClass[11pt,a4paper,onecolumn]{article}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Page Margins
+%% -----------------------------------
+\RequirePackage[%
+ a4paper,%
+ left=1in,%
+ top=0.5in,%
+ right=0.75in,%
+ bottom=0.75in%
+]{geometry}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Math package(s)
+%% -----------------------------------
+\RequirePackage{amsmath}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Lipsum for debugging
+%% -----------------------------------
+\RequirePackage{blindtext}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Check for empty argument
+%% -----------------------------------
+\RequirePackage{ifmtarg}
+%% -----------------------------------
+
+%% -----------------------------------
+%% No paragraph indents
+%% -----------------------------------
+\RequirePackage{parskip}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Line spacing
+%% -----------------------------------
+% \RequirePackage{setspace}
+% \doublespacing
+%% -----------------------------------
+
+%% -----------------------------------
+%% Graphics
+%% -----------------------------------
+\RequirePackage{graphicx}
+% \graphicspath{ {./images/} }
+%% -----------------------------------
+
+%% -----------------------------------
+%% Compact Enumeration
+%% -----------------------------------
+\RequirePackage[inline,sizes]{enumitem}
+% \setlist[enumerate]{itemsep=0in}
+\setlist{nosep,leftmargin=*}
+\setlist[enumerate,2]{label=\alph*)}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Extra font sizes
+%% -----------------------------------
+\RequirePackage{anyfontsize}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Automatic width computation
+%% -----------------------------------
+\RequirePackage{linegoal}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Tabularx
+%% -----------------------------------
+\RequirePackage{tabularx}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Box alignment within tables.
+%%
+%% valign keyword in includegraphics
+%% -----------------------------------
+\RequirePackage[export]{adjustbox}
+%% -----------------------------------
+
+%% -----------------------------------
+%% {align} like columnar env.
+%%
+%% Remembers end of paragraph and starts there.
+%% -----------------------------------
+% \RequirePackage{paracol}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Customizing section font
+%% -----------------------------------
+\RequirePackage{sectsty}
+\allsectionsfont{\sffamily}
+\paragraphfont{\sffamily}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Class variable definitions
+%% -----------------------------------
+
+% Variable: institute
+\def\tiet@institute{Thapar Institute of Engineering \&
+ Technology}
+\def\institute#1{\gdef\tiet@institute{#1}}
+
+% Variable: abbrevinst
+\def\tiet@abbrevinst{\textsc{tiet}}
+\def\abbrevinst#1{\gdef\tiet@abbrevinst{#1}}
+
+% Variable: instaddress
+\def\tiet@instaddress{Patiala 147004}
+\def\instaddress#1{\gdef\tiet@instaddress{#1}}
+
+% Variable: instlogo
+\let\tiet@instlogo\relax
+\def\instlogo#1{\gdef\tiet@instlogo{#1}}
+
+% Variable: schoolordepartment
+\let\tiet@schoolordepartment\relax
+\def\schoolordepartment#1{\def\tiet@schoolordepartment{#1}}
+
+% Variable: examname
+\let\tiet@examname\relax
+\def\examname#1{\def\tiet@examname{#1}}
+
+% Variable: cohort
+\let\tiet@cohort\relax
+\def\cohort#1{\def\tiet@cohort{#1}}
+
+% Variable: coursecode
+\let\tiet@coursecode\relax
+\def\coursecode#1{\def\tiet@coursecode{#1}}
+
+% Variable: coursename
+\let\tiet@coursename\relax
+\def\coursename#1{\def\tiet@coursename{#1}}
+
+% Variable: timeduration
+\let\tiet@timeduration\relax
+\def\timeduration#1{\def\tiet@timeduration{#1}}
+
+% Variable: maxmarks
+\let\tiet@maxmarks\relax
+\def\maxmarks#1{\def\tiet@maxmarks{#1}}
+
+% Variable: faculty
+\let\tiet@faculty\relax
+\def\faculty#1{\gdef\tiet@faculty{#1}}
+
+%% -----------------------------------
+
+%% -----------------------------------
+%% Questions Enum
+%%
+%% Ref: https://tex.stackexchange.com/a/164623
+%% Update: Doesn’t help enough.
+%% [TODO]
+%% -----------------------------------
+\DeclareRobustCommand%
+% Horizontal rule after each question
+\bvrhrule[1][0.4pt]{\rule{\linewidth}{#1}}
+
+\DeclareRobustCommand%
+% Skip line
+\bvrskipline[1][]{\vspace{#1\baselineskip}}
+
+% \newlist{qenum}{enumerate}{3}
+% \setlist[qenum]{nosep,label=\arabic*.}
+% % -----------------------------------------------------
+% % We need a toggle to track whether the item is first
+% % in the list or not
+% \newif\ifbvrfirstq\bvrfirstqfalse
+% \setlist*[qenum,1]{%
+% label=\arabic*.,%
+% % ---------------------------------------------------
+% % This saves the standard definition of \item and
+% % then redefines it to add the fill if the item is
+% % not first on the list; if it is the first item, it
+% % omits the fill but toggles the bvrfirstq switch so
+% % the next item will trigger it
+% first={%
+% % -------------------------------------------------
+% % Save the standard definition of \item in a macro,
+% % \olditem
+% \let\olditem\item%
+% % -------------------------------------------------
+% % Set the toggle for first item in the list to true
+% \bvrfirstqtrue%
+% % -------------------------------------------------
+% % New, temporary defition of \item
+% \def\item{\ifbvrfirstq\olditem\bvrfirstqfalse\else
+% \bvrhrule\bvrskipline\olditem\fi}%
+% },%
+% % ---------------------------------------------------
+% % This takes care of adding the fill for the final
+% % item on the list and just makes sure that \item is
+% % reset to its standard definition
+% after={
+% % -------------------------------------------------
+% % Fill for final item in list
+% \bvrhrule%
+% % -------------------------------------------------
+% % Restore standard definition of \item
+% \let\item\olditem%
+% }%
+% }
+% \setlist[qenum,2]{label=\alph*),before={},after={},first={}}
+% %% -----------------------------------
+
+
+%% -----------------------------------
+%% Write Examination Details and Draw Logo
+%% -----------------------------------
+
+\DeclareRobustCommand%
+% Write Examination Details
+\writeexamdetails{
+ \parbox[t][][t]{\linewidth}{\centering\large%
+ {\bfseries \tiet@institute\par}
+
+ \vspace*{0.2\baselineskip}
+ {\tiet@schoolordepartment}
+
+ \vspace*{0.2\baselineskip}
+ {\MakeUppercase\tiet@examname}}
+}
+\DeclareRobustCommand%
+% Draw Logo
+\drawinstlogo{
+ \parbox[t][][t]{\linewidth}{\raggedright%
+ \includegraphics[width=11.5mm,valign=t]
+ {\tiet@instlogo}\par}
+}
+
+
+
+%% -----------------------------------
+%% Title Page
+%% -----------------------------------
+
+% Make title
+\renewcommand\maketitle{
+ {\noindent Roll No. \rule{5cm}{0.4pt} \hfill
+ \bfseries\@date\par}
+
+ % \vspace*{0.5\baselineskip}
+ {\noindent\large \textbf{\tiet@coursecode :
+ \tiet@coursename} \hfill Time:
+ \textbf{\tiet@timeduration} \hspace{0.3em}
+ MM:\textbf{\tiet@maxmarks}}\\
+ {\noindent Faculty: \tiet@faculty}
+
+
+ \vspace*{\baselineskip}
+ \ifx\tiet@instlogo\@empty
+ \writeexamdetails
+ \else
+ \begin{tabularx}{\textwidth}{Xp{18mm}}
+ \writeexamdetails & \drawinstlogo
+ \end{tabularx}
+ \fi
+
+ \par\rule{\textwidth}{0.4pt}
+ \par\vspace*{0.5\baselineskip}
+}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Counterlessfootnote
+%% -----------------------------------
+\newcommand{\footnotenoless}[1]{%
+ \let\svthefootnote\thefootnote
+ \let\thefootnote\relax\footnote{#1}
+ \addtocounter{footnote}{-1}\let\thefootnote\svthefootnote
+}
+%% -----------------------------------
+
+%% -----------------------------------
+%% Abbreviations
+%% -----------------------------------
+\RequirePackage{xspace}
+
+% Add a period to the end of an abbreviation unless
+% there's one already, then \xspace.
+\makeatletter
+\DeclareRobustCommand\onedot{\futurelet\@let@token\@onedot}
+\def\@onedot{\ifx\@let@token.\else.\null\fi\xspace}
+
+\def\eg{\emph{e.g}\onedot}
+\def\Eg{\emph{E.g}\onedot}
+
+\def\ie{\emph{i.e}\onedot}
+\def\Ie{\emph{I.e}\onedot}
+
+\def\cf{\emph{c.f}\onedot}
+\def\Cf{\emph{C.f}\onedot}
+
+\def\etc{\emph{etc}\onedot}
+
+\def\vs{\emph{vs}\onedot}
+
+\def\wrt{w.r.t\onedot}
+\def\dof{d.o.f\onedot}
+
+\def\etal{\emph{et al}\onedot}
+\makeatother
+%% -----------------------------------
+
diff --git a/macros/latex/contrib/tkz/tkz-elements/README.md b/macros/latex/contrib/tkz/tkz-elements/README.md
index a4d8d90fad..66c11bf62f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/README.md
+++ b/macros/latex/contrib/tkz/tkz-elements/README.md
@@ -1,10 +1,10 @@
# tkz-elements — for euclidean geometry
-Release 2.25c 2024/04/28
+Release 2.30c 2024/07/16
## Description
-`tkz-elements v.2.25c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
+`tkz-elements v.2.30c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing.
@@ -62,6 +62,15 @@ An important example `Golden Arbelos` using the package is on the site. All the
are on the site.
## History
+
+ - version 2.30c
+ - new version of the macro `\tkzGetNodes` written by Sanskar Singh. This version now fixes a bug that prevented a figure from being centred with `centering` or the `center` environment.
+ - adding methods `bevan_circle`, `symmedial_circle`.
+ - correction of the methods `function triangle: bevan_point ()` and `function triangle: mittenpunkt_point ()`.
+ - adding `function triangle: similar ()`
+ - adding `function line : perpendicular_bisector ()` which is similar to `function line : mediator ()`
+ - correction of documentation.
+
- version 2.25c
- French documentation at my site: [http://altermundus.fr](http://altermundus.fr)
- Added `colinear_at` a new method for the classe `line`
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
index 7ae96c7ada..85e7359518 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
@@ -25,8 +25,8 @@ This class is defined by two points: the center and a point through which the ci
\Iattr{circle}{south} & |C.AB.south| & |z.S = C.OA.south| \\
\Iattr{circle}{east} & |C.AB.east| & |z.E = C.OA.east| \\
\Iattr{circle}{west} & |C.AB.west| & |z.W = C.OA.west| \\
-\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & Refer to (\ref{ssub:example_circle_attributes}) \\
-\Iattr{circle}{ct} & |L = C.AB.ct| & Refer to (\ref{ssub:example_circle_attributes}) \\
+\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & [\ref{ssub:example_circle_attributes}] \\
+\Iattr{circle}{ct} & |L = C.AB.ct| [ \ref{ssub:example_circle_attributes} ] \\
\bottomrule %
\end{tabular}
\egroup
@@ -71,16 +71,16 @@ Three attributes are used (south, west, radius).
z.c = C.ab.opp
z.r,z.t = get_points (C.ab.ct : ortho_from (z.b))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
+
+\emph{\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPoints(a,b,c,s,w)
\tkzLabelPoints(a,b,c,s,w)
\tkzDrawCircle(a,b)
\tkzDrawSegments(a,b r,t b,c)
\tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}}
-\end{tikzpicture}
-\hspace*{\fill}
+\end{tikzpicture}}
+
\end{minipage}
% subsubsection example_circle_attributes (end)
% subsection attributes_of_a_circle (end)
@@ -96,184 +96,314 @@ Three attributes are used (south, west, radius).
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule \\
-\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & circle center $O$ through $A$\\
-\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & circle center $O$ radius =2 cm\\
-\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & circle diameter $[AB]$ \\
+\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & center $O$ through $A$; [\ref{ssub:method_imeth_circle_new}]\\
+\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & center $O$ radius =2 cm; [\ref{ssub:method_imeth_circle_radius}]\\
+\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & diameter $[AB]$; [\ref{ssub:method_imeth_circle_diameter}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ is a diameter \\
-\Imeth{circle}{inversion (pt)} & |z.Bp = C.AC: inversion (z.B)|&\\
-\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$\\
-\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1\\
+\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ = diameter; [\ref{ssub:method_imeth_circle_antipode}] \\
+\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$; [\ref{ssub:method_imeth_circle_midarc}]\\
+\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1; [\ref{ssub:method_imeth_circle_point}]\\
\Imeth{circle}{random\_pt(lower, upper)} & &\\
-\Imeth{circle}{internal\_similitude (C)} & |z.I = C.one : internal_similitude (C.two)| &\\
-\Imeth{circle}{external\_similitude (C)} & |z.J = C.one : external_similitude (C.two)| & \\
-\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_center} \\
+\Imeth{circle}{inversion (obj)} & |z.Bp = C.AC: inversion (z.B)|& [\ref{ssub:inversion}]\\
+\Imeth{circle}{internal\_similitude (C)} & |z.I= C.one: internal_similitude(C.two)| & [\ref{ssub:method_imeth_circle_internal__similitude}]\\
+\Imeth{circle}{external\_similitude (C)} & |z.J= C.one: external_similitude(C.two)| & [\ref{ssub:method_imeth_circle_external__similitude}] \\
+\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_center} ] \\
\midrule
\textbf{Lines} & & \\
\midrule
-\Imeth{circle}{radical\_axis (C)} & Refer to ( \ref{sub:d_alembert_2} ; \ref{sub:radical_axis_v1} ; \ref{sub:radical_axis_v2} ; \ref{sub:radical_axis_v3} ; \ref{sub:radical_axis_v4})& \\
-\Imeth{circle}{tangent\_at (pt)} & |z.P = C.OA: tangent_at (z.M)| & Refer to (\ref{ssub:lemoine} ; \ref{ssub:example_combination_of_methods})\\
-\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N = C.OA: tangent_from (z.P)| & Refer to (\ref{tangent_from})\\
-\Imeth{circle}{inversion (line)} & |L or C = C.AC: inversion (L.EF)|& Refer to (\ref{ssub:inversion_line})\\
-\Imeth{circle}{common\_tangent (C)} & |z.a,z.b = C.AC: common_tangent (C.EF)|& Refer to (\ref{sub:common_tangent} ; \ref{sub:common_tangent_orthogonality})\\
+\Imeth{circle}{radical\_axis (C)} & [ \ref{ssub:method_imeth_circle_radical__axis_c} ; \ref{sub:d_alembert_2} ] & \\
+\Imeth{circle}{tangent\_at (pt)} & |z.P=C.OA:tangent_at(z.M)| & [\ref{ssub:method_imeth_circle_tangent}] \\
+\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N=C.OA: tangent_from (z.P)| & [\ref{ssub:method_imeth_circle_tangent} ] \\
+\Imeth{circle}{common\_tangent (C)}& |z.a,z.b = C.AC: common_tangent (C.EF)|& [\ref{ssub:common_tangent} ; \ref{sub:common_tangent_orthogonality}] \\
\midrule
\textbf{Circles}& &\\
\midrule
-\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\
-\Imeth{circle}{orthogonal\_through (pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\
-\Imeth{circle}{inversion (...)} &|C.AC:inversion (pt, pts, L or C)|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\
-\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & Refer to \ref{ssub:midcircle} \\
-\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_circle}\\
+\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & [\ref{ssub:method_imeth_circle_orthogonal_from_pt} ;\ref{sub:altshiller} ; \ref{sub:pencil_v1}] \\
+\Imeth{circle}{orthogonal\_through(pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & [\ref{ssub:method_imeth_circle_orthogonal_through}]\\
+\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & [\ref{ssub:midcircle}] \\
+\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_circle}] \\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{circle}{power (pt)} &|p = C.OA: power (z.M)| & Refer to (\ref{sub:power_v1} ; \ref{sub:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion}) \\
-\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
-\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
+\Imeth{circle}{power (pt)} &| r = C.OA: power (z.M)| & [\ref{par:power_v1} ; \ref{par:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion} ] \\
+\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
+\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
\Imeth{circle}{draw ()} & for further use &\\
-\Imeth{circle}{circles\_position (C1)} & result = string &Refer to (\ref{sub:circles_position}) \\
+\Imeth{circle}{circles\_position (C1)} & result = string & [\ref{ssub:circles_position}] \\
\bottomrule
\end{tabular}
\egroup
% subsection methods_circle (end)
-\subsubsection{Altshiller} % (fold)
-\label{ssub:altshiller}
+\subsubsection{Method \Imeth{circle}{new}} % (fold)
+\label{ssub:method_imeth_circle_new}
+
+A circle is defined by its centre and a point through which it passes.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale =.5
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
- \end{tikzpicture}
+\begin{tkzelements}
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
+\end{tikzpicture}
+ \end{center}
+
\end{minipage}
-%subsubsection altshiller (end)
-\subsubsection{Lemoine} % (fold)
-\label{ssub:lemoine}
+% subsubsection method_imeth_circle_new (end)
+\subsubsection{Method \Imeth{circle}{radius}} % (fold)
+\label{ssub:method_imeth_circle_radius}
+
+
+We define a circle with its centre and radius.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 1.25
- z.A = point: new (1,0)
- z.B = point: new (5,2)
- z.C = point: new (1.2,2)
- T = triangle: new(z.A,z.B,z.C)
- z.O = T.circumcenter
- C.OA = circle: new (z.O,z.A)
- L.tA = C.OA: tangent_at (z.A)
- L.tB = C.OA: tangent_at (z.B)
- L.tC = C.OA: tangent_at (z.C)
- z.P = intersection (L.tA,T.bc)
- z.Q = intersection (L.tB,T.ca)
- z.R = intersection (L.tC,T.ab)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: radius (z.A , math.sqrt(5))
+z.T = C.through
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon[teal](A,B,C)
- \tkzDrawCircle(O,A)
- \tkzDrawPoints(A,B,C,P,Q,R)
- \tkzLabelPoints(A,B,C,P,Q,R)
- \tkzDrawLine[blue](Q,R)
- \tkzDrawLines[red](A,P B,Q R,C)
- \tkzDrawSegments(A,R C,P C,Q)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(A,T)
+\tkzDrawPoints(A,O,T)
+\tkzLabelPoints[right](A,O,T)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (2,1)
+ C = circle: radius (z.A , math.sqrt(5))
+ z.T = C.through
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawCircles(A,T)
+ \tkzDrawPoints(A,O,T)
+ \tkzLabelPoints[right](A,O,T)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_radius (end)
+
+\subsubsection{Method \Imeth{circle}{diameter}} % (fold)
+\label{ssub:method_imeth_circle_diameter}
+
+A circle is defined by two points at the ends of one of its diameters.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
\end{tikzpicture}
\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_diameter (end)
+\subsubsection{Method \Imeth{circle}{antipode}} % (fold)
+\label{ssub:method_imeth_circle_antipode}
+This method is used to define a point that is diametrically opposed to a point on a given circle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-scale = .75
-z.A = point: new (1,0)
-z.B = point: new (5,2)
-z.C = point: new (1.2,2)
-T = triangle: new(z.A,z.B,z.C)
-z.O = T.circumcenter
-C.OA = circle: new (z.O,z.A)
-L.tA = C.OA: tangent_at (z.A)
-L.tB = C.OA: tangent_at (z.B)
-L.tC = C.OA: tangent_at (z.C)
-z.R = intersection (L.tC,T.ab)
-z.P = intersection (L.tA,T.bc)
-z.Q = intersection (L.tB,T.ca)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_circle_antipode (end)
+
+\subsubsection{Method \Imeth{circle}{midarc}} % (fold)
+\label{ssub:method_imeth_circle_midarc}
+The definition given in [ \href{https://mathworld.wolfram.com/Mid-ArcPoints.html}{Weisstein, Eric W. "Mid-Arc Points." From MathWorld--A Wolfram Web Resource.}] is as follows:
+The mid-arc points of a triangle as defined by Johnson (1929) are the points on the circumcircle of the triangle which lie half-way along each of the three arcs determined by the vertices. These points arise in the definition of the Fuhrmann circle and Fuhrmann triangle, and lie on the extensions of the perpendicular bisectors of the triangle sides drawn from the circumcenter.
+
+The definition I use here is more general: the defined point is simply the point that divides an arc into two arcs of the same length.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_midarc (end)
+
+\subsubsection{Method \Imeth{circle}{point (r)}} % (fold)
+\label{ssub:method_imeth_circle_point}
+
+Let $C$ be a circle with centre $O$ and passing through $A$ such that |z.A = C.through|. This method defines a point $M$ on the circle from A such that the ratio of the length of $\widearc{AM}$ to the circumference of the circle is equal to $r$.
+
+In the next example, $r=\dfrac{1}{6}$ corresponds to $\dfrac{\pi/3}{2\pi}$, so the angle $\widehat{AOE}$ has the measure $\pi/3$.
+
+If $r=.5$ the defined point is diametrically opposed to $A$, the angle $\widehat{AOD}$ has the measure $\pi$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](A,P B,Q R,C)
-\tkzDrawSegments(A,R C,P C,Q)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
-%\caption{Lemoine line}
-% subsubsection lemoine (end)
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(O,A)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
-\subsubsection{Inversion: point, line and circle} % (fold)
+
+% subsubsection method_imeth_circle_point (end)
+
+\subsubsection{Method \Imeth{circle}{inversion (obj)}: point, line and circle} % (fold)
\label{ssub:inversion}
The \code{inversion} method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
-\subsubsection{Inversion: point} % (fold)
-\label{ssub:inversion_point}
+\paragraph{Inversion: point} % (fold)
+\label{par:inversion_point}
The \code{inversion} method can be used on a point, a group of points, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
@@ -308,20 +438,23 @@ The \code{inversion} method can be used on a point, a group of points, a line or
z.d = C.oa: inversion (z.c)
p = C.oa: power (z.c)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(o,a)
- \tkzDrawSegments(o,a o,c)
- \tkzDrawPoints(a,o,c,d)
- \tkzLabelPoints(a,o,c,d)
- \tkzLabelSegment[sloped,above=1em](c,d){%
- La puissance de c est \tkzUseLua{p}}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(o,a)
+ \tkzDrawSegments(o,a o,c)
+ \tkzDrawPoints(a,o,c,d)
+ \tkzLabelPoints(a,o,c,d)
+ \tkzLabelSegment[sloped,above=1em](c,d){%
+ La puissance de c est \tkzUseLua{p}}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
-\subsubsection{Inversion: line} % (fold)
-\label{ssub:inversion_line}
+\paragraph{Inversion: line} % (fold)
+\label{par:inversion_line}
The result is either a straight line or a circle.
@@ -333,7 +466,7 @@ The result is either a straight line or a circle.
C.oa = circle: new (z.o,z.a)
z.c = point: new (3,2)
z.d = point: new (0,4)
- L.cd = line: new (z.c,z.d)
+ L.cd = line: new (z.c,z.d)
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
@@ -357,19 +490,22 @@ The result is either a straight line or a circle.
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(o,a)
- \tkzDrawCircles[new](O,H)
- \tkzDrawLines(c,d o,H)
- \tkzDrawPoints(a,o,c,d,H)
- \tkzLabelPoints(a,o,c,d,H)
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a)
+ \tkzDrawCircles[new](O,H)
+ \tkzDrawLines(c,d o,H)
+ \tkzDrawPoints(a,o,c,d,H)
+ \tkzLabelPoints(a,o,c,d,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
- \subsubsection{Inversion: circle} % (fold)
- \label{ssub:inversion_circle}
+\paragraph{Inversion: circle} % (fold)
+ \label{par:inversion_circle}
The result is either a straight line or a circle.
@@ -423,19 +559,697 @@ color = "orange"
else z.f,z.b = get_points(obj) end
color = "orange"
\end{tkzelements}
- \hspace{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles[black](o,a)
- \tkzDrawCircles[teal](c,o e,d)
- \tkzDrawCircles[\tkzUseLua{color}](f,b)
- \tkzDrawLines[\tkzUseLua{color}](p,q)
- \tkzDrawPoints(a,...,f,o,p,q)
- \tkzLabelPoints(a,...,f,o,p,q)
- \end{tikzpicture}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[black](o,a)
+ \tkzDrawCircles[teal](c,o e,d)
+ \tkzDrawCircles[\tkzUseLua{color}](f,b)
+ \tkzDrawLines[\tkzUseLua{color}](p,q)
+ \tkzDrawPoints(a,...,f,o,p,q)
+ \tkzLabelPoints(a,...,f,o,p,q)
+ \end{tikzpicture}
+ \end{center}
\end{minipage}
+
% subsubsection inversion (end)
+\subsubsection{Method \Imeth{circle}{internal\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_internal__similitude}
+
+Circles are geometrically similar to one another and mirror symmetric. Hence, a pair of circles has both types of homothetic centers, internal and external, unless the centers are equal or the radii are equal; these exceptional cases are treated after general position. These two homothetic centers lie on the line joining the centers of the two given circles, which is called the line of centers. Circles with radius zero can also be included (see exceptional cases), and negative radius can also be used, switching external and internal. [Wikipedia]
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 0.75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = 1 and 2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b)
+ \tkzDrawPoints(A,a,B,b,I,A1,A2)
+ \tkzDrawLines[add = 1 and 2](A1,I A2,I)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_internal__similitude (end)
+
+\subsubsection{Method \Imeth{circle}{external\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_external__similitude}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_external__similitude (end)
+
+
+\subsubsection{Method \Imeth{circle}{radical\_center (C1,C2)}} % (fold)
+\label{ssub:radical_center}
+
+The radical lines of three circles are concurrent in a point known as the radical center (also called the power center). This theorem was originally demonstrated by Monge (Dörrie 1965, p. 153). [\href{https://mathworld.wolfram.com/RadicalCenter.html}{Weisstein, Eric W. "Radical Center." From MathWorld--A Wolfram Web Resource. }
+]
+
+Here I have also named \code{radical\_center} the point of intersection of the radical axis of two circles with the centre axis. See the following example for how to obtain point $H$.
+
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.x = point : new (1,0)
+ z.y = point : new (4,0)
+ z.z = point : new (2,0)
+ z.Op = point : new (4,2)
+ z.P = point : new (2,2.5)
+ C.Ox = circle : new (z.O,z.x)
+ C.Pz = circle : new (z.P,z.z)
+ C.Opy = circle : new (z.Op,z.y)
+ z.ap,z.a = intersection (C.Ox,C.Pz)
+ z.bp,z.b = intersection (C.Opy,C.Pz)
+ L.aap = line : new (z.a,z.ap)
+ L.bbp = line : new (z.b,z.bp)
+ -- z.X = intersection (L.aap,L.bbp)
+ z.X = C.Ox : radical_center(C.Pz,C.Opy)
+ -- L.OOp = line : new (z.O,z.Op)
+ -- z.H = L.OOp : projection (z.X)
+ z.H = C.Ox : radical_center(C.Opy)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.x = point : new (1,0)
+z.y = point : new (4,0)
+z.z = point : new (2,0)
+z.Op = point : new (4,2)
+z.P = point : new (2,2.5)
+C.Ox = circle : new (z.O,z.x)
+C.Pz = circle : new (z.P,z.z)
+C.Opy = circle : new (z.Op,z.y)
+z.ap,z.a = intersection (C.Ox,C.Pz)
+z.bp,z.b = intersection (C.Opy,C.Pz)
+L.aap = line : new (z.a,z.ap)
+L.bbp = line : new (z.b,z.bp)
+z.X = intersection (L.aap,L.bbp)
+L.OOp = line : new (z.O,z.Op)
+z.H = L.OOp : projection (z.X)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection radical_center (end)
+
+\subsubsection{Method \Imeth{circle}{radical\_axis}(C)} % (fold)
+\label{ssub:method_imeth_circle_radical__axis_c}
+
+The radical line, also called the radical axis, is the locus of points of equal circle power with respect to two nonconcentric circles. By the chordal theorem, it is perpendicular to the line of centers (Dörrie 1965). [\href{https://mathworld.wolfram.com/RadicalLine.html}{Weisstein, Eric W. "Radical Line." From MathWorld--A Wolfram Web Resource.} ]
+
+\vspace{6pt}
+\paragraph{Radical axis v1} % (fold)
+\label{par:radical_axis_v1}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v1 (end)
+
+\paragraph{Radical axis v2} % (fold)
+\label{par:radical_axis_v2}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = 1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale =1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v2 (end)
+
+\paragraph{Radical axis v3} % (fold)
+\label{par:radical_axis_v3}
+
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (4,0)
+ z.Op = point : new (6,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.M = L.EF : point (0.2)
+ L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.B = point : new (4,0)
+z.Op = point : new (6,0)
+C.OB = circle : new (z.O,z.B)
+C.OpB = circle : new (z.Op,z.B)
+L.EF = C.OB : radical_axis (C.OpB)
+z.E,z.F = get_points(L.EF)
+z.M = L.EF : point (0.2)
+L = C.OB : tangent_from (z.M)
+_,z.T = get_points (L)
+L = C.OpB : tangent_from (z.M)
+_,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v3 (end)
+
+\paragraph{Radical axis v4} % (fold)
+\label{par:radical_axis_v4}
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v4 (end)
+
+% subsubsection method_imeth_circle_radical__axis_c (end)
+
+
+\subsubsection{Methods \Imeth{circle}{tangent\_at (P)} and \Imeth{circle}{tangent\_from (P)}} % (fold)
+\label{ssub:method_imeth_circle_tangent}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(A,B)
+\tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+\tkzDrawSegments[dashed](A,B A,T1 A,T2)
+\tkzDrawPoints(A,...,D,T1,T2)
+\tkzLabelPoints[below left](A,T2,C)
+\tkzLabelPoints[above right](B,T1,D)
+\tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(A,B)
+ \tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+ \tkzDrawSegments[dashed](A,B A,T1 A,T2)
+ \tkzDrawPoints(A,...,D,T1,T2)
+ \tkzLabelPoints[below left](A,T2,C)
+ \tkzLabelPoints[above right](B,T1,D)
+ \tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection (end)
+
+\subsubsection{Common tangent: Angle of two intersecting circles} % (fold)
+\label{ssub:common_tangent}
+
+Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.C = point : new ( 1 , 2 )
+ C.AC = circle : new (z.A,z.C)
+ C.BC = circle : new (z.B,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+ _,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+\end{tikzpicture}
+\end{Verbatim}
+
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 5 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.C = point : new ( 1 , 2 )
+C.AC = circle : new (z.A,z.C)
+C.BC = circle : new (z.B,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+_,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \end{tikzpicture}
+\end{center}
+% subsubsection common_tangent (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_from (pt)}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_from_pt}
+
+In geometry, two circles are said to be orthogonal if their respective tangent lines at the points of intersection are perpendicular (meet at a right angle). [wikipedia]
+
+This method determines a circle with a given centre, orthogonal to a circle that is also given.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.C_1 = point: new (0,0)
+ z.C_2 = point: new (8,0)
+ z.A = point: new (5,0)
+ C = circle: new (z.C_1,z.A)
+ z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,%
+ opacity=.2,size=1](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .6
+z.C_1 = point: new (0,0)
+z.C_2 = point: new (8,0)
+z.A = point: new (5,0)
+C = circle: new (z.C_1,z.A)
+z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+ \end{tikzpicture}
+\end{center}
+
+% subsubsection method_imeth_circle_orthogonal__from_pt (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_through}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_through}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[new](c,z1)
+ \tkzDrawPoints[new](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[orange](c,z1)
+ \tkzDrawPoints[orange](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_orthogonal__through (end)
+
\subsubsection{midcircle} % (fold)
\label{ssub:midcircle}
@@ -473,8 +1287,8 @@ z.H = C.AO.north
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
-z.I,z.T = get_points ( C.IT )
-z.J,z.V = get_points ( C.JV )
+z.I,z.T = get_points (C.IT)
+z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\end{Verbatim}
@@ -493,8 +1307,8 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
- z.J,z.V = get_points ( C.JV )
+ z.I,z.T = get_points (C.IT)
+ z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\begin{tikzpicture}
@@ -520,7 +1334,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
\vfill
\item One given circle is in the interior of the other given circle.
-
+\label{midcircle_diameter}
\begin{minipage}{.6\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -539,7 +1353,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -560,7 +1374,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -597,7 +1411,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -620,7 +1434,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -662,7 +1476,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points(C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -685,7 +1499,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -711,14 +1525,14 @@ z.F=L.TF.pb
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
-z.A = point : new ( 2 , 0 )
-z.B = point : new ( 4 , 0 )
-z.a = point : new ( 1 , 0)
-z.b = point : new ( 1 , 0)
-C.Aa = circle : new (z.A,z.a)
-C.Bb = circle : new (z.B,z.b)
-C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.A = point : new ( 2 , 0 )
+z.B = point : new ( 4 , 0 )
+z.a = point : new ( 1 , 0)
+z.b = point : new ( 1 , 0)
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+C.IT = C.Aa : midcircle (C.Bb)
+z.I,z.T = get_points(C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -731,7 +1545,7 @@ z.b = point : new ( 1 , 0)
C.Aa = circle : new (z.A,z.a)
C.Bb = circle : new (z.B,z.b)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
@@ -748,206 +1562,205 @@ z.I,z.T = get_points ( C.IT )
\end{enumerate}
% subsubsection midcircle (end)
-% subsection methods_of_the_class_circle (end)
-\subsection{Circles\_position} % (fold)
-\label{sub:circles_position}
-This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+\subsubsection{Radical circle} % (fold)
+\label{ssub:radical_circle}
-\begin{itemize}
- \item \code{outside}
- \item \code{outside tangent}
- \item \code{inside tangent}
- \item \code{inside}
- \item \code{intersect}
-\end{itemize}
-
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.a = point : new ( 3 , 0 )
- z.B = point : new ( 2 , 0 )
- z.b = point : new ( 3 , 0 )
- C.Aa = circle: new (z.A,z.a)
- C.Bb = circle: new (z.B,z.b)
- position = C.Aa : circles_position (C.Bb)
- if position == "inside tangent"
- then color = "orange"
- else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircle(A,a)
- \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\begin{minipage}{.5\textwidth}
+
\begin{tkzelements}
-z.A = point : new ( 1 , 0 )
-z.a = point : new ( 3 , 0 )
-z.B = point : new ( 2 , 0 )
-z.b = point : new ( 3 , 0 )
-C.Aa = circle: new (z.A,z.a)
-C.Bb = circle: new (z.B,z.b)
-position = C.Aa : circles_position (C.Bb)
-if position == "inside tangent" then color = "orange" else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(A,a)
-\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
-\end{tikzpicture}\hspace{\fill}
-\end{minipage}
-% subsection circles__position (end)
-\subsection{Common tangent: Angle of two intersecting circles} % (fold)
-\label{sub:common_tangent}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+% subsubsection radical_circle (end)
-Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+\subsubsection{Method \Imeth{circle}{power(C)}} % (fold)
+\label{ssub:method_imeth_circle_power_c}
+\paragraph{Power v1} % (fold)
+\label{par:power_v1}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.C = point : new ( 1 , 2 )
- C.AC = circle : new (z.A,z.C)
- C.BC = circle : new (z.B,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
- _,z.D = intersection (C.AC,C.BC)
-\end{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (2,-2)
+ z.M = point : new (-6,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ z.B = intersection (L.AM, C.OA)
+\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
- \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
- \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 5 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.C = point : new ( 1 , 2 )
-C.AC = circle : new (z.A,z.C)
-C.BC = circle : new (z.B,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
-_,z.D = intersection (C.AC,C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,-2)
+z.M = point : new (-6,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+z.B = intersection (L.AM, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
-\tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
-\tkzDrawPoints(A,B,C,D,M,M',T,T')
-\tkzLabelPoints(A,B,D,M)
-\tkzLabelPoints[above](C,M',T,T')
-\tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
-\tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent (end)
-\subsection{Common tangent: orthogonality} % (fold)
-\label{sub:common_tangent_orthogonality}
-For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% paragraph power_v1 (end)
+\paragraph{Power v2} % (fold)
+\label{par:power_v2}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 4 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.a = point : new ( 1 , 2 )
- C.Aa = circle : new (z.A,z.a)
- C.BC = C.Aa : orthogonal_from (z.B)
- z.C,z.D = intersection (C.Aa,C.BC)
- C.AC = circle : new (z.A,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
+ z.O = point : new (0,0)
+ z.A = point : new (2,2)
+ z.M = point : new (-1.5,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ _,z.B = intersection (L.AM, C.OA)
+ z.m = z.M : north(1)
+ L.mM = line : new (z.m,z.M)
+ z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 4 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.a = point : new ( 1 , 2 )
-C.Aa = circle : new (z.A,z.a)
-C.BC = C.Aa : orthogonal_from (z.B)
-z.C,z.D = intersection (C.Aa,C.BC)
-C.AC = circle : new (z.A,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,2)
+z.M = point : new (-1.5,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+_,z.B = intersection (L.AM, C.OA)
+z.m = z.M : north(1)
+L.mM = line : new (z.m,z.M)
+z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent_orthogonality (end)
-\subsection{In\_out for circle and disk} % (fold)
-\label{sub:in_out_for_circle_and_disk}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
+ \end{tikzpicture}
+\end{center}
-\begin{Verbatim}
-\begin{tkzelements}
+\end{minipage}
+% paragraph power_v2 (end)
+
+% subsubsection method_imeth_circle_power_c (end)
+
+\subsubsection{Method \Imeth{circle}{in\_out} for circle and disk} % (fold)
+\label{ssub:in_out_for_circle_and_disk}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (1,2)
+ C.OA = circle : new (z.O,z.A)
+ z.N = point : new (-2,2)
+ z.M = point : new (1,0)
+ z.P = point : new (2,1)
+ BCm = C.OA : in_out (z.M)
+ BDm = C.OA : in_out_disk (z.M)
+ BCn = C.OA : in_out (z.N)
+ BDn = C.OA : in_out_disk (z.N)
+ BCp = C.OA : in_out (z.P)
+ BDp = C.OA : in_out_disk (z.P)
+ \end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
z.O = point : new (0,0)
z.A = point : new (1,2)
C.OA = circle : new (z.O,z.A)
@@ -965,53 +1778,104 @@ BDp = C.OA : in_out_disk (z.P)
\tkzLabelPoints(O,M,N,P)
\ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
\tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
+}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \def\tkzPosPoint#1#2#3#4{%
+ \tkzLabelPoints(O,M,N,P)
+ \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+
+% subsubsection in_out_for_circle_and_disk (end)
+
+\subsubsection{Method \Imeth{circle}{circles\_position}} % (fold)
+\label{ssub:circles_position}
+
+This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+
+\begin{itemize}
+ \item \code{outside}
+ \item \code{outside tangent}
+ \item \code{inside tangent}
+ \item \code{inside}
+ \item \code{intersect}
+\end{itemize}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.a = point : new ( 3 , 0 )
+ z.B = point : new ( 2 , 0 )
+ z.b = point : new ( 3 , 0 )
+ C.Aa = circle: new (z.A,z.a)
+ C.Bb = circle: new (z.B,z.b)
+ position = C.Aa : circles_position (C.Bb)
+ if position == "inside tangent"
+ then color = "orange"
+ else color = "blue" end
+\end{tkzelements}
+
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
+ \tkzGetNodes
+ \tkzDrawCircle(A,a)
+ \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-C.OA = circle : new (z.O,z.A)
-z.N = point : new (-2,2)
-z.M = point : new (1,0)
-z.P = point : new (2,1)
-BCm = C.OA : in_out (z.M)
-BDm = C.OA : in_out_disk (z.M)
-BCn = C.OA : in_out (z.N)
-BDn = C.OA : in_out_disk (z.N)
-BCp = C.OA : in_out (z.P)
-BDp = C.OA : in_out_disk (z.P)
+z.A = point : new ( 1 , 0 )
+z.a = point : new ( 3 , 0 )
+z.B = point : new ( 2 , 0 )
+z.b = point : new ( 3 , 0 )
+C.Aa = circle: new (z.A,z.a)
+C.Bb = circle: new (z.B,z.b)
+position = C.Aa : circles_position (C.Bb)
+if position == "inside tangent" then color = "orange" else color = "blue" end
\end{tkzelements}
-\def\tkzPosPoint#1#2#3#4{%
-\tkzLabelPoints(O,M,N,P)
- \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
-}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
-\end{tikzpicture}
-% subsection in_out_for_circle_and_disk (end)
+\tkzDrawCircle(A,a)
+\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+\end{tikzpicture}\hspace{\fill}
+\end{minipage}
+% subsubsection circles__position (end)
+
+% subsection methods_of_the_class_circle (end)
% section class_circle (end)
+
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
index 3146f73461..016dd8025c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
@@ -141,10 +141,10 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\Imeth{ellipse}{foci (f1,f2,v)} & E = ellipse: foci ( focus 1, focus 2, vertex ) \\
\Imeth{ellipse}{radii (c,a,b,sl) } & E = ellipse: radii ( center, radius a, radius b, slope ) \\
\Imeth{ellipse}{in\_out (pt) } & pt in/out of the ellipse \\
-\Imeth{ellipse}{tangent\_at (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{tangent\_from (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) ex Refer to \ref{ssub:method_point} \\
-\Imeth{ellipse}{orthoptic\_circle () } & Refer to ex. \ref{ssub:steiner_inellipse_and_circumellipse} \\
+\Imeth{ellipse}{tangent\_at (pt) } & [ ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{tangent\_from (pt) } & [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{orthoptic\_circle () } & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
\bottomrule
\end{tabular}
@@ -153,7 +153,7 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\subsubsection{Method \Imeth{ellipse}{new}} % (fold)
\label{ssub:method_imeth_ellipse_new}
The main method for creating a new ellipse is \Imeth{ellipse}{new}. The arguments are three: \Iattr{ellipse}{center}, \Iattr{ellipse}{vertex} and \Iattr{ellipse}{covertex}
-For attributes Refer to \ref{sec:class_ellipse}.
+For attributes [\ref{sec:class_ellipse}].
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -258,22 +258,25 @@ The first two points are the foci of the ellipse, and the third one is the verte
a,b = E.Rx,E.Ry
ang = math.deg(E.slope)
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles[cyan](O,A N,I)
- \tkzDrawSegments(X,R A,X)
- \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines[add=.2 and .5](I,H)
- \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
- \tkzLabelPoints[above](C,X)
- \tkzLabelPoints[above right](N,O)
- \tkzLabelPoints[above left](R)
- \tkzLabelPoints[left](A)
- \tkzLabelPoints[right](B,I,S,H)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[cyan](O,A N,I)
+ \tkzDrawSegments(X,R A,X)
+ \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawLines[add=.2 and .5](I,H)
+ \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
+ \tkzLabelPoints[above](C,X)
+ \tkzLabelPoints[above right](N,O)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[left](A)
+ \tkzLabelPoints[right](B,I,S,H)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
\begin{Verbatim}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
index 435ad9bcc6..f4acdafc8c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
@@ -26,22 +26,53 @@ The attributes are :
\Iattr{line}{pb} & Second point of the segment & \\
\Iattr{line}{type} & Type is 'line' & |L.AB.type = 'line'| \\
\Iattr{line}{mid} & Middle of the segment& |z.M = L.AB.mid|\\
-\Iattr{line}{slope} & Slope of the line & Refer to (\ref{ssub:example_class_line})\\
-\Iattr{line}{length} &|l = L.AB.length|&Refer to (\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line})\\
-\Iattr{line}{north\_pa} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{slope} & Slope of the line & [\ref{ssub:example_class_line}] \\
+\Iattr{line}{length} &|l = L.AB.length|& [\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line}] \\
+\Iattr{line}{north\_pa} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{north\_pb} & &\\
\Iattr{line}{south\_pa} & &\\
-\Iattr{line}{south\_pb} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{south\_pb} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{east} & &\\
\Iattr{line}{west} & &\\
-\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ Refer to (\ref{sec:class_vector})\\
+\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ [\ref{sec:class_vector}] \\
\bottomrule
\end{tabular}
\egroup
\subsubsection{Example: attributes of class line} % (fold)
\label{ssub:example_class_line}
-\begin{minipage}{.5\textwidth}
+
+\vspace{5pt}
+\begin{tkzelements}
+z.a = point: new (1, 1)
+z.b = point: new (5, 4)
+L.ab = line : new (z.a,z.b)
+z.m = L.ab.mid
+z.w = L.ab.west
+z.e = L.ab.east
+z.r = L.ab.north_pa
+z.s = L.ab.south_pb
+sl = L.ab.slope
+len = L.ab.length
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(a,b,m,e,r,s,w)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoint(r){north\_pa}
+ \tkzLabelPoint(s){south\_pb}
+ \tkzLabelPoint[below](m){mid}
+ \tkzLabelPoint[right](w){west}
+ \tkzLabelPoint[left](e){east}
+ \tkzDrawLine(a,b)
+ \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
+ \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = .5
@@ -67,35 +98,8 @@ The attributes are :
\tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
-scale = .5
-z.a = point: new (1, 1)
-z.b = point: new (5, 4)
-L.ab = line : new (z.a,z.b)
-z.m = L.ab.mid
-z.w = L.ab.west
-z.e = L.ab.east
-z.r = L.ab.north_pa
-z.s = L.ab.south_pb
-sl = L.ab.slope
-len = L.ab.length
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(a,b,m,e,r,s,w)
- \tkzLabelPoints(a,b)
- \tkzLabelPoint(r){north\_pa}
- \tkzLabelPoint(s){south\_pb}
- \tkzLabelPoint[below](m){mid}
- \tkzLabelPoint[right](w){west}
- \tkzLabelPoint[left](e){east}
- \tkzDrawLine(a,b)
- \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
- \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
-\end{tikzpicture}
-\end{minipage}
+
+
% subsubsection example_class_line (end)
\subsubsection{Method \Imeth{line}{new} and line attributes}
@@ -161,62 +165,54 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; Refer to (\ref{ssub:altshiller})\\
+\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; [\ref{sub:altshiller}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & Refer to (\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle}) \\
-\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ Refer to (\ref{ssub:normalize}) \\
+\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & [\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle} ] \\
+\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ [ \ref{ssub:normalize}] \\
\Imeth{line}{normalize\_inv ()} & |z.C=L.AB : normalize_inv()| & CB=1 and $C\in (AB)$ \\
-\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & Refer to (\ref{ssub:barycenter_with_a_line})\\
-\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ Refer to (\ref{sub:ellipse} ; \ref{ssub:method_point})\\
+\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & [\ref{ssub:barycenter_with_a_line}] \\
+\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ [\ref{sub:ellipse} ; \ref{ssub:method_point}] \\
\Imeth{line}{midpoint ()} & |z.M=L.AB : midpoint ()| & better is |z.M = L.AB.mid| \\
-\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & \ref{sub:harmonic_division_with_tkzphi}\\
+\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & [\ref{sub:harmonic_division_with_tkzphi}] \\
\Imeth{line}{\_east(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
\Imeth{line}{\_west(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
-\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2| $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB:_south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
-\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB:_north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
-\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB:_south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{report(d,pt)} &|z.M=L.AB:report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; Refer to ex. (\ref{ssub:method_report})\\
-\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB:colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; Refer to ex. (\ref{ssub:method_imeth_line_colinear__at})\\
+\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise. \\
+...&& [\ref{ssub:new_line_from_a_defined_line}; \ref{ssub:attributes_of_an_ellipse}]\\
+\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB: _south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
+\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB: _north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
+\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB: _south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
+\Imeth{line}{report(d,pt)} &|z.M=L.AB: report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; [ex. \ref{ssub:method_report}]\\
+\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB: colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; [ex. \ref{ssub:method_imeth_line_colinear__at}]\\
\midrule
\textbf{Lines} &&\\
\midrule
-\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$ \\
-\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$\\
-\Imeth{line}{mediator ()}&|L.uv=L.AB: mediator()| & $(u,v)$mediator of $(A,B)$\\
+\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$; [\ref{ssub:new_line_from_a_defined_line}] \\
+\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$; [\ref{ssub:newline_ortho_from}] \\
+ \Imeth{line}{mediator ()} & |L.uv=L.AB: mediator()| & perpendicular bisector of $(A,B)$ \footnote{You can use |perpendicular_bisector| intead of \tkzname{mediator}.}; [\ref{ssub:method_imeth_line_mediator}]\\
\midrule
\textbf{Triangles}&&\\
\midrule
-\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.} \\
-\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|&\\
-\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} Refer to (\ref{ssub:triangle_with_two__angles}) \\
+\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.}; [\ref{ssub:object_rotation}] \\
+\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|& [\ref{ssub:method_imeth_line_isosceles}]\\
+\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} [\ref{ssub:triangle_with_two__angles}] \\
\Imeth{line}{school ()} & 30°,60°, 90° & \\
-\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & \\
-\Imeth{line}{as (r,an)} & $AC =r$ $\widehat{BAC} = an$& \\
-\Imeth{line}{sa (r,an)} & $AC =r$ $\widehat{ABC} = an$& \\
-\midrule
-\textbf{Sacred triangles}&&\\
-\midrule
-\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $ \\
-\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$ \\
-\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
- $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ \\
-\Imeth{line}{divine ()} & & \\
-\Imeth{line}{egyptian ()} & & \\
-\Imeth{line}{cheops ()} & & \\
+\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{sas (r,an)} & $AC =r$ $\widehat{BAC} = an$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{ssa (r,an)} & $AC =r$ $\widehat{ABC} = an$& [\ref{ssub:triangle_with_three_given_sides}]\\
\midrule
\textbf{Squares}&&\\
\midrule
-\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}\\
+\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}; [\ref{ssub:object_rotation}] \\
\bottomrule
\end{tabular}
\egroup
\end{minipage}
+
\begin{minipage}{\textwidth}
\bgroup
\catcode`_=12
@@ -226,23 +222,33 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
+\textbf{Sacred triangles}&&\\
+\midrule
+\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $; [\ref{line:met}] \\
+\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$; [\ref{line:met}] \\
+\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
+ $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ ; [\ref{line:met}] \\
+\Imeth{line}{divine ()} & & [\ref{line:met}] \\
+\Imeth{line}{egyptian ()} & & [\ref{line:met}] \\
+\Imeth{line}{cheops ()} & & [\ref{line:met}] \\
+\midrule
\textbf{Circles} &&\\
\midrule
\Imeth{line}{circle ()} & |C.AB = L.AB : circle ()| & center pa through pb \\
-\Imeth{line}{circle\_swap ()} & |C.BA = L.AB : circle_swap ()|& center pb through pa \\
-\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2| \\
+\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2|; [\ref{ssub:apollonius_circle_ma_mb_k}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
-\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|&\\
-\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|&\\
-\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$\\
+\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|& [\ref{ssub:reflection_of_object}] \\
+\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|& [\ref{ssub:example_translation}] \\
+\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$; [\ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
+... & & [ \ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & Refer to \ref{ssub:example_distance_and_projection}\\
-\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ \\
-\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope \\
+\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & [\ref{ssub:example_distance_and_projection}] \\
+\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ ; [\ref{ssub:in_out_for_a_line}] \\
+\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope; [\ref{ssub:example_class_line}]\\
\Imeth{line}{in\_out\_segment (pt)} & |b = L.AB : in_out_segment(z.C)| & b=true if $C\in [AB$] \\
\bottomrule
\end{tabular}
@@ -309,7 +315,11 @@ The angles are on either side of the given segment
\tkzDrawPolygons(A,B,C)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -321,57 +331,130 @@ The angles are on either side of the given segment
T.ABC= L.AB : two_angles (math.pi/6,math.pi/2)
z.C = T.ABC.pc
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection triangle_with_two__angles (end)
-\subsubsection{Method \Imeth{line}{sss}} % (fold)
+\subsubsection{Method \Imeth{line}{isosceles}} % (fold)
+\label{ssub:method_imeth_line_isosceles}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,
+ z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{minipage}
+
+% subsubsection method_imeth_line_isosceles (end)
+
+\subsubsection{Methods \Imeth{line}{sss}, \Imeth{line}{sas}, \Imeth{line}{ssa}} % (fold)
\label{ssub:triangle_with_three_given_sides}
In the following example, a small difficulty arises. The given lengths are not affected by scaling, so it's necessary to use the \Igfct{math}{value (r) } function, which will modify the lengths according to the scale.
+\vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
\end{tkzelements}
+\hspace{\fill}
\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
- \begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
- \end{tkzelements}
-\hspace{\fill}
- \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_three_given_sides (end)
@@ -413,16 +496,20 @@ In some cases, two solutions are possible.
z.C = T.ABC.pc
z.D = T.ABD.pc
\end{tkzelements}
- \hspace{\fill} \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C A,B,D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C,D)
- \tkzLabelAngle[teal](C,B,A){$\pi/6$}
- \tkzLabelSegment[below left](A,C){$7$}
- \tkzLabelSegment[below left](A,D){$7$}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D)
+ \tkzLabelAngle[teal](C,B,A){$\pi/6$}
+ \tkzLabelSegment[below left](A,C){$7$}
+ \tkzLabelSegment[below left](A,D){$7$}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_side_between_side_and_angle (end)
@@ -536,12 +623,15 @@ This method exists for all objects except quadrilaterals.
z.J = L.AB : point (-0.5)
z.K = L.AB : point (2)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
- \tkzDrawLine(J,K)
- \tkzDrawPoints(A,B,I,J,K)
- \tkzLabelPoints(A,B,I,J,K)
- \end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawLine(J,K)
+ \tkzDrawPoints(A,B,I,J,K)
+ \tkzLabelPoints(A,B,I,J,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_point (end)
@@ -576,12 +666,15 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
z.D = L.AB : colinear_at (z.C,.5)
z.E = L.AB : colinear_at (z.C)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegments(A,B C,E)
- \tkzDrawPoints(A,B,C,D,E)
- \tkzLabelPoints(A,B,C,D,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(A,B C,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_imeth_line_colinear__at (end)
@@ -615,15 +708,17 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.ab = line : new (z.a,z.b)
z.c = L.ab : normalize ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawSegments(a,b)
-\tkzDrawCircle(a,c)
-\tkzDrawPoints(a,b,c)
-\tkzLabelPoints(a,b,c)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(a,b)
+ \tkzDrawCircle(a,c)
+ \tkzDrawPoints(a,b,c)
+ \tkzLabelPoints(a,b,c)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection normalize (end)
@@ -654,16 +749,19 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.AB = line : new ( z.A , z.B )
z.G = L.AB : barycenter (1,2)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B,G)
- \tkzLabelPoints(A,B,G)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B,G)
+ \tkzLabelPoints(A,B,G)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection barycenter_with_a_line (end)
-\subsubsection{method \Imeth{line}{ll\_from}} % (fold)
+\subsubsection{Method \Imeth{line}{ll\_from}} % (fold)
\label{ssub:new_line_from_a_defined_line}
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -700,20 +798,162 @@ L.CD = line : new (z.C,z.D)
_,z.E = get_points ( L.CD: ll_from (z.B))
-- or z.E = L2.pb with |L2 = L.CD: ll_from (z.B)|
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D B,E)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,...,E)
+ \tkzMarkRightAngle(B,A,C)
+ \tkzMarkSegments(A,C A,B A,D)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+ % \caption{New line from defined line}
+% subsubsection new_line_from_a_defined_line (end)
+
+\subsubsection{Method \Imeth{line}{ortho\_from}} % (fold)
+\label{ssub:newline_ortho_from}
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,D B,E)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,...,E)
-\tkzMarkRightAngle(B,A,C)
-\tkzMarkSegments(A,C A,B A,D)
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
\end{tikzpicture}
-\hspace*{\fill}
+\end{Verbatim}
\end{minipage}
- % \caption{New line from defined line}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+\end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
% subsubsection new_line_from_a_defined_line (end)
+\subsubsection{Method \Imeth{line}{mediator}} % (fold)
+\label{ssub:method_imeth_line_mediator}
+
+In Mathworld, the mediator is the plane through the midpoint of a line segment and perpendicular to that segment, also called a mediating plane. The term "mediator" was introduced by J. Neuberg (Altshiller-Court 1979, p. 298). Here, I have adopted the French term and the mediator or
+the perpendicular bisector of a line segment, is a line segment perpendicular to the segment and passing through the midpoint of this segment.
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_mediator (end)
+
+\subsubsection{Method \Imeth{line}{equilateral}} % (fold)
+\label{ssub:method_imeth_line_equilateral}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawPolygon(A,B,C)
+\tkzMarkSegments(A,B B,C C,A)
+\tkzDrawPoints(A,B,C)
+\tkzMarkAngles(B,A,C C,B,A A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(A,B,C)
+ \tkzMarkSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzMarkAngles(B,A,C C,B,A A,C,B)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_equilateral (end)
\subsubsection{Method \Imeth{line}{projection}} % (fold)
\label{ssub:example_projection_of_several_points}
@@ -746,14 +986,16 @@ z.d = point: new (5, 2)
L.ab = line: new (z.a,z.b)
z.cp,z.dp = L.ab : projection(z.c,z.d)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(a,b c,c' d,d')
-\tkzDrawPoints(a,...,d,c',d')
-\tkzLabelPoints(a,...,d,c',d')
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(a,b c,c' d,d')
+ \tkzDrawPoints(a,...,d,c',d')
+ \tkzLabelPoints(a,...,d,c',d')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% \caption{Projection of several points}
@@ -809,23 +1051,26 @@ L.ab = C.OA : tangent_at (z.A)
z.a,z.b = L.ab.pa,L.ab.pb
-- or z.a,z.b = get_points (L.ab)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[purple](O,A O,B O,H)
-\tkzDrawArc[red](O,A)(B)
-\tkzDrawArc[blue](O,B)(A)
-\tkzDrawLine[add = 2 and 1](A,a)
-\tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
-\tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
-\tkzDrawPoints(A,B,C,H,O)
-\tkzLabelPoints(B,H)
-\tkzLabelPoints[above](O,C)
-\tkzLabelPoints[left](A)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[purple](O,A O,B O,H)
+ \tkzDrawArc[red](O,A)(B)
+ \tkzDrawArc[blue](O,B)(A)
+ \tkzDrawLine[add = 2 and 1](A,a)
+ \tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
+ \tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
+ \tkzDrawPoints(A,B,C,H,O)
+ \tkzLabelPoints(B,H)
+ \tkzLabelPoints[above](O,C)
+ \tkzLabelPoints[left](A)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_combination_of_methods (end)
@@ -860,63 +1105,21 @@ z.a,z.b = L.ab.pa,L.ab.pb
L.AB = line : new (z.A,z.B)
z.E,z.F = L.AB : translation (z.C,z.D)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,...,F)
-\tkzLabelPoints(A,...,F)
-\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsubsection example_translation (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,...,F)
+ \tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
+ \end{tikzpicture}
+\end{center}
-\subsubsection{Method \Imeth{line}{distance}} % (fold)
-\label{ssub:example_distance_and_projection}
-\begin{minipage}{0.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B C,H)
- \tkzDrawPoints(A,B,C,H)
- \tkzLabelPoints(A,B,C,H)
- \tkzLabelSegment[above left,
- draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,H)
-\tkzDrawPoints(A,B,C,H)
-\tkzLabelPoints(A,B,C,H)
-\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\hspace*{\fill}
\end{minipage}
-% \caption{Method distance with line object}
-% subsubsection example_distance_and_projection (end)
+% subsubsection example_translation (end)
+
\subsubsection{Method \Imeth{line}{reflection} of an object} % (fold)
\label{ssub:reflection_of_object}
@@ -955,19 +1158,72 @@ z.a,z.b = L.ab.pa,L.ab.pb
T.new = L.AB : reflection (T.EFG)
z.Ep,z.Fp,z.Gp = get_points(T.new)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPolygon(E,F,G)
- \tkzDrawPolygon[new](E',F',G')
- \tkzDrawSegment[red,dashed](E,E')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(E,F,G)
+ \tkzDrawPolygon[new](E',F',G')
+ \tkzDrawSegment[red,dashed](E,E')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection reflection_of_object (end)
+\subsubsection{Method \Imeth{line}{distance}} % (fold)
+\label{ssub:example_distance_and_projection}
+
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,
+ draw](C,H){$CH = \tkzUseLua{d}$}
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Method \Imeth{line}{apollonius} Apollonius circle MA/MB = k} % (fold)
-\label{sub:apollonius_circle_ma_mb_k}
+
+\end{minipage}
+
+% \caption{Method distance with line object}
+% subsubsection example_distance_and_projection (end)
+
+
+\subsubsection{Method \Imeth{line}{apollonius} (Apollonius circle MA/MB = k)} % (fold)
+\label{ssub:apollonius_circle_ma_mb_k}
\begin{Verbatim}
\begin{tkzelements}
@@ -984,14 +1240,15 @@ z.a,z.b = L.ab.pa,L.ab.pb
\tkzFillCircle[blue!20,opacity=.2](O,C)
\tkzDrawCircle[blue!50!black](O,C)
\tkzDrawPoints(A,B,O,C,D,P)
- \tkzLabelPoints[below right](A,B,O,C,D,P)
\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
\tkzDrawSegments[red](A,C)
\tkzDrawPoints(A,B)
\tkzLabelCircle[draw,fill=green!10,%
text width=3cm,text centered,left=24pt](O,D)(60)%
{$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
- \tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
\tkzMarkAngles[mark=||](A,P,D D,P,B)
\end{tikzpicture}
\end{Verbatim}
@@ -1006,24 +1263,28 @@ z.D = C.apo : antipode (z.C)
z.P = C.apo : point (0.30)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzFillCircle[blue!20,opacity=.2](O,C)
-\tkzDrawCircle[blue!50!black](O,C)
-\tkzDrawPoints(A,B,O,C,D,P)
-\tkzLabelPoints[below right](A,B,O,C,D,P)
-\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
-\tkzDrawSegments[red](A,C)
-\tkzDrawPoints(A,B)
-\tkzLabelCircle[draw,fill=green!10,%
- text width=3cm,text centered,left=24pt](O,D)(60)%
- {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
-\tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
-\tkzMarkAngles[mark=||](A,P,D D,P,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzFillCircle[blue!20,opacity=.2](O,C)
+ \tkzDrawCircle[blue!50!black](O,C)
+ \tkzDrawPoints(A,B,O,C,D,P)
+ \tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
+ \tkzDrawSegments[red](A,C)
+ \tkzDrawPoints(A,B)
+ \tkzLabelCircle[draw,fill=green!10,%
+ text width=3cm,text centered,left=24pt](O,D)(60)%
+ {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
+ \tkzMarkAngles[mark=||](A,P,D D,P,B)
+ \end{tikzpicture}
+\end{center}
+
Remark: |\tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}| = \tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}
-% subsection apollonius_circle_ma_mb_k (end)
+% subsubsection apollonius_circle_ma_mb_k (end)
% subsection methods_from_class_line (end)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
index 04b874532d..d533511fbe 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
@@ -15,7 +15,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\begin{itemize}
-\item The first method is: (Refer to \ref{ssub:method_new})
+\item The first method is: [\ref{ssub:method_new}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -33,13 +33,13 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{minipage}
-\item It is also possible to obtain a square matrix with: (Refer to \ref{ssub:method_square})
+\item It is also possible to obtain a square matrix with: [\ref{ssub:method_square}]
\begin{mybox}
|M = matrix : square (2,a,b,c,d)|
\end{mybox}
-\item In the case of a column vector: (Refer to \ref{ssub:method_vector})
+\item In the case of a column vector: [\ref{ssub:method_vector}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -52,7 +52,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{tkzelements}
\end{minipage}
-\item Homogeneous transformation matrix (Refer to \ref{ssub:method_htm})
+\item Homogeneous transformation matrix [\ref{ssub:method_htm}]
The objective is to generate a matrix with homogeneous coordinates capable of transforming a coordinate system through rotation, translation, and scaling. To achieve this, it is necessary to define both the rotation angle, the coordinates of the new origin ans the scaling factors.
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
index c8c5cccd8f..e80a292858 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
@@ -17,11 +17,11 @@
%tkzround( num, idp ) & \\
% Cramer33(a1,a2,a3,b1,b2,b3,c1,c2,c3) & \\
% Cramer22(a1,a2,b1,b2) & \\
-\Igfct{math}{length (a,b) } & point.abs(a-b) Refer to (\ref{ssub:report_de_distance}) \\
+\Igfct{math}{length (a,b) } & point.abs(a-b) [\ref{sub:report_de_distance}] \\
\Igfct{math}{islinear (z1,z2,z3) } & Are the points aligned? (z2-z1) $\parallel$ (z3-z1) ? \\
\Igfct{math}{isortho (z1,z2,z3)} & (z2-z1) $\perp$ (z3-z1) ? boolean\\
-\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 Refer to (\ref{sub:get_angle}) \\
-\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A (\ref{sub:get_angle})\\
+\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 [\ref{sub:get_angle}] \\
+\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A [\ref{sub:get_angle}] \\
\Igfct{math}{bisector\_ext (z1,z2,z3)} & L.Aa = bisector_ext (z.A,z.B,z.C) from A \\
\Igfct{math}{altitude (z1,z2,z3)} & altitude from z1 \\
\Igfct{package}{set\_lua\_to\_tex (list)} & set\_lua\_to\_tex('a','n') defines |\a| and |\n| \\
@@ -31,7 +31,7 @@
\Igfct{math}{real (v) } & apply | value /scale | \\
\Igfct{math}{angle\_normalize (an) } & to get a value between 0 and $2\pi$ \\
\Igfct{misc}{barycenter (\{z1,n1\},\{z2,n2\}, ...)} & barycenter of list of points \\
-\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex (Refer to \ref{ssub:function_solve__quadratic})\\
+\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex [\ref{ssub:function_solve__quadratic}] \\
\bottomrule
\end{tabular}
\egroup
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
index e404dc763b..0da8f16b78 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
@@ -92,7 +92,6 @@ The creation of a point is done using the following method, but there are other
This is the creation of a fixed point with coordinates 1 and 2 and which is named $A$. The notation |z.A| indicates that the coordinates will be stored in a table denoted as |z| (reference to the notation of the affixes of the complex numbers) that $A$ is the name of the point and the key allowing access to the values.
-
\begin{center}
\bgroup
\small
@@ -101,21 +100,18 @@ This is the creation of a fixed point with coordinates 1 and 2 and which is name
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
- \Iattr{point}{re} & |z.A.re = 1| & Refer to (\ref{ssub:methods}) \\
- \Iattr{point}{im} & |z.A.im = 2| & Refer to (\ref{ssub:methods}) \\
+ \Iattr{point}{re} & |z.A.re = 1| & [\ref{ssub:methods}] \\
+ \Iattr{point}{im} & |z.A.im = 2| & [\ref{ssub:methods}] \\
\Iattr{point}{type} & |z.A.type = 'point'| & \\
- \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & Refer to (\ref{ssub:example_point_attributes})\\
- \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & Refer to (\ref{ssub:example_point_attributes})\\
+ \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & [\ref{ssub:example_point_attributes}] \\
+ \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & [\ref{ssub:example_point_attributes}] \\
\bottomrule
\end{tabular}
\egroup
\end{center}
-
-
-
\newpage
-\subsubsection{Example:point attributes} % (fold)
+\subsubsection{Example: point attributes} % (fold)
\label{ssub:example_point_attributes}
\begin{tkzelements}
@@ -189,7 +185,7 @@ Attributes of \texttt{z.M}
\end{center}
\MakeShortVerb{\|}
- \hspace*{\fill}
+
% \caption{Class Point}
% subsubsection example_point_attributes (end)
% subsection attributes_of_a_point (end)
@@ -225,19 +221,20 @@ Attributes of \texttt{z.M}
z.O = point : new ( 0 , 0 )
z.I = point : new ( 1 , 0 )
\end{tkzelements}
- \hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
- \tkzDrawCircle[dashed,red](O,A)
- \tkzPointShowCoord(A)
- \tkzDrawPoint(A)
- \tkzLabelPoint[above right](A){\normalsize $a+ib$}
- \tkzDrawX\tkzDrawY
- \tkzDrawSegment(O,A)
- \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
- \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
- \end{tikzpicture}
- \hspace{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
+ \tkzDrawCircle[dashed,red](O,A)
+ \tkzPointShowCoord(A)
+ \tkzDrawPoint(A)
+ \tkzLabelPoint[above right](A){\normalsize $a+ib$}
+ \tkzDrawX\tkzDrawY
+ \tkzDrawSegment(O,A)
+ \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
+ \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
@@ -257,37 +254,37 @@ The methods described in the following table are standard and can be found in mo
\toprule
\textbf{Functions} & \textbf{Application}& \\
\midrule
-\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & Refer to (\ref{ssub:method_normalize}) \\
-\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & Refer to (\ref{sub:archimedes} )\\
+\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & [\ref{ssub:method_normalize}] \\
+\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & [\ref{sub:archimedes}] \\
\Igfct{point}{polar\_deg (d,an)} & an in deg & polar coordinates an deg \\
\midrule
\textbf{Methods} & \textbf{Application}& \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & Refer to (\ref{sub:power_v2}) ; \ref{ssub:methods}) \\
+\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & [\ref{par:power_v2} ; \ref{ssub:methods}] \\
\Imeth{point}{south(r)} & & \\
\Imeth{point}{east(r)} & & \\
\Imeth{point}{west(r)} & & \\
-\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & Refer to (\ref{ssub:method_normalize}) \\
-\Imeth{point}{get\_points (obj)} & retrieves points from the object & \\
-\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$\\
-\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$\\
+\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & [\ref{ssub:method_normalize}] \\
+\Imeth{point}{get\_points (obj)} & retrieves points from the object & [\ref{ssub:object_rotation}; \ref{ssub:apollonius_circle_ma_mb_k} ] \\
+\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$. [\ref{ssub:orthogonal_method}]\\
+\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$. [\ref{ssub:_imeth_point_at_method}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
- \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & Refer to (\ref{ssub:object_symmetry}) \\
- \Imeth{point}{rotation(an , obj)} & point, line, etc. & Refer to (\ref{ssub:object_rotation})\\
- \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & Refer to (\ref{sub:homothety}) \\
+ \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & [\ref{ssub:object_symmetry}] \\
+ \Imeth{point}{rotation(an , obj)} & point, line, etc. & [\ref{ssub:object_rotation}] \\
+ \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & [\ref{sub:homothety}] \\
\midrule
\textbf{Misc.} &&\\
\midrule
- \Imeth{point}{print()} & displays the affix of the point & Refer to (\ref{ssub:object_symmetry}) \\
+ \Imeth{point}{print()} & displays the affix of the point & [\ref{ssub:object_symmetry} ]\\
\bottomrule %
\end{tabular}
\egroup
-\subsubsection{Example: method \Imeth{point}{north (d)} } % (fold)
+\subsubsection{Method \Imeth{point}{north (d)} } % (fold)
\label{ssub:example_method_imeth_point_north_d}
This function defines a point located on a vertical line passing through the given point. This function is useful if you want to report a certain distance (Refer to the following example).
@@ -320,71 +317,21 @@ If |d| is absent then it is considered equal to 1.
z.C = z.O : west ()
z.D = z.O : south ()
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C,D)
- \tkzDrawPoints(A,B,C,D,O,A')
- \tkzLabelPoints(A,B,C,D,O,A')
-\end{tikzpicture}
-\end{minipage}
-% subsubsection example_method_imeth_point_north_d (end)
-
-\subsubsection{Length transfer} % (fold)
-\label{ssub:report_de_distance}
-
-Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawPoints(A,B,C,D,O,A')
+ \tkzLabelPoints(A,B,C,D,O,A')
+ \end{tikzpicture}
+\end{center}
-\begin{minipage}{.4\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{minipage}
-% subsubsection report_de_distance (end)
+% subsubsection example_method_imeth_point_north_d (end)
-\subsubsection{Example: method \Imeth{point}{polar} } % (fold)
+\subsubsection{Method \Imeth{point}{polar} } % (fold)
\label{ssub:example_polar_method}
This involves defining a point using its modulus and argument.
@@ -402,7 +349,8 @@ This involves defining a point using its modulus and argument.
\tkzDrawSegments[new](O,A)
\tkzDrawSegments[purple](O,F)
\tkzDrawPoints(A,O,F)
- \tkzLabelPoints[below right=6pt](A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -413,16 +361,20 @@ This involves defining a point using its modulus and argument.
z.A = point: new (3, 0)
z.F = point: polar (3, math.pi/3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[new](O,A)
-\tkzDrawSegments[purple](O,F)
-\tkzDrawPoints(A,O,F)
-\tkzLabelPoints(A,O,F)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[new](O,A)
+ \tkzDrawSegments[purple](O,F)
+ \tkzDrawPoints(A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_polar_method (end)
@@ -431,7 +383,26 @@ This involves defining a point using its modulus and argument.
The result is a point located between the origin and the initial point at a distance of $1$ from the origin.
-\begin{minipage}{.4\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.O = point : new (0,0)
+z.A = point : new (2,1)
+z.B = z.A : normalize ()
+z.I = point : new (1,0)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegment(O,A)
+ \tkzDrawCircle(O,B)
+ \tkzDrawPoints(O,A,B,I)
+ \tkzLabelPoints(O,A)
+ \tkzLabelPoints[above](B)
+ \tkzLabelPoint[below right](I){$1$}
+ \end{tikzpicture}
+\end{center}
+
\begin{Verbatim}
\begin{tkzelements}
scale = 1.5
@@ -449,29 +420,11 @@ The result is a point located between the origin and the initial point at a dist
\tkzLabelPoint[below right](I){$1$}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
-scale = 1.5
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-z.B = z.A : normalize ()
-z.I = point : new (1,0)
-\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegment(O,A)
-\tkzDrawCircle(O,B)
-\tkzDrawPoints(O,A,B,I)
-\tkzLabelPoints(O,A,B)
-\tkzLabelPoint[below right](I){$1$}
-\end{tikzpicture}
- \hspace*{\fill}
-\end{minipage}
+
+
% subsubsection method_normalize (end)
-\subsubsection{\Imeth{point}{Orthogonal (d)} method} % (fold)
+\subsubsection{Method \Imeth{point}{orthogonal (d)}} % (fold)
\label{ssub:orthogonal_method}
Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtain a point $B$ from a point $A$ such that $\overrightarrow{OB}\perp \overrightarrow{OA}$ with $OB=OA$ if $d$ is empty, otherwise $OB = d$.
@@ -499,16 +452,19 @@ Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtai
z.O = point : new ( 0,0 )
z.C = z.A : orthogonal ()
\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawSegments(O,A O,C)
- \tkzDrawPoints(O,A,B,C)
- \tkzLabelPoints[below right](O,A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(O,A O,C)
+ \tkzDrawPoints(O,A,B,C)
+ \tkzLabelPoints[below right](O,A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection orthogonal_method (end)
-\subsubsection{\Imeth{point}{at} method} % (fold)
+\subsubsection{Method \Imeth{point}{at}} % (fold)
\label{ssub:_imeth_point_at_method}
This method is complementary to the previous one, so you may not wish to have $\overrightarrow{OB}\perp \overrightarrow{OA}$ but $\overrightarrow{AB}\perp \overrightarrow{OA}$.
@@ -521,14 +477,16 @@ This method is complementary to the previous one, so you may not wish to have $\
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+ z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
\begin{tikzpicture}[gridded]
\tkzGetNodes
- \tkzLabelPoints[below right](O,A,B,C,D)
- \tkzDrawSegments(O,A A,B A,C C,D)
- \tkzDrawPoints(O,A,B,C,D)
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -539,20 +497,24 @@ z.B = z.A : orthogonal (1)
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzLabelPoints[below right](O,A,B,C,D)
-\tkzDrawSegments(O,A A,B A,C C,D)
-\tkzDrawPoints(O,A,B,C,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection _imeth_point_at_method (end)
-\subsubsection{Example: \Imeth{point}{rotation of points}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} first example} % (fold)
\label{ssub:example_rotation_of_points}
The arguments are the angle of rotation in radians, and here a list of points.
@@ -565,26 +527,27 @@ The arguments are the angle of rotation in radians, and here a list of points.
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(o,a o,a' o,b o,b')
- \tkzDrawPoints(a,a',b,b',o)
- \tkzLabelPoints(b,b',o)
- \tkzLabelPoints[below left](a,a')
- \tkzDrawArc(o,a)(a')
- \tkzDrawArc(o,b)(b')
- \end{tikzpicture}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(o,a o,a' o,b o,b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(b,b',o)
+ \tkzLabelPoints[below left](a,a')
+ \tkzDrawArc(o,a)(a')
+ \tkzDrawArc(o,b)(b')
+ \end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.4\textwidth}
\begin{tkzelements}
- scale = .5
+ scale = .5
z.a = point: new(0, -1)
z.b = point: new(4, 0)
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawLines(o,a o,a' o,b o,b')
@@ -594,16 +557,16 @@ The arguments are the angle of rotation in radians, and here a list of points.
\tkzDrawArc(o,a)(a')
\tkzDrawArc(o,b)(b')
\end{tikzpicture}
-\hspace*{\fill}
+\end{center}
\end{minipage}
% subsubsection example_rotation_of_points (end)
-\subsubsection{Object \Imeth{point}{rotation}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} second example} % (fold)
\label{ssub:object_rotation}
Rotate a triangle by an angle of $\pi/6$ around $O$.
\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
+\begin{Verbatim}
\begin{tkzelements}
scale = .75
z.O = point : new ( -1 , -1 )
@@ -619,13 +582,12 @@ Rotate a triangle by an angle of $\pi/6$ around $O$.
T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
- \tkzDrawArc[delta=0,->](O,A)(A')
+ \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzDrawArc[delta=0,->](O,A)(A')
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -645,61 +607,68 @@ T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
+\begin{center}
+\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzLabelPoints (A,B,C,A',B',C',O)
\begin{scope}
\tkzDrawArc[delta=0,->,dashed,red](O,A)(A')
\tkzDrawSegments[dashed,red](O,A O,A')
\end{scope}
-
\end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection object_rotation (end)
-\subsubsection{Object \Imeth{point}{symmetry}} % (fold)
+\subsubsection{Method \Imeth{point}{symmetry}} % (fold)
\label{ssub:object_symmetry}
+
+Example of the symmetry of an object
+
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.a = point: new(0,-1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1,1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0,-1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1,1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
- z.a = point: new(0, -1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1, 1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0, -1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1, 1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection object_symmetry (end)
% subsection methods_of_the_class_point (end)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
index 3ec9e777a6..98b6ac3610 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
@@ -94,7 +94,7 @@ z.H = RP.five.proj
\midrule
\textbf{Points} &\\
\midrule
-\Imeth{regular\_polygon}{name (string)} & Refer to\ref{ssub:pentagon} \\
+\Imeth{regular\_polygon}{name (string)} & [\ref{ssub:pentagon}] \\
\bottomrule %
\end{tabular}
\egroup
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
index 80b711e46f..b144ed3e01 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
@@ -21,12 +21,13 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\Iattr{triangle}{pb} &T.ABC.pb \\
\Iattr{triangle}{pc} &T.ABC.pc \\
\Iattr{triangle}{type} & 'triangle' \\
-\Iattr{triangle}{circumcenter} & T.ABC.circumcenter\\
+\Iattr{triangle}{circumcenter} & T.ABC.circumcenter; [\ref{ssub:example_triangle_attributes}
+]\\
\Iattr{triangle}{centroid} &T.ABC.centroid\\
\Iattr{triangle}{incenter} &T.ABC.incenter\\
\Iattr{triangle}{orthocenter} &T.ABC.orthocenter\\
\Iattr{triangle}{eulercenter} &T.ABC.eulercenter \\
-\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter \\
+\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter; [\ref{ssub:example_apollonius_circle}] \\
\Iattr{triangle}{a}& It's the length of the side opposite the first vertex \\
\Iattr{triangle}{b}& It's the length of the side opposite the second verte\\
\Iattr{triangle}{c}& It's the length of the side opposite the third vertex \\
@@ -116,7 +117,7 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\begin{tkzelements}
z.A = point: new (0 , 0)
z.B = point: new (4 , 0)
- z.C = point: new (0 , 3)
+ z.C = point: new (1 , 3)
T.ABC = triangle : new (z.A,z.B,z.C)
z.O = T.ABC.circumcenter
z.I = T.ABC.incenter
@@ -129,18 +130,22 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
beta = T.ABC.beta
gamma = T.ABC.gamma
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C,O,G,I,H)
- \tkzLabelPoints[below](A,B,O,G,I)
- \tkzLabelPoints[above right](H,C)
- \tkzDrawCircles(O,A)
- \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
- \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,O,G,I,H)
+ \tkzDrawCircles(O,A)
+ \tkzLabelPoints[below](A,B,O,G,I)
+ \tkzLabelPoints[above right](H)
+ \tkzLabelPoints[above](C)
+ \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
+ \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_triangle_attributes (end)
@@ -155,64 +160,95 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\small
\begin{minipage}{\textwidth}
\captionof{table}{triangle methods.}\label{triangle:met}
-\begin{tabular}{ll}
+\begin{tabular}{lll}
\toprule
-\textbf{Methods} & \textbf{Comments} \\
+\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)| \\
- ... & |T| or |T.name| with what you want for name, is possible.\\
+\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)|& [\ref{sub:triangle_attributes_angles}] \footnote{|T| or |T.name| with what you want for name, is possible.} \\
\midrule
- \textbf{Points} &\\
+ \textbf{Points} &&\\
\midrule
-\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection os the symmedians\\
-\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point \\
-\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle\\
-\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle\\
-\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points \\
-\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points\\
-\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent. \\
-\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle \\
-\Imeth{triangle}{barycenter (ka,kb,kc)} & |T.ABC: barycenter (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |\\
-\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram \\
-\Imeth{triangle}{projection (p) } & Projection of a point on the sides \\
-\Imeth{triangle}{euler\_points () } & Euler points of euler circle \\
-\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle \\
-\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD is a parallelogram\\
+\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection of the symmedians & [\ref{ssub:method_imeth_line_isosceles}]\\
+
+\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{lemoine\_point ()} & symmedian point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle& [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+]\\
+
+\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle& [\ref{ssub:method_imeth_triangle_mittenpunkt}]\\
+
+\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points& [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points& [\ref{ssub:method_imeth_triangle_nagel__point}]\\
+
+\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent.& [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle& [\ref{sub:apollonius_circle_v1_with_inversion}]\\
+
+\Imeth{triangle}{barycentric (ka,kb,kc)} & |T.ABC: barycentric (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |&Remark \footnote{The function \code{barycenter} is used to obtain the barycentre for any number of points }\\
+
+\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram & [\ref{ssub:method_imeth_triangle_base}] \\
+\Imeth{triangle}{trilinear (u,v,w) } & |z.D = T.ABC: trilinear(1,1,1)| \tkzar ABDC parallelogram & [\ref{ssub:method_imeth_triangle_trilinear}] \\
+
+\Imeth{triangle}{projection (p) } & Projection of a point on the sides &[\ref{sub:euler_relation}; \ref{ssub:method_imeth_triangle_projection}]\\
+
+\Imeth{triangle}{euler\_points () } & Euler points of euler circle & [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle & [\ref{ssub:method_imeth_triangle_nine__points}] \\
+
+\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD parallelogram& [\ref{sub:director_circle}]\\
\midrule
- \textbf{Lines} &\\
+ \textbf{Lines} &&\\
\midrule
\Imeth{triangle}{altitude (n) } & |L.AHa = T.ABC : altitude () | n empty or 0 line from $A$
-\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull.}\\
-\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. }\\
-\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.\\
-\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point. \\
+\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull. If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the function |altitude (z.A,z.B,z.C)| ; [ \ref{misc}]}& [\ref{ssub:method_imeth_triangle_altitude} ]\\
+
+\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. If you don't need to use the triangle object several times, you can obtain a bisector with the function |bisector (z.A,z.B,z.C)| [\ref{misc}]}& [\ref{ssub:method_imeth_triangle_bisector}]\\
+
+\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.& [\ref{sub:harmonic_division_and_bisector}]\\
+
+\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point.& [\ref{ssub:method_imeth_triangle_symmedial} ; \ref{ssub:method_imeth_line_isosceles}]\\
+
\Imeth{triangle}{euler\_line () } & the line through $N$ ,$G$, $H$ and $O$ if the triangle is not equilateral
-\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } \\
-\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.\\
+\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } & [\ref{sub:hexagram}]\\
+
+\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.& [\ref{sub:antiparallel_through_lemoine_point}]\\
\midrule
- \textbf{Circles} &\\
+ \textbf{Circles} &&\\
\midrule
\Imeth{triangle}{euler\_circle ()} & C.|NP = T.ABC : euler_circle ()| \tkzar $N$ euler point
- \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} \\
-\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle \\
-\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle\\
-\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap \\
-\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{
-Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC
- then lie on a circle known as the first Lemoine circle. } \\
-\Imeth{triangle}{second\_lemoine\_circle ()} & Refer to example \ref{sub:antiparallel_through_lemoine_point}\\
-\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle\\
-\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle Refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle Refer to (\ref{ssub:method_imeth_triangle_pedal})\\
-\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points Refer to (\ref{ssub:method_imeth_triangle_conway})\\
+ \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} & [\ref{ssub:method_imeth_triangle_euler_circle}]\\
+
+\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle & [\ref{ssub:method_imeth_triangle_circum_circle}] \\
+
+\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle&
+[\ref{ssub:method_imeth_triangle_in_circle}]\\
+
+\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap & [\ref{ssub:method_imeth_triangle_ex__circle}]\\
+
+\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC then lie on a circle known as the first Lemoine circle. }& [\ref{sub:first_and_second_lemoine_circles}
+] \\
+
+\Imeth{triangle}{second\_lemoine\_circle ()} & & \ref{sub:antiparallel_through_lemoine_point}] \\
+
+\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle& [\ref{ssub:method_imeth_triangle_spieker__circle}]\\
+
+\Imeth{triangle}{bevan\_circle ()} & Circumscribed circle of a excentral triangle & [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}]\\
+
+\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle & [\ref{ssub:method_imeth_triangle_cevian}]\\
+
+\Imeth{triangle}{symmedial\_circle ()} & Circumscribed circle of a symmedial triangle & [\ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle & [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points & [\ref{ssub:method_imeth_triangle_conway}]\\
\bottomrule
\end{tabular}
\end{minipage}
\egroup
-Remark: If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the next functions
-
-|bisector (z.A,z.B,z.C)| and |altitude (z.A,z.B,z.C)| Refer to (\ref{misc})
\clearpage\newpage
\bgroup
@@ -227,29 +263,48 @@ Remark: If you don't need to use the triangle object several times, you can obta
\midrule
\textbf{Triangles} &\\
\midrule
-\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes \\
-\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints\\
-\Imeth{triangle}{incentral ()} & Cevian triangle of the triangle with respect to its incenter \\
-\Imeth{triangle}{excentral () } & Triangle with vertices corresponding to the excenters \\
-\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles \\
-\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle \\
-\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices\\
-\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles\\
-\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle. \\
-\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|. refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| Refer to \ref{ssub:method_imeth_triangle_pedal}\\
-\Imeth{triangle}{symmedian ()} & Triangle formed with the intersection points of the symmedians. \\
-\Imeth{triangle}{euler ()} & Triangle formed with the euler points \\
+\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes ; [\ref{ssub:method_imeth_triangle_altitude}] \\
+
+\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints; [\ref{ssub:method_imeth_triangle_medial} ; \ref{sub:nine_points} ; \ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{incentral ()}& Cevian triangle of the triangle with respect to its incenter. [\ref{ssub:method_incentral}] \\
+
+\Imeth{triangle}{excentral ()} & Triangle with vertices corresponding to the excenters. [\ref{ssub:method_imeth_triangle_feuerbach} ] \\
+
+\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles. [\ref{sub:excircles} ] \\
+
+\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{contact () } & contact = intouch ; [
+\ref{ssub:gergonne_point}] \\
+
+\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices; [\ref{ssub:method_imeth_triangle_tangential}]\\
+
+\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles; [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle.\footnote{You can use \tkzname{similar} instead of \tkzname{anti}.} ; [\ref{ssub:method_imeth_triangle_anti}] \\
+
+\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|; [\ref{ssub:method_imeth_triangle_cevian}] \\
+
+\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{symmedial ()} & Triangle formed with the intersection points of the symmedians ; [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{euler ()} & Triangle formed with the euler points ; [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{similar ()} & Triangle formed with straight lines parallel to the sides [\ref{ssub:method_imeth_triangle_similar}] \\
\midrule
\textbf{Ellipses} &\\
-\Imeth{triangle}{steiner\_inellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{steiner\_circumellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{euler\_ellipse ()} & Refer to ex. (\ref{sub:euler_ellipse})\\
+\Imeth{triangle}{steiner\_inellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{steiner\_circumellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{euler\_ellipse ()} & [ex. (\ref{sub:euler_ellipse}]\\
\midrule
\textbf{Miscellaneous} &\\
\midrule
\Imeth{triangle}{area ()} & $ \mathcal{A}$| = T.ABC: area ()|\\
-\Imeth{triangle}{barycentric\_coordinates (pt)} & Triples of numbers corresponding to masses placed at the vertices\\
+\Imeth{triangle}{barycentric\_coordinates(pt)}& Triples of numbers corresponding to masses placed at the vertices\\
\Imeth{triangle}{in\_out (pt)} & Boolean. Test if |pt| is inside the triangle\\
\Imeth{triangle}{check\_equilateral ()} & Boolean. Test if the triangle is equilateral\\
\bottomrule
@@ -259,68 +314,1146 @@ Remark: If you don't need to use the triangle object several times, you can obta
\egroup
% subsubsection methods_of_the_class_triangle (end)
+\subsubsection{Gergonne point} % (fold)
+\label{ssub:gergonne_point}
+
+In this example, some usefull methods are applied like \Imeth{triangle}{intouch} or \Imeth{triangle}{contact}.
+The points of contact of the inscribed circle (incircle) with the triangle in question are obtained.
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection gergonne_point (end)
+
+\subsubsection{Method \Imeth{triangle}{Nagel\_point}} % (fold)
+\label{ssub:method_imeth_triangle_nagel__point}
+
+Let $E_a$ be the point at which the $J_a$-excircle meets the side $(BC)$ of a triangle $ABC$, and define $E_b$ and $E_c$ similarly. Then the lines $A,E_a$, $B,E_b$ and $C,E_c$ concur in the Nagel point $Na$.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_nagel__point (end)
+
+
+\subsubsection{Method \Imeth{triangle}{mittenpunkt}} % (fold)
+\label{ssub:method_imeth_triangle_mittenpunkt}
+
+The Mittenpunkt is the symmedian point of the excentral triangle. The mittenpunkt (also called the middlespoint) of a triangle is the symmedian point of the excentral triangle, i.e., the point of concurrence of the lines from the excenters through the corresponding triangle side midpoints.
+[ \href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi) %
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi)
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_mittenpunkt (end)
+
+\subsubsection{Method \Imeth{triangle}{projection}} % (fold)
+\label{ssub:method_imeth_triangle_projection}
+
+This involves obtaining the projections of a point onto the sides of a triangle. In the following example, we are going to find the projections of a centre of an exinscribed circle.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_projection (end)
+
+\subsubsection{Method \Imeth{triangle}{trilinear}} % (fold)
+\label{ssub:method_imeth_triangle_trilinear}
+
+Given a reference triangle $ABC$, the trilinear coordinates of a point $P$ with respect to $ABC$ are an ordered triple of numbers, each of which is proportional to the directed distance from $P$ to one of the side lines. Trilinear coordinates are denoted alpha:beta:gamma or (alpha,beta,gamma) and also are known as homogeneous coordinates or "trilinears." Trilinear coordinates were introduced by Plücker in 1835.
+[\href{https://mathworld.wolfram.com/TrilinearCoordinates.html}{Weisstein, Eric W. "Trilinear Coordinates." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,B,C,G',G)
+\tkzLabelPoints(A,B,G')
+\tkzLabelPoints[above](C,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,G',G)
+ \tkzLabelPoints(A,B,G')
+ \tkzLabelPoints[above](C,G)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_trilinear (end)
+
+\subsubsection{Method \Imeth{triangle}{barycentric\_coordinates}} % (fold)
+\label{ssub:method_imeth_triangle_barycentric__coordinates}
+
+This method produces a triplet of coordinates which are the barycentric coordinates of a point as a function of the three points of a given triangle.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B,C,G)
+ \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+\end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C) \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_barycentric__coordinates (end)
+
+\subsubsection{Method \Imeth{triangle}{base}} % (fold)
+\label{ssub:method_imeth_triangle_base}
+
+In the next example, the point $D$ is defined by $\overrightarrow{AD} = 1\cdot \overrightarrow{AB}+1\cdot \overrightarrow{AC}$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_base (end)
+
+
+\subsubsection{Method \Imeth{triangle}{euler\_points}} % (fold)
+\label{ssub:method_imeth_triangle_euler__points}
+
+The points $a$, $b$ and $c$ are the Euler points. They are the midpoints of the segments $AH$, $BH$ and $CH$.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_triangle_euler__points (end)
+
+\subsubsection{Method \Imeth{triangle}{nine\_points}} % (fold)
+\label{ssub:method_imeth_triangle_nine__points}
+
+This method gives the nine main points belonging to the Euler circle: in order, first the midpoints of the sides of the triangle, then the feet of the altitudes and finally the three Euler points. Refer to the last example.
+In the next example, we look for the centre of gravity in two different ways: the first uses the \code{trilinear} method, the second the \code{barycentric} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_nine__points (end)
+
+\subsubsection{Method \Imeth{triangle}{altitude}} % (fold)
+\label{ssub:method_imeth_triangle_altitude}
+
+There are several methods to obtain one or more altitudes of a triangle. One possible method is the \Imeth{triangle}{orthic} method. This method allows for defining the \code{orthic} triangle whose vertices are the feet of the altitudes from each vertex. If only one altitude is needed, one can use the \code{altitude(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the altitude will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the altitude will be from $B$. For $n=2$, the altitude will be from $C$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T :altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T : altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_altitude (end)
+
+\subsubsection{Method \Imeth{triangle}{bisector}} % (fold)
+\label{ssub:method_imeth_triangle_bisector}
+
+There are several methods to obtain one or more bisectors of a triangle. One possible method is the \Imeth{triangle}{incentral} method. This method allows for defining the \code{incentral} triangle whose vertices are the feet of the bisectors from each vertex. If only one bisector is needed, one can use the \code{bisector(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the bisector will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the bisector will be from $B$. For $n=2$, the bisector will be from $C$.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[mark=|](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||](C,B,b b,B,A)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[cyan,mark=|,size=.75](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||,size=.5](C,B,b b,B,A)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_bisector (end)
+
+%%%%%% Circles %%%%%%
+
+\subsubsection{Method \Imeth{triangle}{euler\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_euler_circle}
+
+The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A, H_B, and H_C$ dropped from the vertices of any reference triangle DeltaABC on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints$ M_A, M_B, M_C$ of the sides of DeltaABC. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A, E_B, and E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points.
+\href{https://mathworld.wolfram.com/Nine-PointCircle.html}{Weisstein, Eric W. "Nine-Point Circle." From MathWorld--A Wolfram Web Resource.}
+
+\vspace{6pt}
+There are several ways of obtaining the Euler circle. The first would be to use an attribute of the triangle to determine the centre. This centre is defined by |z.N = T.eulercenter|. Next, the circle passes through the midpoint of one of the sides. IF this circle is useful later on, it is best to define it using the \code{euler\_circle} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_euler_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{circum\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_circum_circle}
+
+To obtain the circumscribed circle, simply use the \code{T.circumcenter} attribute, but if it is necessary to determine the circle then the method is \code{circum\_circle}.
-\subsubsection{Méthodes \Imeth{triangle}{cevian} et \Imeth{triangle}{cevian\_circle}} % (fold)
-\label{ssub:method_imeth_triangle_cevian}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
\end{tkzelements}
\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_circum_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{in\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_in_circle}
+
+An incircle is an inscribed circle of a polygon, i.e., a circle that is tangent to each of the polygon's sides. The center $I$ of the incircle is called the incenter, and the radius $r$ of the circle is called the inradius.
+
+The incenter is the point of concurrence of the triangle's angle bisectors. In addition, the points $M_A, M_B, and M_C$ of intersection of the incircle with the sides of $ABC$ are the polygon vertices of the pedal triangle [\ref{ssub:method_imeth_triangle_pedal}] taking the incenter as the pedal point (c.f. tangential triangle [\ref{ssub:method_imeth_triangle_medial}]). This triangle is called the contact triangle.
+
+[\href{https://mathworld.wolfram.com/Incircle.html}{Weisstein, Eric W. "Incircle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\begin{tikzpicture}%
+ [ new/.style ={ color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+ \tkzDrawSegments[dashed,add=0 and .5](I,H)
+ \tkzDrawPoints(A,B,C,E,F,G,I)
+ \tkzDrawCircle(I,H)
+ \tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
+\end{tikzpicture}
+
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new(z.A,z.B,z.C)
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}%
+ [ new/.style ={color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+\tkzDrawSegments[dashed,add=0 and .5](I,H)
+\tkzDrawPoints(A,B,C,E,F,G,I)
+\tkzDrawCircle(I,H)
+\tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
+
+
+% subsubsection method_imeth_triangle_in_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{ex\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_ex__circle}
+
+Given a triangle, extend two sides in the direction opposite their common vertex. The circle tangent to these two lines and to the other side of the triangle is called an excircle, or sometimes an escribed circle. The center of the excircle is called the excenter and lies on the external angle bisector of the opposite angle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .5
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_ex__circle (end)
+
+\subsubsection{Method \Imeth{triangle}{spieker\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_spieker__circle}
+
+In geometry, the incircle of the medial triangle of a triangle is the Spieker circle. Its center is the Spieker center.
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
\begin{tkzelements}
-scale = 2
-z.a = point: new (1,2)
-z.b = point: new (5,1)
-z.c = point: new (3,5)
-T = triangle: new (z.a,z.b,z.c)
-z.i = T.orthocenter
-T.cevian = T : cevian (z.i)
-z.ta,z.tb,z.tc = get_points (T.cevian)
-C.cev = T : cevian_circle (z.i)
-z.w = C.cev.center
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_spieker__circle (end)
+
+\subsubsection{Methods \Imeth{triangle}{cevian} and \Imeth{triangle}{cevian\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_cevian}
+
+A Cevian is a line segment which joins a vertex of a triangle with a point on the opposite side (or its extension). The condition for three general Cevians from the three vertices of a triangle to concur is known as Ceva's theorem.
+
+Picking a Cevian point $P$ in the interior of a triangle $ABC$ and drawing Cevians from each vertex through $P$ to the opposite side produces a set of three intersecting Cevians $APa$, $BPb$, and $CPc$ with respect to that point. The triangle $PaPbPc$ is known as the Cevian triangle of $ABC$ with respect to $P$, and the circumcircle of $PaPbPc$ is similarly known as the Cevian circle. [\href{https://mathworld.wolfram.com/CevianTriangle.html}{Weisstein, Eric W. "Cevian Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[cyan](A,B,C)
+ \tkzDrawSegments[cyan](A,Qb B,Qa)
+ \tkzDrawSegments[red](A,Qa B,Qb C,Q)
+ \tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+ \tkzDrawCircles(w,Pa)
+ \tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+ \tkzLabelPoints(A,B,P,Q,Pc)
+ \tkzLabelPoints[above](C,Qc)
+ \tkzLabelPoints[left](Qb,Pb)
+ \tkzLabelPoints[right](Qa,Pa)
+ \end{tikzpicture}
+\end{center}
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygons[cyan](A,B,C)
+\tkzDrawSegments[cyan](A,Qb B,Qa)
+\tkzDrawSegments[red](A,Qa B,Qb C,Q)
+\tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+\tkzDrawCircles(w,Pa)
+\tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+\tkzLabelPoints(A,B,P,Q,Pc)
+\tkzLabelPoints[above](C,Qc)
+\tkzLabelPoints[left](Qb,Pb)
+\tkzLabelPoints[right](Qa,Pa)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsubsection method_imeth_triangle_cevian (end)
-\subsubsection{Méthodes \Imeth{triangle}{pedal} et \Imeth{triangle}{pedal\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{pedal} and \Imeth{triangle}{pedal\_circle}} % (fold)
\label{ssub:method_imeth_triangle_pedal}
+Given a point $P$, the pedal triangle of $P$ is the triangle whose polygon vertices are the feet of the perpendiculars from $P$ to the side lines.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -334,7 +1467,8 @@ z.w = C.cev.center
\tkzDrawPolygon[red](E,F,G)
\tkzDrawCircle(w,T)
\tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
\tkzDrawSegments(O,E O,F O,G)
\end{tikzpicture}
\end{Verbatim}
@@ -344,7 +1478,7 @@ z.w = C.cev.center
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -352,23 +1486,28 @@ z.w = C.cev.center
z.w = C.pedal.center
z.T = C.pedal.through
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[red](E,F,G)
- \tkzDrawCircle(w,T)
- \tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
- \tkzDrawSegments(O,E O,F O,G)
- \end{tikzpicture}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](E,F,G)
+ \tkzDrawCircle(w,T)
+ \tkzDrawPoints(A,B,C,E,F,G,O)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
+ \tkzDrawSegments(O,E O,F O,G)
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection method_imeth_triangle_pedal (end)
-\subsubsection{Méthodes \Imeth{triangle}{conway\_points} et \Imeth{triangle}{conway\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{conway\_points} and \Imeth{triangle}{conway\_circle}} % (fold)
\label{ssub:method_imeth_triangle_conway}
-En géométrie plane, le théorème du cercle de Conway stipule que lorsque les côtés se rencontrant à chaque sommet d'un triangle sont prolongés par la longueur du côté opposé, les six points d'extrémité des trois segments de droite résultants se trouvent sur un cercle dont le centre est le centre d'incidence du triangle.
+In plane geometry, Conway's circle theorem states that when the sides meeting at each vertex of a triangle are extended by the length of the opposite side, the six endpoints of the three resulting line segments lie on a circle whose centre is the centre of incidence of the triangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -424,9 +1563,557 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
% subsubsection methode_imeth_triangle_conway (end)
+\subsubsection{Methods \Imeth{triangle}{bevan\_circle} and \Imeth{triangle}{bevan\_point} } % (fold)
+\label{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point (end)
+
+
+
+%%%%%% Triangles %%%%%
+
+
+
+\subsubsection{Method \Imeth{triangle}{feuerbach} and method \Imeth{triangle}{feuerbach\_point}} % (fold)
+\label{ssub:method_imeth_triangle_feuerbach}
+
+The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles. (The fact that the excircles touch the nine-point circle is known as Feuerbach's theorem.)
+Refer to \href{https://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach Triangle." From MathWorld--A Wolfram Web Resource.}.
+
+The exinscribed circles of a triangle are tangent to the circle of the nine points of a triangle at points which form the \code{Feuerbach} triangle ($FaFbFc$). The inscribed circle and the circle of nine points are tangent at a point called the Feurerbach point $F$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = .8
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPoints(Ja,Jb,Jc)
+\tkzClipBB
+\tkzFillCircles[green!30,,opacity=.5](N,Fa)
+\tkzFillCircles[lightgray,,opacity=.5](I,F)
+\tkzDrawLines[add=3 and 3](A,B A,C B,C)
+\tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+\tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+\tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+\tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+\begin{tkzelements}
+ scale = .7
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(Ja,Jb,Jc)
+ \tkzClipBB
+ \tkzFillCircles[green!30,,opacity=.5](N,Fa)
+ \tkzFillCircles[lightgray,,opacity=.5](I,F)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+ \tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+ \tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+ \tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+ \end{tikzpicture}
+\end{center}
+
+%subsubsection method_imeth_triangle_feuerbach (end)
+
+
+\subsubsection{Method \Imeth{triangle}{similar}} % (fold)
+\label{ssub:method_imeth_triangle_similar}
+
+The \code{similar} method creates a new triangle whose sides are parallel to the sides of the original triangle and pass through its vertices.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+\hspace*{\fill}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_similar (end)
+
+\subsubsection{Method \Imeth{triangle}{medial}} % (fold)
+\label{ssub:method_imeth_triangle_medial}
+
+The triangle $MaMbMc$ formed by joining the midpoints of the sides of a triangle $ABC$. The medial triangle is sometimes also called the auxiliary triangle (Dixon 1991).
+[\href{https://mathworld.wolfram.com/MedialTriangle.html}{Weisstein, Eric W. "Medial Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_medial (end)
+
+\subsubsection{Method \Imeth{triangle}{incentral} } % (fold)
+\label{ssub:method_incentral}
+
+The incentral triangle $IaIbIc$ is the Cevian triangle of a triangle $ABC$ with respect to its incenter $I$. It is therefore also the triangle whose vertices are determined by the intersections of the reference triangle's angle bisectors with the respective opposite sides.
+[ \href{https://mathworld.wolfram.com/IncentralTriangle.html}{Weisstein, Eric W. "Incentral Triangle." From MathWorld--A Wolfram Web Resource.}
+]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_incentral (end)
+
+
+\subsubsection{Method \Imeth{triangle}{tangential}} % (fold)
+\label{ssub:method_imeth_triangle_tangential}
+
+The tangential triangle is the triangle $TaTbTc$ formed by the lines tangent to the circumcircle of a given triangle DeltaABC at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$. It is also anticevian triangle of $ABC$ with the symmedian point $K$ as the anticevian point (Kimberling 1998, p. 156). Furthermore, the symmedian point $K$ of $ABC$ is the Gergonne point of $TaTbTc$.
+
+The sides of an orthic triangle are parallel to the tangents to the circumcircle at the vertices (Johnson 1929, p. 172). This is equivalent to the statement that each line from a triangle's circumcenter to a vertex is always perpendicular to the corresponding side of the orthic triangle (Honsberger 1995, p. 22), and to the fact that the orthic and tangential triangles are homothetic.
+[ \href{https://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+
+ \begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_tangential (end)
+
+
+\subsubsection{Method \Imeth{triangle}{symmedial}} % (fold)
+\label{ssub:method_imeth_triangle_symmedial}
+
+The symmedial triangle $LaLbLc$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$.
+
+The symmedial circle is the circumcircle of the symmedial triangle.
+
+The following example groups several concepts around the symmedian. As a reminder, a symmedian of a triangle is the reflection of the median with respect to the angle bisector.
+
+The points of contact of the symmedians with the sides of the triangle are obtained using the \code{symmedian} method.
+The intersection of the symmedians is the point known as the \code{Lemoine} or \code{Symmedian} point.
+You can use the triangle methods \code{lemoine\_point} or \code{symmedian\_point}. If you only need one of the lines, you can use the method \code{symmedian\_line(n)}. \(n=0\) corresponds to the line coming from the first vertex of the triangle, \(n=1\) to the second, and so on.
+
+In the next example, $L$ is the \code{Lemoine point} or the \code{Symmedian point}. $LaLbLc$ is the symmedian triangle.[\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(A,B,C)
+\tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+\tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+\tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+\tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+\tkzLabelPoints[above](C,Ka,Ia,Ma)
+\tkzLabelPoints[above left](Kb,Ib,Mb)
+\tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+ \tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+ \tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzLabelPoints[above](C,Ka,Ia,Ma)
+ \tkzLabelPoints[above left](Kb,Ib,Mb)
+ \tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_symmedial (end)
+
+\subsubsection{Method \Imeth{triangle}{anti}} % (fold)
+\label{ssub:method_imeth_triangle_anti}
+
+The anticomplementary triangle is the triangle $TaTbTc$ which has a given triangle $ABC$ as its medial triangle. It is therefore the anticevian triangle with respect to the triangle centroid G (Kimberling 1998, p. 156). [\href{https://mathworld.wolfram.com/AnticomplementaryTriangle.html}{Weisstein, Eric W. "Anticomplementary Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_anti (end)
+
+
\subsubsection{Euler line} % (fold)
\label{ssub:euler_line}
+The line on which the orthocenter $H$, triangle centroid $G$, circumcenter $O$, nine-point center $N$, and a number of other important triangle centers lie.
+[ \href{https://mathworld.wolfram.com/EulerLine.html}{Weisstein, Eric W. "Euler Line." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -468,33 +2155,38 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
z.P,z.Q,z.R = get_points (T.ABC: orthic())
z.K,z.I,z.J = get_points (T.ABC: medial ())
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[blue](O,H)
-\tkzDrawCircle[red](N,I)
-\tkzDrawCircles[teal](O,A)
-\tkzDrawSegments(A,P B,Q C,R)
-\tkzDrawSegments[red](A,I B,J C,K)
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
-\tkzLabelPoints(A,B,C,I,J,K,P,Q,R)
-\tkzLabelPoints[below](N,O,G,H)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[blue](O,H)
+ \tkzDrawCircle[red](N,I)
+ \tkzDrawCircles[teal](O,A)
+ \tkzDrawSegments(A,P B,Q C,R)
+ \tkzDrawSegments[red](A,I B,J C,K)
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
+ \tkzLabelPoints(A,B,J,P,R)
+ \tkzLabelPoints[above](C,I,Q,K)
+ \tkzLabelPoints[below](N,O,G,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection euler_line (end)
\subsection{Euler ellipse} % (fold)
\label{sub:euler_ellipse}
+The Euler ellipse is a conic, tangent to the three sides of a triangle, with the orthocentre and the centre of the circumscribed circle as foci.
Example of obtaining the Euler circle as well as the Euler ellipse.
+\vspace{6pt}
\begin{tkzelements}
z.A = point: new (2,3.8)
z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -512,7 +2204,7 @@ z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -554,21 +2246,22 @@ z.H = T.ABC.orthocenter
\subsubsection{Steiner inellipse and circumellipse} % (fold)
\label{ssub:steiner_inellipse_and_circumellipse}
-In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" (Mathworld.com), respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" [\href{https://mathworld.wolfram.com/SteinerInellipse.html}{Weisstein, Eric W. "Steiner Inellipse." From MathWorld--A Wolfram Web Resource.} and \href{https://mathworld.wolfram.com/SteinerCircumellipse.html}{Weisstein, Eric W. "Steiner Circumellipse." From MathWorld--A Wolfram Web Resource.}], respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
- z.C = point: new (5 , 12)
+ z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
- z.E = E.Fb
+ z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -584,13 +2277,13 @@ In this example, the inner and outer Steiner ellipses, referred to as the "inell
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
-z.C = point: new (5 , 12)
+z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
-z.E = E.Fb
+z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -611,7 +2304,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -628,7 +2321,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -639,9 +2332,17 @@ z.T2 = L.T2.pb
\subsection{Harmonic division and bisector} % (fold)
\label{sub:harmonic_division_and_bisector}
+Let four points $A$, $C$, $B$ and $D$, in this order, lying on the straight line $(d)$ and $M$ un point pris hors de $(d)$. Then, if two of the following three propositions are true, then the third is also true:
+ \begin{enumerate}
+ \item The division (A,B;C,D) is harmonic. ($CA/CB = DA/DB$)
+ \item $(MC)$ is the internal angle bisector of $\widehat{AMB}$.
+ \item $(MD) \perp (MC)$.
+ \end{enumerate}
+
+ \vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
-\begin{tkzelements}
+\begin{tkzelements}
scale = .4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -664,7 +2365,7 @@ z.T2 = L.T2.pb
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
+\begin{tkzelements}
scale =.4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -684,7 +2385,7 @@ z.T2 = L.T2.pb
z.E = intersection (L.LL,L.MC)
z.F = intersection (L.LL,L.MD)
\end{tkzelements}
-\hspace{\fill}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,M)
@@ -719,59 +2420,8 @@ z.T2 = L.T2.pb
\end{Verbatim}
% subsection harmonic_division_and_bisector (end)
-\subsubsection{Method \Imeth{triangle}{cevan}} % (fold)
-\label{ssub:method_imeth_triangle_cevan}
-
-\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
- \end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
-\end{minipage}
-
-
-% subsubsection method_imeth_triangle_cevan (end)
-% subsection methods_of_the_class_triangle (end)
-% section class_triangle (end)
+%
+% % subsection methods_of_the_class_triangle (end)
+% % section class_triangle (end)
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
index b981ef555a..ed1ea77183 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
@@ -41,11 +41,11 @@ z.E = V.AE.head -- we recover the final point (head)
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
-\Iattr{vector}{tail} & |V.AB.t = z.A| & Refer to (\ref{ssub:methods}) \\
-\Iattr{vector}{head} & |V.AB.head = z.B| & Refer to (\ref{ssub:methods}) \\
+\Iattr{vector}{tail} & |V.AB.t = z.A| & [\ref{ssub:methods}]\\
+\Iattr{vector}{head} & |V.AB.head = z.B| & [\ref{ssub:methods}] \\
\Iattr{vector}{type} & |V.AB.type = 'vector'| & \\
-\Iattr{vector}{slope} & |V.AB.slope| & Refer to (\ref{ssub:example_vector_attributes})\\
-\Iattr{vector}{length} & |V.AB.norm|& Refer to (\ref{ssub:example_vector_attributes})\\
+\Iattr{vector}{slope} & |V.AB.slope| & [\ref{ssub:example_vector_attributes}] \\
+\Iattr{vector}{length} & |V.AB.norm|& [\ref{ssub:example_vector_attributes} ]\\
\Iattr{vector}{mtx} & |V.AB.mtx| & The result is a column matrix |{{V.AB.t},{V.AB.h}}|\\
\bottomrule
\end{tabular}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
index 4f46d4a127..284ecca8eb 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
@@ -2,7 +2,65 @@
\section{Examples} % (fold)
\label{sec:examples}
-
+
+\subsection{Length transfer} % (fold)
+\label{sub:report_de_distance}
+
+Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection report_de_distance (end)
+
+
\subsection{D'Alembert 1} % (fold)
\label{sub:d_alembert_1}
@@ -54,15 +112,18 @@ z.Ip = C.Aa : internal_similitude (C.Bb)
z.Jp = C.Aa : internal_similitude (C.Cc)
z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=30]
- \tkzGetNodes
- \tkzDrawCircles(A,a B,b C,c)
- \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
- \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
- \tkzDrawSegments[purple](I,J' I',J I',K)
- \tkzLabelPoints(I,J,K,I',J',K')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=30]
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
+ \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
+ \tkzDrawSegments[purple](I,J' I',J I',K)
+ \tkzLabelPoints(I,J,K,I',J',K')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection d_alembert_1 (end)
@@ -110,14 +171,148 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
z.m,z.n = get_points (C.Bb : radical_axis (C.Cc))
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawLines[new](i,j k,l m,n)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection d_alembert_2 (end)
+
+\subsection{Altshiller} % (fold)
+\label{sub:altshiller}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,a B,b C,c)
-\tkzDrawLines[new](i,j k,l m,n)
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+%subsection altshiller (end)
+
+\subsection{Lemoine} % (fold)
+\label{sub:lemoine}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (1,0)
+ z.B = point: new (5,2)
+ z.C = point: new (1.2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.OA = circle: new (z.O,z.A)
+ L.tA = C.OA: tangent_at (z.A)
+ L.tB = C.OA: tangent_at (z.B)
+ L.tC = C.OA: tangent_at (z.C)
+ z.P = intersection (L.tA,T.bc)
+ z.Q = intersection (L.tB,T.ca)
+ z.R = intersection (L.tC,T.ab)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
\end{tikzpicture}
+\end{Verbatim}
+
\end{minipage}
-% subsection d_alembert_2 (end)
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = .75
+z.A = point: new (1,0)
+z.B = point: new (5,2)
+z.C = point: new (1.2,2)
+T = triangle: new(z.A,z.B,z.C)
+z.O = T.circumcenter
+C.OA = circle: new (z.O,z.A)
+L.tA = C.OA: tangent_at (z.A)
+L.tB = C.OA: tangent_at (z.B)
+L.tC = C.OA: tangent_at (z.C)
+z.R = intersection (L.tC,T.ab)
+z.P = intersection (L.tA,T.bc)
+z.Q = intersection (L.tB,T.ca)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+%\caption{Lemoine line}
+% subsection lemoine (end)
+
\subsection{Alternate} % (fold)
\label{sub:alternate}
@@ -148,7 +343,7 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
z.A = point: new (0 , 0)
@@ -161,21 +356,94 @@ z.D = intersection (L.AI,T.bc)
L.LLC = T.ab: ll_from (z.C)
z.E = intersection (L.AI,L.LLC)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection alternate (end)
+\subsection{Method \Imeth{circle}{common tangent}: orthogonality} % (fold)
+\label{sub:common_tangent_orthogonality}
+For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 4 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.a = point : new ( 1 , 2 )
+ C.Aa = circle : new (z.A,z.a)
+ C.BC = C.Aa : orthogonal_from (z.B)
+ z.C,z.D = intersection (C.Aa,C.BC)
+ C.AC = circle : new (z.A,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.a = point : new ( 1 , 2 )
+C.Aa = circle : new (z.A,z.a)
+C.BC = C.Aa : orthogonal_from (z.B)
+z.C,z.D = intersection (C.Aa,C.BC)
+C.AC = circle : new (z.A,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+ \end{tikzpicture}
+\end{center}
+% subsection common_tangent_orthogonality (end)
+
+
\subsection{Apollonius circle} % (fold)
\label{sub:apollonius_circle}
@@ -215,23 +483,26 @@ scale=.75
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
- \hspace*{\fill}
- \begin{tikzpicture}[scale=.8]
- \tkzGetNodes
- \tkzDrawSegment[add=0 and 1](A,M)
- \tkzDrawSegments[purple](M,C M,D)
- \tkzDrawCircle[purple](O,C)
- \tkzDrawSegments(A,B B,M D,B)
- \tkzDrawPoints(A,B,M,C,D)
- \tkzLabelPoints[below right](A,B,C,D)
- \tkzLabelPoints[above](M)
- \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
- \tkzFillAngles[opacity=.4,purple!20](B,M,E)
- \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
- \tkzMarkAngles[mark=|](A,M,C C,M,B)
- \tkzMarkAngles[mark=||](B,M,D D,M,E)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}[scale=.8]
+ \tkzGetNodes
+ \tkzDrawSegment[add=0 and 1](A,M)
+ \tkzDrawSegments[purple](M,C M,D)
+ \tkzDrawCircle[purple](O,C)
+ \tkzDrawSegments(A,B B,M D,B)
+ \tkzDrawPoints(A,B,M,C,D)
+ \tkzLabelPoints[below right](A,B,C,D)
+ \tkzLabelPoints[above](M)
+ \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
+ \tkzFillAngles[opacity=.4,purple!20](B,M,E)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \tkzMarkAngles[mark=|](A,M,C C,M,B)
+ \tkzMarkAngles[mark=||](B,M,D D,M,E)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
@@ -319,20 +590,23 @@ Remark : The circle can be obtained with:
_,z.N = intersection (C.GA , C.OC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,M)
-\tkzDrawCircles[purple](O,C G,A)
-\tkzDrawSegments[purple](M,D)
-\tkzDrawSegments(D,B O,G M,C)
-\tkzDrawSegments[red,dashed](M,N M,O M,G)
-\tkzDrawPoints(A,B,M,C,D,N,O,G)
-\tkzLabelPoints[below right](A,B,C,D,N,O,G)
-\tkzLabelPoints[above](M)
-\tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,M)
+ \tkzDrawCircles[purple](O,C G,A)
+ \tkzDrawSegments[purple](M,D)
+ \tkzDrawSegments(D,B O,G M,C)
+ \tkzDrawSegments[red,dashed](M,N M,O M,G)
+ \tkzDrawPoints(A,B,M,C,D,N,O,G)
+ \tkzLabelPoints[below right](A,B,C,D,N,O,G)
+ \tkzLabelPoints[above](M)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_and_circle_circumscribed (end)
\subsection{Apollonius circles in a triangle} % (fold)
@@ -414,19 +688,22 @@ L.Bpt = line: new (z.Bp,z.T)
z.O3 = L.Bpt.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
-\tkzDrawSegments[new](B,S C,T A,R)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
-\tkzLabelPoints(A,B,C,A',B',C',O,I)
-\tkzLabelPoints(O1,O2,O3)
-\tkzDrawCircle[purple](O,A)
-\tkzDrawLine(O1,O2)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
+ \tkzDrawSegments[new](B,S C,T A,R)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
+ \tkzLabelPoints(A,B,C,A',B',C',O,I)
+ \tkzLabelPoints(O1,O2,O3)
+ \tkzDrawCircle[purple](O,A)
+ \tkzDrawLine(O1,O2)
+ \end{tikzpicture}
+\end{center}
+
+
Same result using the function |T.ABC.ab : apollonius (k) |
@@ -493,15 +770,18 @@ Same result using the function |T.ABC.ab : apollonius (k) |
C = circle: new (z.O_2,z.A)
z.C,z.D = intersection (L ,C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,A O_2,A)
-\tkzDrawSegments[new](O_1,A E,F C,D)
-\tkzDrawSegments[purple](A,E A,F)
-\tkzDrawPoints(A,O_1,O_2,E,F,C,D)
-\tkzLabelPoints(A,O_1,O_2,E,F,C,D)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,A O_2,A)
+ \tkzDrawSegments[new](O_1,A E,F C,D)
+ \tkzDrawSegments[purple](A,E A,F)
+ \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
+ \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection archimedes (end)
@@ -615,30 +895,156 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.O_5 = T.CP1P2.circumcenter
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawCircle[fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSegments(A,B O_0,P' B,P A,Q)
+ \tkzDrawSegments(P,B Q,O_2 P,O_1)
+ \tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
+ \tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
+ \tkzLabelPoints[above](Q,P)
+ \tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
+ \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
+ \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
+
+% subsection bankoff_circle (end)
+
+\subsection{Symmedian property} % (fold)
+\label{sub:example_symmedian_property}
+
+$L$ is the symmedian point or lemoine point. $\dfrac{CL}{CLc} = \dfrac{a^2+b^2}{a^2+b^2+c^2}$
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsection example_symmedian_property (end)
+
+\subsection{Example: Cevian with orthocenter} % (fold)
+\label{sub:example_cevian_with_orthocenter}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawCircle[fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSegments(A,B O_0,P' B,P A,Q)
-\tkzDrawSegments(P,B Q,O_2 P,O_1)
-\tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
-\tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
-\tkzLabelPoints[above](Q,P)
-\tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
-\begin{scope}[font=\scriptsize]
- \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
- \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
- \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
- \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
- \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
-\end{scope}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
\end{tikzpicture}
-\hspace*{\fill}
-% subsection bankoff_circle (end)
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.a = point: new (1,2)
+z.b = point: new (5,1)
+z.c = point: new (3,5)
+T = triangle: new (z.a,z.b,z.c)
+z.i = T.orthocenter
+T.cevian = T : cevian (z.i)
+z.ta,z.tb,z.tc = get_points (T.cevian)
+C.cev = T : cevian_circle (z.i)
+z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsection example_cevian_with_orthocenter (end)
\subsection{Excircles} % (fold)
\label{sub:excircles}
@@ -693,73 +1099,33 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.G = intersection (la,lb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints[new](J_a,J_b,J_c)
-\tkzClipBB
-\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawLines[add=1 and 1](A,B B,C C,A)
-\tkzDrawSegments[new](A,T_a B,T_b C,T_c)
-\tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPolygon[new](T_a,T_b,T_c)
-\tkzDrawPoints(A,B,C,K)
-\tkzDrawPoints[new](T_a,T_b,T_c)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[below](B)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints[new,below left](T_b)
-\tkzLabelPoints[new,below right](T_c)
-\tkzLabelPoints[new,right=6pt](T_a)
-\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection excircles (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints[new](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawLines[add=1 and 1](A,B B,C C,A)
+ \tkzDrawSegments[new](A,T_a B,T_b C,T_c)
+ \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](T_a,T_b,T_c)
+ \tkzDrawPoints(A,B,C,K)
+ \tkzDrawPoints[new](T_a,T_b,T_c)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[below](B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[new,below left](T_b)
+ \tkzLabelPoints[new,below right](T_c)
+ \tkzLabelPoints[new,right=6pt](T_a)
+ \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection excircles (end)
-\subsection{Orthogonal circle through} % (fold)
-\label{sub:orthogonal_circle_through}
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzDrawCircle[new](c,z1)
- \tkzDrawPoints[new](O,A,z1,z2,c)
- \tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawCircle[orange](c,z1)
-\tkzDrawPoints[orange](O,A,z1,z2,c)
-\tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection orthogonal_circle_through (end)
\subsection{Divine ratio} % (fold)
\label{sub:divine_ratio}
@@ -826,16 +1192,19 @@ L.BG = line: new (z.B,z.G)
z.L = intersection (L.AR,L.BG)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(A,C,E,F A,B,G,H)
-\tkzDrawCircles(O_1,C O_2,B O_0,B)
-\tkzDrawSegments(H,C B,K A,L)
-\tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,C,E,F A,B,G,H)
+ \tkzDrawCircles(O_1,C O_2,B O_0,B)
+ \tkzDrawSegments(H,C B,K A,L)
+ \tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection divine_ratio (end)
\subsection{Director circle} % (fold)
@@ -893,19 +1262,22 @@ z.J = L.J.pb
z.K = L.K.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(F1,F2,O)
-\tkzDrawCircles[teal](O,P)
-\tkzDrawPolygon(H,O,A,P)
-\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
-\tkzDrawSegments[orange](O,P O,L L,J L,K)
-\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints[above](L)
-\tkzMarkRightAngles(A,P,H J,L,K)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(F1,F2,O)
+ \tkzDrawCircles[teal](O,P)
+ \tkzDrawPolygon(H,O,A,P)
+ \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
+ \tkzDrawSegments[orange](O,P O,L L,J L,K)
+ \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints[above](L)
+ \tkzMarkRightAngles(A,P,H J,L,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection director_circle (end)
@@ -961,18 +1333,21 @@ z.C = intersection (L.EG,L.AB)
z.O = C.AB: antipode (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawArc[delta=5](O,B)(G)
- \tkzDrawCircles(A,B B,A)
- \tkzDrawSegments(A,E B,E O,I)
- \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
- \tkzMarkSegments[mark=s||](A,E B,E O,A)
- \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
- \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
-\end{tikzpicture}
- \hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc[delta=5](O,B)(G)
+ \tkzDrawCircles(A,B B,A)
+ \tkzDrawSegments(A,E B,E O,I)
+ \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
+ \tkzMarkSegments[mark=s||](A,E B,E O,A)
+ \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
+ \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection gold_division (end)
\subsection{Ellipse} % (fold)
@@ -1014,15 +1389,17 @@ b = E.Ry
slope = math.deg(E.slope)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](C,A)
-\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
-\tkzDrawPoints(C,A,B,b)
-\tkzLabelPoints(C,A,B)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](C,A)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
+ \tkzDrawPoints(C,A,B,b)
+ \tkzLabelPoints(C,A,B)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse (end)
@@ -1060,12 +1437,15 @@ z.V = E : point (0)
z.CoV = E : point (math.pi/2)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\tkzDrawPoints(C,V,CoV)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(C,V,CoV)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection ellipse_with_radii (end)
@@ -1122,15 +1502,18 @@ z.F = L.ta.pb
z.G = L.tb.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(A,B,C,K,F,G,V,cV)
- \tkzLabelPoints(A,B,C,K,F,G,V,cV)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,K,F,G,V,cV)
+ \tkzLabelPoints(A,B,C,K,F,G,V,cV)
\tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines(K,F K,G)
-\end{tikzpicture}
- \hspace*{\fill}
+ \tkzDrawLines(K,F K,G)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse_with_foci (end)
@@ -1184,19 +1567,21 @@ L.Ow = line : new (z.O,z.w)
_,z.E = intersection (L.Ow, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawArc(J,X)(Y)
-\tkzDrawCircles(I,H O,A)
-\tkzDrawCircle[red](w,I)
-\tkzDrawLines(Y,C A,B X,C E,w E,B)
-\tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
-\tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
-\tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
-\tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawCircles(I,H O,A)
+ \tkzDrawCircle[red](w,I)
+ \tkzDrawLines(Y,C A,B X,C E,w E,B)
+ \tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
+ \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
+ \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection euler_relation (end)
@@ -1242,20 +1627,23 @@ z.D = intersection (T.ext.ab,T.ABC.ab)
z.E = z.C: symmetry (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple,add=0 and .5](B,C)
-\tkzDrawSegment[purple](A,D)
-\tkzDrawSegment[orange](C,D)
-\tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
-\tkzMarkAngles[mark=|](D,C,A E,C,D)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints(A,B,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple,add=0 and .5](B,C)
+ \tkzDrawSegment[purple](A,D)
+ \tkzDrawSegment[orange](C,D)
+ \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
+ \tkzMarkAngles[mark=|](D,C,A E,C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints(A,B,D)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection external_angle (end)
@@ -1304,19 +1692,22 @@ L.LL = T.ab: ll_from (z.C)
L.AD = line: new (z.A,z.D)
z.E = intersection (L.LL,L.AD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection internal_angle (end)
@@ -1392,18 +1783,20 @@ L.LH = line: new (z.L,z.H)
z.F = intersection (L.LH,C.IH) -- feuerbach
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawLine(L,F)
-\tkzDrawCircle[red](N,A')
-\tkzDrawCircle[blue](I,H)
-\tkzDrawCircles[teal](O,A L,C')
-\tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
-\tkzDrawPolygons(A,B,C A',B',C')
-\tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawLine(L,F)
+ \tkzDrawCircle[red](N,A')
+ \tkzDrawCircle[blue](I,H)
+ \tkzDrawCircles[teal](O,A L,C')
+ \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
+ \tkzDrawPolygons(A,B,C A',B',C')
+ \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection nine_points (end)
@@ -1448,15 +1841,17 @@ L.AK = line: new (z.Y,z.K)
z.C = intersection (L.AK,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B X,K)
-\tkzDrawLine[teal](Y,K)
-\tkzDrawPoints(A,B,C,X,Y,M,K)
-\tkzDrawArc[delta=20](M,A)(K)
-\tkzLabelPoints(A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B X,K)
+ \tkzDrawLine[teal](Y,K)
+ \tkzDrawPoints(A,B,C,X,Y,M,K)
+ \tkzDrawArc[delta=20](M,A)(K)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection gold_ratio_with_segment (end)
@@ -1502,13 +1897,15 @@ L.AB = line: new (z.A,z.B)
z.O_0 = L.AB.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
-\tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
-\tkzLabelPoints[below right](A,C,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
+ \tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
+ \tkzLabelPoints[below right](A,C,B)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection gold_arbelos (end)
@@ -1554,15 +1951,16 @@ z.O_0 = L.AB.mid
L.GF = line :new (z.G,z.F)
z.C = intersection (L.GF,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
- \tkzDrawPoints(A,B,G,E,F,C,D)
- \tkzLabelPoints(A,B,G,E,F,C,D)
- \tkzMarkSegments(F,B B,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
+ \tkzDrawPoints(A,B,G,E,F,C,D)
+ \tkzLabelPoints(A,B,G,E,F,C,D)
+ \tkzMarkSegments(F,B B,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection harmonic_division_v1 (end)
@@ -1616,13 +2014,15 @@ L.GX = line: new (z.G,z.X)
z.C = intersection (L.GX,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
-\tkzDrawPoints(A,...,G,X)
-\tkzLabelPoints(A,...,G,X)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
+ \tkzDrawPoints(A,...,G,X)
+ \tkzLabelPoints(A,...,G,X)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection harmonic_division_v2 (end)
@@ -1666,390 +2066,21 @@ z.Q = intersection (L.AC,L.PX)
z.R = intersection (L.BC,L.PX)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[new](P,R)
-\tkzDrawLines(P,B A,C B,C)
-\tkzDrawPoints(P,Q,R,A,B,C)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection menelaus (end)
-
-\subsection{Radical axis v1} % (fold)
-\label{sub:radical_axis_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(X,B Y,A')
- \tkzDrawArc[dashed,delta=30](O,A')(A)
- \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
- \tkzDrawLines[red](A,M A',M X,Y E,F)
- \tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(X,B Y,A')
-\tkzDrawArc[dashed,delta=30](O,A')(A)
-\tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
-\tkzDrawLines[red](A,M A',M X,Y E,F)
-\tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-% subsection radical_axis_v1 (end)
-
-\subsection{Radical axis v2} % (fold)
-\label{sub:radical_axis_v2}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = 1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',D)
- \tkzDrawLine(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
- \tkzDrawCircle(M,T)
- \tkzDrawPoints(O,O',T,M,T',K,K')
- \tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale =1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v2 (end)
-
-\subsection{Radical axis v3} % (fold)
-\label{sub:radical_axis_v3}
-
-\begin{Verbatim}
- \begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (4,0)
- z.Op = point : new (6,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.M = L.EF : point (0.2)
- L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawPoints(O,B,O',E,F,M,T,T')
- \tkzLabelPoints(O,O',B,E,F,T,T')
- \tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.B = point : new (4,0)
-z.Op = point : new (6,0)
-C.OB = circle : new (z.O,z.B)
-C.OpB = circle : new (z.Op,z.B)
-L.EF = C.OB : radical_axis (C.OpB)
-z.E,z.F = get_points(L.EF)
-z.M = L.EF : point (0.2)
-L = C.OB : tangent_from (z.M)
-_,z.T = get_points (L)
-L = C.OpB : tangent_from (z.M)
-_,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',B)
-\tkzDrawSegments(M,T M,T')
-\tkzDrawSegments(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawPoints(O,B,O',E,F,M,T,T')
-\tkzLabelPoints(O,O',B,E,F,T,T')
-\tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v3 (end)
-
-\subsection{Radical axis v4} % (fold)
-\label{sub:radical_axis_v4}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v4 (end)
-
-\subsection{Radical center} % (fold)
-\label{sub:radical_center}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.x = point : new (1,0)
- z.y = point : new (4,0)
- z.z = point : new (2,0)
- z.Op = point : new (4,2)
- z.P = point : new (2,2.5)
- C.Ox = circle : new (z.O,z.x)
- C.Pz = circle : new (z.P,z.z)
- C.Opy = circle : new (z.Op,z.y)
- z.ap,z.a = intersection (C.Ox,C.Pz)
- z.bp,z.b = intersection (C.Opy,C.Pz)
- L.aap = line : new (z.a,z.ap)
- L.bbp = line : new (z.b,z.bp)
- z.X = intersection (L.aap,L.bbp)
--- or z.X = radical_center(C.Ox,C.Pz,C.Opy)
- L.OOp = line : new (z.O,z.Op)
- z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,a O',b P,z)
- \tkzDrawLines[red](a,X b',X H,X O,O')
- \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
- \tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.x = point : new (1,0)
-z.y = point : new (4,0)
-z.z = point : new (2,0)
-z.Op = point : new (4,2)
-z.P = point : new (2,2.5)
-C.Ox = circle : new (z.O,z.x)
-C.Pz = circle : new (z.P,z.z)
-C.Opy = circle : new (z.Op,z.y)
-z.ap,z.a = intersection (C.Ox,C.Pz)
-z.bp,z.b = intersection (C.Opy,C.Pz)
-L.aap = line : new (z.a,z.ap)
-L.bbp = line : new (z.b,z.bp)
-z.X = intersection (L.aap,L.bbp)
-L.OOp = line : new (z.O,z.Op)
-z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,a O',b P,z)
-\tkzDrawLines[red](a,X b',X H,X O,O')
-\tkzDrawPoints(O,O',P,a,a',b,b',X,H)
-\tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{minipage}
-% subsection radical_center (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[new](P,R)
+ \tkzDrawLines(P,B A,C B,C)
+ \tkzDrawPoints(P,Q,R,A,B,C)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \end{tikzpicture}
+\end{center}
-\subsection{Radical circle} % (fold)
-\label{sub:radical_circle}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
+% subsection menelaus (end)
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\hspace*{\fill}
-
-% subsection radical_circle (end)
\subsection{Euler ellipse} % (fold)
\label{sub:hexagram}
@@ -2136,21 +2167,22 @@ _,z.W = intersection (L.ZO,E)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircles[red](N,Ma O,A)
-\tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
-\tkzDrawPolygon[red](U,V,W)
-\tkzLabelPoints[red](U,V,W)
-\tkzLabelPoints(A,B,C,X,Y,Z)
-\tkzDrawLine[blue](I,J)
-\tkzLabelPoints[blue,right](O,N,G,H,I,J)
-\tkzDrawPoints(I,J,U,V,W)
-\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
-\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[red](N,Ma O,A)
+ \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
+ \tkzDrawPolygon[red](U,V,W)
+ \tkzLabelPoints[red](U,V,W)
+ \tkzLabelPoints(A,B,C,X,Y,Z)
+ \tkzDrawLine[blue](I,J)
+ \tkzLabelPoints[blue,right](O,N,G,H,I,J)
+ \tkzDrawPoints(I,J,U,V,W)
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \end{tikzpicture}
+\end{center}
\end{minipage}
\begin{Verbatim}
@@ -2165,8 +2197,8 @@ _,z.W = intersection (L.ZO,E)
\tkzDrawLine[blue](I,J)
\tkzLabelPoints[blue,right](O,N,G,H,I,J)
\tkzDrawPoints(I,J,U,V,W)
- \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
- \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\end{Verbatim}
@@ -2256,36 +2288,39 @@ z.O = C.DC : inversion (z.W)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](O_1,B)
-\tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
-\tkzDrawArc[purple,delta=0](D,V)(U)
-\tkzDrawCircle[new](O_7,C)
-\tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
-\tkzDrawSegments[thin,red](O,D A,O O,B)
-\tkzDrawPoints(A,B,C,D,O_7) %,
-\tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
-\tkzDrawSegments[cyan](O_3,S O_2,R)
-\tkzDrawSegments[very thin](A,B)
-\tkzDrawSegments[cyan,thin](C,U U,D)
-\tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
- D,S,C D,W,V O_3,S,U O_2,R,U)
-\tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
- C,D,B D,C,R B,C,S A,R,O_2)
-\tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
- D,B,C R,C,A O_3,S,B)
-\tkzLabelPoints[below](C,O_2,O_3,O_1)
-\tkzLabelPoints[above](D)
-\tkzLabelPoints[below](O)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[above left](R)
-\tkzLabelPoints[above right](S)
-\tkzLabelPoints[left](V)
-\tkzLabelPoints[below right](B,U,W,O_7)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](O_1,B)
+ \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
+ \tkzDrawArc[purple,delta=0](D,V)(U)
+ \tkzDrawCircle[new](O_7,C)
+ \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
+ \tkzDrawSegments[thin,red](O,D A,O O,B)
+ \tkzDrawPoints(A,B,C,D,O_7) %,
+ \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
+ \tkzDrawSegments[cyan](O_3,S O_2,R)
+ \tkzDrawSegments[very thin](A,B)
+ \tkzDrawSegments[cyan,thin](C,U U,D)
+ \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
+ D,S,C D,W,V O_3,S,U O_2,R,U)
+ \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
+ C,D,B D,C,R B,C,S A,R,O_2)
+ \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
+ D,B,C R,C,A O_3,S,B)
+ \tkzLabelPoints[below](C,O_2,O_3,O_1)
+ \tkzLabelPoints[above](D)
+ \tkzLabelPoints[below](O)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[above right](S)
+ \tkzLabelPoints[left](V)
+ \tkzLabelPoints[below right](B,U,W,O_7)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
\begin{Verbatim}
@@ -2379,25 +2414,27 @@ z.O = C.DC : inversion (z.W)
z.xa,z.xb,z.xc = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
-\tkzDrawCircles[red](O,xa N,Ea)
-\tkzFillCircles[green!30!black,opacity=.3](O,xa)
-\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[teal!30!black,opacity=.3](S,a)
-\tkzFillCircles[green!30,opacity=.3](N,Ea)
-\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
-\tkzClipCircle(O,xa)
-\tkzDrawLines[add=3 and 3](A,B A,C B,C)
-\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzDrawCircles[teal](S,a)
-\tkzDrawPoints(A,B,C,O)
-\tkzDrawPoints[teal](S)
-\tkzLabelPoints(A,B,C,O,S,N)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[red](O,xa N,Ea)
+ \tkzFillCircles[green!30!black,opacity=.3](O,xa)
+ \tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[teal!30!black,opacity=.3](S,a)
+ \tkzFillCircles[green!30,opacity=.3](N,Ea)
+ \tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
+ \tkzClipCircle(O,xa)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzDrawCircles[teal](S,a)
+ \tkzDrawPoints(A,B,C,O)
+ \tkzDrawPoints[teal](S)
+ \tkzLabelPoints(A,B,C,O,S,N)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_circle_v1_with_inversion (end)
\subsection{Apollonius circle v2} % (fold)
@@ -2472,82 +2509,24 @@ L.MaS = line: new (z.Ma,z.S)
z.t = intersection (L.ox,L.MaS) -- through
\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[add=1 and 1](A,B A,C B,C)
-\tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
-\tkzClipCircle(o,t)
-\tkzDrawLines[red](o,L N,o Ma,t)
-\tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
-\tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
-\tkzDrawPoints[red](N,O,L,S,o,t)
-\tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
+ \tkzClipCircle(o,t)
+ \tkzDrawLines[red](o,L N,o Ma,t)
+ \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
+ \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
+ \tkzDrawPoints[red](N,O,L,S,o,t)
+ \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
+ \end{tikzpicture}
+\end{center}
% subsection apollonius_circle_v2 (end)
-\subsection{Orthogonal circles v1} % (fold)
-\label{sub:orthogonal_circles_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .6
- z.C_1 = point: new (0,0)
- z.C_2 = point: new (8,0)
- z.A = point: new (5,0)
- C = circle: new (z.C_1,z.A)
- z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(C_1,T C_2,T)
- \tkzDrawSegments(C_1,T C_2,T)
- \tkzDrawLine(C_1,C_2)
- \tkzMarkRightAngle[fill=teal,%
- opacity=.2,size=1](C_1,T,C_2)
- \tkzDrawPoints(C_1,C_2,T)
- \tkzLabelPoints(C_1,C_2)
- \tkzLabelPoints[above](T)
- \tkzLabelSegment[left](C_1,T){r}
- \tkzLabelSegments[right](C_2,T){$\gamma$}
- \tkzLabelSegment[below](C_1,C_2){d}
- \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
- \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .6
-z.C_1 = point: new (0,0)
-z.C_2 = point: new (8,0)
-z.A = point: new (5,0)
-C = circle: new (z.C_1,z.A)
-z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_1,T C_2,T)
-\tkzDrawSegments(C_1,T C_2,T)
-\tkzDrawLine(C_1,C_2)
-\tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
-\tkzDrawPoints(C_1,C_2,T)
-\tkzLabelPoints(C_1,C_2)
-\tkzLabelPoints[above](T)
-\tkzLabelSegment[left](C_1,T){r}
-\tkzLabelSegments[right](C_2,T){$\gamma$}
-\tkzLabelSegment[below](C_1,C_2){d}
-\tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
-\tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection orthogonal_circles_v1 (end)
-
-\subsection{Orthogonal circles v2} % (fold)
+\subsection{Orthogonal circles} % (fold)
\label{sub:orthogonal_circles_v2}
\begin{Verbatim}
@@ -2602,24 +2581,26 @@ L.OOp = line : new (z.O,z.Op)
z.M = L.OOp.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[red](O,P)
-\tkzDrawCircle[purple](O',z1)
-\tkzDrawCircle[cyan](M,T)
-\tkzDrawSegments(O',T O,T' O',T')
-\tkzDrawSegment[purple](O',T)
-\tkzDrawSegments[red](O,T O,O')
-\tkzDrawPoints(O,O',T,T',M)
-\tkzMarkRightAngle[fill=gray!10](O',T,O)
-\tkzLabelPoint[below](O){$O$}
-\tkzLabelPoint[above](T){$T$}
-\tkzLabelPoint[above](M){$M$}
-\tkzLabelPoint[below](T'){$T'$}
-\tkzLabelPoint[above left](O'){$O'$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[red](O,P)
+ \tkzDrawCircle[purple](O',z1)
+ \tkzDrawCircle[cyan](M,T)
+ \tkzDrawSegments(O',T O,T' O',T')
+ \tkzDrawSegment[purple](O',T)
+ \tkzDrawSegments[red](O,T O,O')
+ \tkzDrawPoints(O,O',T,T',M)
+ \tkzMarkRightAngle[fill=gray!10](O',T,O)
+ \tkzLabelPoint[below](O){$O$}
+ \tkzLabelPoint[above](T){$T$}
+ \tkzLabelPoint[above](M){$M$}
+ \tkzLabelPoint[below](T'){$T'$}
+ \tkzLabelPoint[above left](O'){$O'$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection orthogonal_circles_v2 (end)
%
\subsection{Orthogonal circle to two circles} % (fold)
@@ -2674,19 +2655,22 @@ z.Tp = L.Tp.pb
z.Kp = L.Kp.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine[cyan](E,F)
-\tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
-\tkzDrawSegments[cyan](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',M,K,K')
-\end{tikzpicture}
-\hspace*{\fill}
-% \subsection{Orthogonal to two circles} % (fold)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine[cyan](E,F)
+ \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
+ \tkzDrawSegments[cyan](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',M,K,K')
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection Orthogonal to two circles (fold)
\subsection{Midcircles} % (fold)
\label{sub:midcircles}
@@ -2738,36 +2722,39 @@ z.Ap = z.M_1: symmetry (z.A)
z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[thin,fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawSemiCircles[color = orange](M_2,B)
-\tkzDrawSemiCircles[color = orange](M_1,A')
-\tkzDrawArc[purple,delta=0](M_0,P_0)(C)
-\tkzDrawSegments[very thin](A,B A,P B,Q)
-\tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
-\tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
-\tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
-\tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
-\tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
-\tkzLabelPoints[above](P_0,O_5,O_4)
-\tkzLabelPoints[above](P_1,J)
-\tkzLabelPoints[above](P_2,P,Q,S)
-\tkzLabelPoints[above right](H,E)
-\tkzLabelPoints[above left](F,G)
-\tkzLabelPoints[below right](H_0)
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
-\tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
-\tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[thin,fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawSemiCircles[color = orange](M_2,B)
+ \tkzDrawSemiCircles[color = orange](M_1,A')
+ \tkzDrawArc[purple,delta=0](M_0,P_0)(C)
+ \tkzDrawSegments[very thin](A,B A,P B,Q)
+ \tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
+ \tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
+ \tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
+ \tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
+ \tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
+ \tkzLabelPoints[above](P_0,O_5,O_4)
+ \tkzLabelPoints[above](P_1,J)
+ \tkzLabelPoints[above](P_2,P,Q,S)
+ \tkzLabelPoints[above right](H,E)
+ \tkzLabelPoints[above left](F,G)
+ \tkzLabelPoints[below right](H_0)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
@@ -2900,18 +2887,20 @@ z.xp,z.yp = get_points (C.C0A : orthogonal_from (z.M_1))
z.O = L.BA.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
-\tkzDrawCircles[thick,color=red](M_0,x M_1,x')
-\tkzDrawCircles[thick,color=blue](O,A)
-\tkzDrawLines(C_0,C_1 B,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
+ \tkzDrawCircles[thick,color=red](M_0,x M_1,x')
+ \tkzDrawCircles[thick,color=blue](O,A)
+ \tkzDrawLines(C_0,C_1 B,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection pencil_v1 (end)
\subsection{Pencil v2} % (fold)
@@ -2967,123 +2956,20 @@ z.O = L.BA.mid
z.t = C.orth2.through
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,B)
-\tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
-\tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
-%subsection pencil_v2 (end)
-
-\subsection{Power v1} % (fold)
-\label{sub:power_v1}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,-2)
- z.M = point : new (-6,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B)
- \tkzDrawPoints(O,A,A',M,B)
- \tkzLabelPoints(O,A,A',M,B)
- \tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,-2)
-z.M = point : new (-6,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B)
-\tkzDrawPoints(O,A,A',M,B)
-\tkzLabelPoints(O,A,A',M,B)
-\tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v1 (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,B)
+ \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
+ \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Power v2} % (fold)
-\label{sub:power_v2}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,2)
- z.M = point : new (-1.5,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- _,z.B = intersection (L.AM, C.OA)
- z.m = z.M : north(1)
- L.mM = line : new (z.m,z.M)
- z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B A,B U,V)
- \tkzDrawPoints(O,A,A',M,B,U,V,m)
- \tkzLabelPoints(O,A,M,U,V,m)
- \tkzLabelPoints[below left](A',B)
- \tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,2)
-z.M = point : new (-1.5,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-_,z.B = intersection (L.AM, C.OA)
-z.m = z.M : north(1)
-L.mM = line : new (z.m,z.M)
-z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
+%subsection pencil_v2 (end)
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B A,B U,V)
-\tkzDrawPoints(O,A,A',M,B,U,V,m)
-\tkzLabelPoints(O,A,M,U,V,m)
-\tkzLabelPoints[below left](A',B)
-\tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v2 (end)
\subsection{Reim v1} % (fold)
\label{sub:reim_v1}
@@ -3137,22 +3023,25 @@ z.U,z.V = intersection (L.mM,C.OA)
z.O = intersection (L.EC,L.FD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,E B,H)
-\tkzDrawSegments(E,D C,F)
-\tkzDrawLines(E,O F,O)
-\tkzDrawLines[red](E,F H,G)
-\tkzDrawPoints(A,...,H,O)
-\tkzLabelPoints(A,B,D,F,G,O)
-\tkzLabelPoints[above](E,C,H)
-\tkzMarkAngles[size=.5](E,C,F E,D,F)
-\tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
-\tkzMarkAngles[size=.5](F,C,H G,D,E)
-\tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,E B,H)
+ \tkzDrawSegments(E,D C,F)
+ \tkzDrawLines(E,O F,O)
+ \tkzDrawLines[red](E,F H,G)
+ \tkzDrawPoints(A,...,H,O)
+ \tkzLabelPoints(A,B,D,F,G,O)
+ \tkzLabelPoints[above](E,C,H)
+ \tkzMarkAngles[size=.5](E,C,F E,D,F)
+ \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
+ \tkzMarkAngles[size=.5](F,C,H G,D,E)
+ \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v1 (end)
\subsection{Reim v2} % (fold)
@@ -3200,19 +3089,22 @@ z.m,z.mp = get_points (C.AC: tangent_at (z.M))
z.n,z.np = get_points (C.BC: tangent_at (z.N))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
-\tkzDrawSegment(M,N)
-\tkzDrawPoints(A,B,C,M,N)
-\tkzLabelPoints[below right](A,B,C,M,N)
-\tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
-\tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
+ \tkzDrawSegment(M,N)
+ \tkzDrawPoints(A,B,C,M,N)
+ \tkzLabelPoints[below right](A,B,C,M,N)
+ \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v2 (end)
\subsection{Reim v3} % (fold)
@@ -3282,21 +3174,23 @@ z.n,z.np = get_points (C.BC: tangent_at (z.N))
z.D = intersection (L.KO,C.zO)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments(K,D D,C)
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircles[orange](x,A y,B z,C)
-\tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
-\tkzLabelPoints[below](A,B,J,K,O)
-\tkzLabelPoints[above](C,D,I)
-\tkzDrawPoints[fill=black](O)
-\tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(K,D D,C)
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircles[orange](x,A y,B z,C)
+ \tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
+ \tkzLabelPoints[below](A,B,J,K,O)
+ \tkzLabelPoints[above](C,D,I)
+ \tkzDrawPoints[fill=black](O)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v3 (end)
\subsection{Tangent and circle} % (fold)
@@ -3339,14 +3233,17 @@ z.i = L.Ti.pb
z.j = L.Tj.pb
z.k,z.l = get_points (C.AB: tangent_at (z.B))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,B M,A)
-\tkzDrawPoints(A,B,E,i,j,M,S)
-\tkzDrawLines(E,i E,j k,l)
-\tkzLabelPoints[right,font=\small](A,B,E,S,M)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,B M,A)
+ \tkzDrawPoints(A,B,E,i,j,M,S)
+ \tkzDrawLines(E,i E,j k,l)
+ \tkzLabelPoints[right,font=\small](A,B,E,S,M)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_circle (end)
@@ -3377,13 +3274,16 @@ z.B = point: new (1,2)
z.E = point: new (-3,2)
z.C,z.D = z.E : homothety(2,z.A,z.B)
\end{tkzelements}
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C,E,D)
-\tkzLabelPoints(A,B,C,E)
-\tkzDrawCircles(A,B C,D)
-\tkzDrawLines(E,C E,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,E,D)
+ \tkzLabelPoints(A,B,C,E)
+ \tkzDrawCircles(A,B C,D)
+ \tkzDrawLines(E,C E,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection homothety (end)
@@ -3436,18 +3336,21 @@ z.b1,z.b2 = get_points (C.OA: tangent_at (z.B))
z.H = L.AB: projection (z.O)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawSegments[new](A,O B,O O,H A,D D,B)
-\tkzDrawLine(b1,b2)
-\tkzDrawPoints(A,B,C,D,H,O)
-\tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
-\tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
-\tkzLabelPoints(A,B,C,D,H,O)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegments[new](A,O B,O O,H A,D D,B)
+ \tkzDrawLine(b1,b2)
+ \tkzDrawPoints(A,B,C,D,H,O)
+ \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
+ \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
+ \tkzLabelPoints(A,B,C,D,H,O)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_chord (end)
@@ -3541,26 +3444,26 @@ z.Cp,_ = intersection (L.GD,C.xD)
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\hspace*{\fill}
-\begin{tikzpicture}[scale=.75]
-\tkzGetNodes
-\tkzDrawCircles(O,B)
-\tkzDrawCircles[cyan](P,B)
-\tkzDrawCircles[red](w,E)
-\tkzDrawCircles[new](x,F)
-\tkzDrawSegments(A,G E,G C,G)
-\tkzDrawPolygons[new](A,E,C A',E',C')
-\tkzDrawPoints(A,...,G,A',E',C',O,P)
-\begin{scope}[font=\scriptsize]
- \tkzLabelPoints(A,...,F)
- \tkzLabelPoints[above left](G,A',E',C')
- \tkzLabelCircle[left](O,B)(30){$(\beta)$}
- \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
- \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
- \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
-\end{scope}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}[scale=.75]
+ \tkzGetNodes
+ \tkzDrawCircles(O,B)
+ \tkzDrawCircles[cyan](P,B)
+ \tkzDrawCircles[red](w,E)
+ \tkzDrawCircles[new](x,F)
+ \tkzDrawSegments(A,G E,G C,G)
+ \tkzDrawPolygons[new](A,E,C A',E',C')
+ \tkzDrawPoints(A,...,G,A',E',C',O,P)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelPoints(A,...,F)
+ \tkzLabelPoints[above left](G,A',E',C')
+ \tkzLabelCircle[left](O,B)(30){$(\beta)$}
+ \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
+ \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_chords (end)
@@ -3620,19 +3523,20 @@ L.TA = C.wE : tangent_at (z.A)
L.TC = C.xE : tangent_at (z.C)
z.I = intersection (L.TA,L.TC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(w,E)
-\tkzDrawCircles[cyan](x,E)
-\tkzDrawCircles[red](G,A)
-\tkzDrawLines(A,I C,I F,I)
-\tkzDrawPoints(A,C,E,F)
-\tkzLabelPoints[right](A)
-\tkzLabelPoints[above right](E,F)
-\tkzLabelPoints[below](C)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(w,E)
+ \tkzDrawCircles[cyan](x,E)
+ \tkzDrawCircles[red](G,A)
+ \tkzDrawLines(A,I C,I F,I)
+ \tkzDrawPoints(A,C,E,F)
+ \tkzLabelPoints[right](A)
+ \tkzLabelPoints[above right](E,F)
+ \tkzLabelPoints[below](C)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_tangents (end)
@@ -3665,15 +3569,16 @@ C.AB = circle: new (z.A,z.B)
z.C = z.A: rotation (math.pi/3,z.B)
z.D = C.AB: midarc (z.B,z.C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C)
-\tkzDrawCircles(A,B)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints(A,...,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawCircles(A,B)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection midarc (end)
@@ -3738,68 +3643,92 @@ z.Q = intersection (L.tB,L.AC)
z.R = intersection (L.tC,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
-\tkzDrawSegments(A,R C,P C,Q)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection lemoine_line_without_macro (end)
\subsection{First Lemoine circle} % (fold)
\label{sub:first_lemoine_circle}
+Draw lines through the symmedian point $L$ and parallel to the sides of the triangle. The points where the parallel lines intersect the sides of the triangle then lie on a circle known as the first Lemoine circle. It has center at the Brocard midpoint, i.e., the midpoint of $[OL]$, where $O$ is the circumcenter and $K$ is the symmedian point
+
+[\href{https://mathworld.wolfram.com/FirstLemoineCircle.html}{Weisstein, Eric W. "First Lemoine Circle." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
\begin{tkzelements}
z.A = point: new (1,1)
z.B = point: new (5,1)
- z.C = point: new (2,3)
- T = triangle: new (z.A,z.B,z.C)
- z.O = T.circumcenter
- z.o,z.w = get_points (T : first_lemoine_circle ())
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
z.L = T : lemoine_point ()
\end{tkzelements}
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C,o,w,O,L)
- \tkzLabelPoints(A,B,C,o,w,O,L)
- \tkzDrawCircles(o,w O,A)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
-\end{Verbatim}
+\end{center}
\end{minipage}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
-z.A = point: new (1,1)
-z.B = point: new (5,1)
-z.C = point: new (2,3)
-T = triangle: new (z.A,z.B,z.C)
-z.O = T.circumcenter
-z.o,z.w = get_points(T:first_lemoine_circle())
-z.L = T : lemoine_point ()
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
+ z.L = T : lemoine_point ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = 1.25]
-\tkzGetNodes
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,o,w,O,L)
-\tkzLabelPoints(A,B,C,o,w,O,L)
-\tkzDrawCircles(o,w O,A)
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsection first_lemoine_circle (end)
\subsection{First and second Lemoine circles} % (fold)
\label{sub:first_and_second_lemoine_circles}
+Draw antiparallels through the symmedian point $L$. The points where these lines intersect the sides then lie on a circle, known as the cosine circle (or sometimes the second Lemoine circle). Refer to [\ref{sub:antiparallel_through_lemoine_point}]
+
+[\href{https://mathworld.wolfram.com/CosineCircle.html}{Weisstein, Eric W. "Cosine Circle." From MathWorld--A Wolfram Web Resource.}]
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = 2
@@ -3863,19 +3792,22 @@ L.y4y5 = line : new (z.y4,z.y5)
L.y2y3 = line : new (z.y2,z.y3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = .75]
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
-\tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
-\tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
-\tkzLabelPoints[above](L)
-\tkzDrawCircles(L,x o,p O,a)
-\tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[scale = .75]
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
+ \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
+ \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
+ \tkzLabelPoints[above](L)
+ \tkzDrawCircles(L,x o,p O,a)
+ \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection first_and_second_lemoine_circles (end)
\subsection{Inversion} % (fold)
@@ -3942,52 +3874,6 @@ z.Cp = C.AC: inversion ( z.B, z.E, z.C )
\end{minipage}
% subsection inversion (end)
-\subsection{Gergonne point} % (fold)
-\label{sub:gergonne_point}
-
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{minipage}
-% subsection gergonne_point (end)
\subsection{Antiparallel through Lemoine point} % (fold)
\label{sub:antiparallel_through_lemoine_point}
@@ -4035,16 +3921,18 @@ L.anti = T : antiparallel (z.L,2)
z.z_0,z.z_1 = get_points (L.anti)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
-\tkzLabelPoints(a,b)
-\tkzLabelPoints[above](L,c)
-\tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
-\tkzDrawCircle(L,x_0)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoints[above](L,c)
+ \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
+ \tkzDrawCircle(L,x_0)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection antiparallel_through_lemoine_point (end)
@@ -4362,7 +4250,8 @@ end
\end{minipage}
% subsection three_circles (end)
-\subsection{pentagons in a golden arbelos} % (fold)
+\subsection{p
+Pentagons in a golden arbelos} % (fold)
\label{sub:golden_arbelos}
\begin{tkzelements}
@@ -4499,6 +4388,5 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{tikzpicture}
\end{Verbatim}
-
-
-% subsection golden_arbelos (end) \ No newline at end of file
+% subsection golden_arbelos (end)
+% section examples (end) \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
index 6f58cbec5c..140063f928 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
@@ -282,7 +282,7 @@ Then |z.B = z.A * za| describes a rotation of point A by an angle |a|.
\end{minipage}
% subsubsection example_of_complex_use (end)
-\subsubsection{Point operations(complex)} % (fold)
+\subsubsection{Point operations (complex)} % (fold)
\label{ssub:point_operations_complex}
\begin{minipage}{.5\textwidth}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
index cc842aba53..1ba8fd0981 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
@@ -61,7 +61,7 @@ end
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{ssub:lemoine}, \ref{sub:alternate}
+Other examples: \ref{sub:altshiller}, \ref{sub:lemoine}, \ref{sub:alternate}
% subsection line_line (end)
\newpage
@@ -117,7 +117,7 @@ _,z.K = intersection (C.OD,L.AE)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}
+Other examples: \ref{sub:altshiller}
% subsection line_circle (end)
\newpage
@@ -168,7 +168,7 @@ C.DC = circle : new (z.D,z.C)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{sub:the_figure_pappus_circle}
+Other examples: \ref{sub:altshiller}, \ref{sub:the_figure_pappus_circle}
% subsection circle_circle (end)
\newpage
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
index 55608bb26b..10998bb7f5 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
@@ -1,6 +1,6 @@
% !TEX TS-program = lualatex
% encoding : utf8
-% Documentation of tkz-elements v2.25c
+% Documentation of tkz-elements v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{2.25c}
+\gdef\tkzversionofpack{2.30c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{2.25c}
+\gdef\tkzversionofdoc{2.30c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -170,10 +170,8 @@ sharp corners
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-
-
\begin{document}
-\LuaCodeDebugOn
+%\LuaCodeDebugOn
\parindent=0pt
\tkzTitleFrame{tkz-elements \tkzversionofpack\\Euclidean Geometry}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
index d42a3a109b..edb5864f4f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
index 0a11787d21..597a050850 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
@@ -1,5 +1,5 @@
% encoding : utf8
-% tkz-elements.sty v2.25c
+% tkz-elements.sty v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2024/04/27 v2.25c Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2024/07/16 version 2.30c Graphic Object Library]
\RequirePackage{luacode}
\directlua{require "tkz_elements_main"}
@@ -34,20 +34,19 @@
V={}}
\luacode}
{\endluacode}
-
+ % new version of the next macro proposed by Sanskar Singh
\def\tkzGetNodes{\directlua{%
- for K,V in pairs(z) do
- local n,sd,ft
- n = string.len(K)
- if n >1 then
- _,_,ft, sd = string.find( K , "(.+)(.)" )
- if sd == "p" then K=ft.."'" end
- _,_,xft, xsd = string.find( ft , "(.+)(.)" )
- if xsd == "p" then K=xft.."'".."'" end
- end
- tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
-end}
-}
+ for K,V in pairs(z) do
+ local n,sd,ft
+ n = string.len(K)
+ if n >1 then
+ _,_,ft, sd = string.find( K , "(.+)(.)" )
+ if sd == "p" then K=ft.."'" end
+ _,_,xft, xsd = string.find( ft , "(.+)(.)" )
+ if xsd == "p" then K=xft.."'".."'" end
+ end
+ tex.sprint("\string\\coordinate ("..K..") at ("..V.re..","..V.im..") ; \string\r")
+end}}
\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}}
\makeatletter
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
index 1999b8a073..e17ccb2ebb 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
index b6a1bf7a5a..3ded691d53 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
@@ -1,6 +1,6 @@
-- tkz_elements_class.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- from class.lua (Simple Lua Classes from Lua-users wiki)
-- Compatible with Lua 5.1 (not 5.0).
-- http://lua-users.org/wiki/SimpleLuaClasses DavidManura
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
index a98cf40a63..7581c19d7a 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
index 40f2a4ebbf..88f9040b7f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
index 69dcd6ace3..fe253e9aa2 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
@@ -1,6 +1,6 @@
-- tkz_elements_intersections.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
index 401ad46dda..a5504593c0 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
index a71c0f7c27..c3f7e54ffd 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
index 4371214047..c80420090f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
index f1c4dc5d41..e2366e25e3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_points.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
index 5e92b4d598..0f74d28fe9 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
index d4523d1826..02d3058a16 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -259,6 +259,15 @@ function feuerbach_tr_ (a,b,c)
intersection_cc_ (e,m,jb,hb),
intersection_cc_ (e,m,jc,hc)
end
+
+function similar_ (a,b,c)
+ local x,y,z,g
+ g = centroid_ (a,b,c)
+ x = homothety_ (g,-2,a)
+ y = homothety_ (g,-2,b)
+ z = homothety_ (g,-2,c)
+ return x,y,z
+end
--------------------
-- ellipse --
--------------------
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
index 9304768f31..797365f33f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
@@ -1,6 +1,6 @@
-- tkz_elements_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -324,11 +324,25 @@ function line: mediator ()
m = midpoint_ (self.pa,self.pb)
return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
end
+
+function line : perpendicular_bisector ()
+ local m
+ m = midpoint_ (self.pa,self.pb)
+ return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
+end
+
-------------------
-- Result -> circle
-------------------
-function line: circle ()
+function line: circle (swap)
+ if swap == nil then
+ swap = false
+ end
+ if swap then
+ return circle : new (self.pb,self.pa)
+ else
return circle : new (self.pa,self.pb)
+ end
end
function line: circle_swap ()
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
index 10ee219519..142f00c8ed 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
@@ -1,6 +1,6 @@
-- tkz_elements-main.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
index 981ac68094..035e8a0a33 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
index 94c9c555c0..daa3e21872 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
index fd0a3533a3..d471976d06 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
@@ -1,6 +1,6 @@
-- tkz_elements_parallelogram.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
index 4eb4b549d1..e29779ef79 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
@@ -1,6 +1,6 @@
-- tkz_elements_point.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
index e77e0af561..6625b9d789 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
@@ -1,6 +1,6 @@
-- tkz_elements_quadrilateral.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
index 2c07f78399..fdc3084501 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-rectangle.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
index 0641a858de..a4527c779b 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
index 1852c0ded4..93860b825c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
@@ -1,6 +1,6 @@
-- tkz_elements-square.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
index c6dd2c3757..84b10273da 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -57,19 +57,19 @@ end
-- points --
-----------------------
function triangle: trilinear (a,b,c)
- return barycenter_ ( {self.pa,a*self.a },{self.pb,b*self.b},{self.pc,c*self.c} )
+ return barycenter_ ({self.pa,a*self.a},{self.pb,b*self.b},{self.pc,c*self.c})
end
function triangle: barycentric (a,b,c)
- return barycenter_ ( {self.pa,a },{self.pb,b},{self.pc,c} )
+ return barycenter_ ({self.pa,a},{self.pb,b},{self.pc,c})
end
function triangle: bevan_point ()
- return circum_center_ ( self : excentral_tr())
+ return circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: mittenpunkt_point ()
- return lemoine_point_ ( self : excentral_tr())
+ return lemoine_point_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: gergonne_point ()
@@ -322,13 +322,20 @@ function triangle : cevian_circle (p)
pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
return circle : new (circum_circle_ (pta,ptb,ptc),pta)
end
+
+function triangle : symmedial_circle ()
+ local pta,ptb,ptc,p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
+ return circle : new (circum_circle_ (pta,ptb,ptc),pta)
+end
- function triangle : conway_circle ()
- local i,t
- i = in_center_ (self.pa,self.pb,self.pc)
- t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
- return circle : new (i,t)
- end
+function triangle : conway_circle ()
+ local i,t
+ i = in_center_ (self.pa,self.pb,self.pc)
+ t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
+ return circle : new (i,t)
+end
function triangle : pedal_circle (pt)
local x,y,z,c
@@ -338,7 +345,13 @@ function triangle : pedal_circle (pt)
c = circum_center_ (x,y,z)
return circle : new (c,x)
end
-
+
+function triangle: bevan_circle ()
+ local o,r,s,t
+ o = circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
+ r,s,t = excentral_tr_ ( self.pa , self.pb , self.pc)
+return circle : new (o, r)
+end
-------------------
-- Result -> triangle
-------------------
@@ -392,6 +405,12 @@ function triangle: symmedian ()
return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
end
+function triangle: symmedial ()
+ local p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
+end
+
function triangle: euler ()
return triangle : new (euler_points_ (self.pa,self.pb,self.pc) )
end
@@ -403,6 +422,10 @@ function triangle: pedal (pt)
z = projection_ (self.pa,self.pb,pt)
return triangle : new (x,y,z)
end
+
+function triangle: similar ()
+ return triangle : new (similar_ (self.pa,self.pb,self.pc) )
+end
-------------------
-- Result -> ellipse
-------------------
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
index 8b26fe4bd3..0dcbbfde61 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
@@ -1,6 +1,6 @@
-- tkz_elements_vectors.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tqft/README.txt b/macros/latex/contrib/tqft/README.txt
index 365b108946..244978100f 100644
--- a/macros/latex/contrib/tqft/README.txt
+++ b/macros/latex/contrib/tqft/README.txt
@@ -1,9 +1,13 @@
----------------------------------------------------------------
-tqft --- a library for drawing TQFT diagrams with TikZ/PGF
-E-mail: stacey@math.ntnu.no
+tqft --- a TikZ library for drawing TQFT diagrams
+bundle version: v2.3 2024/05/31
+E-mail: Andrew Stacey <loopspace@mathforge.org>
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
This package defines some shapes useful for drawing TQFT diagrams with TikZ/PGF.
+The initial idea of this package came from a question and answer on the site https://tex.stackexchange.com.
+
+The package comes in two versions: a package (tqft.sty) and a TikZ library (tikzlibrarytqft.code.tex). The original package (tqft.sty) is depreciated and has been frozen at version 2.1. The TikZ library is maintained and should be used in preference, except for legacy code.
diff --git a/macros/latex/contrib/tqft/tqft.pdf b/macros/latex/contrib/tqft/tqft.pdf
index 7b5ab55652..d764834342 100644
--- a/macros/latex/contrib/tqft/tqft.pdf
+++ b/macros/latex/contrib/tqft/tqft.pdf
Binary files differ
diff --git a/macros/latex/contrib/tqft/tqft_doc.tex b/macros/latex/contrib/tqft/tqft.tex
index 97c7ff541c..4eb7bdc7d4 100644
--- a/macros/latex/contrib/tqft/tqft_doc.tex
+++ b/macros/latex/contrib/tqft/tqft.tex
@@ -34,11 +34,16 @@
}
\providecommand*{\url}{\texttt}
-\GetFileInfo{tqft.sty}
+\GetFileInfo{tikzlibrarytqft.code.tex}
+\pdfstringdefDisableCommands{%
+ \def\\{}%
+ \def\url#1{<#1>}%
+}
\title{The \textsf{tqft} Ti\emph{k}Z Library: Documentation}
\author{Andrew Stacey \\ \url{loopspace@mathforge.org}}
+\date{\fileversion~from \filedate}
\begin{document}
@@ -151,7 +156,7 @@ The second version is designed to be similar to the first, but with some improve
The original version was distributed as a \Verb+.sty+ file and so is loaded using \Verb+\usepackage{tqft}+.
The newer version is a Ti\emph{k}Z library and so is loaded using \Verb+\usetikzlibrary{tqft}+.
This makes it possible to use both in the same document.
-This is not recommended, but an attempt has been made to make it possible to switch between the two methods.
+This is not recommended, but an attempt has been made to make it possible to switch between the two methods (mainly to stop this documentation file complaining every time I compile it).
This hasn't been extensively tested so use with caution.
To make the switch use the key \Verb+/tikz/tqft/use nodes=<true|false>+.
By default, the one loaded last should be in effect at the start of the document.
@@ -170,7 +175,8 @@ Moreover, any unknown keys are passed on to the \Verb+/tikz+ directory so there
Some examples take advantage of this switch so when copying and modifying examples from this document, it is important to remember that the first \Verb+tqft+ specific key needs an explicit \Verb+tqft/+ prefix.
-\section{Version 2.0}
+\section{Version 2: Pics via a TikZ Library}
+\label{sec:pic}
\subsection{The Shapes}
@@ -266,6 +272,9 @@ It is a dimensionless number (not necessarily an integer) and is interpreted so
\item \DescribeMacro{genus} This defines the number of holes in the shape.
These are spread out in a horizontal line in the middle of the shape.
+
+\item \DescribeMacro{twisted} This is a boolean that, if set, makes the cobordism \emph{twisted} in that the edges cross as they pass from the incoming to outgoing boundaries.
+This probably won't look good with a non-zero genus, but there's nothing stopping you doing it.
\end{itemize}
\subsection{Styling}
@@ -337,7 +346,6 @@ The latter is for the two sides, but note that if the cobordism has no incoming
\item \Verb=between incoming <n> and <n+1>=,
\item \Verb=between outgoing <n> and <n+1>=,
\item \Verb+between first incoming and first outgoing+,
-\item \Verb+between first incoming and first outgoing+,
\item \Verb+between last incoming and last outgoing+,
\item \Verb+between first and last incoming+,
\item \Verb+between first and last outgoing+.
@@ -418,7 +426,11 @@ They are:
\item \Verb=between first incoming and first outgoing= is on the edge between the first incoming and first outgoing boundary components; note that this is only defined if there are both incoming and outgoing boundary components.
\item \Verb=between last incoming and last outgoing= is on the edge between the last incoming and last outgoing boundary components; note that this is only defined if there are both incoming and outgoing boundary components.
\item \Verb=between first and last incoming=; this is only defined if there are no outgoing components.
+
+This is also available via the alias \Verb=between first incoming and last incoming=.
\item \Verb=between first and last outgoing=; this is only defined if there are no incoming components.
+
+This is also available via the alias \Verb=between first outgoing and last outgoing=.
\item \Verb=hole <n>=; if the genus is non-zero, this points to the centre of the \(n\)th hole.
\end{itemize}
@@ -453,7 +465,7 @@ outgoing boundary 4/below right}
\begin{enumerate}
\item Like \Verb+node+s, \Verb+pic+s need the \Verb+transform shape+ key to be set to take note of external transformations (other than shifts).
-Also, as the tqft pic uses nodes internally, if you use the \Verb+transform shape+ key on the pic, you might find you need to use \Verb+every node/.style={transform shape}+ as well.
+The tqft pic uses nodes internally and those nodes have \Verb+transform shape+ automatically set so this should \emph{just work}.
\item There is an additional \Verb+every tqft+ key which is run when the \Verb+tqft+ key is invoked (which might be via some other key).
This is better placed than the \Verb+every pic+ key since that applies to a surrounding scope rather than to the \Verb+pic+ itself.
\item If the \Verb+tqft+ key is invoked, either implicitly or explicitly, then the \Verb+pic type+ is set to \Verb+cobordism+.
@@ -482,15 +494,13 @@ Use \Verb+transform shape+ and apply your own transformation.
{(0,-8)}/{fill=orange,fill opacity=.5,tqft/every lower boundary component/.style={draw,blue,ultra thin,dashed},tqft/every upper boundary component/.style={draw,green},tqft/cobordism edge/.style={draw,purple},tqft/every boundary component/.style={fill=yellow}},
{(5,-8)}/{fill=orange,fill opacity=.5,tqft/cobordism edge/.style={draw,purple},tqft/every boundary component/.style={fill=yellow,draw=green}}
} {
-\begin{scope}
-\edef\styleit{\noexpand\tikzset{every tqft/.style={\style}}}
-\styleit
+ \begin{scope}[every tqft/.style/.expand once=\style]
\pic[tqft/cap,name=h,at=\coord];
\pic[tqft/pair of pants,anchor=incoming boundary 1,name=a,at=(h-outgoing boundary 1)];
\pic[tqft/cylinder to next,anchor={(0,1)},name=d,at=(a-outgoing boundary 2)];
\pic[tqft/reverse pair of pants,anchor=incoming boundary 1,name=b,at=(a-outgoing boundary 2)];
\pic[tqft/cylinder to prior,anchor=incoming boundary 1,name=c,at=(b-outgoing boundary 1)];
-\pic[tqft/cylinder,anchor=incoming boundary 1,name=e,at=(a-outgoing boundary 1)];
+\pic[tqft/cylinder,twisted,anchor=incoming boundary 1,name=e,at=(a-outgoing boundary 1)];
\pic[tqft/cylinder,anchor=incoming boundary 1,name=f,at=(e-outgoing boundary 1)];
\pic[tqft/reverse pair of pants,anchor=incoming boundary 1,name=g,at=(f-outgoing boundary 1)];
\pic[tqft/cup,anchor=incoming boundary 1,name=i,at=(g-outgoing boundary 1)];
@@ -527,24 +537,26 @@ Use \Verb+transform shape+ and apply your own transformation.
view from=incoming,
anchor=between incoming 1 and 2
]
-\pic[rotate=90,every node/.style={transform shape},name=a,tqft,incoming boundary components=5,skip incoming boundary components={2,4},outgoing boundary components=7,skip outgoing boundary components={2,3,5},offset=-.5];
+\pic[rotate=90,
+ %every node/.style={transform shape},
+ name=a,tqft,incoming boundary components=5,skip incoming boundary components={2,4},outgoing boundary components=7,skip outgoing boundary components={2,3,5},offset=-.5];
\begin{scope}[every pin edge/.style={<-}]
\foreach \anchor/\ang in {
hole 1/-90,
hole 2/90,
hole 3/-90,
- incoming boundary 3/90,
- outgoing boundary 4/-90,
- between last incoming and last outgoing/180,
- between first incoming and first outgoing/180,
- between incoming 1 and 3/90,
- between outgoing 1 and 4/-90,
- between outgoing 4 and 6/-90
+ incoming boundary 3/180,
+ outgoing boundary 4/0,
+ between last incoming and last outgoing/90,
+ between first incoming and first outgoing/-90,
+ between incoming 1 and 3/180,
+ between outgoing 1 and 4/0,
+ between outgoing 4 and 6/0
} {
\node[pin=\ang:\anchor,at=(a-\anchor),inner sep=0pt] {};
}
-\draw[<-] (0,0) -- ++(0,3);
+\draw[<-] (0,0) -- ++(-2,0) node[left] {origin};
\end{scope}
\end{tikzpicture}
\end{example}
@@ -697,10 +709,13 @@ Use \Verb+transform shape+ and apply your own transformation.
\end{tikzpicture}
%\end{example}
-\section{Version 1.0}
+\section{Version 1: Nodes via a Style File}
\tikzset{tqft/use nodes=true}
+As mentioned in the introduction, this is the original method of drawing cobordism diagrams using nodes and is no longer updated (though I will fix bugs if I can).
+If drawing a new diagram, use the pic method from Section~\ref{sec:pic}.
+
\subsection{The Node Shapes}
There are only two shapes, \Verb+tqft cobordism+ and \Verb+tqft boundary circle+.
@@ -940,9 +955,7 @@ This shouldn't happen, or should happen by design not by accident.
{(0,-8)}/{fill=orange,fill opacity=.5,tqft/boundary lower style={draw,blue,ultra thin,dashed},tqft/boundary upper style={draw,green},tqft/cobordism style={draw,purple},tqft/boundary style={fill=yellow}},
{(5,-8)}/{fill=orange,fill opacity=.5,tqft/cobordism style={draw,purple},tqft/boundary style={fill=yellow,draw=green}}
} {
-\begin{scope}
-\edef\styleit{\noexpand\tikzset{every node/.style={\style}}}
-\styleit
+\begin{scope}[every node/.style/.expand once=\style]
\node[tqft/cap] (h) at \coord {};
\node[tqft/pair of pants,anchor=incoming boundary 1] (a) at (h.outgoing boundary 1) {};
\node[tqft/cylinder to next,anchor=incoming boundary 1] (d) at (a.incoming boundary 2) {};
diff --git a/macros/latex/contrib/tqft/tqft.dtx b/macros/latex/contrib/tqft/tqft_code.dtx
index dc471eed3d..67d4afe458 100644
--- a/macros/latex/contrib/tqft/tqft.dtx
+++ b/macros/latex/contrib/tqft/tqft_code.dtx
@@ -4,13 +4,17 @@
%</internal>
%<*readme>
----------------------------------------------------------------
-tqft --- a library for drawing TQFT diagrams with TikZ/PGF
-E-mail: stacey@math.ntnu.no
+tqft --- a TikZ library for drawing TQFT diagrams
+bundle version: v2.3 2024/05/31
+E-mail: Andrew Stacey <loopspace@mathforge.org>
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
This package defines some shapes useful for drawing TQFT diagrams with TikZ/PGF.
+The initial idea of this package came from a question and answer on the site https://tex.stackexchange.com.
+
+The package comes in two versions: a package (tqft.sty) and a TikZ library (tikzlibrarytqft.code.tex). The original package (tqft.sty) is depreciated and has been frozen at version 2.1. The TikZ library is maintained and should be used in preference, except for legacy code.
%</readme>
%<*internal>
\fi
@@ -25,7 +29,7 @@ This package defines some shapes useful for drawing TQFT diagrams with TikZ/PGF.
\askforoverwritefalse
\preamble
----------------------------------------------------------------
-tqft --- a library for drawing TQFT diagrams with TikZ/PGF
+tqft --- a TikZ library for drawing TQFT diagrams
E-mail: loopspace@mathforge.org
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
@@ -34,7 +38,7 @@ See http://www.latex-project.org/lppl.txt
\endpreamble
\postamble
-Copyright (C) 2011 by Andrew Stacey <loopspace@mathforge.org>
+Copyright (C) 2011-2024 by Andrew Stacey <loopspace@mathforge.org>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -46,29 +50,29 @@ http://www.latex-project.org/lppl.txt
This work is "maintained" (as per LPPL maintenance status) by
Andrew Stacey.
-This work consists of the files tqft.dtx,
- tqft_doc.tex,
-and the derived files tqft.ins,
+This work consists of the files tqft_code.dtx,
+ tqft.tex,
+and the derived files tqft_code.ins,
+ tqft_code.pdf,
tqft.pdf,
- tqft_doc.pdf,
tqft.sty, and
tikzlibrarytqft.code.tex.
\endpostamble
\usedir{tex/latex/tqft}
\generate{
- \file{\jobname.sty}{\from{\jobname.dtx}{package}}
+ \file{tqft.sty}{\from{\jobname.dtx}{package}}
}
\usedir{tex/latex/tqft}
\generate{
- \file{tikzlibrary\jobname.code.tex}{\from{\jobname.dtx}{library}}
+ \file{tikzlibrarytqft.code.tex}{\from{\jobname.dtx}{library}}
}
%</install>
%<install>\endbatchfile
%<*internal>
\usedir{source/latex/tqft}
\generate{
- \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+ \file{tqft_code.ins}{\from{\jobname.dtx}{install}}
}
\nopreamble\nopostamble
\usedir{doc/latex/demopkg}
@@ -91,7 +95,7 @@ and the derived files tqft.ins,
\usepackage{lmodern}
%\usepackage{morefloats}
\usepackage{tikz}
-\usepackage{\jobname}
+\usepackage{tqft}
\usepackage[numbered]{hypdoc}
\definecolor{lstbgcolor}{rgb}{0.9,0.9,0.9}
@@ -109,7 +113,7 @@ and the derived files tqft.ins,
%</driver>
% \fi
%
-% \CheckSum{2577}
+% \CheckSum{2623}
%
% \CharacterTable
% {Upper-case \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
@@ -131,13 +135,20 @@ and the derived files tqft.ins,
% \changes{1.0}{2011/05/03}{Converted to DTX file}
% \changes{2.0}{2014/04/07}{Converted nodes to pics}
% \changes{2.1}{2017/06/01}{Can skip boundary components}
+% \changes{2.2}{2022/08/24}{Twisted shapes}
+% \changes{2.3}{2022/08/24}{File incorrectly named}
%
% \DoNotIndex{\newcommand,\newenvironment}
+% \pdfstringdefDisableCommands{%
+% \def\\{}%
+% \def\url#1{<#1>}%
+% }
%
% \providecommand*{\url}{\texttt}
-% \GetFileInfo{tqft.dtx}
+% \GetFileInfo{tikzlibrarytqft.code.tex}
% \title{The \textsf{tqft} package: codebase}
% \author{Andrew Stacey \\ \url{loopspace@mathforge.org}}
+% \date{\fileversion~from \filedate}
%
% \maketitle
%
@@ -1247,6 +1258,7 @@ and the derived files tqft.ins,
%
% \iffalse
%<*library>
+\ProvidesFile{tikzlibrarytqft.code.tex}[2024/05/31 v2.3 Tikz/PGF commands for drawing TQFT diagrams]
% \fi
%
% Issue a warning if the pic syntax is not available.
@@ -1268,6 +1280,10 @@ and the derived files tqft.ins,
\let\pgf@tqft@upper\@empty
\let\pgf@tqft@lower\pgf@tqft@minus
% \end{macrocode}
+% Should we twist the cobordism?
+% \begin{macrocode}
+\newif\iftqft@twisted
+% \end{macrocode}
% Split an anchoring coordinate.
% The \(y\)--value is simply multiplied by the cobordism height (but pointing downwards, so that \(1\) is level with the outgoing boundary).
% The \(x\)--value is multiplied by the boundary separation, but is shifted so that at the incoming boundary level, or above, then it is in line with the incoming boundaries and similarly at the outgoing boundary level, or below, it is in line with the outgoing boundaries.
@@ -1347,6 +1363,10 @@ and the derived files tqft.ins,
\let\pgf@tqft@upper\@empty
},
% \end{macrocode}
+% Should we twist the cobordism?
+% \begin{macrocode}
+ twisted/.is if=tqft@twisted,
+% \end{macrocode}
% We simulate node placement using the following key.
% \begin{macrocode}
anchor/.initial = none,
@@ -1451,7 +1471,7 @@ and the derived files tqft.ins,
% \begin{macrocode}
\global\let\tqft@alist\pgfutil@gobble
% \end{macrocode}
-% These will be lists of the boundary components, divided into sets as to whether or not they are rendered. For the outgoing ones, we need too lists because they are rendered in the opposite order to how they are labelled.
+% These will be lists of the boundary components, divided into sets as to whether or not they are rendered. For the outgoing ones, we need two lists because they are rendered in the opposite order to how they are labelled.
% \begin{macrocode}
\global\let\tqft@ibdrylist=\pgfutil@gobble
\global\let\tqft@cibdrylist=\pgfutil@gobble
@@ -1460,6 +1480,17 @@ and the derived files tqft.ins,
\global\let\tqft@robdrylist=\pgfutil@gobble
\global\let\tqft@rcobdrylist=\pgfutil@gobble
% \end{macrocode}
+% Is the cobordism twisted? If so, we need to reverse the order of the
+% outgoing boundary components.
+% \begin{macrocode}
+ \iftqft@twisted
+ \pgfmathsetmacro\tqft@outgoing@end{0}%
+ \pgfmathsetmacro\tqft@outgoing@dir{-1}%
+ \else
+ \pgfmathsetmacro\tqft@outgoing@end{1}%
+ \pgfmathsetmacro\tqft@outgoing@dir{1}%
+ \fi
+% \end{macrocode}
% The first stage is to iterate over the incoming boundary components (if there are any), building up the various paths.
% \begin{macrocode}
\ifnum\tqft@val{incoming boundary components}>0\relax
@@ -1533,9 +1564,14 @@ and the derived files tqft.ins,
% \begin{macrocode}
\ifnum\tqft@val{outgoing boundary components}>0\relax
% \end{macrocode}
-% There are, so we add a curve from the end of the last incoming to the last outgoing component to the full path,
+% There are.
+%
+% We start by adding a curve from the end of the last incoming to the last outgoing component to the full path,
% \begin{macrocode}
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} +\tqft@val{circle x radius}}%
+ \pgfmathsetmacro\xppos{%
+ (\tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)
+ + \tqft@val{offset}) * \tqft@val{boundary separation}
+ + \tqft@outgoing@dir * \tqft@val{circle x radius}}%
\pgfmathsetmacro\tqft@ht{abs(\tqft@val{incoming boundary components} - \tqft@val{outgoing boundary components} - \tqft@val{offset})}%
\pgfmathsetmacro\tqft@ht{1/3 + 2/3*\tqft@ht/(\tqft@ht + 1)}%
\xdef\tqft@fullpath{%
@@ -1571,7 +1607,7 @@ and the derived files tqft.ins,
% Same for the edge path.
% \begin{macrocode}
\xdef\tqft@blist{%
- \tqft@blist,between first incoming and last incoming/incoming and outgoing/{%
+ \tqft@blist,between first and last incoming/incoming and outgoing/{%
(\tqft@val{incoming boundary components} * \tqft@val{boundary separation} + \tqft@val{circle x radius} - \tqft@val{boundary separation},0pt)
.. controls +(0,-\tqft@ht*\tqft@val{cobordism height}) and +(0,-\tqft@ht*\tqft@val{cobordism height}) .. (-\tqft@val{circle x radius},0)}
}%
@@ -1580,7 +1616,7 @@ and the derived files tqft.ins,
% \begin{macrocode}
\pgfmathsetmacro\xppos{(\tqft@val{incoming boundary components} -1) * \tqft@val{boundary separation}/2}%
\xdef\tqft@clist{%
- \tqft@clist,-between first incoming and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)}%
+ \tqft@clist,-between first and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)},-between first incoming and last incoming/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height}*3/4)}%
}%
\fi
\else
@@ -1588,7 +1624,7 @@ and the derived files tqft.ins,
% There weren't any incoming boundary components, so we test to see if there were any outgoing ones and move to the start of them.
% \begin{macrocode}
\ifnum\tqft@val{outgoing boundary components}>0\relax
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} +\tqft@val{circle x radius}}
+ \pgfmathsetmacro\xppos{( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)+\tqft@val{offset}) * \tqft@val{boundary separation} + \tqft@outgoing@dir * \tqft@val{circle x radius}}
% \end{macrocode}
% Add a move to the full path,
% \begin{macrocode}
@@ -1600,22 +1636,25 @@ and the derived files tqft.ins,
\fi
% \end{macrocode}
% We're done with the incoming boundary components, now we're set up for the outgoing ones.
-% However we got there, if we have outgoing boundary components then we're now located at the start of them, although we're counting backwards.
+% However we got there, if we have outgoing boundary components then we're now located at the start of them, although we might be counting backwards .
% \begin{macrocode}
- \ifnum\tqft@val{outgoing boundary components}>0\relax
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} -1+\tqft@val{offset}) * \tqft@val{boundary separation} -\tqft@val{circle x radius}}%
+ \ifnum\tqft@val{outgoing boundary components}>0\relax
+ \pgfmathsetmacro\xppos{%
+ ( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} -1)
+ + \tqft@val{offset}) * \tqft@val{boundary separation}
+ - \tqft@outgoing@dir * \tqft@val{circle x radius}}%
% \end{macrocode}
% Draw the arc for the first (well, last actually) boundary component.
% \begin{macrocode}
\xdef\tqft@fullpath{%
\tqft@fullpath
- arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
+ arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@outgoing@dir * \tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
}%
% \end{macrocode}
% And add the centre to the list for available shifts.
% \begin{macrocode}
\xdef\tqft@alist{%
- \tqft@alist,-outgoing boundary \tqft@val{outgoing boundary components}/{(\xppos pt + \tqft@val{circle x radius},-\tqft@val{cobordism height})},-outgoing boundary/{(\tqft@val{offset}*\tqft@val{boundary separation},-\tqft@val{cobordism height})}%
+ \tqft@alist,-outgoing boundary \tqft@val{outgoing boundary components}/{(\xppos pt + \tqft@outgoing@dir * \tqft@val{circle x radius},-\tqft@val{cobordism height})},-outgoing boundary/{(\tqft@val{offset}*\tqft@val{boundary separation},-\tqft@val{cobordism height})}%
}%
% \end{macrocode}
% Do we have more than one boundary component?
@@ -1624,7 +1663,7 @@ and the derived files tqft.ins,
% \end{macrocode}
% Yes, so add a curve and arc for each.
% \begin{macrocode}
- \foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in {2,...,\tqft@val{outgoing boundary components}} {
+ \foreach \k [evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)] in {2,...,\tqft@val{outgoing boundary components}} {
\edef\tqft@temp{\noexpand\pgfutil@in@{,\ok,}{,\tqft@val{skip outgoing boundary components},}}
\tqft@temp
\ifpgfutil@in@
@@ -1637,9 +1676,9 @@ and the derived files tqft.ins,
\else
\foreach \k [
remember=\k as \kmo (initially 1),
- evaluate=\k as \xpos using (\tqft@val{outgoing boundary components} - \k + \tqft@val{offset})*\tqft@val{boundary separation} + \tqft@val{circle x radius},
+ evaluate=\k as \xpos using ( \tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - 1 - \tqft@outgoing@dir * \k + \tqft@val{offset})*\tqft@val{boundary separation} + \tqft@outgoing@dir * \tqft@val{circle x radius},
] in \tqft@obdrylist {
- \pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components} - \kmo + \tqft@val{offset})*\tqft@val{boundary separation} - \tqft@val{circle x radius}}
+ \pgfmathsetmacro\xppos{(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - 1 - \tqft@outgoing@dir * \kmo + \tqft@val{offset})*\tqft@val{boundary separation} - \tqft@outgoing@dir * \tqft@val{circle x radius}}
\pgfmathsetmacro\cpos{(\xpos + \xppos)/2}
\pgfmathsetmacro\nk{int(\tqft@val{outgoing boundary components} - \k + 1)}
\pgfmathsetmacro\nkpo{int(\tqft@val{outgoing boundary components} - \kmo + 1)}
@@ -1648,7 +1687,7 @@ and the derived files tqft.ins,
% \begin{macrocode}
\xdef\tqft@fullpath{%
\tqft@fullpath
- .. controls +(0,\tqft@val{cobordism height}/3) and +(0,\tqft@val{cobordism height}/3) .. (\xpos pt,-\tqft@val{cobordism height}) arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
+ .. controls +(0,\tqft@val{cobordism height}/3) and +(0,\tqft@val{cobordism height}/3) .. (\xpos pt,-\tqft@val{cobordism height}) arc[end angle=\pgf@tqft@upper180, start angle=0, x radius=\tqft@outgoing@dir * \tqft@val{circle x radius}, y radius=\tqft@val{circle y radius}]
}%
% \end{macrocode}
% Just the arc for the edge paths.
@@ -1691,14 +1730,14 @@ and the derived files tqft.ins,
% \begin{macrocode}
\xdef\tqft@blist{%
\tqft@blist,between first incoming and first outgoing/incoming and outgoing/{%
- (\tqft@val{offset} * \tqft@val{boundary separation} - \tqft@val{circle x radius},-\tqft@val{cobordism height})
+ ({ ( (1 - \tqft@outgoing@end) * (\tqft@val{outgoing boundary components} - 1) + \tqft@val{offset}) * \tqft@val{boundary separation} - \tqft@outgoing@dir * \tqft@val{circle x radius}},-\tqft@val{cobordism height})
.. controls +(0,\tqft@ht*\tqft@val{cobordism height}) and +(0,-\tqft@ht*\tqft@val{cobordism height}) .. (-\tqft@val{circle x radius},0)}%
}%
% \end{macrocode}
% Add a coordinate at the midpoint.
% \begin{macrocode}
\xdef\tqft@clist{%
- \tqft@clist,-between first incoming and first outgoing/{(\tqft@val{offset}*\tqft@val{boundary separation}/2-\tqft@val{circle x radius},-\tqft@val{cobordism height}/2)}%
+ \tqft@clist,-between first incoming and first outgoing/{({ ( (1 - \tqft@outgoing@end) * (\tqft@val{outgoing boundary components} - 1) +\tqft@val{offset})*\tqft@val{boundary separation}/2- \tqft@outgoing@end * \tqft@val{circle x radius}},-\tqft@val{cobordism height}/2)}%
}%
\else
% \end{macrocode}
@@ -1727,7 +1766,7 @@ and the derived files tqft.ins,
\pgfmathsetmacro\xppos{(\tqft@val{outgoing boundary components}/2 + \tqft@val{offset} -1/2) * \tqft@val{boundary separation}}%
\pgfmathsetmacro\tqft@ht{1 -\tqft@ht*3/4}%
\xdef\tqft@clist{%
- \tqft@clist,-between first and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})}%
+ \tqft@clist,-between first and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})},-between first outgoing and last outgoing/{(\xppos pt,-\tqft@ht*\tqft@val{cobordism height})}%
}%
\fi
\fi
@@ -1924,7 +1963,8 @@ and the derived files tqft.ins,
\xdef\tqft@ibdrylist{1,\tqft@ibdrylist}
\fi
\foreach[evaluate=\k as \xpos using (\k-1)*\tqft@val{boundary separation}] \k in \tqft@ibdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -1941,7 +1981,8 @@ and the derived files tqft.ins,
\ifx\tqft@cibdrylist\pgfutil@gobble
\else
\foreach[evaluate=\k as \xpos using (\k-1)*\tqft@val{boundary separation}] \k in \tqft@cibdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -1970,13 +2011,14 @@ and the derived files tqft.ins,
\else
\xdef\tqft@obdrylist{1,\tqft@obdrylist}
\fi
-\foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in \tqft@obdrylist {
+\foreach \k [evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)] in \tqft@obdrylist {
\xdef\tqft@robdrylist{\tqft@robdrylist,\ok}
}
\foreach[
evaluate=\k as \xpos using (\k-1+\tqft@val{offset})*\tqft@val{boundary separation}
] \k in \tqft@robdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
@@ -1992,13 +2034,15 @@ and the derived files tqft.ins,
}%
\ifx\tqft@cobdrylist\pgfutil@gobble
\else
-\foreach \k [evaluate=\k as \ok using int(\tqft@val{outgoing boundary components} - \k + 1)] in \tqft@cobdrylist {
+\foreach \k[evaluate=\k as \ok using int(\tqft@outgoing@end * (\tqft@val{outgoing boundary components} + 1) - \tqft@outgoing@dir * \k)]
+ in \tqft@cobdrylist {
\xdef\tqft@rcobdrylist{\tqft@rcobdrylist,\ok}
}
\foreach[
evaluate=\k as \xpos using (\k-1+\tqft@val{offset})*\tqft@val{boundary separation}
] \k in \tqft@rcobdrylist {
- \node[
+ \node[
+ transform shape,
node contents={},
ellipse,
inner sep=0pt,
diff --git a/macros/latex/contrib/tqft/tqft_code.pdf b/macros/latex/contrib/tqft/tqft_code.pdf
index cd380f7547..9cdd9ca1d1 100644
--- a/macros/latex/contrib/tqft/tqft_code.pdf
+++ b/macros/latex/contrib/tqft/tqft_code.pdf
Binary files differ
diff --git a/macros/latex/contrib/tramlines/README b/macros/latex/contrib/tramlines/README
index b252d9323a..0dcd98c4a0 100644
--- a/macros/latex/contrib/tramlines/README
+++ b/macros/latex/contrib/tramlines/README
@@ -1,6 +1,6 @@
tramlines - make tramlines
-version: 1.1.0
+version: 1.1.1
This package automatically creates tramlines (lines above and below a title used by lawyers in the UK and the Commonwealth).
@@ -12,6 +12,9 @@ For suggestions, feature requests, and bug reports, please use the project's
GitHub site: https://github.com/ezgranet/tramlines
Version history:
+18/07/2024: Change erroneous left alignment to centre alignment
+
+
29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
diff --git a/macros/latex/contrib/tramlines/tramlines-documentation.pdf b/macros/latex/contrib/tramlines/tramlines-documentation.pdf
index e9d9c9d6d9..1ccb2be965 100644
--- a/macros/latex/contrib/tramlines/tramlines-documentation.pdf
+++ b/macros/latex/contrib/tramlines/tramlines-documentation.pdf
Binary files differ
diff --git a/macros/latex/contrib/tramlines/tramlines-documentation.tex b/macros/latex/contrib/tramlines/tramlines-documentation.tex
index f39e7ba70c..ba56009346 100644
--- a/macros/latex/contrib/tramlines/tramlines-documentation.tex
+++ b/macros/latex/contrib/tramlines/tramlines-documentation.tex
@@ -74,9 +74,9 @@ breaklines,
firstnumber=last
]
{latex}
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -112,7 +112,7 @@ firstnumber=last
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[t]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
@@ -129,8 +129,19 @@ firstnumber=last
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{minted}
+\section{Version History}
+\subsection*{\ttfamily 1.1.1}
+\ttfamily 18 July 2024: Change erroneous left alignment to centre alignment
+\subsection*{\ttfamily 1.1.0}
+
+\ttfamily 29 October 2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user `niruvt'
+
+\ttfamily 29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
+
+
\subsection*{\texttt{1.0.0}}
+
\ttfamily 27 January 2023: Package creation
diff --git a/macros/latex/contrib/tramlines/tramlines.sty b/macros/latex/contrib/tramlines/tramlines.sty
index f3288a8d1f..72878c423e 100644
--- a/macros/latex/contrib/tramlines/tramlines.sty
+++ b/macros/latex/contrib/tramlines/tramlines.sty
@@ -1,6 +1,6 @@
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -36,7 +36,7 @@
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[b]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index f7aa6519a1..1adcd629dc 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2024
- tuda-ci v3.38 (2024-05-07)
+ tuda-ci v3.41 (2024-07-02)
***************************************************************************
@@ -360,3 +360,11 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- small layout adjustments and bugfixes
* 3.38 (2024-05-07)
- update PhD affidavit
+ * 3.39 (2024-06-27)
+ - update all templates to no longer use pdfx by default due to the pdfx bug
+ - fix letter last page reference
+ * 3.40 (2024-07-01)
+ - implement workaround for the pdfx package bug. Thanks to Ulrike Fischer for the hint!
+ - fix `ìn_department` strings for theses
+ * 3.41 (2024-07-01)
+ - change package loading order to support updated version of pdfx
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index 08f3ff90a1..94fb8c1ba0 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index 90c6f7e9c4..46572dc548 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
index 9c765b69b3..dba6a9b392 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 4de18237bc..7318772892 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index 4c91fe977d..1eff1dfc4c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index d3ff6b21bf..f0393a9152 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index 3928a61062..e58bb389eb 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index 1f4d8165c2..46617bca7d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 089c10109f..6cecc14327 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index b7cb7640ff..dcdda46cb2 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 99ec17f31a..ee5b7471f5 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 51f92e0df3..0f6944a3c9 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index f8f2e3a80e..3b108d83e3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,14 +34,14 @@
\documentclass[
paper=a4,
- ngerman,
+ german,
color=black!20,
footer=true,
type=announcement,
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaposter}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index a11d19f03e..be652d469a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaBeamer-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -32,15 +32,15 @@
% !TeX program = lualatex
%%
\documentclass[
- ngerman,%g'Globale Übergabe der Hauptsprache
- aspectratio=169,%Beamer Option zum Umschalten des Formates
+ german,% Globale Übergabe der Hauptsprache
+ aspectratio=169,% Beamer Option zum Umschalten des Formates
accentcolor=2d,% Akzentfarbe
logo=false,% Kein Logo auf Folgeseiten
- colorframetitle=true,%Akzentfarbe auch im Frametitle
-% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
- design=2008, %to activate the old design
+ colorframetitle=true,% Akzentfarbe auch im Frametitle
+% logofile=example-image, % Falls die Logo Dateien nicht vorliegen
+ design=2008, %Um das alte Design zu aktivieren
]{tudabeamer}
-\usepackage[main=ngerman]{babel}
+\usepackage[main=german]{babel}
% Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig:
\usepackage{iftex}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
index f94c402bfe..3e6e435754 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer2023.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaBeamer2023.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index d293b6a339..8b1022904a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index c5aa84e832..7b39c7fc3f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaExercise-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -33,11 +33,11 @@
%%
\documentclass[
- ngerman,
+ german,
points=true,% für die Aktivierung der Punktereferenzen funktioniert nicht für TeX Versionen vor 2020
]{tudaexercise}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 1d218f7a2d..3711a5c75a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 5d0b8aeb96..2303aa23ae 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaleaflet}
-\usepackage[ngerman]{babel}
+\usepackage[german]{babel}
\usepackage{blindtext}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index bedce9c23f..20a6dc4e9a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaLetter-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -31,9 +31,15 @@
%%
% !TeX program = lualatex
%%
+\DocumentMetadata{
+ pdfstandard=a-2b,
+ lang=de,
+ pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
+}
+
\documentclass[
- ngerman,
+ german,
% logo=false,%Schaltet das Logo für Folgeseiten ab
accentcolor=9c,%Akzentfarbe nach Tabelle aus den Corporate Design Richtlinien
premium=true,%Aktiviert die Färbung der Identitätsleiste
@@ -84,7 +90,7 @@ Zusätzliche Optionen sind im Folgenden aufgelistet:\\
}
Für Wiederverwendung der Absenderadresse wurde die Datei \enquote{DEMO"=TUDaFromaddress.lco} angelegt. Sie wird, wie bei \KOMAScript{} üblich, über
-\verb+\LoadLetterOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
+\verb+\LoadLett+\babelhyphen{empty}\verb+erOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
Die Adressdatei wird üblicherweise lokal im System installiert, um sie nicht immer mit allen anderen Dateien kopieren zu müssen. Falls Sie dies durchführen möchten, findet sich eine entsprechende Erklärung am Ende der DEMO"=TUDaFromaddress.lco"=Datei.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index d1742bebfd..6b14bfda0d 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD-de.tex' version 3.38 (2024-05-07)
+%% This is file `DEMO-TUDaPhD-de.tex' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,11 +34,12 @@
% PDF/A über pdfmanagement und nicht über pdfx
\DocumentMetadata{
pdfstandard=a-2b,
+ lang=de,
pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
\documentclass[
- german,% Hauptsprache als globale Option, früher war ngerman notwendig
+ german,% Hauptsprache als globale Option, früher war german notwendig
ruledheaders=chapter,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden, vgl. DEMO-TUDaPub
class=book,% Basisdokumentenklasse. Wählt die korrespondierende KOMA-Script Klasse
thesis={% Dokumententyp PhD Thesis, für kleinere Abschlussarbeiten, siehe DEMO-TUDaThesis-de.tex
@@ -57,7 +58,7 @@
%%%%%%%%%%%%%%%%%%%
% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
@@ -69,7 +70,7 @@
% Literaturverzeichnis
%%%%%%%%%%%%%%%%%%%
\usepackage{biblatex}
-\addbibresource{DEMO-TUDaBibliography}% Dateiname der .bib-datei
+\addbibresource{DEMO-TUDaBibliography.bib}% Dateiname der .bib-datei
%%%%%%%%%%%%%%%%%%%
% Paketvorschläge Tabellen
@@ -173,16 +174,16 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
- \usepackage[english, main=ngerman]{babel}
+ \usepackage[english, main=german]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
-Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
+Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen.
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
- \usepackage[ngerman, main=<Hauptsprache>]{babel}
+ \usepackage[german, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index e10f84dd8b..33a78fd1f3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaPoster-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,14 +34,14 @@
\documentclass[
paper=a0,
- ngerman,
+ german,
accentcolor=9c,
logo=body,% Logo unterhalb der Identitätsleise
footer=true,
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaposter}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 0bf058e1c3..7b03b612d8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaPub-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -31,14 +31,20 @@
%%
% !TeX program = lualatex
%%
+% PDF/A über pdfmanagement und nicht über pdfx
+\DocumentMetadata{
+ pdfstandard=a-2b,
+ lang=de,
+ pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
+}
\documentclass[
- ngerman,
+ german,
accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den Corporate Design Richtlinien
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudapub}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
@@ -234,7 +240,7 @@ Die \code{abstract}-Umgebung wird für \cls{tudapub} um eine Option für die Spr
\end{abstract}
\end{verbatim}
-Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{ngerman} als auch \code{english} an das \pck{babel}-Paket übergeben werden.
+Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{german} als auch \code{english} an das \pck{babel}-Paket übergeben werden.
\subsection{PDF/A Konformität}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index a3b0e56310..c5974e6ece 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaReport-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -33,13 +33,13 @@
%%
\documentclass[
- ngerman,
+ german,
accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den
type=intern,
marginpar=false
]{tudapub}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
%Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index bd8082039a..aba84ecdab 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.38 (2024-05-07),
+%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -41,7 +41,7 @@
]{tudasciposter}
%Sprache
-\usepackage[ngerman]{babel}
+\usepackage[german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index a646b8fd8a..12080524fb 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis-de.tex' version 3.38 (2024-05-07)
+%% This is file `DEMO-TUDaThesis-de.tex' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,11 +34,12 @@
% PDF/A über pdfmanagement und nicht über pdfx
\DocumentMetadata{
pdfstandard=a-2b,
+ lang=de,
pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
\documentclass[
- german,% Hauptsprache als globale Option, früher war ngerman notwendig
+ german,% Hauptsprache als globale Option, früher war german notwendig
ruledheaders=section,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden,
class=report,% Basisdokumentenklasse. Wählt die Korrespondierende KOMA-Script Klasse
thesis={type=bachelor},% Dokumententyp Thesis, für Dissertationen siehe die Demo-Datei DEMO-TUDaPhd
@@ -54,7 +55,7 @@
%%%%%%%%%%%%%%%%%%%
% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
@@ -66,7 +67,7 @@
% Literaturverzeichnis
%%%%%%%%%%%%%%%%%%%
\usepackage{biblatex}
-\addbibresource{DEMO-TUDaBibliography}% Dateiname der .bib-datei
+\addbibresource{DEMO-TUDaBibliography.bib}% Dateiname der .bib-datei
%%%%%%%%%%%%%%%%%%%
% Paketvorschläge Tabellen
@@ -190,16 +191,16 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
-Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
+Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen.
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
-\usepackage[ngerman, main=<Hauptsprache>]{babel}
+\usepackage[german, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index 67c92a5939..62af9069e5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamercolorthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
index 46c7da19c9..14a86607d1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa2008.sty' version 3.38 (2024-05-07)
+%% This is file `beamercolorthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index a245163dc1..c2ec43d33e 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.38 (2024-05-07)
+%% This is file `beamerfontthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
index 737f759508..4ac32a79cd 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa2008.sty' version 3.38 (2024-05-07)
+%% This is file `beamerfontthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 6a9072ed6e..f2a82c86a5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.38 (2024-05-07)
+%% This is file `beamerinnerthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
index cab08e361c..55644e9766 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerinnerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
index 22d50340c2..e4780a9fef 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2023.sty' version 3.38 (2024-05-07),
+%% This is file `beamerinnerthemeTUDa2023.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index 6081832c16..38f1a7b00a 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamerouterthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
index 70e31eecde..b74da09f60 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerouterthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index 04fac2c523..e84e7fa228 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index 7287a8625e..beb85e6785 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
index 684fc16de5..f3c3064841 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2008.sty' version 3.38 (2024-05-07),
+%% This is file `beamerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
\ProvidesPackage{beamerthemeTUDa2008}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt Design of 2008]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
index 48e7d697b9..7095ba69f1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2023.sty' version 3.38 (2024-05-07)
+%% This is file `beamerthemeTUDa2023.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 1978288520..55147ed57f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a0paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a0paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a0paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index bc63208933..4a89742e12 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a1paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
+\ProvidesExplFile{tuda-a1paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a1paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index cda6b6762b..57121954a4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a2paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a2paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a2paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
\dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a2paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index 3633a54584..e841639ad0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a3paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
+\ProvidesExplFile{tuda-a3paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a3paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 3618253919..646a994a6a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a4paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
+\ProvidesExplFile{tuda-a4paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a4paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index fda679c183..8c0ef0e94f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.38 (2024-05-07),
+%% This is file `tuda-a5paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
-\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
+\ProvidesExplFile{tuda-a5paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
}
\endinput
+%%
+%% End of file `tuda-a5paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 04e7c5712d..b0a32c7502 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.38 (2024-05-07),
+%% This is file `tuda-pgfplots.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index fdf0d8e02f..df4840467e 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.38 (2024-05-07),
+%% This is file `tudabeamer.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
@@ -124,9 +124,9 @@
\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
\bool_if:NT \g_ptxcd_pdfa_bool {
-\RequirePackage{scrlfile}
-\PreventPackageFromLoading{hyperref}
-\def\hypersetup#1{}
+ \RequirePackage{scrlfile}
+ \PreventPackageFromLoading{hyperref}
+ \def\hypersetup#1{}
}
\ExplSyntaxOff
@@ -137,7 +137,16 @@
\bool_if:NT \g_ptxcd_pdfa_bool {
\UnPreventPackageFromLoading{hyperref}
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
}
\hypersetup{hidelinks, unicode}
@@ -242,7 +251,7 @@
\let\accentfont\normalfont%
\file_if_exist:nT {\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str.sty}
- {\usepackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
+ {\RequirePackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
\ExplSyntaxOff
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 6a8afea418..44f09edb86 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.38 (2024-05-07),
+%% This is file `tudacolors.def' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 137697f261..448483daaf 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.38 (2024-05-07),
+%% This is file `tudacolors.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index 07afd270c2..366b966826 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.38 (2024-05-07),
+%% This is file `tudaexercise.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaexercise}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index 6a7873942a..9fb3ad0600 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.38 (2024-05-07),
+%% This is file `tudafonts.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index de3430b507..52b86eb332 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.38 (2024-05-07),
+%% This is file `tudaleaflet.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
@@ -88,7 +88,7 @@
\RequirePackage{scrextend}
\RequirePackage{scrlayer}
\PassOptionsToPackage{cmyk}{tudacolors}
-\usepackage[paper=leaflet]{tudarules}
+\RequirePackage[paper=leaflet]{tudarules}
\setlength{\headheight}{1cm}%to add headline
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 15baed6069..9eb3a15953 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.38 (2024-05-07),
+%% This is file `tudaletter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaletter}
@@ -48,6 +48,8 @@
raggedright .bool_gset:N = \g__ptxcd_letter_raggedright_bool,
pdfa .bool_gset:N = \g_ptxcd_pdfa_bool,
pdfa .initial:n = true,
+ pdfx .bool_gset:N = \g_ptxcd_pdfx_bool,
+ pdfx .initial:n = true,
logofile .tl_gset:N = \g_ptxcd_logofile_tl,
logofile .initial:n = tuda_logo,
department .choice:,
@@ -78,8 +80,38 @@
\ProcessKeyOptions[ptxcd/letter]
-\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
+\bool_if:NF \g_ptxcd_pdfa_bool {\bool_gset_false:N \g_ptxcd_pdfx_bool}
+\bool_if:NT \g_ptxcd_pdfa_bool {
+ \msg_new:nnn {tudapub} {colors-to-rgb} {
+ You~did~not~add~a~color~profile.\\
+ I~will~use~the~default~one~and~automatically~try~to~convert~internal~colors~to~RGB.\\
+ This~is~required~to~be~able~to~create~PDF/A~compliance.
+ }
+
+ \cs_if_exist:NT \pdfmeta_standard_get:nN {
+ \pdfmeta_standard_get:nN {outputintent_A} \l_tmpa_tl
+ \quark_if_no_value:NF \l_tmpa_tl {
+ \bool_gset_false:N \g_ptxcd_pdfx_bool
+ \msg_new:nnn{tudapub} {prefer-lualatex} {
+ I~detected~usage~of~l3pdfmeta~(\DocumentMetadata)~to~create~PDF/A.\\
+ tudapub~will~not~load~pdfx~to~avoid~conflicts.\\
+ To~disable this message use pdfx=false.
+ }
+ \msg_info:nn {tudapub} {prefer-lualatex}
+ }
+
+ \prop_if_in:NnF \g__pdfmeta_outputintents_prop {GTS_PDFA1} {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+ }
+ }
+}
+
+\bool_if:NT \g_ptxcd_pdfx_bool {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+}
\newcommand*{\@fontsizefilebase}{tudalettersize}
@@ -89,6 +121,11 @@
% Load the TUDa-colorscheme
\RequirePackage{tudacolors}
+\RequirePackage{tudafonts}
+\RequirePackage{graphicx}
+\RequirePackage{afterpage}
+\RequirePackage{ragged2e}
+
\bool_if:NTF \g__ptxcd_letter_premium_bool
{ \cs_new:Nn \ptxcd_premiumcolor: {accentcolor}
@@ -100,10 +137,6 @@
\let\ptxcd_use_premiumcolor_text:\relax
}
-\RequirePackage{tudafonts}
-\RequirePackage{graphicx}
-\RequirePackage{afterpage}
-\RequirePackage{ragged2e}
%%%%%Briefbogen
@@ -139,32 +172,50 @@
\geometry{top=30mm}
}
-\@setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
+\if_bool:N \g_ptxcd_pdfx_bool
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\else:
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+\fi:
+
+\RequirePackage[paper=a4]{tudarules}% might load pgfcore, so it has to be loaded after pdfx
+
+\setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
-\@setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
-\@setplength{firstfoothpos}{\useplength{firstheadhpos}}
-\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
+\setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
+\setplength{firstfoothpos}{\useplength{firstheadhpos}}
+\setplength{firstfootwidth}{\useplength{firstheadwidth}}
-\@setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{toaddrvpos}{50mm}
-\@setplength{backaddrheight}{4mm}
-\@setplength{toaddrindent}{0mm}
+\setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{toaddrvpos}{50mm}
+\setplength{backaddrheight}{4mm}
+\setplength{toaddrindent}{0mm}
-\@setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{refvpos}{106mm}
+\setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{refvpos}{106mm}
-\@setplength{subjectaftervskip}{2\baselineskip}
-\@setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
-\@setplength{refaftervskip}{0pt}
-\@setplength{subjectbeforevskip}{0pt}
-\@setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
-\@setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
+\setplength{subjectaftervskip}{2\baselineskip}
+\setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
+\setplength{refaftervskip}{0pt}
+\setplength{subjectbeforevskip}{0pt}
+\setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
+\setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
-\RequirePackage[paper=a4]{tudarules}
\bool_if:NTF \g__ptxcd_letter_headrule_bool {
\ptxcd_makeheadrule[width=\useplength{firstheadwidth},color=identbarcolor]{ptxcd_LetterheadRule}
@@ -354,7 +405,7 @@
\int_new:N \l_ptxcd_letter_lastpage_int
\cs_new:Nn \ptxcd_letterpagemark: {
%get lastpage for this letter if not already done
- \int_compare:nTF {\value{page} = 1} {
+ \int_compare:nNnTF {\value{page}} = {1} {
\bool_if:NTF \g__ptxcd_firstpagenumber_bool
{\bool_set_true:N \l_tmpa_bool}
{\bool_set_false:N \l_tmpa_bool}
@@ -362,16 +413,14 @@
{\bool_set_true:N \l_tmpa_bool}
\bool_if:NT \l_tmpa_bool {
\int_if_exist:cF {c_ptxcd_letter\thisletter _lastpage_int} {
- \expandafter\ifx\csname r@\thisletter.lastpage\endcsname\relax
- %warning -> rerun latex
- \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {0}
- \else
- \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {
- \cs_if_exist:NTF \hypersetup
- {\exp_args:NNc \expandafter \@secondoffive { r@\thisletter.lastpage}}
- {\exp_args:NNc \expandafter \use_ii:nn { r@\thisletter.lastpage}}
+ \cs_if_exist:cTF {r@\thisletter.lastpage} {
+ \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {
+ \exp_args:NNc \expandafter \@secondoffive { r@\thisletter.lastpage}
+ }
+ } {
+ %warning -> rerun latex
+ \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {0}
}
- \fi
}
\usekomafont{pagenumber}\pagename\nobreakspace\thepage
\int_compare:nT {
@@ -429,63 +478,135 @@
\def\letterpagestyle{TUDaLetter}
%pdfa
-\if_bool:N \g_ptxcd_pdfa_bool
+\if_bool:N \g_ptxcd_pdfx_bool
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
-%%hyperref
-\hypersetup{hidelinks, unicode}
-\iow_new:N \ptxcd_xmpdata_stream
-\tl_new:N \g_ptxcd_xmp_title
-\tl_new:N \g_ptxcd_xmp_author
-
-\cs_new:Nn \ptxcd_pass_TitleData: {
- \prop_if_empty:NF \g_ptxcd_MetaData_prop {
- \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata}
- \begingroup
- \def\newline{}
- \def\\{}
- \let\thanks\use_none:n
- \cs_set:Npn \and {\exp_not:N \sep}
- \use:c {pdfx@localcommands}
- \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn
- \endgroup
- \iow_close:N \ptxcd_xmpdata_stream
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+ %%hyperref
+ \hypersetup{hidelinks, unicode}
+ \iow_new:N \ptxcd_xmpdata_stream
+
+ \cs_if_exist:NF \prop_gput_if_new:Nnx {
+ \cs_generate_variant:Nn \prop_gput_if_new:Nnn {Nnx}
}
-}
-\cs_new:Nn \ptxcd_write_xmp_line:nn {
- %Fallback test for older kernels
- \cs_if_exist:NTF \str_uppercase:f {
- \tl_set:Nx \l_tmpa_tl {
- \str_uppercase:f {\tl_head:n {#1}}
- \str_lowercase:f { \tl_tail:n {#1}}
+ \cs_if_exist:NF \tl_to_str:V {\cs_generate_variant:Nn \tl_to_str:N {V}}
+
+ \cs_new:Nn \ptxcd_pass_TitleData: {
+ \prop_if_empty:NF \g_ptxcd_MetaData_prop {
+ \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata}
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \cs_set:Npn \and {\exp_not:N \sep}
+ \use:c {pdfx@localcommands}
+ \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn
+ \endgroup
+ \iow_close:N \ptxcd_xmpdata_stream
}
- } {
- %may be removed in some time
- \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}}
}
- \cs_if_exist:cTF {\l_tmpa_tl}{
- \iow_now:Nx \ptxcd_xmpdata_stream {
- \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}}
+ \cs_new:Nn \ptxcd_write_xmp_line:nn {
+ %Fallback test for older kernels
+ \cs_if_exist:NTF \str_uppercase:f {
+ \tl_set:Nx \l_tmpa_tl {
+ \str_uppercase:f {\tl_head:n {#1}}
+ \str_lowercase:f { \tl_tail:n {#1}}
+ }
+ } {
+ %may be removed in some time
+ \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}}
}
+ \cs_if_exist:cTF {\l_tmpa_tl}{
+ \iow_now:Nx \ptxcd_xmpdata_stream {
+ \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}}
+ }
+ }{
+ \msg_error:nnn{tudaletter} {unknown-metadata} {#1}
+ }
+ }
+
+ \bool_new:N \g_ptxcd_pass_TitleData_bool
+ \bool_gset_true:N \g_ptxcd_pass_TitleData_bool
+ \prop_new:N \g_ptxcd_MetaData_prop
+
+ \newcommand*{\Metadata}[1]{
+ \bool_gset_false:N \g_ptxcd_pass_TitleData_bool
+ \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1}
+ }
+
+ \msg_new:nnnn{tudaletter} {unknown-metadata} {
+ You~ used~ the~ #1~ metadata~ entry.\\
+ I~ don't~ know~ how~ to~ handle~ that.\\
+ It~ will~ be~ ignored.
+ } {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.}
+
+\else:
+ \hypersetup{pdfcreator=LaTeX~using~TUDa-CI}
+
+ \msg_new:nnnn {tudapub} {metadata-to-hypersetup} {
+ You~don't~use~pdfx.~
+ Here~the~\string\Metadata\~command~only~exists~for~compatibility~reasons.\\
+ I~will~pass~the~data~to~ḩypersetup.
}{
- \msg_error:nnn{tudaletter} {unknown-metadata} {#1}
+ If~possible~please~use~hyperref's~\strung\hypersetup~command~for~the~metadata~directly.\\
+ See~hyperref~documentation~for~details~on~usage.
}
-}
-\bool_new:N \g_ptxcd_pass_TitleData_bool
-\bool_gset_true:N \g_ptxcd_pass_TitleData_bool
-\prop_new:N \g_ptxcd_MetaData_prop
+ \newcommand*{\Metadata}[1]{
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \tl_replace_all:Nnn \l_tmpa_tl {\sep} {;~}% pdfx-Syntax compatibility
+ \clist_map_inline:Nn \l_tmpa_tl {
+ \exp_args:Nx \hypersetup{pdf\tl_trim_spaces:n {##1}}
+ }
+ \msg_warning:nn {tudapub} {metadata-to-hypersetup}
+ }
-\newcommand*{\Metadata}[1]{
- \bool_gset_false:N \g_ptxcd_pass_TitleData_bool
- \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1}
-}
-\msg_new:nnnn{tudaletter} {unknown-metadata} {
- You~ used~ the~ #1~ metadata~ entry.\\
- I~ don't~ know~ how~ to~ handle~ that.\\
- It~ will~ be~ ignored.
-} {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.}
+ \cs_new:Nn \ptxcd_pass_TitleData: {
+ % check if pdfmanagement is active
+ \prop_if_exist:NTF \g__pdfmanagement_documentproperties_prop {
+ \prop_set_eq:NN \l_tmpa_prop \g__pdfmanagement_documentproperties_prop
+ } {
+ \prop_set_eq:NN \l_tmpa_prop \g__hyp_documentproperties_prop
+ }
+
+ % title
+ \prop_if_in:NnF \l_tmpa_prop {hyperref/pdftitle} {
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \tl_gset:Nf \g_tmpa_tl {\@title}
+ \endgroup
+ \hypersetup{pdftitle={\tl_to_str:V \g_tmpa_tl}}
+ }
+
+ % author
+ \prop_if_in:NnF \l_tmpa_prop {hyperref/pdfauthor} {
+ \begingroup
+ \def\newline{}
+ \def\\{}
+ \let\thanks\use_none:n
+ \tl_gset:Nx \g_tmpa_tl {\seq_use:Nn \g_ptxcd_author_seq {\exp_not:N \and}}
+ \tl_gset:Nx \g_tmpa_tl {\g_tmpa_tl }
+ \endgroup
+ \hypersetup{pdfauthor=\g_tmpa_tl}
+ }
+ }
+
+ \bool_if:NF \g_ptxcd_pdfa_bool {
+ \msg_new:nnn{tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.}
+ \msg_info:nn{tudapub} {no-pdfa}
+ }
+
\fi:
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index 54348ee206..216642a28c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.38 (2024-05-07),
+%% This is file `tudalettersize10pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -37,9 +37,11 @@
%%
\ProvidesFile{%
tudalettersize10pt.clo%
-}[tudaletter font size class option]
-
-\def\normalsize{%
+}[
+ tudaletter font size class option (10pt)
+]
+\let\normalsize\@undefined
+\DeclareRobustCommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
@@ -49,9 +51,11 @@
}
\def\datasize{%
\normalsize
- \@setfontsize\normalsize\@xpt\@xiiipt
+ \@setfontsize\normalsize
+ \@xpt\@xiiipt
}
-\def\small{%
+\let\small\@undefined
+\DeclareRobustCommand\small{%
\@setfontsize\small\@ixpt{11}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
@@ -62,7 +66,8 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\footnotesize{%
+\let\footnotesize\@undefined
+\DeclareRobustCommand\footnotesize{%
\@setfontsize\footnotesize{7.5pt}\@xpt%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
@@ -73,21 +78,28 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
-\def\large{\@setfontsize\large\@xiipt{14}}
-\def\Large{\@setfontsize\Large\@xivpt{18}}
-\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\def\huge{\@setfontsize\huge\@xxpt{25}}
-\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\let\scriptsize\@undefined
+\let\tiny\@undefined
+\let\large\@undefined
+\let\Large\@undefined
+\let\LARGE\@undefined
+\let\huge\@undefined
+\let\Huge\@undefined
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xiipt{14}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xivpt{18}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxpt{25}}
+\DeclareRobustCommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
\normalsize
\setlength\footnotesep {6.65\p@}
\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
-\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop {0\p@ \@plus 1fil}
\setlength\@fpsep {8\p@ \@plus 2fil}
\setlength\@fpbot {0\p@ \@plus 1fil}
@@ -96,32 +108,32 @@
\setlength\@dblfpbot {0\p@ \@plus 1fil}
\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@}
\def\@listi{\leftmargin\leftmargini
- \parsep 4\p@ \@plus2\p@ \@minus\p@
- \topsep 8\p@ \@plus2\p@ \@minus4\p@
- \itemsep4\p@ \@plus2\p@ \@minus\p@}
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep \parsep}
\let\@listI\@listi
\def\@listii {\leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep 4\p@ \@plus2\p@ \@minus\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep}
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep 2\p@ \@plus\p@\@minus\p@
- \parsep \z@
- \partopsep \p@ \@plus\z@ \@minus\p@
- \itemsep \topsep}
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep \z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep \topsep}
\def\@listiv {\leftmargin\leftmarginiv
- \labelwidth\leftmarginiv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
\def\@listv {\leftmargin\leftmarginv
- \labelwidth\leftmarginv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
\def\@listvi {\leftmargin\leftmarginvi
- \labelwidth\leftmarginvi
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
\@ifundefined{@list@extra}{}{%
\expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index 83f385b172..d1d70773e8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.38 (2024-05-07),
+%% This is file `tudamecheng.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 99b2d2d07d..0286215cb0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.38 (2024-05-07),
+%% This is file `tudaposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index a863197f83..976d2a943c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.38 (2024-05-07),
+%% This is file `tudapub.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudapub}
@@ -224,11 +224,6 @@
}
}
-\bool_if:NT \g_ptxcd_pdfx_bool {
- \PassOptionsToPackage{RGB}{xcolor}
- \msg_info:nn {tudapub} {colors-to-rgb}
-}
-
\exp_args:Nx \tl_if_eq:nnT {\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}} {9pt}
{
\prop_if_in:NnF \g_ptxcd_unknown_clsopts_prop {DIV}
@@ -254,6 +249,64 @@
\LoadClass{\g_ptxcd_pub_class_tl}
+\RequirePackage{tudafonts}
+\RequirePackage{tudacolors}
+\RequirePackage[draft=false]{scrlayer-scrpage}
+\RequirePackage{graphicx}
+
+\bool_if:NTF \g_ptxcd_pdfx_bool {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+
+ %only apply the hack if pdfx is older than the working version
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+
+ \msg_new:nnn{tudapub} {prefer-lualatex} {
+ You~use~pdfa-mode~in~#1.\\
+ This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
+ You~should~prefer~using~lualatex.
+ }
+ \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
+ Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
+ Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
+ }{See~DEMO-tudapub~for~further~information.}
+
+
+ \sys_if_engine_pdftex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
+ }
+
+ \sys_if_engine_xetex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
+ }
+
+ \@ifpackagelater{xmpincl}{2021/09/22}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
+ }
+
+ \@ifpackagelater{pdfx}{2018/12/01}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
+ }
+} {
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+}
+
+\RequirePackage{tudarules}
+\RequirePackage{trimclip}
+\RequirePackage{bookmark}
\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop {
\cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} {
@@ -299,12 +352,6 @@
}
-\usepackage{tudarules}
-
-
-%,~ subsection,~
-\usepackage{tudafonts}
-
%Margin & titlefontsize setup setup
\bool_new:N \g_ptxcd_marginpar_bool
@@ -386,8 +433,7 @@
%%%%%Anfang Randeinstellungen Geometry
-%Has to be loaded here due to headwidth options
-\usepackage[draft=false]{scrlayer-scrpage}
+
\AddToHook{begindocument}[tudapub:BCOR-titlepage]{
\bool_if:NT \g_ptxcd_BCOR_titlepage_bool
@@ -464,7 +510,6 @@
-
\newcommand*{\institution}[1]{
\def\ptxcd_institution{#1}
}
@@ -472,7 +517,6 @@
\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox}
-\usepackage{tudacolors}
\setkomafont{disposition}{\sffamily\bfseries}
\setkomafont{pageheadfoot}{\sffamily\small}
@@ -600,7 +644,6 @@
\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}}
\box_new:N \l__ptxcd_titlegraphic_box
-\RequirePackage{trimclip}
\NewDocumentCommand{\titlegraphic}{sm}{
\IfBooleanTF{#1}{
@@ -640,7 +683,7 @@
You~selected~an~unknown~language~#1.\\
The~Variable~#2~does~not~have~a~predefined~value.\\
Ensure~to~redefine~#2~to~match~your~language.\\
- Otherwise~the~ngerman~vaue~#3~will~be~used.
+ Otherwise~the~german~vaue~#3~will~be~used.
}
\cs_new:Nn \ptxcd_define_captionFallback:Nn {
@@ -870,43 +913,8 @@
\DeclareNewPageStyleByLayers{title.TUDa}{title.TUDa.background,title.TUDa.rule,title.TUDa.image}
%Logos
-\RequirePackage{graphicx}
\if_bool:N \g_ptxcd_pdfx_bool
-
- \msg_new:nnn{tudapub} {prefer-lualatex} {
- You~use~pdfa-mode~in~#1.\\
- This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
- You~should~prefer~using~lualatex.
- }
- %only apply the hack if pdfx is older than the working version
- \PassOptionsToPackage{a-2b}{pdfx}
- \RequirePackage{pdfx}
-
- \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
- Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
- Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
- }{See~DEMO-tudapub~for~further~information.}
-
-
- \sys_if_engine_pdftex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
- }
-
- \sys_if_engine_xetex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
- }
-
- \@ifpackagelater{xmpincl}{2021/09/22}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
- }
-
- \@ifpackagelater{pdfx}{2018/12/01}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
- }
-
%%hyperref
\hypersetup{hidelinks, unicode}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 76dae0e2e7..98182d08c1 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.38 (2024-05-07),
+%% This is file `tudarules.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index e3bda42e20..71e8123ef1 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.38 (2024-05-07),
+%% This is file `tudasciposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
@@ -123,16 +123,36 @@
\PassOptionsToPackage{DIV=10}{typearea}
\LoadClass[parskip=full-]{scrartcl}
\RequirePackage{tudafonts}
-\RequirePackage{tikz}
-\usetikzlibrary{calc}
+\RequirePackage{calc}
+\RequirePackage[margin=0pt]{geometry}
+\RequirePackage{tudacolors}
+
+\ExplSyntaxOn
+
+\if_bool:N \g_ptxcd_pdfa_bool
+\PassOptionsToPackage{a-2b}{pdfx}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\fi:
+
+\ExplSyntaxOff
\RequirePackage{tcolorbox}
\tcbuselibrary{poster}
-\RequirePackage[margin=0pt]{geometry}
-\ExplSyntaxOn
-
+\RequirePackage[mode=tikz]{tudarules}
+\RequirePackage{qrcode}
+\ExplSyntaxOn
%Font adjusments
\renewcommand*{\familydefault}{\sfdefault}
@@ -150,9 +170,7 @@
% end of font adjustments
-\RequirePackage[mode=tikz]{tudarules}
-\RequirePackage{tudacolors}
-\RequirePackage{qrcode}
+
\dim_const:Nn \c_ptxcd_headrule_ht_dim {\c_ptxcd_rulesep_dim +\c_ptxcd_largerule_dim + \c_ptxcd_smallrule_dim}
%Setup title
@@ -231,8 +249,6 @@
%%%%%%%%%%%%%%%%%%%
%PDFA
\if_bool:N \g_ptxcd_pdfa_bool
-\PassOptionsToPackage{a-2b}{pdfx}
-\RequirePackage{pdfx}
%%hyperref
\hypersetup{hidelinks, unicode, hyperfootnotes=false}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index 8537d16f7c..4f61806992 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.38 (2024-05-07),
+%% This is file `tudasize9pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index e25ded1a68..54ffeeacd0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.38 (2024-05-07),
+%% This is file `tudathesis.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.38}
-\def\filedate{2024-05-07}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
@@ -56,8 +56,9 @@
}
{
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
- \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
\ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} { \ptxcd_department:{}~ \text_titlecase:n{\departmentname}}
+ \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
+ \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix:{}~\ptxcd_department:}{\ptxcd_departmentprefix:{}~\ptxcd_department:}
}
{\bool_if:NTF \g_ptxcd_dr_bool
{
@@ -203,7 +204,7 @@
\IfBooleanTF{#1}{
\tl_gset:Nn \ptxcd_department: {#3}
\tl_gset:Nn \ptxcd_in_department{#3}
- \IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
+ \IfNoValueTF {#2} {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
\clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department}
}{
\tl_gset:Nn \g_ptxcd_department_choice_tl {#3}
@@ -373,7 +374,7 @@
{\keys_set:nn {ptxcd/thesis} {printid=#1}}
\lowertitleback{
\urlstyle{same}
- \selectlanguage{ngerman}
+ \selectlanguage{german}
Bitte~zitieren~Sie~dieses~Dokument~als:
\tl_if_empty:NF \g_ptxcd_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_ptxcd_thesis_urn_tl}\\
URL:~\url{https://tuprints.ulb.tu-darmstadt.de/\g_ptxcd_thesis_tuprints_tl}\\
@@ -530,7 +531,7 @@
\selectfont
{\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}%
\usekomafont{subject}
- \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{ngerman}}
+ \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{german}}
\tl_if_empty:NF \g_ptxcd_titleintro_tl {\g_ptxcd_titleintro_tl\par}
\tl_if_empty:NF \g_ptxcd_thesis_drtext_tl {\g_ptxcd_thesis_drtext_tl\par}
{%
@@ -644,7 +645,7 @@
{\keys_set:nn {ptxcd/thesis} {affidavit=#2}}%
}%
\clearpage
-\begin{otherlanguage}{ngerman}
+\begin{otherlanguage}{german}
\bool_if:NTF \g_ptxcd_dr_bool {
\g__ptxcd_affidavit_dr_tl
} {
@@ -661,8 +662,6 @@
\expandafter\def\csname g__ptxcd_affidavit_dr_tl\endcsname {%
\section*{Erklärungen laut Promotionsordnung}
- \subsection*{\S\,8 Abs. 1 lit. c PromO}
- Ich versichere hiermit, dass die elektronische Version meiner Dissertation mit der schriftlichen Version übereinstimmt.
\subsection*{\S\,8 Abs. 1 lit. d PromO}
Ich versichere hiermit, dass zu einem vorherigen Zeitpunkt noch keine Promotion versucht wurde. In diesem Fall sind nähere Angaben über Zeitpunkt, Hochschule, Dissertationsthema und Ergebnis dieses Versuchs mitzuteilen.
@@ -744,7 +743,7 @@
Use~"ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk.
}
-\PassOptionsToPackage{ngerman}{babel}
+\PassOptionsToPackage{german}{babel}
\AtBeginDocument{
\@ifpackageloaded{babel}{}{
\msg_new:nnnn{tudapub/thesis} {missing-babel} {
diff --git a/macros/latex/contrib/typog/LICENSE b/macros/latex/contrib/typog/LICENSE
new file mode 100644
index 0000000000..888d9e68e7
--- /dev/null
+++ b/macros/latex/contrib/typog/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3c
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % https://www.latex-project.org/lppl.txt
+ % and version 1.3c or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/typog/Makefile b/macros/latex/contrib/typog/Makefile
index bb3c83ab24..1b7e0b21a3 100644
--- a/macros/latex/contrib/typog/Makefile
+++ b/macros/latex/contrib/typog/Makefile
@@ -7,8 +7,9 @@
SHELL := /bin/sh
-LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
-LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_PROPER := pdflatex
+LATEX := /usr/bin/env max_print_line=2147483647 $(LATEX_PROPER)
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode -output-directory=.
LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
@@ -16,6 +17,10 @@ MAKEINDEX := makeindex
MAKEINDEX_FLAGS := -q
+MAKEINFO := makeinfo
+MAKEINFO_FLAGS := --no-split
+
+
METAPOST := mpost
METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
@@ -24,8 +29,12 @@ PODCHECKER := podchecker
PODCHECKER_FLAGS := -warnings
+define SED_VERSION_REGEXP
+^\( *\|\\ProvidesPackage{[^}]*} *\)\[\([0-9][0-9]*/[0-9][0-9]*/[0-9][0-9]*\) *v\([^ ]*\) *\([^]]*\)].*$$
+endef
+
POD2MAN := pod2man
-POD2MAN_FLAGS := $$(sed -ne 's,\\ProvidesPackage{typog}\[\([0-9][0-9]*/[0-9][0-9]*/[0-9][0-9]*\) *v\([^ ]*\) .*$$,--date=\1 --release=\2,p' < typog.sty)
+POD2MAN_FLAGS := $$(sed -ne 's,$(SED_VERSION_REGEXP),--date=\2 --release=\3,p' < typog.sty)
POD2TEXI := pod2texi
@@ -33,31 +42,32 @@ POD2TEXI_FLAGS :=
GROFF := groff
-## Codes of serif fonts that work for PDF output
+## Codes of fonts that work for PDF output as by the contents
+## of "/usr/share/groff/current/font/devpdf".
+##
+## Serif
## BM: URW Bookman L
## N: URW Century Schoolbook L
## P: URW Palladio L
## T: URW Nimbus Roman No9 L
+##
+## Sans Serif
+## A: Avantgarde
+## H: Helvetica
+##
+## Monospace
+## C: Courier
GROFF_FLAGS := -Tpdf -dpaper=a4 -fP -man -wall
-SPELLCHECK := aspell
-SPELLCHECK_FLAGS := \
- --add-tex-command='citenum p' --add-tex-command='code p' \
- --add-tex-command='Cref p' --add-tex-command='cref p' \
- --add-tex-command='cs p' \
- --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
- --add-tex-command='marg p' --add-tex-command='meta p' \
- --add-tex-command='oarg p' \
- --lang=en_US --mode=tex
-
-
-SOURCE_FILES := LICENSE Makefile typog.dtx typog.ins
+PROJECT_NAME := typog
+SOURCE_FILES := LICENSE Makefile README.md typog.dtx typog.ins
+DOCUMENTATION_FILES := typog-example.pdf typog-grep.1.pdf typog.pdf
.PHONY: all
-all: sty pdf man
+all: sty pdf bin man
.PHONY: sty
@@ -65,7 +75,7 @@ sty: typog.sty
.PHONY: pdf
-pdf: doc ex nomt
+pdf: doc ex test
.PHONY: doc
@@ -76,69 +86,88 @@ doc: typog.pdf
ex: typog-example.pdf
-.PHONY: nomt
-nomt: typog-nomt.pdf
+.PHONY: test
+test: typog-minimal-test.pdf typog-without-microtype-test.pdf
+
+
+.PHONY: bin
+bin: typog-grep
.PHONY: man
man: typog-grep.1
-.PHONY: cpio
-cpio:
- cd ..; \
- echo $(addprefix typog/,$(SOURCE_FILES)) | \
- cpio -o | \
- gzip > "typog-$$(date +%Y-%m-%d).cpio.gz"
+export TEMPORARY_DIRECTORY
+
+
+.PHONY: dist
+dist:
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ trap '$(RM) -r $(TEMPORARY_DIRECTORY); exit 1' HUP INT QUIT TERM; $(MAKE) __dist
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+
+
+.PHONY: __dist
+__dist: LATEX_FLAGS += -interaction=batchmode
+__dist: $(DOCUMENTATION_FILES)
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ cp $(SOURCE_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ cp $(DOCUMENTATION_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ tar czf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY) $(PROJECT_NAME)
-.PHONY: tar
-tar:
- cd ..; \
- tar czf "typog-$$(date +%Y-%m-%d).tar.gz" $(addprefix typog/,$(SOURCE_FILES))
+.PHONY: distcheck
+distcheck: LATEX_FLAGS += -interaction=batchmode
+distcheck: dist
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ tar xzf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY)
+ $(MAKE) --directory=$(TEMPORARY_DIRECTORY)/$(PROJECT_NAME) LATEX_FLAGS='$(LATEX_FLAGS)' all
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+ @printf '\n\ndistcheck passed.\n'
.PHONY: clean
clean:
- $(RM) ./*.1 ./*.aux ./*.brf ./*.glg ./*.glo ./*.gls
- $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.loe ./*.lof ./*.log ./*.lot
- $(RM) ./*.mps ./*.mpx ./*.out ./*.pdf ./*.toc
+ $(RM) ./*.1 ./*.aux ./*.brf ./*.dvi ./*.glg ./*.glo ./*.gls
+ $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.info ./*.loe ./*.lof ./*.log ./*.lot
+ $(RM) ./*.mps ./*.mpx ./*.out ./*.pdf ./*.pl.in ./*.toc
$(RM) mptextmp.* mpxerr.tex
$(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
+ $(RM) typog-grep typog-grep.version.sed
+ $(RM) $(PROJECT_NAME).tar.gz
.PHONY: mostlyclean
mostlyclean: clean
+ $(RM) ./*.texi
.PHONY: maintainer-clean
maintainer-clean: mostlyclean
- $(RM) ./*.ist ./*.mp ./*.pl ./*.pod ./*.sed ./*.sty ./*.tex
+ $(RM) ./*.gst ./*.ist ./*.mp ./*.pl ./*.pod ./*.sed ./*.sty ./*.tex
.PHONY: tool-check
tool-check:
- @printf '*** LATEX = "%s"\n' '$(LATEX)'
- $(LATEX) --version
+ @printf '*** LATEX_PROPER = "%s"\n' '$(LATEX_PROPER)'
+ $(LATEX_PROPER) --version
+ @printf '\n\n*** BibTeX\n'
+ bibtex --version
@printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
- $(MAKEINDEX) < /dev/null
+ $(MAKEINDEX) < /dev/null
@printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
$(METAPOST) --version
@printf '\n*** POD2MAN = "%s"\n' '$(POD2MAN)'
$(POD2MAN) --help > /dev/null
@printf '\n\n*** POD2TEXI = "%s"\n' '$(POD2TEXI)'
$(POD2TEXI) --version
- @printf '\n\nTool check passed.\n'
-
-
-.PHONY: spell-check
-spell-check:
- @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
- -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < typog.dtx | \
- sed -e 's/^ *%%*//' | \
- sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
- $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
- sort | uniq | fmt | sed -e 's/ / /g'
+ @printf '\n\ntool check passed.\n'
.PHONY: update-docs
@@ -151,10 +180,16 @@ Selected Phony Targets
----------------------
all: Make everything there is to make. This is the .DEFAULT_GOAL.
+bin: Build typog-grep (which is not a binary, but executable).
+
clean: Remove some products.
-cpio: In the parent directory create a cpio(1) archive of the
- project source files whose name is time-stamped.
+dist: Create a tar file of the project source files and the PDF
+ documentation files. The archive is in the form and has a
+ name that CTAN prefers.
+
+distcheck: Create a tar file of the project source files, unpack it in
+ a different location and build all targets.
doc: Build "typog.pdf" the Typog documentation.
@@ -170,12 +205,14 @@ pdf: Build doc: and gauge:.
sty: Only extract "typog.sty" from "typog.dtx". This
operation requires LaTeX (-> $(LATEX)) and nothing else.
-tar: In the parent directory create a tar(1) file of the project
- source files whose name is time-stamped.
+test: Run some tests.
tool-check: Check whether some of the required tools to build the
project are available.
+update-docs: Copy the documentation files into the "docs"
+ sub-directory.
+
Selected Implicit Rules
-----------------------
@@ -206,6 +243,7 @@ README: Convert "README.html" to plain text. Requires w3m(1).
endef
+
.PHONY: help
help:
$(info $(HELP_SCREEN))
@@ -217,10 +255,10 @@ help:
define MAKE_INDEX_AND_GLOSSARY
-sed -e '/@/d' -e 's/{\\ttfamily /{\\ttfamily\\hskip0pt\\relax /' < $*.idx > ,$*.idx; \
+sed -e '/@/d' -e 's/{\\ttfamily /{\\ttfamily\\hskip0pt\\relax /' < $*.idx > ,$*.idx; \
mv ,$*.idx $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s typog.ist -t $*.ilg -o $*.ind $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.gst -t $*.glg -o $*.gls $*.glo
endef
define GREP_LATEX_WARNINGS
@@ -253,7 +291,13 @@ endef
%-1.mps %-2.mps %-3.mps %-4.mps: %.mp
- $(METAPOST) -s 'outputtemplate="%j-%c.mps"' $(METAPOST_FLAGS) $<
+ $(METAPOST) -s 'outputtemplate="%j-%c.mps"' $(METAPOST_FLAGS) $< || { \
+ printf '=== $*.log ===\n'; \
+ cat $*.log; \
+ printf '\n\n=== mpxerr.log ===\n'; \
+ cat mpxerr.log; \
+ false; \
+ } 1>&2
%.1: %.pod
@@ -263,6 +307,15 @@ endef
%.1.pdf: %.1
$(GROFF) $(GROFF_FLAGS) ./$< > $@
+%.texi: %.pod
+ $(POD2TEXI) $(POD2TEXI_FLAGS) --output=$@ ./$<
+
+%.info: %.texi
+ $(MAKEINFO) $(MAKEINFO_FLAGS) --output=$@ $<
+
+%.info.pdf: %.texi
+ $(MAKEINFO) $(MAKEINFO_FLAGS) --pdf --output=$@ $<
+
%.tex: %.pod | teximan2latex.sed
$(POD2TEXI) $(POD2TEXI_FLAGS) ./$< | sed -f teximan2latex.sed > $@
@@ -276,12 +329,11 @@ endef
crooked-paragraphs.mp slant-angle.mp smooth-parshapes.mp title.mp \
teximan2latex.sed \
-typog-grep.pl typog-grep typog-grep.pod \
-typog.sty typog.ist typog-example.tex typog-nomt.tex: \
+typog-grep.pl.in typog-grep.pod \
+typog.sty typog.ist typog-example.tex \
+typog-minimal-test.tex typog-without-microtype-test.tex: \
typog.ins typog.dtx
$(LATEX) $(LATEX_FLAGS) $<
- chmod 755 typog-grep.pl
- ln -sf typog-grep.pl typog-grep
crooked-paragraphs-1.mps crooked-paragraphs-2.mps \
@@ -300,3 +352,14 @@ typog.pdf: typog.dtx \
smooth-parshapes-1.mps smooth-parshapes-2.mps smooth-parshapes-3.mps \
typog-grep.tex \
| typog.sty
+
+
+typog-grep.pl: typog-grep.pl.in typog.sty
+ sed -ne 's,$(SED_VERSION_REGEXP),s#@DATE@#\2#g\ns#@RELEASE@#\3#g\ns#@TITLE@#\4#g,p' \
+ < typog.sty \
+ > typog-grep.version.sed
+ sed -f typog-grep.version.sed < $< > $@
+ chmod 755 $@
+
+typog-grep: typog-grep.pl
+ ln -sf $< $@
diff --git a/macros/latex/contrib/typog/README.md b/macros/latex/contrib/typog/README.md
index fb55ccb1e1..c67519bffc 100644
--- a/macros/latex/contrib/typog/README.md
+++ b/macros/latex/contrib/typog/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/typog/actions/workflows/distcheck.yml/badge.svg)
+
+
# TypoG &ndash; Typographic Fine-Tuning for LaTeX
LaTeX package `typog` provides macros for (micro-)typographic enhancements;
@@ -8,6 +11,7 @@ it covers a variety of topics:
* Manual italic correction
* Extra kerning for slash and hyphen
* Raising selected characters (e.g. hyphen, en-dash, and em-dash)
+* Adjusting the vertical position of `itemize`'s labels
* Aligning of the last line of a paragraph
* Filling of the last line last line of a paragraph
* Word spacing control
diff --git a/macros/latex/contrib/typog/RELEASE-HOWTO.md b/macros/latex/contrib/typog/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d..0000000000
--- a/macros/latex/contrib/typog/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/macros/latex/contrib/typog/docs/index.md b/macros/latex/contrib/typog/docs/index.md
deleted file mode 100644
index f4dc2e8bd9..0000000000
--- a/macros/latex/contrib/typog/docs/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Package Documentation
-
-- Comprehensive `typog` documentation: [typog.pdf](https://cspiel.github.io/typog/typog.pdf)
-- `typog` examples and tests: [typog-example.pdf](https://cspiel.github.io/typog/typog-example.pdf)
-- **typog-grep** manual page: [typog-grep.1](https://cspiel.github.io/typog/typog-grep.1) and as PDF: [typog-grep.1.pdf](https://cspiel.github.io/typog/typog-grep.1.pdf)
diff --git a/macros/latex/contrib/typog/docs/typog-example.pdf b/macros/latex/contrib/typog/docs/typog-example.pdf
index 621ac319d2..48a8a506e1 100644
--- a/macros/latex/contrib/typog/docs/typog-example.pdf
+++ b/macros/latex/contrib/typog/docs/typog-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1 b/macros/latex/contrib/typog/docs/typog-grep.1
deleted file mode 100644
index 372c87bc5f..0000000000
--- a/macros/latex/contrib/typog/docs/typog-grep.1
+++ /dev/null
@@ -1,428 +0,0 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.nr rF 0
-.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{\
-. if \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-. \}
-.\}
-.rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "TYPOG-GREP 1"
-.TH TYPOG-GREP 1 "2024-05-07" "perl v5.36.0" "User Contributed Perl Documentation"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.\" Turn off justification.
-.na
-.SH "NAME"
-typog\-grep \- grep for typog\-inspect elements in LaTeX log files
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-.IP "\fBtypog-grep\fR \-a|\-\-all|\-\-any [\fI\s-1OPTION\s0\fR...] \fILOG-FILE\fR..." 4
-.IX Item "typog-grep -a|--all|--any [OPTION...] LOG-FILE..."
-.PD 0
-.IP "\fBtypog-grep\fR [\fI\s-1OPTION\s0\fR...] \fI\s-1REGEXP\s0\fR \fILOG-FILE\fR..." 4
-.IX Item "typog-grep [OPTION...] REGEXP LOG-FILE..."
-.PD
-.PP
-The first form shows all \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements in \fILOG-FILE\fR.
-.PP
-The second form shows the contents of \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements
-whose \fI\s-1ID\s0\fRs match \fI\s-1REGEXP\s0\fR in \fILOG-FILE\fR.
-.PP
-If no \fILOG-FILE\fR is given read from \fIstdin\fR.
-The filename\ \f(CW\*(C`\-\*(C'\fR is synonymous to \fIstdin\fR.
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBtypog-grep\fR is a tailored post-processor for LaTeX log files
-and the \f(CW\*(C`typoginspect\*(C'\fR environment as provided by package\ typog.
-It shares more with the venerable
-\&\fBsgrep\fR <https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
-than with \s-1POSIX\s0\ \fBgrep\fR <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.
-.PP
-The LaTeX user brackets her text in
-.PP
-.Vb 3
-\& \ebegin{typoginspect}{ID}
-\& Text and code to investigate
-\& \eend{typoginspect}
-.Ve
-.PP
-where \fI\s-1ID\s0\fR is used to identify one or more bracketed snippets.
-\&\fI\s-1ID\s0\fR does not have to be unique.
-The \fI\s-1REGEXP\s0\fR mechanism makes it easy to select groups of related \fI\s-1ID\s0\fRs
-if they are named accordingly.
-.PP
-In \fILOG-FILE\fR the environment shows up, packed with tracing information, as
-.PP
-.Vb 3
-\& <typog\-inspect id="ID" job="JOB\-NAME" line="LINE\-NUMBER" page="PAGE\-NUMBER">
-\& Trace Data
-\& </typog\-inspect>
-.Ve
-.PP
-where all the capital-letter sequences are meta-variables
-and in particular
-\&\fIJOB-NAME\fR is the expansion of \f(CW\*(C`\ejobname\*(C'\fR,
-\&\fILINE-NUMBER\fR is the LaTeX source file line number
-of the beginning of the \f(CW\*(C`typoginspect\*(C'\fR environment,
-and \fIPAGE-NUMBER\fR is the page where
-the output of \f(CW\*(C`Text\ and\ code\ to\ investigate\*(C'\fR occurs.
-.PP
-\&\fBtypog-grep\fR reveals the contents of \fILOG-FILE\fR
-between \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR
-and \f(CW\*(C`</typog\-inspect>\*(C'\fR excluding the XML-tags.
-Access the \fIJOB-NAME\fR, \fILINE-NUMBER\fR, and \fIPAGE-NUMBER\fR
-with the commandline options
-\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, and \fB\-\-page\-number\fR, respectively.
-Use \fB\-\-id\fR to show the name of the IDs that matched \fI\s-1REGEXP\s0\fR.
-.PP
-\&\f(CW\*(C`typoginspect\*(C'\fR environments can be nested.
-\&\fBtypog-grep\fR respects the nesting,
-i.e., if the \fI\s-1ID\s0\fR of the nested environment does not match \fI\s-1REGEXP\s0\fR
-it will not be included in the program's output.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-The list of options is sorted by the names of the long options.
-.IP "\fB\-a\fR, \fB\-\-all\fR, \fB\-\-any\fR" 4
-.IX Item "-a, --all, --any"
-ID-discovery mode:
-Show all \f(CW\*(C`typog\-inspect\*(C'\fR elements independent of any matching patterns.
-.IP "\fB\-\-color\fR, \fBcolour\fR \fI\s-1WHEN\s0\fR" 4
-.IX Item "--color, colour WHEN"
-Colorize specific log contents for the matching ids.
-The argument\ \fI\s-1WHEN\s0\fR determines when to apply color:
-\&\f(CW\*(C`always\*(C'\fR, \f(CW\*(C`never\*(C'\fR, or\ \f(CW\*(C`auto\*(C'\fR.
-The setting \f(CW\*(C`auto\*(C'\fR checks whether standard output has been redirected.
-This is the default.
-.IP "\fB\-C\fR, \fB\-\-config\fR \fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:\fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:...]]" 4
-.IX Item "-C, --config KEY=VALUE[:KEY=VALUE[:...]]"
-Set one or more configuration \fI\s-1KEY\s0\fR to \fI\s-1VALUE\s0\fR pairs.
-See Sec.\ \s-1CONFIGURATION\s0 below for a description of all available configuration items.
-Use option \fB\-\-show\-config\fR to display the default configuration.
-.IP "\fB\-\-debug\fR" 4
-.IX Item "--debug"
-Turn on debug output on \fIstderr\fR.
-.IP "\fB\-h\fR, \fB\-\-help\fR" 4
-.IX Item "-h, --help"
-Display brief help then exit.
-.IP "\fB\-i\fR, \fB\-\-[no\-]id\fR" 4
-.IX Item "-i, --[no-]id"
-Print the actual id name that matched \fI\s-1REGEXP\s0\fR.
-Control the appearance of the matching id with configuration item\ \f(CW\*(C`id\-heading\*(C'\fR.
-.IP "\fB\-y\fR, \fB\-\-[no\-]ignore\-case\fR" 4
-.IX Item "-y, --[no-]ignore-case"
-Match ids while ignoring case distinctions in patterns and data.
-.IP "\fB\-j\fR, \fB\-\-[no\-]job\-name\fR" 4
-.IX Item "-j, --[no-]job-name"
-Print the \f(CW\*(C`\ejobname\*(C'\fR that \fBtex\fR associated with the input file.
-.IP "\fB\-n\fR, \fB\-\-[no\-]line\-number\fR" 4
-.IX Item "-n, --[no-]line-number"
-Print the line number where the \f(CW\*(C`typoginspect\*(C'\fR\ environment
-was encountered in the LaTeX source file.
-.IP "\fB\-N\fR, \fB\-\-[no\-]log\-line\-number\fR" 4
-.IX Item "-N, --[no-]log-line-number"
-Print the line number of the \fIlog\fR\-file where the current line was encountered.
-.IP "\fB\-p\fR, \fB\-\-[no\-]page\-number\fR" 4
-.IX Item "-p, --[no-]page-number"
-Print page number where the contents of the \f(CW\*(C`typoginspect\*(C'\fR\ environment
-starts in the typeset document.
-.IP "\fB\-P\fR, \fB\-\-[no\-]pager\fR" 4
-.IX Item "-P, --[no-]pager"
-Redirect output from \fIstdout\fR to the configured pager.
-.IP "\fB\-\-show\-config\fR" 4
-.IX Item "--show-config"
-Show the default configuration and exit.
-.IP "\fB\-V\fR, \fB\-\-version\fR" 4
-.IX Item "-V, --version"
-Show version information and exit.
-.IP "\fB\-w\fR, \fB\-\-[no\-]word\-regexp\fR" 4
-.IX Item "-w, --[no-]word-regexp"
-Match only whole words.
-.SH "CONFIGURATION"
-.IX Header "CONFIGURATION"
-.ie n .IP """id\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "id-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in inline-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%s:\fR.
-.ie n .IP """id\-heading""=0|1" 4
-.el .IP "\f(CWid\-heading\fR=\f(CW0\fR|\f(CW1\fR" 4
-.IX Item "id-heading=0|1"
-Choose between printing the matching ids with option\ \fB\-\-id\fR:
-Inline\ (\f(CW0\fR) or heading before the matching data (\f(CW1\fR).
-Default:\ \f(CW0\fR.
-.ie n .IP """id\-heading\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-heading\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "id-heading-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in heading-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW\*(C`\-\->\ %s\ <\-\-\*(C'\fR.
-.ie n .IP """id\-indent""=\fI\s-1INDENT\s0\fR" 4
-.el .IP "\f(CWid\-indent\fR=\fI\s-1INDENT\s0\fR" 4
-.IX Item "id-indent=INDENT"
-Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if \fB\-\-all\fR is active.
-Default:\ 8.
-.ie n .IP """id\-max\-length""=\fIMAXIMUM-LENGTH\fR" 4
-.el .IP "\f(CWid\-max\-length\fR=\fIMAXIMUM-LENGTH\fR" 4
-.IX Item "id-max-length=MAXIMUM-LENGTH"
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
-and the last three characters (short of \fIMAXIMUM-LENGTH\fR) will be replaced by dots.
-Default:\ 40.
-.ie n .IP """line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWline\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing TeX source line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%5d\fR.
-.ie n .IP """log\-line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWlog\-line\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "log-line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing log line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%6d\fR.
-.ie n .IP """page\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWpage\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "page-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing page numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW\*(C`[%3d]\*(C'\fR.
-.ie n .IP """pager""=\fI\s-1PAGER\s0\fR" 4
-.el .IP "\f(CWpager\fR=\fI\s-1PAGER\s0\fR" 4
-.IX Item "pager=PAGER"
-Name of pager application to pipe output into
-if run with option\ \fB\-\-pager\fR.
-Default:\ \f(CW\*(C`less\*(C'\fR.
-.ie n .IP """pager\-flags""=\fI\s-1FLAGS\s0\fR" 4
-.el .IP "\f(CWpager\-flags\fR=\fI\s-1FLAGS\s0\fR" 4
-.IX Item "pager-flags=FLAGS"
-Pass \fI\s-1FLAGS\s0\fR to \fI\s-1PAGER\s0\fR.
-Default:\ \f(CW\*(C`\-\-quit\-if\-one\-screen\*(C'\fR.
-.IP "Color Configuration" 4
-.IX Item "Color Configuration"
-For the syntax of the color specifications consult
-the manual page of Term::ANSIColor(pm).
-.RS 4
-.ie n .IP """file\-header\-color""" 4
-.el .IP "\f(CWfile\-header\-color\fR" 4
-.IX Item "file-header-color"
-Color of the filename header.
-.ie n .IP """fill\-state\-color""" 4
-.el .IP "\f(CWfill\-state\-color\fR" 4
-.IX Item "fill-state-color"
-Color of the messages that report ``Underfull hbox'' or ``Overfull hbox''.
-.ie n .IP """first\-vbox\-color""" 4
-.el .IP "\f(CWfirst\-vbox\-color\fR" 4
-.IX Item "first-vbox-color"
-Color of the first vbox on a page.
-.ie n .IP """font\-spec\-color""" 4
-.el .IP "\f(CWfont\-spec\-color\fR" 4
-.IX Item "font-spec-color"
-Color of font specifications.
-.ie n .IP """horizontal\-break\-candidate\-color""" 4
-.el .IP "\f(CWhorizontal\-break\-candidate\-color\fR" 4
-.IX Item "horizontal-break-candidate-color"
-Color of lines with horizontal-breakpoint candidates\ \f(CW\*(C`@\*(C'\fR.
-.ie n .IP """horizontal\-breakpoint\-color""" 4
-.el .IP "\f(CWhorizontal\-breakpoint\-color\fR" 4
-.IX Item "horizontal-breakpoint-color"
-Color of lines with horizontal breakpoints\ \f(CW\*(C`@@\*(C'\fR.
-.ie n .IP """id\-color""" 4
-.el .IP "\f(CWid\-color\fR" 4
-.IX Item "id-color"
-Color of matching ids when printed inline.
-.ie n .IP """id\-heading\-color""" 4
-.el .IP "\f(CWid\-heading\-color\fR" 4
-.IX Item "id-heading-color"
-Color of matching ids when printed in heading form.
-.ie n .IP """line\-break\-pass\-color""" 4
-.el .IP "\f(CWline\-break\-pass\-color\fR" 4
-.IX Item "line-break-pass-color"
-Color of the lines showing which pass (e.g., \f(CW@firstpass\fR)
-of the line-breaking algorithm is active.
-.ie n .IP """line\-number\-color""" 4
-.el .IP "\f(CWline\-number\-color\fR" 4
-.IX Item "line-number-color"
-Color of TeX-source-file line numbers.
-.ie n .IP """log\-line\-number\-color""" 4
-.el .IP "\f(CWlog\-line\-number\-color\fR" 4
-.IX Item "log-line-number-color"
-Color of log-file line numbers.
-.ie n .IP """math\-color""" 4
-.el .IP "\f(CWmath\-color\fR" 4
-.IX Item "math-color"
-Color used for math expressions including their font specs.
-.ie n .IP """page\-number\-color""" 4
-.el .IP "\f(CWpage\-number\-color\fR" 4
-.IX Item "page-number-color"
-Color of page numbers of the final output.
-.ie n .IP """tightness\-color""" 4
-.el .IP "\f(CWtightness\-color\fR" 4
-.IX Item "tightness-color"
-Color of lines with Tight/Loose hbox reports.
-.ie n .IP """vertical\-breakpoint\-color""" 4
-.el .IP "\f(CWvertical\-breakpoint\-color\fR" 4
-.IX Item "vertical-breakpoint-color"
-Color of possible vertical breakpoints.
-.RE
-.RS 4
-.RE
-.SS "Brief summary of colors and attributes"
-.IX Subsection "Brief summary of colors and attributes"
-.IP "Foreground Color" 4
-.IX Item "Foreground Color"
-\&\f(CW\*(C`black\*(C'\fR, \f(CW\*(C`red\*(C'\fR, \f(CW\*(C`green\*(C'\fR, \f(CW\*(C`yellow\*(C'\fR,
-\&\f(CW\*(C`blue\*(C'\fR, \f(CW\*(C`magenta\*(C'\fR, \f(CW\*(C`cyan\*(C'\fR, \f(CW\*(C`white\*(C'\fR,
-.Sp
-Prefix with \f(CW\*(C`bright_\*(C'\fR for high-intensity or bold foreground.
-.IP "Foreground Grey" 4
-.IX Item "Foreground Grey"
-\&\f(CW\*(C`grey0\*(C'\fR, ..., \f(CW\*(C`grey23\*(C'\fR
-.IP "Background Color" 4
-.IX Item "Background Color"
-\&\f(CW\*(C`on_black\*(C'\fR, \f(CW\*(C`on_red\*(C'\fR, \f(CW\*(C`on_green\*(C'\fR, \f(CW\*(C`on_yellow\*(C'\fR,
-\&\f(CW\*(C`on_blue\*(C'\fR, \f(CW\*(C`on_magenta\*(C'\fR, \f(CW\*(C`on_cyan\*(C'\fR, \f(CW\*(C`on_white\*(C'\fR
-.Sp
-Replace \f(CW\*(C`on_\*(C'\fR with \f(CW\*(C`on_bright_\*(C'\fR for high-intensity or bold background.
-.IP "Background Grey" 4
-.IX Item "Background Grey"
-\&\f(CW\*(C`on_grey0\*(C'\fR, ..., \f(CW\*(C`on_grey23\*(C'\fR
-.IP "Text Attribute" 4
-.IX Item "Text Attribute"
-\&\f(CW\*(C`bold\*(C'\fR, \f(CW\*(C`dark\*(C'\fR, \f(CW\*(C`italic\*(C'\fR, \f(CW\*(C`underline\*(C'\fR, \f(CW\*(C`reverse\*(C'\fR
-.SH "EXIT STATUS"
-.IX Header "EXIT STATUS"
-The exit status is 0 if at least one \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR,
-1 if no \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR, and 2 if an error occurred.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fBgrep\fR(1), \fBprintf\fR(3), \fBTerm::ANSIColor\fR(pm)
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1.pdf b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
index 09647860d5..9a43008508 100644
--- a/macros/latex/contrib/typog/docs/typog-grep.1.pdf
+++ b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog.pdf b/macros/latex/contrib/typog/docs/typog.pdf
index 9d00685045..fa0fe74e4c 100644
--- a/macros/latex/contrib/typog/docs/typog.pdf
+++ b/macros/latex/contrib/typog/docs/typog.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/typog.dtx b/macros/latex/contrib/typog/typog.dtx
index 0f2176206a..3037f502fa 100644
--- a/macros/latex/contrib/typog/typog.dtx
+++ b/macros/latex/contrib/typog/typog.dtx
@@ -3,11 +3,11 @@
% Copyright (C) 2024 by Ch. L. Spiel
%
% This work may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.3 of this
+% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% \fi
@@ -26,7 +26,6 @@
\PassOptionsToClass{a4paper}{article}
\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
-\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
\PassOptionsToPackage{dvipsnames}{xcolor}
\usepackage{amsmath}
@@ -42,40 +41,43 @@
\usepackage{fullwidth}
\usepackage{hypdoc}
\usepackage{hyphenat}
-\usepackage[shrink=10, stretch=10]{microtype}
+\usepackage[kerning=true, shrink=10, stretch=10, verbose=true]{microtype}
\usepackage{multirow}
\usepackage{needspace}
-\usepackage{placeins}
+\usepackage[section]{placeins}
\usepackage{ragged2e}
\usepackage{setspace}
\usepackage{sidecap}
\usepackage{tabularx}
\usepackage{tcolorbox}
\usepackage{titlesec}\renewcommand*{\bottomtitlespace}{.15\textheight}%nobottomtitles*
-\usepackage[debug, raise*=.05em]{typog}
+\usepackage[debug, raise*=.05em,
+ uppercaselabelitemadjustments={.0125em, .075em, -.1em, .0125em},
+ lowercaselabelitemadjustments={-.075em, 0pt, -.2em, -.075em}]{typog}
\usepackage{xcolor}
\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
\usepackage[lining, regular]{sourcecodepro}
-\usepackage[xcharter]{newtxmath}
+\usepackage[scaled=1.08, uprightscript, xcharter]{newtxmath}
\setbaselineskip{12.5pt}
+
\makeatletter
\def\@get@fontclan#1-#2\relax{#1}
\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
\makeatother
-\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
-\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
-\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
-\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+\DeclareRobustCommand{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\DeclareRobustCommand{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\DeclareRobustCommand{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\DeclareRobustCommand{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
-\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
-\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
-\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
-\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+\DeclareRobustCommand{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\DeclareRobustCommand{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\DeclareRobustCommand{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\DeclareRobustCommand{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
\newcommand*{\nativetextfraction}[2]
{\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
@@ -85,21 +87,23 @@
\newenvironment*{tabfigures}
{\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
{\ignorespacesafterend}
-
-\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
-\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
-\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
-\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
-%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
-%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
-\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
-\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
-\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
-\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
-\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
-\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
\makeatother
+\DeclareRobustCommand{\elseries}{\fontseries{el}\selectfont}
+\DeclareTextFontCommand{\textel}{\elseries}
+\DeclareRobustCommand{\lseries}{\fontseries{l}\selectfont}
+\DeclareTextFontCommand{\textl}{\lseries}
+%%--\DeclareRobustCommand{\mdseries}{\fontseries{m}\selectfont}
+%%--\DeclareTextFontCommand{\textmd}{\mdseries}
+\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\DeclareRobustCommand{\bseries}{\fontseries{b}\selectfont}
+\DeclareTextFontCommand{\textb}{\bseries}
+\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
+\DeclareTextFontCommand{\texteb}{\ebseries}
+\DeclareRobustCommand{\ubseries}{\fontseries{k}\selectfont}
+\DeclareTextFontCommand{\textub}{\ubseries}
+
\usepackage{cleveref}
@@ -112,7 +116,7 @@
citecolor = blue,
colorlinks = true,
linkcolor = blue,
- linktocpage = false,
+ linktocpage = true,
pdfauthor={Dr. Christoph L. Spiel},
pdfcreationdate={\pdffiledate},
pdfkeywords={LaTeX, typography, ligature, italic-correction, paragraph justification, baselineskip, sloppy, ragged},
@@ -124,9 +128,94 @@
}
+\SetExtraKerning[context=drop-left-sidebearing, name=source-code-normal, unit=space]
+ {font={T1/SourceCodePro-LF/m/n/44, T1/SourceCodePro-TLF/m/n/44}}
+ {
+ 1={-150,},
+ 2={-120,},
+ 3={-120,},
+ 4={-40,},
+ A={-100,},
+ B={-170,}
+ }
+
+\newlength{\sectiontocindent}
+\newlength{\sectionnumberwidth}
+\newlength{\subsectiontocindent}
+\newlength{\subsectionnumberwidth}
+\newlength{\subsubsectiontocindent}
+\newlength{\subsubsectionnumberwidth}
+
+\setlength{\sectiontocindent}{0pt}
+\setlength{\sectionnumberwidth}{40pt}
+\setlength{\subsectiontocindent}{40pt}
+\setlength{\subsectionnumberwidth}{25pt}
+\setlength{\subsubsectiontocindent}{65pt}
+\setlength{\subsubsectionnumberwidth}{30pt}
+
\makeatletter
-\renewcommand*{\@dotsep}{10000} % suppress leaders
-\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\renewcommand*{\l@section}[2]
+ {\ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \setlength{\@tempdima}{\sectionnumberwidth}%
+ \begingroup
+ \def\numberline##1{\hb@xt@\@tempdima{%
+ \tt\lseries
+ \fontsize{44}{0}\selectfont
+ \microtypecontext{kerning=drop-left-sidebearing}%
+ \iffalse\raisebox{-30pt}[0pt][0pt]{\rule{0.1pt}{40pt}}\fi
+ \textcolor{customred3}{##1}%
+ \hfil}}%
+ \parindent \z@
+ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \bfseries
+ \iffalse
+ \nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2\kern-\p@\kern\p@}%
+ \else
+ {\sffamily\large #1}\quad
+ {#2}\hfil\hbox{}
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\@dottedtocline}[5]
+ {\ifnum #1>\c@tocdepth
+ \else
+ \vskip \z@ \@plus.2\p@
+ \begingroup
+ \leftskip #2\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima
+ \null\nobreak
+ \hskip -\leftskip
+ {#4}\nobreak
+ \iffalse
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5\kern-\p@\kern\p@}%
+ \else
+ \hbox{\quad\normalfont\bfseries #5}\nobreak\hfill\hbox{}%
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\l@subsection}{\@dottedtocline{2}{\subsectiontocindent}{\subsectionnumberwidth}}
+\renewcommand*{\l@subsubsection}{\@dottedtocline{3}{\subsubsectiontocindent}{\subsubsectionnumberwidth}}
+\newrobustcmd*{\tocsquashedsubsections}
+ {\def\l@subsection{\@dottedtocline{2}{0pt}{\subsectionnumberwidth}}%
+ \def\l@subsubsection{\@dottedtocline{3}{0pt}{\subsubsectionnumberwidth}}}
\makeatother
@@ -171,7 +260,6 @@
leftmargin=!
}
-
\SetEnumitemKey{nestedinspecialsection}{
leftmargin=10pt
}
@@ -191,13 +279,15 @@
\fancypagestyle{pagenumberonly}{
+ \fancyhf{}
\fancyhead[L]{}
\fancyhead[R]{\thepage}
}
-\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[L]{\rightmark}
-\fancyhead[R]{\thepage}
+\fancypagestyle{fancy}{
+ \fancyhf{}
+ \fancyhead[L]{\rightmark}
+ \fancyhead[R]{\thepage}
+}
\newcommand*{\resetfancyhead}
{\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
@@ -239,8 +329,8 @@
\setlength{\skip\footins}{25pt}
-\setlength{\overfullrule}{3pt}
-\renewcommand*{\sidecaptionsep}{16pt}
+\setlength{\overfullrule}{0pt}
+\renewcommand*{\sidecaptionsep}{25pt}
@@ -272,13 +362,17 @@
\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
\makeatother
-\def\code#1{\texttt{#1}}
+\renewcommand*{\code}[1]{\texttt{#1}}
+
+\newcommand*{\codelineindicator}{\mbox{\small$\mathscr{l}$}}
\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
+\newcommand*{\detoxindex}[1]{\index{\detokenize{#1}}}
+
\newcommand*{\doublequotes}[1]{\doubleguillemetright\kern-.03333em #1\doubleguillemetleft}
-\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}\unskip}}
\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
@@ -287,6 +381,12 @@
\newcommand*{\foreignphrase}[1]{\textsl{#1}}
+\makeatletter
+\newcommand*{\formatdimen}{\@ifstar{\@typog@rem@pt}{\@typog@strip@pt}}
+\newcommand*{\@typog@rem@pt}[1]{\dimen0=\dimexpr#1\relax\strip@pt\dimen0\,pt}
+\newcommand*{\@typog@strip@pt}[1]{\expandafter\strip@pt#1\relax\,pt}
+\makeatother
+
\newcommand*{\formatskip}[3]{#1\genfrac{}{}{0pt}{}{{+}#2}{{-}#3}}
\makeatletter
@@ -294,19 +394,46 @@
\renewcommand*{\fps@table}{htbp}
\makeatother
+\apptocmd{\GlossaryParms}
+ {\RaggedRight\normalsize}
+ {\relax}
+ {\AppendingFailed}
+
+\let\oldhdpindex=\hdpindex
+\renewcommand*{\hdpindex}[2]{\textbf{\oldhdpindex{#1}{#2}}}
+
+\let\oldhdclindex=\hdclindex
+\renewcommand*{\hdclindex}[2]
+ {\ifstrequal{#2}{code}
+ {\oldhdclindex{#1}{codeidx}}
+ {\oldhdclindex{#1}{#2}}}
+
\newcommand*{\hollowrectangle}[2]
{\setlength{\fboxrule}{.5pt}%
\setlength{\fboxsep}{0pt}%
\framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+\apptocmd{\IndexParms}
+ {\RaggedRight\small}
+ {\relax}
+ {\AppendingFailed}
\makeatletter
+\ExplSyntaxOn
\apptocmd{\index@prologue}
- {\marginnote{In the Index page ranges are stuck together with
- \hyperref[syn:figuredash]{\cs{figuredash*}}.}}
+ {\legacy_if:nTF {codeline@index}
+ {We\space prefix\space all\space references\space
+ to\space code\space lines\space with~\singlequotes{\codelineindicator}.}
+ {}}
{\relax}
{\AppendingFailed}
+
+\newcommand*{\linenumberdecoration}
+ {\legacy_if:nTF {codeline@index}
+ {\codelineindicator}
+ {}}
+\ExplSyntaxOff
\makeatother
\newcommand*{\logmacro}[1]
@@ -348,11 +475,27 @@
\AtBeginDocument{\setlength{\emreference}{\fontdimen6\font}}
\newrobustcmd*{\milliem}[1]
{\ifdim #1=0pt
- #1%
+ 0\,pt%
\else
\nativetextfraction{\the\numexpr\dimexpr (#1) * 1000 / \emreference}{1000}\:em%
\fi}
+\let\originalmulticols=\multicols
+\let\endoriginalmulticols=\endmulticols
+\RenewDocumentEnvironment{multicols}{m o o}
+ {\ifnum #1=1
+ \IfNoValueTF{#2}{\relax}{#2}%
+ \else
+ \IfNoValueTF{#2}
+ {\originalmulticols{#1}}
+ {\originalmulticols{#1}[#2]}%
+ \fi}
+ {\ifnum #1=1
+ \relax
+ \else
+ \endoriginalmulticols
+ \fi}
+
\newcommand*{\needtocspace}[1][3]
{\addtocontents{toc}{\protect\needspace{#1\baselineskip}}}
@@ -455,7 +598,7 @@
\newenvironment*{specialcodesection}[1]
{\Needspace{4\baselineskip}%
\begin{tcolorbox}[colback=white, colframe=\markercolor,
- bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ bottomrule=.5pt, leftrule=5pt, rightrule=.5pt, toprule=.5pt]
\sf\typogsetupsf
\begin{list}
{\specialcodesectionheading{#1}}
@@ -498,11 +641,37 @@
\begin{minipage}{\floatcaptionwidth}}
{\end{minipage}}
\newcommand*{\tablenotemark}[1]{\smash{\textsuperscript{#1}}}
+\newcommand*{\tablenotesymbol}[1]{% Bringhurst's "traditional order" (p69) from 1 to 6
+ \ifcase#1\relax
+ #1% 0
+ \or \textasteriskcentered% 1
+ \or \textdagger% 2
+ \or \textdaggerdbl% 3
+ \or \textsection% 4
+ \or \textbardbl% 5
+ \or \textsection% 6
+ \or \textasteriskcentered\textasteriskcentered%7
+ \or \textdagger\textdagger%8
+ \or \textdaggerdbl\textdaggerdbl%9
+ \else
+ #1
+ \fi
+}
\newcommand*{\termparbox}[1]{\parbox[t]{\linewidth}{#1\bottomstrut}}
\newcommand*{\thousandsseparator}{\mbox{,}}
+\ExplSyntaxOn
+\newcommand*{\titlecase}[1]{\text_titlecase:n {#1}}
+\ExplSyntaxOff
+
+\newcommand*{\toccontinuesonnextpage}
+ {\addtocontents{toc}{\par
+ \bigskip
+ \hfill\textit{Table of Contents continued on next page.}\par
+ \protect\clearpage}}
+
\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
\newcommand*{\typogsetuprm}
@@ -514,11 +683,16 @@
{\typogsetup{raise*=.06667em,
raiseguillemets=.05em}}
+\newcommand*{\unmarkedfntext}[1]
+ {{\def\thefootnote{}\footnote{#1}%
+ \addtocounter{footnote}{-1}}}
+
+\newcommand*{\userman}[1]{\textbf{\hyperpage{#1}}}%%-- https://github.com/ho-tex/hypdoc/issues/11
+
\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
\newenvironment*{whittyquote}
{\begin{flushright}
- \renewcommand*{\propername}[1]{\mbox{##1}}%
\sf\typogsetupsf}
{\end{flushright}}
@@ -532,7 +706,6 @@
\end{minipage}
\end{maxipage}}
-
\NewDocElement[macrolike = true,
idxtype = dim.,
idxgroup = dimensions,
@@ -547,6 +720,20 @@
{EnumItemKey}{enumitemkey}
\pretocmd{\DescribeEnumItemKey}{\needspace{25pt}}{\relax}{\PrependingFailed}
+\NewDocElement[macrolike = true,
+ idxtype = skip,
+ idxgroup = \LaTeX{} length (skip),
+ printtype = \textit{skip}]
+ {LaTeXSkip}{lskip}
+\pretocmd{\DescribeLaTeXSkip}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+\NewDocElement[macrolike = true,
+ idxtype = counter,
+ idxgroup = \protect\TeX{} counters,
+ printtype = \textit{counter}]
+ {TeXCounter}{tcounter}
+\pretocmd{\DescribeTeXCounter}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
\hyphenation{% https://hyphenateit.com/en-us
Double-guillemet-left
@@ -585,6 +772,8 @@
line-width
loose-ness
loose-spacing
+ lower-case-adjust-label-items
+ lower-case-label-item-adjustments
make-at-letter
make-at-other
mar-gin-al
@@ -612,6 +801,7 @@
set-leading
set-leading-percentage
short-inter-text
+ shrink-limits
single-guillemet-left
single-guillemet-right
single-quotes
@@ -625,6 +815,7 @@
smooth-ragged-right-shape-septuplet
smooth-ragged-right-shape-triplet
space-skip
+ stretch-limits
text-italics-correction
tight-spacing
tracing-boxes
@@ -632,6 +823,8 @@
tracking-tt-spacing
typog-get
typog-setup
+ upper-case-adjust-label-items
+ upper-case-label-item-adjustments
vtie-bot
vtie-bot-disp
vtie-bot-disp-par
@@ -648,29 +841,52 @@
\begin{document}
\typogsetuprm
+ \uppercaseadjustlabelitems{*}
\DocInput{typog.dtx}
\end{document}
%</driver>
%<*index-style>
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
delim_r "\\figuredash*"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
%</index-style>
+%<*changes-style>
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
+%</changes-style>
% \fi
%
%
% \DoNotIndex{\,}
-% \DoNotIndex{\addtolength,\advance,\aftergroup,\allowdisplaybreaks,\arabic}
-% \DoNotIndex{\AtBeginDocument,\autotransfer}
-% \DoNotIndex{\baselineskip}
-% \DoNotIndex{\c,\char,\clubpenalties,\clubpenalty,\count,\cs,\csname}
+% \DoNotIndex{\\}
+% \DoNotIndex{\addtocounter,\addtolength,\advance,\aftergroup,\allowdisplaybreaks,\arabic,\arraystretch}
+% \DoNotIndex{\AfterEndPreamble,\AfterPreamble,\AtBeginDocument,\autotransfer}
+% \DoNotIndex{\baselineskip,\begin,\begingroup,\booltrue,\box}
+% \DoNotIndex{\c,\char,\clist,\clubpenalties,\clubpenalty,\count,\cs,\csname}
% \DoNotIndex{\DeclareRobustCommand,\def,\define@choicekey,\define@key,\detokenize}
% \DoNotIndex{\dim,\dimen,\dimexpr,\discretionary,\displaywidowpenalties,\displaywidowpenalty}
-% \DoNotIndex{\edef,\else,\emergencystretch,\empty,\endcsname}
+% \DoNotIndex{\edef,\else,\emergencystretch,\empty,\end,\endcsname,\endgroup}
% \DoNotIndex{\endlastlineflushrightpar}
% \DoNotIndex{\endlastlineraggedleftpar}
% \DoNotIndex{\endnofontexpand,\endnofontexpansion}
@@ -679,33 +895,37 @@ quote '!'
% \DoNotIndex{\endsmoothraggedrightshapetriplet}
% \DoNotIndex{\endtypoginspect}
% \DoNotIndex{\exhyphenpenalty,\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
-% \DoNotIndex{\fi,\finalhyphendemerits,\font,\fontdimen,\fp,\fussy,\futurelet}
+% \DoNotIndex{\fi,\finalhyphendemerits,\font,\fontdimen,\forcsvlist,\fp,\fpeval,\fussy,\futurelet}
% \DoNotIndex{\gdef,\global,\glueexpr,\@gobble}
% \DoNotIndex{\guillemotleft,\guillemotright,\guilsinglleft,\guilsinglright}
-% \DoNotIndex{\hbadness,\hfuzz,\hskip,\hspace}
+% \DoNotIndex{\hbadness,\hbox,\hfuzz,\hskip,\hspace,\ht}
% \DoNotIndex{\ignorespaces,\ignorespacesafterend}
-% \DoNotIndex{\if,\IfBooleanT,\IfBooleanTF,\ifcase,\ifdefined,\ifdim,\iffalse,\ifmmode,\ifMT@expansion}
-% \DoNotIndex{\@ifnextchar,\IfNoValueF,\IfNoValueTF,\ifnum}
+% \DoNotIndex{\if,\ifblank,\ifbool,\IfBooleanT,\IfBooleanTF,\ifcase,\ifdefined,\ifdim,\iffalse,\ifmmode}
+% \DoNotIndex{\ifMT@expansion,\@ifnextchar,\IfNoValueF,\IfNoValueTF,\ifnum,\ifodd,\ifstrequal}
% \DoNotIndex{\iftypog@microtype@loadedfalse}
% \DoNotIndex{\iftypog@microtype@preloadedfalse}
-% \DoNotIndex{\ifvmode,\ifx,\ignorespaces,\inputlineno,\int,\interlinepenalty}
+% \DoNotIndex{\ifvmode,\ifx,\ignorespaces,\inputlineno,\int,\interlinepenalty,\itemize}
% \DoNotIndex{\jobname}
% \DoNotIndex{\kern}
-% \DoNotIndex{\l,\lastlinefit,\lastlineflushrightpar,\lastlineraggedleftpar,\leftmargin,\leftskip,\let}
-% \DoNotIndex{\linepenalty,\linewidth,\@listdepth,\looseness,\lsstyle}
-% \DoNotIndex{\@M,\m@th,\mathbin,\mathord,\maxdimen,\message,\microtypecontext,\microtypesetup}
+% \DoNotIndex{\l,\labelitemi,\labelitemii,\labelitemiii,\labelitemiv}
+% \DoNotIndex{\lastlinefit,\lastlineflushrightpar,\lastlineraggedleftpar}
+% \DoNotIndex{\lefthyphenmin,\leftmargin,\leftskip,\let,\letcs}
+% \DoNotIndex{\linepenalty,\linewidth,\@listdepth,\loop,\looseness,\lsstyle}
+% \DoNotIndex{\@M,\m@th,\mathbin,\mathord,\maxdimen,\mbox,\message,\microtypecontext,\microtypesetup}
% \DoNotIndex{\@minus,\mkern,\m@ne,\mspace,\MT@letterspace@,\MT@MT,\muexpr}
-% \DoNotIndex{\@ne,\NeedsTeXFormat,\NewDocumentCommand,\NewDocumentEnvironment,\newcommand,\newenvironment}
-% \DoNotIndex{\newcounter,\newdimen,\newif,\newlength,\newmuskip}
+% \DoNotIndex{\@ne,\NeedsTeXFormat,\newbool,\NewDocumentCommand,\NewDocumentEnvironment}
+% \DoNotIndex{\newcommand,\newenvironment}
+% \DoNotIndex{\newcounter,\newdimen,\newif,\newlength,\newline,\newmuskip}
% \DoNotIndex{\nobreak,\nofontexpand,\nofontexpansion,\nr,\numexpr}
% \DoNotIndex{\or,\optarg}
% \DoNotIndex{\p@,\PackageError,\PackageWarning}
-% \DoNotIndex{\par,\parfillskip,\parindent,\parshape,\pdf@strcmp}
+% \DoNotIndex{\par,\parfillskip,\parindent,\parshape,\patchcmd,\pdf@strcmp}
% \DoNotIndex{\pdfstringdefDisableCommands}
% \DoNotIndex{\penalty,\@plus,\PopPostHook,\postdisplaypenalty,\predisplaypenalty,\prg}
% \DoNotIndex{\pretolerance,\protected,\ProvidesPackage,\PushPostHook}
-% \DoNotIndex{\raisebox,\refstepcounter,\relax,\RenewExpandableDocumentCommand,\RequirePackage,\rightskip}
-% \DoNotIndex{\setcounter,\SetEnumitemKey,\SetExpansion,\setkeys,\setlength,\setstretch}
+% \DoNotIndex{\raisebox,\refstepcounter,\relax,\RenewExpandableDocumentCommand,\repeat,\RequirePackage}
+% \DoNotIndex{\righthyphenmin,\rightskip,\rlap,\romannumeral,\rule}
+% \DoNotIndex{\setbox,\setcounter,\SetEnumitemKey,\SetExpansion,\setkeys,\setlength,\setstretch}
% \DoNotIndex{\showboxbreadth,\showboxdepth,\skip,\sloppy}
% \DoNotIndex{\smoothraggedrightpar}
% \DoNotIndex{\smoothraggedrightshapequintuplet}
@@ -715,9 +935,9 @@ quote '!'
% \DoNotIndex{\textemdash,\textendash,\textsf,\textsl,\texttimes,\textwidth,\the,\times,\tl,\tolerance}
% \DoNotIndex{\tracingnone,\tracingpages,\tracingparagraphs}
% \DoNotIndex{\typeout,\typoginspect,\typoglogo}
-% \DoNotIndex{\unless}
+% \DoNotIndex{\unhbox,\unless}
% \DoNotIndex{\val,\value,\vbadness,\vfuzz}
-% \DoNotIndex{\widowpenalties,\widowpenalty}
+% \DoNotIndex{\wd,\widowpenalties,\widowpenalty}
% \DoNotIndex{\z@,\z@skip}
%
%
@@ -828,7 +1048,8 @@ end
% \footnotesize
% \noindent
% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed
-% and\kernedslash*or modified under the conditions of the \LaTeX{} Project Public License
+% and\kernedslash*or modified under the conditions of the
+% \href{https://www.latex-project.org/lppl.txt}{\LaTeX{} Project Public License}
% \acronym{(LPPL)}, either version~1.3c of this license or --~at your option~-- any later
% version. This work has the \acronym{LPPL} maintenance status
% \doublequotes{author-maintained}.
@@ -836,30 +1057,36 @@ end
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
-% \tableofcontents
-% \vspace{\fill}
+% \pagestyle{pagenumberonly}
%
+% \unmarkedfntext{The font sample on the title page was generated with the help of \MP{} using
+% \doublequotes{\acronym{URW}~Palladio}%
+% \detoxindex{font>typeface>URW Palladio=\acronym{URW} Palladio|userman}.}
%
-% \thispagestyle{pagenumberonly}
-% \listoftables
-% \phantomsection
-% \addcontentsline{toc}{subsection}{List of Tables}
-% \vspace{\fill}
+% \begin{nofontexpansion}
+% \begin{nocharprotrusion}
+% \tableofcontents
+% \end{nocharprotrusion}
+% \end{nofontexpansion}
%
+% \addtocontents{toc}{%
+% \protect\begin{whittyquote}
+% Hoffentlich wird es nicht so schlimm, wie es schon ist! \\
+% \capitalemdash*~\propername{Karl Valentin}
+% \protect\end{whittyquote}\par}
%
-% \begingroup
-% \footnotesize
-% \singlespacing
-% \noindent
-% The font sample on the title page was generated with the help of \MP{} using
-% \doublequotes{\acronym{URW} Palladio~L}\index{font>URW Palladio L=\acronym{URW} Palladio
-% L}.
-% \endgroup
+% \vspace{\fill}
+%
+% \begin{nofontexpansion}
+% \begin{nocharprotrusion}
+% \listoftables
+% \end{nocharprotrusion}
+% \end{nofontexpansion}
%
%
% \clearpage
% \pagenumbering{arabic}
+% \pagestyle{fancy}
% \section{Introduction}\label{sec:introduction}
%
% \begin{whittyquote}
@@ -892,7 +1119,10 @@ end
% \Cref{sec:latex-hyphenation} expands the hyphenation facilities of \LaTeX.
%
% \Cref{sec:break-ligatures,sec:manual-italic-correction,sec:extra-kerning,sec:raise-characters}
-% deal with vertically positioning glyphs in a more pleasant way.
+% deal with vertically positioning glyphs in a more pleasant way. Also in the realm of
+% vertical alignments is \cref{sec:adjust-label-items} that explains how to height-adjust the
+% labels in |itemize|~lists to perfection whether the items are followed by uppercase or by
+% lowercase letters.
%
% \Cref{sec:align-last-line,sec:fill-last-line} discuss dearly missed macros for better control
% of the last line of a paragraph.
@@ -950,15 +1180,17 @@ end
% \end{tabbing}
% \end{synopsis}
%
-% \index{package options|(}
-% The package \meta{OPTIONs} serve as configuration \meta{key}s, too. This means they can be
-% set with \hyperref[syn:typogsetup]{\code{typogsetup}} and their values can be retrieved with
-% \hyperref[syn:typogget]{\cs{typogget}}. Options that rely on package~\packagename{microtype}
-% are indicated with \doublequotes{\microtyperequiredmarker}.
+% \index{package options|(userman}
+% The package \meta{OPTIONs} also serve as configuration \meta{key}s (unless noted otherwise).
+% This means they can be set with \hyperref[syn:typogsetup]{\code{typogsetup}} and their values
+% can be retrieved with \hyperref[syn:typogget]{\cs{typogget}}. Options that rely on
+% package~\packagename{microtype} are indicated with \doublequotes{\microtyperequiredmarker}.
%
% \begin{typogsetup}{}
% \newcommand*{\indexpackageoption}[1]
-% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% {\detoxindex{package option>#1=\code{#1}|userman}%
+% \detoxindex{#1=\code{#1}~(option)|userman}%
+% \ignorespaces}
% \begin{description}
% [before={\let\oldmakelabel=\makelabel
% \renewcommand{\makelabel}[1]
@@ -978,17 +1210,44 @@ end
% \item[|debug|, |nodebug|]\label{item:debug}
% \indexpackageoption{debug}
% \indexpackageoption{nodebug}
-% Write package-specific debug information to the log file. Opposite: |nodebug|. The
-% default is not to log debug information.
+% Write some package-specific debug information to the \filesystem{log}~file. Opposite:
+% |nodebug|. The default is not to record debug information.
+%
+% These two options neither can be used with \hyperref[syn:typogsetup]{\code{typogsetup}}
+% nor with \hyperref[syn:typogget]{\cs{typogget}}.
%
% \item[|ligaturekern=|\meta{dim}]\label{item:ligaturekern}
% \indexpackageoption{ligaturekern}
% Set \meta{dim} of the kern that is inserted to split a ligature in
% macro\hyperref[syn:nolig]{\cs{nolig}}. See
-% \cref{sec:break-ligatures}.\shiftedmarginnote{We access the configuration values with
-% \hyperref[syn:typogget]{\cs{typogget}}.} Default
+% \cref{sec:break-ligatures}.\shiftedmarginnote{We access all the (default) configuration
+% values with \hyperref[syn:typogget]{\cs{typogget}}.} Default
% value:~\milliem{\typogget{ligaturekern}}.
%
+% \item[|lowercaselabelitemadjustments=\{|\meta{dim1}, \meta{dim2}, \meta{dim3}, \meta{dim4}|\}|]%
+% \label{item:lowercaselabelitemadjustments}
+% \indexpackageoption{lowercaselabelitemadjustments}
+% \sinceversion{Since v0.4}
+% Vertical shifts \meta{dimN} to apply to \cs{labelitem}\meta{N}, where \meta{N} is the
+% nesting level of the |itemize|~list starting at one. An empty \meta{dimN} is equivalent
+% to~\formatdimen*{0pt}. The adjustments apply to the lowercase setting
+% (\hyperref[syn:lowercaseadjustlabelitems]{\code{\string\lowercaseadjustlabelitems}}).
+% See \cref{sec:adjust-label-items} (in particular subsection~\singlequotes{Setup} and
+% \cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues}) and also
+% configuration option
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaseadjustlabelitem}}.
+%
+% All four lengths default to~\formatdimen*{0pt}.
+%
+% \begin{important}
+% \slightlysloppy
+% \noindent
+% Configuring \code{lowercaselabelitemadjustments} (or
+% \code{uppercaselabelitemadjustments}) does \emph{not} activate the correction
+% mechanism. Use one of the macros \code{\string\lowercaseadjustlabelitems} or
+% \code{\string\uppercaseadjustlabelitems} for that purpose.
+% \end{important}
+%
% \item[|mathitalicscorrection=|\meta{dim}]\label{item:mathitalicscorrection}
% \indexpackageoption{mathitalicscorrection}
% Italics correction in math mode. See \cref{sec:manual-italic-correction} and also the
@@ -1000,10 +1259,14 @@ end
% \item[|raise*=|\meta{dim}]\label{item:raise}
% \indexpackageoption{raise*}
% Set the length by which selected characters (dash, hyphen, times, and number dash) are
-% raised. Default value:~0pt.
+% raised. Default value:~\formatdimen*{0pt}.
%
% Only the raise amounts for guillemets are unaffected by this option.
%
+% This option neither can be used with \hyperref[syn:typogsetup]{\code{typogsetup}} nor
+% with \hyperref[syn:typogget]{\cs{typogget}}, however, the specific options influenced by
+% it can.
+%
% \item[|raisecapitaldash=|\meta{dim}]\label{item:raisecapitaldash}
% \indexpackageoption{raisecapitaldash}
% Set the length that the \cs{textendash} is raised in
@@ -1093,6 +1356,30 @@ end
% \emph{not} in the document body.
%
% By default this option is unset.
+%
+% \item[|uppercaselabelitemadjustments=\{|\meta{dim1}, \meta{dim2}, \meta{dim3}, \meta{dim4}|\}|]%
+% \label{item:uppercaselabelitemadjustments}
+% \indexpackageoption{uppercaselabelitemadjustments}
+% \sinceversion{Since v0.4}
+% Vertical shifts \meta{dimN} to apply to \cs{labelitem}\meta{N}, where \meta{N} is the
+% nesting level of the |itemize|~list starting at one. An empty \meta{dimN} is equivalent
+% to~\formatdimen*{0pt}. The adjustments apply to the uppercase setting
+% (\hyperref[syn:uppercaseadjustlabelitems]{\code{\string\uppercaseadjustlabelitems}}).
+% See \cref{sec:adjust-label-items} (in particular subsection~\singlequotes{Setup} and
+% \cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues}) and also
+% configuration option
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaseadjustlabelitem}}.
+%
+% All four lengths default to~\formatdimen*{0pt}.
+%
+% \begin{important}
+% \slightlysloppy
+% \noindent
+% Configuring \code{uppercaselabelitemadjustments} (or
+% \code{lowercaselabelitemadjustments}) does \emph{not} activate the correction
+% mechanism. Use one of the macros \code{\string\uppercaseadjustlabelitems} or
+% \code{\string\lowercaseadjustlabelitems} for that purpose.
+% \end{important}
% \end{description}
% \end{typogsetup}
% \index{package options|)}
@@ -1116,12 +1403,13 @@ end
% issues a \cs{par} at its end. Environments with different name suffixes never close
% with~\cs{par}.
%
-% \bigskip
%
-% \noindent
+% \subsection{Setup and Reconfiguration}\label{sec:setup}
+%
% \DescribeEnv{typogsetup}
-% Configure\index{configuration}\index{setup} the package with the given \meta{keys}. An empty
-% argument of \code{typogsetup} resets all \meta{keys} to their default values.
+% Configure\index{configuration|userman}\index{setup|userman} the package with the given
+% \meta{keys}. An empty argument of \code{typogsetup} resets all \meta{keys} to their default
+% values.
%
% \begin{synopsis}\label{syn:typogsetup}
% \cs{begin}|{typogsetup}|\marg{keys}
@@ -1129,7 +1417,7 @@ end
% \cs{end}|{typogsetup}|
% \end{synopsis}
%
-% The package can be (re-)configured\index{reconfigure} at any point with
+% The package can be (re-)configured\index{reconfigure|userman} at any point with
% \cs{typogsetup}\marg{keys}, or --~for localized changes~-- as
%
% \begin{codeexample}
@@ -1143,6 +1431,12 @@ end
% where \meta{keys} have the same format as the package options described in
% \cref{sec:package-options}.
%
+% \begin{note}
+% Use \code{\string\PassOptionsToPackage\{\meta{keys}\}\{typog\}} to pass \meta{keys} to
+% \packagename{typog} before loading it and \code{\string\typogsetup\{\meta{keys}\}} after
+% \code{\string\usepackage\{typog\}}.
+% \end{note}
+%
% \begin{usecases}
% \cs{typogsetup} can substitute configuring the package at load-time or serve as an
% addition.~\visualpar Using the |typogsetup|~environment allows to fine-tune the parameters
@@ -1154,9 +1448,9 @@ end
%
% \noindent
% \DescribeMacro{\typogget}
-% Sometimes the user needs to access internal configuration values of
-% package~\packagename{typog}. This can be done in a safe way without resorting to code that
-% is bracketed by \cs{makeatletter}/\cs{makeatother} with the help of the following macro.
+% Sometimes the user needs to access configuration values of package~\packagename{typog}. This
+% can be done in a safe way without resorting to code that is bracketed by \cs{makeatletter}
+% and \cs{makeatother} with the help of the following macro.
%
% \begin{synopsis}\label{syn:typogget}
% \cs{typogget}\marg{key}
@@ -1177,15 +1471,47 @@ end
% \> \{\cs{raisebox}\= \{\cs{typogget}\{raisecapitaldash\}\}\{\cs{cdot}\}\}
% \end{codeexample}
%
-% The latter only is useful inside of an \code{itemize}~environment of course.
+% The latter only is useful inside of an \code{itemize}~environment of course. Compare with
+% the solution in \cref{sec:adjust-label-items} offered by \packagename{typog} since v0.4.
% \end{usecase}
%
+% \DescribeMacro{\typoggetnth}
+% \sinceversion{Since v0.4}
+% If a configuration item is associated with a list as
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}},
+% \hyperref[item:shrinklimits]{\code{shrinklimits}},
+% \hyperref[item:stretchlimits]{\code{stretchlimits}},
+% \hyperref[item:trackingttspacing]{\code{trackingttspacing}}, and
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}} are, it
+% may be convenient to fetch a particular list element of it.
+%
+% \begin{synopsis}\label{syn:typoggetnth}
+% \cs{typoggetnth}\marg{csname}\marg{key}\marg{index} \\
+% \cs{typoggetnth}\marg{dimen-register}\marg{key}\marg{index}
+% \end{synopsis}
+%
+% Retrieve the configuration value --~which is a comma-separated list~-- that is associated
+% with~\meta{key} and store the item having position~\meta{index} in \meta{dimen-register} or
+% the parameter-less, global macro~\meta{csname}. The destination \meta{dimen-register} may be
+% predefined like, e.\,g., \cs{dimen0} or user-defined. Dimensions can also be stored in a
+% macro by using the \meta{csname}~form of \cs{typoggetnth} but not \foreignphrase{vice versa}.
+%
+% Index into the list either from left-to-right with positive indices starting at~\(1\) up to
+% the length of the list, or from right-to-left with negative indices starting at~\(-1\) down
+% to the negative length.
+%
+% \begin{note}
+% Macro~\cs{typoggetnth} \emph{only} works with \meta{key}s that are associated with a list
+% of values.
+% \end{note}
+%
%
-% \subsection{Information}\label{sec:information}\index{information}
+% \subsection{Information}\label{sec:information}
+% \index{information|userman}
%
% \begin{whittyquote}
% Never forget: The visual output counts; \\
-% it must always be checked, [\dots]. \\
+% it must always be checked, [\dots\itcorr{-4}]. \\
% \marginnote{The em-dash at then end of the quote is height-adjusted with
% \hyperref[syn:capitalemdash]{\cs{capitalemdash*}}.}%
% \capitalemdash*~\propername{Udo Wermuth}~\cite{wermuth:2017a}
@@ -1196,14 +1522,14 @@ end
%
%
% \subsubsection{Font Information}\label{sec:font-information}
-% \index{font>information}
+% \index{font>information|userman}
%
% \DescribeMacro{\fontsizeinfo}
% Capture the font~size\footnote{We use \cs{fontdimen6}, the em-height as the font
-% size.}\index{font>size} and line~spacing\footnote{The line~spacing simply is
-% \cs{baselineskip}.}\index{line spacing} at the point where \cs{fontsizeinfo} \emph{is called}
-% in macro~\meta{cs-name}. Both dimensions are measured in points~(pt) and the results are
-% rounded to tenths.
+% size.}\index{font>size|userman} and line~spacing\footnote{The line~spacing simply is
+% \cs{baselineskip}.}\index{line spacing|userman} at the point where \cs{fontsizeinfo} \emph{is
+% called} in macro~\meta{cs-name}. Both dimensions are measured in points~(pt) and the results
+% are rounded to tenths.
%
% \begin{synopsis}\label{syn:fontsizeinfo}
% \cs{fontsizeinfo}\marg{cs-name}
@@ -1259,9 +1585,8 @@ end
%
% \begin{caution}
% The end-of-trace marker sometimes gets placed too early and the trace seems truncated.
-% \LaTeX{} reliably logs the requested the trace information, but the write operations for
-% trace data and \cs{immediate}\cs{write} which is used to print the end-tag are not
-% synchronized.
+% \LaTeX{} reliably logs the requested trace information, but the write operations for trace
+% data and \cs{immediate}\cs{write} which is used to print the end-tag are not synchronized.
% \end{caution}
%
%
@@ -1287,7 +1612,8 @@ end
%
% \begin{itemize}[noindent]
% \item Any text tool can be used to ferret out the tags. \propername{Emacs} users will find
-% \mbox{\code{(occur \meta{regexp})}} to be useful.
+% \mbox{\code{(occur \meta{regexp})}} to be useful.\shiftedmarginnote{This \code{itemize}
+% list demonstrates vertically adjusted label items (\cref{sec:adjust-label-items}).}
%
% \item As long as the tags are not nested \programname{sed} or \programname{perl}
% extract the information gathered by~|typoginspect|, for example:
@@ -1338,13 +1664,20 @@ end
%
% \item If more trace information is needed just add \cs{tracing\dots} calls right after
% \code{\string\begin\{typoginspect\}}
-% or~\code{\string\begin\{typoginspectpar\}}.\specialsectionendhere
+% or~\code{\string\begin\{typoginspectpar\}}.
+%
+% \item As the overhead of \cs{typoginspect} is relatively low, hairy parts of a document can
+% permanently be furnished with them, for example, the Index.
+%
+% \item Any labeled part can treat their ids to \meta{id}. Think of \cs{caption}s or any
+% theorem-like environment and their associated, unique \cs{label}s.\specialsectionendhere
% \end{itemize}
% \end{tips}
%
%
% \phantomsection
-% \paragraph{Investigating the badness of a paragraph.}\label{sec:investigating-paragraph-badness}\index{paragraph>badness}
+% \paragraph{Investigating the badness of a paragraph.}\label{sec:investigating-paragraph-badness}
+% \index{paragraph>badness|userman}
%
% It is generally unnecessary to determine the \emph{exact} classification of a paragraph's
% badness~\cite[p.~97n]{knuth:1986}, though the curious user can switch on logging of
@@ -1386,9 +1719,9 @@ end
% \begin{enumerate}[beginpenalty=10000, nosep]
% \item The shortfall~\sample{s} and
% \item glue~\sample{a} or~\sample{g}.\footnote{The author is unaware of any descriptions
-% of \code{s}, \code{a}, or~\code{g}. The interested reader is referred to the source
-% code, e.\,g., \filesystem{pdftex.web}; search for \code{print("\textvisiblespace s=")}.
-% In the weaved documentation the first relevant section is~\S1851.}
+% of \sample{s}, \sample{a}, or~\sample{g} and the interested reader is referred to the
+% source code, e.\,g., \filesystem{pdftex.web}; search for \code{print("\textvisiblespace
+% s=")}. In the weaved documentation the first relevant section is~\S1851.}
% \end{enumerate}
% \item The best\footnote{\singlequotes{Best} means the minimum-demerits path in the graph of
% the feasible breakpoints, which has been constructed for the paragraph.} way to get
@@ -1404,13 +1737,13 @@ end
% as parenthesized values (units are thousandths of the current font's~em) like, e.\,g.,
%
% \begin{codeexample}
-% \textbackslash T1/erewhon-LF/m/n/9/@/@ (-13) \dots
+% \textbackslash T1/erewhon-LF/m/n/9/@/@ (-13) \dots
% \end{codeexample}
%
% or
%
% \begin{codeexample}
-% \textbackslash T1/erewhon-LF/m/n/9/@/@/10ls (+7) \dots
+% \textbackslash T1/erewhon-LF/m/n/9/@/@/10ls (+7) \dots
% \end{codeexample}
%
% An \sample{ls} appended to the font name specification indicates that
@@ -1419,7 +1752,9 @@ end
% \end{note}
%
%
-% \paragraph{Investigating page-breaks.}\index{page break}
+% \phantomsection
+% \paragraph{Investigating page-breaks.}
+% \index{page break|userman}
%
% Use \code{\cs{tracingpages}=1} or the \hyperref[syn:typoginspect]{typoginspect}~environment
% to switch on tracing of \TeX's page-break
@@ -1486,7 +1821,7 @@ end
%
%
% \subsection{Hyphenation}\label{sec:latex-hyphenation}
-% \index{hyphenation}
+% \index{hyphenation|userman}
%
% \TeX's and thus \LaTeX's hyphenation algorithm is highly sophisticated, yet the document
% author sometimes lacks convenient macros to solve seemingly trivial typographic tasks. For
@@ -1500,8 +1835,8 @@ end
% \cs{allowhyphenation}
% \end{synopsis}
%
-% Macro~\cs{allowhyphenation}\index{hyphenation>re-enable automatic} re-enables automatic
-% hyphenation after \TeX{} has turned it off, for example, in the innocuous case of a
+% Macro~\cs{allowhyphenation}\index{hyphenation>re-enable automatic|userman} re-enables
+% automatic hyphenation after \TeX{} has turned it off, for example, in the innocuous case of a
% hyphenated compound.
%
% The admittedly simple rules when \TeX{} auto-hyphenates and when not give rise to so many
@@ -1636,7 +1971,7 @@ end
% Whenever using \cs{-}, the short-hand form of \cs{discretionary\{-\}\{\}\{\}}, authors
% writing in a foreign language should reconsider whether it really beats \cs{hyphenation} or
% \cs{babelhyphenation}\footnote{\cs{babelhyphenation} is the multi-lingual extension of \TeX's
-% \cs{hyphenation} and it is defined in package~\packagename{babel}~\cite{package:babel}}. in
+% \cs{hyphenation} and it is defined in package~\packagename{babel}~\cite{package:babel}.} in
% the particular situation. However, sometimes \cs{-} actually \emph{is} the way to go.
%
% Let us assume we mark up proper names with
@@ -1662,6 +1997,12 @@ end
% which are impossible to encode with \cs{hyphenation} or~\cs{babelhyphenation} as these expect
% only letters and dashes as their arguments with spaces separating the words.
%
+% \index{hyphenation>first word|userman}
+% \index{hyphenation>hskip=\cs{hskip}|userman}
+% \TeX{} never hyphenates the initial word in a paragraph and \cs{allowhyphenation} cannot help
+% in this case. Start the paragraph with \cs{hskip~0pt} to enable hyphenation even for the
+% first word.
+%
% \begin{tip}[Typewriter Fonts]
% Sometimes it is desired to get a hyphenatable typewriter font. \LaTeX{} suppresses any
% hyphenation for fonts in \cs{ttfamily} by un-defining their \cs{hyphenchar}s. If these are
@@ -1686,8 +2027,8 @@ end
% \cs{breakpoint*}
% \end{synopsis}
%
-% The starred form inserts an empty discretionary,\index{hyphenation>empty discretionary} which
-% disables automatic hyphenation. The unstarred form inserts an empty discretionary and
+% The starred form inserts an empty discretionary,\index{hyphenation>empty discretionary|userman}
+% which disables automatic hyphenation. The unstarred form inserts an empty discretionary and
% immediately re-enables automatic hyphenation.
%
% The difference between \cs{breakpoint} and the \LaTeX{} macro~\cs{allowbreak} is not only
@@ -1729,7 +2070,7 @@ end
%
%
% \subsection{Disable\kernedslash Break Ligatures}\label{sec:break-ligatures}
-% \index{ligature}
+% \index{ligature|userman}
%
% \DescribeMacro{\nolig*}
% Break a ligature without introducing a hyphenation opportunity.
@@ -1739,8 +2080,8 @@ end
% \end{synopsis}
%
% Inserting \cs{nolig*} disables a ligature at the given point by a kern. Set the size of the
-% kern\index{kerning>ligature} with \hyperref[item:ligaturekern]{|ligaturekern|} or override
-% this value with \meta{kerning} as thousandths of the current font's~em.
+% kern\index{kerning>ligature|userman} with \hyperref[item:ligaturekern]{\code{ligaturekern}} or
+% override this value with \meta{kerning} as thousandths of the current font's~em.
%
% \begin{usecases}
% \cs{nolig*} can be useful in headings, where additional hyphenation points are
@@ -1762,12 +2103,12 @@ end
% introduces a hyphenation opportunity with
% penalty~\hyperref[item:breakpenalty]{|breakpenalty|}.
%
-% \begin{important}[\packagename{hyperref} bookmarks]\index{hyperref=\packagename{hyperref} (package)}
+% \begin{important}[\packagename{hyperref} bookmarks]\index{hyperref=\packagename{hyperref} (package)|userman}
% If a \cs{nolig} --~whether starred or un-starred~-- occurs in an argument that is processed
% with package~\packagename{hyperref} for inclusion into the document's
-% \acronym{PDF}-bookmarks\index{PDF=\acronym{PDF}}\index{bookmark} an additional argument is
-% necessary to parse the macro. This argument either is \cs{relax} or~the empty
-% group~(\code{\{\}}).
+% \acronym{PDF}-bookmarks\index{PDF=\acronym{PDF}|userman}\index{bookmark|userman} an
+% additional argument is necessary to parse the macro. This argument either is \cs{relax}
+% or~the empty group~(\code{\{\}}).
%
% \begin{synopsis}
% \begin{tabbing}
@@ -1944,14 +2285,14 @@ end
%
%
% \subsection{Apply Extra Kerning}\label{sec:extra-kerning}
-% \index{kerning>extra}
+% \index{kerning>extra|userman}
%
% Package \packagename{typog} supplies two sets of macros to kern some of the punctuation
% symbols. One is for forward slashes the other, more extensive one, for hyphens.
%
%
% \subsubsection{Slash}\label{sec:slash-with-kern}
-% \index{kerning>forward slash}
+% \index{kerning>forward slash|userman}
%
% \DescribeMacro{\kernedslash}
% \DescribeMacro{\kernedslash*}
@@ -1980,7 +2321,7 @@ end
%
%
% \subsubsection{Hyphen}\label{sec:hyphen-with-kern}
-% \index{kerning>hyphen}
+% \index{kerning>hyphen|userman}
%
% \DescribeMacro{\kernedhyphen}
% \DescribeMacro{\kernedhyphen*}
@@ -2027,7 +2368,7 @@ end
%
%
% \subsection{Raise Selected Characters}\label{sec:raise-characters}
-% \index{raised character}
+% \index{raised character|userman}
%
% Usually all hyphens and dashes of a font are designed to join lowercase letters. This holds
% also true for most of our \cs{labelitem}\meta{N} markers, bullets, stars, and even fancy
@@ -2036,10 +2377,10 @@ end
% arises if |itemize|~list markers precede an uppercase letter, a lining numeral, or a big
% mathematical operator.
%
-% We introduce a set of macros for the most common cases that allow typsetting these characters
-% at a user definable, adjusted height above the baseline. Users can base their own
-% definitions of raised characters on their associated dimensions.\footnote{Also compare with
-% Ex.~12 in Ref.~\citenum{wermuth:2023} for an attempt to automate vertical alignment.}
+% We introduce a set of macros for the most common cases that typeset these characters at a
+% user definable, adjusted height above the baseline. Users can base their own definitions of
+% raised characters on their associated dimensions.\footnote{Also compare with Ex.~12 in
+% Ref.~\citenum{wermuth:2023} for an attempt to automate vertical alignment.}
%
% \begin{caution}
% The height adjustment disables a font's built-in kerning.
@@ -2051,7 +2392,7 @@ end
%
%
% \subsubsection{Capital Hyphen}\label{sec:capital-hyphen}
-% \index{raised character>hyphen}
+% \index{raised character>hyphen|userman}
%
% \DescribeMacro{\capitalhyphen}
% \DescribeMacro{\capitalhyphen*}
@@ -2081,7 +2422,7 @@ end
%
%
% \subsubsection{Capital Dash}\label{sec:capital-dash}
-% \index{raised character>en-dash}
+% \index{raised character>en-dash|userman}
%
% \DescribeMacro{\capitalendash}
% \DescribeMacro{\capitalendash*}
@@ -2127,7 +2468,7 @@ end
%
%
% \subsubsection{Number Dash (Figure Dash)}\label{sec:number-dash}
-% \index{raised character>number dash}
+% \index{raised character>number dash|userman}
%
% \DescribeMacro{\figuredash}
% \DescribeMacro{\figuredash*}
@@ -2152,49 +2493,63 @@ end
% The actual amount the en-dash gets raised in \cs{figuredash} is determined by
% \hyperref[item:raisefiguredash]{|raisefiguredash|}.
%
-% Values of .05em to .1em are typical for fonts that need this kind of correction and~.1em is a
-% good starting point. \Cref{tab:raisefiguredash} summarizes some findings.
+% Values of .05\,em to .1\,em are typical for fonts that need this kind of correction
+% and~.1\,em is a good starting point. \Cref{tab:raisefiguredash} summarizes some findings.
%
% \begin{table}
% \centering
% \caption[Suggested raise amounts for \cs{figuredash}]%
-% {Suggested values for raising the en-dash between lining numerals of some selected
-% fonts.}
+% {Suggested values for raising \cs{figuredash}, which actually is an en-dash,
+% between lining numerals of some selected fonts in multiples of~1\,em.}
% \label{tab:raisefiguredash}
%
+% \newcommand*{\fbbmark}{\tablenotemark{\tablenotesymbol{1}}}
+%
% \begin{tabfigures}
-% \begin{tabular}{@{}l>{\RaggedRight}p{20em}@{}}
+% \begin{tabularx}{\linewidth}{@{}>{\RaggedRight}Xl@{}}
% \toprule
-% Raise & Font Name \\
-% em & \\
+% Font & Raise \\
% \midrule
-% 0 & Alegreya\index{font>Alegreya}, Arvo\index{font>Arvo},
-% Bitter\index{font>Bitter}, Clara\index{font>Clara},
-% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
-% Gentium\index{font>Gentium},
-% Ibarra Real Nova\index{font>Ibarra Real Nova},
-% \acronym{Inria}~Serif\index{font>Inria Serif=\acronym{Inria} Serif},
-% Libertine\index{font>Libertine}, Libertinus\index{font>Libertinus},
-% Merriweather\index{font>Merriweather},
-% \acronym{PT}~Serif\index{font>PT Serif=\acronym{PT} Serif},
-% Roboto Slab\index{font>Roboto Slab}, Spectral\index{font>Spectral},
-% \acronym{STIX}\index{font>STIX=\acronym{STIX}}, and many more \\
-% .05 & fbb\index{font>fbb}, Source Serif Pro\index{font>Source Serif Pro} \\
-% .0667 & Libre Baskerville\index{font>Libre Baskerville},
-% Crimson Pro\index{font>Crimson Pro},
-% Erewhon\index{font>Erewhon}, Droid Serif\index{font>Droid Serif} \\
-% .1 & \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
-% Libre Caslon\index{font>Libre Caslon},
-% Coelacanth\index{font>Coelacanth}, Crimson Pro\index{font>Crimson Pro},
-% Crimson Text\index{font>Crimson Text},
-% \TeX{} Gyre~Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella},
-% Quattrocento\index{font>},
-% \acronym{TX}~Fonts\index{font>TX Fonts=\acronym{TX} Fonts},
-% \acronym{ADF}~Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis},
-% and many more \\
+% Alegreya\detoxindex{font>typeface>Alegreya|userman}, Arvo\detoxindex{font>typeface>Arvo|userman},
+% Bitter\detoxindex{font>typeface>Bitter|userman}, Clara\detoxindex{font>typeface>Clara|userman},
+% \acronym{EB}~Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman},
+% Gentium\detoxindex{font>typeface>Gentium|userman},
+% Ibarra Real Nova\detoxindex{font>typeface>Ibarra Real Nova|userman},
+% \acronym{Inria}~Serif\detoxindex{font>typeface>Inria Serif=\acronym{Inria} Serif|userman},
+% Libertine\detoxindex{font>typeface>Libertine|userman},
+% Libertinus\detoxindex{font>typeface>Libertinus Serif|userman},
+% Merriweather\detoxindex{font>typeface>Merriweather|userman},
+% \acronym{PT}~Serif\detoxindex{font>typeface>PT Serif=\acronym{PT} Serif|userman},
+% Roboto Slab\detoxindex{font>typeface>Roboto Slab|userman},
+% Spectral\detoxindex{font>typeface>Spectral|userman},
+% \acronym{STIX}\detoxindex{font>typeface>STIX=\acronym{STIX}|userman}, and many more &
+% .0 \\
+% fbb\fbbmark\detoxindex{font>typeface>fbb|userman},
+% Source Serif Pro\detoxindex{font>typeface>Source Serif Pro|userman} &
+% .05 \\
+% Libre Baskerville\detoxindex{font>typeface>Libre Baskerville|userman},
+% Crimson Pro\detoxindex{font>typeface>Crimson Pro|userman},
+% Erewhon\detoxindex{font>typeface>Erewhon|userman},
+% Droid Serif\detoxindex{font>typeface>Droid Serif|userman} &
+% .0667 \\
+% \acronym{GFS}~Artemisia\detoxindex{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman},
+% Libre Caslon\detoxindex{font>typeface>Libre Caslon|userman},
+% Coelacanth\detoxindex{font>typeface>Coelacanth|userman},
+% Crimson Pro\detoxindex{font>typeface>Crimson Pro|userman},
+% Crimson Text\detoxindex{font>typeface>Crimson Text|userman},
+% \TeX{} Gyre~Pagella\detoxindex{font>typeface>TeX Gyre Pagella=\TeX{} Gyre Pagella|userman},
+% Quattrocento\detoxindex{font>typeface>Quattrocento|userman},
+% \acronym{TX}~Fonts\detoxindex{font>typeface>TX Fonts=\acronym{TX} Fonts|userman},
+% \acronym{ADF}~Venturis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman},
+% and many more &
+% .1 \\
% \bottomrule
-% \end{tabular}
+% \end{tabularx}
% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \fbbmark\enspace Free Bembo.
+% \end{tablenotes}
% \end{table}
%
% Other macros may be redefined with \cs{figuredash} for a consistent appearance of the copy,
@@ -2210,7 +2565,7 @@ end
%
% \subsubsection[Multiplication Sign]%
% {Multiplication Sign -- Times~\sample{\texttimes}}\label{sec:mult-sign}
-% \index{raised character>multiplication sign}
+% \index{raised character>multiplication sign|userman}
%
% \DescribeMacro{\capitaltimes}
% The \cs{capitaltimes}~macro is a variation of the
@@ -2232,17 +2587,19 @@ end
%
%
% \subsubsection{Guillemets}\label{sec:guillemets}
-% \index{raised character>guillemets}
+% \index{raised character>guillemets|userman}
%
% Another possible typographic problem this package addresses is that both sets --~single and
% double quotes~-- of guillemets may suffer from a too small distance to the baseline.
%
% For the implementation \packagename{typog} relies on the T1\footnote{Font
-% encoding~T1\index{font>encoding} can be forced via \cs{usepackage}|[T1]\{fontenc\}| in the
-% document preamble.}~font encoding not on package~\packagename{babel}.
+% encoding~T1\detoxindex{font>encoding|userman} can be forced via
+% \cs{usepackage}|[T1]\{fontenc\}| in the document preamble.}~font encoding not on
+% package~\packagename{babel}.
%
%
% \paragraph{Lowercase Versions.}
+%
% \DescribeMacro{\singleguillemetleft}
% \DescribeMacro{\singleguillemetright}
% \DescribeMacro{\doubleguillemetleft}
@@ -2280,33 +2637,34 @@ end
% or lining numerals is \cs{Singleguillemetleft} and \cs{Singleguillemetright} and
% \cs{Doubleguillemetleft} and \cs{doubleguillemetright}. Mnemonic: These macros start with an
% uppercase letter. Their height above the baseline is adjusted with
-% \hyperref[item:raisecapitalguillemets]{|raisecapitalguillemets|}. Values of .025em to .075em
-% are typical for fonts that need this kind of correction. \Cref{tab:raiseguillemets}
+% \hyperref[item:raisecapitalguillemets]{|raisecapitalguillemets|}. Values of .025\,em to
+% .075\,em are typical for fonts that need this kind of correction. \Cref{tab:raiseguillemets}
% summarizes some findings.
%
% \begin{table}
% \centering
% \caption[Suggested raise amounts for guillemets]%
-% {Suggested values for raising guillemets of some selected fonts.}
+% {Suggested values for raising guillemets of some selected fonts in multiples
+% of~1\,em.}
% \label{tab:raiseguillemets}
%
% \begin{tabfigures}
-% \begin{tabular}{@{}cc>{\RaggedRight}p{20em}@{}}
+% \def~{\hphantom{0}}
+% \begin{tabular}{@{}>{\RaggedRight}p{.5\textwidth}cc@{}}
% \toprule
-% \multicolumn{2}{@{}c}{Raise} & Font Name \\
-% Lowercase & Uppercase & \\
-% em & em & \\
+% Font & Uppercase & Lowercase \\
% \midrule
-% 0 & .05\hphantom{00} &
-% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
-% Libertinus\index{font>Libertinus},
-% Merriweather\index{font>Merriweather}, and many more \\
-% .025 & .05\hphantom{00} & Gentium\index{font>Gentium} \\
-% .04\hphantom{0} & .0667 &
-% \acronym{ADF}~Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} \\
-% .05\hphantom{0} & .0625 &
-% \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
-% \acronym{GFS}~Didot\index{font>GFS Didot=\acronym{GFS} Didot} \\
+% \acronym{EB} Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman},
+% Libertinus\index{font>typeface>Libertinus Serif|userman},
+% Merriweather\index{font>typeface>Merriweather|userman}, and many more &
+% .05~~ & .0~~ \\
+% Gentium\index{font>typeface>Gentium|userman} &
+% .05~~ & .025 \\
+% \acronym{GFS} Artemisia\detoxindex{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman},
+% \acronym{GFS} Didot\detoxindex{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} &
+% .0625 & .05~ \\
+% \acronym{ADF} Baskervald\index{font>typeface>ADF Baskervald=\acronym{ADF} Baskervald|userman} &
+% .0667 & .04~ \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -2322,7 +2680,8 @@ end
% \cs{let}\cs{sq}=\cs{singlequotes}
% \end{codeexample}
%
-% and similar definitions for \cs{Singlequotes}, \cs{doublequotes}, and~\cs{Doublequotes}.
+% \noindent
+% and similar definitions for \cs{Singlequotes}, \cs{doublequotes}, and \cs{Doublequotes}.
%
% Users working according to the French typesetting conventions will want to add extra
% spacing between the guillemets and the macro argument already in these macros.
@@ -2334,7 +2693,7 @@ end
%
%
% \paragraph{Interaction with package~\packagename{csquotes}.}
-% \index{csquotes=\packagename{csquotes} (package)}
+% \index{csquotes=\packagename{csquotes} (package)|userman}
%
% The users of package~\packagename{csquotes}
% can hook up the guillemets as defined by \packagename{typog}
@@ -2367,21 +2726,374 @@ end
% \end{futuredirection}
%
%
+% \subsection[Vertically Adjust Label Items]
+% {Vertically Adjust Label Items of
+% Environment \code{itemize}}\label{sec:adjust-label-items}
+% \index{label items|userman}
+%
+% \begin{whittyquote}
+% Perfection of planned layout \\
+% is archieved only by institutions \\
+% on the point of collapse. \\
+% \capitalemdash*~\propername{Cyril Northcote Parkinson}
+% \end{whittyquote}
+%
+% \noindent
+% The symbols that \LaTeX{} uses to distinguish the items of |itemize|~lists do not always
+% align well in the vertical direction with the following text. Sometimes the label is too
+% low, especially if followed by an uppercase (initial) letter. In rare occasions the label is
+% placed too far above the baseline. If any label has been taken from a math-font vertical
+% alignment with the text font is almost purely accidental.\footnote{The exception being
+% mathematics typeset as text via package~\packagename{mathastext}~\cite{package:mathastext}.}
+%
+% \hangindent=2\parindent
+% \hangafter=-3
+% \noindent
+% \DescribeMacro{\uppercaseadjustlabelitems}
+% \DescribeMacro{\lowercaseadjustlabelitems}
+% \DescribeMacro{\noadjustlabelitems}
+% \sinceversion{All three since v0.4}
+% Package~\packagename{typog} lets the user vertically align the \code{itemize}~labels for
+% subsequent uppercase or lowercase letters, where the designations~\singlequotes{uppercase}
+% and \singlequotes{lowercase} are just names for two four-tuples of lengths (technically:
+% |dimen|s) to shift the labels up or down.
+%
+% \begin{synopsis}
+% \label{syn:lowercaseadjustlabelitems}
+% \label{syn:noadjustlabelitems}
+% \label{syn:uppercaseadjustlabelitems}
+% \cs{uppercaseadjustlabelitems}\marg{levels-to-adjust} \\
+% \cs{lowercaseadjustlabelitems}\marg{levels-to-adjust} \\
+% \cs{noadjustlabelitems}\marg{levels-to-adjust}
+% \end{synopsis}
+%
+% Apply uppercase adjustment, lowercase adjustment or no adjustment to the labels in
+% |itemize|~environments at the \meta{levels-to-adjust}. The adjustment values themselves,
+% this is the vertical shifts are configured with
+% options~\hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}}
+% and~\hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}}.
+% They are doubly font dependent: on the one hand the font where the label itself comes from
+% and on the other hand the font of the copy.
+%
+% The argument \meta{levels-to-adjust} is a --~possibly empty~-- comma separated list of the
+% levels the respective adjustments are to be applied to. The levels themselves are given as
+% \emph{decimal} numbers, this is, 1, 2, 3, 4 or the special value~\sample{*} which stands for
+% all four levels. An empty argument list also has a special meaning. Used within any
+% \code{itemize}~environment it automatically applies the adjustment to exactly this level.
+%
+% \begin{example}
+% \begin{typogsetup}{uppercaselabelitemadjustments={.1em}}
+% With the flexible syntax the following settings are possible.
+%
+% \renewcommand*{\labelitemi}{{\small$\rhd$}}%
+% \begin{itemize}\uppercaseadjustlabelitems{}
+% \item Correct all |itemize| labels for uppercase letters.
+%
+% \begin{codeexample}
+% \cs{uppercaseadjustlabelitems}\{*\}
+% \end{codeexample}
+%
+% \item Adjust nesting levels~1, 2, and~3 for uppercase letters and level~4 for lowercase.
+%
+% \begin{codeexample}
+% \cs{lowercaseadjustlabelitems}\{4\} \\
+% \cs{uppercaseadjustlabelitems}\{2,3,1\}
+% \end{codeexample}
+%
+% \item Within an |itemize|~environment just turn off any correction for this level whatever
+% it may be.
+%
+% \begin{codeexample}
+% \cs{begin}\{itemize\} \\
+% \cs{noadjustlabelitems}\{\} \\
+% \cs{item} \dots \\
+% \cs{end}\{itemize\}
+% \end{codeexample}
+%
+% \item Override \cs{labelitemi} with a right-pointing triangle and adjust its vertical
+% position inside of a \code{typogsetup}~environment.
+%
+% \begin{codeexample}
+% \cs{begin}\=\{typogsetup\} \\
+% \>\{uppercaselabelitemadjustments=\{.1em\}\} \\
+% 12\=34567890 \kill
+% \>\cs{renewcommand*}\{\cs{labelitemi}\}\{\{\cs{small}\$\cs{rhd}\$\}\} \\
+% \>\cs{begin}\{itemize\} \\
+% \>\cs{uppercaseadjustlabelitems}\{\} \\
+% \>\cs{item} \dots \\
+% \>\cs{end}\{itemize\} \\
+% \cs{end}\{typogsetup\}
+% \end{codeexample}
+% \end{itemize}
+%
+% The observant reader will have noticed that the itemized list in this emphasized section
+% uses the code of the last example.
+% \end{typogsetup}
+% \end{example}
+%
+%
+% \paragraph{Setup.}
+%
+% To assist the user in finding the desired adjustments of the labels of \packagename{typog}
+% provides macros that help setting up
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}} and
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}}. Their
+% intended uses are in the draft phase of a document or in non-printed sections of the text.
+%
+% The macros assume a \singlequotes{correct} height that they derive from the measured height
+% of a sample text scaled by a user-defined factor, which defaults
+% to~\nativetextfraction{1}{2}.\footnote{The default factor of~.5 hearkens back to
+% \propername{Strizver's} suggestion that \doublequotes{[b]ullets should be centered on either
+% the cap~height or x-height of the neighboring text, \dots.}~\cite[p.~220]{strizver:2014}.}
+% The then correct height gets indicated by a thin horizontal line parallel to the baseline.
+% Thus, at sufficiently high magnifications it is possible to judge whether a label gets
+% typeset too high or too low with respect to this reference line.
+%
+% \begin{note}
+% The macros use the actual height of a given sample~text. So, a lowercase~sample should not
+% contain any letters with ascenders.
+%
+% Swashes whether upper- or lowercase always need special attention.
+% \end{note}
+%
+% \DescribeMacro{\typogadjuststairs}
+% \sinceversion{Since v0.4}
+% To get a quick overview how the four \code{itemize}~labels align vertically
+% \cs{typogadjuststairs} draws them at user-defined steps, typically
+% \nativetextfraction{1}{4}\,pt, \nativetextfraction{1}{3}\,pt, or
+% \nativetextfraction{1}{2}\,pt. It ignores any existing adjustments and in that way can be
+% utilized as a first configuration step or, for a small \meta{step-size} and a high
+% \meta{number-of-steps}, for an easy refinement.
+%
+% \begin{synopsis}
+% \begin{tabbing}
+% \label{syn:typogadjuststairs}
+% \cs{typogadjuststairs}\=[\meta{scale-factor}=.5] \\
+% \>\marg{step-size}\marg{number-of-steps} \\
+% \>\marg{sample}
+% \end{tabbing}
+% \end{synopsis}
+%
+% Generate stairs of \meta{number-of-steps} vertically shifted label items; use the next odd
+% number, if \meta{number-of-steps} is even. Draw a reference hairline at \meta{scale-factor}
+% times the height of \meta{sample}, where \meta{scale-factor} defaults to~.5. The stairs
+% start at a vertical shift of
+% \begin{gather*}
+% -\frac{\text{\meta{number-of-steps}} - 1}{2} \times \text{\meta{step-size}} \\
+% \intertext{and repeat up}
+% \frac{\text{\meta{number-of-steps}} - 1}{2} \times \text{\meta{step-size}}.
+% \end{gather*}
+%
+% \noindent
+% The central step --~which is always surrounded by a bit more space~-- shows the neutral
+% alignment, this is~0\,pt. \cs{typogadjuststairs} never prints the contents of \meta{sample}.
+%
+% \begin{example}
+% Play ball!
+%
+% \begin{center}
+% \typogadjuststairs{.25pt}{9}{ABC}
+% \end{center}
+%
+% This is the result of \code{\string\typogadjuststairs\{.25pt\}\{9\}\{ABC\}} with the
+% document's definitions of \cs{labelitem}\meta{N}. The fifth label~item in each line is the
+% uncorrected one.
+% \end{example}
+%
+% \hangindent=2\parindent
+% \hangafter=-3
+% \noindent
+% \DescribeMacro{\typoguppercaseadjustcheck}
+% \DescribeMacro{\typoglowercaseadjustcheck}
+% \sinceversion{Both since v0.4}
+% For a quick and easy check how the four label items vertically align \emph{as configured} use
+% \code{\string\typoguppercaseadjustcheck} and \code{\string\typoglowercaseadjustcheck}.
+% Experienced users with a keen eye for type can apply these macros even in the initial setup.
+% An accurate determination of \code{uppercaselabelitemadjustments} and
+% \code{lowercaselabelitemadjustments} is preferably done at a high magnification (400\% to
+% 600\% on a 100\,dpi screen) with a representative sample of initial letters.
+%
+% \begin{synopsis}
+% \label{syn:typoguppercaseadjustcheck}
+% \label{syn:typoglowercaseadjustcheck}
+% \cs{typoguppercaseadjustcheck}[\meta{scale-factor}=.5]\marg{sample} \\
+% \cs{typoglowercaseadjustcheck}[\meta{scale-factor}=.5]\marg{sample}
+% \end{synopsis}
+%
+% Typeset all four label items adjusted for uppercase or for lowercase with an indicator line
+% at \meta{scale-factor} times the \meta{sample}'s actual height. The default
+% \meta{scale-factor} is~.5. Both macros refer to the currently configured values for the
+% uppercase or lowercase adjustments but they are independent of any settings done with
+% \cs{uppercaseadjustlabelitems}, \cs{lowercaseadjustlabelitems}, or \cs{noadjustlabelitems}.
+% Again, \meta{sample} does not get printed.
+%
+% \begin{example}
+% Uppercase check with \code{\string\typoguppercaseadjustcheck\{ABCXYZ\}}:
+%
+% \centering
+% ABGH\typoguppercaseadjustcheck{ABCXYZ}QWYZ,\enspace
+% 0123\typoguppercaseadjustcheck{ABCXYZ}4567
+%
+% \justifying
+% \noindent
+% and similarly for lowercase: \code{\string\typoglowercaseadjustcheck\{acexyz\}}:
+%
+% \centering
+% ace\typoglowercaseadjustcheck{acexyz}mno,\enspace
+% bdf\typoglowercaseadjustcheck{acexyz}gjy,\enspace
+% {\proportionaloldstylefigures 0123\typoglowercaseadjustcheck{acexyz}4567,}
+%
+% \justifying
+% \noindent
+% where we have bracketed the macro calls with selected uppercase and lowercase letters, or
+% suitable figures.
+% \end{example}
+%
+% In \Cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues} we collected some
+% suggestions for adjustment values in the \emph{default} case when the label items are not
+% redefined by the user and expand like
+%
+% \begin{center}
+% \def\arraystretch{1}
+% \begin{tabular}{@{}l@{\enspace\(\vdash\)\enspace}l@{}}
+% \cs{labelitemi} & \dumpmacro{\labelitemi}, \\
+% \cs{labelitemii} & \dumpmacro{\labelitemii}, \\
+% \cs{labelitemiii} & \dumpmacro{\labelitemiii}, and \\
+% \cs{labelitemiv} & \dumpmacro{\labelitemiv}.
+% \end{tabular}
+% \end{center}
+%
+% \noindent
+% They display as \sample{\labelitemi}, \sample{\labelitemii}, \sample{\labelitemiii}, and
+% \sample{\labelitemiv}, respectively.
+%
+% \begin{table}
+% \centering
+% \caption[Label item adjustment suggestions]%
+% {Some suggested values for the vertical adjustments of label items. The table
+% assumes that the default definitions (of class~\packagename{article}) for
+% \cs{labelitem}\meta{N} are in effect. The \code{itemize}-list levels~\code{i},
+% \code{ii}, \code{iii} and~\code{iv} are referred to with \(N = 1, 2, 3, 4\). All
+% lengths are given as printer points~(pt) and refer to a document font size of
+% \formatdimen*{10pt}.}
+% \label{tab:labelitemadjustvalues}
+%
+% \newcommand*{\etbbmark}{\tablenotemark{\tablenotesymbol{1}}}
+% \newcommand*{\xchartermark}{\tablenotemark{\tablenotesymbol{2}}}
+% \newcommand*{\kpmark}{\tablenotemark{\tablenotesymbol{3}}}
+% \newcommand*{\palladiomark}{\tablenotemark{\tablenotesymbol{4}}}
+% \newcommand*{\utopiamark}{\tablenotemark{\tablenotesymbol{5}}}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}
+% \def\mc#1{#1~~~}
+% \noindent
+% \makebox[0pt]{%
+% \begin{tabular}{@{}l*{4}{r}@{\qquad}*{4}{r}@{}}
+% \toprule
+% Font Name &
+% \multicolumn{4}{c}{Uppercase Adjustments} & \multicolumn{4}{c@{}}{Lowercase Adjustments} \\
+% {} &
+% \mc{1} & \mc{2} & \mc{3} & \mc{4} &
+% \mc{1} & \mc{2} & \mc{3} & \mc{4} \\
+% \midrule
+% \acronym{ADF} Accanthis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Accanthis|userman} &
+% .5~~ & 1.5~~ & \textminus1.5~~ & 1.125 &
+% \textminus.75~ & .25~ & \textminus2.75~ & \textminus.125 \\
+% \acronym{ADF} Venturis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman} &
+% .0~~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus.75~ & .0~~ & \textminus.25~ & .0~~ \\
+% \acronym{CM} Roman\detoxindex{font>typeface>CM Roman=\acronym{CM} Roman|userman} &
+% 1.0~~ & .75~ & 1.0~~ & 1.0~~ &
+% \textminus.25~ & \textminus.5~~ & \textminus.25~ & \textminus.25~ \\
+% Domitian\detoxindex{font>typeface>Domitian|userman} &
+% .25~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus1.0~~ & .0~~ & \textminus.325 & \textminus.25~ \\
+% Cochineal\detoxindex{font>typeface>Cochineal|userman} &
+% 1.0~~ & 1.0~~ & 1.0~~ & 1.0~~ &
+% \textminus.125 & \textminus.125 & \textminus.125 & \textminus.125 \\
+% \acronym{EB} Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman} &
+% .0~~ & 1.25~ & \textminus.875 & 1.325 &
+% \textminus1.5~~ & .0~~ & \textminus2.0~~ & 0.125 \\
+% etbb\etbbmark\detoxindex{font>typeface>etbb|userman} &
+% .25~ & 1.0~~ & 1.125 & .5~~ &
+% \textminus1.0~~ & \textminus.0~~ & \textminus.0~~ & \textminus.5~~ \\
+% Extended Charter\xchartermark\detoxindex{font>typeface>Extended Charter|userman} &
+% \textminus.25~ & 1.0~~ & 1.75 & .125 &
+% \textminus1.125 & .0~~ & .875 & \textminus.875 \\
+% Gentium\detoxindex{font>typeface>Gentium|userman} &
+% .0~~ & .75~ & .0~~ & .0~~ &
+% \textminus.5~~ & \textminus.25~ & \textminus.75~ & \textminus1.0~~ \\
+% \acronym{GFS} Bodoni\detoxindex{font>typeface>GFS Bodoni=\acronym{GFS} Bodoni|userman} &
+% \textminus.25~ & .625 & 1.0~~ & 1.125 &
+% \textminus1.25~ & \textminus.625 & \textminus.5~~ & \textminus.25~ \\
+% \acronym{GFS} Didot\detoxindex{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} &
+% \textminus1.5~~ & .75~ & 1.0~~ & 1.25~ &
+% \textminus2.75~ & \textminus.25~ & \textminus.25~ & .25~ \\
+% \acronym{IBM} Plex Serif\detoxindex{font>typeface>IBM Plex Serif=\acronym{IBM} Plex Serif|userman} &
+% .5~~ & .5~~ & \textminus1.325 & .5~~ &
+% \textminus.25~ & \textminus.25~ & \textminus2.25~ & \textminus.25~ \\
+% \acronym{KP} Serif\kpmark\detoxindex{font>typeface>KP Serif=\acronym{KP} Serif|userman} &
+% .0~~ & 1.0~~ & 1.25~ & .75~ &
+% \textminus1.0~~ & .0~~ & .0~~ & \textminus.5~~ \\
+% Libertinus Serif\detoxindex{font>typeface>Libertinus Serif|userman} &
+% 1.0~~ & .75~ & 1.125 & .75~ &
+% .0~~ & \textminus.325 & .0~~ & \textminus.25~ \\
+% \acronym{ML} Modern\detoxindex{font>typeface>ML Modern=\acronym{ML} Modern|userman} &
+% 1.25~ & .75~ & 1.0~~ & .125 &
+% .0~~ & \textminus.5~~ & \textminus.25~ & \textminus.125 \\
+% Source Serif Pro\detoxindex{font>typeface>Source Serif Pro|userman} &
+% .125 & .75~ & \textminus1.0~~ & .125 &
+% \textminus.75~ & .0~~ & \textminus2.0~~ & \textminus.75~ \\
+% Spectral\detoxindex{font>typeface>Spectral|userman} &
+% .625 & .625 & \textminus1.5~~ & .625 &
+% \textminus.25~ & \textminus.25~ & \textminus2.5~~ & \textminus.25~ \\
+% \acronym{STIX}\detoxindex{font>typeface>STIX=\acronym{STIX}|userman} &
+% 1.0~~ & 1.0~~ & .75~ & 1.0~~ &
+% .0~~ & .0~~ & .0~~ & .0~~ \\
+% \acronym{URW} Palladio\palladiomark\detoxindex{font>typeface>URW Palladio=\acronym{URW} Palladio|userman} &
+% .25~ & 1.125 & 1.0~~ & 1.0~~ &
+% \textminus1.0~~ & \textminus.125 & \textminus.125 & \textminus.125 \\
+% Utopia Regular\utopiamark\detoxindex{font>typeface>Utopia Regular|userman} &
+% .0~~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus.75~ & .0~~ & \textminus.25~ & .0~~ \\
+% \bottomrule
+% \end{tabular}}
+% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \etbbmark\enspace \propername{Edward Tufte}'s Bembo in package~\packagename{ETbb}. Note
+% the two initial capital letters in the filename.
+%
+% \xchartermark\enspace Found in package \packagename{XCharter}. Again note the two
+% initial capitals in the filename.
+%
+% \kpmark\enspace In package \packagename{kpfonts}.
+%
+% \palladiomark\enspace Contained in package~\packagename{mathpazo}.
+%
+% \utopiamark\enspace Utopia is available through package~\packagename{fourier} or
+% package~\packagename{mathdesign}. In the latter case pass option~\code{adobe-utopia} to
+% the package.
+% \end{tablenotes}
+% \end{table}
+%
+%
% \subsection[Align Last Line]
% {Align Last Line of a Paragraph}\label{sec:align-last-line}
-% \index{paragraph>align last line}
+% \index{paragraph>align last line|userman}
%
% The usual algorithms of \LaTeX{} typeset the last line of a paragraph flush with the left
% margin unless |center|, |raggedleft| or |Centering|, |FlushRight|
% (package~\packagename{ragged2e}~\cite{package:ragged2e}) are in effect. For an instructive
% discussion consult Ch.~17, \doublequotes{Paragraph End}, of Ref.~\citenum{eijkhout:2007}.
-% The following environments allow to adjust the last lines of paragraphs in different ways.
+% The following environments adjust the last lines of paragraphs in different ways.
%
% \DescribeEnv{lastlineraggedleftpar}
% \DescribeEnv{lastlineflushrightpar}
-% The environment |lastlineraggedleftpar|\index{paragraph>align last line>flush right} adjusts
-% the various skips such that the last lines of the paragraphs gets typeset flush with the
-% right margin.
+% The environment \code{lastlineraggedleftpar}\index{paragraph>align last line>flush right|userman}
+% adjusts the various skips such that the last lines of the paragraphs gets typeset flush with
+% the right margin.
%
% \begin{synopsis}\label{syn:lastlineraggedleftpar}\label{syn:lastlineflushrightpar}
% \cs{begin}|{lastlineraggedleftpar}| \\
@@ -2393,8 +3105,9 @@ end
% The name |lastlineflushrightpar| is an alias for~\code{lastlineraggedleftpar}.
%
% \DescribeEnv{lastlinecenteredpar}
-% Center\index{paragraph>align last line>centered} the last lines of the paragraphs enclosed by
-% this environment.\footnote{Also compare the approach taken in Ref.~\citenum{wermuth:2018}.}
+% Center\index{paragraph>align last line>centered|userman} the last lines of the paragraphs
+% enclosed by this environment.\footnote{Also compare the approach taken in
+% Ref.~\citenum{wermuth:2018}.}
%
% \begin{synopsis}\label{syn:lastlinecenteredpar}
% \cs{begin}|{lastlinecenteredpar}| \\
@@ -2412,7 +3125,7 @@ end
% \needtocspace
% \subsection[Fill Last Line]
% {Fill Last Line of a Paragraph}\label{sec:fill-last-line}
-% \index{paragraph>fill last line}
+% \index{paragraph>fill last line|userman}
%
% The problem of when and how to \singlequotes{fill} the last line of a paragraph is quite
% intricate. We first define the problem then we proceed to general purpose functions and we
@@ -2421,7 +3134,7 @@ end
%
% \subsubsection{Problem Definition}
%
-% Depending on the value of \cs{parindent}, either zero or nonzero, there may be the desire to
+% Depending on the value of \cs{parindent}, either zero or nonzero, there may be the need to
% control the length of the last line of a paragraph.
%
% \iffalse
@@ -2562,7 +3275,7 @@ end
% \includegraphics{crooked-paragraphs-3.mps}
% \end{center}
% \end{minipage}\footnotetext{Package~\packagename{parskip} defines \cs{parskip}
-% as \mbox{6pt plus 2pt} for a base size of~10pt.}
+% as \mbox{6\,pt plus 2\,pt} for a base size of~10\,pt.}
%
% \medskip
% \begin{minipage}{\linewidth}
@@ -2576,7 +3289,7 @@ end
%
% The suggestions for the gap-width vary from two~em to twice the width of a
% \singlequotes{typical} \cs{parindent}\footnote{% For example, \LaTeX's class
-% \packagename{article} uses a \cs{parindent} of~25pt.} for the gap~\cite{carlisle:1996}.
+% \packagename{article} uses a \cs{parindent} of~25\,pt.} for the gap~\cite{carlisle:1996}.
% \end{enumerate}
%
% \begin{tip}
@@ -2598,9 +3311,10 @@ end
% them should have certain advantageous properties.
%
% \begin{itemize}
-% \item Technically, the paragraphs need to contain enough glue (see
-% e.\,g.~\cref{sec:sloppy-paragraphs}) to achieve a low badness such that the desired
-% paragraph end is deemed feasible by \TeX.
+% \item Technically, the paragraphs need to contain enough glue (see for example
+% \cref{sec:sloppy-paragraphs}) to achieve a low badness such that the desired paragraph
+% end is deemed feasible by \TeX.\shiftedmarginnote{This \code{itemize} list demonstrates
+% vertically adjusted label items (\cref{sec:adjust-label-items}).}
%
% \item Aesthetically, the paragraphs must be long enough to absorb the change in last-line
% fill level otherwise their gray-values visibly deviate from the
@@ -2618,18 +3332,21 @@ end
% \item End-of-paragraph intervention.\label{enum:end-of-paragraph-intervention}
%
% \begin{enumerate}[notopsep]
-% \item Tie~\sample{\texttt{\char126}}\label{enum:tie-last-words}\index{paragraph>fill last line>tie}
+% \item Tie~\sample{\texttt{\char126}}\label{enum:tie-last-words}
+% \index{paragraph>fill last line>tie|userman}
%
% Tie the last words.
%
% The problem with the tie may be a hyphenation of one of the words that participates in
% the tie. The next item avoids this disadvantage.
%
-% \item \cs{mbox}\label{enum:mbox-last-words}\index{paragraph>fill last line>mbox=\cs{mbox}}
+% \item \cs{mbox}\label{enum:mbox-last-words}
+% \index{paragraph>fill last line>mbox=\cs{mbox}|userman}
%
% Join the last words or inline equation at the end of the paragraph with an~\cs{mbox}.
%
-% \item \cs{linebreak}\label{enum:linebreak}\index{paragraph>fill last line>linebreak=\cs{linebreak}}
+% \item \cs{linebreak}\label{enum:linebreak}
+% \index{paragraph>fill last line>linebreak=\cs{linebreak}|userman}
%
% Add a \cs{linebreak} to the back part of the paragraph (approximately where the
% \cs{mbox} of item~\ref{enum:mbox-last-words} would start) in a way that the last line
@@ -2646,7 +3363,8 @@ end
% \item Uniform paragraph change.\label{enum:uniform-paragraph-change}
%
% \begin{enumerate}[notopsep]
-% \item Vary spacing.\label{enum:vary-spacing}\index{font>spacing}
+% \item Vary spacing.\label{enum:vary-spacing}
+% \index{font>spacing|userman}
%
% Modify the inter-word spacing, for example, with the macros introduced in
% \cref{sec:looser-tighter-spacing}.
@@ -2655,13 +3373,15 @@ end
% or~\hyperref[syn:tightspacing]{|tightspacing|}.
% Increase the spacing~\meta{level} until the last line gets the desired length.
%
-% \item Vary font tracking.\label{enum:vary-font-tracking}\index{font>tracking}
+% \item Vary font tracking.\label{enum:vary-font-tracking}
+% \index{font>tracking|userman}
%
% Enclose the paragraph in a \hyperref[syn:setfonttracking]{\code{setfonttracking}}~group.
% See \cref{sec:tracking-control}. Increase or decrease the tracking in steps of
% \nativetextfraction{1}{1000}\,em until the last line looks good.
%
-% \item Vary font expansion.\label{enum:vary-font-expansion}\index{font>expansion}
+% \item Vary font expansion.\label{enum:vary-font-expansion}
+% \index{font>expansion|userman}
%
% Enclose the paragraph in a \hyperref[syn:setfontexpand]{\code{setfontexpand}}~group. See
% \cref{sec:font-expansion-control}.
@@ -2688,15 +3408,17 @@ end
%
% \DescribeEnv{shortenpar}
% \DescribeEnv{prolongpar}
-% The two environments |shortenpar|\index{paragraph>fill last
-% line>shortenpar=\code{shortenpar}} and |prolongpar|\index{paragraph>fill last
-% line>prolongpar=\code{prolongpar}} can be employed in quite general situations when a
+% The two environments
+% \code{shortenpar}\index{paragraph>fill last line>shortenpar=\code{shortenpar}|userman}
+% and \code{prolongpar}\index{paragraph>fill last line>prolongpar=\code{prolongpar}|userman}
+% can be employed in quite general situations when a
% paragraph should be typeset one line longer or shorter, e.\,g., to avoid a
-% widow~line\footnote{The last line of a paragraph becomes a \singlequotes{widow}\index{forlorn
-% line>widow} (ger.~\foreignphrase{Hurenkind}) if it starts the following page or column.} or
-% a club~line\footnote{The first line of a paragraph is called
-% \singlequotes{club}\index{forlorn line>club} or~\singlequotes{orphan}\index{forlorn
-% line>orphan} (ger.~\foreignphrase{Schusterjunge}) if it appears at the bottom of the page or
+% widow~line\footnote{The last line of a paragraph becomes a
+% \singlequotes{widow}\detoxindex{forlorn line>widow|userman} (ger.~\foreignphrase{Hurenkind}) if it
+% starts the following page or column.} or a club~line\footnote{The first line of a paragraph
+% is called \singlequotes{club}\detoxindex{forlorn line>club|userman}
+% or~\singlequotes{orphan}\detoxindex{forlorn line>orphan|userman}
+% (ger.~\foreignphrase{Schusterjunge}) if it appears at the bottom of the page or
% column.}~[\citenum{knuth:1986}, p.~104 and~\citenum{mittelbach:2018c}]. (See also
% \cref{sec:vtie-paragraph} for special functions to avoid clubs or widows.)
% \singlequotes{Accidentally}, they also change the length of the last line of the paragraph.
@@ -2730,7 +3452,8 @@ end
% parameter change.
%
% \DescribeEnv{covernextindentpar}
-% Environment |covernextindentpar|\index{paragraph>fill last line>covernextindentpar=\code{covernextindentpar}}
+% Environment \code{covernextindentpar}%
+% \index{paragraph>fill last line>covernextindentpar=\code{covernextindentpar}|userman}
% can be helpful for \hyperref[item:o1]{case~O1}, i.\,e., a too short last line.
%
% \begin{synopsis}\label{syn:covernextindentpar}
@@ -2747,9 +3470,10 @@ end
% (if \(\cs{parindent} = 0\)), or \meta{dim} if called with an optional argument.
%
% \DescribeEnv{openlastlinepar}
-% The next environment, |openlastlinepar|,\index{paragraph>fill last
-% line>openlastlinepar=\code{openlastlinepar}} takes care of \hyperref[item:o2]{case~O2},
-% i.\,e., a last line in a paragraph that is almost full or completely filled.
+% The next environment, \code{openlastlinepar},%
+% \index{paragraph>fill last line>openlastlinepar=\code{openlastlinepar}|userman}
+% takes care of \hyperref[item:o2]{case~O2}, i.\,e., a last line in a paragraph that is almost
+% full or completely filled.
%
% \begin{synopsis}\label{syn:openlastlinepar}
% \cs{begin}|{openlastlinepar}|\oarg{dim} \\
@@ -2769,13 +3493,15 @@ end
% last line is avoided, but the result may be of \hyperref[item:o1]{type~O1} nonetheless.
%
%
+% \toccontinuesonnextpage
% \needtocspace
% \Needspace{150pt}
-% \subsection{Spacing}\label{sec:spacing-control}\index{font>spacing}
+% \subsection{Spacing}\label{sec:spacing-control}
+% \index{font>spacing|userman}
%
% \begin{whittyquote}
-% 90~\% of design is typography. \\
-% And the other 90~\% is whitespace. \\
+% 90\% of design is typography. \\
+% And the other 90\% is whitespace. \\
% \capitalemdash*~\propername{Jeffrey Zeldman}
% \end{whittyquote}
%
@@ -2785,7 +3511,9 @@ end
% \cref{sec:microtype-frontend}.
%
%
-% \subsubsection[Looser\kernedslash Tighter]{Looser or Tighter Spacing}\label{sec:looser-tighter-spacing}\index{font>spacing>loose}\index{font>spacing>tight}
+% \subsubsection[Looser\kernedslash Tighter]{Looser or Tighter Spacing}\label{sec:looser-tighter-spacing}
+% \index{font>spacing>loose|userman}
+% \index{font>spacing>tight|userman}
%
%
% \begin{whittyquote}
@@ -2822,7 +3550,7 @@ end
%
% \begin{SCtable}[10]
% \caption[Spacing changes made by \code{loosespacing}]%
-% {Adjustments made by environment |loosespacing| to \cs{spaceskip}.
+% {Adjustments made by environment \code{loosespacing} to \cs{spaceskip}.
% The mapping of \meta{level} to the exact skip definitions are
% \(1 \mapsto \formatskip{1.05}{.5}{.1}\),
% \(2 \mapsto \formatskip{1.1}{.5}{.1}\),
@@ -2836,7 +3564,7 @@ end
% \def~{\hphantom{0}}%
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & Adjustment & Comment \\
+% \meta{level} & Adjustment & Note \\
% {} & \% & \\
% \midrule
% 0 & n/a & neutral \\
@@ -2861,29 +3589,29 @@ end
% \cref{tab:tightspacing}.
%
% \begin{SCtable}[10]
+% \def~{\hphantom{0}}
% \caption[Spacing changes made by \code{tightspacing}]%
-% {Adjustments made by environment |tightspacing| to \cs{spaceskip}.
+% {Adjustments made by environment \code{tightspacing} to \cs{spaceskip}.
% The mapping of \meta{level} to the exact skip definitions are
-% \(1 \mapsto \formatskip{.9875}{.0125}{.5\hphantom{000}}\)\!,
-% \(2 \mapsto \formatskip{.975}{.025}{.5\hphantom{00}}\)\!,
-% \(3 \mapsto \formatskip{.95}{.05}{.5\hphantom{0}}\)\!, and
+% \(1 \mapsto \formatskip{.9875}{.0125}{.5~~~}\)\!,
+% \(2 \mapsto \formatskip{.975}{.025}{.5~~}\)\!,
+% \(3 \mapsto \formatskip{.95}{.05}{.5~}\)\!, and
% \(\ge 4 \mapsto \formatskip{.9}{.1}{.5}\),
% where all factors scale with \cs{dimen2},
% the current font's space-width.}
% \label{tab:tightspacing}
%
% \begin{tabfigures}
-% \def~{\hphantom{0}}%
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & Adjustment & Comment \\
+% \meta{level} & Adjustment & Note \\
% {} & \% & \\
% \midrule
% 0 & n/a & neutral \\
-% 1 & ~{-}1.25 & default \\
-% 2 & ~{-}2.5~ & \\
-% 3 & ~{-}5\hphantom{.00} & \\
-% \(\ge\)\:4 & -10\hphantom{.00} & \\
+% 1 & ~\textminus 1.25 & default \\
+% 2 & ~\textminus 2.5~ & \\
+% 3 & ~\textminus 5\hphantom{.}~~ & \\
+% \(\ge\)\:4 & \textminus 10\hphantom{.}~~ & \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -2902,7 +3630,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Wide Space}\label{sec:wide-space}\index{wide space}
+% \subsubsection{Wide Space}\label{sec:wide-space}
+% \index{wide space|userman}
%
% The \cs{widespace} macro and its companion \cs{narrowspace} derive their appearances from
% several of the current font's \cs{fontdimen}\meta{number}s. \TeX{} addresses the latter by
@@ -2914,10 +3643,11 @@ end
%
% \begin{SCtable}
% \caption[\cs{fontdimen}\meta{number} parameters]
-% {The first column~\sample{\#} states the index of the \cs{fontdimen} parameter:
-% \meta{number}. Column~2 presents short descriptions of the
-% \cs{fontdimen}\meta{number} parameters. As examples, the values for the current
-% font are shown in column~3; they are normalized to the quad-size.\bottomstrut}
+% {All \TeX{} font parameters normalized to the font's quad-size. The first
+% column~\sample{\#} states the index of the \cs{fontdimen} parameter:
+% \meta{number}. Column~2 presents short descriptions of
+% \cs{fontdimen}\meta{number}. As examples, the values for the current font are
+% shown in column~3.\bottomstrut}
% \label{tab:fontdimen}
%
% \begin{tabfigures}
@@ -2931,7 +3661,6 @@ end
% \begin{tabular}{@{}lll@{}}
% \toprule
% \# & Description & Value \\
-% {} & & \multicolumn{1}{c}{\%} \\
% \midrule
% 1 & Slant per 1\,pt height & ~~\relativefontdimen1\topstrut \\
% 2 & Interword space width & ~\relativefontdimen2 \\
@@ -2990,7 +3719,8 @@ end
% \end{usecase}
%
%
-% \subsubsection{Narrow Space}\label{sec:narrow-space}\index{narrow space}
+% \subsubsection{Narrow Space}\label{sec:narrow-space}
+% \index{narrow space|userman}
%
% \DescribeMacro{\narrowspace}
% \DescribeMacro{\narrowspace*}
@@ -3033,25 +3763,25 @@ end
% \centering
% \caption[Comparison of some space sizes]
% {Exemplary comparison of standard \cs{space} versus \cs{narrowspace} and
-% \cs{widespace}. All values are relative to the size of the current font's quad
-% size. \cs{narrowspace} and \cs{widespace} use the package's defaults.~\visualpar
-% The upper values in the Width-column for \cs{narrowspace}, and \cs{widespace}
-% refer to the \(\cs{fontdimen7} \not= 0\) case and the lower ones to the
-% \(\cs{fontdimen7} = 0\) code-path.}
+% \cs{widespace}. All values are relative to the size of the current font's
+% quad-size and shown as a percentage of it. \cs{narrowspace} and \cs{widespace}
+% use the package's defaults.~\visualpar The upper values in the
+% \singlequotes{Width}~column for \cs{narrowspace} and \cs{widespace} refer to the
+% \(\cs{fontdimen7} \not= 0\) case and the lower ones to the \(\cs{fontdimen7} = 0\)
+% code-path.}
% \label{tab:space-sizes}
%
% \begin{tabfigures}
-% \def~{\hphantom{0}}%
+% \def~{\hphantom{0}}
% \ExplSyntaxOn
% \def\relativedimen#1{\fp_eval:n {round (1000 * (#1) / \the\fontdimen6\font) / 10}}
% \def\relativefontdimen#1{\relativedimen{\the\fontdimen#1\font}}
% \ExplSyntaxOff
% \def\nrows{1.75}
%
-% \begin{tabular}{@{}llll@{}}
+% \begin{tabular}{@{}l*{3}{r}@{}}
% \toprule
-% Name & Width & Stretch & Shrink \\
-% {} & \% & \% & \% \\
+% Macro & Width & Stretch & Shrink \\
% \midrule
% \multirow{\nrows}{*}{\cs{narrowspace}} &
% \relativedimen{\the\fontdimen2\font - \narrowspacestrength * \the\fontdimen7\font} &
@@ -3071,7 +3801,7 @@ end
%
%
% \subsection{\packagename{Microtype} Front\capitalhyphen End}\label{sec:microtype-frontend}
-% \index{microtype=\packagename{microtype} (package)}
+% \index{microtype=\packagename{microtype} (package)|userman}
%
% The functionalities are just front-ends of selected macros in
% package~\packagename{microtype} -- welcome syntactic sugar.
@@ -3091,7 +3821,8 @@ end
% \end{important}
%
%
-% \subsubsection{Tracking}\label{sec:tracking-control}\index{font>tracking}
+% \subsubsection{Tracking}\label{sec:tracking-control}
+% \index{font>tracking|userman}
%
% \begin{caution}
% The tracking changes may interfere with implicit changes of tracking declared with
@@ -3136,7 +3867,7 @@ end
% \end{codeexample}
%
% If the argument of option~\code{trackingttspacing} is omitted the outer spacing defaults to
-% \makeatletter\mbox{\typog@trackingttspacing}\makeatother.
+% \makeatletter\mbox{\typog@config@trackingttspacing}\makeatother.
%
% \begin{usecases}
% Nudge line breaks or hyphenation points.~\visualpar Avoid clashes of descenders and
@@ -3145,7 +3876,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Font Expansion}\label{sec:font-expansion-control}\index{font>expansion}
+% \subsubsection{Font Expansion}\label{sec:font-expansion-control}
+% \index{font>expansion|userman}
%
% \DescribeEnv{setfontshrink}
% \DescribeEnv{setfontstretch}
@@ -3153,10 +3885,10 @@ end
% component, i.\,e., shrinkability and stretchability, respectively.
%
% \begin{synopsis}\label{syn:setfontshrink}\label{syn:setfontstretch}
-% \cs{begin}|{setfontshrink}|\marg{level}
+% \cs{begin}|{setfontshrink}|\oarg{level}
% \dots{}
% \cs{end}|{setfontshrink}| \\
-% \cs{begin}|{setfontstretch}|\marg{level}
+% \cs{begin}|{setfontstretch}|\oarg{level}
% \dots{}
% \cs{end}|{setfontstretch}|
% \end{synopsis}
@@ -3165,20 +3897,20 @@ end
% summarize the values for |stretch| and |shrink| in these environments.
%
% \begin{SCtable}
-% \caption[Shrink values of \code{setfontshrink}]%
+% \caption[Shrink values of \code{setfontshrink}]
% {\slightlysloppy[2] Preconfigured values for |shrink| inside of
-% environment~\code{setfontshrink}. Note that all |stretch| values are zero, so the fonts
-% only can shrink.}
+% environment~\code{setfontshrink} as \nativetextfraction{1}{1000}\,em. Note that all
+% |stretch| values are zero, so the fonts only can shrink.}
% \label{tab:setfontshrink-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
-% \meta{level} & |stretch| & |shrink| & Comment \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \meta{level} & |stretch| & |shrink| & Note \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & 0 & \hphantom{0}\makeatletter\typog@shrink@i\makeatother & default \\
+% 1 & 0 & ~\makeatletter\typog@shrink@i\makeatother & default \\
% 2 & 0 & \makeatletter\typog@shrink@ii\makeatother & \\
% 3 & 0 & \makeatletter\typog@shrink@iii\makeatother & \\
% \bottomrule
@@ -3188,20 +3920,20 @@ end
%
% \begin{SCtable}
% \centering
-% \caption[Stretch values of \code{setfontstretch}]%
+% \caption[Stretch values of \code{setfontstretch}]
% {\slightlysloppy[2] Preconfigured values for |stretch| inside of
-% environment~\code{setfontstretch}. Note that all |shrink| values are zero, so the fonts
-% only can stretch.}
+% environment~\code{setfontstretch} as \nativetextfraction{1}{1000}\,em. Note that all
+% |shrink| values are zero, so the fonts only can stretch.}
% \label{tab:setfontstretch-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
% \meta{level} & |stretch| & |shrink| \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & 0 & default \\
+% 1 & ~\makeatletter\typog@stretch@i\makeatother & 0 & default \\
% 2 & \makeatletter\typog@stretch@ii\makeatother & 0 & \\
% 3 & \makeatletter\typog@stretch@iii\makeatother & 0 & \\
% \bottomrule
@@ -3224,7 +3956,7 @@ end
% Manipulate both, |stretch| and |shrink|~values at the same time.
%
% \begin{synopsis}\label{syn:setfontexpand}
-% \cs{begin}|{setfontexpand}|\marg{level}
+% \cs{begin}|{setfontexpand}|\oarg{level}
% \dots{}
% \cs{end}|{setfontexpand}|
% \end{synopsis}
@@ -3232,20 +3964,20 @@ end
% \Cref{tab:setfontexpand-values} gives an overview of the values associated with \meta{level}.
%
% \begin{SCtable}
-% \caption[Shrink and stretch values of \code{setfontexpand}]%
+% \caption[Shrink and stretch values of \code{setfontexpand}]
% {\slightlysloppy[2] Preconfigured values for |shrink| and |stretch| inside of
-% environment~\code{setfontexpand}. Note that both |shrink| and |stretch| values are
-% nonzero, so the fonts can shrink or expand.}
+% environment~\code{setfontexpand} as \nativetextfraction{1}{1000}\,em. Note that both
+% |shrink| and |stretch| values are nonzero, so the fonts can shrink or expand.}
% \label{tab:setfontexpand-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
-% \meta{level} & |stretch| & |shrink| & Comment \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \meta{level} & |stretch| & |shrink| & Note \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & default \\
+% 1 & ~\makeatletter\typog@stretch@i\makeatother & ~\makeatletter\typog@stretch@i\makeatother & default \\
% 2 & \makeatletter\typog@stretch@ii\makeatother & \makeatletter\typog@stretch@ii\makeatother & \\
% 3 & \makeatletter\typog@stretch@iii\makeatother & \makeatletter\typog@stretch@iii\makeatother & \\
% \bottomrule
@@ -3302,7 +4034,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Character Protrusion}\label{sec:protrusion}\index{font>protrusion}
+% \subsubsection{Character Protrusion}\label{sec:protrusion}
+% \index{font>protrusion|userman}
%
% \DescribeEnv{nocharprotrusion}
% Disable the \packagename{microtype} feature~\singlequotes{protrusion} inside of the
@@ -3320,8 +4053,8 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Sloppy Paragraphs}\label{sec:sloppy-paragraphs}\index{paragraph>sloppy}
+% \subsection{Sloppy Paragraphs}\label{sec:sloppy-paragraphs}
+% \index{paragraph>sloppy|userman}
%
% Experienced \LaTeX{} users know that \cs{sloppy} is more of a problem by itself and not
% really a viable solution of the \doublequotes{overfull~box} syndrome.
@@ -3357,21 +4090,22 @@ end
%
% \begin{suspendshortverb}
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}ccccl@{}}
% \toprule
-% \meta{sloppiness} & \cs{toler-} & \cs{hfuzz} & \cs{emergency-} & Comment \\
+% \meta{sloppiness} & \cs{toler-} & \cs{hfuzz} & \cs{emergency-} & Note \\
% {} & \code{ance} & \cs{vfuzz} & \code{stretch}~\(G\) & \\
% {} & & pt & em & \\
% \midrule
-% 0 & \hphantom{0}200\hphantom{\tolerancemark} & .1\hphantom{0} & 0\hphantom{.000\scaledmark} & \TeX: \verb+\fussy+ \\
-% 1 & \hphantom{0}330\tolerancemark & .15 & \hphantom{0}.375\scaledmark & default \\
-% 2 & \hphantom{0}530\tolerancemark & .2\hphantom{0} & \hphantom{0}.75\scaledmark\hphantom{0} & \\
-% 3 & \hphantom{0}870\tolerancemark & .25 & 1.125\scaledmark & \\
-% 4 & 1410\tolerancemark & .3\hphantom{0} & 1.5\scaledmark\hphantom{00} & \\
+% 0 & ~200\hphantom{\tolerancemark} & .1~ & 0\hphantom{.000\scaledmark} & \TeX: \verb+\fussy+ \\
+% 1 & ~330\tolerancemark & .15 & ~.375\scaledmark & default \\
+% 2 & ~530\tolerancemark & .2~ & ~.75\scaledmark~ & \\
+% 3 & ~870\tolerancemark & .25 & 1.125\scaledmark & \\
+% 4 & 1410\tolerancemark & .3~ & 1.5\scaledmark~~ & \\
% 5 & 2310\tolerancemark & .35 & 1.875\scaledmark & \\
-% 6 & 3760\tolerancemark & .4\hphantom{0} & 2.25\scaledmark\hphantom{0} & \\
+% 6 & 3760\tolerancemark & .4~ & 2.25\scaledmark~ & \\
% 7 & 6130\tolerancemark & .45 & 2.625\scaledmark & \\
-% \(\ge\)\:8 & 9999\hphantom{\tolerancemark} & .5\hphantom{0} & 3\hphantom{.000\scaledmark} & \TeX: \verb+\sloppy+ \\
+% \(\ge\)\:8 & 9999\hphantom{\tolerancemark} & .5~ & 3\hphantom{.000\scaledmark} & \TeX: \verb+\sloppy+ \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -3403,8 +4137,8 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Vertically Partially-Tied Paragraphs}\label{sec:vtie-paragraph}\index{paragraph>vertically tied}
+% \subsection{Vertically Partially-Tied Paragraphs}\label{sec:vtie-paragraph}
+% \index{paragraph>vertically tied|userman}
%
% \LaTeX{} provides several macros and environments to tie material vertically~-- most
% prominently |samepage| and |minipage|.\footnote{A valuable complement to these is
@@ -3421,7 +4155,7 @@ end
%
% \DescribeMacro{\vtietop}
% \DescribeEnv{vtietoppar}
-% Avoid a club\index{forlorn line>club} line in each partial paragraph.
+% Avoid a club\index{forlorn line>club|userman} line in each partial paragraph.
%
% \begin{synopsis}\label{syn:vtietop}\label{syn:vtietoppar}
% \cs{vtietop}\oarg{number-of-lines} \\[\smallskipamount]
@@ -3436,16 +4170,17 @@ end
%
% \begin{usecases}
% String together the first paragraph right after a sectioning command.~\visualpar Tie the
-% first line of an itemized, enumerated, or a description list\index{list} with the paragraph
-% following~\cs{item}.
+% first line of an itemized, enumerated, or a description list\index{list|userman} with the
+% paragraph following~\cs{item}.
% \end{usecases}
%
% \noindent
% \DescribeMacro{\splicevtietop}
-% Inside of a \code{list} a one-off solution simply concatenates \cs{item}[\dots]\cs{vtietop}
-% to fuse the line with the \code{item\#}, the representation of the \code{enum\#}, or the
-% description term with the first paragraph. For a systematic use prefer \cs{splicevtietop}
-% and apply it as the first thing in the \code{list}~body.
+% Inside of a \code{list} a one-off solution simply concatenates
+% \cs{item}[\dots\itcorr{-5}]\cs{vtietop} to fuse the line with the \code{item\#}, the
+% representation of the \code{enum\#}, or the description term with the first paragraph. For a
+% systematic use prefer \cs{splicevtietop} and apply it as the first thing in the
+% \code{list}~body.
%
% \begin{synopsis}\label{syn:splicevtietop}
% \cs{splicevtietop}\oarg{number-of-lines}
@@ -3492,7 +4227,7 @@ end
% \noindent
% \DescribeMacro{\vtiebot}
% \DescribeEnv{vtiebotpar}
-% Avoid a widow\index{forlorn line>widow} line in each partial paragraph.
+% Avoid a widow\index{forlorn line>widow|userman} line in each partial paragraph.
%
% \begin{synopsis}\label{syn:vtiebot}\label{syn:vtiebotpar}
% \cs{vtiebot}\oarg{number-of-lines} \\[\smallskipamount]
@@ -3507,7 +4242,8 @@ end
%
% \noindent
% \DescribeEnv{vtiebotdisp}
-% Avoid a display widow\index{forlorn line>display widow} line in each partial paragraph.
+% Avoid a display widow\index{forlorn line>display widow|userman} line in each partial
+% paragraph.
%
% \begin{synopsis}\label{syn:vtiebotdisp}\label{syn:vtiebotdisppar}
% \cs{begin}|vtiebotdisp|\oarg{before-disp-number-of-lines} \\
@@ -3579,15 +4315,16 @@ end
%
% \begin{typoginspectpar}{partial-paragraphs}
% \setlength{\smoothraggedrightragwidth}{8pt}
-% \paragraph{Partial Paragraphs And Counting Lines.} The top-of-paragraph ties, \cs{vtietop}
-% and \code{vtietoppar} count \meta{number\hyp{}of\hyp{}lines} from the beginning of every
-% partial paragraph. Each displayed math in the paragraph resets the count. The
-% bottom-paragraph ties, \cs{vtiebot}, \code{vtiebotpar}, \cs{vtiebotdisp}, and
-% \code{vtiebotdisppar} count backward from the end of each partial paragraph. Again, each
-% displayed math in the paragraph resets the count. According to \TeX's rules, a displayed
-% math formula always is counted as \emph{three} lines no matter its contents.
-% \Cref{tab:partial-paragraph-line-counts} summarizes these rules with the help of an
-% example.
+% \paragraph{Partial Paragraphs And Counting Lines.}
+%
+% The top-of-paragraph ties, \cs{vtietop} and \code{vtietoppar} count
+% \meta{number\hyp{}of\hyp{}lines} from the beginning of every partial paragraph. Each
+% displayed math in the paragraph resets the count. The bottom-paragraph ties, \cs{vtiebot},
+% \code{vtiebotpar}, \cs{vtiebotdisp}, and \code{vtiebotdisppar} count backward from the end
+% of each partial paragraph. Again, each displayed math in the paragraph resets the count.
+% According to \TeX's rules, a displayed math formula always is counted as \emph{three} lines
+% no matter its contents. \Cref{tab:partial-paragraph-line-counts} summarizes these rules
+% with the help of an example.
% \end{typoginspectpar}
%
% \begin{table}
@@ -3655,11 +4392,11 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Breakable Displayed Equations}\label{sec:breakable-display}\index{page break}
+% \subsection{Breakable Displayed Equations}\label{sec:breakable-display}
+% \index{page break|userman}
%
% \DescribeEnv{breakabledisplay}
-% Package~\packagename{amsmath}\index{amsmath=\packagename{amsmath} (package)} offers
+% Package~\packagename{amsmath}\index{amsmath=\packagename{amsmath} (package)|userman} offers
% \cs{allowdisplaybreaks} to render displayed equations breakable at each of their lines.
% Environment~\cs{breakabledisplay} is a wrapper around it which limits the macro's influence
% to the environment. Furthermore, the default \meta{level} of \code{breakabledisplay} is~3
@@ -3688,16 +4425,17 @@ end
% \newcommand*{\clubmark}{\tablenotemark{\dag}}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & \cs{interdisplay-} & Comment \\
+% \meta{level} & \cs{interdisplay-} & Note \\
% {} & \code{linepenalty} & \\
% \midrule
% 0 & 10000 & no operation \\
-% 1 & \hphantom{0}9999 & \\
-% 2 & \hphantom{0}6999 & \\
-% 3 & \hphantom{0}2999 & default \\
-% 4 & \hphantom{0000}0\rlap{\clubmark} & \\
+% 1 & ~9999 & \\
+% 2 & ~6999 & \\
+% 3 & ~2999 & default \\
+% 4 & ~~~~0\rlap{\clubmark} & \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -3738,7 +4476,6 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
% \clearpage
% \subsection{\packagename{Setspace} Front-End}\label{sec:setspace-frontend}
%
@@ -3747,11 +4484,11 @@ end
% interface of \cs{setstretch} though is unintuitive as it asks for an obscure
% factor.\fontsizeinfo{setspacefontsizeinfo}\marginnote{In the copy of this document gets
% typeset with~\setspacefontsizeinfo*.} The \LaTeX{} user however prefers to keep her eyes on
-% the ball and set the line skip\index{baseline skip} directly (e.\,g.~12.5pt) or the lines'
-% leading\index{leading} to a length or percentage of the font's size.\footnote{To find out
-% about the current font's size and the \cs{baselineskip} in printable form check out
-% \cref{sec:font-information} on \cpageref{sec:font-information}.} This is where the following
-% macros go to bat.
+% the ball and set the line skip\index{baseline skip|userman} directly (e.\,g.~12.5\,pt) or the
+% lines' leading\index{leading|userman} to a length or percentage of the font's
+% size.\footnote{To find out about the current font's size and the \cs{baselineskip} in
+% printable form check out \cref{sec:font-information} on \cpageref{sec:font-information}.}
+% This is where the following macros go to bat.
%
% \begin{important}
% All macros that are introduced in this section rely on macro~\cs{setstretch}. So
@@ -3785,24 +4522,25 @@ end
% will be used in the computation.
%
% \begin{example}
-% Let us assume we want to lighten the gray value of the copy a tad with a \cs{baselineskip}
-% increased (from e.g.~12pt) to~12.5pt. To this end we say:
+% \begin{itemize}[notopsep]
+% \item Let us assume we want to lighten the gray value of the copy a tad with the
+% \cs{baselineskip} increased from 12\,pt to~12.5\,pt. To this end we say:
%
% \begin{codeexample}
-% \cs{setbaselineskip}\{12.5pt\}\specialsectionendhere
+% \cs{setbaselineskip}\{12.5\,pt\}
% \end{codeexample}
-% \end{example}
%
-% \begin{tip}
-% To set the \cs{baselineskip} relative to the current value use
+% \item In a generic part of the document, where the actual \cs{baselineskip} is not known,
+% we can refer to its current value and rescale it:
%
% \begin{codeexample}
-% \cs{setbaselineskip}\{\meta{factor}\cs{baselineskip}\}
+% \cs{setbaselineskip}\{\cs{baselineskip} * 12.5 / 12\}
% \end{codeexample}
%
-% \noindent
-% where \meta{factor} is a floating-point number.
-% \end{tip}
+% Care should be taken if code like the above is implicitly or explicitly
+% repeated, because it results in a geometric series.\specialsectionendhere
+% \end{itemize}
+% \end{example}
%
% \DescribeMacro{\resetbaselineskip}
% \sinceversion{Since v0.3}
@@ -3816,6 +4554,9 @@ end
% notion of what is a single-line \cs{baselineskip}.
%
%
+% \hangindent=2\parindent
+% \hangafter=-2
+% \noindent
% \DescribeMacro{\setbaselineskippercentage}
% \sinceversion{Since v0.3}
% Set the \cs{baselineskip} with a relative value calculated as a percentage of the current
@@ -3828,14 +4569,14 @@ end
% Set \cs{baselineskip} to \(\cs{typogfontsize} \times \meta{baselineskip-percentage} / 100\).
%
% \begin{example}
-% We modify the previous example and assume a font design size of 10pt, but now write
+% We modify the previous example and assume a font design size of 10\,pt, but now write
%
% \begin{codeexample}
% \cs{setbaselineskippercentage}\{125\}
% \end{codeexample}
%
% \noindent
-% which sets \cs{baselineskip} to \(10\text{pt} \times 125 / 100 = 12.5\text{pt}\).
+% which sets \cs{baselineskip} to \(10\text{\,pt} \times 125 / 100 = 12.5\text{\,pt}\).
% \end{example}
%
% \DescribeMacro{\setleading}
@@ -3850,7 +4591,7 @@ end
% \meta{leading} can be negative, e.\,g.~to set solid.
%
% \begin{example}
-% Another solution of the previous example, given a font design size of 10pt is to write
+% Another solution of the previous example, given a font design size of 10\,pt is to write
%
% \begin{codeexample}
% \cs{setleading}\{2.5pt\}
@@ -3872,14 +4613,14 @@ end
% Set \cs{baselineskip} to \(\cs{typogfontsize} \times (1 + \meta{leading-percentage} / 100)\).
%
% \begin{example}
-% We modify the previous example and again assume a font design size of 10pt, but now write
+% We modify the previous example and again assume a font design size of 10\,pt, but now write
%
% \begin{codeexample}
% \cs{setleadingpercentage}\{25\}
% \end{codeexample}
%
% \noindent
-% which sets \cs{baselineskip} to \(10\text{pt} \times (1 + 25 / 100) = 12.5\text{pt}\).
+% which sets \cs{baselineskip} to \(10\text{\,pt} \times (1 + 25 / 100) = 12.5\text{\,pt}\).
% \end{example}
%
% \smallskip
@@ -3949,9 +4690,9 @@ end
% \end{tip}
%
%
-% \FloatBarrier
% \clearpage
-% \subsection{Smooth Ragged}\label{sec:smooth-ragged}\index{ragged right}
+% \subsection{Smooth Ragged}\label{sec:smooth-ragged}
+% \index{ragged right|userman}
%
% \begin{whittyquote}
% The attention someone gives \\
@@ -3964,25 +4705,30 @@ end
% \noindent
% Package \packagename{typog} implements a novel approach to typeset ragged paragraphs.
% Instead of setting the glue inside of a paragraph to zero and letting the line-widths vary
-% accordingly~\cite{wermuth:2020} we prescribe the line-widths with the \cs{parshape}~primitive
-% and leave alone the stretchability or shrinkability of the glue.
+% accordingly~\cite{wermuth:2020} we prescribe the line-widths with \TeX's
+% \cs{parshape}~primitive and leave alone the stretchability or shrinkability of the glue.
%
-% \begin{slightlysloppypar}
-% \hangindent=5.5em\hangafter=-5
+% \begin{caution}
+% None of the following environments work inside of lists.
+% \end{caution}
+%
+% \begin{slightlysloppypar}[2]
+% \hangindent=3.5\parindent
+% \hangafter=-6
+% \noindent
% \DescribeEnv{smoothraggedrightshapetriplet}
% \DescribeEnv{smoothraggedrightshapequintuplet}
% \DescribeEnv{smoothraggedrightshapeseptuplet}
-% We introduce three environments that allow for setting three, five, or seven different
-% line-lengths: \code{smoothraggedrightshapetriplet},
-% \code{smoothraggedrightshapequintuplet}, and \code{smoothraggedrightshapeseptuplet}; they
-% work for paragraphs up to
+% We introduce three environments that set three, five, or seven different line-lengths
+% (which \TeX{} of course will repeat for paragraphs longer than three, five, or seven
+% lines): \code{smoothraggedrightshapetriplet}, \code{smoothraggedrightshapequintuplet}, and
+% \code{smoothraggedrightshapeseptuplet}; they work for paragraph lengths up to
% \makeatletter
-% \typog@triplet@max@lines, \typog@quintuplet@max@lines, or \typog@septuplet@max@lines~lines,
+% \typog@triplet@max@lines, \typog@quintuplet@max@lines, and \typog@septuplet@max@lines~lines,
% \makeatother
% respectively.
% \end{slightlysloppypar}
%
-%
% \begin{maxipage}
% \begin{synopsis}\label{syn:smoothraggedrightshapetriplet}\label{syn:smoothraggedrightshapequintuplet}\label{syn:smoothraggedrightshapeseptuplet}
% \cs{begin}|{smoothraggedrightshapetriplet}|\oarg{option\dots}\marg{width1}\marg{width2}\marg{width3} \\
@@ -4224,23 +4970,47 @@ end
% The default generator is |triplet|.
%
% \item[\cs{smoothraggedrightleftskip}=\meta{dim}]
-% Value for |leftskip| to pass to the generator. Default:~0pt.
+% Value for |leftskip| to pass to the generator. Default:~0\,pt.
%
% \item[\cs{smoothraggedrightparindent}=\meta{dim}]
-% Value for |parindent| to pass to the generator. Default:~0pt.
+% Value for |parindent| to pass to the generator. Default:~0\,pt.
%
% \item[\cs{smoothraggedrightragwidth}=\meta{dim}]
-% Value for the width of the ragged right margin. Default:~2em.
+% Value for the width of the ragged right margin. Default:~2\,em.
% \end{description}
%
+% \begin{samepage}
+% \def\smoothraggedrightgenerator{quintuplet}
+% \setlength{\smoothraggedrightragwidth}{7pt}
+% \begin{nocharprotrusion}\fussy
+% \begin{smoothraggedright}
+% Throughout this manual we have demonstrated how \code{smoothraggedright} environments
+% work for very narrow columns namely inside of the document's margins: all maginal notes
+% were typeset inside of \cs{smoothraggedright} environments (quintuplet generator,
+% 1.5\,em rag width, at footnote~size in addition using
+% environments~\code{slightlysloppy} and \code{loosespacing}). Here, we utilize it with
+% the \smoothraggedrightgenerator~generator and a rag-width of only
+% \the\smoothraggedrightragwidth{} in a paragraph that is \the\linewidth~wide and
+% averages around twelve words per line. There is much more glue to adapt to the
+% line-ends and thus the desired rag is archieved far easier. The sloppyness is minimal,
+% this is, \cs{fussy} is in effect and character protrusion into the margins is switched
+% off. A limitation of the current implementation is that it is ineffective inside of lists.
+% Therefore, this paragraph has not been wrapped inside of an \singlequotes{example}, because
+% all examples are coded as lists.
+% \end{smoothraggedright}
+% \end{nocharprotrusion}
+% \end{samepage}
+%
% \begin{usecases}
% Replacement for \cs{RaggedRight}~\cite{package:ragged2e}.~\visualpar Design alternative for
% fully justified paragraphs if used with a small rag-width.
% \end{usecases}
%
-%
-% \addtocontents{toc}{\par\bigskip\hfill\textit{Table of Contents continued on next page.}}
-% \addtocontents{toc}{\clearpage}
+% \begin{futuredirection}
+% Translate the code to \packagename{l3galley} which is part of the
+% \packagename{l3experimental}~package~\cite{package:l3experimental}. Galley~code is
+% supposed to work inside of lists, too.
+% \end{futuredirection}
%
%
% \sectionfinish
@@ -4250,7 +5020,7 @@ end
% Many other packages help with getting better output from \LaTeX. Here is a list --~in
% alphabetical order~-- of the ones the author considers particularly valuable.
%
-% \sbox{\listlabelbox}{\packagename{microtype}}
+% \sbox{\listlabelbox}{\packagename{enumitem}}
% \begin{description}[font=\normalfont, labelsep*=1em, labelwidth=\wd\listlabelbox, leftmargin=!]
% \item[\packagename{enumitem}]
% Flexible and consistent definition of all basic \LaTeX-list types plus inline
@@ -4268,6 +5038,9 @@ end
% Fine control of spacing, tracking, sidebearings, character protrusion into the margins,
% font expansion, and much more~\cite{package:microtype}.
%
+% See \Cref{sec:microtype-frontend} for a front-end to \packagename{microtype} offered by
+% this package.
+%
% See also \propername{Khirevich's} discussion~\cite{khirevich:2013}.
%
% \item[\packagename{ragged2e}]
@@ -4275,8 +5048,11 @@ end
% |center|~\cite{package:ragged2e}.
%
% \item[\packagename{setspace}]
-% Consistently set the document's line-spacing, i.\,e.,
+% Consistently set the line-spacing of a document, i.\,e., control
% \cs{baselineskip}~\cite{package:setspace}.
+%
+% See \Cref{sec:setspace-frontend} for a front-end to \packagename{setspace} offered by this
+% package.
% \end{description}
%
%
@@ -4291,26 +5067,34 @@ end
%
% The companion program \programname{typog-grep} for analyzing the output of
% \hyperref[syn:typoginspect]{\code{typoginspect}} and
-% \hyperref[syn:typoginspect]{\code{typoginspectpar}} has its own manual page. We reproduce
-% it here for completeness of the documentation.
+% \hyperref[syn:typoginspect]{\code{typoginspectpar}} has its own manual page. We
+% reproduce it here for completeness of the documentation.
%
+% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
% \begin{suspendshortverb}
% \setlength{\parindent}{0pt}
% \setlength{\parskip}{6.0pt plus 2.0pt minus .5pt}
-% \input typog-grep
+% \input{typog-grep.tex}
% \end{suspendshortverb}
+% \addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
%
% \sectionfinish
% \clearpage
-% \phantomsection
-% \resetfancyhead
-% \addcontentsline{toc}{section}{Change History}
-% \PrintChanges
+% \begingroup
+% \setcounter{GlossaryColumns}{1}
+% \phantomsection
+% \label{sec:changes}
+% \resetfancyhead
+% \addtocontents{toc}{\bigskip}
+% \addcontentsline{toc}{section}{\numberline{}Change History}
+% \PrintChanges
+% \endgroup
%
% \sectionfinish
% \clearpage
% \phantomsection
-% \addcontentsline{toc}{section}{References}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}References}
% \begin{RaggedRight}
% \begin{thebibliography}{88}
% \bibitem{abrahams:2020}
@@ -4354,6 +5138,12 @@ end
% 1998,
% \biburl{https://mirrors.ctan.org/systems/doc/etex/etex_man.pdf}.
%
+% \bibitem{package:mathastext}
+% \bibauthor{Burnol, Jean-François}.
+% \bibtitle{Package~\packagename{mathastext}}.
+% 2023,
+% \biburl{https://ctan.org/pkg/mathastext}.
+%
% \bibitem{carlisle:1996}
% \bibauthor{Carlisle, David}.
% \bibtitle{Russian Paragraph Shapes}.
@@ -4399,6 +5189,12 @@ end
% Addison Wesley, Reading\kernedslash MA,
% 1986.
%
+% \bibitem{package:l3experimental}
+% \bibauthor{The \LaTeX\ Project}.
+% \bibtitle{Package~\packagename{l3experimental}}.
+% 2024,
+% \biburl{https://ctan.org/pkg/l3experimental}.
+%
% \bibitem{package:layout}
% \bibauthor{McPherson, Kent}.
% \bibtitle{Package~\packagename{layout}}.
@@ -4450,6 +5246,13 @@ end
% TUGboat, 11(1), 69\figuredash85, 1990,
% \biburl{http://www.tug.org/TUGboat/Articles/tb11-1/tb27salomon.pdf}.
%
+% \bibitem{strizver:2014}
+% \bibauthor{Strizver, Ilene}.
+% \bibtitle{Type rules!: the designer's guide to professional typography},
+% 4\textsuperior{th}~ed.
+% John Wiley~\& Sons, Hoboken\kernedslash NJ,
+% 2014.
+%
% \bibitem{package:setspace}
% \bibauthor{Tobin, Geoffrey,} and \bibauthor{Robin Fairbairns}.
% \bibtitle{Package~\packagename{setspace}}.
@@ -4526,23 +5329,35 @@ end
% \end{RaggedRight}
%
% \sectionfinish
+%
+%
% \clearpage
-% \begin{RaggedRight}
+% \begingroup
% \setcounter{IndexColumns}{2}
% \setlength{\columnsep}{30pt}
% \label{sec:index}
% \phantomsection
-% \addcontentsline{toc}{section}{Index}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}Index}
+% \raggedcolumns
+% \def\codeidx##1{\linenumberdecoration\textbf{##1}}
+% \def\main##1{\linenumberdecoration\underbar{\textbf{##1}}}
+% \def\usage##1{\textit{\textbf{##1}}}
% \PrintIndex
-% \end{RaggedRight}
+% \endgroup
% }
%
-%
% \sectionfinish
+%
+%
% \clearpage
% \appendix
% \section{Package Code}\label{sec:package-code}
-% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{list}{}{\leftmargin=\subsectiontocindent\parsep=0pt}}
+% \addtocontents{toc}{\protect\item}
+% \addtocontents{toc}{\RaggedRight}
+% \addtocontents{toc}{\small}
+% \addtocontents{toc}{\tocsquashedsubsections}
% \addtocontents{toc}{\protect\begin{multicols}{2}}
% \addtocontents{toc}{\protect\raggedcolumns}
%
@@ -4555,7 +5370,7 @@ end
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{typog}
- [2024/05/07 v0.3 TypoGraphic extensions]
+ [2024/07/08 v0.4 TypoGraphic extensions]
\RequirePackage{etoolbox}
\RequirePackage{everyhook}
@@ -4592,17 +5407,34 @@ end
% \end{macro}
%
% \begin{macro}{\typog@typeout}
+% Our information printer.
+% Just adds a prefix so that we can tease apart the \filesystem{log} later.
+%
+% \begin{macrocode}
+\newcommand*{\typog@typeout}[1]{\typeout{typog: #1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@typeout}
% Our debug information printer.
%
% \begin{macrocode}
-\newcommand*{\typog@typeout}[1]
- {\iftypog@debug
- \typeout{typog: #1}%
- \fi}
+\newcommand*{\typog@debug@typeout}[1]{\iftypog@debug\typog@typeout{#1}\fi}
% \end{macrocode}
% \end{macro}
%
+% \begin{tcounter}{typog@@iteration}
+% We want our own counter (currently for keeping track of iterations) that does not get
+% trampled underfoot too easily.
+%
+% \begin{macrocode}
+\newcounter{typog@@iteration}
+
+% \end{macrocode}
+% \end{tcounter}
+%
% \begin{macro}{\typog@trim@spaces}
% Pull \cs{tl\_trim\_spaces} into the \singlequotes{classic} namespace.
%
@@ -4693,69 +5525,149 @@ end
%
% Our own state\dots
%
-% \begin{macro}{\typog@mathitalicscorrection}
+% \begin{macro}{\typog@config@mathitalicscorrection}
% \begin{macrocode}
-\newmuskip\typog@mathitalicscorrection
+\newmuskip\typog@config@mathitalicscorrection
+
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@textitalicscorrection}
+% Actual \cs{labelitem}\meta{N} corrections.
+%
+% \begin{ldimen}{\typog@adjust@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemiii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemiv}
+% \end{macrocode}
+% \end{ldimen}
+%
+% Configuration constants for \cs{labelitem}\meta{N} corrections.
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemiii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemiv}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemiii}
% \begin{macrocode}
-\newlength{\typog@textitalicscorrection}
+\newdimen{\typog@adjust@uppercase@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemiv}
+
+% \end{macrocode}
+% \end{ldimen}
+%
+% Other lengths\dots
+%
+% \begin{macro}{\typog@config@textitalicscorrection}
+% \begin{macrocode}
+\newlength{\typog@config@textitalicscorrection}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@ligaturekern}
+% \begin{macro}{\typog@config@ligaturekern}
% \begin{macrocode}
-\newlength{\typog@ligaturekern}
+\newlength{\typog@config@ligaturekern}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitaldash}
+% \begin{macro}{\typog@config@raisecapitaldash}
% \begin{macrocode}
-\newlength{\typog@raisecapitaldash}
+\newlength{\typog@config@raisecapitaldash}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitalguillemets}
+% \begin{macro}{\typog@config@raisecapitalguillemets}
% \begin{macrocode}
-\newlength{\typog@raisecapitalguillemets}
+\newlength{\typog@config@raisecapitalguillemets}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitalhyphen}
+% \begin{macro}{\typog@config@raisecapitalhyphen}
% \begin{macrocode}
-\newlength{\typog@raisecapitalhyphen}
+\newlength{\typog@config@raisecapitalhyphen}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitaltimes}
+% \begin{macro}{\typog@config@raisecapitaltimes}
% \begin{macrocode}
-\newlength{\typog@raisecapitaltimes}
+\newlength{\typog@config@raisecapitaltimes}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raiseguillemets}
+% \begin{macro}{\typog@config@raiseguillemets}
% \begin{macrocode}
-\newlength{\typog@raiseguillemets}
+\newlength{\typog@config@raiseguillemets}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisefiguredash}
+% \begin{macro}{\typog@config@raisefiguredash}
% \begin{macrocode}
-\newlength{\typog@raisefiguredash}
+\newlength{\typog@config@raisefiguredash}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@slashkern}
+% \begin{macro}{\typog@config@slashkern}
% \begin{macrocode}
-\newlength{\typog@slashkern}
+\newlength{\typog@config@slashkern}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@breakpenalty}
+% \begin{macro}{\typog@config@breakpenalty}
% \begin{macrocode}
-\newcommand*{\typog@breakpenalty}{\exhyphenpenalty}
+\newcommand*{\typog@config@breakpenalty}{\exhyphenpenalty}
% \end{macrocode}
% \end{macro}
%
@@ -4771,9 +5683,9 @@ end
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@trackingttspacing}
+% \begin{macro}{\typog@config@trackingttspacing}
% \begin{macrocode}
-\newcommand*{\typog@trackingttspacing}{300, 90, 60}
+\newcommand*{\typog@config@trackingttspacing}{300, 90, 60}
% \end{macrocode}
% \end{macro}
%
@@ -4871,77 +5783,99 @@ end
\newcommand*{\typog@set@shrink@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@iii{\number\typog@@limit}\fi}
\newcommand*{\typog@set@stretch@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@iii{\number\typog@@limit}\fi}
\DeclareOptionX<typog>{breakpenalty}%
- {\renewcommand*{\typog@breakpenalty}{#1}}
+ {\renewcommand*{\typog@config@breakpenalty}{#1}}
\DeclareOptionX<typog>{debug}{\typog@debugtrue}
\DeclareOptionX<typog>{mathitalicscorrection}[.4mu]%
- {\typog@mathitalicscorrection=#1\relax}%
+ {\typog@config@mathitalicscorrection=#1\relax}%
\DeclareOptionX<typog>{nodebug}{\typog@debugfalse}
\DeclareOptionX<typog>{textitalicscorrection}[.02em]%
- {\setlength{\typog@textitalicscorrection}{#1}}
+ {\setlength{\typog@config@textitalicscorrection}{#1}}
\DeclareOptionX<typog>{ligaturekern}[.033333em]%
- {\setlength{\typog@ligaturekern}{#1}}
+ {\setlength{\typog@config@ligaturekern}{#1}}
+\DeclareOptionX<typog>{lowercaselabelitemadjustments}%
+ {\typog@debug@typeout{lowercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \global\setlength{\csname typog@adjust@lowercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@lowercaselabelitemadjustments}
+ {\the\typog@adjust@lowercase@labelitemi,\space
+ \the\typog@adjust@lowercase@labelitemii,\space
+ \the\typog@adjust@lowercase@labelitemiii,\space
+ \the\typog@adjust@lowercase@labelitemiv}
\DeclareOptionX<typog>{raisecapitaldash}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}}
\DeclareOptionX<typog>{raisecapitalguillemets}[\z@]%
- {\setlength{\typog@raisecapitalguillemets}{#1}}
+ {\setlength{\typog@config@raisecapitalguillemets}{#1}}
\DeclareOptionX<typog>{raisecapitalhyphen}[\z@]%
- {\setlength{\typog@raisecapitalhyphen}{#1}}
+ {\setlength{\typog@config@raisecapitalhyphen}{#1}}
\DeclareOptionX<typog>{raisecapitaltimes}[\z@]%
- {\setlength{\typog@raisecapitaltimes}{#1}}
+ {\setlength{\typog@config@raisecapitaltimes}{#1}}
\DeclareOptionX<typog>{raiseguillemets}[\z@]%
- {\setlength{\typog@raiseguillemets}{#1}}
+ {\setlength{\typog@config@raiseguillemets}{#1}}
\DeclareOptionX<typog>{raisefiguredash}[\z@]%
- {\setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{raise*}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}%
- \setlength{\typog@raisecapitalhyphen}{#1}%
- \setlength{\typog@raisecapitaltimes}{#1}%
- \setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}%
+ \setlength{\typog@config@raisecapitalhyphen}{#1}%
+ \setlength{\typog@config@raisecapitaltimes}{#1}%
+ \setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{shrinklimits}%
[\typog@default@shrink@i, \typog@default@shrink@ii, \typog@default@shrink@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `shrinklimits' can only be used in the preamble}%
\else
- \edef\typog@shrinklimits{#1}%
+ \edef\typog@config@shrinklimits{#1}%
\typog@set@shrink@limits
\fi}
\DeclareOptionX<typog>{slashkern}[.05em]%
- {\setlength{\typog@slashkern}{#1}}
+ {\setlength{\typog@config@slashkern}{#1}}
\DeclareOptionX<typog>{stretchlimits}%
[\typog@default@stretch@i, \typog@default@stretch@ii, \typog@default@stretch@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `stretchlimits' can only be used in the preamble}%
\else
- \edef\typog@stretchlimits{#1}%
+ \edef\typog@config@stretchlimits{#1}%
\typog@set@stretch@limits
\fi}
-\DeclareOptionX<typog>{trackingttspacing}[\typog@trackingttspacing]%
+\DeclareOptionX<typog>{trackingttspacing}[\typog@config@trackingttspacing]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `trackingttspacing' can only be used in the preamble}%
\else
- \typog@typeout{trackingttspacing=#1}%
+ \typog@debug@typeout{trackingttspacing=#1}%
\SetTracking[outer spacing={#1}]{encoding=*, family=tt*}{0}%
\fi}
+\DeclareOptionX<typog>{uppercaselabelitemadjustments}%
+ {\typog@debug@typeout{uppercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \setlength{\csname typog@adjust@uppercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@uppercaselabelitemadjustments}
+ {\the\typog@adjust@uppercase@labelitemi,\space
+ \the\typog@adjust@uppercase@labelitemii,\space
+ \the\typog@adjust@uppercase@labelitemiii,\space
+ \the\typog@adjust@uppercase@labelitemiv}
\newcommand*{\typog@initialize@options}
{\ExecuteOptionsX<typog>{
@@ -4963,7 +5897,7 @@ end
% \fi
%
%
-% \subsection*{Setup}
+% \subsection{Setup and Reconfiguration}
%
% \begin{environment}{typogsetup}
% An empty argument list resets all initialized values to their defaults.
@@ -4982,8 +5916,42 @@ end
% \end{environment}
%
% \begin{macro}{\typogget}
+% Access the package's configuration (name-)space.
+%
% \begin{macrocode}
-\NewDocumentCommand{\typogget}{m}{\csname typog@#1\endcsname}
+\NewDocumentCommand{\typogget}{m}{\csname typog@config@#1\endcsname}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoggetnth}
+% \changes{v0.4}{2024-05-15}{New macro.}
+% Access the \(n\)\textsuperscript{th} element of a comma-separated, list-like configuration
+% item's value.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_generate_variant:Nn \seq_set_split:Nnn {Nne}
+\cs_new:Npn \typog_get_nth_csname:cnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \cs_gset:cpn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\cs_new:Npn \typog_get_nth_dimen:nnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \dim_set:Nn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\NewDocumentCommand{\typoggetnth}{m m m}{
+ \token_if_dim_register:NTF {#1}
+ {
+ \typog_get_nth_dimen:nnn {#1} {#2} {#3}
+ }
+ {
+ \typog_get_nth_csname:cnn {#1} {#2} {#3}
+ }
+}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
@@ -5065,6 +6033,7 @@ end
%
% \begin{macrocode}
\newcounter{typog@inspect@count}
+
% \end{macrocode}
% \end{macro}
%
@@ -5085,11 +6054,16 @@ end
\edef\typog@@arg{#2}%
\ifx\typog@@arg\empty
\stepcounter{typog@inspect@count}%
- \edef\typog@@id{\typog@default@inspect@id@prefix\arabic{typog@inspect@count}}%
+ \edef\typog@@id{\typog@default@inspect@id@prefix
+ \arabic{typog@inspect@count}}%
\else
\edef\typog@@id{\typog@trim@spaces{\typog@@arg}}%
\fi
- \typeout{<typog-inspect id="\typog@@id" job="\jobname" line="\the\inputlineno" page="\the\value{page}">}%
+ \typeout{<typog-inspect\space
+ id="\typog@@id"\space
+ job="\jobname"\space
+ line="\the\inputlineno"\space
+ page="\the\value{page}">}%
% \end{macrocode}
%
% Set both badness thresholds to absurdly low values as to activate \TeX's reports.
@@ -5210,7 +6184,7 @@ end
% \begin{macro}{\nolig}
% \begin{macrocode}
\NewDocumentCommand{\nolig}{s o}
- {\dimen0=\IfNoValueTF{#2}{\typog@ligaturekern}{#2\typog@dim@unit}%
+ {\dimen0=\IfNoValueTF{#2}{\typog@config@ligaturekern}{#2\typog@dim@unit}%
\IfBooleanTF{#1}%
{\kern\dimen0\ignorespaces}%
{\discretionary{\typog@hyphen}{}{\kern\dimen0}%
@@ -5249,7 +6223,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@itcorr@text@unconditional}[1]
- {\kern#1\typog@textitalicscorrection}
+ {\kern#1\typog@config@textitalicscorrection}
% \end{macrocode}
% \end{macro}
%
@@ -5275,7 +6249,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@itcorr@math}[1]
- {\mkern#1\typog@mathitalicscorrection}
+ {\mkern#1\typog@config@mathitalicscorrection}
% \end{macrocode}
% \end{macro}
%
@@ -5326,11 +6300,11 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\kernedslash}{s}
- {\hspace*{\typog@slashkern}%
+ {\hspace*{\typog@config@slashkern}%
\typog@forwardslash
\IfBooleanTF{#1}%
- {\hspace*{\typog@slashkern}\ignorespaces}%
- {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@slashkern}}}
+ {\hspace*{\typog@config@slashkern}\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@config@slashkern}}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5358,7 +6332,7 @@ end
\def\typog@@optarg{#2}%
\hspace*{#3\typog@dim@unit}%
\raisebox{\ifx\typog@@optarg\typog@@auto
- \typog@raisecapitalhyphen
+ \typog@config@raisecapitalhyphen
\else
\typog@@optarg\typog@dim@unit
\fi}{\typog@hyphen}%
@@ -5428,7 +6402,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@breakpoint}
- {\penalty\typog@breakpenalty}
+ {\penalty\typog@config@breakpenalty}
% \end{macrocode}
% \end{macro}
%
@@ -5439,7 +6413,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalhyphen}{s}
- {\raisebox{\typog@raisecapitalhyphen}{\typog@hyphen}%
+ {\raisebox{\typog@config@raisecapitalhyphen}{\typog@hyphen}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5473,7 +6447,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalendash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textendash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5503,7 +6477,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalemdash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textemdash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textemdash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5531,7 +6505,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\figuredash}{s}
- {\raisebox{\typog@raisefiguredash}{\textendash}%
+ {\raisebox{\typog@config@raisefiguredash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5550,9 +6524,9 @@ end
% \begin{macrocode}
\NewDocumentCommand{\capitaltimes}{}
{\ifmmode
- \mathbin{\raisebox{\typog@raisecapitaltimes}{$\m@th\times$}}%
+ \mathbin{\raisebox{\typog@config@raisecapitaltimes}{$\m@th\times$}}%
\else
- \raisebox{\typog@raisecapitaltimes}{\texttimes}%
+ \raisebox{\typog@config@raisecapitaltimes}{\texttimes}%
\fi}
% \end{macrocode}
%
@@ -5571,7 +6545,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guilsinglleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5584,7 +6558,7 @@ end
% \begin{macro}{\singleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\singleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guilsinglright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5599,7 +6573,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guillemotleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5612,7 +6586,7 @@ end
% \begin{macro}{\doubleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\doubleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guillemotright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5627,7 +6601,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\Singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guilsinglleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5640,7 +6614,7 @@ end
% \begin{macro}{\Singleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\Singleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guilsinglright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5655,7 +6629,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\Doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guillemotleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5668,7 +6642,7 @@ end
% \begin{macro}{\Doubleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\Doubleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guillemotright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5681,6 +6655,457 @@ end
% \end{macro}
%
%
+% \subsection{Vert. Adjust Label Items}
+%
+% \begin{macro}{\@typog@uppercase@adjust@labelitem}
+% Handle all possible requests for uppercase label item correction.
+% Patch |itemize|~environments.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@uppercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@lowercase@adjust@labelitem}
+% Handle all possible requests for lowercase label item correction.
+% Patch |itemize|~environments.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@lowercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@noadjust@labelitem}
+% Neutralize all label item corrections.
+% This function \emph{does not} request patching any |itemize|~environment!
+%
+% \begin{macrocode}
+\newcommand*{\@typog@noadjust@labelitem}[1]
+ {\ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}{\z@}
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \setlength{\typog@adjust@labelitemiv}{\z@}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}{\z@}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}{\z@}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uppercaseadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially. We wrap the code
+% into \cs{AfterPreamble} because it may be called in the document's preamble where we don't
+% know whether package~\packagename{enumitem} already has been loaded and we can patch its
+% variant of \code{itemize}.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\uppercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@uppercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@uppercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lowercaseadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\lowercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@lowercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@lowercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\noadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\noadjustlabelitems}{m}
+ {\ifblank{#1}
+ {\@typog@noadjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@noadjust@labelitem}{#1}}%
+ \ignorespaces}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Now we get to the dirty part. All the above definitions do not get called until we hack the
+% existing |itemize|-environments, either the one of plain~\LaTeX{} or the one modified by
+% package~\packagename{enumitem}.
+%
+% Here comes the result of \code{latexdef -c article -s itemize}, which was used to derive the
+% patch code:
+%
+% \begin{verbatim}
+% \def\itemize{%
+% \ifnum \@itemdepth > \thr@@
+% \@toodeep
+% \else
+% \advance\@itemdepth\@ne
+% \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+% \expandafter
+% \list
+% \csname\@itemitem\endcsname
+% {\def\makelabel##1{\hss\llap{##1}}}%
+% \fi}\end{verbatim}
+%
+% \begin{macro}{\@typog@itemize@patch}
+% This is the additional code we inject into plain \LaTeX's or
+% package~\packagename{enumitem}'s \cs{itemize}.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@itemize@patch}
+% \end{macrocode}
+%
+% Save the original definition of \cs{@itemitem} for chain-calling it later on.
+%
+% \begin{macrocode}
+ {\letcs{\@typog@old@itemitem}{\@itemitem}
+% \end{macrocode}
+%
+% Sneak in our own macro's name.
+%
+% \begin{macrocode}
+ \edef\@itemitem{@typog@labelitem\romannumeral\the\@itemdepth}
+% \end{macrocode}
+%
+% Redefine under the original macro's name so that our code gets called and the old code
+% (\cs{@typog@old@itemitem}) is expanded.
+%
+% \begin{macrocode}
+ \expandafter\def\csname\@itemitem\endcsname
+ {\raisebox{\csname typog@adjust@labelitem\romannumeral\the\@itemdepth\endcsname}
+ {\@typog@old@itemitem}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% If package~\packagename{enumitem} has been loaded, we use the \emph{same} patch. Here comes
+% the result of \code{latexdef -c article -p enumitem -s enit@itemize@i} that explains, why no
+% change is required:
+%
+% \begin{verbatim}
+% \def\enit@itemize@i#1#2#3#4{%
+% \ifnum #1 > #3 \relax
+% \enit@toodeep
+% \else
+% \enit@prelist\@ne{#1}{#2}%
+% \edef\@itemitem{label#2\romannumeral#1}%
+% \expandafter
+% \enit@list
+% \csname\@itemitem\endcsname
+% {\let\enit@calc\z@
+% \def\makelabel##1{\enit@align{\enit@format{##1}}}%
+% \enit@preset{#2}{#1}{#4}%
+% \enit@calcleft
+% \enit@before
+% \enit@negwidth}%
+% \enit@keyfirst
+% \fi}\end{verbatim}
+%
+% \begin{macro}{\@typog@patch@itemize}
+% Unconditionally apply the patches that are just \emph{single} macro calls to disturb the
+% original macros as little as possible. If we detect \packagename{enumitem} to be present
+% we modify its definition of \code{itemize} otherwise we wrestle \LaTeX's macro.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@patch@itemize}
+ {\ifdefined\enit@itemize@i
+ \patchcmd{\enit@itemize@i}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching enumitem \string\enit@itemize@i\space succeeded}}
+ {\PackageError{typog}
+ {Patching enumitem macro \string\enit@itemize@i\space failed}
+ {}}
+ \else
+ \patchcmd{\itemize}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching \string\itemize\space succeeded}}
+ {\PackageError{typog}
+ {Patching plain LaTeX macro \string\itemize\space failed}
+ {}}
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@maybe@patch@itemize}
+% Apply the patches only once.
+%
+% \begin{macrocode}
+\newbool{@typog@itemize@has@been@patched}
+\newcommand*{\@typog@maybe@patch@itemize}
+ {\ifbool{@typog@itemize@has@been@patched}
+ {\relax}
+ {\@typog@patch@itemize
+ \booltrue{@typog@itemize@has@been@patched}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Here come our convenience macros to simplify an accurate setup of the label adjustments.
+%
+% \begin{macro}{\typog@hairline@width}
+% Line width of the horizontal reference lines in our convenience macros.
+%
+% \begin{macrocode}
+\newcommand*{\typog@hairline@width}{.125pt}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typogadjuststairsfor}
+% The arguments are:
+% \#1: \meta{scale-factor},
+% \#2: \meta{step-size},
+% \#3: \meta{number-of-steps},
+% \#4: \meta{sample}, and
+% \#5: \cs{labelitem}\meta{N}.
+%
+% Generate an ascending stairs of argument~\#5.
+%
+% \begin{macrocode}
+\newcommand*{\typogadjuststairsfor}[5]
+% \end{macrocode}
+%
+% Store (half of) the space between two samples in \cs{dimen0}.
+%
+% \begin{macrocode}
+ {\dimen0=1pt%
+% \end{macrocode}
+%
+% Load the \meta{number-of-steps} and ensure that it is odd.
+%
+% \begin{macrocode}
+ \count0=#3\relax
+ \unless\ifodd\count0
+ \advance\count0 by 1%
+ \fi
+% \end{macrocode}
+%
+% Set the iteration counter.
+%
+% \begin{macrocode}
+ \setcounter{typog@@iteration}{1}%
+% \end{macrocode}
+%
+% Put the \meta{sample} into a box so that we can measure it with \cs{ht}.
+%
+% \begin{macrocode}
+ \setbox0=\hbox{#4}%
+% \end{macrocode}
+%
+% Box~1 is the accumulator for the raised samples.
+%
+% \begin{macrocode}
+ \setbox1=\hbox{}%
+% \end{macrocode}
+%
+% Build the stairs.
+%
+% \begin{macrocode}
+ \loop
+ \ifnum\thetypog@@iteration=\numexpr\count0 / 2\relax
+ \dimen1=2\dimen0
+ \else
+ \dimen1=\dimen0
+ \fi
+ \dimen2=\dimexpr#2 * (\thetypog@@iteration - \count0 / 2)\relax
+ \setbox1=\hbox{\unhbox1\raisebox{\dimen2}{\kern\dimen1 #5\kern\dimen1}}%
+ \addtocounter{typog@@iteration}{1}%
+ \unless\ifnum\thetypog@@iteration>\count0
+ \repeat
+% \end{macrocode}
+%
+% Merge the stairs with a hairline at \#1 times the height of \meta{sample}.
+% Answer just a single box.
+%
+% \begin{macrocode}
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}{\rule{\wd1}{\typog@hairline@width}}}\box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typogadjuststairs}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% The arguments are:
+% \#1: \meta{scale-factor},
+% \#2: \meta{step-size},
+% \#3: \meta{number-of-steps}, and
+% \#4: \meta{sample}.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typogadjuststairs}{O{.5} m m m}
+ {\begingroup
+ \unless\ifdim #2>\z@
+ \PackageError{typog}
+ {\string\typogadjuststairs\space non-positive step-size}
+ {step-size must be a positive dimension}%
+ \fi
+ \ifnum #3<1
+ \PackageError{typog}
+ {\string\typogadjuststairs\space too few number-of-steps}
+ {number-of-steps must at least be 1}%
+ \fi
+ \ifblank{#4}
+ {\PackageError{typog}
+ {sample must not be empty}
+ {supply either some uppercase or some lowercase letters}}
+ {}%
+ \def\arraystretch{1}%
+ \begin{tabular}{@{}c@{}}
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemi} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiv}
+ \end{tabular}
+ \endgroup}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@uppercase@adjusted@labelitems}
+% Return all four labelitems in a horizontal box after they have been adjusted with the
+% uppercase-constants set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@uppercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoguppercaseadjustcheck}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% We stuff the user's sample text into a box only to measure its height. We typeset all four
+% labels and draw a hairline at half the height of the sample right through it.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typoguppercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@uppercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@lowercase@adjusted@labelitems}
+% Return all four labelitems in a horizontal box after they have been adjusted with the
+% lowercase-constants set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@lowercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoglowercaseadjustcheck}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% Same code as \cs{typoguppercaseadjustcheck} for lowercase.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typoglowercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@lowercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection[Align Last Line]{Align Last Line of a Paragraph}
%
% The code of environment |lastlineraggedleftpar|
@@ -5955,7 +7380,7 @@ end
% \end{environment}
%
%
-% \subsection{Microtype Front\capitalhyphen End}
+% \subsection{\packagename{Microtype} Front\capitalhyphen End}
%
% \subsubsection*{Tracking}
%
@@ -6296,7 +7721,7 @@ end
% \item[Initialize.] \code{load("list\_functions")\$}
% \item[\cs{tolerance}:] \code{logspace(log10(200), log10(9999), 9), numer;}
% \item[\cs{emergencystretch}:] \code{linspace(0, 3, 9), numer;}
-% \item[\cs{hfuzz}:] \code{linspace(0.1, 0.5, 9);}
+% \item[\cs{hfuzz}:] \code{linspace(.1, .5, 9);}
% \end{description}
% \end{implementationnote}
%
@@ -6338,7 +7763,7 @@ end
\NewDocumentCommand{\vtietop}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\clubpenalty}}%
- \typog@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
+ \typog@debug@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
\unless\ifnum\clubpenalty<\@M
\PackageWarning{typog}{vtietop: clubpenalty=\the\clubpenalty\space>= 10000}%
\fi
@@ -6426,7 +7851,7 @@ end
\NewDocumentCommand{\vtiebot}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\widowpenalty}}%
- \typog@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
+ \typog@debug@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
\unless\ifnum\widowpenalty<\@M
\PackageWarning{typog}{vtiebot: widowpenalty=\the\widowpenalty\space>= 10000}%
\fi
@@ -6494,7 +7919,7 @@ end
\NewDocumentCommand{\typog@vtiebotdisp}{m}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\displaywidowpenalty}}%
- \typog@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
+ \typog@debug@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
\unless\ifnum\displaywidowpenalty<\@M
\PackageWarning{typog}{vtiebotdisp: displaywidowpenalty=\the\displaywidowpenalty\space>= 10000}%
\fi
@@ -6588,7 +8013,7 @@ end
% \end{environment}
%
%
-% \subsection{Setspace Front-End}
+% \subsection{\packagename{Setspace} Front-End}
%
% \begin{macro}{\typog@iter@limit}
% The maximum number of iterations we perform before bailing out with an error. Can be
@@ -6631,9 +8056,9 @@ end
% \begin{macrocode}
\dim_set:Nn \l_tmpa_dim {\glueexpr #1}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
initial\space baselineskip:\space \the\baselineskip}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
target\space baselineskip:\space \dim_use:N \l_tmpa_dim}
\dim_compare:nNnTF {\baselineskip} > {\c_zero_dim}
@@ -6686,10 +8111,10 @@ end
{}
}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space \string\setstretch\space argument:\space
\fp_use:N \l_tmpa_fp}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space baselineskip:\space \the\baselineskip}
}
@@ -6756,7 +8181,7 @@ end
% \begin{macrocode}
\AfterEndPreamble{
\dim_set:Nn \typogfontsize {\fontdimen6\font}
- \typog@typeout{\string\typogfontsize =
+ \typog@debug@typeout{\string\typogfontsize =
\dim_use:N \typogfontsize\space
(at\space begin\space of\space document)}
}
@@ -6892,13 +8317,13 @@ end
\skip1=#2\relax
\skip2=#3\relax
\skip3=#4\relax
- \typog@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
\unless\ifnum\typog@mod{\typog@triplet@max@lines}{3}=0
\PackageError{typog}
- {Line number of triplet generator %
+ {Line number of triplet generator\space
(\typog@triplet@max@lines) not divisible by 3}
{}
\fi
@@ -6943,15 +8368,15 @@ end
\skip3=#4\relax
\skip4=#5\relax
\skip5=#6\relax
- \typog@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
\unless\ifnum\typog@mod{\typog@quintuplet@max@lines}{5}=0
\PackageError{typog}
- {Line number of quintuplet generator %
+ {Line number of quintuplet generator\space
(\typog@quintuplet@max@lines) not divisible by 5}
{}
\fi
@@ -6998,17 +8423,17 @@ end
\skip5=#6\relax
\skip6=#7\relax
\skip7=#8\relax
- \typog@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
\unless\ifnum\typog@mod{\typog@septuplet@max@lines}{7}=0
\PackageError{typog}
- {Line number of septuplet generator %
+ {Line number of septuplet generator\space
(\typog@septuplet@max@lines) not divisible by 7}
{}
\fi
@@ -7115,7 +8540,7 @@ end
% |generator=triplet| produces a \doublequotes{short line -- long line -- middle length line}~sequence.
% \begin{macrocode}
\typog@fuzzwidth=.25\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapetriplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7130,7 +8555,7 @@ end
% |generator=quintuplet|.
% \begin{macrocode}
\typog@fuzzwidth=.125\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapequintuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7153,7 +8578,7 @@ end
%
% \begin{macrocode}
\typog@fuzzwidth=.08333\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapeseptuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7198,7 +8623,7 @@ end
%
%
% \addtocontents{toc}{\protect\end{multicols}}
-% \addtocontents{toc}{\endgroup}
+% \addtocontents{toc}{\protect\end{list}}
%
%
% \Finale
@@ -7220,10 +8645,14 @@ end
\usepackage{fullwidth}
\usepackage{hyphenat}
\usepackage{mathtools}
-\usepackage[activate=true, verbose=true]{microtype}
+\usepackage[activate=true, verbose=false]{microtype}
\usepackage{ragged2e}
\usepackage[nobottomtitles*]{titlesec}\renewcommand*{\bottomtitlespace}{.2\textheight}
-\usepackage[debug, trackingttspacing]{typog}
+\usepackage{trace}
+\usepackage[debug,
+ trackingttspacing,
+ uppercaselabelitemadjustments={0pt, .1em, .15em, .1em},
+ lowercaselabelitemadjustments={-.0667em, 0pt, .1em, 0pt}]{typog}
\usepackage{xcolor}
\usepackage[loosest, proportional, scaled=1.064]{erewhon}
@@ -7234,49 +8663,42 @@ end
\def\xsfdefault{\relax}
-{
- \def\examplefont{6}
-
- \ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
- \gdef\examplefontname{default}
- \global\let\xsf=\sf
- \global\let\xsfdefault=\sfdefault
- \or % 1 -- Nunito
- \gdef\examplefontname{Nunito}
- \usepackage{nunito}
- \xdef\xsfdefault{\rmdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 2 -- OpenSans
- \gdef\examplefontname{OpenSans}
- \usepackage[defaultsans]{opensans}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 3 -- Noto Sans
- \gdef\examplefontname{OpenSans}
- \usepackage[sfdefault]{noto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 4 -- Roboto
- \gdef\examplefontname{Roboto}
- \usepackage[sfdefault]{roboto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 5 -- Montserrat
- \gdef\examplefontname{Montserrat Alternate}
- \usepackage[alternates]{montserrat}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 6 -- Inter
- \gdef\examplefontname{Inter}
- \usepackage[sfdefault]{inter}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \else
- \SelectedUnknownExampleFont
- \fi
- \typeout{typog-example: font for examples: `\xsfdefault'}%
-}
+\def\examplefont{6}
+
+\ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
+ \def\examplefontname{default}
+ \let\xsf=\sf
+ \let\xsfdefault=\sfdefault
+\or % 1 -- Nunito
+ \def\examplefontname{Nunito}
+ \def\xsfdefault{Nunito-TOsF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 2 -- OpenSans
+ \def\examplefontname{OpenSans}
+ \def\xsfdefault{opensans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 3 -- Noto Sans
+ \def\examplefontname{Noto Sans}
+ \def\xsfdefault{NotoSans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 4 -- Roboto
+ \def\examplefontname{Roboto}
+ \def\xsfdefault{Roboto-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 5 -- Montserrat
+ \def\examplefontname{Montserrat Alternates}
+ \def\xsfdefault{MontserratAlternates-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 6 -- Inter
+ \def\examplefontname{Inter}
+ \def\xsfdefault{Inter-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\else
+ \SelectedUnknownExampleFont
+\fi
+
+\typeout{typog-example: font for examples: `\xsfdefault'}%
\usepackage{hyperref}
@@ -7388,7 +8810,6 @@ end
concentrate all the badness in one place, making one truly unsightly line instead of
two moderately bad ones, because a single ``write-off'' produces fewest total
demerits according to the rules.}
- %There is a much better way to get the desired effect:~[\dots]
\newcommand*{\texbooktolerancesamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~107]{knuth:1986}.}}
@@ -7396,7 +8817,7 @@ end
\newcommand*{\texbookparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
- it does two important things: [\dots]}
+ it does two important things: [\dots\itcorr{-4}]}
\newcommand*{\texbooklongparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
@@ -7404,7 +8825,7 @@ end
that glue is discarded. (The reason is that a blank space often gets into a token list just
before \code{\char92par} or just before \code{\char36\char36}, and this blank space should not be
part of the paragraph.) (2)~Three or more items are put at the end of the
- current horizontal list~[\dots]}
+ current horizontal list~[\dots\itcorr{-4}]}
\newcommand*{\texbookparfillskipsamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~99n]{knuth:1986}.}}
@@ -7458,7 +8879,7 @@ end
\setcounter{tocdepth}{1}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\hbadness=-1
@@ -7575,7 +8996,76 @@ in the official documentation of package~\packagename{typog}.
\noindent
Unless otherwise noted the font used in the examples is \singlequotes{\examplefontname}.
-\bigskip
+
+\section{Setup and Reconfiguration}
+
+\noindent
+\code{\char`\\ typogget}
+
+\begin{list}{}{}
+ \newcommand*{\expandsto}{$\mathbin{\mapsto}$}
+\item \code{breakpenalty} \expandsto{} \the\typogget{breakpenalty}
+\item \code{ligaturekern} \expandsto{} \milliem{\typogget{ligaturekern}}
+\item \code{lowercaselabelitemadjustments} \expandsto{} \typogget{lowercaselabelitemadjustments}
+\item \code{mathitalicscorrection} \expandsto{} \the\typogget{mathitalicscorrection}
+\item \code{raisecapitaldash} \expandsto{} \the\typogget{raisecapitaldash}
+\item \code{raisecapitalguillemets} \expandsto{} \the\typogget{raisecapitalguillemets}
+\item \code{raisecapitalhyphen} \expandsto{} \the\typogget{raisecapitalhyphen}
+\item \code{raisecapitaltimes} \expandsto{} \the\typogget{raisecapitaltimes}
+\item \code{raisefiguredash} \expandsto{} \the\typogget{raisefiguredash}
+\item \code{raiseguillemets} \expandsto{} \the\typogget{raiseguillemets}
+\item \code{shrinklimits} \expandsto{} \typogget{shrinklimits}
+\item \code{slashkern} \expandsto{} \the\typogget{slashkern}
+\item \code{stretchlimits} \expandsto{} \typogget{stretchlimits}
+\item \code{textitalicscorrection} \expandsto{} \the\typogget{textitalicscorrection}
+\item \code{trackingttspacing} \expandsto{} \typogget{trackingttspacing}
+\item \code{uppercaselabelitemadjustments} \expandsto{} \typogget{uppercaselabelitemadjustments}
+\end{list}
+
+\begingroup
+ \dimen0=\typogget{raisecapitaldash}%
+ \setbox0=\hbox to \typogget{ligaturekern} {}%
+\endgroup
+
+\noindent
+\code{\char`\\ typoggetnth}
+
+\begin{list}{}{}
+\item
+ Elements of \code{lowercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{4}\the\dimen0.
+
+ Same elements now accessed from the right-hand-side, i.\,e.~with negative indices:
+ (\textminus4)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-4}\nth,
+ (\textminus3)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-3}\nth,
+ (\textminus2)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-2}\nth, and
+ (\textminus1)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-1}\nth.
+
+\item Elements of \code{shrinklimits}:
+ (1)~\typoggetnth{nth}{shrinklimits}{1}\nth,
+ (2)~\typoggetnth{nth}{shrinklimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{shrinklimits}{3}\nth.
+
+\item Elements of \code{stretchlimits}:
+ (1)~\typoggetnth{nth}{stretchlimits}{1}\nth,
+ (2)~\typoggetnth{nth}{stretchlimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{stretchlimits}{3}\nth.
+
+\item Elements of \code{trackingttspacing}:
+ (1)~\typoggetnth{nth}{trackingttspacing}{1}\nth,
+ (2)~\typoggetnth{nth}{trackingttspacing}{2}\nth, and
+ (3)~\typoggetnth{nth}{trackingttspacing}{3}\nth.
+
+\item Elements of \code{uppercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{4}\the\dimen0.
+\end{list}
+
\section{Information}
@@ -8068,6 +9558,82 @@ We again compare the default implementation with the adjusted one.
\end{quote}
+\section{Label Items}
+
+The current configurations for the uppercase and lowercase adjustments are
+\{\typogget{uppercaselabelitemadjustments}\} and \{\typogget{lowercaselabelitemadjustments}\},
+respectively.
+
+\begin{center}
+ \makeatletter
+ \noindent
+ A\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ B\raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ E\raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ G\raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}H \\
+ a\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ b\raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ c\raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ e\raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}g
+ \makeatother
+\end{center}
+
+For the following nested lists we adjust levels one and three for uppercase and levels two and
+four for lowercase.
+
+\begingroup
+ \uppercaseadjustlabelitems{1,3}
+ \lowercaseadjustlabelitems{2,4}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \begin{itemize}
+ \item A
+ \item B
+ \item C
+ \begin{itemize}
+ \item d
+ \item e
+ \item f
+ \begin{itemize}
+ \item G
+ \item H
+ \item I
+ \begin{itemize}
+ \item j
+ \item k
+ \item l
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\endgroup
+\noadjustlabelitems{*}% not necessary, but we want to exercise the macro
+
+The left example shows the result of \code{\string\typogadjuststairs\{.25pt\}\{11\}\{ABC\}} and
+the one on the right hand side just uses the same parameters except for the sample~\sample{ace},
+this is, only lowercase letters.
+
+\begin{center}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ABC}
+ \end{minipage}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ace}
+ \end{minipage}
+\end{center}
+
+For this document the calls
+\code{\string\typoguppercaseadjustcheck\{ABC\-DEF\-GHI\-JKL\-MNO\-PQR\-STU\-VWX\-YZ\}} and
+\code{\string\typoglowercaseadjustcheck\{ace\-gmn\-opq\-rsu\-vwx\-yz\}} yield
+\sample{\typoguppercaseadjustcheck{ABCDEFGHIJKLMNOPQRSTUVWXYZ}} and
+\sample{\typoglowercaseadjustcheck{acegmnopqrsuvwxyz}}, where the adjustments in effect are
+\code{\{\typogget{uppercaselabelitemadjustments}\}} and
+\code{\{\typogget{lowercaselabelitemadjustments}\}}, respectively.
+
+
\clearpage
\section{Align Last Line}
@@ -8292,7 +9858,7 @@ consult \propername{David Carlisle's} excellent post on \propername{StackExchang
\begin{center}
\setlength{\overfullrule}{0pt}
- \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{0.1pt}{1em}}
+ \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{.1pt}{1em}}
\newsavebox{\narrowspacesample}
\sbox{\narrowspacesample}{\spacesampletext{\narrowspace}}
\newsavebox{\widespacesample}
@@ -8707,7 +10273,7 @@ New settings: \baselinesetsize.
\newcommand*{\relbls}{130}
\paragraph{\code{\string\setbaselineskippercentage\{\relbls\}}}
-\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * 0.6667}% float expression
+\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * .6667}% float expression
\setbaselineskippercentage{\relbls}
\fontsizeinfo{baselinesetsize}
New settings: \baselinesetsize.
@@ -8840,7 +10406,7 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
%
%
% \iffalse
-%<*nomicrotype>
+%<*without-microtype>
\documentclass[]{article}
@@ -8853,7 +10419,9 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
{\singleguillemetright}
{\singleguillemetleft}
-\usepackage[]{typog}
+\usepackage[uppercaselabelitemadjustments={.1em, .075em, .1em, .1em},
+ lowercaselabelitemadjustments={-.025em, -.05em, -.025em, -.025em}]
+ {typog}
\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
@@ -8868,7 +10436,9 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
\bigskip
-\noindent
+
+\section*{No Microtype}
+
This example \LaTeX-document uses package~\packagename{typog}
\emph{without} package~\packagename{microtype}.
@@ -8876,6 +10446,38 @@ We want \packagename{typog} to be as usable as possible even without
the nice features that \packagename{microtype} offers.
After all \packagename{typog} is just a front-end for it.
+
+\section*{No EnumItem}
+
+We intentionally do not load package~\packagename{enumitem}, either.
+So, we can test whether \packagename{typog} correctly patches the
+plain \LaTeX{} definition if environment~\texttt{itemize}.
+
+The vertical alignment of the label items was setup for
+uppercase (ABC\typoguppercaseadjustcheck{ABCXYZ}XYZ) and for
+lowercase (ace\typoglowercaseadjustcheck{acexyz}xyz), though
+this is not necessary for the test.
+
+\uppercaseadjustlabelitems{*}
+\begin{itemize}
+\item Level i
+\item Sublist \dots
+ \begin{itemize}
+ \item Level ii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iv
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{itemize}
+
+
+\section*{CSQuotes}
+
As we are testing a special configuration here anyhow,
we hook up our quotes with package~csquotes
to check whether they interact ok.
@@ -8883,7 +10485,28 @@ to check whether they interact ok.
\enquote{This is the outer part of the phrase
which contains the \enquote{inner part}.}}
\end{document}
-%</nomicrotype>
+%</without-microtype>
+% \fi
+%
+%
+%
+% \iffalse
+%<*minimal-test>
+\documentclass{minimal}
+
+\usepackage{typog}
+
+\newcommand*{\raiseamount}{0.5pt}
+
+\begin{document}
+\begin{typogsetup}{raise*=\raiseamount}
+ Em-dash raised by \the\typogget{raisecapitaldash} (expected: \raiseamount).
+\end{typogsetup}
+
+\fontsizeinfo{typoinfo}
+Document class ``minimal'' sets up font size and line spacing as~\typoinfo.
+\end{document}
+%</minimal-test>
% \fi
%
%
@@ -8902,35 +10525,49 @@ to check whether they interact ok.
/@menu/,/@end menu/d
## Convert sectioning macros to our own hierarchy.
-s/^@chapter \(.*\)$/\\subsection*{\\textls[40]{\1}}/
-s/^@section \(.*\)$/\\subsubsection*{\1}/
+s/^@chapter \(.*\)$/\\subsection{\\titlecase{\1}\\label{\1}}/
+s/^@section \(.*\)$/\\subsubsection{\\titlecase{\1}}\\label{\1}/
## Make `@asis' list resemble the Texinfo format.
s/@table @asis/\\begin{list}{}{\\itemindent=-20pt\\leftmargin=20pt}/
s/@end table/\\end{list}/
+## We substitute our maxipage environment for @display.
+s/@display/\\begin{maxipage}/
+s/@end display/\\end{maxipage}/
+
+## Translate `@example' environments.
+s/@example/\\begin{quote}\\tt\\obeylines/
+s/@end example/\\end{quote}\n\n/
+
## Indenting by four spaces generates a `verbatim' environment.
s/@verbatim/\\begin{verbatim}/
s/@end verbatim/\\end{verbatim}/
-## We substitute @display for our maxipage environment.
-s/@display/\\begin{maxipage}/
-s/@end display/\\end{maxipage}/
-
## The argument format of the URL macro is different.
s/@url{\([^,]*\), \([^}]*\)}/\\href{\1}{\2}/g
## Use our own markup.
s/\.\.\./\\dots{}/g
s/LaTeX/\\LaTeX{}/g
-s/@file/\\textit/g
+s/@file/\\emph/g
s/@strong/\\textbf/g
+s/@var/\\emph/g
s/[w]{/mbox{/g
+## Translate some Texinfo macros.
+s/@backslashchar/\\char`\\\\/g
+s/@lbracechar/\\{/g
+s/@noindent/\\noindent/g
+s/@rbracechar/\\}/g
+
## Quote some special characters.
s/%/\\%/g
s/_/\\_/g
+## Add space around alternative-indicators.
+s/[|]/\\,|\\,/g
+
## Adapt to how a man-page is typeset.
## En-dashes in front of long options really suck!
s/--/-\\nolig*-/g
@@ -8944,7 +10581,7 @@ s/@@/@/g
s/\\jobname/\\textbackslash jobname/g
## Make qualified Perl names breakable.
-s/::/::\\discretionary{}{}{}/g
+s/::/::\\breakpoint*/g
%</teximan2latex>
% \fi
%
@@ -8960,6 +10597,7 @@ use strict;
use warnings;
use Data::Dumper ();
+use Encode ();
use English;
use File::Basename ();
use Getopt::Long;
@@ -9011,32 +10649,32 @@ sub limit_string_length {
## We set all colors to `undef' and fill them later with the values
## of the actual configuration.
my $highlight_patterns = {
- PARTIAL_LINE => {
- FONT_SPEC => [qr#
- \\
- (?: OMS | OMX | OT1 | T1 | TS1 | U )
- (?: /[^/]+ ){5} / \S+ \s
- (?: \([+-]\d+\) )?
- #x, undef],
- MATH => [qr#
- \$
- \\
- (?: LMS | OML )
- (?: /[^/]+ ){5} / \S+ \s
- (?: \([+-]\d+\) )?
- .*?
- \$
- #x, undef]
- },
- WHOLE_LINE => {
- FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
- FIRST_VBOX => [qr#^%%#, undef],
- HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
- HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
- LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
- TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
- VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
- }
+ PARTIAL_LINE => {
+ FONT_SPEC => [qr#
+ \\
+ (?: OMS | OMX | OT1 | T1 | TS1 | U )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ #x, undef],
+ MATH => [qr#
+ \$
+ \\
+ (?: LMS | OML )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ .*?
+ \$
+ #x, undef]
+ },
+ WHOLE_LINE => {
+ FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
+ FIRST_VBOX => [qr#^%%#, undef],
+ HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
+ HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
+ LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
+ TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
+ VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
+ }
};
@@ -9048,7 +10686,7 @@ sub colorize_line {
return Term::ANSIColor::colored($line, $pattern_color_pair->[1])
if $line =~ $pattern_color_pair->[0];
}
- return $line if $line =~ m#^\.#; # we do not paint box contents yet
+ return $line if $line =~ m#^\.#; # we do not paint box contents yet
$line =~ s#$highlight_patterns->{PARTIAL_LINE}->{MATH}->[0]
#Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{MATH}->[1])
@@ -9074,13 +10712,30 @@ my $open_tag_regexp =
>#x;
+sub find_encoder {
+ my $encoding = shift;
+
+ my $encoder;
+
+ if ($encoding) {
+ $encoder = Encode::find_encoding($encoding);
+ if (!$encoder) {
+ issue_warning("encoding @{[quote_literal($encoding)]} unknown; proceeding without decoder");
+ }
+ }
+
+ return $encoder;
+}
+
+
sub grep_log_file {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+ my $encoder = find_encoder($options->{ENCODING});
my $job_name;
- my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
+ my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
my $match_count = 0;
- my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
+ my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
my $page_number;
my $regexp_modifier = $options->{IGNORE_CASE} ? 'i' : '';
my $id_value;
@@ -9094,6 +10749,8 @@ sub grep_log_file {
chomp $line;
$line_number++;
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
if ($line =~ $close_tag_regexp) {
fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
pop @nesting_levels;
@@ -9175,19 +10832,25 @@ sub grep_log_file {
}
}
}
+
+ return $match_count;
}
sub show_ids_in_file {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+ my $encoder = find_encoder($options->{ENCODING});
my $line_number = 0;
+ my $match_count = 0;
my @nesting_levels;
while (my $line = readline $file) {
chomp $line;
$line_number++;
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
if ($line =~ $close_tag_regexp) {
fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
pop @nesting_levels;
@@ -9200,6 +10863,7 @@ sub show_ids_in_file {
my $page_number = $+{page_match};
++$MATCH_COUNT;
+ ++$match_count;
push @nesting_levels, 1;
if ($options->{LOG_LINE_NUMBER}) {
@@ -9239,6 +10903,8 @@ sub show_ids_in_file {
print ' ' x $indent, $id_value, "\n";
}
}
+
+ return $match_count;
}
@@ -9256,7 +10922,7 @@ sub open_file_for_reading {
fail_with_error("cannot open @{[quote_filesystem($filename)]}: $OS_ERROR");
}
- $file;
+ return $file;
}
@@ -9272,9 +10938,9 @@ sub grep_or_show {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
if ($options->{SHOW_ALL_IDS}) {
- show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
+ return show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
} else {
- grep_log_file($options, $configuration, $file, $filename, $id_regexp);
+ return grep_log_file($options, $configuration, $file, $filename, $id_regexp);
}
}
@@ -9282,6 +10948,8 @@ sub grep_or_show {
sub scan_files {
my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+ my $match_count = 0;
+
if (@$log_filenames) {
foreach my $log_filename (@$log_filenames) {
$log_filename = 'stdin' if $log_filename eq '-';
@@ -9294,15 +10962,17 @@ sub scan_files {
print $filename_header;
}
my $file = open_file_for_reading($log_filename);
- grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ $match_count += grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
close_file($file, $log_filename);
}
} else {
my $log_filename = 'stdin';
my $file = open_file_for_reading($log_filename);
- grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ $match_count = grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
close_file($file, $log_filename);
}
+
+ return $match_count;
}
@@ -9319,10 +10989,12 @@ sub redirect_and_scan_files {
my $stdout = select $pager;
$pager->autoflush;
- scan_files($options, $configuration, $id_regexp, $log_filenames);
+ my $match_count = scan_files($options, $configuration, $id_regexp, $log_filenames);
close $pager or issue_warning "error occurred while closing the pager (pid: $pid) pipe: $OS_ERROR";
select $stdout;
+
+ return $match_count;
}
@@ -9431,6 +11103,7 @@ sub setup_configuation {
my $default_options = {
COLORIZE_MODE => 'auto',
DEBUG => 0,
+ ENCODING => undef,
ID => 0,
IGNORE_CASE => 0,
JOB_NAME => 0,
@@ -9452,6 +11125,7 @@ Options
--colour [WHEN] use color to highlight specific log contents
WHEN is 'always', 'never', or 'auto'
-C, --config KEY=VALUE set configuration KEY to VALUE
+ -E, --encoding ENCODING set character ENCODING of LOG-FILE
-i, --[no-]id print matching id with output lines
-y, --[no-]ignore-case ignore case distinctions in patterns and data
-j, --[no-]job-name print \\jobname with output lines
@@ -9461,10 +11135,12 @@ Options
-P, --[no-]pager redirect output to pager
-w, --[no-]word-regexp match only whole words
- -a, --all, --any show all IDs in LOG-FILE
+ -a, --all, --any discover all IDs in LOG-FILE
+
--debug turn on debug output
-h, --help display this help and exit
--show-config show default configuration and exit
+ --show-encodings show all known encodings and exit
-V, --version show version information and exit
HELP_TEXT
@@ -9473,6 +11149,17 @@ HELP_TEXT
}
+sub show_encodings {
+ my @all_encodings = Encode->encodings(':all');
+
+ foreach my $encoding (@all_encodings) {
+ print "$encoding\n";
+ }
+
+ exit 0;
+}
+
+
sub show_configuration {
my $format_string_value = sub {quote_literal($default_configuration->{$_[0]})};
@@ -9508,10 +11195,10 @@ FIXED_CONFIGURATION_TEXT
sub show_version {
print <<VERSION_TEXT;
-typog-grep 0.1
+typog-grep @RELEASE@
Copyright (C) 2024 by Ch. L. Spiel
-License LPPL: LaTeX Project Public License version 1.3 or later
+License LPPL: LaTeX Project Public License version 1.3c or later
VERSION_TEXT
exit 0;
@@ -9527,6 +11214,7 @@ sub get_options {
'color|colour=s' => \$options->{COLORIZE_MODE},
'C|configuration=s' => sub{setup_configuation($_[1], $configuration)},
'debug+' => \$DEBUG,
+ 'E|encoding=s' => \$options->{ENCODING},
'h|help' => \&show_help,
'i|id!' => \$options->{ID},
'y|ignore-case!' => \$options->{IGNORE_CASE},
@@ -9535,13 +11223,18 @@ sub get_options {
'N|log-line-number!' => \$options->{LOG_LINE_NUMBER},
'p|page-number!' => \$options->{PAGE_NUMBER},
'P|pager!' => \$options->{REQUEST_PAGER},
+ 'show-encodings' => \&show_encodings,
'show-config' => \&show_configuration,
'V|version' => \&show_version,
'w|word-regexp!' => \$options->{WORD_REGEXP}) or
- fail_with_error('problems while parsing options');
+ fail_with_error('problems while parsing options');
- fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
- unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i
+ if ($options->{COLORIZE_MODE}) {
+ fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
+ unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i;
+ } else {
+ $options->{COLORIZE_MODE} = 'auto';
+ }
}
@@ -9565,14 +11258,27 @@ sub do_colorize {
sub main {
$OUTPUT_IS_REDIRECTED = -t STDOUT ? 0 : 1;
- my $options = {%$default_options};
my $configuration = {%$default_configuration};
+ my $options = {%$default_options};
+ debug_print(Data::Dumper::Dumper(['Default Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Default Options', $options]));
+
+ my $user_options = {};
+ my $user_configuration = {};
+ get_options($user_options, $user_configuration);
+ debug_print(Data::Dumper::Dumper(['User Configuration', $user_configuration]));
+ debug_print(Data::Dumper::Dumper(['User Options', $user_options]));
+ while (my ($key, $value) = each %$user_options) {
+ $options->{$key} = $value if $value;
+ }
+ while (my ($key, $value) = each %$user_configuration) {
+ $configuration->{$key} = $value if $value;
+ }
+ debug_print(Data::Dumper::Dumper(['Final Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Final Options', $options]));
- get_options($options, $configuration);
$options->{COLORIZE_OUTPUT} = do_colorize($options->{COLORIZE_MODE});
initialize_highlighting_from_configuration($configuration);
- debug_print(Data::Dumper::Dumper($configuration));
- debug_print(Data::Dumper::Dumper($options));
my $id_regexp;
if ($options->{SHOW_ALL_IDS}) {
@@ -9584,17 +11290,18 @@ sub main {
$id_regexp = shift @ARGV;
}
- if ($options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
+ if ($user_options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
issue_warning("option @{[quote_literal('--pager')]} ignored because output is redirected");
}
my $use_pager = $options->{REQUEST_PAGER} && !$OUTPUT_IS_REDIRECTED;
+ my $match_count;
if ($use_pager) {
- redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
+ $match_count = redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
} else {
- scan_files($options, $configuration, $id_regexp, \@ARGV);
+ $match_count = scan_files($options, $configuration, $id_regexp, \@ARGV);
}
- exit ($MATCH_COUNT == 0);
+ exit ($match_count == 0);
}
@@ -9615,7 +11322,7 @@ main();
=head1 NAME
-typog-grep - grep for typog-inspect elements in LaTeX log files
+typog-grep - specialized grep for typog-inspect elements in LaTeX log files
=head1 SYNOPSIS
@@ -9628,9 +11335,70 @@ typog-grep - grep for typog-inspect elements in LaTeX log files
=back
-The first form shows all C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements in F<LOG-FILE>.
+The first form, ``discovery mode'', shows all I<ID>s of
+
+=begin text
+
+<typog-inspect id="ID" ...>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
+elements in F<LOG-FILE>.
+
+The second form shows the contents, I<LOG-DATA>, of the elements
-The second form shows the contents of C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements
+=begin text
+
+<typog-inspect id="ID" ...>
+LOG-DATA
+</typog-inspect>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
whose I<ID>s match I<REGEXP> in F<LOG-FILE>.
If no F<LOG-FILE> is given read from F<stdin>.
@@ -9639,57 +11407,101 @@ The S<filename C<->> is synonymous to F<stdin>.
=head1 DESCRIPTION
-B<typog-grep> is a tailored post-processor for LaTeX log files
-and the C<typoginspect> environment as provided by S<package typog>.
+B<typog-grep> is a tailored post-processor for LaTeX S<F<log> files>
+and the C<typoginspect> environment as provided by the S<LaTeX package typog>.
It shares more with the venerable
L<B<sgrep>|https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
than with S<POSIX L<B<grep>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>>.
-The LaTeX user brackets her text in
+In the LaTeX source file the user brackets her text or code
+in a C<typoginspect> environment:
+
+=begin text
+
+\begin{typoginspect}{ID}
+ TEXT-OR-CODE-TO-INVESTIGATE
+\end{typoginspect}
+
+=end text
+
+=begin man
+
+.RS
+.EX
+\ebegin{typoginspect}{\fI\,ID\/\fP}
+\fITEXT-OR-CODE-TO-INVESTIGATE\fP
+\eend{typoginspect}
+.EE
+.RE
- \begin{typoginspect}{ID}
- Text and code to investigate
- \end{typoginspect}
+=end man
+
+=begin texinfo
+
+@example
+@backslashchar{}begin@lbracechar{}typoginspect@rbracechar{}@lbracechar{}@var{ID}@rbracechar{}
+@var{TEXT-OR-CODE-TO-INVESTIGATE}
+@backslashchar{}end@lbracechar{}typoginspect@rbracechar{}
+@end example
+@noindent
+
+=end texinfo
+Z<>
where I<ID> is used to identify one or more bracketed snippets.
I<ID> does not have to be unique.
The I<REGEXP> mechanism makes it easy to select groups of related I<ID>s
if they are named accordingly.
-In F<LOG-FILE> the environment shows up, packed with tracing information, as
+In F<LOG-FILE> the result of the environment shows up,
+packed with tracing information, as
-=begin texinfo
+=begin text
-@display
-@relax
+<typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
+ LOG-DATA
+</typog-inspect>
-=end texinfo
+=end text
+
+=begin man
- <typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
- Trace Data
- </typog-inspect>
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" job="\fI\,JOB-NAME\/\fP" line="\fI\,LINE-NUMBER\/\fP" page="\fI\,PAGE-NUMBER\/\fP">
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
=begin texinfo
-@end display
-@relax
+@example
+<typog-inspect id="@var{ID}" job="@var{JOB-NAME}" line="@var{LINE-NUMBER}" page="@var{PAGE-NUMBER}">
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
=end texinfo
+Z<>
where all the capital-letter sequences are meta-variables
and in particular
I<JOB-NAME> is the expansion of C<\jobname>,
I<LINE-NUMBER> is the LaTeX source file line number
of the beginning of the C<typoginspect> environment,
and I<PAGE-NUMBER> is the page where
-the output of S<C<Text and code to investigate>> occurs.
+the output of S<C<TEXT-OR-CODE-TO-INVESTIGATE>> occurs.
B<typog-grep> reveals the contents of F<LOG-FILE>
between C<E<lt>typog-inspect id="I<ID>" ...E<gt>>
-and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags.
+and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags themselves.
Access the I<JOB-NAME>, I<LINE-NUMBER>, and I<PAGE-NUMBER>
with the commandline options
-B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
+B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
Use B<--id> to show the name of the IDs that matched I<REGEXP>.
C<typoginspect> environments can be nested.
@@ -9707,11 +11519,18 @@ The list of options is sorted by the names of the long options.
=item B<-a>, B<--all>, B<--any>
ID-discovery mode:
-Show all C<typog-inspect> elements independent of any matching patterns.
+Discover all C<typog-inspect> elements independent of any matching patterns
+and print their I<ID>s.
+The results are printed in their order of occurrence in the respective F<LOG-FILE>s.
+Pipe the output into B<sort> to get alphabetically ordered I<ID>s.
+
+Augment with options
+B<--job-name>, B<--line-number>, B<--log-line-number>, or S<B<--page-number>>
+for more information.
=item B<--color>, B<colour> I<WHEN>
-Colorize specific log contents for the matching ids.
+Colorize specific log contents for the matching I<ID>s.
The S<argument I<WHEN>> determines when to apply color:
C<always>, C<never>, S<or C<auto>>.
The setting C<auto> checks whether standard output has been redirected.
@@ -9720,29 +11539,45 @@ This is the default.
=item B<-C>, B<--config> I<KEY>=I<VALUE>[:I<KEY>=I<VALUE>[:...]]
Set one or more configuration I<KEY> to I<VALUE> pairs.
-See S<Sec. CONFIGURATION> below for a description of all available configuration items.
-Use option B<--show-config> to display the default configuration.
+See section L</CONFIGURATION> for a description
+of all available configuration items.
+Use S<option B<--show-config>> to display the default configuration.
=item B<--debug>
Turn on debug output on F<stderr>.
+=item B<-E>, B<--encoding> I<ENCODING>
+
+Set the I<ENCODING> of F<LOG-FILE> for the translation to UTF-8.
+The default is unset.
+
+Use this option to get rid of pesky
+S<"E<lt>I<HEX-DIGITS>E<gt>" escapes> on UTF-8 terminals.
+See S<option B<--show-encodings>> for the known encodings and
+Encode::Supported for a summary of all encodings.
+See also S<section L</Some Common Encodings>>.
+
+Apply L<B<iconv>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/iconv.html>
+(POSIX) or L<B<recode>|https://github.com/rrthomas/recode/> (GNU) on F<LOG-FILE>
+before this tool to avoid having to use S<option B<--encoding>>.
+
=item B<-h>, B<--help>
Display brief help then exit.
=item B<-i>, B<--[no-]id>
-Print the actual id name that matched I<REGEXP>.
-Control the appearance of the matching id with configuration S<item C<id-heading>>.
+Print the actual ID-name that matched I<REGEXP>.
+Control the appearance of the matching I<ID> with configuration S<item C<id-heading>>.
=item B<-y>, B<--[no-]ignore-case>
-Match ids while ignoring case distinctions in patterns and data.
+Match I<ID>s while ignoring case distinctions in patterns and data.
=item B<-j>, B<--[no-]job-name>
-Print the C<\jobname> that B<tex> associated with the input file.
+Print the C<\jobname> that B<latex> associated with the input file.
=item B<-n>, B<--[no-]line-number>
@@ -9766,6 +11601,10 @@ Redirect output from F<stdout> to the configured pager.
Show the default configuration and exit.
+=item B<--show-encodings>
+
+Show all known encodings and exit.
+
=item B<-V>, B<--version>
Show version information and exit.
@@ -9789,26 +11628,26 @@ S<Default: C<%s:>.>
=item C<id-heading>=C<0>E<verbar>C<1>
-Choose between printing the matching ids with S<option B<--id>>:
+Choose between printing the matching I<ID>s with S<option B<--id>>:
S<Inline (C<0>)> or heading before the matching data (C<1>).
S<Default: C<0>.>
=item C<id-heading-format>=I<FORMAT>
-Control the I<FORMAT> for printing matching ids in heading-mode,
+Control the I<FORMAT> for printing matching I<ID>s in heading-mode,
where I<FORMAT> is passed to Perl's C<printf>.
S<Default: C<--E<gt> %s E<lt>-->.>
=item C<id-indent>=I<INDENT>
Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if B<--all> is active.
+Only used in ``discovery mode'' (first form), i.e., if S<B<--all>> is active.
S<Default: 8.>
=item C<id-max-length>=I<MAXIMUM-LENGTH>
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
+Set the maximum length of a matching I<ID> for printing.
+It a matching I<ID> exceeds this length it will be truncated
and the last three characters (short of I<MAXIMUM-LENGTH>) will be replaced by dots.
S<Default: 40.>
@@ -9874,11 +11713,11 @@ Color of lines with horizontal S<breakpoints C<@@>>.
=item C<id-color>
-Color of matching ids when printed inline.
+Color of matching I<ID>s when printed inline.
=item C<id-heading-color>
-Color of matching ids when printed in heading form.
+Color of matching I<ID>s when printed in heading form.
=item C<line-break-pass-color>
@@ -9947,15 +11786,93 @@ C<bold>, C<dark>, C<italic>, C<underline>, C<reverse>
=back
+=head2 Some Common Encodings
+
+The following list shows some encodings
+that are suitable for S<option B<--encoding>>.
+
+=over 4
+
+=item Latin-1, Western European
+
+C<iso-8859-1>, C<cp850>, C<cp860>, C<cp1252>
+
+=item Latin-2, Central European
+
+C<iso-8859-2>, C<cp852>, C<cp1250>
+
+=item Latin-3, South European (Esperanto, Maltese)
+
+C<iso-8859-3>
+
+=item Latin-4, North European (Baltics)
+
+C<iso-8859-4>
+
+=item Cyrillics
+
+C<iso-8859-5>, C<cp855>, C<cp866> (Ukrainian), C<cp1251>
+
+=item Arabic
+
+C<iso-8859-6>, C<cp864>, C<cp1006> (Farsi), C<cp1256>
+
+=item Greek
+
+C<iso-8859-7>, C<cp737>, C<cp1253>
+
+=item Hebrew
+
+C<iso-8859-8>, C<cp862>, C<cp1255>
+
+=item Turkish
+
+C<iso-8859-9>, C<cp857>, C<cp1254>
+
+=item Nordic
+
+C<iso-8859-10>, C<cp865>, C<cp861> (Icelandic)
+
+=item Thai
+
+C<iso-8859-11>, C<cp874>
+
+=item Baltic
+
+C<iso-8859-13>, C<cp775>, C<cp1257>
+
+=item Celtic
+
+C<iso-8859-14>
+
+=item Latin-9 (sometimes called Latin0)
+
+C<iso-8859-15>
+
+=item Latin-10
+
+C<iso-8859-16>
+
+=back
+
+
=head1 EXIT STATUS
The exit status is 0 if at least one I<ID> matched I<REGEXP>,
1 if no I<ID> matched I<REGEXP>, and 2 if an error occurred.
+=head1 CAVEATS
+
+The end tag C<< </typog-inspect> >> sometimes gets placed too early in the output and the trace
+I<seems> truncated. However, LaTeX reliably logs the requested the trace information, but the
+write operations for trace data and the code which is used to print the S<end tag> are not
+synchronized.
+
+
=head1 SEE ALSO
-B<grep>(1), B<printf>(3), B<Term::ANSIColor>(pm)
+B<grep>(1), B<printf>(3), B<Encode::Supported>(pm), B<Term::ANSIColor>(pm)
=cut
diff --git a/macros/latex/contrib/typog/typog.ins b/macros/latex/contrib/typog/typog.ins
index 06378d86bb..23c8b33366 100644
--- a/macros/latex/contrib/typog/typog.ins
+++ b/macros/latex/contrib/typog/typog.ins
@@ -1,11 +1,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
@@ -23,11 +23,11 @@ This is a generated file.
Copyright (C) 2024 by Ch. L. Spiel
This work may be distributed and/or modified under the conditions
-of the LaTeX Project Public License, either version 1.3 of this
+of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This work has the LPPL maintenance status `maintained'.
@@ -37,7 +37,9 @@ The Current Maintainer of this work is Ch. L. Spiel.
This work consists of the files typog.dtx and typog.ins
and the derived files typog.sty, slant-angle.mp,
crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-typog-example.tex, typog-nomt.tex, typog-grep.pl,
+typog-example.tex, typog-minimal-test.tex,
+typog-without-microtype-test.tex
+typog-grep.pl.in, typog-grep.pl,
typog-grep.pod, and teximan2latex.sed.
@@ -48,20 +50,22 @@ typog-grep.pod, and teximan2latex.sed.
\generate{\file{typog.sty}{\from{\source}{package}}
\file{typog-example.tex}{\from{\source}{example}}
- \file{typog-nomt.tex}{\from{\source}{nomicrotype}}
- \file{typog.ist}{\from{\source}{index-style}}}
+ \file{typog-minimal-test.tex}{\from{\source}{minimal-test}}
+ \file{typog-without-microtype-test.tex}{\from{\source}{without-microtype}}}
\nopostamble
-\generate{\file{title.mp}{\from{\source}{title}}
+\generate{\file{crooked-paragraphs.mp}{\from{\source}{crookedparagraphs}}
\file{slant-angle.mp}{\from{\source}{slantangle}}
- \file{crooked-paragraphs.mp}{\from{\source}{crookedparagraphs}}
- \file{smooth-parshapes.mp}{\from{\source}{smoothparshapes}}}
+ \file{smooth-parshapes.mp}{\from{\source}{smoothparshapes}}
+ \file{title.mp}{\from{\source}{title}}
+ \file{typog.gst}{\from{\source}{changes-style}}
+ \file{typog.ist}{\from{\source}{index-style}}}
\nopreamble
\generate{\file{teximan2latex.sed}{\from{\source}{teximan2latex}}
- \file{typog-grep.pl}{\from{\source}{typog-grep}}
+ \file{typog-grep.pl.in}{\from{\source}{typog-grep}}
\file{typog-grep.pod}{\from{\source}{typog-grep-documentation}}}
diff --git a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
index b945b20268..16e6629f51 100644
--- a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
+++ b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
index 2f352496b5..12a454ac52 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
index ec50b217d9..9f65c9a371 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
index 141b590a99..acddbf252f 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
@@ -35,11 +35,11 @@
%<le>\ProvidesClass{uantwerpenletter}
%<ex>\ProvidesClass{uantwerpenexam}
%<bmr>\ProvidesPackage{beamerthemeuantwerpen}
-%<cls|ct|bmt|pt|rp|le|ex|bmr> [2024/04/09 v4.6 .dtx skeleton file]
+%<cls|ct|bmt|pt|rp|le|ex|bmr> [2024/06/04 v4.7 .dtx skeleton file]
%<*driver>
\documentclass[a4paper]{ltxdoc}
-\def\fileversion{4.6}
-\def\filedate{2024/04/09}%
+\def\fileversion{4.7}
+\def\filedate{2024/06/24}%
\usepackage{makeidx}
\usepackage{alltt}
\usepackage{longtable}
@@ -127,6 +127,7 @@
% multiple degree programs for exams and course texts, corrected
% disclaimers, replaced 'basic usage' in documentation by heavily
% commented examples}
+% \changes{v4.7}{2024/06/13}{\@ Minor bugfixes}
%
% \DoNotIndex{\newcommand,\newenvironment,\begin,\bfseries,\draw,\clip,\else,\fi,\if,\fill,\filldraw,\ifthenelse,\ifx,\textwidth,\node,\\,\@empty,\@tempdima,\@tempdimb,\@tempswatrue,\{,\},\ ,\bf,\BODY,\break,\Alph,\and,\define@key,\color,\dx,\dy,\g,\gdef,\hbox,\tiny,\scriptsize,\footnotesize,\small,\normalsize,\large,\Large,\LARGE,\huge,\Huge,\l,\LaTeX,\let,\p@,\relax,\renewcommand,\Requirepackage,\textbf,\textsf,\texttt,\textbackslash,\vspace,\hspace,\hfill,\hskip,\vskip,\hline,\vrule,\typeout,\usebox,\end,\paperheight,\paperwidth,\par,\NewDocumentCommand,\seq}
% \setlength{\parindent}{0em}
@@ -1043,6 +1044,7 @@
\@author
\end{center}
]
+
\kant[11]
\kant[12]
@@ -1216,8 +1218,8 @@
\titlepageimage{Images/uantwerpen-keyboard.jpg}
%% some data about your manuscript
-\isbn{987-90-57285-34-7} %% don't specify this if you don't want one
-\depot{D/2024/12.293/03} %% idem
+%% \isbn{987-90-57285-34-7} %% only secify one if you have obtained one!
+%% \depot{D/2024/12.293/03} %% idem
\begin{document}
@@ -1370,8 +1372,8 @@
\titlepageimage{Images/uantwerpen-keyboard.jpg}
%% some data about your manuscript
-\isbn{987-90-57285-34-7} %% don't specify this if you don't want one
-\depot{D/2024/12.293/03} %% idem
+%% \isbn{987-90-57285-34-7} %% only secify one if you have obtained one!
+%% \depot{D/2024/12.293/03} %% idem
\begin{document}
@@ -4654,8 +4656,8 @@ we-nl-ma-wiftw = Master of Science in wiskunde: financiële en toegepaste wiskun
xshift=1pt]
at (3.5cm,\paperheight-6.4cm)
{\sethlcolor{maincolor}%
- \textsf{\textbf{\reversevideo{\@title}}}\\
- \textsf{\reversevideo{\@subtitle}}};
+ \textsf{\textbf{\reversevideo{\@title}}}%
+ \ifx\@subtitle\empty\else\\\textsf{\reversevideo{\@subtitle}}\fi};
\node
[anchor=north west,font=\LARGE,yshift=-1cm,xshift=-1pt]
at (title.south west)
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
index cbda7bbd35..be9b782f96 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
index cc3638199c..23e7289e70 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
index 611e975a2c..3227bee08f 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
index ce7f605387..d29ccbeab3 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
index 3687884a6e..99668c6958 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
index 0ff9741397..9645cf2ee1 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
index 26f5c6fd8a..c3610d3734 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/ulthese/README.md b/macros/latex/contrib/ulthese/README.md
index 436842396a..30ca019967 100644
--- a/macros/latex/contrib/ulthese/README.md
+++ b/macros/latex/contrib/ulthese/README.md
@@ -1,15 +1,14 @@
-# Package ulthese
+# Thesis class for Université Laval
-The package provides a class based on memoir and compatible with LaTeX
-and XeLaTeX to prepare theses and memoirs compliant with the
+The package provides a class based on memoir and compatible with
+pdfLaTeX and XeLaTeX to prepare theses and memoirs compliant with the
presentation rules set forth by the Faculty of Graduate Studies of
Université Laval, Québec, Canada. The class also comes with an
extensive set of templates for the various types of theses and memoirs
offered at Laval.
-Please note that the documentation for the class and the comments in
-the templates are written in French, the language of the target
-audience.
+The documentation for the class and the comments in the templates are
+written in French, the language of the target audience.
## Licence
@@ -18,11 +17,11 @@ later version.
## Version
-5.3a (2021-08-09)
+6.0 (2024-07-02)
## Author
-Université Laval <ulthese-dev@bibl.ulaval.ca>
+Vincent Goulet for Université Laval <ulthese-dev@bibl.ulaval.ca>
## Source code repository
@@ -30,20 +29,20 @@ https://gitlab.com/vigou3/ulthese/
> The rest of this file is in French for the target audience.
-# Paquetage ulthese
+# Classe pour les thèses et mémoires de l'Université Laval
Le paquetage **ulthese** fournit la classe du même nom permettant de
composer des thèses et des mémoires immédiatement conformes aux règles
-générales de présentation matérielle de la Faculté des études
-supérieures et postdoctorales (FESP) de l'[Université
-Laval](https://www.ulaval.ca).
+générales et complémentaires de présentation matérielle de la Faculté
+des études supérieures et postdoctorales (FESP) de l'[Université
+Laval](https://www.ulaval.ca).
La classe permet également de produire les types de documents suivants
selon les mêmes règles de présentation que les thèses et mémoires:
examen de doctorat, essai de maîtrise, projet de recherche, rapport de
stage.
-La classe est compatible avec LaTeX et XeLaTeX.
+La classe est compatible avec pdfLaTeX et XeLaTeX.
## Contenu du paquetage
@@ -56,16 +55,18 @@ La classe est compatible avec LaTeX et XeLaTeX.
## Installation
-Pour installer la classe ulthese, compiler avec LaTeX le fichier
-`ulthese.ins`, en exécutant
+Le paquetage **ulthese** est distribué via le réseau de sites
+Comprehensive TeX Archive Network (CTAN) et il fait partie des
+distributions TeX standards. Par conséquent, nous recommandons
+fortement d'installer ou de mettre à jour le paquetage à l'aide du
+gestionnaire de paquetages de votre distribution.
- latex ulthese.ins
+Les experts TeX peuvent générer la classe en compilant le fichier
+`ulthese.ins` avec LaTeX:
-depuis une ligne de commande. On peut aussi ouvrir le fichier
-`ulthese.ins` dans son éditeur LaTeX et lancer la compilation avec
-LaTeX, pdfTeX, pdfLaTeX ou XeLaTeX depuis celui-ci.
+ latex ulthese.ins
-La compilation du fichier ulthese.ins générera plusieurs fichiers:
+La compilation générera plusieurs fichiers:
1. la classe elle-même:
- `ulthese.cls`
@@ -97,16 +98,18 @@ Les gabarits inutiles peuvent être supprimés.
## Documentation
Le fichier `ulthese.pdf` contient la documentation complète de la
-classe et des gabarits. Le document peut être recréé à partir du code
-source avec les commandes
+classe. Le document peut être recréé à partir du code source avec les
+commandes
- pdflatex ulthese.dtx
+ xelatex ulthese.dtx
makeindex -s gglo.ist -o ulthese.gls ulthese.glo
- pdflatex ulthese.dtx
+ xelatex ulthese.dtx
+ xelatex ulthese.dtx
## Historique des versions
-L'historique des versions de la classe se trouve en annexe de la documentation.
+L'historique des versions de la classe se trouve en annexe de la
+documentation.
## Commentaires et suggestions
@@ -116,11 +119,5 @@ des améliorations à la classe.
## Aide additionnelle
-Faire appel aux ressources suivantes, dans l'ordre:
-
-1. consulter le [WikiThèse de l'Université Laval](http://www.theses.ulaval.ca/wiki/);
-
-2. consulter les archives de la liste de distribution
- [ulthese-aide](http://listes.ulaval.ca/listserv/archives/ulthese-aide.html);
-
-3. écrire à la liste de distribution [ulthese-aide](mailto:ulthese-aide@listes.ulaval.ca).
+Vous pouvez obtenir de l'aide additionnelle sur l'utilisation de la
+classe en écrivant à l'adresse: ulthese-aide@listes.ulaval.ca.
diff --git a/macros/latex/contrib/ulthese/ulthese.dtx b/macros/latex/contrib/ulthese/ulthese.dtx
index 0d79080881..58da90e888 100644
--- a/macros/latex/contrib/ulthese/ulthese.dtx
+++ b/macros/latex/contrib/ulthese/ulthese.dtx
@@ -1,340 +1,490 @@
-% \iffalse meta-comment
+% \iffalse meta-comment -*- mode: doctex -*-
%
-% Copyright (C) 2021 Universite Laval
+% Thesis class for Universite Laval
+%
+% Copyright (C) 2012-2024 Universite Laval
%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in:
%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3c or later is part of all distributions of LaTeX
-% version 2006/05/20 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Universite Laval
-% <ulthese-dev@bibl.ulaval.ca>.
-%
-% This work consists of the files ulthese.dtx and ulthese.ins
-% and the derived files listed in the README.md file.
+% https://www.latex-project.org/lppl.txt
%
+% The Current Maintainer of this work is Vincent Goulet for
+% Universite Laval <ulthese-dev@bibl.ulaval.ca>.
% \fi
%
% \iffalse
%<*dtx>
\ProvidesFile{ulthese.dtx}
%</dtx>
-%<class>\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+%<class>\NeedsTeXFormat{LaTeX2e}[2021/06/01]
%<class>\ProvidesClass{ulthese}%
%<*class>
- [2021/08/09 v5.3a Universite Laval thesis and memoir class]
+ [2024/07/02 v6.0 Thesis class for Universite Laval]
%</class>
%<*driver>
-\documentclass[11pt,english,french]{ltxdoc}
- \usepackage[utf8]{inputenc}
- \usepackage[T1]{fontenc}
- \usepackage{natbib}
+\documentclass[article,oneside,11pt,x11names,english,french]{memoir}
\usepackage{babel}
\usepackage[autolanguage]{numprint}
- \usepackage{microtype}
- \usepackage[scaled=0.92]{helvet}
- \usepackage[scaled=1.02]{inconsolata}
- \usepackage[sc]{mathpazo}
- \usepackage{fontawesome}
+ \usepackage[round,semicolon,authoryear,sectionbib]{natbib}
\usepackage{metalogo}
- \usepackage{tabularx,booktabs,caption}
+ \usepackage{enumitem}
+ \usepackage{relsize}
+ \usepackage{awesomebox}
+
+ %% Le chargement de doc.sty cause des conflits avec memoir. Il faut:
+ %%
+ %% - annuler la définition de l'environnement 'glossary' de memoir;
+ %% - remettre en place les définitions standards des commandes pour
+ %% le glossaire sur lesquelles se base doc.sty (nécessaire aussi
+ %% pour l'index, mais il n'est pas utilisé).
+ \let\theglossary\relax % avoid conflict with doc.sty
+ \let\endtheglossary\relax % avoid conflict with doc.sty
+ \makeatletter
+ \def\makeglossary{%
+ \newwrite\@glossaryfile
+ \immediate\openout\@glossaryfile=\jobname.glo
+ \def\glossary{\@bsphack\begingroup
+ \@sanitize
+ \@wrglossary}\typeout
+ {Writing glossary file \jobname.glo }%
+ \let\makeglossary\@empty
+ }
+ \@onlypreamble\makeglossary
+ \def\@wrglossary#1{%
+ \protected@write\@glossaryfile{}%
+ {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack}
+ \def\glossary{\@bsphack\begingroup\@sanitize\@index}
+ \@twosidefalse\@mparswitchfalse % turn off twoside option
+ \makeatother
+ \usepackage{doc}
+ \def\changes#1#2#3{\glossary{#1>#3}} % simplification
\DisableCrossrefs
\CodelineNumbered
\RecordChanges
- \GlossaryPrologue{\section*{Historique des versions}%
- \addcontentsline{toc}{section}{Historique des versions}}
+ %\OnlyDescription
+ \DontCheckModules
+
+ %% Polices de caractères
+ \iftutex
+ \usepackage[babel=true]{microtype}
+ \usepackage{fontspec}
+ \usepackage{unicode-math}
+ \setmainfont{STIXTwoText}
+ [
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-SemiBold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-SemiBoldItalic,
+ Numbers = {Proportional,OldStyle},
+ Scale = 1,
+ Ligatures = TeX
+ ]
+ \setsecheadstyle{\normalfont\Large\sffamily\bfseries\raggedright}
+ \setsubsecheadstyle{\normalfont\large\sffamily\bfseries\raggedright}
+ \setsubsubsecheadstyle{\normalfont\sffamily\bfseries\raggedright}
+ \else
+ \usepackage[babel=true]{microtype}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
+ \usepackage[stix2]{newtxmath}
+ \fi
+ \usepackage[book,medium,proportional,oldstyle,scale=0.92]{FiraSans}
+ \usepackage[medium,lining,scale=0.90]{FiraMono}
%% Couleurs
\usepackage{xcolor}
- \definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
- \definecolor{url}{rgb}{0.6,0,0} % rouge foncé
- \definecolor{citation}{rgb}{0,0.5,0} % vert foncé
-
- %% Liste description alignée à gauche
- \usepackage{enumitem}
- \setlist[description]{leftmargin=*,align=left}
-
- %% Environnement pour remarques
- \usepackage{amsthm}
- \theoremstyle{definition}
- \newtheorem*{rem}{Remarque}
+ \definecolor{link}{rgb}{0,0.4,0.6} % liens internes
+ \definecolor{url}{rgb}{0.6,0,0} % liens externes
+ \definecolor{citation}{rgb}{0,0.5,0} % citations
%% Hyperliens
- \usepackage{hyperref}
- \hypersetup{%
- pdfauthor = {Faculté des études supérieures et postdoctorales},
- pdftitle = {Guide de l'utilisateur de la classe ulthese},
- colorlinks = {true},
- linktocpage = {true},
- urlcolor = {url},
- linkcolor = {link},
- citecolor = {citation},
- pdfpagemode = {UseOutlines},
- pdfstartview = {Fit},
- bookmarksopen = {true},
- bookmarksnumbered = {true},
- bookmarksdepth = {subsubsection}}
- \addto\extrasfrench{%
- \def\appendixautorefname{annexe}%
- \def\tableautorefname{tableau}%
- \def\subsectionautorefname{section}%
+ \AtEndPreamble{%
+ \usepackage{bookmark} % charge hyperref
+ \hypersetup{%
+ pdftitle = {Guide d'utilisation de la classe ulthese},
+ pdfauthor = {Faculté des études supérieures et postdoctorales},
+ colorlinks = {true},
+ urlcolor = {url},
+ linkcolor = {link},
+ citecolor = {citation}}
+ \bookmarksetup{%
+ open = true,
+ depth = 3,
+ numbered = true}
+ \addto\extrasfrench{%
+ \def\subsectionautorefname{section}%
+ }
}
%% Paramétrage de babel
- \frenchbsetup{%
- StandardItemizeEnv=true, % listes standards
+ \frenchsetup{%
+ SmallCapsFigTabCaptions=false, % pas de petites capitales
ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
og=«, fg=» % « et » sont les guillemets
}
- \def\frenchtablename{{\scshape Tab.}}
+ \renewcommand*\frenchtablename{Tab.}
+ \renewcommand*\frenchfigurename{Fig.}
+ \renewcommand*\generalname{Général} % mot clé du glossaire
+
+ %% Désactiver le niveau des chapitres de memoir
+ \let\chapter\relax
+ \counterwithout{section}{chapter}
+
+ %% Utiliser une numérotation des sections à trois niveaux
+ \setsecnumdepth{subsubsection}
+ \maxsecnumdepth{subsubsection}
+
+ % Les annexes sont des sections, ici. Redéfinir la
+ % commande \appendix comme dans la classe article.
+ \makeatletter
+ \renewcommand*\appendix{\par
+ \setcounter{section}{0}
+ \gdef\thesection{\@Alph\c@section}}
+ \makeatother
+
+ %% Aligner à gauche l'environnement description
+ \setlist[description]{leftmargin=*,align=left}
+
+ %% Configurer le glossaire
+ \addto\extrasfrench{%
+ \def\glossaryname{Historique des versions}}
+ \GlossaryPrologue{\section*{\glossaryname}%
+ \addcontentsline{toc}{section}{\glossaryname}}
+ \setcounter{GlossaryColumns}{2}
+ \setlength{\GlossaryMin}{5cm}
- %% Commandes de mise en forme spéciales
- \newcommand{\class}[1]{\textsf{#1}}
- \newcommand{\pkg}[1]{\textbf{#1}}
+ %% Nouvel environnement de type \DescribeMacro pour les options de
+ %% la classe
+ \NewDocElement[envlike,notoplevel,printtype=\emph{option}]{Option}{option}
- %% Commandes pour les liens vers la documentation
- \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink}}}
- \newcommand{\doc}[2][documentation]{\link{#2}{#1}}
+ %% Commandes sémantiques additionnelles
+ \let\class\textsf
+ \let\pkg\textbf
+ \makeatletter
+ \renewcommand\code{\bgroup\@makeother\_\@makeother\~\@makeother\$\code@}
+ \def\code@#1{{\normalfont\ttfamily\hyphenchar\font=-1 #1}\egroup}
+ \makeatother
+ \newcommand*\ulthesename{ulthese}
+ \newcommand*\ulclass{\class{\ulthesename}}
+ \newcommand*\btx{\textsc{Bib}\TeX}
- %% Francisation d'un mot clé de l'historique des commandes
- \def\generalname{Général}
+ %% Redéfinir \year pour utiliser l'information de \filedate plutôt
+ %% que la date de compilation
+ \def\parsedate#1/#2/#3\relax{\def\year{#1}}
+
+ %% Convertir la date en format ISO
+ \def\isodate#1/#2/#3\relax{#1-#2-#3}
+
+ \MakeShortVerb{\|}
\begin{document}
\DocInput{ulthese.dtx}
\end{document}
%</driver>
% \fi
-% \CheckSum{914}
% \DoNotIndex{\',\^,\`,\ ,\ae}
% \DoNotIndex{\RequirePackage,\ExecuteOptions,\ProcessOptions}
% \DoNotIndex{\newcommand,\newcommand*}
% \DoNotIndex{\setlength}
+% \changes{6.0}{2024-05-22}{Prise en compte des règles de présentation
+% entrées en vigueur à l'automne 2023 qui n'exigent plus une
+% bibliographie par chapitre pour les thèses et mémoire par
+% intégration d'articles.}
+% \changes{6.0}{2024-05-22}{Suppression des options
+% \texttt{bibchapitre} et \texttt{bibsection}.}
+% \changes{6.0}{2024-07-02}{Ajout du grade de maître en travail
+% social.}
+% \changes{6.0}{2024-07-02}{Retrait du grade de maître en
+% physiothérapie.}
+% \changes{6.0}{2024-05-24}{Utilisation du codage de caractères UTF-8
+% par défaut dans la classe. Modification des gabarits en
+% conséquence.}
+% \changes{6.0}{2024-06-17}{Révision exhaustive de la documentation.}
% \changes{4.4}{2017-05-16}{Prise en charge des bibliographies
-% multiples pour les thèses et mémoires par articles.}
+% multiples pour les thèses et mémoires par articles.}
+% \changes{4.4}{2017-05-15}{Ajout de l'option \texttt{bibchapitre}.}
+% \changes{4.4}{2017-05-15}{Ajout de l'option \texttt{bibsection}.}
% \changes{4.4}{2017-05-16}{Documentation révisée, principalement ce
-% qui touche à la préparation de la bibliographie.}
+% qui touche à la préparation de la bibliographie.}
% \changes{4.3}{2017-03-01}{Nouvelles options pour les titres de
-% docteur en musique, maître en architecture, maître en
-% ergothérapie, maître en physiothérapie et maître en
-% psychoéducation.}
-% \changes{4.3}{2017-03-01}{Modifications à la composition des sigles de
-% grades.}
+% docteur en musique, maître en architecture, maître en ergothérapie,
+% maître en physiothérapie et maître en psychoéducation.}
+% \changes{4.3}{2017-03-01}{Modifications à la composition des sigles
+% de grades.}
% \changes{4.3}{2017-03-01}{Vérification de la compatibilité entre le
-% grade et les options multifacultaire, cotutelle, bidiplomation et
-% extension.}
+% grade et les options \texttt{multifacultaire}, \texttt{cotutelle},
+% \texttt{bidiplomation} et \texttt{extension}.}
% \changes{4.3}{2017-03-01}{Améliorations à la documentation.}
-% \changes{4.2}{2016-03-29}{Ajout de l'option «examen».}
+% \changes{4.2}{2016-03-29}{Ajout de l'option \texttt{examen}.}
% \changes{4.1}{2016-02-13}{Paquetage geometry déclaré incompatible
-% avec la classe.}
-% \changes{4.0}{2015-06-12}{Nouvelles règles de présentation matérielle
-% de la FESP: recto seulement, page frontispice.}
-% \changes{3.1}{2014-05-23}{Prise en charge de la maîtrise en bidiplomation.}
+% avec la classe.}
+% \changes{4.0}{2015-06-12}{Nouvelles règles de présentation
+% matérielle de la FESP: recto seulement, page frontispice.}
+% \changes{3.1}{2014-05-23}{Prise en charge de la maîtrise en
+% bidiplomation.}
% \changes{3.0a}{2014-03-24}{Modifications et corrections à la
-% documentation, notamment relativement à la configuration de natbib.}
+% documentation, notamment relativement à la configuration de
+% \textbf{natbib}.}
% \changes{3.0}{2014-01-06}{Déclaration du grade en option de la
-% classe.}
-% \changes{3.0}{2014-01-06}{Moteur XeLaTeX supporté.}
-% \changes{3.0}{2014-01-06}{Ajout de l'option nobabel.}
+% classe.}
+% \changes{3.0}{2014-01-06}{Moteur {\XeLaTeX} supporté.}
+% \changes{3.0}{2014-01-06}{Ajout de l'option \texttt{nobabel}.}
% \changes{2.1}{2013-01-16}{Utilisation transparente de la police
-% Helvetica pour la page de titre.}
+% Helvetica pour la page de titre.}
% \changes{2.0}{2013-01-13}{Traitement automatique des longs titres.}
% \changes{1.0b}{2012-11-11}{Ajouts et corrections mineures dans la
-% documentation.}
+% documentation.}
% \changes{1.0a}{2012-10-17}{Précisions dans la documentation.}
% \changes{1.0}{2012-09-30}{Version initiale.}
% \GetFileInfo{ulthese.dtx}
-% \title{\class{ulthese}: la classe pour les thèses et mémoires de
-% l'Université Laval\thanks{Ce document décrit la classe
-% \class{ulthese}~\fileversion, datée du \filedate.}}
+%
+% \title{Guide d'utilisation de la classe {\ulclass} \\ pour les thèses et
+% mémoires \\ de l'Université Laval}
% \author{Faculté des études supérieures et postdoctorales\thanks{%
% Cette classe et sa documentation ont été rédigées par Vincent
% Goulet~(Faculté des sciences et de génie) avec la collaboration de
% Koassi D'Almeida~(Faculté des études supérieures et postdoctorales) et
-% de Pierre Lasou~(Bibliothèque).}}
-% \date{}
+% Pierre Lasou~(Bibliothèque).}}
+% \date{Version {\fileversion} du {\expandafter\isodate\filedate\relax}}
% \maketitle
%
% \section{Introduction}
%
-% La classe \class{ulthese} permet de composer avec {\LaTeX} ou
-% {\XeLaTeX} des thèses et mémoires immédiatement conformes aux règles
-% générales de présentation matérielle de la Faculté des études
-% supérieures et postdoctorales (FESP) de l'Université Laval. Ces
-% règles définissent principalement la présentation des pages de titre
-% des thèses et mémoires ainsi que la disposition du texte sur la
-% page. La classe en elle-même est donc relativement simple.
-%
-% Cependant, \class{ulthese} est basée sur la classe \class{memoir}
-% \citep{memoir}, une extension de la classe standard \class{book}
-% facilitant à plusieurs égards la préparation de documents d'allure
-% professionnelle dans {\LaTeX}. La classe \class{memoir} incorpore
-% d'office plus de 30 des paquetages les plus populaires\footnote{%
-% Consulter la section~18.24 de la documentation de \class{memoir}
-% pour la liste ou encore le journal de la compilation (\emph{log})
-% d'un document utilisant la classe \class{ulthese}.}. %
-% L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
-% dans \class{ulthese}.
-%
-% La classe \class{memoir} fait partie des distributions {\LaTeX}
-% modernes; elle devrait donc être installée et disponible sur votre
-% système. Elle est livrée avec une %
-% \doc{http://texdoc.net/pkg/memoir} %
-% exhaustive: le guide de l'utilisateur fait près de 600~pages!
-% N'hésitez pas à vous y référer pour réaliser une mise en page
-% particulière.
-%
-% L'autre compagnon naturel de la présente documentation est
-% \doc[Rédaction avec {\LaTeX}]{http://texdoc.net/pkg/formation-latex-ul} ^^A
-% \citep{formation-latex-ul}, la formation {\LaTeX} de l'Université Laval.
-% Vous y trouverez des informations additionnelles sur l'utilisation des
-% classes \class{ulthese} et \class{memoir}.
+% La classe {\ulclass} permet de composer des thèses et mémoires
+% immédiatement conformes aux règles générales et complémentaires de
+% présentation de la Faculté des études supérieures et postdoctorales
+% (FESP) de l'Université Laval. Ces règles définissent principalement
+% la présentation des pages de titre des thèses et mémoires, ainsi que
+% la disposition du texte sur la page.
+%
+% La composition d'un manuscript avec la classe {\ulclass} requiert une
+% distribution {\TeX} récente et à jour. Nous recommandons les
+% distributions %
+% \href{https://tug.org/texlive}{{\TeX}~Live}~---%
+% ou sa variante pour macOS %
+% \href{https://tug.org/mactex}{Mac{\TeX}}~--- %
+% et %
+% \href{https://miktex.org}{MiK{\TeX}}. %
+% Vous pouvez également avoir recours à une plateforme de rédaction en
+% ligne comme %
+% \href{https://overleaf.com}{Overleaf}; %
+% leurs distributions {\TeX} satisfont généralement les conditions
+% ci-dessus.
+%
+% La classe {\ulclass} fait partie des distributions {\TeX} standards via
+% le paquetage %
+% \href{https://ctan.org/pkg/ulthese}{\pkg{ulthese}}. %
+% Dans la mesure où votre distribution est
+% à jour, vous devriez pouvoir l'utiliser sans autre intervention.
+%
+% Le compagnon naturel de la présente documentation est \emph{Rédaction
+% avec {\LaTeX}}, la formation {\LaTeX} de l'Université Laval. Vous y
+% trouverez sans doute une foule d'informations utiles pour la
+% préparation de votre thèse ou de votre mémoire. L'ouvrage fait
+% lui aussi partie des distributions {\TeX} standards, via le
+% paquetage %
+% \href{https://ctan.org/pkg/formation-latex-ul}{\pkg{formation-latex-ul}}. %
%
% \section{Démarrage rapide (pour les impatients)}
% \label{sec:utilisation:rapide}
%
-% La classe est livrée avec les distributions {\TeX}~Live, Mac{\TeX} et
-% MiK{\TeX}. Si vous utilisez l'une ou l'autre de ces distributions et
-% qu'elle est à jour\footnote{%
-% Validez à l'aide de l'assistant de mise à jour de votre
-% distribution.}, %
-% vous devriez pouvoir utiliser \class{ulthese} sans autre
-% intervention.
-%
-% Il est recommandé de segmenter tout document d'une certaine ampleur
-% dans des fichiers |.tex| distincts pour chaque partie ---
-% habituellement un fichier par chapitre. Le document complet est alors
-% composé à l'aide d'un fichier maître qui contient le préambule
-% {\LaTeX} et un ensemble de commandes \cmd{\include} pour réunir les
-% parties dans un tout.
+% La classe {\ulclass} est livrée avec un ensemble de gabarits sur
+% lesquels se baser pour le document maître de divers types de thèses
+% et de mémoires (standard, par articles, en cotutelle, en
+% bidiplomation), ainsi que pour les parties les plus usuelles
+% (résumés français et anglais, remerciements, avant-propos,
+% introduction, chapitres, conclusion, annexe). Les noms des fichiers
+% devraient permettre de facilement identifier leur contenu. Dans la
+% distribution {\TeX}~Live, les gabarits sont classés avec la
+% documentation.
%
-% La classe \class{ulthese} est livrée avec un ensemble de gabarits sur
-% lesquels se baser pour:
-% \begin{itemize}
-% \item le document maître de divers types de thèses et de mémoires
-% (standard, par articles, en cotutelle, en bidiplomation);
-% \item les fichiers des parties les plus usuelles (résumés français
-% et anglais, avant-propos, introduction, chapitres, conclusion,
-% etc.).
-% \end{itemize}
-% Les noms des fichiers devraient permettre de facilement identifier
-% leur contenu (c'est là une bonne pratique: le nom |rappels.tex|
-% parle de lui-même et résiste mieux aux changements à l'ordre des
-% chapitres que |chapitre1.tex|).
+% Pour débuter rapidement la rédaction de votre manuscrit, copiez les
+% gabarits appropriés dans votre dossier de travail et suivez les
+% directives qui s'y trouvent. Nous recommandons de compiler votre
+% manuscript avec {\XeLaTeX}.
%
-% Dans {\TeX}~Live, les gabarits sont classés avec la documentation de
-% la classe. Pour les utiliser, copiez les fichiers appropriés dans votre
-% dossier de travail.
+% La classe utilise le codage de caractères
+% \href{https://fr.wikipedia.org/wiki/UTF-8}{UTF-8}. Vous devez donc
+% obligatoirement utiliser ce type codage quand un fichier contient
+% des caractères non-ASCII (comme des lettres accentuées).
%
-% Pour débuter la rédaction, renommez le gabarit de document maître
-% approprié d'après votre numéro de dossier. Par exemple, l'étudiante
-% dont le numéro de dossier est 111555555 et qui entame la rédaction
-% d'une thèse par articles renommera le fichier
-% \begin{quote}
-% |gabarit-doctorat-articles.tex|
-% \end{quote}
-% en
-% \begin{quote}
-% |111555555.tex|.
-% \end{quote}
+% Le reste de ce guide contient les informations détaillées sur les
+% caractéristiques et fonctionnalités de la classe.
%
-% Les gabarits comportent des commentaires succincts pour vous guider
-% dans la préparation de votre document. La \autoref{sec:gabarits}
-% fournit les informations détaillées.
+% \changes{5.3a}{2021-08-09}{Ajout à la documentation de la
+% disponibilité d'une archive pour les personnes qui ne disposent pas
+% d'une installation de {\TeX} locale.}
+% \tipbox{Si vous n'avez pas accès aux gabarits parce qu'ils ne sont
+% pas inclus dans votre distribution ou parce que vous utilisez une
+% plateforme de rédaction en ligne, poursuivez votre lecture à la
+% \autoref{sec:installation}.}
%
% \section{Installation}
+% \label{sec:installation}
%
-% Cette section explique comment installer la classe \class{ulthese}
+% Cette section explique comment installer la classe {\ulclass}
% si elle n'est pas disponible sur votre système ou si la version
% n'est pas à jour.
%
-% La classe est distribuée sous forme d'une archive |ulthese.zip| via
-% le réseau de sites \emph{Comprehensive {\TeX} Archive Network} (CTAN):
+% La classe {\ulclass} est distribuée dans le paquetage %
+% \href{https://ctan.org/pkg/ulthese}{\pkg{ulthese}} %
+% via le réseau de sites \emph{Comprehensive {\TeX} Archive Network}
+% (CTAN). Celui-ci fait partie des distributions {\TeX} standards telles
+% que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons fortement
+% d'installer ou de mettre à jour \pkg{ulthese} à l'aide du
+% gestionnaire de paquetages de votre distribution {\TeX}. Par
+% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations dans
+% l'assistant graphique, ou encore avec l'une ou l'autre des commandes
+% ci-dessous:
% \begin{quote}
-% \url{https://www.ctan.org/pkg/ulthese}
+% \code{tlmgr install ulthese}
+% \end{quote}
+% ou
+% \begin{quote}
+% \code{tlmgr update ulthese}
% \end{quote}
%
-% L'installation de la classe consiste à créer le fichier
-% |ulthese.cls| et les gabarits |.tex| à partir du code source
-% documenté se trouvant dans le fichier |ulthese.dtx|. Il est
-% recommandé de simplement créer ces fichiers dans le dossier de
-% travail de la thèse ou du mémoire.
-%
-% Pour procéder à l'installation, décompressez l'archive |ulthese.zip|
-% dans votre dossier de travail, puis compilez avec {\LaTeX} le fichier
-% |ulthese.ins| en exécutant la commande suivante depuis une invite
-% de commande:
+% S'il vous est impossible d'installer des paquetages ou de mettre à
+% jour la distribution {\TeX}~--- notamment si vous utilisez une
+% plateforme de rédaction en ligne~--- vous pouvez procéder à une
+% installation simplifiée de la classe dont la portée sera limitée à
+% votre projet. Pour ce faire, téléchargez l'archive %
% \begin{quote}
-% |latex ulthese.ins|
+% \code{ulthese-installation-projet.zip}
% \end{quote}
-% Vous pouvez aussi ouvrir le fichier |ulthese.ins| dans votre éditeur
-% de texte favori et lancer depuis celui-ci la compilation avec
-% {\LaTeX}, pdf{\LaTeX}, {\XeLaTeX} ou un autre moteur {\TeX}.
+% depuis le
+% \href{https://gitlab.com/vigou3/ulthese/-/releases}{dépôt du projet ulthese}
+% et décompressez celle-ci dans le répertoire de votre document. Vous
+% disposerez alors de tous les fichiers essentiels de la classe à
+% l'intérieur de ce projet.
%
-% \changes{5.3a}{2021-08-09}{Ajout à la documentation de la
-% disponibilité d'une archive pour les personnes qui ne disposent
-% pas d'une installation de {\TeX} locale.}
-% \begin{rem}
-% Si vous ne disposez pas d'une version de {\TeX} sur votre poste de
-% travail --- vraisemblablement parce que vous utilisez une
-% plateforme de rédaction en ligne --- téléchargez
-% l'archive |ulthese-sans-tex-local.zip| depuis le
-% \link{https://gitlab.com/vigou3/ulthese/-/releases}{dépôt du
-% projet}. Celle-ci contient tous les fichiers
-% normalement créés lors de l'installation de la classe.
-% \end{rem}
+% Si votre expertise {\TeX} vous pousse à préférer une installation
+% manuelle avec accès à l'intégralité du code source de la classe,
+% consultez les instructions qui se trouvent dans le fichier
+% \code{README.md} du paquetage.
%
% \section{Utilisation}
+% \label{sec:utilisation}
+%
+% La classe {\ulclass} est basée sur la classe %
+% \href{https://ctan.org/pkg/memoir}{\class{memoir}}, %
+% une extension de la classe standard \class{book} facilitant à
+% plusieurs égards la préparation de documents d'allure
+% professionnelle dans {\LaTeX}. L'intégralité des fonctionnalités de
+% \class{memoir} se retrouve donc dans {\ulclass}.
+%
+% La classe \class{memoir} fait partie des distributions {\TeX}
+% récentes; elle devrait donc être installée et disponible sur votre
+% système. La classe est livrée avec une documentation exhaustive: le
+% guide de l'utilisateur fait près de 600~pages! N'hésitez pas à vous
+% y référer pour réaliser une mise en page particulière.
+%
+% La classe {\ulclass} est compatible avec le moteur pdf{\LaTeX}.
+% Cependant, pour faciliter la gestion du codage des fichiers et des
+% polices de caractères, nous recommandons de compiler votre
+% manuscript avec le plus moderne moteur {\XeLaTeX}.
+%
+% \subsection{Gabarits}
+% \label{sec:utilisation:gabarits}
+%
+% La classe est livrée avec un ensemble de gabarits sur lesquels vous
+% baser pour:
+% \begin{itemize}
+% \item le document maître de divers types de thèses et de mémoires
+% (standard, par articles, en cotutelle, en bidiplomation);
+% \item les fichiers des parties les plus usuelles (résumés français
+% et anglais, remerciements, avant-propos, introduction, chapitres,
+% conclusion, annexe).
+% \end{itemize}
+% Vous pourriez devoir combiner les caractéristiques de deux gabarits
+% de document maître, par exemple pour une thèse en cotutelle par
+% articles.
+%
+% Les gabarits vous incitent à adopter le mode d'organisation des
+% fichiers de tout document d'une certaine ampleur, soit: un fichier
+% |.tex| par partie; un fichier maître contenant le préambule {\LaTeX}
+% et un ensemble de commandes \cmdprint{\include} pour réunir les
+% parties dans un tout.
+%
+% Si vous utilisez la version de la classe fournie avec votre
+% distribution {\TeX}, les gabarits peuvent être classés avec la
+% documentation (c'est le cas dans {\TeX}~Live). Si vous avez plutôt
+% effectué une installation locale de la classe, ou si vous l'avez
+% installée manuellement, les gabarits se trouvent dans votre
+% dossier de travail.
%
-% La classe est compatible avec les moteurs {\LaTeX} traditionnels
-% ainsi qu'avec le plus récent moteur {\XeLaTeX}.
+% Nous recommandons fortement de rédiger votre manuscript à partir des
+% gabarits. Il peut aussi s'avérer utile de suivre un gabarit en lisant
+% la présente section.
+%
+% \tipbox{Il n'y a pas de gabarit spécifique pour un examen de
+% doctorat, pour un essai de maîtrise, pour un projet de recherche ou
+% pour un rapport de stage. Utilisez un gabarit de thèse ou de
+% maîtrise avec l'une ou l'autre des options |examen|, |essai|,
+% |projet| ou |stage|.}
+%
+% \changes{6.0}{2024-05-24}{Documentation: nouvelle section sur le
+% codage de caractères du code source.}
+% \subsection{Codage de caractères du code source}
+% \label{sec:utilisation:codage}
+%
+% La classe utilise le codage de caractères
+% \href{https://fr.wikipedia.org/wiki/UTF-8}{UTF-8}
+% tant avec pdf{\LaTeX} qu'avec {\XeLaTeX}. Les fichiers
+% contenant du texte avec des accents ou tout autre symbole non-ASCII
+% doivent donc obligatoirement être enregistrés dans ce codage de
+% caractères\footnote{%
+% L'UTF-8 n'étant pas le codage par défaut sous Windows, portez une
+% attention toute particulière à ce point si vous utilisez ce système
+% d'exploitation.}.
+%
+% \subsection{Déclaration de la classe et options}
+% \label{sec:utilisation:options}
%
% On charge la classe avec la commande
% \begin{quote}
-% |\documentclass|\oarg{options}|{ulthese}|
+% |\documentclass|\oarg{options}|{ulthese}|
% \end{quote}
% Les marges, l'interligne et la numérotation des pages sont adaptées
-% aux règles de présentation matérielle de la FESP. Les sections
-% suivantes décrivent les options et les commandes définies par la
-% classe.
+% aux règles de présentation de la FESP. La classe ne crée pas de page
+% de titre par défaut\footnote{%
+% Depuis la version 5.0 de la classe.}, %
+% sa production étant prise en charge par la FESP pour les thèses et
+% les mémoires. Si vous utilisez la classe pour un document qui
+% nécessite une page de titre, un examen de doctorat, un essai de
+% maitre
%
% \changes{5.0}{2018-04-24}{La classe ne crée plus de page de titre
-% suite à une nouvelle directive de la FESP.}
-% \begin{rem}
-% Depuis la version 5.0, la classe ne crée plus de page de titre
-% par défaut, sa production étant désormais prise en charge par la
-% FESP. Néanmoins, les fonctionnalités de composition d'une page
-% de titre demeurent disponibles dans la classe. Les commandes
-% pertinentes sont regroupées à l'\autoref{sec:pagetitre}.
-% \end{rem}
-%
-% \subsection{Options de la classe}
-% \label{sec:utilisation:options}
+% suite à une nouvelle directive de la FESP.}
+% \tipbox{Les fonctionnalités de composition d'une page de titre
+% demeurent disponibles dans la classe. Si votre document en nécessite
+% une, consultez l'\autoref{sec:pagetitre}.}
%
% Cette section passe en revue les \meta{options} que l'on peut
% spécifier au chargement de la classe. Les commandes mentionnées
% ci-dessous font quant à elles l'objet de la
% \autoref{sec:utilisation:commandes}.
%
-% \begin{DescribeMacro}{PhD,MSc,MA, ...}
-% Identifie le type de grade; consulter le \autoref{tab:grades} pour
-% la liste complète des options et les grades correspondants. La
-% déclaration d'un type de grade est obligatoire, sauf en cas de
-% l'utilisation de l'option |projet| (voir ci-dessous).
-% \end{DescribeMacro}
+% \begin{DescribeOption}{PhD,MSc,MA, ...}
+% Les options telles que |PhD|, |MSc| ou |MA| identifient le type de
+% grade; le \autoref{tab:grades} fournit la liste complète des
+% options et les grades correspondants. La déclaration d'un type de
+% grade est obligatoire, sauf en cas de l'utilisation de l'option
+% |projet| (voir ci-dessous).
+% \end{DescribeOption}
%
% \begin{table}[t]
% \centering
% \caption{Options de la classe pour la déclaration du grade et libellés
% correspondants}
% \label{tab:grades}
-% \begin{tabularx}{0.85\linewidth}{lX}
+% \begin{tabularx}{0.9\linewidth}{l>{\raggedright\arraybackslash}X}
% \toprule
% Option & Nom du grade (sigle) \\
% \midrule
@@ -355,145 +505,138 @@
% |MArch|
% & Maître en architecture
% (M.~Arch.) \\
-% |MA|
-% & Maître ès arts (M.A.) \\
% |LLM|
% & Maître en droit (LL.~M.) \\
% |MErg|
% & Maître en ergothérapie (M.~Erg.) \\
% |MMus|
% & Maître en musique (M.~Mus.) \\
-% |MPht|
-% & Maître en physiothérapie (M.~Pht.) \\
-% |MSc|
-% & Maître ès sciences (M.~Sc.) \\
+% |MPsEd|
+% & Maître en psychoéducation (M.~Ps.~éd.) \\
% |MScGeogr|
% & Maître en sciences géographiques (M.~Sc.~géogr.) \\
% |MServSoc|
% & Maître en service social (M.~Serv.~soc.) \\
-% |MPsEd|
-% & Maître en psychoéducation (M.~Ps.~éd.) \\
+% |MTravSoc|
+% & Maître en travail social (M.~Trav.~soc.) \\
+% |MA|
+% & Maître ès arts (M.A.) \\
+% |MSc|
+% & Maître ès sciences (M.~Sc.) \\
% \bottomrule
% \end{tabularx}
% \end{table}
%
-% \begin{DescribeMacro}{cotutelle}
-% Identifie une thèse effectuée en cotutelle avec une autre
-% université. Valide uniquement avec un grade de doctorat.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{bidiplomation}
-% Identifie un mémoire effectué en bidiplomation avec une autre
-% université. Valide uniquement avec un grade de maîtrise.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{examen}
-% Identifie un examen de doctorat. Cette option permet d'utiliser la
-% classe pour la rédaction d'un examen de doctorat respectant les
-% règles de présentation matérielle de la FESP. Elle a pour effet de
-% changer l'appellation «Thèse» sur la page de titre pour «Examen
-% de doctorat». Elle supprime également la page frontispice.
+% \begin{DescribeOption}{cotutelle}
+% L'option |cotutelle| identifie une thèse effectuée en cotutelle
+% avec une autre université. Valide uniquement avec un grade de
+% doctorat.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{bidiplomation}
+% L'option |bidiplomation| identifie un mémoire effectué en
+% bidiplomation avec une autre université. Valide uniquement avec un
+% grade de maîtrise.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{examen}
+% L'option |examen| identifie un examen de doctorat. Elle permet
+% d'utiliser la classe pour la rédaction d'un examen de doctorat
+% respectant les règles de présentation de la FESP. L'option a pour
+% effet de changer l'appellation «Thèse» sur la page de titre pour
+% «Examen de doctorat». Elle supprime également la page frontispice.
% L'option n'est compatible qu'avec l'une des options de grade de
% doctorat.
-% \end{DescribeMacro}
-%
-% \changes{5.0}{2018-05-09}{Ajout d'une option «essai» pour les
-% maîtrises analogue à «examen» pour les doctorats.}
-% \changes{5.2}{2019-05-06}{L'option «essai» n'empêche plus
-% l'utilisation d'une page frontispice.}
-% \begin{DescribeMacro}{essai}
-% Identifie un essai de maîtrise. Cette option permet d'utiliser la
-% classe pour la rédaction d'un essai de maîtrise respectant les
-% règles de présentation matérielle de la FESP. Elle a pour effet de
-% changer l'appellation «Maîtrise» sur la page de titre pour
-% «Essai». L'option n'est compatible qu'avec l'une des options de
+% \end{DescribeOption}
+%
+% \changes{5.0}{2018-05-09}{Ajout d'une option \texttt{essai} pour les
+% maîtrises analogue à \texttt{examen} pour les doctorats.}
+% \changes{5.2}{2019-05-06}{L'option \texttt{essai} n'empêche plus
+% l'utilisation d'une page frontispice.}
+% \begin{DescribeOption}{essai}
+% L'option |essai| identifie un essai de maîtrise. Elle permet
+% d'utiliser la classe pour la rédaction d'un essai de maîtrise
+% respectant les règles de présentation de la FESP. L'option a pour
+% effet de changer l'appellation «Maîtrise» sur la page de titre
+% pour «Essai». Elle n'est compatible qu'avec l'une des options de
% grade de maîtrise. Pour un essai de maîtrise, l'utilisation
% simultanée de l'option |article| de la classe \class{memoir} peut
% s'avérer tout indiquée.
-% \end{DescribeMacro}
-%
-% \changes{5.2}{2019-05-06}{Ajout d'une option «projet» pour les
-% cours de projet de recherche.}
-% \begin{DescribeMacro}{projet}
-% Identifie un projet de recherche. Cette option permet d'utiliser
-% la classe pour la rédaction d'un rapport de projet de recherche
-% respectant les règles de présentation matérielle de la FESP. Elle
-% a pour effet d'inscrire l'appellation «Projet de recherche» sur la
-% page de titre et de supprimer la mention du grade. L'utilisation
-% de cette option rend d'ailleurs non obligatoire la déclaration de
-% grade qui, si elle est présente, est simplement ignorée. Comme
-% pour un essai de maîtrise, l'utilisation simultanée de l'option
-% |article| de la classe \class{memoir} peut s'avérer tout indiquée
-% avec les cette option.
-% \end{DescribeMacro}
-%
-% \changes{5.3}{2019-11-29}{Ajout d'une option «stage» pour les
-% rapports de stage.}
-% \begin{DescribeMacro}{stage}
-% Identifie un rapport de stage. L'effet de cette option est
-% identique à celui de l'option |projet| à deux exceptions près:
-% l'inscription sur la page de titre est «Rapport de stage» et la
-% page frontispice est supprimée.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{10pt,11pt,12pt}
-% Sélectionne une taille de police de 10, 11 ou 12~points. Par
-% défaut la classe utilise une police de 11~points. Ces options
-% n'ont aucun effet sur la taille des polices des pages de titre.
-% \end{DescribeMacro}
-%
-% \changes{4.4}{2017-05-15}{Ajout de l'option bibchapitre.}
-% \changes{4.4}{2017-05-15}{Ajout de l'option bibsection.}
-% \begin{DescribeMacro}{bibchapitre}
-% \begin{DescribeMacro}{bibsection}
-% Permettent de composer une bibliographie distincte après chaque
-% fichier inséré dans le document avec \cmd{\include},
-% habituellement un chapitre; voir la
-% \autoref{sec:bibliographie:multiples}. Ces options sont
-% principalement utiles pour les thèses et mémoires par articles.
-% La bibliographie se présente sous la forme d'un chapitre non
-% numéroté avec |bibchapitre|, et sous la forme d'une section
-% numérotée avec |bibsection|.
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{nonatbib}
-% Empêche le chargement du paquetage \pkg{natbib}. La paquetage est
-% normalement chargé par la classe; voir la
+% \end{DescribeOption}
+%
+% \changes{5.2}{2019-05-06}{Ajout d'une option \texttt{projet} pour
+% les cours de projet de recherche.}
+% \begin{DescribeOption}{projet}
+% L'option |projet| identifie un projet de recherche. Elle permet
+% d'utiliser la classe pour la rédaction d'un rapport de projet de
+% recherche respectant les règles de présentation de la FESP.
+% L'option a pour effet d'inscrire l'appellation «Projet de
+% recherche» sur la page de titre et de supprimer la mention du
+% grade. Son utilisation rend d'ailleurs non obligatoire la
+% déclaration de grade qui, si elle est présente, est simplement
+% ignorée. Comme pour un essai de maîtrise, l'utilisation simultanée
+% de l'option |article| de la classe \class{memoir} peut s'avérer
+% tout indiquée avec cette option.
+% \end{DescribeOption}
+%
+% \changes{5.3}{2019-11-29}{Ajout d'une option \texttt{stage} pour les
+% rapports de stage.}
+% \begin{DescribeOption}{stage}
+% L'option |stage| identifie un rapport de stage. L'effet de cette
+% option est identique à celui de l'option |projet| à deux
+% exceptions près: l'inscription sur la page de titre est «Rapport
+% de stage» et la page frontispice est supprimée.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{10pt,11pt,12pt}
+% Les options |10pt|, |11pt| et |12pt| sélectionnent une taille de
+% police de 10, 11 ou 12~points. Par défaut la classe utilise une
+% police de 11~points. Ces options n'ont aucun effet sur la taille
+% des polices des pages de titre.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{nonatbib}
+% L'option |nonatbib| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}}. %
+% Celui-ci est normalement chargé par la classe; voir la
% \autoref{sec:bibliographie}. L'option |nonatbib| permet d'empêcher
-% le chargement pour modifier les options du paquetage ou en cas de
-% conflit avec un autre paquetage de mise en forme de la
-% bibliographie.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{nobabel}
-% Empêche le chargement du paquetage \pkg{babel}. La classe utilise
-% par défaut ce paquetage pour le traitement des langues dans le
-% document; voir la \autoref{sec:langues}. L'option |nobabel| permet
-% d'empêcher son chargement si un autre paquetage devait être
-% utilisé --- on pense ici principalement à \pkg{polyglossia} pour
-% un document produit avec le moteur {\XeLaTeX}.
-% \end{DescribeMacro}
-%
-% \changes{5.1}{2018-09-30}{Ajout de l'option nohyperref.}
-% \begin{DescribeMacro}{nohyperref}
-% Empêche le chargement du paquetage \pkg{hyperref}. L'interaction
-% de ce paquetage avec les autres est parfois --- voire souvent ---
-% délicate. La classe se charge de le charger en tout dernier tel
-% que généralement recommandé. L'option |nohyperref| permet
-% d'empêcher son chargement s'il est absolument nécessaire de
+% son chargement pour vous permettre de modifier les options du
+% paquetage ou en cas de conflit avec un autre paquetage de mise en
+% forme de la bibliographie.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{nobabel}
+% L'option |nobabel| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}}. %
+% La classe utilise par défaut ce paquetage pour le traitement des
+% langues dans le document; voir la \autoref{sec:langues}. L'option
+% |nobabel| permet d'empêcher son chargement si un autre paquetage
+% devait être utilisé~--- on pense ici principalement à %
+% \href{https://ctan.org/pkg/polyglossia}{\pkg{polyglossia}} %
+% pour un document produit avec le moteur {\XeLaTeX}.
+% \end{DescribeOption}
+%
+% \changes{5.1}{2018-09-30}{Ajout de l'option \texttt{nohyperref}.}
+% \begin{DescribeOption}{nohyperref}
+% L'option |nohyperref| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/hyperref}{\pkg{hyperref}}. %
+% L'interaction de ce paquetage avec les autres est parfois~---
+% voire souvent~--- délicate. La classe tâche de le charger en tout
+% dernier, tel que généralement recommandé. L'option |nohyperref|
+% permet d'empêcher son chargement s'il est absolument nécessaire de
% charger d'autres paquetages avant \pkg{hyperref}. Si vous utilisez
% cette option, vous devez obligatoirement charger \pkg{hyperref}
% dans le préambule du document.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{english, french, ...}
-% Déclare les langues utilisées dans le document. Ces options sont
-% transférées au paquetage \pkg{babel} (dans la mesure où |nobabel|
-% n'est pas spécifié, bien entendu). Le libellé des langues devrait
-% donc correspondre aux options de \pkg{babel}. La dernière langue
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{english, french, ...}
+% Les options telles que |english|, |french| ou autres déclarent les
+% langues utilisées dans le document. Ces options sont transférées
+% au paquetage \pkg{babel} (dans la mesure où |nobabel| n'est pas
+% spécifié, bien entendu). Le libellé des langues devrait donc
+% correspondre aux options de \pkg{babel}. La dernière langue
% spécifiée est la langue active par défaut dans le document.
-% \end{DescribeMacro}
+% \end{DescribeOption}
%
% Toute autre option sera passée à la classe \class{memoir} dont,
% entre autres, le format du papier. Le format lettre nord-américain
@@ -505,14 +648,14 @@
% \subsection{Commandes de la classe}
% \label{sec:utilisation:commandes}
%
-% La classe \class{ulthese} définit quelques nouvelles commandes
+% La classe {\ulclass} définit quelques nouvelles commandes
% servant principalement à créer la page frontispice et des éléments
% des pages liminaires. Le sommaire des commandes se trouve dans le
% \autoref{tab:commandes} et les descriptions détaillées, ci-dessous.
%
% \begin{table}[t]
% \centering
-% \caption{Sommaire des commandes de la classe \class{ulthese}.
+% \caption{Sommaire des commandes de la classe {\ulclass}.
% Celles marquées d'une étoile $^\star$ sont obligatoires.}
% \label{tab:commandes}
% \begin{tabularx}{\linewidth}{lX}
@@ -533,12 +676,13 @@
% \end{table}
%
% \begin{DescribeMacro}{\titre}
-% Titre principal de la thèse ou du mémoire. Ne pas utiliser la
-% commande \cmd{\title} de {\LaTeX} pour ce faire.
+% La commande \cmdprint{\titre} sert à spécifier le titre principal
+% du manuscrit. Vous ne devez pas utiliser la commande \cmd{\title}
+% de {\LaTeX} pour ce faire.
%
-% Vous devez couper manuellement avec |\\| ou \cmd{\newline} un
-% titre très long. Par exemple, la déclaration d'un titre d'une
-% seule ligne est:
+% Coupez manuellement avec {\bs\bs} ou \cmd{\newline} un titre très
+% long. Par exemple, la déclaration d'un titre d'une seule ligne
+% est:
% \begin{quote}
% |\titre{Ceci est un titre d'une seule ligne}|
% \end{quote}
@@ -550,48 +694,51 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\soustitre}
-% Sous-titre de la thèse ou du mémoire, le cas échéant. Les remarques
-% sur un long titre principal s'appliquent également au sous-titre.
+% La commande \cmdprint{\soustitre} sert à spécifier le sous-titre
+% du manuscrit, le cas échéant. Les remarques sur un long titre
+% principal s'appliquent également au sous-titre.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\auteur}
-% Nom complet de l'auteur de la thèse ou du mémoire, sous la forme
-% |Prénom Nom| avec seulement des majuscules initiales. Ne pas
-% utiliser la commande \cmd{\author} de {\LaTeX} pour le nom de
-% l'auteur.
+% La commande \cmdprint{\auteur} permet de saisir le nom complet de
+% l'auteur de la thèse ou du mémoire, sous la forme |Prénom Nom|
+% avec seulement des majuscules initiales. N'utilisez pas la
+% commande \cmd{\author} de {\LaTeX} pour le nom de l'auteur.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\programme}
-% Nom complet officiel du programme d'études comme «Doctorat en
-% informatique» ou «Maîtrise en mathématiques». Si le programme
-% comporte une majeure, séparer sa mention de celle du programme
-% principal par un tiret demi-quadratin (obtenu avec |--|).
+% La commande \cmdprint{\programme} sert à spécifier le nom complet
+% officiel du programme d'études comme «Doctorat en informatique» ou
+% «Maîtrise en mathématiques». Si le programme comporte une majeure,
+% séparez sa mention de celle du programme principal par un tiret
+% demi-quadratin (obtenu avec |--|).
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\direction}
-% Nom complet du directeur ou de la directrice de recherche, sous la
-% forme |Prénom Nom| avec seulement des majuscules initiales, suivi
-% d'une virgule et de la mention «directeur de recherche» ou
-% «directrice de recherche».
+% La commande \cmdprint{\direction} sert à spécifier le nom complet
+% du directeur ou de la directrice de recherche, sous la forme
+% |Prénom Nom| avec seulement des majuscules initiales, suivi d'une
+% virgule et de la mention «directeur de recherche» ou «directrice
+% de recherche».
%
% Les thèses en cotutelle comportent un directeur ou une directrice
% de recherche et un directeur ou une directrice de cotutelle.
-% Séparer chaque mention par |\\|, comme ceci:
+% Séparez chaque mention par {\bs\bs}, comme ceci:
% \begin{quote}
% |\direction{Prénom Nom, directrice de recherche \\| \\
% | Prénom Nom, directeur de cotutelle}|
% \end{quote}
%
% De même, les maîtrises en bidiplomation comptent deux directeurs
-% ou directrices de recherche. Séparer chaque mention tel que
+% ou directrices de recherche. Séparez chaque mention tel que
% mentionné ci-dessus.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\codirection}
-% Comme la commande \cmd{\direction}, mais pour le ou les
-% codirecteurs de recherche, s'il y a lieu. Lorsqu'il y a plus d'un
-% codirecteur de recherche, séparer chaque mention par |\\|, comme
-% ceci:
+% La commande \cmdprint{\codirection} joue le même rôle que la
+% commande \cmdprint{\direction}, mais pour le ou les codirecteurs
+% de recherche, s'il y a lieu. Lorsqu'il y a plus d'un codirecteur
+% de recherche, séparez chaque mention par {\bs\bs}, comme ceci:
% \begin{quote}
% |\codirection{Prénom Nom, directrice de recherche \\| \\
% | Prénom Nom, directeur de recherche}|
@@ -599,27 +746,30 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\frontispice}
-% Création de la page frontispice. De toutes les commandes
-% ci-dessus, c'est la seule qui doit se trouver dans le corps du
-% document plutôt que dans le préambule.
+% La commande \cmdprint{\frontispice} crée la page frontispice à
+% l'endroit où elle apparait dans le code source. De toutes les
+% commandes ci-dessus, c'est la seule qui doit se trouver dans le
+% corps du document plutôt que dans le préambule.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\dedicace}
-% Ajout d'une dédicace («À mes parents», «À Camille») à la thèse ou
-% au mémoire. La dédicace est disposée seule sur une page liminaire,
-% à une dizaine de lignes de la marge du haut et alignée à droite.
-% Par défaut, elle est composée en italique.
+% La commande \cmdprint{\dedicace} permet d'insérer une dédicace («À
+% mes parents», «À Camille») à l'endroit où elle apparait dans le
+% code source. La dédicace est disposée seule sur une page
+% liminaire, à une dizaine de lignes de la marge du haut et alignée
+% à droite. Par défaut, elle est composée en italique.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\epigraphe}
-% Ajout d'une épigraphe au début du document. Comme la dédicace,
-% l'épigraphe est disposée seule sur une page liminaire, à une
-% dizaine de lignes de la marge du haut et alignée à droite. La
-% commande accepte deux arguments, soit le texte de la citation et
-% son auteur ou la source, dans l'ordre.
-%
-% Pour ajouter une épigraphe au début d'un ou plusieurs chapitres,
-% utiliser directement la commande \cmd{\epigraph} de
+% La commande \cmdprint{\epigraphe} permet d'insérer une épigraphe
+% au début du document. Comme la dédicace, l'épigraphe est disposée
+% seule sur une page liminaire, à une dizaine de lignes de la marge
+% du haut et alignée à droite. La commande accepte deux arguments,
+% soit le texte de la citation et son auteur ou la source, dans
+% l'ordre.
+%
+% Pour ajouter une épigraphe au début d'un ou de plusieurs
+% chapitres, utilisez directement la commande \cmd{\epigraph} de
% \class{memoir}, sur laquelle \cmd{\dedicace} et \cmd{\epigraphe}
% sont d'ailleurs basées.
% \end{DescribeMacro}
@@ -640,8 +790,8 @@
% L'environnement |quotation|, quant à lui, doit être utilisé pour
% les citations «longues», celles qui peuvent s'étendre sur plus de
% cinq lignes ou, surtout, plus d'un paragraphe. Dans la classe, le
-% texte est alors toujours placé en retrait de 10~mm, mais également
-% à interligne simple. De plus, un espace vertical sépare les
+% texte est alors toujours placé en retrait de 10~mm, mais aussi à
+% interligne simple. De plus, un espace vertical sépare les
% paragraphes, le cas échéant, afin de bien les distinguer les uns
% des autres.
% \end{DescribeEnv}
@@ -658,8 +808,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\SingleSpacing}
-% Si ce devait être nécessaire ailleurs dans le document, la
-% commande \cmd{\SingleSpacing} permet de passer à l'interligne simple.
+% Si ce devait être nécessaire ailleurs dans le document, vous
+% pouvez avoir recours à la commande \cmd{\SingleSpacing} pour
+% passer à l'interligne simple.
% \end{DescribeMacro}
%
% \subsection{Hyperliens}
@@ -680,58 +831,44 @@
% \subsection{Autres paquetages chargés}
% \label{sec:paquetages}
%
-% Outre \class{memoir}, la classe \class{ulthese} charge quelques
-% paquetages qui peuvent aussi vous être utiles. Il n'est donc pas
-% nécessaire de charger de nouveau les paquetages suivants:
-% \begin{description}
-% \item[\normalfont\pkg{babel}] \citep{babel} gestion des documents
-% rédigés dans une ou plusieurs langues autres que l'anglais (si
-% l'option |nobabel| de la classe est absente; voir aussi la
-% \autoref{sec:langues});
-% \item[\normalfont\pkg{numprint}] \citep{numprint} requis par la
-% commande \cmd{\nombre} de \pkg{babel}; le paquetage est donc
-% chargé uniquement si \pkg{babel} l'est. Permet de composer
-% automatiquement des nombres avec un séparateur toutes les trois
-% positions (une espace en français);
-% \item[\normalfont\pkg{natbib}] \citep{natbib} gestion de la
-% bibliographie (si l'option |nonatbib| de la classe est absente;
-% voir aussi la \autoref{sec:bibliographie});
-% \item[\normalfont\pkg{chapterbib}] \citep{chapterbib} gestion de
-% bibliographies multiples (si l'une ou l'autre des options
-% |bibchapitre| ou |bibsection| est spécifiée;
-% voir aussi la \autoref{sec:bibliographie:multiples});
-% \item[\normalfont\pkg{hyperref}] \citep{hyperref} permet de
-% transformer toutes les références en hyperliens cliquables lorsque
-% le document est produit avec pdf{\LaTeX} ou {\XeLaTeX} (si
-% l'option |nohyperref| est spécifiée, vous devez obligatoirement
-% charger le paquetage vous-même);
-% \item[\normalfont\pkg{etoolbox}] \citep{etoolbox} outils
-% additionnels pour la conception de classes et de paquetages
-% (utilisé pour le chargement de \pkg{hyperref});
-% \item[\normalfont\pkg{fontspec}] \citep{fontspec} gestion des
-% polices OpenType sous {\XeLaTeX} (chargé avec ce moteur
-% seulement);
-% \item[\normalfont\pkg{graphicx}] \citep{graphicx} insertion et
-% manipulation de graphiques;
-% \item[\normalfont\pkg{xcolor}] \citep{xcolor} gestion des couleurs
-% dans le document, notamment celle des hyperliens;
-% \item[\normalfont\pkg{textcomp}] multitude de symboles spéciaux,
-% dont un beau symbole de copyright, \textcopyright.
-% \end{description}
-% L'\autoref{sec:meo} sur la mise en œuvre de la classe fournit
-% plus de détails sur la liste des paquetages chargés et les raisons
-% pour lesquelles ils sont requis dans la classe.
+% \changes{6.0}{2024-06-17}{Documentation: simplification de la
+% section sur les autres paquetages chargés par la classe.}
+% La classe {\ulclass} charge par défaut les paquetages suivants qui
+% peuvent vous être utiles: %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}} (voir aussi la \autoref{sec:langues}) %
+% \href{https://ctan.org/pkg/fontspec}{\pkg{fontspec}}, %
+% \href{https://ctan.org/pkg/graphicx}{\pkg{graphicx}}, %
+% \href{https://ctan.org/pkg/hyperref}{\pkg{hyperref}}, %
+% \href{https://ctan.org/pkg/microtype}{\pkg{microtype}}, %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}} (voir aussi la
+% \autoref{sec:bibliographie}), %
+% \href{https://ctan.org/pkg/numprint}{\pkg{numprint}}, %
+% \href{https://ctan.org/pkg/xcolor}{\pkg{xcolor}}. %
+% Tel que mentionné précédemment, la classe est basée sur
+% \class{memoir} qui, elle-même, incorpore d'office une trentaine de
+% paquetages\footnote{%
+% Consultez la section~18.24 de la documentation de \class{memoir}
+% pour la liste, ou encore le journal de la compilation (\emph{log})
+% d'un document utilisant la classe {\ulclass}.}. %
+% L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
+% dans {\ulclass}.
+%
+% L'\autoref{sec:meo} sur la mise en œuvre de la classe fournit la
+% liste détaillée des paquetages chargés et les raisons pour
+% lesquelles ils sont requis dans la classe.
%
% \subsection{Paquetage incompatible}
% \label{sec:incompatible}
%
-% Le paquetage \pkg{geometry} est incompatible avec la classe à cause
-% de sa mauvaise interaction avec \class{memoir}. Son chargement dans
-% le préambule du document cause une erreur lors de la compilation.
+% Le paquetage %
+% \href{https://ctan.org/pkg/geometry}{\pkg{geometry}} %
+% est incompatible avec la classe à cause de sa mauvaise interaction
+% avec \class{memoir}. Son chargement dans le préambule du document
+% cause une erreur lors de la compilation.
%
% \section{Thèses et mémoires par articles}
% \changes{5.0}{2018-06-08}{Ajout d'une section spécifique sur les
-% thèses et mémoires par articles.}
+% thèses et mémoires par articles.}
%
% La rédaction de la thèse ou du mémoire par articles est une pratique
% qui gagne en popularité. Elle consiste à remplacer le corps
@@ -741,167 +878,54 @@
% du mémoire (le cas échéant) y apparaissent sous forme de
% sections numérotées.
%
-% L'autre caractéristique qui distingue la thèse et le mémoire par
-% articles des versions standards, c'est la nécessité d'utiliser une
-% bibliographie distincte pour chacun des chapitres. Les options de la
-% classe |bibchapitre| et |bibsection| permettent de réaliser cette
-% mise en forme particulière. La \autoref{sec:bibliographie:multiples}
-% explique comment en tirer profit.
-%
% Des gabarits de document maître et de chapitre fournissent la
% structure de base pour la thèse et le mémoire par articles. Vous
% pouvez, au besoin, combiner les caractéristiques de ces gabarits à
-% celles de la thèse en cotutelle ou du mémoire en bidiplomation. La
-% \autoref{sec:gabarits} fournit les détails sur les gabarits.
+% celles de la thèse en cotutelle ou du mémoire en bidiplomation.
%
-% \section{Français et autres langues}
-% \label{sec:langues}
-%
-% Une complication additionnelle si vous rédigez dans une langue autre
-% que l'anglais consiste à adapter {\LaTeX} à votre langue, qu'il
-% s'agisse des mots clés, de la typographie ou de la césure des mots.
-% La solution standard à ce problème provient du paquetage
-% \pkg{babel}. Celui-ci permet de combiner plusieurs langues dans un
-% même document et de passer de l'une à l'autre facilement. Il est
-% chargé par défaut par la classe \class{ulthese}.
-%
-% Aucune langue n'est spécifiée dans la classe. Vous aurez sans doute
-% recours à l'anglais et au français, ne serait-ce que pour les deux
-% résumés demandés par la FESP. Vous devez spécifier les langues
-% utilisées dans le document en options à la classe, tel que mentionné
-% à la \autoref{sec:utilisation:options}. La \emph{dernière} langue
-% spécifiée devient par défaut la langue active du document.
-%
-% \begin{DescribeMacro}{\selectlanguage}
-% La commande \cmd{\selectlanguage} de \pkg{babel} permet de passer de
-% la langue courante à la langue spécifiée en argument.
-% \end{DescribeMacro}
-%
-% \begin{DescribeEnv}{otherlanguage}
-% L'environnement |otherlanguage| de \pkg{babel} permet de faire
-% la même chose que la commande \cmd{\selectlanguage}, sauf que le
-% changement de langue est local à l'environnement --- utile pour
-% les brefs changements de langue.
-% \end{DescribeEnv}
-%
-% Si vous n'êtes pas autrement familier avec le paquetage
-% \pkg{babel}, consultez sa %
-% \doc{http://texdoc.net/pkg/babel/}. %
-% Celle-ci est éclatée en un
-% document principal, pour le cœur du paquetage et plusieurs
-% autres pour les fonctionnalités propres à une langue: %
-% \doc[anglais]{http://texdoc.net/pkg/babel-english}, %
-% \doc[français]{http://texdoc.net/pkg/babel-french}, %
-% etc. Consultez au moins les documents consacrés aux
-% langues utilisées dans votre thèse ou mémoire. Le plus simple
-% consiste sans doute à consulter en ligne sur CTAN les
-% \link{https://mirrors.ctan.org/tex-archive/macros/latex/required/babel/contrib/}{%
-% documents spécifiques par langue}.
-% \changes{4.4}{2017-05-14}{Correction d'une url vers la documentation
-% de babel.}
-%
-% \begin{DescribeMacro}{\nombre}
-% Le paquetage \pkg{numprint} étant chargé dans la classe avec
-% \pkg{babel}, vous pouvez utiliser la commande \cmd{\nombre} pour
-% formater automatiquement les nombres. Par exemple, le résultat de
-% |\nombre{123456789}| est \nombre{123456789}.
-% \end{DescribeMacro}
-%
-% Les utilisateurs de {\XeLaTeX} qui souhaiteraient plutôt utiliser le
-% plus récent paquetage \pkg{polyglossia} \citep{polyglossia} peuvent
-% empêcher le chargement de \pkg{babel} avec l'option |nobabel| de la
-% classe. Ils devront toutefois charger et configurer
-% \pkg{polyglossia} eux-mêmes dans l'entête de leur document. Ce
-% paquetage est moins évolué que \pkg{babel} pour la typographie
-% française.
+% \tipbox{À l'automne~2023, la FESP a retiré l'exigence de produire
+% une bibliographie par chapitre pour les thèses et mémoires par
+% articles. La thèse ou le mémoire doit désormais contenir une seule
+% bibliographie regroupant l’ensemble des références du document.}
%
% \section{Bibliographie}
% \label{sec:bibliographie}
+% \changes{6.0}{2024-05-22}{Documentation: suppression de la section
+% sur les bibliographies multiples.}
+% \changes{6.0}{2024-06-19}{Documentation: inversion des sections sur
+% la bibliographie et sur la rédaction en français.}
%
% \begin{DescribeMacro}{\bibliography}
-% Tel qu'expliqué au chapitre~8 de \citet{formation-latex-ul},
-% il est fortement recommandé d'utiliser {\BibTeX} pour la
+% Il est fortement recommandé d'utiliser {\BibTeX} pour la
% préparation de la bibliographie d'un document. Celle-ci est
% insérée dans le document à l'endroit où apparait la commande
% \cmd{\bibliography} dans le code source. Cette commande prend en
-% arguments les noms des bases de données bibliographiques séparés
+% arguments les noms des bases de données bibliographiques, séparés
% par des virgules.
% \end{DescribeMacro}
%
% \subsection{Mise en forme des citations}
% \label{sec:bibliographie:options}
%
-% Dans la classe \class{ulthese}, la mise en forme des citations est
-% confiée au paquetage \pkg{natbib} (à moins que l'option |nonatbib|
-% ne soit spécifiée). Le paquetage est chargé avec les options par
-% défaut, soit |round|, |semicolon| et |authoryear|. Pour spécifier
-% d'autres options, vous avez deux possibilités:
-% \begin{enumerate}
-% \item utiliser l'option |nonatbib| de la classe et ensuite charger
-% explicitement \pkg{natbib} avec ses options;
-% \item
-% \begin{DescribeMacro}{\setcitestyle}
-% utiliser la commande \cmd{\setcitestyle} pour passer de
-% nouvelles options à \pkg{natbib}.
-% \end{DescribeMacro}
-% \end{enumerate}
+% \begin{DescribeMacro}{\setcitestyle}
+% Dans la classe {\ulclass}, la mise en forme des citations est
+% confiée au paquetage %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}} %
+% (à moins que l'option |nonatbib| ne soit spécifiée). Le paquetage
+% est chargé avec les options par défaut, soit |round|, |semicolon|
+% et |authoryear|. Pour spécifier d'autres options utilisez la
+% commande \cmd{\setcitestyle} pour passer de nouvelles options à
+% \pkg{natbib}.
+% \end{DescribeMacro}
%
% Par exemple, pour utiliser un style de citation numérique où le
-% numéro de la référence se trouve entre crochets, vous pouvez
-% procéder de l'une ou l'autre des deux manières suivantes:
-% \begin{quote}
-% |\documentclass[nonatbib]{ulthese}| \\
-% |\usepackage[numbers,square]{natbib}| \\
-% |...| \\
-% |\bibliographystyle{plain-fr}|
-% \end{quote}
-% ou
+% numéro de la référence se trouve entre crochets, insérez la commande
+% suivante dans le préambule:
% \begin{quote}
-% |\documentclass{ulthese}| \\
-% |...| \\
-% |\setcitestyle{numbers,square}| \\
-% |\bibliographystyle{plain-fr}|
+% |\setcitestyle{numbers,square}|
% \end{quote}
%
-% Consultez la %
-% \doc{http://texdoc.net/pkg/natbib/} %
-% de \pkg{natbib} pour les détails.
-%
-% \subsection{Bibliographies multiples}
-% \label{sec:bibliographie:multiples}
-%
-% L'ajout de |bibchapitre| ou de |bibsection| dans les options de la
-% classe permet de générer une bibliographie distincte pour chaque
-% chapitre, une chose particulièrement utile pour les thèses et
-% mémoire par articles.
-%
-% La classe fait appel au paquetage \pkg{chapterbib}
-% \citep{chapterbib} pour composer des bibliographies multiples. La
-% \doc{http://texdoc.net/pkg/chapterbib/} du paquetage
-% explique la procédure à suivre pour obtenir une bibliographie par
-% chapitre avec {\BibTeX}. En résumé:
-% \begin{enumerate}
-% \item chaque chapitre comportant sa propre bibliographie doit
-% absolument être inséré dans le document principal avec la commande
-% \cmd{\include} \citep[section~3.5]{formation-latex-ul};
-% \item chaque fichier visé doit contenir une commande
-% \cmd{\bibliographystyle} (\autoref{sec:bibliographie:style}) et
-% une commande \cmd{\bibliography};
-% \item on obtient les diverses bibliographies en compilant avec
-% {\BibTeX} les fichiers individuels, et non le document maître.
-% \end{enumerate}
-%
-% La plupart des auteurs préféreront sans doute l'effet de l'option
-% |bibsection|, où la bibliographie apparait comme une section normale
-% à la fin d'un chapitre. Lorsque \pkg{babel} est chargé, la section
-% sera numérotée. Pour supprimer la numérotation, insérer dans le
-% préambule du document la commande
-% \begin{quote}
-% |\addto\extras|\meta{langue}|{\renewcommand{\bibsection}{%| \\
-% | \section*{\bibname}\prebibhook}}|
-% \end{quote}
-% où \meta{langue} est la langue par défaut du document
-% (\autoref{sec:langues}).
+% Consultez la documentation de \pkg{natbib} pour plus de détails.
%
% \subsection{Style de la bibliographie}
% \label{sec:bibliographie:style}
@@ -909,423 +933,142 @@
% \begin{DescribeMacro}{\bibliographystyle}
% Le format général de la bibliographie est contrôlé par un
% \emph{style} choisi avec la commande \cmd{\bibliographystyle} dans
-% le préambule du document ou dans les fichiers de chaque chapitre
-% dans une thèse ou un mémoire par articles. Les styles standards de
-% {\LaTeX} sont |plain|, |unsrt|, |alpha| et |abbrv|.
+% le préambule du document. Les styles standards de {\LaTeX} sont
+% |plain|, |unsrt|, |alpha| et |abbrv|.
% \end{DescribeMacro}
%
-% Le paquetage \pkg{natbib} chargé par défaut par la classe supporte
-% le style de citation auteur-année fréquemment employé en sciences
-% naturelles, plusieurs commandes de citation, un grand nombre de
-% styles de bibliographie ainsi que des entrées spécifiques pour les
-% numéros ISBN et les URL. Le paquetage fournit des styles de
-% bibliographie |plainnat|, |unsrtnat| et |abbrvnat| similaires aux
-% styles standards, mais plus complets. Il existe des
-% \link{https://mirrors.ctan.org/biblio/bibtex/contrib/bib-fr/}{versions
-% francisées} de ces styles (et de quelques autres) dans CTAN.
-%
-% Le paquetage \pkg{francais-bst} \citep{francais-bst} fournit une
-% feuille de style compatible avec \pkg{natbib} permettant de composer
-% des bibliographies auteur-année respectant les normes de typographie
-% française proposées dans \cite{Malo:1996}. Pour utiliser ce style,
-% spécifier dans le préambule du document LaTeX
-% \begin{quote}
-% |\bibliographystyle{francais}|
-% \end{quote}
+% Le paquetage \pkg{natbib} prend en charge le style de citation
+% auteur-année fréquemment employé en sciences naturelles, plusieurs
+% commandes de citation, un grand nombre de styles de bibliographie,
+% ainsi que des entrées spécifiques pour les numéros ISBN et les
+% adresses URL. Le paquetage fournit des styles de bibliographie
+% |plainnat|, |unsrtnat| et |abbrvnat| similaires aux styles
+% standards, mais plus complets. Il existe des %
+% \href{https://ctan.org/pkg/bib-fr}{versions francisées} %
+% de ces styles (et de quelques autres) dans CTAN.
+%
+% Les styles \code{francais} et \code{francaissc} du paquetage %
+% \href{https://ctan.org/pkg/francais-bst}{\pkg{francais-bst}} %
+% permettent de composer des bibliographies auteur-année respectant
+% les normes de typographie française. Ils sont compatibles avec
+% \pkg{natbib} et plus modernes que les styles mentionnés ci-dessus.
%
% Autrement, la FESP n'a pas d'exigences particulières quant à la
% présentation de la bibliographie (présentation du titre, des auteurs
% et autres informations bibliographiques).
%
-% \section{Police de caractères du document}
-% \label{sec:police}
-%
-% Les documents {\LaTeX} sont facilement reconnaissables par leur
-% police de caractères par défaut, {\fontfamily{cmr}\selectfont
-% Computer Modern}. Avec toute distribution {\LaTeX} moderne, il est
-% maintenant simple d'utiliser l'une ou l'autre des polices PostScript
-% standards. D'ailleurs la classe \class{ulthese} utilise la police
-% sans empattements \textsf{Helvetica} pour composer les pages de
-% titre.
-%
-% La FESP permet l'utilisation des polices Times, Palatino (la police
-% du présent document) et Lucida~Bright dans les thèse et mémoires.
-% \citet[section~10.2]{formation-latex-ul} explique comment utiliser ces
-% polices dans votre document.
-%
-% \section{Gabarits}
-% \label{sec:gabarits}
-%
-% Afin de vous épauler dans la préparation de votre manuscrit, la
-% classe \class{ulthese} est livrée avec un ensemble de gabarits. Tout
-% d'abord, pour le document maître de différents types de thèses et de
-% mémoires:
-% \begin{itemize}[noitemsep]
-% \item |gabarit-doctorat.tex|;
-% \item |gabarit-doctorat-articles.tex|;
-% \item |gabarit-doctorat-cotutelle.tex|;
-% \item |gabarit-maitrise.tex|;
-% \item |gabarit-maitrise-articles.tex|;
-% \item |gabarit-maitrise-bidiplomation.tex|.
-% \end{itemize}
-% Ensuite, pour quelques parties d'un document:
-% \begin{itemize}[noitemsep]
-% \item |resume.tex|;
-% \item |abstract.tex|;
-% \item |remerciements.tex|;
-% \item |avantpropos.tex|;
-% \item |introduction.tex|;
-% \item |chapitre1.tex|;
-% \item |chapitre1-articles.tex|;
-% \item |chapitre2.tex|;
-% \item |chapitre2-articles.tex|;
-% \item |conclusion.tex|;
-% \item |annexe.tex|.
-% \end{itemize}
-% Vous pourriez devoir combiner les caractéristiques de deux gabarits
-% de document maître comme, par exemple, pour une thèse en cotutelle
-% par articles.
-%
-% Les gabarits comportent des commentaires succincts pour vous guider
-% dans leur utilisation. Les sections suivantes fournissent des
-% détails additionnels, et ce, dans l'ordre où les commandes
-% apparaissent dans les fichiers.
-%
-% \begin{rem}
-% Il n'y a pas de gabarit spécifique pour un examen de doctorat,
-% pour un essai de maîtrise, pour un projet de recherche ou pour un
-% rapport de stage. Utilisez un gabarit de thèse ou de maîtrise et
-% inscrivez l'option |examen|, |essai|, |projet| ou |stage| dans la
-% commande \cmd{\documentclass}.
-% \end{rem}
-%
-% \subsection{Encodage des fichiers}
-%
-% Composer en {\LaTeX} de longs textes dans une langue ayant recours
-% aux signes diacritiques devient rapidement pénible si l'on utilise
-% des commandes telles que |\'e|, |\`a| ou |\"o| pour entrer des lettres
-% accentuées. Afin de pouvoir plutôt entrer directement |é|, |à| ou
-% |ö|, {\LaTeX} doit être configuré pour reconnaître les lettres
-% accentuées. C'est le rôle du paquetage \pkg{inputenc}
-% \citep{inputenc}.
-%
-% Il existe plusieurs manières différentes d'encoder --- ou
-% d'enregistrer --- les lettres accentuées et autres caractères
-% spéciaux (comme, par exemple, le symbole de l'euro) dans un
-% ordinateur. La méthode la plus répandue et celle standard sur les
-% versions récentes des systèmes d'exploitation Linux et macOS est
-% l'UTF-8 de la norme
-% \link{https://fr.wikipedia.org/wiki/Unicode}{Unicode}. Les gabarits
-% sont livrés dans ce type d'encodage.
-%
-% La déclaration
-% \begin{quote}
-% |\usepackage[utf8]{inputenc}|
-% \end{quote}
-% dans le préambule assure que {\LaTeX} traitera correctement des
-% fichiers source encodés en UTF-8.
-%
-% La norme Unicode n'est pas aussi uniformément supportée par Windows.
-% Selon l'éditeur de texte employé et la version du système
-% d'exploitation, il peut être nécessaire d'utiliser les normes
-% d'encodage %
-% \link{https://fr.wikipedia.org/wiki/ISO_8859-1}{ISO~8859-1} %
-% (ou Latin-1; option |latin1| de \pkg{inputenc}), %
-% \link{https://fr.wikipedia.org/wiki/ISO_8859-15}{ISO~8859-15} %
-% (ou Latin-9; option |latin9|) ou %
-% \link{https://fr.wikipedia.org/wiki/Windows-1252}{Windows-1252} %
-% (options |cp1252| ou |ansinew|).
-%
-% La situation est plus simple avec {\XeLaTeX} puisqu'il gère
-% nativement Unicode. Le paquetage \pkg{inputenc} est non seulement
-% inutile, mais incompatible avec {\XeLaTeX}. C'est pourquoi, dans les
-% gabarits, \pkg{inputenc} est chargé seulement lorsque {\XeTeX}
-% n'est pas le moteur employé pour compiler le document.
-%
-% \subsection{Paquetages additionnels}
-%
-% Tel qu'expliqué à la \autoref{sec:paquetages}, la classe charge déjà
-% quelques paquetages. Cependant, il est fort probable que vous devrez
-% en charger d'autres pour composer votre document. Les gabarits
-% prévoient un endroit pour le chargement de paquetages additionnels.
-%
-% Si vous utilisez un paquetage non standard dans les distributions
-% courantes (\TeX~Live, Mac\TeX, MiK\TeX), vous devez le fournir avec
-% le code source de votre document lors du dépôt final.
-%
-% \subsection{Changement de police de caractères}
-%
-% Les gabarits comportent des déclarations types pour utiliser les
-% polices Palatino ou Times sous {\LaTeX} ou, sous {\XeLaTeX}, leurs
-% équivalents Pagella et Termes du projet
-% \link{https://www.gust.org.pl/projects/e-foundry/tex-gyre/}{TeX~Gyre}.
-%
-% \subsection{Options de \pkg{babel}}
-%
-% \begin{DescribeMacro}{\frenchbsetup}
-% La commande \cmd{\frenchbsetup} de \pkg{babel} permet de contrôler
-% certains ajustements typographiques apportés par le paquetage en
-% mode français. Consultez la documentation de \pkg{babel} pour la
-% liste des options de configuration disponibles.
-% \end{DescribeMacro}
-%
-% Les concepteurs de la classe \class{ulthese} proposent trois
-% ajustements dans les gabarits:
-% \begin{enumerate}
-% \item l'option |StandardItemizeEnv=true| évite que le mode français de
-% \pkg{babel} ne diminue l'espacement vertical dans les listes;
-% \item l'option |ThinSpaceInFrenchNumbers=true| fait en sorte qu'une espace fine
-% sera utilisée comme séparateur des milliers dans les nombres plutôt
-% qu'une espace pleine;
-% \item les options |og=«| et |fg=»| déclarent que les caractères « et
-% » utilisés dans le code source représentent les guillemets ouvrant
-% et fermant, respectivement. Cela évite de devoir utiliser les
-% commandes \cmd{\og} et \cmd{\fg} de \pkg{babel} tout en bénéficiant de
-% l'ajutement automatique des espaces autour des symboles.
-% \end{enumerate}
-% Vous devez évidemment désactiver ces ajustements si l'option
-% |nobabel| est spécifiée au chargement de la classe.
+% \section{Français et autres langues}
+% \label{sec:langues}
%
-% \subsection{Style de la bibliographie}
-% \label{sec:bibliographystyle}
-%
-% Tel qu'expliqué à la \autoref{sec:bibliographie:style}, la commande
-% \cmd{\bibliographystyle} permet de définir le mode de citation dans
-% le texte et la présentation des notices bibliographiques. Cette
-% commande devrait figurer dans les fichiers des chapitres
-% individuels dans une thèse ou un mémoire par articles.
-%
-% \subsection{Déclarations de la page frontispice}
-%
-% Les gabarits comportent toutes les déclarations nécessaires pour
-% composer la page frontispice des divers types de thèse ou de
-% mémoires. Vous devez remplacer les éléments se trouvant entre
-% crochets |< >| en respectant la forme indiquée. Assurez-vous de
-% supprimer les caractères |<| et |>| afin qu'ils n'apparaissent pas
-% sur la page frontispice de votre document.
-%
-% \subsection{Pages liminaires}
-%
-% \begin{DescribeMacro}{\frontmatter}
-% La commande \cmd{\frontmatter} déclare que {\LaTeX} doit considérer le
-% matériel qui suit comme des pages liminaires. En pratique, cela
-% résulte essentiellement en une numérotation des pages en chiffres
-% romains.
-% \end{DescribeMacro}
+% Une complication additionnelle si vous rédigez dans une langue autre
+% que l'anglais consiste à adapter {\LaTeX} à votre langue, qu'il
+% s'agisse des mots clés, de la typographie ou de la césure des mots.
+% La solution standard à ce problème provient du paquetage %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}}. %
+% Celui-ci permet de combiner plusieurs langues dans un même document
+% et de passer de l'une à l'autre facilement. Il est chargé par défaut
+% par la classe {\ulclass}.
%
-% Les normes de présentation de la FESP édictent que les thèses et
-% mémoires devraient comporter les pages liminaires suivantes, dans
-% l'ordre:
-% \begin{enumerate}[noitemsep]
-% \item page frontispice (obligatoire);
-% \item résumé en français (obligatoire);
-% \item résumé en anglais (recommandé, mais non obligatoire);
-% \item table des matières (obligatoire);
-% \item liste des tableaux;
-% \item liste des figures;
-% \item liste des abbréviations et des sigles;
-% \item dédicace;
-% \item épigraphe;
-% \item remerciements;
-% \item avant-propos (obligatoire dans le cas d'une thèse ou d'un
-% mémoire par articles).
-% \end{enumerate}
-%
-% Les commandes
-% \begin{quote}
-% \cmd{\frontispice} \\
-% \cmd{\tableofcontents} \\
-% \cmd{\listoftables} \\
-% \cmd{\listoffigures} \\
-% \cmd{\dedicace}\marg{texte} \\
-% \cmd{\epigraphe}\marg{texte}\marg{auteur}
-% \end{quote}
-% permettent de générer les pages correspondantes. Seules les deux
-% dernières commandes admettent des arguments.
-%
-% \begin{rem}
-% L'examen de doctorat, l'essai de maîtrise, le rapport de projet de
-% recherche et le rapport de stage comportent une page de titre.
-% Vous devez ajouter dans les gabarits les commandes nécessaires
-% pour la production de la page de titre (\autoref{sec:pagetitre})
-% et supprimer les autres pages liminaires. Rappelons que l'option
-% de classe |examen| a pour effet de supprimer la page frontispice.
-% \end{rem}
-%
-% \begin{DescribeMacro}{\chapter*}
-% Les résumés, la liste des abbréviations et des sigles, les
-% remerciements et l'avant-propos sont composés comme des chapitres
-% normaux, mais sans être numérotés. Il faut donc définir ces éléments
-% avec la commande \cmd{\chapter*}.
-% \end{DescribeMacro}
+% Aucune langue n'est spécifiée dans la classe. Vous aurez sans doute
+% recours à l'anglais et au français, ne serait-ce que pour les deux
+% résumés demandés par la FESP. Vous devez spécifier les langues
+% utilisées dans le document en options à la classe, tel que mentionné
+% à la \autoref{sec:utilisation:options}. La \emph{dernière} langue
+% spécifiée devient par défaut la langue active du document.
%
-% \begin{DescribeMacro}{\label}
-% La commande \cmd{\label} permet d'utiliser le système de renvois
-% automatiques de {\LaTeX} \citep[section~3.4]{formation-latex-ul}.
-% Les étiquettes des chapitres non numérotés sont déjà configurées
-% pour l'ajout de ces chapitres dans la table des matières (voir
-% ci-dessous). Nous recommandons fortement de définir vos propres
-% étiquettes pour les chapitres normaux.
+% \begin{DescribeMacro}{\selectlanguage}
+% La commande \cmd{\selectlanguage} de \pkg{babel} permet de passer de
+% la langue courante à la langue spécifiée en argument.
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\phantomsection}
-% \begin{DescribeMacro}{\addcontentsline}
-% \begin{DescribeMacro}{\nameref}
-% Les chapitres déclarés avec la commande \cmd{\chapter*}
-% n'apparaissent pas dans la table des matières. Comme les
-% normes de présentation de la FESP exigent que toutes les pages
-% liminaires y figurent, nous faisons suivre les commandes
-% \cmd{\chapter*}\marg{Titre} et \cmd{\label}\marg{nom} des
-% commandes
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-% \begin{quote}
-% |\phantomsection\addcontentsline{toc}{chapter}{%| \\
-% | \nameref|\marg{nom}|}|
-% \end{quote}
-% Celles-ci ajoutent à la table des matières (|toc|) une section de
-% niveau |chapter| dont le titre est celui du chapitre auquel
-% correspond l'étiquette \meta{nom}. La commande \cmd{\phantomsection}
-% est rendue nécessaire (ou recommandée) par le paquetage
-% \pkg{hyperref}.
+% \begin{DescribeEnv}{otherlanguage}
+% L'environnement |otherlanguage| de \pkg{babel} permet de faire la
+% même chose que la commande \cmd{\selectlanguage}, sauf que le
+% changement de langue est local à l'environnement, ce qui peut
+% s'avérer utile pour les brefs changements de langue.
+% \end{DescribeEnv}
%
-% \subsection{Corps du document}
+% Si vous n'êtes pas autrement familier avec le paquetage \pkg{babel},
+% consultez sa documentation. Celle-ci est éclatée en un document
+% principal pour le cœur du paquetage et plusieurs autres pour les
+% fonctionnalités propres à une langue. Consultez au moins les
+% documents consacrés aux langues utilisées dans votre thèse ou
+% mémoire. Le plus simple consiste sans doute à consulter en ligne sur
+% CTAN les
+% \href{https://ctan.org/pkg/babel-contrib/}{documents spécifiques par langue}.
+% \changes{4.4}{2017-05-14}{Correction d'une url vers la documentation
+% de \textbf{babel}.}
%
-% \begin{DescribeMacro}{\mainmatter}
-% La commande \cmd{\mainmatter} délimite le début du corps du document. La
-% numérotation des pages passe en chiffres arabes.
+% \begin{DescribeMacro}{\nombre}
+% Le paquetage %
+% \href{https://ctan.org/pkg/numprint}{\pkg{numprint}} %
+% étant chargé dans la classe avec \pkg{babel}, vous pouvez utiliser
+% la commande \cmd{\nombre} pour formater automatiquement les
+% nombres. Par exemple, le résultat de |\nombre{123456789}| est
+% \nombre{123456789}.
% \end{DescribeMacro}
%
-% Le corps du document devrait normalement compter une introduction (non
-% numérotée), un développement divisé en chapitres (numérotés) et une
-% conclusion (non numérotée).
-%
-% \subsection{Annexes}
-%
-% \begin{DescribeMacro}{\appendix}
-% Si la thèse ou le mémoire comporte une ou plusieurs annexes,
-% composer celles-ci comme des chapitres normaux insérés dans le
-% document maître après la commande \cmd{\appendix}. Cette commande a
-% pour effet de passer d'un mode de numération numérique (1, 1.1, 2, 2.1,
-% \dots) à un mode alphanumérique (A, A.1, B, B.1, \dots).
-% \end{DescribeMacro}
+% Si vous souhaitez plutôt utiliser le plus récent paquetage %
+% \href{https://ctan.org/pkg/polyglossia}{\pkg{polyglossia}} %
+% avec {\XeLaTeX}, vous devez empêcher le chargement de \pkg{babel}
+% avec l'option |nobabel| de la classe, puis charger et configurer
+% \pkg{polyglossia} vous-même dans l'entête de votre document. Ce
+% paquetage est moins évolué que \pkg{babel} pour la typographie
+% française.
%
-% \subsection{Bibliographie}
+% \section{Police de caractères du document}
+% \label{sec:police}
+% \changes{6.0}{2024-06-17}{Documentation: révision de la section sur
+% les polices de caractères suite aux modifications apportées aux
+% règles de présentation de la FESP.}
%
-% La bibliographie figure normalement à la toute fin du document, sous
-% forme de chapitre non numéroté. Tel qu'expliqué à la
-% \autoref{sec:bibliographie:multiples}, la commande
-% \cmd{\bibliography} doit plutôt se trouver dans les fichiers des
-% chapitres dans une thèse ou un mémoire par articles.
+% Les documents {\LaTeX} sont facilement reconnaissables par leur
+% police de caractères par défaut: %
+% {\iftutex\fontfamily{lmr}\else\fontfamily{cmr}\fi\selectfont
+% Computer Modern}. %
+% Si vous le souhaitez, il est aujourd'hui assez simple de produire
+% des documents {\LaTeX} utilisant d'autres polices. L'approche
+% recommandée consiste à utiliser une police OpenType ou TrueType
+% présente sur votre système avec le moteur {\XeLaTeX}. Autrement,
+% vous pouvez charger l'une ou l'autre des polices PostScript
+% standards compatibles avec le moteur pdf{\LaTeX} en ayant recours au
+% paquetage %
+% \href{https://ctan.org/pkg/psnfss}{\pkg{psnfss}}. %
+% Dans tous les cas, assurez-vous de respecter les règles de
+% présentation de la FESP en matière de polices de caractères.
+%
+% La Bibliothèque de l’Université Laval détient une licence
+% d’utilisation des polices de très grande qualité %
+% \href{https://tug.org/store/lucida}{Lucida Bright}. %
+% Vous pouvez vous procurer gratuitement une copie des polices en
+% écrivant à %
+% \href{mailto:lucida@bibl.ulaval.ca}{lucida@bibl.ulaval.ca}.
+%
+% À titre indicatif, le présent document est composé avec les polices
+% OpenType %
+% \href{https://ctan.org/pkg/stix2-otf}{STIX~Two} %
+% pour le texte et %
+% \href{https://ctan.org/pkg/fira}{Fira} %
+% pour les éléments décoratifs (notamment \textsf{Fira Sans} pour les
+% titres de sections et \texttt{Fira Mono} pour le code informatique).
+%
+% \changes{6.0}{2024-05-25}{Documentation: suppression de la section
+% portant sur l'explication détaillée des gabarits. En échange,
+% ceux-ci comportent des commentaires additionnels.}
%
% \section{Commentaires, suggestions et aide}
% \changes{5.0}{2018-08-09}{Code source du projet déplacé de GitHub
-% vers GitLab.}
+% vers GitLab.}
+% \changes{6.0}{2024-06-18}{Documentation: retrait du wiki thèse
+% (fermé) et des archives de la liste ulthese-aide (peu utiles).}
%
-% Le \link{https://gitlab.com/vigou3/ulthese/}{dépôt du projet} dans
+% Le \href{https://gitlab.com/vigou3/ulthese/}{dépôt du projet} dans
% GitLab demeure le meilleur endroit pour rapporter des bogues ou pour
-% proposer des améliorations à la classe \class{ulthese}.
-%
-% Pour obtenir de l'aide additionnelle sur l'utilisation de la classe
-% --- et non sur celle de {\LaTeX} en général --- consultez d'abord:
-% \begin{enumerate}
-% \item le \link{http://www.theses.ulaval.ca/wiki/}{WikiThèse} de
-% l'Université Laval, en particulier la
-% \link{http://www.theses.ulaval.ca/wiki/index.php?title=FAQ}{Foire aux questions};
-% \item les
-% \link{http://listes.ulaval.ca/listserv/archives/ulthese-aide.html}{archives}
-% de la liste de distribution \texttt{ulthese-aide}.
-% \end{enumerate}
-% Si la réponse à votre question ne se trouve ni dans le wiki, ni dans
-% les archives, alors écrivez à l'adresse
-% \href{mailto:ulthese-aide@listes.ulaval.ca}{\url{ulthese-aide@listes.ulaval.ca}}.
-%
-% \StopEventually{
-% \begin{thebibliography}{15}
-% \addcontentsline{toc}{section}{Références}
-% \bibitem[{Arseneau(2010)}]{chapterbib}
-% Arseneau, D. 2010,
-% {\selectlanguage{english}\emph{chapterbib. Multiple
-% bibliographies in {\LaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/chapterbib/}.
-%
-% \bibitem[{Braams et Bezos(2016)}]{babel}
-% Braams, J. et J.~Bezos. 2016,
-% {\selectlanguage{english}\emph{Babel}}.
-% URL~\url{https://www.ctan.org/pkg/babel/}.
-%
-% \bibitem[{Carlisle et {The \LaTeX3\ Project}(2016)}]{graphicx}
-% Carlisle, D. et {The \LaTeX3\ Project}. 2016,
-% {\selectlanguage{english}\emph{Packages in the `graphics'
-% Bundle}}. URL~\url{https://www.ctan.org/pkg/graphics/}.
-%
-% \bibitem[{Charette(2015)}]{polyglossia}
-% Charette, F. 2015, {\selectlanguage{english}\emph{Polyglossia:
-% An Alternative to Babel for {\XeLaTeX} and {\LuaLaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/polyglossia/}, current
-% maintainer Arthur Reutenauer.
-%
-% \bibitem[{Daly(2010)}]{natbib}
-% Daly, P.~W. 2010, {\selectlanguage{english}\emph{Natural
-% Sciences Citations and References}}.
-% URL~\url{https://www.ctan.org/pkg/natbib/}.
-%
-% \bibitem[{Goulet(2013)}]{francais-bst}
-% Goulet, V. 2013, {\selectlanguage{french}«Paquetage
-% francais-bst»},
-% URL~\url{https://www.ctan.org/pkg/francais-bst/}.
-%
-% \bibitem[{Goulet(2020)}]{formation-latex-ul}
-% Goulet, V. 2020, {\selectlanguage{french}\emph{Rédaction avec
-% {\LaTeX}}}, document libre sous contrat Creative Commons.
-% URL~\url{httpss://ctan.org/pkg/formation-latex-ul}.
-%
-% \bibitem[{Harders(2012)}]{numprint}
-% Harders, H. 2012, {\selectlanguage{english}\emph{The
-% numprint package}}.
-% URL~\url{https://www.ctan.org/pkg/numprint/}.
-%
-% \bibitem[{Jeffrey et Mittelbach(2015)}]{inputenc}
-% Jeffrey, A. et F.~Mittelbach. 2015,
-% {\selectlanguage{english}\emph{inputenc.sty}}.
-% URL~\url{https://www.ctan.org/pkg/inputenc/}.
-%
-% \bibitem[{Kern(2016)}]{xcolor}
-% Kern, D.~U. 2016, {\selectlanguage{english}\emph{Extending
-% {\LaTeX}’s color facilities: the xcolor package}}.
-% URL~\url{https://www.ctan.org/pkg/xcolor/}.
-%
-% \bibitem[{Lehman et Wright(2018)}]{etoolbox}
-% Lehman, P. et J.~Wright. 2018,
-% {\selectlanguage{english}\emph{The etoolbox package}}.
-% URL~\url{https://www.ctan.org/pkg/etoolbox/}.
-%
-% \bibitem[{Malo(1996)}]{Malo:1996}
-% Malo, M. 1996, {\selectlanguage{french}\emph{Guide de la
-% communication écrite au cégep, à l'université et en
-% entreprise}}, Québec Amérique. ISBN~978-2-8903-7875-9.
-%
-% \bibitem[{Rahtz et Oberdiek(2017)}]{hyperref}
-% Rahtz, S. et H.~Oberdiek. 2017,
-% {\selectlanguage{english}\emph{Hypertext marks in {\LaTeX}: a
-% manual for hyperref}}.
-% URL~\url{https://www.ctan.org/pkg/hyperref/}.
-%
-% \bibitem[{Robertson et Hosny(2017)}]{fontspec}
-% Robertson, W. et K.~Hosny. 2017,
-% {\selectlanguage{english}\emph{The fontspec package: Font
-% selection for {\XeLaTeX} and {\LuaLaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/fontspec/}.
-%
-% \bibitem[{Wilson(2016)}]{memoir}
-% Wilson, P. 2016, {\selectlanguage{english}\emph{The Memoir Class
-% for Configurable Typesetting}}, 8{\ieme} éd., The Herries Press.
-% URL~\url{https://www.ctan.org/pkg/memoir/}, maintained by Lars
-% Madsen.
-% \end{thebibliography}
-% \PrintChanges
-% }
+% proposer des améliorations à la classe {\ulclass}.
+%
+% Pour de l'aide additionnelle sur l'utilisation de la classe~--- et
+% non sur celle de {\LaTeX} en général~--- écrivez à l'adresse %
+% \href{mailto:ulthese-aide@listes.ulaval.ca}{ulthese-aide@listes.ulaval.ca}.
%
% \appendix
%
@@ -1343,44 +1086,47 @@
% la \autoref{sec:utilisation:options} lorsque l'on souhaite créer une
% page de titre.
%
-% \begin{DescribeMacro}{multifacultaire}
-% Identifie une thèse multifacultaire. Valide uniquement avec un
-% grade de doctorat. Cette déclaration requiert ensuite d'utiliser
-% la commande \cmd{\faculteUL}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUdeS}
-% Identifie une thèse réalisée en extension à l'Université de
-% Sherbrooke. Valide uniquement avec un grade de doctorat. Cette
-% déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUdeS}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUQO}
-% Identifie une thèse réalisée en extension à l'Université du
-% Québec en Outaouais (UQO). Valide uniquement avec un grade de doctorat.
-% Cette déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUQO}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUQAC}
-% Identifie un mémoire réalisé en extension à l'Université du Québec
-% à Chicoutimi (UQAC). Valide uniquement avec un grade de maîtrise.
-% Cette déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUQAC}.
-% \end{DescribeMacro}
+% \begin{DescribeOption}{multifacultaire}
+% L'option |multifacultaire| identifie une thèse
+% multifacultaire. Valide uniquement avec un grade de doctorat.
+% Cette déclaration requiert ensuite d'utiliser la commande
+% \cmd{\faculteUL}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUdeS}
+% L'option |extensionUdeS| identifie une thèse réalisée en extension
+% à l'Université de Sherbrooke. Valide uniquement avec un grade de
+% doctorat. Cette déclaration requiert ensuite d'utiliser les
+% commandes \cmd{\faculteUL} et \cmd{\faculteUdeS}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUQO}
+% L'option |extensionUQO| identifie une thèse réalisée en extension
+% à l'Université du Québec en Outaouais (UQO). Valide uniquement
+% avec un grade de doctorat. Cette déclaration requiert ensuite
+% d'utiliser les commandes \cmd{\faculteUL} et \cmd{\faculteUQO}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUQAC}
+% L'option |extensionUQAC| identifie un mémoire réalisé en extension
+% à l'Université du Québec à Chicoutimi (UQAC). Valide uniquement
+% avec un grade de maîtrise. Cette déclaration requiert ensuite
+% d'utiliser les commandes \cmd{\faculteUL} et \cmd{\faculteUQAC}.
+% \end{DescribeOption}
%
% Ensuite, la composition d'une page de titre peut nécessiter
% d'utiliser les commandes ci-dessous en plus de celles de la
% \autoref{sec:utilisation:commandes}.
%
% \begin{DescribeMacro}{\annee}
-% Année du dépôt final de la thèse ou du mémoire.
+% La commande \cmdprint{\annee} spécifie l'année du dépôt final de
+% la thèse ou du mémoire.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\univcotutelle}
-% Nom, ville et pays de l'université de cotutelle, déclarés sous la
-% forme
+% Pour les thèses en cotutelle, la commande
+% \cmdprint{\univcotutelle} permet de saisir le nom, la ville et le
+% pays de l'université de cotutelle, sous la forme
% \begin{quote}
% |\univcotutelle{Nom de l'université \\ Ville, Pays}|
% \end{quote}
@@ -1389,8 +1135,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\gradecotutelle}
-% Grade conféré par l'université de cotutelle, déclaré
-% sous la forme
+% Pour les thèses en cotutelle, la commande
+% \cmdprint{\gradecotutelle} spécifie le grade conféré par
+% l'université de cotutelle, sous la forme
% \begin{quote}
% |\gradecotutelle{Nom du grade (sigle)}|
% \end{quote}
@@ -1399,8 +1146,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\univbidiplomation}
-% Nom, ville et pays de l'université de bidiplomation, déclarés sous
-% la forme
+% Pour les mémoires en bidiplomation, la commande
+% \cmdprint{\univbidiplomation} permet de saisir le nom, la ville et
+% le pays de l'université de bidiplomation, sous la forme
% \begin{quote}
% |\univbidiplomation{Nom de l'université \\ Ville, Pays}|
% \end{quote}
@@ -1409,8 +1157,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\gradebidiplomation}
-% Grade conféré par l'université de bidiplomation, déclaré sous la
-% forme
+% Pour les mémoires en bidiplomation, la commande
+% \cmdprint{\gradebidiplomation} spécifie le grade conféré par
+% l'université de bidiplomation, sous la forme
% \begin{quote}
% |\gradebidiplomation{Nom du grade (sigle)}|
% \end{quote}
@@ -1419,7 +1168,8 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUL}
-% La commande a deux usages:
+% La commande \cmdprint{\faculteUL} sert à saisir deux types
+% d'informations:
% \begin{enumerate}
% \item noms des facultés pour les thèses et mémoires
% multifacultaires, séparés par des commandes |\\|;
@@ -1433,35 +1183,37 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUdeS}
-% Nom de la faculté de l'Université de Sherbrooke hébergeant la
-% thèse en extension. Cette commande prend effet seulement lorsque
-% la classe est chargée avec l'option |extensionUdeS|.
+% La commande \cmdprint{\faculteUdeS} spécifie le nom de la faculté
+% de l'Université de Sherbrooke hébergeant la thèse en extension.
+% Cette commande prend effet seulement lorsque la classe est chargée
+% avec l'option |extensionUdeS|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQO}
-% Nom de la faculté de l'Université du Québec en Outaouais
-% hébergeant la thèse en extension. Cette commande prend effet
-% seulement lorsque la classe est chargée avec l'option
-% |extensionUQO|.
+% La commande \cmdprint{\faculteUQO} spécifie le nom de la faculté
+% de l'Université du Québec en Outaouais hébergeant la thèse en
+% extension. Cette commande prend effet seulement lorsque la classe
+% est chargée avec l'option |extensionUQO|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQAC}
-% Nom de la faculté de l'Université du Québec à Chicoutimi
-% hébergeant le mémoire en extension. Cette commande prend effet
-% seulement lorsque la classe est chargée avec l'option
-% |extensionUQAC|.
+% La commande \cmdprint{\faculteUQAC} spécifie le nom de la faculté
+% de l'Université du Québec à Chicoutimi hébergeant le mémoire en
+% extension. Cette commande prend effet seulement lorsque la classe
+% est chargée avec l'option |extensionUQAC|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\pagetitre}
-% Création de la page de titre. Ne pas utiliser la commande
-% \cmd{\pagetitle} de {\LaTeX} pour ce faire. De toutes les
+% La commande \cmdprint{\pagetitre} crée la page de titre à
+% l'endroit où elle apparait dans le code source. N'utilisez pas la
+% commande \cmd{\titlepage} de {\LaTeX} pour ce faire. De toutes les
% commandes ci-dessus, c'est la seule qui doit se trouver dans le
% corps du document plutôt que dans le préambule.
% \end{DescribeMacro}
%
+% \MaybeStop{\PrintChanges}
%
-% ^^A Début du code de la classe
-%
+% ^^A >>>>> Début du code de la classe
% \section{Mise en œuvre}
% \label{sec:meo}
%
@@ -1470,37 +1222,30 @@
% explorer comment la classe est programmée.
%
% \subsection{Tests et valeurs booléennes}
-% \changes{4.4}{2017-06-01}{Tests et valeurs booléennes réalisés sans ifthen.}
+% \changes{4.4}{2017-06-01}{Tests et valeurs booléennes réalisés sans
+% \textbf{ifthen}.}
%
-% Le paquetage \pkg{ifxetex} permet de tester si un document est
-% compilé avec \XeTeX.
-% \begin{macrocode}
-%<*class>
-\RequirePackage{ifxetex}
-% \end{macrocode}
% Nous définissons ici toutes les valeurs booléennes requises par la
% classe.
% \begin{macrocode}
+%<*class>
\newif\ifUL@babel \UL@babeltrue % charger babel?
\newif\ifUL@natbib \UL@natbibtrue % charger natbib?
\newif\ifUL@hyperref \UL@hyperreftrue % charger hyperref?
-\newif\ifUL@chapterbib \UL@chapterbibfalse % charger chapterbib?
-\newif\ifUL@sectionbib \UL@sectionbibfalse % option sectionbib de chapterbib?
-\newif\ifUL@isthesis % programme est une thèse?
-\newif\ifUL@iscotutelle \UL@iscotutellefalse % thèse en cotutelle?
+\newif\ifUL@isthesis % programme est une these?
+\newif\ifUL@iscotutelle \UL@iscotutellefalse % these en cotutelle?
\newif\ifUL@isexam \UL@isexamfalse % examen de doctorat?
-\newif\ifUL@isessay \UL@isessayfalse % essai de maîtrise?
+\newif\ifUL@isessay \UL@isessayfalse % essai de maitrise?
\newif\ifUL@isresearch \UL@isresearchfalse % projet de recherche?
\newif\ifUL@isworkterm \UL@isworktermfalse % rapport de stage?
\newif\ifUL@hassubtitle \UL@hassubtitlefalse % document a un sous-titre?
-\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisée?
+\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisee?
% \end{macrocode}
%
% \subsection{Options de la classe}
%
% Les grandes catégories d'options propres à la classe sont: la
-% possibilité d'empêcher le chargement du paquetage \pkg{natbib};
-% l'activation des bibliographies par chapitre ou par section; la
+% possibilité d'empêcher le chargement du paquetage \pkg{natbib}; la
% possibilité d'empêcher le chargement du paquetage \pkg{babel}; la
% possibilité d'empêcher le chargement du paquetage \pkg{hyperref}; la
% taille de la police de caractères en points; le type de grade; la
@@ -1516,21 +1261,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{bibchapitre}
-% \begin{macro}{bibsection}
-% L'option |bibchapitre| entraine le chargement du paquetage
-% \pkg{chapterbib} qui permet de composer des bibliographies
-% multiples dans un document, habituellement une par
-% chapitre. Avec l'option |bibsection|, la bibliographie se
-% présente sous la forme d'une section plutôt que d'un chapitre.
-% La seconde option implique la première.
-% \begin{macrocode}
-\DeclareOption{bibchapitre}{\UL@chapterbibtrue}
-\DeclareOption{bibsection}{\UL@chapterbibtrue\UL@sectionbibtrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}{nobabel}
% L'option |nobabel| permet d'empêcher la classe de charger le
% paquetage \pkg{babel}. Cette option peut s'avérer utile pour
@@ -1618,10 +1348,6 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en architecture (M.~Arch.)}}
-\DeclareOption{MA}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
\DeclareOption{LLM}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -1634,14 +1360,10 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en musique (M.~Mus.)}}
-\DeclareOption{MPht}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en physioth\'erapie (M.~Pht.)}}
-\DeclareOption{MSc}{%
+\DeclareOption{MPsEd}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
\DeclareOption{MScGeogr}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -1650,10 +1372,18 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en service social (M.~Serv.~soc.)}}
-\DeclareOption{MPsEd}{%
+\DeclareOption{MTravSoc}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en travail social (M.~Trav.~soc.)}}
+\DeclareOption{MA}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
+\DeclareOption{MSc}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
\DeclareOption{multifacultaire}{%
\ifUL@isthesis
\renewcommand*{\UL@typenum}{1}
@@ -1761,7 +1491,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Chargement de la classe \class{memoir}}
+% \subsection{Chargement de la classe \texorpdfstring{\class{memoir}}{memoir}}
%
% Toutes les options de la classe sont passées à \class{memoir}. Le
% format de papier et la taille de police par défaut sont, dans
@@ -1787,51 +1517,50 @@
% \end{macrocode}
%
% \subsection{Paquetages requis}
-% \changes{5.0}{2018-06-10}{Le paquetage unicode-math n'est plus
-% chargé par défaut par la classe.}
-% \changes{5.0}{2018-08-11}{Le paquetage hyperref est désormais chargé
-% dans la classe plutôt que dans les gabarits. Requiert le paquetage
-% etoolbox.}
+% \changes{5.0}{2018-06-10}{Le paquetage \textbf{unicode-math} n'est
+% plus chargé par défaut par la classe.}
+% \changes{5.0}{2018-08-11}{Le paquetage \textbf{hyperref} est
+% désormais chargé dans la classe plutôt que dans les gabarits.
+% Requiert le paquetage etoolbox.}
%
% La classe s'efforce de charger un minimum de paquetages afin d'éviter
% les conflits potentiels.
%
-% {\XeLaTeX} requiert le paquetage \pkg{fontspec} pour le traitement
-% des polices. Sous {\LaTeX}, il est aujourd'hui préférable d'utiliser
-% les polices T1.
+% \changes{6.0}{2024-05-24}{Mise en œuvre: paquetage \textbf{inputenc} ^^A
+% désormais chargé avec l'option \texttt{utf8} lorsque la compilation
+% est effectuée par pdf{\LaTeX}.}
+% Le code source doit obligatoirement être enregistré dans le codage
+% UTF-8. Avec pdf{\LaTeX}, cela requiert le paquetage \pkg{inputenc}.
+%
+% \changes{6.0}{2024-05-24}{Mise en œuvre: paquetage
+% \textbf{microtype} désormais chargé par la classe avec
+% \textbf{fontspec} ou \textbf{fontenc}.}
+% \changes{6.0}{2024-05-24}{Mise en œuvre: option \texttt{Ligatures} ^^A
+% plus définie par défaut pour les polices OpenType.}
+% La classe charge également les paquetages minimalement nécessaires
+% pour la gestion des polices de caractères, soit \pkg{fontspec} avec
+% les moteurs modernes et \pkg{fontenc} avec pdf{\LaTeX}.
% \begin{macrocode}
-\ifxetex
+\iftutex
+ \RequirePackage[babel=true]{microtype}
\RequirePackage{fontspec}
- \defaultfontfeatures{Ligatures=TeX}
\else
+ \RequirePackage[babel=true]{microtype}
+ \RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\fi
% \end{macrocode}
%
-% Les paquetages \pkg{natbib} et \pkg{chapterbib} doivent être chargés
-% avant \pkg{babel} pour bien fonctionner, le cas échéant. Tel que
-% précisé dans la documentation de \pkg{natbib}, l'option |sectionbib|
-% est passée à ce paquetage lorsqu'il est chargé, ou à
-% \pkg{chapterbib} autrement.
+% Le paquetage \pkg{natbib} doit être chargé avant \pkg{babel} pour
+% bien fonctionner, le cas échéant.
% \begin{macrocode}
\ifUL@natbib
- \ifUL@sectionbib
- \PassOptionsToPackage{sectionbib}{natbib}
- \fi
\RequirePackage[round,semicolon,authoryear]{natbib}
\fi
-\ifUL@chapterbib
- \ifUL@sectionbib
- \ifUL@natbib\else
- \PassOptionsToPackage{sectionbib}{chapterbib}
- \fi
- \fi
- \RequirePackage{chapterbib}
-\fi
% \end{macrocode}
%
% Le support pour les langues autres que l'anglais est offert par le
-% paquetage \pkg{babel} --- à moins que l'option |nobabel| n'ait
+% paquetage \pkg{babel}~--- à moins que l'option |nobabel| n'ait
% été spécifiée au chargement de la classe. Les langues sont passées
% en option de la classe, et non du paquetage. Le paquetage
% \pkg{numprint} est requis par \pkg{babel} pour la définition
@@ -1844,14 +1573,16 @@
% \end{macrocode}
%
% Le paquetage obligatoire \pkg{hyperref} est chargé en tout dernier
-% avec la commande \cmd{\AtEndPreamble} du paquetage \pkg{etoolbox}.
-% Si l'option |nohyperref| a été spécifiée, la classe vérifie que le
-% paquetage a été chargé. La configuration de base de la classe fait
-% en sorte que tous les liens sont signalés par la couleur
-% |ULlinkcolor| définie à la \autoref{sec:couleurs}.
+% avec la commande \cmd{\AtEndPreamble} du paquetage \pkg{etoolbox}
+% (chargé par \class{memoir}). Si l'option |nohyperref| a été
+% spécifiée, la classe vérifie que le paquetage a été chargé. La
+% configuration de base de la classe fait en sorte que tous les liens
+% sont signalés par la couleur |ULlinkcolor| définie à la
+% \autoref{sec:couleurs}.
+% \changes{6.0}{2024-06-17}{Mise en œuvre: chargement explicite de
+% \textbf{etoolbox} retiré, car le paquetage est chargé par memoir.}
% \begin{macrocode}
\ifUL@hyperref
- \RequirePackage{etoolbox}
\AtEndPreamble{\RequirePackage{hyperref}}
\else
\AtBeginDocument{%
@@ -1870,11 +1601,8 @@
\RequirePackage{xcolor}
% \end{macrocode}
%
-% La commande \cmd{\textcopyright} utilisée sur la page de titre requiert le
-% paquetage \pkg{textcomp} pour obtenir un beau signe de copyright.
-% \begin{macrocode}
-\RequirePackage{textcomp}
-% \end{macrocode}
+% \changes{6.0}{2024-06-17}{Mise en œuvre: paquetage \textbf{textcomp} ^^A
+% retiré, car non nécessaire.}
%
% \subsection{Paquetage incompatible}
%
@@ -1926,7 +1654,7 @@
% \subsection{Interligne}
%
% L'espacement entre les lignes est d'un interligne et demi.
-% L'espacement «double» entre les paragraphes est fixé à
+% L'espacement double entre les paragraphes est fixé à
% |0.5\baselineskip| afin d'en arriver à une disposition agréable à
% l'œil. Le retrait de première ligne est supprimé puisque plus
% nécessaire suite à l'ajout de l'espacement entre les paragraphes.
@@ -1968,11 +1696,15 @@
% utilisées dans la classe sont toutes quelques points inférieures à
% celles des gabarits Word.}%
% et les graisses présentées au \autoref{tab:polices}. La
-% déclaration |\fontencoding{T1}| est nécessaire avec {\XeLaTeX} pour
-% explicitement charger la même police que sous {\LaTeX}.
+% déclaration |\fontencoding{T1}| est nécessaire avec les moteurs
+% modernes pour explicitement charger la même police qu'avec
+% pdf{\LaTeX}.
%
% \begin{table}
% \centering
+% \caption{Tailles et graisses de la police Helvetica des éléments
+% de la page de titre}
+% \label{tab:polices}
% \begin{tabular}{ll}
% \toprule
% Élément & Police \\
@@ -1984,9 +1716,6 @@
% Autres éléments & 12~points normal \\
% \bottomrule
% \end{tabular}
-% \caption{Tailles et graisses de la police Helvetica des éléments
-% de la page de titre}
-% \label{tab:polices}
% \end{table}
%
% \begin{macrocode}
@@ -2435,22 +2164,30 @@
\setsecnumdepth{subsection}
%</class>
% \end{macrocode}
-% ^^A Fin du code de la classe
+% ^^A <<<<< Fin du code de la classe
%
-% ^^A Il faut placer ces notes de changement relatives aux gabarits
+% ^^A Les notes de versions relatives aux gabarits doivent se trouver
% ^^A avant \Finale
% \changes{5.0}{2018-06-08}{Gabarits: meilleure indication du texte à
-% remplacer.}
+% remplacer.}
% \changes{5.0}{2018-06-08}{Gabarits: bonification de la structure
-% d'un chapitre de thèse ou de mémoire par articles.}
+% d'un chapitre de thèse ou de mémoire par articles.}
% \changes{5.0}{2018-04-25}{Gabarits: ajout d'étiquettes et de renvois
-% dans les gabarits des parties du document.}
+% dans les gabarits des parties du document.}
% \changes{5.0}{2018-04-25}{Gabarits: automatisation de l'ajout
-% d'entrées dans la table des matières à l'aide d'étiquettes et de
-% renvois.}
+% d'entrées dans la table des matières à l'aide d'étiquettes et de
+% renvois.}
% \changes{4.4}{2017-05-16}{Gabarits: nouveau gabarit pour une thèse
-% par articles.}
+% par articles.}
% \changes{4.2}{2016-03-29}{Gabarits: nouvelles options de babel.}
+% \changes{6.0}{2024-05-22}{Gabarits: gabarits pour une thèse par
+% articles révisés suite aux changements aux règles de présentation.}
+% \changes{6.0}{2024-05-22}{Gabarits: meilleure sélection automatique
+% des paquetages pour les polices et pour le codage selon le moteur
+% {\TeX}.}
+% \changes{6.0}{2024-06-20}{Gabarits: seul l'exemple de changement
+% pour les polices STIX Two est maintenant fourni, et ce, dans une
+% version qui fonctionne avec les polices livrées avec TeX Live.}
%
% \Finale
%
@@ -2473,60 +2210,57 @@
%% description détaillée de la classe, de ce gabarit et des options
%% disponibles.
%%
+%% Vous devez obligatoirement enregistrer tout fichier contenant des
+%% caractères non-ASCII (comme des lettres accentuées) dans le codage
+%% de caractères UTF-8.
+%%
%% [Ne pas hésiter à supprimer les commentaires après les avoir lus.]
%%
%% Déclaration de la classe avec le type de grade
%<phd>%% [l'un de LLD, DMus, DPsy, DThP, PhD]
-%<m>%% [l'un de MATDR, MArch, MA, LLM, MErg, MMus, MPht, MSc, MScGeogr,
-%<m>%% MServSoc, MPsEd]
+%<m>%% [l'un de MATDR, MArch, LLM, MErg, MMus, MPsEd, MScGeogr,
+%<m>%% MServSoc, MTravSoc, MA, MSc]
%% et les langues les plus courantes. Le français sera la langue par
-%<!articles>%% défaut du document.
-%<articles>%% défaut du document. L'option 'bibsection' permet de créer des
-%<articles>%% bibliographies par chapitre présentées sous forme de section
-%<articles>%% numérotée.
-%<phd&standard>\documentclass[PhD,english,french]{ulthese}
-%<phd&articles>\documentclass[PhD,bibsection,english,french]{ulthese}
+%% défaut du document.
+%<phd&(standard|articles)>\documentclass[PhD,english,french]{ulthese}
%<phd&cotutelle>\documentclass[PhD,cotutelle,english,french]{ulthese}
-%<m&standard>\documentclass[MSc,english,french]{ulthese}
-%<m&articles>\documentclass[MSc,bibsection,english,french]{ulthese}
+%<m&(standard|articles)>\documentclass[MSc,english,french]{ulthese}
%<m&bidiplomation>\documentclass[MA,bidiplomation,english,french]{ulthese}
- %% Encodage utilisé pour les caractères accentués dans les fichiers
- %% source du document. Les gabarits sont encodés en UTF-8. Inutile
- %% avec XeLaTeX, qui gère Unicode nativement.
- \ifxetex\else \usepackage[utf8]{inputenc} \fi
-
%% Charger ici les autres paquetages nécessaires pour le document.
%% Quelques exemples; décommenter au besoin.
%\usepackage{amsmath} % recommandé pour les mathématiques
%\usepackage{icomma} % gestion de la virgule dans les nombres
- %% Utilisation d'une autre police de caractères pour le document.
- %% - Sous LaTeX
- %\usepackage{mathpazo} % texte et mathématiques en Palatino
- %\usepackage{mathptmx} % texte et mathématiques en Times
- %% - Sous XeLaTeX
- %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino)
- %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino)
- %\setmainfont{TeX Gyre Termes} % texte en Termes (Times)
- %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times)
+ %% Utilisation d'une autre police de caractères pour le document
+ %% (exemple pour les polices STIX Two incluses dans TeX Live).
+ %% - Avec pdfLaTeX
+ %\usepackage{stix2}
+ %% - Avec XeLaTeX
+ %\setmainfont{STIXTwoText}
+ %[
+ % Extension = .otf,
+ % UprightFont = *-Regular,
+ % BoldFont = *-SemiBold,
+ % ItalicFont = *-Italic,
+ % BoldItalicFont = *-SemiBoldItalic,
+ %]
+ %\setmathfont{STIXTwoMath-Regular}
+ %[
+ % Extension = .otf,
+ %]
%% Options de mise en forme du mode français de babel. Consulter la
- %% documentation du paquetage babel pour les options disponibles.
- %% Désactiver (effacer ou mettre en commentaire) si l'option
- %% 'nobabel' est spécifiée au chargement de la classe.
- \frenchbsetup{%
+ %% documentation du paquetage babel-french pour les options
+ %% disponibles. Désactiver (effacer ou mettre en commentaire) si
+ %% l'option 'nobabel' est spécifiée au chargement de la classe.
+ \frenchsetup{%
StandardItemizeEnv=true, % format standard des listes
ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
og=«, fg=» % caractères « et » sont les guillemets
}
-%<!articles> %% Style de la bibliographie.
-%<!articles> \bibliographystyle{}
-%<articles> %% Suppression du numéro de section de la bibliographie. Utilisation
-%<articles> %% de \extrasfrench parce que c'est la dernière langue déclarée dans
-%<articles> %% \documentclass, ci-dessus.
-%<articles> %\addto\extrasfrench{%
-%<articles> % \renewcommand{\bibsection}{\section*{\bibname}\prebibhook}}
+ %% Style de la bibliographie.
+ \bibliographystyle{}
%% Composition de la page frontispice. Remplacer les éléments entre < >.
%% Supprimer les caractères < >. Couper un long titre ou un long
@@ -2561,19 +2295,19 @@
\frontmatter % pages liminaires
-\frontispice % production de la page frontispice
+\frontispice % page frontispice (obligatoire)
-\include{resume} % résumé français
-\include{abstract} % résumé anglais
+\include{resume} % résumé français (obligatoire)
+\include{abstract} % résumé anglais (optionnel)
\cleardoublepage
-\tableofcontents % production de la TdM
+\tableofcontents % table des matières (obligatoire)
\cleardoublepage
-\listoftables % production de la liste des tableaux
+\listoftables % liste des tableaux
\cleardoublepage
-\listoffigures % production de la liste des figures
+\listoffigures % liste des figures
\cleardoublepage
\dedicace{<Dédicace si désiré>}
@@ -2583,7 +2317,8 @@
\cleardoublepage
\include{remerciements} % remerciements
-\include{avantpropos} % avant-propos
+%<!articles>\include{avantpropos} % avant-propos (optionnel)
+%<articles>\include{avantpropos} % avant-propos (obligatoire)
\mainmatter % corps du document
@@ -2598,8 +2333,7 @@
\include{annexe} % annexe A
-%<!articles>\bibliography{} % production de la bibliographie
-%<!articles>
+\bibliography{} % production de la bibliographie
\end{document}
%</gabarit>
%
@@ -2637,8 +2371,8 @@
\label{chap-avantpropos} % étiquette pour renvois
\phantomsection\addcontentsline{toc}{chapter}{\nameref{chap-avantpropos}} % inclure dans TdM
-<Texte de l'avant-propos. Obligatoire dans une thèse ou un mémoire par
-articles.>
+<Texte de l'avant-propos. Obligatoire seulement pour une thèse ou un
+mémoire par intégration d'articles.>
%</avantpropos>
%
%<*introduction>
@@ -2669,8 +2403,6 @@ normal, sauf qu'elle n'est pas numérotée.>
%<articles>
<Texte du chapitre ou de l'article.>
%<articles>
-%<articles>\bibliographystyle{} % style de la bibliographie
-%<articles>\bibliography{} % production de la bibliographie
%</chapitre>
%
%<*conclusion>
diff --git a/macros/latex/contrib/ulthese/ulthese.ins b/macros/latex/contrib/ulthese/ulthese.ins
index 7987a0f368..59e0357662 100644
--- a/macros/latex/contrib/ulthese/ulthese.ins
+++ b/macros/latex/contrib/ulthese/ulthese.ins
@@ -1,44 +1,34 @@
-%%
-%% Copyright (C) 2017 Universite Laval
-%%
-%% This file may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2006/05/20 or later.
-%%
+%% Procédure d'installation de la classe ulthese.cls et des gabarits à
+%% partir de ulthese.dtx
\input docstrip.tex
\keepsilent
\askforoverwritefalse
+\nopostamble
\preamble
This is a generated file.
-Copyright (C) 2017 Universite Laval
+Copyright (C) 2012-2024 Universite Laval
This file may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in:
- http://www.latex-project.org/lppl.txt
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2006/05/20 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Universite Laval
-<ulthese-dev@bibl.ulaval.ca>.
+The Current Maintainer of this work is Vincent Goulet for
+Universite Laval <ulthese-dev@bibl.ulaval.ca>.
-This work consists of the files ulthese.dtx and ulthese.ins and the
-derived files listed in the README.md file.
+This work consists of the files ulthese.dtx, ulthese.ins, and the
+derived files listed in the file README.md.
\endpreamble
@@ -83,17 +73,18 @@ derived files listed in the README.md file.
\obeyspaces
\Msg{*************************************************************}
\Msg{* *}
-\Msg{* La classe ulthese est maintenant prete a l'emploi. *}
+\Msg{* La classe ulthese est maintenant prête à l'emploi! *}
\Msg{* *}
-\Msg{* Utiliser un gabarit comme base pour votre fichier maitre. *}
-\Msg{* Vous pouvez effacer les gabarits inutiles. Composer le *}
-\Msg{* document dans des fichiers .tex distincts; quelques *}
-\Msg{* gabarits sont fournis avec la classe. *}
+\Msg{* Utilisez un des gabarits fournis avec la classe comme *}
+\Msg{* base pour votre fichier maitre. Vous pouvez effacer les *}
+\Msg{* gabarits inutiles. Composez le document dans des fichiers *}
+\Msg{* .tex distincts; quelques gabarits sont aussi fournis avec *}
+\Msg{* la classe. *}
\Msg{* *}
\Msg{* Pour produire la documentation de la classe, compiler le *}
-\Msg{* fichier ulthese.dtx avec LaTeX. *}
+\Msg{* fichier ulthese.dtx avec XeLaTeX. *}
\Msg{* *}
-\Msg{* Bonne redaction! *}
+\Msg{* Bonne rédaction! *}
\Msg{* *}
\Msg{*************************************************************}
diff --git a/macros/latex/contrib/ulthese/ulthese.pdf b/macros/latex/contrib/ulthese/ulthese.pdf
index 6cc5a94957..ae1094d5ca 100644
--- a/macros/latex/contrib/ulthese/ulthese.pdf
+++ b/macros/latex/contrib/ulthese/ulthese.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md
index 2293f91fe4..0d0f2325fa 100644
--- a/macros/latex/contrib/unbtex/README.md
+++ b/macros/latex/contrib/unbtex/README.md
@@ -1,6 +1,6 @@
# UnBTeX: A class for bachelor, master, and doctoral thesis at the
# University of Brasilia (UnB), Brazil.
-# Version 1.5.1 2024/03/02
+# Version 1.5.2 2024/07/04
Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
@@ -109,6 +109,12 @@ Here is a history of changes:
1.5.1 (2024-03-02):
. The approval sheet (folha de aprovação) has been changed
. The bottom margin size has been corrected to be consistently adhered to
+ 1.5.2 (2024-07-04):
+ . The length of the footnote separator line has been corrected according
+ to ABNT standards
+ . The left margin indentation of the citacao environment has been corrected
+ according to ABNT standards
+ . The left margin indentation of the references can be adjusted by the user
## Overleaf
diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf
index f1498c6985..0b6493ed0b 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.pdf
+++ b/macros/latex/contrib/unbtex/unbtex-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex
index 1ad0019003..33872900a5 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example.tex
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.1 2024/03/02
+%% Version 1.5.2 2024/07/04
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -55,7 +55,7 @@
% ---
% Diretório das figuras
-\graphicspath{{unbtex-example/figuras/}}
+\graphicspath{{unbtex-example/figuras}}
% ---
% ------------------------------------------------------------------------
@@ -67,7 +67,7 @@
% ---
% Título
% ---
-\titulo{Modelo de trabalho \\ acadêmico com UnB\TeX} % No idioma principal do texto
+\titulo{Modelo de trabalho\\ acadêmico com UnB\TeX} % No idioma principal do texto
% Insira \\ caso queira forçar quebras de linha no título
% Não utilize caixa alta para o título do trabalho e nem das seções (com exceção de siglas)
% ---
@@ -102,35 +102,35 @@
% ---
% Informações do trabalho
% ---
-\tipotrabalho{Projeto Final de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês)
+\tipotrabalho{Trabalho de Conclusão de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês)
%\tipotrabalho{Tese de Doutorado}
% ---
-\tipocurso{Engenharia de Controle e Automação} % Nome do curso de graduação ou do programa de pós-graduação, em português
+\tipocurso{Engenharia Elétrica} % Nome do curso de graduação ou do programa de pós-graduação, em português
%\tipocurso{Programa de Pós-Graduação em Engenharia Elétrica}
% ---
% Texto que aparece na folha de rosto e na folha de aprovação
-\preambulo{Projeto Final de Curso submetido como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação.}
+\preambulo{Trabalho de Conclusão de Curso submetido como requisito parcial para obtenção do grau de Engenheiro Eletricista.}
%\preambulo{Tese de Doutorado submetida ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade de Brasília como parte dos requisitos necessários para obtenção do grau de Doutor.}
% Consulte a secretaria/coordenação do curso para saber o que deve ser escrito no preâmbulo. Use português mesmo que o trabalho seja em inglês.
% ---
% Informação adicional para ser impressa na folha de rosto
\publicacao{} % Deixe o argumento vazio caso não haja
-%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações no trabalho no topo da página da ficha catalográfica
+%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações do trabalho no topo da página da ficha catalográfica
% ---
% ---
% Instituição
% ---
-\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês
-%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica
+%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês
+\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica
% ---
% ---
% Local e data da defesa
% ---
\local{Brasília}
-\dia{2}
-\mes{março}
+\dia{4}
+\mes{julho}
\ano{2024}
% ---
@@ -148,7 +148,7 @@
\membrodabancav{} % Deixe vazio se não tiver o quinto membro
\membrodabancavfuncao{Examinador externo}
% Comprimento da linha da assinatura (ajuste conforme necessidade)
-\setlength{\ABNTEXsignwidth}{9cm}
+\signlinewidth{9cm}
% ---
% ---
@@ -212,7 +212,7 @@ Agradecimentos do segundo autor.
% Primeiro autor
\begin{DedicatoriaAutorI}
-Este trabalho é dedicado às crianças adultas que, \\
+Este trabalho é dedicado às crianças adultas que,\\
quando pequenas, sonharam em se tornar cientistas.
\end{DedicatoriaAutorI}
@@ -334,6 +334,7 @@ Dedicatória do segundo autor.
% Referências bibliográficas
% ---
% Arquivo com as referências bibliográficas
+\bibhang{2.2em} % Recuo da margem esquerda da lista de referências
\bibliography{unbtex-example/referencias} % O estilo de citação é selecionado automaticamente
% ---
diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
index 63bad4c7b5..d482ac0000 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
@@ -7,6 +7,9 @@ A \cpageref{marcaunb.1} foi extraída do \emph{manual de identidade visual}\foot
\cleardoublepage
\newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas
+\makepagestyle{simple}
+\makeevenhead{simple}{\footnotesize\thepage}{}{}
+\makeoddhead{simple}{}{}{\footnotesize\thepage}
\includepdf[
pages=-, % intervalo das páginas do arquivo pdf que serão incluídas
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
index 46eed2b2bc..1eb8ccc3b2 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
@@ -264,9 +264,7 @@ A \cref{sec:citacao} descreve o ambiente \texttt{citacao}, que pode receber como
A ficha catalográfica é um elemento pré-textual obrigatório para todos os trabalhos acadêmicos (teses, dissertações e trabalhos de conclusão de curso). No site da Biblioteca Central da UnB\footnote{\url{https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/}} há mais informações a respeito. A classe UnB\TeX\ gera automaticamente a ficha catalográfica com as informações do trabalho, com opção de inclusão do código Cutter.
-A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor.
-
-Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser:
+A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor. Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser:
\begin{verbatim}
Lisboa, Carlos
\end{verbatim}
@@ -276,7 +274,7 @@ Nenhuma outra informação é necessária para gerar o código que, no caso dess
\end{verbatim}
Note que na ficha catalográfica gerada aparecerá \texttt{L769m}. A letra \textbf{L} maiúscula, correspondente à primeira letra do sobrenome \textbf{Lisboa}, é automaticamente adicionada na frente do número. A letra \textbf{m} minúscula, correspondente à primeira letra do título do trabalho (neste caso, \emph{Modelo de trabalho acadêmico com UnB\TeX}), é adicionada no final do número.
-Se seu nome for, por exemplo, Carlos de Souza, utilize
+Se o nome do autor for, por exemplo, Carlos de Souza, utilize
\begin{verbatim}
Souza, Carlos de
\end{verbatim}
@@ -289,12 +287,12 @@ como entrada da ferramenta online que gera o código Cutter. Caso não deseje im
\section{Inclusão de outros arquivos}\label{sec:include}
% ---
-É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Esse recurso foi utilizado neste documento. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando:
+É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando:
\begin{verbatim}
\include{documento-a-ser-incluido} % sem a extensão .tex
\end{verbatim}
-Para incluir documentos sem que haja necessariamente quebra de páginas, utilize o comando:
+Para incluir documentos haver necessariamente quebra de páginas, utilize o comando:
\begin{verbatim}
\input{documento-a-ser-incluido} % sem a extensão .tex
\end{verbatim}
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
index 30514e0f81..676cedb21c 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
@@ -136,7 +136,7 @@ O pacote \textsf{subfig} foi utilizado para inserir as \cref{fig:subfigura_circu
\caption{Figura com subfiguras}
\label{fig:subfiguras}
\subfloat[Primeira subfigura]{\label{fig:subfigura_circuito} \centering
- \includegraphics[scale=1]{circuito.pdf}}
+ \includegraphics[scale=1]{circuito.pdf}}
\subfloat[Segunda subfigura]{\label{fig:subfigura_grafico} \hspace{0.4em}
\centering \includegraphics[scale=1.2]{diodocurva.pdf}}
\end{figure}
@@ -175,15 +175,13 @@ Caso queira utilizar as mesmas fontes tipográficas do texto para escrever dentr
\label{fig:psgrag}
\end{figure}
-Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador).
-
-\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
-
-Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}:
+Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}:
\begin{verbatim}
\psfrag{g}[c][c]{\footnotesize $G(s)$}
\end{verbatim}
+\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
+
O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}.
Evite o uso de figuras no formato \texttt{eps} no documento principal. Documentos que usam a classe UnB\TeX\ precisam ser compilados pelo \texttt{pdfLaTeX}, que inicialmente converte os arquivos \texttt{eps} para o formato \texttt{pdf}, exigindo maior tempo de processamento. O projeto auxiliar (\cref{cod:tex}) usa a classe \texttt{article} e admite compilador \texttt{LaTeX}, que não necessita de etapas adicionais para processar códigos que chamam arquivos \texttt{eps}. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
index cb9577b192..71c5eaf5c6 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
@@ -1,5 +1,5 @@
% ----------------------------------------------------------
-\chapter{Ambientes}
+\chapter{Ambientes do UnB\TeX}
% ----------------------------------------------------------
A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{thm:WYSIWYG}, \cref{exc:in}, \cref{alg:NNMPC}, etc.). Esses ambientes foram adaptados a partir do modelo de \citeonline{Castro2019}.
@@ -51,7 +51,7 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina
\section{Algoritmo}
-O \cref{alg:NNMPC} é um pseudo-código para obtenção de um controlador preditivo baseado em modelo e em redes neurais.
+O \cref{alg:NNMPC} é um exemplo de pseudo-código.
\begin{algorithm}[htb]
%\linespread{1.0}\selectfont % espaçamento entre as linhas do algoritmo
diff --git a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
index d247828400..699d20461f 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
+++ b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
@@ -12,7 +12,7 @@
pages = {342--351}}
@article{van86,
- author = {{van}, Gigch, John P. and Leo L. Pipino},
+ author = {John P. van Gigch and Leo L. Pipino},
journal = {Future Computing Systems},
number = {1},
pages = {71-97},
@@ -53,7 +53,7 @@
@inproceedings{martin1997,
address = {Rio de Janeiro},
- author = {Martin, Neto, L. and C. Bayer and J. Mielniczuk},
+ author = {L. Martin{ }Neto and C. Bayer and J. Mielniczuk},
booktitle = {Resumos do [...]},
conference-number = {26},
conference-year = {1997},
diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls
index 39f277761d..332fdce505 100644
--- a/macros/latex/contrib/unbtex/unbtex.cls
+++ b/macros/latex/contrib/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.1 2024/03/02
+%% Version 1.5.2 2024/07/04
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/03/02 v1.5.1 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/07/04 v1.5.2 Modelo da Universidade de Brasília baseado em abnTeX2]
% ------------------------------------------------------------------------
% Opções para a classe
@@ -118,9 +118,20 @@
\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo
\frenchspacing % Retira espaço extra entre as frases (após o ponto final)
\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos
+\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+
+% Configurações das margens e cabeçalho
+\AtBeginDocument{
+\setlrmarginsandblock{3cm}{2cm}{*} % Margens esquerda e direita
+\setulmarginsandblock{3cm}{2cm}{*} % Margens superior e inferior
+\checkandfixthelayout[nearest] % Implementa as margens
+\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
+}
+
+% Espaçamento para notas de rodapé
\setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé
\addtolength{\footnotesep}{2pt} % Espaço entre as notas de rodapé
-\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+\renewcommand*{\footnoterule}{\kern-3pt \hrule width 5cm \kern 2.6pt} % Tamanho do traço superior (5cm)
% Ajusta espaço entre texto e figuras/tabelas
\setlength{\textfloatsep}{18pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no topo/base da página
@@ -137,9 +148,6 @@
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter}
\renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter}
-% Configuração do cabeçalho das páginas
-\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
-
% Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim
\RequirePackage{fvextra}
\renewenvironment{verbatim}{\VerbatimEnvironment
@@ -385,16 +393,15 @@
\urlstyle{same}
}
% Gera as referências bibliográficas de acordo com as normas da ABNT
+\newcommand{\bibhang}[1]{\setlength{\bibindent}{#1}}
\IfStrEq{\bibsty}{alf}{% Estilo autor-data
-\newcommand{\recuo}{3em} % Indentação da lista de referências
-\RequirePackage[alf,recuo=\recuo,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
\renewcommand{\@biblabel}[1]{}%
\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}}
}{%
\IfStrEq{\bibsty}{num}{% Estilo numérico
-\newcommand{\recuo}{2.2em} % Aumente este valor se o número de referências for superior a 100
-\RequirePackage[num,recuo=\recuo,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[num,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações
\renewcommand{\@biblabel}[1]%
{%
@@ -408,7 +415,7 @@
{\setlength{\ABCIauxlen}{\minimumbiblabelwidth-\ABCIauxlen}}%
{\setlength{\ABCIauxlen}{0cm}}%
%{\biblabeltext\hspace{\ABCIauxlen}}%
-\parbox[t]{\recuo}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
+\parbox[t]{\bibindent}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
}}%
\renewcommand{\citeonline}[2][] % Redefine \citeonline como \cite
{\ifthenelse{\equal{#1}{}}{\cite{#2}}{\cite[#1]{#2}}}
@@ -465,19 +472,36 @@
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\figurename},
dynnumwidth,
- %numsep=0em
]{tocline}{figure}
\DeclareTOCStyleEntry[
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\tablename},
dynnumwidth,
- %numsep=0em
]{tocline}{table}
\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill}
% ---
% ---
+% Citacao direta com mais de 3 linhas - ABNT NBR 10520/2002 - 5.3
+% Corrige tamanho do recuo do ambiente citacao do abntex2 para 4cm
+% ---
+\ifthenelse{\equal{\ABNTEXistwocolumn}{true}}{%
+ \setlength{\ABNTEXcitacaorecuo}{1.8cm}
+}{% else
+ \setlength{\ABNTEXcitacaorecuo}{4cm}
+}
+\renewenvironment*{citacao}[1][default]{%
+ \begin{adjustwidth}{\ABNTEXcitacaorecuo}{0mm}%
+ \ABNTEXfontereduzida%
+ \begin{SingleSpace}%
+ \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}%
+}{%
+ \end{SingleSpace}%
+ \end{adjustwidth}}
+% ---
+
+% ---
% Define o texto dos rótulos de acordo com o idioma principal selecionado
% ---
\AtBeginDocument{
@@ -611,13 +635,14 @@
\renewcommand{\imprimircapa}{%
\hypersetup{pageanchor=false}
\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa
-\checkandfixthelayout[nearest]
+\setulmarginsandblock{3cm}{2cm}{*}
+\checkandfixthelayout[fixed]
\begin{capa}%
\center
\AddToShipoutPicture*{\BackgroundPic}
\vspace*{7.5cm}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
@@ -641,7 +666,7 @@
% Reestabelece as margens
\setlrmarginsandblock{3cm}{2cm}{*}
\setulmarginsandblock{3cm}{2cm}{*}
-\checkandfixthelayout[fixed]
+\checkandfixthelayout[nearest]
\cleardoublepage
\hypersetup{pageanchor=true}
}
@@ -652,8 +677,7 @@
\put(0,0){%
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
- \centering
- \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
+ \centering \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
\vfill
}
}
@@ -665,8 +689,8 @@
% ---
\renewcommand{\folhaderostocontent}{%
\begin{center}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries \instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill\vfill
\begin{center}
@@ -712,7 +736,7 @@
\ifthenelse{\equal{\imprimirpublicacao}{}}{}{
\begin{OnehalfSpace}
{\noindent\sffamily\large REFERÊNCIA BIBLIOGRÁFICA}\par
-\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\ }}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
+\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\}}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
\end{OnehalfSpace}}
\IfInteger{\imprimircutter}{\setlength{\fboxsep}{10pt}}{\setlength{\fboxsep}{18pt}}
\vspace*{\fill}
@@ -724,7 +748,7 @@
\IfInteger{\imprimircutter}{\begin{tabular}{p{1.25cm} p{10.25cm}}}{} \cutter
\autorisobrenome, \autorinome. \\
\IfInteger{\imprimircutter}{\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp}}{} \cutter
-\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
+\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\} ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
\hspace*{2em}\noindent \thelastpage~p. \\ \cutter
\\ \cutter
\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter
@@ -742,18 +766,19 @@
% ---
% Imprime folha de aprovação
% ---
+\newcommand{\signlinewidth}[1]{\setlength{\ABNTEXsignwidth}{#1}}
\newcommand{\imprimirfolhadeaprovacao}{%
\begin{folhadeaprovacao}
\begin{center}
- {\Large{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\Large\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
- \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\ }}
+ \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\}}
\ifthenelse{\equal{\titleformat}{\large}}
- {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
- {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
+ {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\}\par}
+ {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\}\par}
\end{center}
\vfill
@@ -781,10 +806,6 @@
\abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
\abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}
}
-%\vfill
-% \begin{center}
-% {\sffamily\large\imprimirlocal \\ \imprimirano\par}
-% \end{center}
\end{center}
\end{folhadeaprovacao}
}
diff --git a/macros/latex/contrib/unicodefonttable/changes.txt b/macros/latex/contrib/unicodefonttable/changes.txt
index 3a8e048f31..ba49c7bd2f 100644
--- a/macros/latex/contrib/unicodefonttable/changes.txt
+++ b/macros/latex/contrib/unicodefonttable/changes.txt
@@ -1,3 +1,11 @@
+2024-06-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * unicodefonttable.dtx:
+ provide updated class file for documentation
+
+ (subsection{User interface commands}):
+ Temp fix for problem with lttagging.dtx
+
2023-05-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* unicodefonttable.dtx (subsection{Handling block titles}):
diff --git a/macros/latex/contrib/unicodefonttable/l3doc-TUB.cls b/macros/latex/contrib/unicodefonttable/l3doc-TUB2024.cls
index 50a8a9a9d9..0c5a3f20c5 100644
--- a/macros/latex/contrib/unicodefonttable/l3doc-TUB.cls
+++ b/macros/latex/contrib/unicodefonttable/l3doc-TUB2024.cls
@@ -1,11 +1,12 @@
%%
-%% This is file `l3doc-TUB.cls'
+%% This is file `l3doc.cls',
+%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% l3doc.dtx (with options: `class') + several manual changes!
+%% l3doc.dtx (with options: `class')
%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
+%% Copyright (C) 1990-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -14,8 +15,9 @@
%%
%% https://www.latex-project.org/lppl.txt
%%
-%% File: l3doc.dtx Copyright (C) 1990-2018 The LaTeX3 project
-%%
+%% This file is part of the "l3kernel bundle" (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This is really a temporary file intended for a single article
@@ -30,10 +32,10 @@
%% was meant for (which so far is 2) you are on your own :-)
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\RequirePackage{expl3,xparse,calc}
-\ProvidesExplClass{l3doc-TUB}{2021/03/02}{}
- {L3 Experimental documentation class (special version for TUGboat with fixes)}
+%% File: l3doc.dtx
+\RequirePackage{calc}
+\ProvidesExplClass{l3doc-TUB2024}{2024-05-08}{}
+ {L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
\seq_new:N \g_doc_macros_seq
@@ -54,8 +56,9 @@
\prop_new:N \g__codedoc_missing_tests_prop
\seq_new:N \g__codedoc_not_tested_seq
\seq_new:N \g__codedoc_testfiles_seq
-\bool_new:N \l__codedoc_macro_internal_set_bool
+\bool_new:N \l__codedoc_macro_deprecated_bool
\bool_new:N \l__codedoc_macro_internal_bool
+\bool_new:N \l__codedoc_macro_nodoc_bool
\bool_new:N \l__codedoc_macro_TF_bool
\bool_new:N \l__codedoc_macro_pTF_bool
\bool_new:N \l__codedoc_macro_noTF_bool
@@ -69,6 +72,9 @@
\bool_new:N \g__codedoc_checkfunc_bool
\bool_new:N \g__codedoc_checktest_bool
\bool_new:N \g__codedoc_kernel_bool
+\bool_new:N \g__codedoc_cs_break_bool
+\bool_new:N \g__codedoc_show_notes_bool
+\bool_gset_true:N \g__codedoc_cs_break_bool
\tl_new:N \l__codedoc_tmpa_tl
\tl_new:N \l__codedoc_tmpb_tl
\int_new:N \l__codedoc_tmpa_int
@@ -78,12 +84,10 @@
\bool_new:N \l__codedoc_names_verb_bool
\seq_new:N \l__codedoc_names_seq
\seq_new:N \g__codedoc_nested_names_seq
-\tl_const:Nx \c__codedoc_backslash_tl { \iow_char:N \\ }
-\exp_last_unbraced:NNo
- \cs_new_eq:NN \c__codedoc_backslash_token { \c__codedoc_backslash_tl }
\tl_new:N \l__codedoc_index_macro_tl
\tl_new:N \l__codedoc_index_key_tl
\tl_new:N \l__codedoc_index_module_tl
+\tl_new:N \l__codedoc_macro_do_not_index_tl
\bool_new:N \l__codedoc_index_internal_bool
\tl_new:N \g__codedoc_module_name_tl
\tl_const:Nn \c__codedoc_iow_rule_tl
@@ -113,39 +117,20 @@
\cs_new_eq:NN \__codedoc_tmpa:w ?
\cs_new_eq:NN \__codedoc_tmpb:w ?
\cs_generate_variant:Nn \seq_set_split:Nnn { NoV }
-\cs_generate_variant:Nn \seq_gput_right:Nn { Nf }
-\cs_generate_variant:Nn \str_case:nn { fn }
-\cs_generate_variant:Nn \tl_count:n { f }
-\cs_generate_variant:Nn \tl_greplace_all:Nnn { Nx , Nno }
-\cs_generate_variant:Nn \tl_if_empty:nTF { f }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNTF { o }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNT { o }
-\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF { o }
-\cs_generate_variant:Nn \tl_if_head_eq_meaning:nNF { V }
-\cs_generate_variant:Nn \tl_if_in:nnTF { no , oo }
-\cs_generate_variant:Nn \tl_if_in:NnTF { No }
-\cs_generate_variant:Nn \tl_if_in:NnT { No }
-\cs_generate_variant:Nn \tl_if_in:NnF { No }
-\cs_generate_variant:Nn \tl_remove_all:Nn { Nx }
-\cs_generate_variant:Nn \tl_replace_all:Nnn { Nx , Nnx, No , Nno }
-\cs_generate_variant:Nn \tl_replace_once:Nnn { Noo }
-\cs_generate_variant:Nn \tl_to_str:n { f , o }
-\cs_generate_variant:Nn \prop_get:NnNTF { Nx }
-\cs_generate_variant:Nn \prop_put:Nnn { Nx }
-\cs_generate_variant:Nn \prop_gput:Nnn { NVx }
+\cs_generate_variant:Nn \tl_to_str:n { f }
\prg_new_protected_conditional:Npnn \__codedoc_if_almost_str:n #1 { TF , T , F }
{
\int_compare:nNnTF
{ \tl_count:n {#1} }
- < { \tl_count:f { \tl_to_str:f {#1} } }
+ < { \tl_count:e { \tl_to_str:f {#1} } }
{ \prg_return_false: }
{ \prg_return_true: }
}
-\cs_generate_variant:Nn \__codedoc_if_almost_str:nT { V }
+\prg_generate_conditional_variant:Nnn \__codedoc_if_almost_str:n { V } { T }
\cs_new_protected:Npn \__codedoc_trim_right:Nn #1#2
{
\cs_set:Npn \__codedoc_tmp:w ##1 #2 ##2 \q_stop { \exp_not:n {##1} }
- \tl_set:Nx #1 { \exp_after:wN \__codedoc_tmp:w #1 #2 \q_stop }
+ \__kernel_tl_set:Nx #1 { \exp_after:wN \__codedoc_tmp:w #1 #2 \q_stop }
}
\cs_generate_variant:Nn \__codedoc_trim_right:Nn { No }
\prg_new_protected_conditional:Npnn \__codedoc_str_if_begin:nn #1#2 { TF , T , F }
@@ -160,18 +145,13 @@
{ oo } { TF , T , F }
\cs_new_protected:Npn \__codedoc_replace_at_at:N #1
{
- \bool_if:NT \l__codedoc_in_implementation_bool
- {
- \bool_if:NT \l__codedoc_detect_internals_bool
- { \__codedoc_detect_internals:N #1 }
- }
\tl_if_empty:NF \g__codedoc_module_name_tl
{
\exp_args:NNo \__codedoc_replace_at_at_aux:Nn
#1 \g__codedoc_module_name_tl
}
}
-\cs_new_protected:Npx \__codedoc_replace_at_at_aux:Nn #1#2
+\cs_new_protected:Npe \__codedoc_replace_at_at_aux:Nn #1#2
{
\tl_replace_all:Nnn #1 { \token_to_str:N @ } { @ }
\tl_replace_all:Nnn #1 { \token_to_str:N _ } { _ }
@@ -181,12 +161,17 @@
\tl_replace_all:Nnn #1 { @ @ } { _ _ #2 }
\tl_replace_all:Nnn #1 { \token_to_str:N a a } { @ @ }
}
+\cs_new_protected:Npn \__codedoc_detect_internals:N #1
+ {
+ \bool_if:NT \l__codedoc_detect_internals_bool
+ { \__codedoc_detect_internals_aux:N #1 }
+ }
\group_begin:
\char_set_catcode_active:N \^^M
- \cs_new_protected:Npn \__codedoc_detect_internals:N #1
+ \cs_new_protected:Npn \__codedoc_detect_internals_aux:N #1
{
\tl_set_eq:NN \l__codedoc_detect_internals_tl #1
- \tl_replace_all:Non \l__codedoc_detect_internals_tl { \token_to_str:N _ } { _ }
+ \tl_replace_all:NVn \l__codedoc_detect_internals_tl \c_underscore_str { _ }
\seq_set_split:NnV \l__codedoc_tmpa_seq { _ _ } \l__codedoc_detect_internals_tl
\seq_pop_left:NN \l__codedoc_tmpa_seq \l__codedoc_detect_internals_tl
\seq_map_variable:NNn \l__codedoc_tmpa_seq \l__codedoc_detect_internals_tl
@@ -200,7 +185,7 @@
\__codedoc_trim_right:Nn \l__codedoc_detect_internals_tl _
\__codedoc_trim_right:Nn \l__codedoc_detect_internals_tl :
\__codedoc_trim_right:No \l__codedoc_detect_internals_tl { \token_to_str:N : }
- \msg_warning:nnxxx { l3doc-TUB } { foreign-internal }
+ \msg_warning:nneee { l3doc } { foreign-internal }
{ \tl_to_str:N \l__codedoc_detect_internals_cs_tl }
{ \tl_to_str:N \l__codedoc_detect_internals_tl }
{ \tl_to_str:N \g__codedoc_module_name_tl }
@@ -237,6 +222,7 @@
{ n } { n }
{ o } { n }
{ f } { n }
+ { e } { n }
{ x } { n }
{ V } { n }
{ v } { n }
@@ -279,29 +265,30 @@
\__codedoc_if_almost_str:nTF {#1}
{
\__codedoc_key_get_base_TF:nN {#1} \l__codedoc_tmpa_tl
- \tl_set:Nx #2
+ \__kernel_tl_set:Nx #2
{ \__codedoc_split_function_do:on \l__codedoc_tmpa_tl { \__codedoc_base_form_aux:nnN } }
}
{ \tl_set:Nn #2 {#1} }
}
-\cs_new:Npx \__codedoc_key_get_base_TF:nN #1#2
+\cs_new:Npe \__codedoc_key_get_base_TF:nN #1#2
{
- \tl_set:Nx #2 { \exp_not:N \tl_to_str:n {#1} \scan_stop: }
- \tl_if_in:NnTF #2 { \tl_to_str:n { F } \scan_stop: }
+ \__kernel_tl_set:Nx #2 { \exp_not:N \tl_to_str:n {#1} }
+ \tl_if_in:NoF #2 { \tl_to_str:n {:} }
+ { \exp_not:N \prg_break: }
+ \tl_if_in:onT { #2 z } { \tl_to_str:n {TF} z }
+ { \exp_not:N \prg_break: }
+ \tl_if_in:onT { #2 z } { \tl_to_str:n {T} z }
{
- \tl_if_in:NnF #2 { \tl_to_str:n { TF } \scan_stop: }
- {
- \tl_replace_once:Nnn #2
- { \tl_to_str:n { F } \scan_stop: }
- { \tl_to_str:n { TF } \scan_stop: }
- }
+ \tl_put_right:Nn #2 { \tl_to_str:n {F} }
+ \exp_not:N \prg_break:
}
+ \tl_if_in:onT { #2 z } { \tl_to_str:n {F} z }
{
- \tl_replace_once:Nnn #2
- { \tl_to_str:n { T } \scan_stop: }
- { \tl_to_str:n { TF } \scan_stop: }
+ \tl_put_right:Nn #2 { z }
+ \tl_replace_once:Nnn #2 { \tl_to_str:n {F} z } { \tl_to_str:n {TF} }
+ \exp_not:N \prg_break:
}
- \tl_remove_once:Nn #2 { \scan_stop: }
+ \exp_not:N \prg_break_point:
}
\cs_new:Npn \__codedoc_base_form_aux:nnN #1#2#3
{
@@ -309,7 +296,9 @@
\bool_if:NT #3
{
\token_to_str:N :
- \str_if_eq:nnTF { #1 ~ } { \exp_args }
+ \bool_lazy_or:nnTF
+ { \str_if_eq_p:nn { #1 ~ } { \exp_args } }
+ { \str_if_eq_p:nn { #1 ~ } { \exp_last_unbraced } }
{ \exp_not:n {#2} }
{ \__codedoc_signature_base_form:n {#2} }
}
@@ -326,7 +315,7 @@
\tl_if_head_eq_charcode:nNTF {#4} :
{ #2 {#1} }
{
- \use:x
+ \use:e
{
\exp_not:n {#3}
{ \__codedoc_base_form_aux:nnN {#4} {#5} #6 }
@@ -373,7 +362,7 @@
}
\cs_new:Npn \__codedoc_gprop_name:n #1 { g__codedoc ~ \tl_to_str:n {#1} }
\cs_new:Npn \__codedoc_lseq_name:n #1 { l__codedoc ~ \tl_to_str:n {#1} }
-\msg_new:nnnn { l3doc-TUB } { no-signature-TF }
+\msg_new:nnnn { l3doc } { no-signature-TF }
{ Function/macro~'#1'~cannot~be~turned~into~a~conditional. }
{
A~function~or~macro~environment~with~option~pTF,~TF~or~noTF~
@@ -381,58 +370,56 @@
':'~hence~it~is~not~clear~where~to~add~'_p'~or~'TF'.~
Please~follow~expl3~naming~conventions.
}
-\msg_new:nnn { l3doc-TUB } { deprecated-function }
- { The~deprecated~function(s)~'#1'~should~have~been~removed~on~#2. }
-\msg_new:nnn { l3doc-TUB } { date-format }
+\msg_new:nnn { l3doc } { date-format }
{ The~date~'#1'~should~be~given~in~YYYY-MM-DD~format. }
-\msg_new:nnn { l3doc-TUB } { syntax-nested-function }
+\msg_new:nnn { l3doc } { future-date }
+ { The~added/updated~date~'#2'~of~'#1'~is~in~the~future. }
+\msg_new:nnn { l3doc } { syntax-nested-function }
{
The~'syntax'~environment~should~be~used~in~the~
innermost~'function'~environment.
}
-\msg_new:nnn { l3doc-TUB } { multiple-syntax }
+\msg_new:nnn { l3doc } { multiple-syntax }
{
The~'syntax'~environment~should~only~be~used~once~in~
a~'function'~environment.
}
-\msg_new:nnn { l3doc-TUB } { deprecated-option }
+\msg_new:nnn { l3doc } { deprecated-option }
{ The~option~'#1'~has~been~deprecated~for~'#2'. }
-\msg_new:nnn { l3doc-TUB } { foreign-internal }
+\msg_new:nnn { l3doc } { foreign-internal }
{
A~control~sequence~of~the~form~'...__#1'~was~used.~
It~should~only~be~used~in~the~module~'#2'
\tl_if_empty:nF {#3} { ,~not~in~'#3' } .
}
-\DeclareOption { a5paper } { \@latexerr { Option~not~supported } { } }
-\DeclareOption { full }
- {
- \bool_gset_true:N \g__codedoc_typeset_documentation_bool
- \bool_gset_true:N \g__codedoc_typeset_implementation_bool
- }
-\DeclareOption { onlydoc }
- {
- \bool_gset_true:N \g__codedoc_typeset_documentation_bool
- \bool_gset_false:N \g__codedoc_typeset_implementation_bool
- }
-\DeclareOption { check }
- { \bool_gset_true:N \g__codedoc_checkfunc_bool }
-\DeclareOption { nocheck }
- { \bool_gset_false:N \g__codedoc_checkfunc_bool }
-\DeclareOption { checktest }
- { \bool_gset_true:N \g__codedoc_checktest_bool }
-\DeclareOption { nochecktest }
- { \bool_gset_false:N \g__codedoc_checktest_bool }
-\DeclareOption { kernel }
- { \bool_gset_true:N \g__codedoc_kernel_bool }
-\DeclareOption { stdmodule }
- { \bool_gset_false:N \g__codedoc_kernel_bool }
-\DeclareOption { cm-default }
- { \bool_gset_false:N \g__codedoc_lmodern_bool }
-\DeclareOption { lm-default }
- { \bool_gset_true:N \g__codedoc_lmodern_bool }
-\DeclareOption* { \PassOptionsToClass { \CurrentOption } { ltugboat } }
-\ExecuteOptions { full, kernel, nocheck, nochecktest, lm-default }
-%%FMi \PassOptionsToClass { a4paper } { article }
+\DeclareKeys [ l3doc / options ]
+ {
+ a5paper .code:n = \@latexerr { Option~not~supported } { } ,
+ full .code:n =
+ {
+ \bool_gset_true:N \g__codedoc_typeset_documentation_bool
+ \bool_gset_true:N \g__codedoc_typeset_implementation_bool
+ } ,
+ onlydoc .code:n =
+ {
+ \bool_gset_true:N \g__codedoc_typeset_documentation_bool
+ \bool_gset_false:N \g__codedoc_typeset_implementation_bool
+ } ,
+ check .bool_gset:N = \g__codedoc_checkfunc_bool ,
+ checktest .bool_gset:N = \g__codedoc_checktest_bool ,
+ kernel .bool_gset:N = \g__codedoc_kernel_bool ,
+ stdmodule .bool_gset_inverse:N = \g__codedoc_kernel_bool ,
+ lm-default .bool_gset:N = \g__codedoc_lmodern_bool ,
+ cs-break .bool_gset_inverse:N = \g__codedoc_cs_break_bool ,
+ cs-break-nohyphen .code:n = \PassOptionsToPackage{nohyphen}{underscore} ,
+ show-notes .bool_gset:N = \g__codedoc_show_notes_bool,
+ hide-notes .bool_gset_inverse:N = \g__codedoc_show_notes_bool
+ }
+\DeclareUnknownKeyHandler [ l3doc / options ]
+ { \PassOptionsToClass { \CurrentOption } { ltugboad } }
+\SetKeys [ l3doc / options ]
+ { full , check = false , checktest = false , lm-default }
+%\PassOptionsToClass { a4paper } { article }
\msg_new:nnn { l3doc-TUB } { input-cfg }
{ Local~config~file~l3doc-TUB.cfg~loaded. }
\file_if_exist:nT { l3doc-TUB.cfg }
@@ -443,28 +430,11 @@
{ \msg_info:nn { l3doc-TUB } { input-cfg } }
}
}
-\ProcessOptions
+\ProcessKeyOptions [ l3doc / options ]
\LoadClass[final]{ltugboat}
\RequirePackage{doc}
-
-\newcommand\bibname{References} % otherwise \bibname is undefined at \Finale
-\TBtocsectionspace=0pt plus 1pt
-
-\IndexPrologue
- {\section*{Index}
- \markboth{Index}{Index}
- \addcontentsline{toc}{section}{Index}
- \noindent
- Underlined numbers point to the definition,
- italicized numbers denote the pages where the
- corresponding entry is described,
- all others indicate the places where it is used.}
-%\EnableCrossrefs
-%\CodelineIndex
-
\RequirePackage
{
- microtype,
array,
alphalph,
amsmath,
@@ -477,9 +447,9 @@
pifont,
textcomp,
trace,
- underscore,
csquotes,
fancyvrb,
+ underscore,
verbatim
}
\raggedbottom
@@ -492,12 +462,10 @@
\DeclareFontShape{T1}{lmtt}{m}{it}{<->ec-lmtto10}{}
\group_end:
}
-
\RequirePackage{hypdoc}
-
%%FMi:
\hypersetup{allcolors=black}
-
+
\cs_gset:Npn \MakePrivateLetters
{
\char_set_catcode_letter:N \@
@@ -514,8 +482,8 @@
\cs_gset_eq:NN \endverbatim \endVerbatim
\cs_set_protected:Npn \ifnot@excluded
{
- \exp_args:Nxx \expanded@notin
- { \c__codedoc_backslash_tl \tl_to_str:N \macro@namepart , }
+ \exp_args:Nee \expanded@notin
+ { \c_backslash_str \tl_to_str:N \macro@namepart , }
{ \exp_args:NV \tl_to_str:n \index@excludelist }
}
\cs_new:Npn \pdfstringnewline { : ~ }
@@ -532,19 +500,19 @@
{ \__codedoc_oldlist:nn {#1} { #2 \dim_zero:N \listparindent } }
\setlength \parindent { 2em }
\setlength \itemindent { 0pt }
-\setlength \parskip { 1pt plus 3pt minus 0pt }
+\setlength \parskip { 0pt plus 3pt minus 0pt }
\tl_gset:Nn \partname {File}
\@addtoreset{section}{part}
\cs_gset:Npn \l@section #1#2
{
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
- \addvspace{\TBtocsectionspace}%
+ \addvspace{1.0em \@plus\p@}
\setlength\@tempdima{2.5em} % was 1.5em
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
- \leavevmode \TBtocsectionfont
+ \leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
@@ -557,6 +525,7 @@
{
\MakeShortVerb \"
\MakeShortVerb \|
+%FMi
\onecolumn
\SelfDocumenting
}
@@ -575,18 +544,19 @@
\providecommand*\upTeX{up\kern-.2em\hologo{TeX}}
\providecommand*\epTeX{$\varepsilon$-\pTeX}
\providecommand*\eupTeX{$\varepsilon$-\upTeX}
+\providecommand*\ConTeXt{\hologo{ConTeXt}}
\DeclareDocumentCommand \cmd { O{} m }
{ \__codedoc_cmd:no {#1} { \token_to_str:N #2 } }
\DeclareDocumentCommand \cs { O{} m }
- { \__codedoc_cmd:no {#1} { \c__codedoc_backslash_tl #2 } }
+ { \__codedoc_cmd:no {#1} { \c_backslash_str #2 } }
\DeclareDocumentCommand \tn { O{} m }
{
\__codedoc_cmd:no
{ module = TeX , replace = false , #1 }
- { \c__codedoc_backslash_tl #2 }
+ { \c_backslash_str #2 }
}
\DeclareDocumentCommand \meta { m }
- { \__codedoc_meta:n {#1} }
+ { \texttt{ \__codedoc_meta:n {#1} } }
\DeclareExpandableDocumentCommand
{ \__codedoc_pdfstring_cmd:w } { o m } { \token_to_str:N #2 }
\DeclareExpandableDocumentCommand
@@ -595,16 +565,17 @@
{ < \tl_to_str:n {#1} > }
\pdfstringdefDisableCommands
{
- \cs_set_eq:NN \cmd \__codedoc_pdfstring_cmd:w
- \cs_set_eq:NN \cs \__codedoc_pdfstring_cs:w
- \cs_set_eq:NN \tn \__codedoc_pdfstring_cs:w
- \cs_set_eq:NN \meta \__codedoc_pdfstring_meta:w
+ \cs_set_eq:NN \cmd \__codedoc_pdfstring_cmd:w
+ \cs_set_eq:NN \cs \__codedoc_pdfstring_cs:w
+ \cs_set_eq:NN \tn \__codedoc_pdfstring_cs:w
+ \cs_set_eq:NN \meta \__codedoc_pdfstring_meta:w
+ \cs_set_eq:NN \__codedoc_meta:n \__codedoc_pdfstring_meta:w
}
\newcommand\Arg[1]
- { \texttt{\char`\{} \meta{#1} \texttt{\char`\}} }
+ { \texttt{\char`\{} \__codedoc_meta:n {#1} \texttt{\char`\}} }
\providecommand\marg[1]{ \Arg{#1} }
-\providecommand\oarg[1]{ \texttt[ \meta{#1} \texttt] }
-\providecommand\parg[1]{ \texttt( \meta{#1} \texttt) }
+\providecommand\oarg[1]{ \texttt[ \__codedoc_meta:n {#1} \texttt] }
+\providecommand\parg[1]{ \texttt( \__codedoc_meta:n {#1} \texttt) }
\DeclareRobustCommand \file {\nolinkurl}
\DeclareRobustCommand \env {\texttt}
\DeclareRobustCommand \pkg {\textsf}
@@ -679,28 +650,31 @@
\NewDocumentCommand { \CodedocExplainEXP } { }
{
\raisebox{\baselineskip}[0pt][0pt]{\hypertarget{expstar}{}}%
+ \write \@auxout { \def \string \Codedoc@expstar { } }
\__codedoc_typeset_exp:\ indicates~fully~expandable~functions,~which~
- can~be~used~within~an~\texttt{x}-type~argument~(in~plain~
- \TeX{}~terms,~inside~an~\cs{edef}),~as~well~as~within~an~
- \texttt{f}-type~argument.
+ can~be~used~within~an~\texttt{e}-type~argument~(inside~an~\tn{expanded}),~
+ \texttt{x}-type~argument~(in~plain~\TeX{}~terms,~inside~an~\tn{edef}),~
+ as~well~as~within~an~\texttt{f}-type~argument.
}
\NewDocumentCommand { \CodedocExplainREXP } { }
{
\raisebox{\baselineskip}[0pt][0pt]{\hypertarget{rexpstar}{}}%
+ \write \@auxout { \def \string \Codedoc@rexpstar { } }
\__codedoc_typeset_rexp:\ indicates~
restricted~expandable~functions,~which~can~be~used~within~an~
- \texttt{x}-type~argument~but~cannot~be~fully~expanded~within~an~
- \texttt{f}-type~argument.
+ \texttt{x}-type~argument~or~an~\texttt{e}-type~argument,~
+ but~cannot~be~fully~expanded~within~an~\texttt{f}-type~argument.
}
\NewDocumentCommand { \CodedocExplainTF } { }
{
\raisebox{\baselineskip}[0pt][0pt]{\hypertarget{explTF}{}}%
+ \write \@auxout { \def \string \Codedoc@explTF { } }
\__codedoc_typeset_TF:\ indicates~conditional~(\texttt{if})~functions~
whose~variants~with~\texttt{T},~\texttt{F}~and~\texttt{TF}~
argument~specifiers~expect~different~
\enquote{true}/\enquote{false}~branches.
}
-\keys_define:nn { l3doc-TUB/cmd }
+\keys_define:nn { l3doc/cmd }
{
index .tl_set:N = \l__codedoc_cmd_index_tl ,
module .tl_set:N = \l__codedoc_cmd_module_tl ,
@@ -713,48 +687,56 @@
\bool_set_true:N \l__codedoc_cmd_replace_bool
\tl_set:Nn \l__codedoc_cmd_index_tl { \q_no_value }
\tl_set:Nn \l__codedoc_cmd_module_tl { \q_no_value }
- \keys_set:nn { l3doc-TUB/cmd } {#1}
+ \keys_set:nn { l3doc/cmd } {#1}
\tl_set:Nn \l__codedoc_cmd_tl {#2}
\bool_if:NT \l__codedoc_cmd_replace_bool
{
\tl_set_rescan:Nnn \l__codedoc_tmpb_tl { } { _ }
- \tl_replace_all:Non \l__codedoc_cmd_tl \l__codedoc_tmpb_tl { _ }
+ \tl_replace_all:NVn \l__codedoc_cmd_tl \l__codedoc_tmpb_tl { _ }
\__codedoc_replace_at_at:N \l__codedoc_cmd_tl
- \tl_replace_all:Nno \l__codedoc_cmd_tl { _ } \l__codedoc_tmpb_tl
+ \tl_replace_all:NnV \l__codedoc_cmd_tl { _ } \l__codedoc_tmpb_tl
}
\mode_if_math:T { \mbox }
- {
- \verbatim@font
- \__codedoc_if_almost_str:VT \l__codedoc_cmd_tl
- {
- \tl_set:Nx \l__codedoc_cmd_tl { \tl_to_str:N \l__codedoc_cmd_tl }
- \tl_replace_all:Non \l__codedoc_cmd_tl
- { \token_to_str:N _ } { \_ }
- }
- \tl_replace_all:Nnn \l__codedoc_cmd_tl { ~ } { \@xobeysp }
- \l__codedoc_cmd_tl
- \@
- }
- \bool_if:NF \l__codedoc_cmd_noindex_bool
{
- \quark_if_no_value:NF \l__codedoc_cmd_index_tl
+ \bool_if:NT \l__codedoc_allow_indexing_bool { \__codedoc_target: }
+ \verbatim@font
+ \__codedoc_if_almost_str:VT \l__codedoc_cmd_tl
{
- \tl_set:Nx \l__codedoc_cmd_tl
- { \c_backslash_str \exp_not:o { \l__codedoc_cmd_index_tl } }
+ \__kernel_tl_set:Nx \l__codedoc_cmd_tl { \tl_to_str:N \l__codedoc_cmd_tl }
+ \bool_if:NT \g__codedoc_cs_break_bool
+ {
+ \regex_replace_all:nnN
+ { ([^\\\_]\_*) \_ ([^\_]) }
+ { \1 \c{BreakableUnderscore} \2 }
+ \l__codedoc_cmd_tl
+ }
}
-
- \exp_args:No \__codedoc_key_get:n { \l__codedoc_cmd_tl }
- \quark_if_no_value:NF \l__codedoc_cmd_module_tl
+ \tl_replace_all:Nnn \l__codedoc_cmd_tl { ~ } { \@xobeysp }
+ \l__codedoc_cmd_tl
+ \@
+ }
+ \bool_if:NT \l__codedoc_allow_indexing_bool
+ {
+ \bool_if:NF \l__codedoc_cmd_noindex_bool
{
- \tl_set:Nx \l__codedoc_index_module_tl
- { \tl_to_str:N \l__codedoc_cmd_module_tl }
+ \quark_if_no_value:NF \l__codedoc_cmd_index_tl
+ {
+ \__kernel_tl_set:Nx \l__codedoc_cmd_tl
+ { \c_backslash_str \exp_not:o { \l__codedoc_cmd_index_tl } }
+ }
+ \exp_args:No \__codedoc_key_get:n { \l__codedoc_cmd_tl }
+ \quark_if_no_value:NF \l__codedoc_cmd_module_tl
+ {
+ \__kernel_tl_set:Nx \l__codedoc_index_module_tl
+ { \tl_to_str:N \l__codedoc_cmd_module_tl }
+ }
+ \__codedoc_special_index_module:ooonN
+ { \l__codedoc_index_key_tl }
+ { \l__codedoc_index_macro_tl }
+ { \l__codedoc_index_module_tl }
+ { usage }
+ \l__codedoc_index_internal_bool
}
- \__codedoc_special_index_module:ooonN
- { \l__codedoc_index_key_tl }
- { \l__codedoc_index_macro_tl }
- { \l__codedoc_index_module_tl }
- { usage }
- \l__codedoc_index_internal_bool
}
}
\cs_generate_variant:Nn \__codedoc_cmd:nn { no }
@@ -766,7 +748,7 @@
{
\tl_set_rescan:Nnn \l__codedoc_tmpb_tl
{ \char_set_catcode:nn { `_ } {##1} } { _ }
- \tl_replace_all:Non \l__codedoc_tmpa_tl \l__codedoc_tmpb_tl
+ \tl_replace_all:NVn \l__codedoc_tmpa_tl \l__codedoc_tmpb_tl
{ \__codedoc_ensuremath_sb:n }
}
\exp_args:NV \__codedoc_meta_original:n \l__codedoc_tmpa_tl
@@ -789,18 +771,28 @@
\ensuremath \rangle
}
\cs_new_protected:Npn \__codedoc_typeset_exp:
- { \hyperlink{expstar} {$\star$} }
+ {
+ \cs_if_exist:NTF \Codedoc@expstar
+ { \hyperlink { expstar } }
+ { \mbox }
+ {$\star$}
+ }
\cs_new_protected:Npn \__codedoc_typeset_rexp:
- { \hyperlink{rexpstar} {\ding{73}} } % hollow star
+ {
+ \cs_if_exist:NTF \Codedoc@rexpstar
+ { \hyperlink { rexpstar } }
+ { \mbox }
+ { \ding { 73 } } % hollow star
+ }
\cs_new_protected:Npn \__codedoc_typeset_TF:
{
- \hyperlink{explTF}
+ \cs_if_exist:NTF \Codedoc@explTF
+ { \hyperlink { explTF } }
+ { \mbox }
{
- \color{black}
\itshape TF
\makebox[0pt][r]
{
- \color{red}
\underline { \phantom{\itshape TF} \kern-0.1em }
}
}
@@ -811,28 +803,31 @@
}
\cs_new_protected:Npn \__codedoc_get_hyper_target:nN #1#2
{
- \tl_set:Nx #2 { \tl_to_str:n {#1} }
- \tl_replace_all:Nxn #2 { \iow_char:N \_ } { / }
- \tl_remove_all:Nx #2 { \iow_char:N \\ }
+ \__kernel_tl_set:Nx #2 { \tl_to_str:n {#1} }
+ \tl_replace_all:NVn #2 \c_underscore_str { / }
+ \tl_remove_all:NV #2 \c_backslash_str
\tl_put_left:Nn #2 { doc/function// }
}
-\cs_generate_variant:Nn \__codedoc_get_hyper_target:nN { o , x }
+\cs_generate_variant:Nn \__codedoc_get_hyper_target:nN { o , e }
\cs_new_protected:Npn \__codedoc_names_get_seq:nN #1#2
{
- \tl_set:Nx \l__codedoc_tmpa_tl { \tl_to_str:n {#1} }
+ \__kernel_tl_set:Nx \l__codedoc_tmpa_tl { \tl_to_str:n {#1} }
\bool_if:NTF \l__codedoc_names_verb_bool
{
\seq_clear:N #2
\seq_put_right:NV #2 \l__codedoc_tmpa_tl
}
{
- \tl_remove_all:Nx \l__codedoc_tmpa_tl
- { \iow_char:N \^^M \iow_char:N \% }
- \tl_remove_all:Nx \l__codedoc_tmpa_tl { \tl_to_str:n { ^ ^ A } }
- \tl_remove_all:Nx \l__codedoc_tmpa_tl { \iow_char:N \^^I }
- \tl_remove_all:Nx \l__codedoc_tmpa_tl { \iow_char:N \^^M }
+ \tl_remove_all:Ne \l__codedoc_tmpa_tl
+ { \iow_char:N \^^M \c_percent_str }
+ \tl_remove_all:Ne \l__codedoc_tmpa_tl
+ { \token_to_str:N \obeyedline \c_space_tl \c_percent_str }
+ \tl_remove_all:Ne \l__codedoc_tmpa_tl { \tl_to_str:n { ^ ^ A } }
+ \tl_remove_all:Ne \l__codedoc_tmpa_tl { \iow_char:N \^^I }
+ \tl_remove_all:Ne \l__codedoc_tmpa_tl { \iow_char:N \^^M }
+ \__codedoc_detect_internals:N \l__codedoc_tmpa_tl
\__codedoc_replace_at_at:N \l__codedoc_tmpa_tl
- \exp_args:NNx \seq_set_from_clist:Nn #2
+ \exp_args:NNe \seq_set_from_clist:Nn #2
{ \tl_to_str:N \l__codedoc_tmpa_tl }
}
}
@@ -856,14 +851,14 @@
\tl_if_head_eq_charcode:nNTF {#2} :
{ \__codedoc_names_parse_aux:nnn {#4} {#4} { \scan_stop: } }
{
- \exp_args:Nx \__codedoc_names_parse_aux:nnn
+ \exp_args:Ne \__codedoc_names_parse_aux:nnn
{ \__codedoc_base_form_aux:nnN {#1} {#2} #3 }
{#1} {#2}
}
}
{
\bool_if:NT \l__codedoc_macro_TF_bool
- { \msg_error:nnx { l3doc-TUB } { no-signature-TF } {#4} }
+ { \msg_error:nne { l3doc } { no-signature-TF } {#4} }
\__codedoc_names_parse_aux:nnn {#4} {#4} { \scan_stop: }
}
}
@@ -888,18 +883,18 @@
{
\seq_pop:NN #1 \l__codedoc_tmpa_tl
\tl_gset_eq:NN \g__codedoc_base_name_tl \l__codedoc_tmpa_tl
- \tl_greplace_all:Nno \g__codedoc_base_name_tl
- { ~ } { \c_catcode_other_space_tl }
+ \tl_greplace_all:NnV \g__codedoc_base_name_tl
+ { ~ } \c_catcode_other_space_tl
\seq_get:NN #1 \l__codedoc_tmpa_tl
- \str_if_eq:eeTF { \l__codedoc_tmpa_tl } { \scan_stop: }
+ \str_if_eq:VnTF \l__codedoc_tmpa_tl { \scan_stop: }
{
\seq_gclear:N \g__codedoc_variants_seq
- \__codedoc_names_typeset_auxii:x { \g__codedoc_base_name_tl }
+ \__codedoc_names_typeset_auxii:e { \g__codedoc_base_name_tl }
}
{
\seq_gset_eq:NN \g__codedoc_variants_seq #1
\seq_gpop:NN \g__codedoc_variants_seq \l__codedoc_tmpb_tl
- \__codedoc_names_typeset_auxii:x
+ \__codedoc_names_typeset_auxii:e
{ \g__codedoc_base_name_tl : \l__codedoc_tmpb_tl }
}
}
@@ -907,7 +902,7 @@
{
\bool_if:NT \l__codedoc_macro_pTF_bool
{
- \__codedoc_names_typeset_block:xN
+ \__codedoc_names_typeset_block:eN
{ \__codedoc_predicate_from_base:n {#1} }
\c_false_bool
}
@@ -915,23 +910,20 @@
{ \__codedoc_names_typeset_block:nN {#1} \c_false_bool }
\__codedoc_names_typeset_block:nN {#1} \l__codedoc_macro_TF_bool
}
-\cs_generate_variant:Nn \__codedoc_names_typeset_auxii:n { x }
+\cs_generate_variant:Nn \__codedoc_names_typeset_auxii:n { e }
\cs_new_protected:Npn \__codedoc_names_typeset_block:nN
{
\int_compare:nNnTF \l__codedoc_nested_macro_int = 0
{ \__codedoc_typeset_function_block:nN }
{ \__codedoc_macro_typeset_block:nN }
}
-\cs_generate_variant:Nn \__codedoc_names_typeset_block:nN { x }
+\cs_generate_variant:Nn \__codedoc_names_typeset_block:nN { e }
\prg_new_conditional:Npnn \__codedoc_if_macro_internal:n #1 { p , T , F , TF }
{
- \bool_if:NTF \l__codedoc_macro_internal_set_bool
- {
- \bool_if:NTF \l__codedoc_macro_internal_bool
- { \prg_return_true: } { \prg_return_false: }
- }
+ \bool_if:NTF \l__codedoc_macro_internal_bool
+ { \prg_return_true: }
{
- \tl_if_empty:fTF
+ \tl_if_empty:eTF
{
\exp_after:wN \__codedoc_if_macro_internal_aux:w
\tl_to_str:n { #1 ~ __ }
@@ -949,18 +941,18 @@
\seq_set_eq:NN \l__codedoc_tmpa_seq ##1
\seq_pop:NN \l__codedoc_tmpa_seq \l__codedoc_tmpa_tl
\seq_get:NN \l__codedoc_tmpa_seq \l__codedoc_tmpb_tl
- \exp_args:NNx
+ \exp_args:NNe
\group_end:
#1
{
\l__codedoc_tmpa_tl
- \str_if_eq:eeF { \l__codedoc_tmpb_tl } { \scan_stop: }
+ \str_if_eq:VnF \l__codedoc_tmpb_tl { \scan_stop: }
{ : \l__codedoc_tmpb_tl }
\bool_if:NT \l__codedoc_macro_TF_bool { TF }
}
}
}
-\keys_define:nn { l3doc-TUB/function }
+\keys_define:nn { l3doc/function }
{
TF .value_forbidden:n = true ,
TF .code:n =
@@ -993,9 +985,10 @@
\bool_set_true:N \l__codedoc_macro_noTF_bool
\bool_set_true:N \l__codedoc_macro_TF_bool
} ,
- added .code:n = { \__codedoc_date_set:Nn \l__codedoc_date_added_tl {#1} },
- updated .code:n = { \__codedoc_date_set:Nn \l__codedoc_date_updated_tl {#1} } ,
- deprecated .code:n = { \__codedoc_deprecated_on:n {#1} } ,
+ added .code:n = { \__codedoc_date_set_past:Nn \l__codedoc_date_added_tl {#1} },
+ updated .code:n = { \__codedoc_date_set_past:Nn \l__codedoc_date_updated_tl {#1} } ,
+ deprecated .bool_set:N = \l__codedoc_macro_deprecated_bool ,
+ no-user-doc .bool_set:N = \l__codedoc_macro_nodoc_bool ,
tested .code:n = { } ,
label .code:n =
{
@@ -1012,29 +1005,27 @@
\regex_replace_once:nnNF
{ \A(\d\d\d\d)[-/](\d\d?)[-/](\d\d?)\Z } { \1-\2-\3 } #1
{
- \msg_error:nnn { l3doc-TUB } { date-format } {#2}
+ \msg_error:nnn { l3doc } { date-format } {#2}
\tl_set:Nn #1 { 1970-01-01 }
}
}
-\cs_new_protected:Npn \__codedoc_deprecated_on:n #1
+\cs_new_protected:Npn \__codedoc_date_set_past:Nn #1#2
{
- \__codedoc_date_set:Nn \l__codedoc_tmpa_tl {#1}
+ \__codedoc_date_set:Nn #1 {#2}
\exp_args:No \__codedoc_date_compare:nNnT
- { \l__codedoc_tmpa_tl } < { \tex_year:D - \tex_month:D - \tex_day:D }
+ {#1} > { \c_sys_year_int - \c_sys_month_int - \c_sys_day_int }
{
- \msg_error:nnxx { l3doc-TUB } { deprecated-function }
+ \msg_error:nnee { l3doc } { future-date }
{ \tl_to_str:N \l__codedoc_macro_argument_tl }
- { \l__codedoc_tmpa_tl }
+ {#1}
}
- \bool_set_true:N \l__codedoc_macro_internal_bool
- \bool_set_true:N \l__codedoc_macro_internal_set_bool
}
\cs_new_protected:Npn \__codedoc_function:nnw #1#2
{
\__codedoc_function_typeset_start:
\__codedoc_function_init:
\tl_set:Nn \l__codedoc_macro_argument_tl {#2}
- \keys_set:nn { l3doc-TUB/function } {#1}
+ \keys_set:nn { l3doc/function } {#1}
\__codedoc_names_get_seq:nN {#2} \l__codedoc_names_seq
\__codedoc_names_parse:
\__codedoc_function_typeset:
@@ -1054,12 +1045,13 @@
\cs_new_protected:Npn \__codedoc_function_typeset_stop:
{
\par
+ \dim_set:Nn \prevdepth { \box_dp:N \l__codedoc_descr_coffin }
\allowbreak
}
\cs_new_protected:Npn \__codedoc_function_init:
{
\box_if_empty:NF \g__codedoc_syntax_box
- { \msg_error:nn { l3doc-TUB } { syntax-nested-function } }
+ { \msg_error:nn { l3doc } { syntax-nested-function } }
\coffin_clear:N \l__codedoc_descr_coffin
\box_gclear:N \g__codedoc_syntax_box
\coffin_clear:N \l__codedoc_syntax_coffin
@@ -1143,8 +1135,7 @@
\cs_new_protected:Npn \__codedoc_typeset_functions:
{
\small\ttfamily
- \HD@savedestfalse
- \HD@target
+ \__codedoc_target:
\Hy@MakeCurrentHref { HD. \int_use:N \c@HD@hypercount }
\begin{tabular} [t] { @{} l @{} >{\hspace{\tabcolsep}} r @{} }
\toprule
@@ -1157,9 +1148,9 @@
}
\cs_new_protected:Npn \__codedoc_typeset_function_block:nN #1#2
{
- \__codedoc_function_index:x
+ \__codedoc_function_index:e
{ #1 \bool_if:NT #2 { \tl_to_str:n {TF} } }
- \__codedoc_function_label:xN {#1} #2
+ \__codedoc_function_label:eN {#1} #2
#1
\bool_if:NT #2 { \__codedoc_typeset_TF: }
\__codedoc_typeset_expandability:
@@ -1167,13 +1158,13 @@
{ \__codedoc_typeset_variant_list:nN {#1} #2 }
\\
}
-\cs_generate_variant:Nn \__codedoc_typeset_function_block:nN { x }
+\cs_generate_variant:Nn \__codedoc_typeset_function_block:nN { e }
\cs_new_protected:Npn \__codedoc_function_index:n #1
{
\seq_gput_right:Nn \g_doc_functions_seq {#1}
\__codedoc_special_index:nn {#1} { usage }
}
-\cs_generate_variant:Nn \__codedoc_function_index:n { x }
+\cs_generate_variant:Nn \__codedoc_function_index:n { e }
\cs_new_protected:Npn \__codedoc_typeset_expandability:
{
&
@@ -1186,13 +1177,30 @@
\__codedoc_typeset_aux:n { \__codedoc_get_function_name:n {#1} }
:
\int_compare:nTF { \seq_count:N \g__codedoc_variants_seq == 1 }
- { \seq_use:Nn \g__codedoc_variants_seq { } }
{
+ \seq_use:Nn \g__codedoc_variants_seq { }
+ \bool_if:NT #2 { \__codedoc_typeset_TF: }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ { \seq_use:Nn \g__codedoc_variants_seq { \textrm| \nolinebreak[2] } }
\textrm(
- \seq_use:Nn \g__codedoc_variants_seq { \textrm| }
- \textrm)
+ \dim_compare:nNnTF { \box_wd:N \l_tmpa_box } > { .4\columnwidth }
+ {
+ \parbox[t]{.4\columnwidth}
+ {
+ \raggedright
+ \hbox_unpack_drop:N \l_tmpa_box
+ \textrm)
+ \bool_if:NT #2 { \__codedoc_typeset_TF: }
+ }
+ }
+ {
+ \hbox_unpack_drop:N \l_tmpa_box
+ \textrm)
+ \bool_if:NT #2 { \__codedoc_typeset_TF: }
+ }
}
- \bool_if:NT #2 { \__codedoc_typeset_TF: }
\__codedoc_typeset_expandability:
}
\cs_new_protected:Npn \__codedoc_function_extra_labels:
@@ -1211,7 +1219,7 @@
{
\bool_if:NF \l__codedoc_no_label_bool
{
- \__codedoc_get_hyper_target:xN
+ \__codedoc_get_hyper_target:eN
{
\exp_not:n {#1}
\bool_if:NT #2 { \tl_to_str:n {TF} }
@@ -1220,7 +1228,7 @@
\exp_args:No \label { \l__codedoc_tmpa_tl }
}
}
-\cs_generate_variant:Nn \__codedoc_function_label:nN { x }
+\cs_generate_variant:Nn \__codedoc_function_label:nN { e }
\cs_new:Npn \__codedoc_typeset_dates:
{
\bool_lazy_and:nnF
@@ -1243,7 +1251,7 @@
\cs_new_protected:Npn \__codedoc_syntax:w
{
\box_if_empty:NF \g__codedoc_syntax_box
- { \msg_error:nn { l3doc-TUB } { multiple-syntax } }
+ { \msg_error:nn { l3doc } { multiple-syntax } }
\dim_set:Nn \l__codedoc_syntax_dim
{
\textwidth
@@ -1274,26 +1282,22 @@
\end{quote}
}
}
-\keys_define:nn { l3doc-TUB/macro }
+\keys_define:nn { l3doc/macro }
{
aux .value_forbidden:n = true ,
aux .code:n =
{
- \msg_warning:nnnn { l3doc-TUB } { deprecated-option }
+ \msg_warning:nnnn { l3doc } { deprecated-option }
{ aux } { function/macro }
} ,
+ deprecated .bool_set:N = \l__codedoc_macro_deprecated_bool ,
internal .value_forbidden:n = true ,
internal .code:n =
- {
- \bool_set_true:N \l__codedoc_macro_internal_bool
- \bool_set_true:N \l__codedoc_macro_internal_set_bool
- } ,
+ { \bool_set_true:N \l__codedoc_macro_internal_bool } ,
int .value_forbidden:n = true ,
int .code:n =
- {
- \bool_set_true:N \l__codedoc_macro_internal_bool
- \bool_set_true:N \l__codedoc_macro_internal_set_bool
- } ,
+ { \bool_set_true:N \l__codedoc_macro_internal_bool } ,
+ no-user-doc .bool_set:N = \l__codedoc_macro_nodoc_bool ,
var .value_forbidden:n = true ,
var .code:n =
{ \bool_set_true:N \l__codedoc_macro_var_bool } ,
@@ -1332,18 +1336,21 @@
} ,
added .code:n = {} , % TODO
updated .code:n = {} , % TODO
- deprecated .code:n = { \__codedoc_deprecated_on:n {#1} } ,
verb .bool_set:N = \l__codedoc_names_verb_bool ,
module .tl_set:N = \l__codedoc_override_module_tl ,
documented-as .tl_set:N = \l__codedoc_macro_documented_tl ,
+ do-not-index .value_required:n = true ,
+ do-not-index .tl_set:N = \l__codedoc_macro_do_not_index_tl ,
+ % do-not-index .default:n = \q_no_value ,
}
\cs_new_protected:Npn \__codedoc_macro:nnw #1#2
{
\__codedoc_macro_init:
\tl_set:Nn \l__codedoc_macro_argument_tl {#2}
- \keys_set:nn { l3doc-TUB/macro } {#1}
+ \keys_set:nn { l3doc/macro } {#1}
\__codedoc_names_get_seq:nN {#2} \l__codedoc_names_seq
\__codedoc_names_parse:
+ \__codedoc_macro_exclude_index:
\__codedoc_macro_save_names:
\__codedoc_names_typeset:
\__codedoc_macro_dump:
@@ -1352,8 +1359,8 @@
\cs_new_protected:Npn \__codedoc_macro_init:
{
\int_incr:N \l__codedoc_nested_macro_int
+ \bool_set_false:N \l__codedoc_macro_deprecated_bool
\bool_set_false:N \l__codedoc_macro_internal_bool
- \bool_set_false:N \l__codedoc_macro_internal_set_bool
\bool_set_false:N \l__codedoc_macro_TF_bool
\bool_set_false:N \l__codedoc_macro_pTF_bool
\bool_set_false:N \l__codedoc_macro_noTF_bool
@@ -1371,8 +1378,7 @@
\hbox:n
{
\strut
- \int_compare:nNnT \l__codedoc_macro_int = 0
- { \HD@target }
+ \int_compare:nNnT \l__codedoc_macro_int = 0 { \__codedoc_target: }
}
\vskip \int_eval:n { \l__codedoc_macro_int - 1 } \baselineskip
}
@@ -1386,12 +1392,31 @@
\tl_if_empty:NTF \l__codedoc_macro_documented_tl
{ \__codedoc_names_block_base_map:N \__codedoc_macro_save_names_aux:n }
{
- \seq_gput_right:Nf \g__codedoc_nested_names_seq
- { \exp_after:wN \token_to_str:N \l__codedoc_macro_documented_tl }
+ \seq_gput_right:Ne \g__codedoc_nested_names_seq
+ {
+ \exp_after:wN \__codedoc_macro_save_names_aux:w
+ \l__codedoc_macro_documented_tl \q__codedoc_stop
+ }
}
}
+\cs_new:Npn \__codedoc_macro_save_names_aux:w #1#2 \q__codedoc_stop
+ { \token_to_str:N #1 \tl_to_str:n {#2} }
\cs_new_protected:Npn \__codedoc_macro_save_names_aux:n #1
{ \seq_gput_right:Nn \g__codedoc_nested_names_seq {#1} }
+\cs_new_protected:Npn \__codedoc_macro_exclude_index:
+ {
+ \tl_if_empty:NF \l__codedoc_macro_do_not_index_tl
+ {
+ \tl_set_rescan:NnV \l__codedoc_macro_do_not_index_tl
+ { \MakePrivateLetters \catcode`\\12 }
+ \l__codedoc_macro_do_not_index_tl
+ \exp_args:NNV \seq_set_from_clist:Nn
+ \l__codedoc_tmpa_seq \l__codedoc_macro_do_not_index_tl
+ \__kernel_tl_set:Nx \l__codedoc_macro_do_not_index_tl
+ { \seq_use:Nn \l__codedoc_tmpa_seq { , } }
+ \exp_args:NV \DoNotIndex \l__codedoc_macro_do_not_index_tl
+ }
+ }
\cs_new_protected:Npn \__codedoc_macro_dump:
{
\topsep\MacroTopsep
@@ -1415,23 +1440,22 @@
\__codedoc_macro_single:nNN {#1} \c_true_bool #2
\seq_if_empty:NF \g__codedoc_variants_seq
{
- \__codedoc_macro_typeset_variant_list:xN
+ \__codedoc_macro_typeset_variant_list:eN
{ \__codedoc_get_function_name:n {#1} } #2
}
}
-\cs_generate_variant:Nn \__codedoc_macro_typeset_block:nN { x }
\cs_new_protected:Npn \__codedoc_macro_typeset_variant_list:nN #1#2
{
\seq_map_inline:Nn \g__codedoc_variants_seq
{ \__codedoc_macro_single:nNN { #1 : ##1 } \c_false_bool #2 }
}
-\cs_generate_variant:Nn \__codedoc_macro_typeset_variant_list:nN { x }
+\cs_generate_variant:Nn \__codedoc_macro_typeset_variant_list:nN { e }
\cs_new_protected:Npn \__codedoc_macro_single:nNN #1#2#3
{
\tl_set:Nn \saved@macroname {#1}
\__codedoc_macro_typeset_one:nN {#1} #3
\bool_if:NT #3 { \DoNotIndex {#1} }
- \exp_args:Nx \__codedoc_macro_index:nN
+ \exp_args:Ne \__codedoc_macro_index:nN
{ #1 \bool_if:NT #3 { \tl_to_str:n { TF } } }
#2
}
@@ -1440,7 +1464,12 @@
\DoNotIndex {#1}
\bool_if:NT #2
{
- \__codedoc_if_macro_internal:nF {#1}
+ \bool_lazy_any:nF
+ {
+ { \__codedoc_if_macro_internal_p:n {#1} }
+ { \l__codedoc_macro_deprecated_bool }
+ { \l__codedoc_macro_nodoc_bool }
+ }
{ \seq_gput_right:Nn \g_doc_macros_seq {#1} }
\hbox_set:Nw \l__codedoc_macro_index_box
\hbox_unpack_drop:N \l__codedoc_macro_index_box
@@ -1456,14 +1485,16 @@
\vbox_set:Nn \l__codedoc_macro_box
{
\vbox_unpack_drop:N \l__codedoc_macro_box
- \hbox { \llap { \__codedoc_print_macroname:nN {#1} #2 \ } }
+ \hbox { \llap { \__codedoc_print_macroname:nN {#1} #2
+ \MacroFont \
+ } }
}
\int_incr:N \l__codedoc_macro_int
}
\cs_new_protected:Npn \__codedoc_print_macroname:nN #1#2
{
\strut
- \__codedoc_get_hyper_target:xN
+ \__codedoc_get_hyper_target:eN
{
\exp_not:n {#1}
\bool_if:NT #2 { \tl_to_str:n {TF} }
@@ -1476,20 +1507,18 @@
\int_compare:nTF { \str_count:n {#1} <= 28 }
{ \MacroFont } { \MacroLongFont }
\tl_set:Nn \l__codedoc_tmpa_tl {#1}
- \tl_replace_all:Nno \l__codedoc_tmpa_tl
- { ~ } { \c_catcode_other_space_tl }
- \__codedoc_macroname_prefix:o \l__codedoc_tmpa_tl
- \__codedoc_macroname_suffix:N #2
+ \tl_replace_all:NnV \l__codedoc_tmpa_tl
+ { ~ } \c_catcode_other_space_tl
+ \__codedoc_print_macroname_aux:on
+ \l__codedoc_tmpa_tl { \bool_if:NT #2 { \__codedoc_typeset_TF: } }
}
}
-\cs_new_protected:Npn \__codedoc_macroname_prefix:n #1
+\cs_new_protected:Npn \__codedoc_print_macroname_aux:nn #1#2
{
\__codedoc_if_macro_internal:nTF {#1}
- { \__codedoc_typeset_aux:n {#1} } {#1}
+ { \__codedoc_typeset_aux:n { #1 #2 } } { #1 #2 }
}
-\cs_generate_variant:Nn \__codedoc_macroname_prefix:n { o }
-\cs_new_protected:Npn \__codedoc_macroname_suffix:N #1
- { \bool_if:NTF #1 { \__codedoc_typeset_TF: } { } }
+\cs_generate_variant:Nn \__codedoc_print_macroname_aux:nn { o }
\providecommand \MacroLongFont
{
\fontfamily{lmtt}\fontseries{lc}\small
@@ -1533,10 +1562,10 @@
{ \__codedoc_test_missing:n {#1} }
\cs_new_protected:Npn \__codedoc_test_missing:n #1
{
- \__codedoc_test_missing_aux:Nxn
+ \__codedoc_test_missing_aux:Nen
\g__codedoc_missing_tests_prop
{ \seq_use:Nn \l__codedoc_names_seq { , } }
- { { \g_file_curr_name_str \iow_char:N \ (#1) } }
+ { { \g_file_curr_name_str \c_space_tl (#1) } }
}
\cs_new_protected:Npn \__codedoc_test_missing_aux:Nnn #1#2#3
{
@@ -1545,7 +1574,7 @@
{ \tl_set:Nn \l__codedoc_tmpa_tl {#3} }
\prop_put:Nno #1 {#2} \l__codedoc_tmpa_tl
}
-\cs_generate_variant:Nn \__codedoc_test_missing_aux:Nnn { Nx }
+\cs_generate_variant:Nn \__codedoc_test_missing_aux:Nnn { Ne }
\cs_new_protected:Npn \__codedoc_macro_end:
{
\endtrivlist
@@ -1556,21 +1585,21 @@
\cs_new_protected:Npn \__codedoc_macro_end_check_tested:
{
\bool_lazy_all:nT
- {
- { \g__codedoc_checktest_bool }
- { ! \l__codedoc_macro_var_bool }
- { ! \l__codedoc_macro_tested_bool }
- }
- {
- \seq_set_filter:NNn \l__codedoc_tmpa_seq \l__codedoc_names_seq
- { ! \__codedoc_if_macro_internal_p:n {##1} }
- \seq_gput_right:Nx \g__codedoc_not_tested_seq
- {
- \seq_use:Nn \l__codedoc_tmpa_seq { , }
- \bool_if:NTF \l__codedoc_macro_pTF_bool {~(pTF)}
- { \bool_if:NT \l__codedoc_macro_TF_bool {~(TF)} }
- }
- }
+ {
+ { \g__codedoc_checktest_bool }
+ { ! \l__codedoc_macro_var_bool }
+ { ! \l__codedoc_macro_tested_bool }
+ }
+ {
+ \seq_set_filter:NNn \l__codedoc_tmpa_seq \l__codedoc_names_seq
+ { ! \__codedoc_if_macro_internal_p:n {##1} }
+ \seq_gput_right:Ne \g__codedoc_not_tested_seq
+ {
+ \seq_use:Nn \l__codedoc_tmpa_seq { , }
+ \bool_if:NTF \l__codedoc_macro_pTF_bool {~(pTF)}
+ { \bool_if:NT \l__codedoc_macro_TF_bool {~(TF)} }
+ }
+ }
}
\cs_new_protected:Npn \__codedoc_macro_end_style:n #1
{
@@ -1580,16 +1609,16 @@
\cs_new_protected:Npn \__codedoc_macro_end_wrap_item:n #1
{
\tl_set:Nn \l__codedoc_tmpa_tl {#1}
- \tl_replace_all:Non \l__codedoc_tmpa_tl
- { \token_to_str:N _ } { \_ }
+ \tl_replace_all:NVn \l__codedoc_tmpa_tl
+ \c_underscore_str { \_ }
\texttt { \l__codedoc_tmpa_tl }
}
\cs_new_protected:Npn \__codedoc_print_end_definition:
{
\seq_set_map:NNn \l__codedoc_tmpa_seq
\g__codedoc_nested_names_seq
- { \exp_not:n { \__codedoc_macro_end_wrap_item:n {##1} } }
- End~ definition~ for~
+ { \__codedoc_macro_end_wrap_item:n {##1} }
+ End~ of~ definition~ for~
\int_compare:nTF { \seq_count:N \l__codedoc_tmpa_seq <= 3 }
{
\seq_use:Nnnn \l__codedoc_tmpa_seq
@@ -1603,7 +1632,14 @@
{
\seq_gset_filter:NNn \g__codedoc_nested_names_seq
\g__codedoc_nested_names_seq
- { ! \__codedoc_if_macro_internal_p:n {##1} }
+ {
+ ! \bool_lazy_any_p:n
+ {
+ { \__codedoc_if_macro_internal_p:n {##1} }
+ { \l__codedoc_macro_deprecated_bool }
+ { \l__codedoc_macro_nodoc_bool }
+ }
+ }
\seq_if_empty:NF \g__codedoc_nested_names_seq
{
\int_set:Nn \l__codedoc_tmpa_int
@@ -1612,55 +1648,14 @@
\bool_if:NTF \l__codedoc_macro_var_bool {variable} {function}
\int_compare:nNnTF \l__codedoc_tmpa_int = 1 {~is~} {s~are~}
documented~on~page~
- \__codedoc_get_hyper_target:xN
+ \__codedoc_get_hyper_target:eN
{ \seq_item:Nn \g__codedoc_nested_names_seq { 1 } }
\l__codedoc_tmpa_tl
- \exp_args:Nx \pageref { \l__codedoc_tmpa_tl } .
+ \exp_args:Ne \pageref { \l__codedoc_tmpa_tl } .
}
\seq_gclear:N \g__codedoc_nested_names_seq
}
-\newcommand*{\DescribeOption}
- {
- \leavevmode
- \@bsphack
- \begingroup
- \MakePrivateLetters
- \Describe@Option
- }
-\newcommand*{\Describe@Option}[1]
- {
- \endgroup
- \marginpar{
- \raggedleft
- \PrintDescribeEnv{#1}
- }
- \SpecialOptionIndex{#1}
- \@esphack
- \ignorespaces
- }
-\newcommand*{\SpecialOptionIndex}[1]
- {
- \@bsphack
- \begingroup
- \HD@target
- \let\HDorg@encapchar\encapchar
- \edef\encapchar usage
- {
- \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}
- }
- \index
- {
- #1\actualchar{\protect\ttfamily#1}~(option)
- \encapchar usage
- }
- \index
- {
- options:\levelchar#1\actualchar{\protect\ttfamily#1}
- \encapchar usage
- }
- \endgroup
- \@esphack
- }
+\NewDocElement[idxtype = option, idxgroup = options]{Option}{optionenv}
\font \manual = manfnt \scan_stop:
\cs_gset:Npn \dbend { {\manual\char127} }
\newenvironment {danger}
@@ -1682,6 +1677,56 @@
}{
\par\end{trivlist}
}
+\bool_if:NTF \g__codedoc_show_notes_bool
+ {
+ \NewDocumentCommand\NB{mm}
+ {
+ (\emph{Note}\footnote{\ttfamily [#1]:~\detokenize{#2}})
+ }
+ }
+ {
+ \NewDocumentCommand\NB{mm}{}
+ }
+\bool_if:NTF \g__codedoc_show_notes_bool
+ {
+ \NewDocumentEnvironment{NOTE}{m}
+ {
+ \par\noindent (\emph{Note}~[\texttt{#1}]:\par
+ \verbatim
+ }
+ {
+ \endverbatim
+ \par\noindent \emph{Note~end})\par
+ }
+ }
+ {
+ \NewDocumentEnvironment{NOTE}{m}{\comment}{\endcomment}
+ }
+\providecommand\Hy@footnote@currentHref{}
+\prop_new:N\g__codedoc_fnmark_prop
+\cs_new_protected:Npn \__codedoc_fn_store:
+ {
+ \prop_gput:Nee\g__codedoc_fnmark_prop
+ {fn\int_use:N\c@footnote}{{\Hy@footnote@currentHref}{\int_use:N\c@footnote}}
+ }
+\cs_new_protected:Npn \__codedoc_fn_restore:n #1
+ {
+ \prop_get:NnN \g__codedoc_fnmark_prop {fn#1}\l__codedoc_tmpa_tl
+ \tl_gset:Ne\Hy@footnote@currentHref
+ {\exp_last_unbraced:NV\use_i:nn \l__codedoc_tmpa_tl }
+ \setcounter{footnote}{\exp_last_unbraced:NV\use_ii:nn \l__codedoc_tmpa_tl}
+ }
+
+\cs_generate_variant:Nn \hook_gput_next_code:nn {ne}
+\cs_new_protected:Npn \__codedoc_fn_footnote:nn #1 #2
+ {
+ \footnotemark
+ \__codedoc_fn_store:
+ \hook_gput_next_code:ne {env/#1/after}
+ {\exp_not:N\__codedoc_fn_restore:n{\int_use:N\c@footnote}{\exp_not:n{\footnotetext{#2}}}}}
+
+\AddToHook{env/function/begin}{\def\footnote{\__codedoc_fn_footnote:nn{function}}}
+\AddToHook{env/variable/begin}{\def\footnote{\__codedoc_fn_footnote:nn{variable}}}
\newenvironment{TemplateInterfaceDescription}[1]
{
\subsection{The~object~type~`#1'}
@@ -1750,6 +1795,8 @@
}
{ #1 \endinput }
}
+\cs_if_exist:NT \MaybeStop
+ { \RenewCommandCopy \MaybeStop \StopEventually }
\DeclareDocumentCommand \Finale { }
{ \tl_use:N \g__codedoc_finale_tl }
\tl_new:N \g__codedoc_finale_tl
@@ -1770,6 +1817,18 @@
}
\DeclareDocumentCommand \DocInputAgain { }
{ \clist_map_function:NN \g_docinput_clist \__codedoc_input:n }
+\msg_new:nnn { l3doc } { missing-endgroup }
+ {
+ \str_if_eq:VnTF \@currenvir { document }
+ {
+ There~are~\int_use:N \tex_currentgrouplevel:D
+ \c_space_tl unclosed~groups~in~#1.
+ }
+ {
+ The~\@currenvir \c_space_tl environment~on~line~\@currenvline
+ \c_space_tl doesn't~have~a~matching~\iow_char:N\\end{\@currenvir}.
+ }
+ }
\NewDocumentCommand \DocInclude { m }
{
\relax\clearpage
@@ -1779,7 +1838,14 @@
{ \cs_set:Npn \currentfile{#1.dtx} }
\int_compare:nNnTF \@auxout = \@partaux
{ \@latexerr{\string\include\space cannot~be~nested}\@eha }
- { \@docinclude #1 }
+ { \@docinclude {#1} }
+ % check missing \endgroup, e.g., missing "\end{macro}" in time
+ \int_compare:nNnF { \tex_currentgrouplevel:D } = { 0 }
+ {
+ \int_compare:nNnT { \tex_interactionmode:D } = { 0 }
+ { \int_gset:Nn \tex_interactionmode:D { 1 } }
+ \msg_fatal:nne { l3doc } { missing-endgroup } { \currentfile }
+ }
}
\cs_gset:Npn \@docinclude #1
{
@@ -1788,10 +1854,12 @@
\@tempswatrue
\if@partsw
\@tempswafalse
- \cs_set:Npx \@tempb{#1}
- \@for\@tempa:=\@partlist\do
+ \cs_set:Npe \@tempb {#1}
+ \clist_map_inline:Nn \@partlist
{
- \ifx\@tempa\@tempb\@tempswatrue\fi
+ \if_meaning:w \@tempa \@tempb
+ \@tempswatrue
+ \fi:
}
\fi
\if@tempswa
@@ -1807,8 +1875,8 @@
\part{\currentfile}
{
\cs_set_eq:NN \ttfamily\relax
- \cs_gset:Npx \filekey
- { \filekey, \thepart = { \ttfamily \currentfile } }
+ \cs_gset:Npe \filekey
+ { \filekey,~ \thepart = { \ttfamily \currentfile } }
}
\DocInput{\currentfile}
\cs_set_eq:NN \PrintIndex \@ltxdoc@PrintIndex
@@ -1823,15 +1891,37 @@
\fi
\cs_set_eq:NN \@auxout \@mainaux
}
-\cs_gset:Npn \codeline@wrindex #1
+\cs_gset_protected:Npn \@wrindex #1
+ {
+ \protected@write \@indexfile {}
+ { \string \indexentry {#1} { MMMMI - \thepage } }
+ \endgroup \@esphack
+ }
+\cs_gset_protected:Npn \codeline@wrindex #1
{
\immediate\write\@indexfile
{
\string\indexentry{#1}
- { \filesep \int_use:N \c@CodelineNo }
+ { MMMMV - \filesep \int_use:N \c@CodelineNo }
}
}
\tl_gclear:N \filesep
+\cs_new_protected:Npn \__codedoc_index_page_hc:nn #1#2
+ {
+ \protected@write \@indexfile {}
+ {
+ \string \indexentry { #1 \encapchar hdpindex{#2} }
+ { MMMMI - \thepage }
+ }
+ }
+\cs_new_protected:Npn \__codedoc_index_codeline_hc:nn #1#2
+ {
+ \immediate\write\@indexfile
+ {
+ \string \indexentry { #1 \encapchar hdclindex{\the\c@HD@hypercount}{#2} }
+ { MMMMV - \filesep \int_use:N \c@CodelineNo - MMMD - \the\c@HD@hypercount - M }
+ }
+ }
\cs_gset:Npn \docincludeaux
{
\tl_set:Nn \thepart { \alphalph { part } }
@@ -1887,65 +1977,70 @@
\char_set_catcode_active:N \>
\cs_new_protected:Npn \__codedoc_xmacro_code:n #1
{
+ \tl_clear:N \l__codedoc_tmpa_tl
\tl_if_in:nnTF {#1} { < @ @ = }
- { \__codedoc_xmacro_code:w #1 \q_stop }
+ { \__codedoc_xmacro_code:w #1 < @ @ = \q_recursion_tail > \q_recursion_stop }
{
\tl_set:Nn \l__codedoc_tmpa_tl {#1}
+ \__codedoc_detect_internals:N \l__codedoc_tmpa_tl
\__codedoc_replace_at_at:N \l__codedoc_tmpa_tl
\tl_use:N \l__codedoc_tmpa_tl
}
}
- \cs_new_protected:Npn \__codedoc_xmacro_code:w #1 < @ @ = #2 > #3 \q_stop
+ \cs_new_protected:Npn \__codedoc_xmacro_code:w #1 < @ @ = #2 >
{
- \tl_set:Nn \l__codedoc_tmpa_tl {#1}
- \__codedoc_replace_at_at:N \l__codedoc_tmpa_tl
-
- \tl_gset:Nn \g__codedoc_module_name_tl {#2}
- \tl_put_right:Nn \l__codedoc_tmpa_tl { < @ @ = #2 > }
-
- \tl_set:Nn \l__codedoc_tmpb_tl {#3}
+ % Add code before <@@=...>
+ \tl_set:Nn \l__codedoc_tmpb_tl {#1}
+ \__codedoc_detect_internals:N \l__codedoc_tmpb_tl
\__codedoc_replace_at_at:N \l__codedoc_tmpb_tl
- \tl_put_right:No \l__codedoc_tmpa_tl { \l__codedoc_tmpb_tl }
-
- \tl_use:N \l__codedoc_tmpa_tl
+ \tl_put_right:NV \l__codedoc_tmpa_tl \l__codedoc_tmpb_tl
+ % Check for \q_recursion_tail
+ \quark_if_recursion_tail_stop_do:nn {#2}
+ { \tl_use:N \l__codedoc_tmpa_tl }
+ % Change module name and add <@@=#2> to typeset output
+ \tl_gset:Nn \g__codedoc_module_name_tl {#2}
+ \tl_put_right:Nn \l__codedoc_tmpa_tl { < \text { \verbatim@font @ @ = #2 } > }
+ % Loop
+ \__codedoc_xmacro_code:w
}
\group_end:
\iow_new:N \g__codedoc_func_iow
\tl_new:N \l__codedoc_doc_def_tl
\tl_new:N \l__codedoc_doc_undef_tl
\tl_new:N \l__codedoc_undoc_def_tl
+\tl_const:Nn \c__codedoc_iow_separator_tl { ---- }
+\tl_const:Nn \c__codedoc_iow_midrule_tl { -- }
\cs_new_protected:Npn \__codedoc_show_functions_defined:
{
\bool_lazy_and:nnT
{ \g__codedoc_typeset_implementation_bool } { \g__codedoc_checkfunc_bool }
{
- \iow_term:x { \c__codedoc_iow_separator_tl \iow_newline: }
+ \iow_term:e { \c__codedoc_iow_separator_tl \iow_newline: }
\iow_open:Nn \g__codedoc_func_iow { \c_sys_jobname_str .cmds }
\tl_clear:N \l__codedoc_doc_def_tl
\tl_clear:N \l__codedoc_doc_undef_tl
\tl_clear:N \l__codedoc_undoc_def_tl
+ \seq_gremove_duplicates:N \g_doc_functions_seq
+ \seq_gremove_duplicates:N \g_doc_macros_seq
\seq_map_inline:Nn \g_doc_functions_seq
{
\seq_if_in:NnTF \g_doc_macros_seq {##1}
{
- \tl_put_right:Nx \l__codedoc_doc_def_tl
- { ##1 \iow_newline: }
- \iow_now:Nn \g__codedoc_func_iow { > ~ ##1 }
+ \tl_put_right:Ne \l__codedoc_doc_def_tl
+ { \iow_newline: > ~ ##1 }
}
{
- \tl_put_right:Nx \l__codedoc_doc_undef_tl
- { ##1 \iow_newline: }
- \iow_now:Nn \g__codedoc_func_iow { ! ~ ##1 }
+ \tl_put_right:Ne \l__codedoc_doc_undef_tl
+ { \iow_newline: ! ~ ##1 }
}
}
\seq_map_inline:Nn \g_doc_macros_seq
{
\seq_if_in:NnF \g_doc_functions_seq {##1}
{
- \tl_put_right:Nx \l__codedoc_undoc_def_tl
- { ##1 \iow_newline: }
- \iow_now:Nn \g__codedoc_func_iow { ? ~ ##1 }
+ \tl_put_right:Ne \l__codedoc_undoc_def_tl
+ { \iow_newline: ? ~ ##1 }
}
}
\__codedoc_functions_typeout:nN
@@ -1962,7 +2057,7 @@
\l__codedoc_undoc_def_tl
\iow_close:N \g__codedoc_func_iow
- \iow_term:x { \c__codedoc_iow_separator_tl }
+ \iow_term:e { \c__codedoc_iow_separator_tl }
}
}
\AtEndDocument { \__codedoc_show_functions_defined: }
@@ -1970,11 +2065,11 @@
{
\tl_if_empty:NF #2
{
- \typeout
+ \iow_now:Ne \g__codedoc_func_iow
{
\c__codedoc_iow_midrule_tl \iow_newline:
#1 \iow_newline:
- \c__codedoc_iow_midrule_tl \iow_newline:
+ \c__codedoc_iow_midrule_tl
#2
}
\tl_clear:N #2
@@ -1998,7 +2093,7 @@
\iow_newline:
\space\space\space\space\space\space * ~ ##1
}
- \tl_put_right:Nx \l__codedoc_tmpa_tl
+ \tl_put_right:Ne \l__codedoc_tmpa_tl
{
\iow_newline: \iow_newline:
The~ following~ macro(s)~ have~ incomplete~ tests:
@@ -2016,7 +2111,7 @@
\iow_newline:
\space\space\space\space ##1
}
- \tl_put_right:Nx \l__codedoc_tmpa_tl
+ \tl_put_right:Ne \l__codedoc_tmpa_tl
{
\iow_newline:
\iow_newline:
@@ -2028,22 +2123,48 @@
}
\tl_if_empty:NF \l__codedoc_tmpa_tl
{
- \int_set:Nn \l__codedoc_tmpa_int { \etex_interactionmode:D }
+ \int_set:Nn \l__codedoc_tmpa_int { \tex_interactionmode:D }
\errorstopmode
- \ClassError { l3doc-TUB } { \l__codedoc_tmpa_tl } { }
- \int_set:Nn \etex_interactionmode:D { \l__codedoc_tmpa_int }
+ \ClassError { l3doc } { \l__codedoc_tmpa_tl } { }
+ \int_gset:Nn \tex_interactionmode:D { \l__codedoc_tmpa_int }
}
}
}
\AtEndDocument { \__codedoc_show_not_tested: }
+\cs_new_protected:Npn \__codedoc_target:
+ {
+ \mode_leave_vertical:
+ \group_begin:
+ \HD@savedestfalse \HD@target
+ \group_end:
+ }
+\cs_set_nopar:Npe \theCodelineNo
+ {
+ \group_begin:
+ \exp_not:N \HD@savedestfalse
+ \exp_not:o \theCodelineNo
+ \group_end:
+ }
+\bool_new:N \l__codedoc_allow_indexing_bool
+\bool_set_true:N \l__codedoc_allow_indexing_bool
+\use:e
+ {
+ \exp_not:n { \cs_set_nopar:Npn \@starttoc #1 }
+ {
+ \group_begin:
+ \bool_set_false:N \l__codedoc_allow_indexing_bool
+ \exp_not:o { \@starttoc {#1} }
+ \group_end:
+ }
+ }
\g@addto@macro \theindex { \MakePrivateLetters }
\cs_gset:Npn \verbatimchar {&}
\setcounter { IndexColumns } { 2 }
\IndexPrologue
{
- \section*{Index}
+ \part*{Index}
\markboth{Index}{Index}
- \addcontentsline{toc}{section}{Index}
+ \addcontentsline{toc}{part}{Index}
The~italic~numbers~denote~the~pages~where~the~
corresponding~entry~is~described,~
numbers~underlined~point~to~the~definition,~
@@ -2055,17 +2176,17 @@
\__codedoc_special_index:nn {#1} { }
\@esphack
}
-\msg_new:nnn { l3doc-TUB } { print-index-howto }
+\msg_new:nnn { l3doc } { print-index-howto }
{
Generate~the~index~by~executing\\
\iow_indent:n
{ makeindex~-s~gind.ist~-o~\c_sys_jobname_str.ind~\c_sys_jobname_str.idx }
}
\tl_gput_right:Nn \PrintIndex
- { \AtEndDocument { \msg_info:nn { l3doc-TUB } { print-index-howto } } }
+ { \AtEndDocument { \msg_info:nn { l3doc } { print-index-howto } } }
\cs_gset_protected:Npn \it@is@a #1
{
- \use:x
+ \use:e
{
\__codedoc_special_index_module:nnnnN
{#1}
@@ -2092,13 +2213,13 @@
\tl_new:N \l__codedoc_index_escaped_key_tl
\cs_new_protected:Npn \__codedoc_special_index_module:nnnnN #1#2#3#4#5
{
- \use:x
+ \use:e
{
\exp_not:n { \__codedoc_special_index_aux:nnnnnn {#1} {#2} }
\tl_if_empty:nTF {#3}
{ { } { } { } }
{
- \str_if_eq:eeTF {#3} { TeX }
+ \str_if_eq:nnTF {#3} { TeX }
{
{ TeX~and~LaTeX2e }
{ \string\TeX{}~and~\string\LaTeXe{} }
@@ -2119,14 +2240,14 @@
\__codedoc_quote_special_char:N \l__codedoc_index_escaped_key_tl
\__codedoc_special_index_set:Nn \l__codedoc_index_escaped_macro_tl {#2}
\str_if_eq:onTF { \@currenvir } { macrocode }
- { \codeline@wrindex }
+ { \__codedoc_index_codeline_hc:nn }
{
\str_case:nnF {#6}
{
- { main } { \codeline@wrindex }
- { usage } { \index }
+ { main } { \__codedoc_index_codeline_hc:nn }
+ { usage } { \__codedoc_index_page_hc:nn }
}
- { \HD@target \index }
+ { \__codedoc_target: \__codedoc_index_page_hc:nn }
}
{
\tl_if_empty:nF { #3 #4 #5 }
@@ -2137,31 +2258,64 @@
\token_to_str:N \verbatim@font \c_space_tl
\l__codedoc_index_escaped_macro_tl
}
- \encapchar
- hdclindex{\the\c@HD@hypercount}{#6}
}
+ {#6}
}
+\group_begin:
+\char_set_active_eq:NN - \scan_stop:
+\tl_const:Ne \c__codedoc_active_minus_tl { \char_generate:nn { `- } { 13 } }
+\group_end:
+\cs_new_eq:NN \__codedoc_old_hdpindex:nn \hdpindex
+\cs_new_eq:NN \__codedoc_old_hdclindex:nnn \hdclindex
+\cs_gset_protected:Npn \hdpindex #1
+ { \__codedoc_hdindex:nn { \__codedoc_old_hdpindex:nn {#1} } }
+\cs_gset_protected:Npn \hdclindex #1#2
+ { \__codedoc_hdindex:nn { \__codedoc_old_hdclindex:nnn {#1} {#2} } }
+\cs_new_protected:Npn \__codedoc_hdindex:nn #1#2
+ {
+ \tl_set:Nn \l__codedoc_tmpa_tl {#2}
+ \tl_replace_all:Nen \l__codedoc_tmpa_tl
+ { \exp_not:V \c__codedoc_active_minus_tl \exp_not:V \c__codedoc_active_minus_tl }
+ { -- }
+ \seq_set_split:NnV \l__codedoc_tmpa_seq { -- } \l__codedoc_tmpa_tl
+ \seq_set_map:NNn \l__codedoc_tmpa_seq \l__codedoc_tmpa_seq
+ { \__codedoc_hdindex_aux:nn {#1} {##1} }
+ \seq_use:Nn \l__codedoc_tmpa_seq { -- }
+ }
+\cs_new_protected:Npn \__codedoc_hdindex_aux:nn #1#2
+ {
+ \tl_set:Nn \l__codedoc_tmpa_tl {#2}
+ \tl_replace_all:Nnn \l__codedoc_tmpa_tl { MMMM } { \use_none:nn }
+ \tl_if_in:NnT \l__codedoc_tmpa_tl { MMMD }
+ {
+ \tl_replace_all:Nen \l__codedoc_tmpa_tl
+ { \exp_not:V \c__codedoc_active_minus_tl MMMD } { - MMMD }
+ \tl_replace_all:Nnn \l__codedoc_tmpa_tl { - MMMD } { \__codedoc_hdindex_aux:w }
+ }
+ \use:e { \exp_not:n {#1} { \exp_not:V \l__codedoc_tmpa_tl } }
+ }
+\cs_new_protected:Npn \__codedoc_hdindex_aux:w #1 M { }
\cs_new_protected:Npn \__codedoc_special_index_set:Nn #1#2
{
- \tl_set:Nx #1 { \tl_to_str:n {#2} }
+ \__kernel_tl_set:Nx #1 { \tl_to_str:n {#2} }
\__codedoc_if_almost_str:nTF {#2}
{
- \tl_replace_all:Non #1 { \tl_to_str:n { __ } }
+ \tl_replace_all:Nen #1 { \tl_to_str:n { __ } }
{
\verbatimchar
\token_to_str:N \_ \token_to_str:N \_
\token_to_str:N \verb * \verbatimchar
}
- \exp_args:Nx \tl_map_inline:nn
+ \exp_args:Ne \tl_map_inline:nn
{ \tl_to_str:N \verbatimchar \token_to_str:N _ }
{
\tl_replace_all:Nnn #1 {##1}
{
- \verbatimchar \c__codedoc_backslash_tl ##1
+ \verbatimchar \c_backslash_str ##1
\token_to_str:N \verb * \verbatimchar
}
}
- \tl_set:Nx #1
+ \__kernel_tl_set:Nx #1
{
\token_to_str:N \verb * \verbatimchar
#1 \verbatimchar
@@ -2169,63 +2323,63 @@
}
{
\tl_set:Nn #1 {#2}
- \tl_replace_all:Non #1
- { \c__codedoc_backslash_tl }
+ \tl_replace_all:NVn #1
+ \c_backslash_str
{ \token_to_str:N \bslash \c_space_tl }
}
\__codedoc_quote_special_char:N #1
}
\cs_new_protected:Npn \__codedoc_quote_special_char:N #1
{
- \tl_map_inline:nn { \quotechar \actualchar \encapchar \levelchar }
+ \tl_map_inline:nn { \quotechar \actualchar \encapchar \levelchar \bslash }
{
- \tl_replace_all:Nxn #1
+ \tl_replace_all:Nen #1
{ \tl_to_str:N ##1 } { \quotechar \tl_to_str:N ##1 }
}
}
-\cs_new_protected:Npn \__codedoc_key_get:n #1
+\cs_new_protected:Npe \__codedoc_key_get:n #1
{
- \__codedoc_key_get_base:nN {#1} \l__codedoc_index_macro_tl
- \tl_set:Nx \l__codedoc_index_key_tl
- { \tl_to_str:N \l__codedoc_index_macro_tl }
- \tl_clear:N \l__codedoc_index_module_tl
- \tl_if_in:NoTF \l__codedoc_index_key_tl { \tl_to_str:n { __ } }
- { \bool_set_true:N \l__codedoc_index_internal_bool }
- { \bool_set_false:N \l__codedoc_index_internal_bool }
- \tl_if_head_eq_charcode:oNT
- { \l__codedoc_index_key_tl } \c__codedoc_backslash_token
- { \__codedoc_key_pop: }
- \tl_if_in:NoTF \l__codedoc_index_key_tl { \token_to_str:N : }
- { \__codedoc_key_func: }
+ \exp_not:N \__codedoc_key_get_base:nN {#1} \exp_not:N \l__codedoc_index_macro_tl
+ \__kernel_tl_set:Nx \exp_not:N \l__codedoc_index_key_tl
+ { \exp_not:N \tl_to_str:N \exp_not:N \l__codedoc_index_macro_tl }
+ \tl_clear:N \exp_not:N \l__codedoc_index_module_tl
+ \tl_if_in:NnTF \exp_not:N \l__codedoc_index_key_tl { \tl_to_str:n { __ } }
+ { \bool_set_true:N \exp_not:N \l__codedoc_index_internal_bool }
+ { \bool_set_false:N \exp_not:N \l__codedoc_index_internal_bool }
+ \exp_not:N \tl_if_head_eq_charcode:VNT
+ \exp_not:N \l__codedoc_index_key_tl \c_backslash_str
+ { \exp_not:N \__codedoc_key_pop: }
+ \tl_if_in:NnTF \exp_not:N \l__codedoc_index_key_tl { \token_to_str:N : }
+ { \exp_not:N \__codedoc_key_func: }
{
- \tl_if_in:NoTF \l__codedoc_index_key_tl { \token_to_str:N _ }
- { \__codedoc_key_var: }
+ \tl_if_in:NnTF \exp_not:N \l__codedoc_index_key_tl { \token_to_str:N _ }
+ { \exp_not:N \__codedoc_key_var: }
{
- \tl_if_in:NoT \l__codedoc_index_key_tl { \token_to_str:N @ }
- { \tl_set:Nn \l__codedoc_index_module_tl { TeX } }
+ \tl_if_in:NnT \exp_not:N \l__codedoc_index_key_tl { \token_to_str:N @ }
+ { \tl_set:Nn \exp_not:N \l__codedoc_index_module_tl { TeX } }
}
}
}
\cs_new_protected:Npn \__codedoc_key_pop:
{
- \tl_set:Nx \l__codedoc_index_key_tl
+ \__kernel_tl_set:Nx \l__codedoc_index_key_tl
{ \tl_tail:N \l__codedoc_index_key_tl }
}
\cs_new_protected:Npn \__codedoc_key_trim_module:n #1
{
\cs_set:Npn \__codedoc_tmpa:w ##1 #1 ##2 \q_stop
{ \exp_not:n {##1} }
- \tl_set:Nx \l__codedoc_index_module_tl
+ \__kernel_tl_set:Nx \l__codedoc_index_module_tl
{ \exp_after:wN \__codedoc_tmpa:w \l__codedoc_index_module_tl #1 \q_stop }
}
\cs_new_protected:Npn \__codedoc_key_drop_underscores:
{
- \tl_if_head_eq_charcode:oNT { \l__codedoc_index_key_tl } _
+ \tl_if_head_eq_charcode:VNT \l__codedoc_index_key_tl _
{ \__codedoc_key_pop: \__codedoc_key_drop_underscores: }
}
\cs_new_protected:Npn \__codedoc_key_func:
{
- \tl_if_head_eq_charcode:oNT { \l__codedoc_index_key_tl } .
+ \tl_if_head_eq_charcode:VNT \l__codedoc_index_key_tl .
{ \__codedoc_key_pop: }
\__codedoc_key_drop_underscores:
\tl_set_eq:NN \l__codedoc_index_module_tl \l__codedoc_index_key_tl
@@ -2234,13 +2388,13 @@
}
\cs_new_protected:Npn \__codedoc_key_var:
{
- \exp_args:Nx \tl_if_head_eq_charcode:nNTF
+ \exp_args:Ne \tl_if_head_eq_charcode:nNTF
{ \exp_args:No \str_tail:n \l__codedoc_index_key_tl } _
{
- \str_case:fn { \str_head:N \l__codedoc_index_key_tl }
+ \str_case:en { \str_head:N \l__codedoc_index_key_tl }
{
{ q } { \tl_set:Nn \l__codedoc_index_module_tl { quark } }
- { s } { \tl_set:Nn \l__codedoc_index_module_tl { quark } }
+ { s } { \tl_set:Nn \l__codedoc_index_module_tl { scan } }
}
\__codedoc_key_pop:
\__codedoc_key_pop:
@@ -2249,15 +2403,14 @@
{
\seq_set_split:NoV \l__codedoc_tmpa_seq
{ \token_to_str:N _ } \l__codedoc_index_key_tl
- \tl_set:Nx \l__codedoc_index_module_tl
+ \seq_get_left:NN \l__codedoc_tmpa_seq \l__codedoc_index_module_tl
+ \clist_if_in:NoT \g__codedoc_non_modules_clist \l__codedoc_index_module_tl
{
- \int_case:nnF { \seq_count:N \l__codedoc_tmpa_seq }
+ \seq_get_right:NN \l__codedoc_tmpa_seq \l__codedoc_index_module_tl
+ \clist_if_in:NoT \g__codedoc_non_modules_clist \l__codedoc_index_module_tl
{
- { 0 } { }
- { 1 } { int }
- { 2 } { \seq_item:Nn \l__codedoc_tmpa_seq { 2 } }
+ \tl_clear:N \l__codedoc_index_module_tl
}
- { \seq_item:Nn \l__codedoc_tmpa_seq { 1 } }
}
}
}
@@ -2266,6 +2419,22 @@
\exp_args:No \__codedoc_key_trim_module:n { \token_to_str:N _ }
}
}
+\clist_new:N \g__codedoc_non_modules_clist
+\clist_gset:Ne \g__codedoc_non_modules_clist
+ {
+ \tl_to_str:n
+ {
+
+ alignment, ampersand, atsign, backslash, catcode, circumflex,
+ code, colon, document, dollar, e, empty, false, hash, inf,
+ initex, job, left, log, math, mark, max, minus, nan, nil, no,
+ novalue, other, parameter, percent, pi, recursion, right, space,
+ stop, term, tilde, tmpa, tmpb, true, underscore, zero, one, two,
+ three, four, five, six, seven, eight, nine, ten, eleven, twelve,
+ thirteen, fourteen, fifteen, sixteen, thirty, hundred
+
+ }
+ }
\GlossaryPrologue
{
\part*{Change~History}
@@ -2273,14 +2442,14 @@
\markboth{Change~History}{Change~History}
\addcontentsline{toc}{part}{Change~History}
}
-\msg_new:nnn { l3doc-TUB } { print-changes-howto }
+\msg_new:nnn { l3doc } { print-changes-howto }
{
Generate~the~change~list~by~executing\\
\iow_indent:n
{ makeindex~-s~gglo.ist~-o~\c_sys_jobname_str.gls~\c_sys_jobname_str.glo }
}
\tl_gput_right:Nn \PrintChanges
- { \AtEndDocument { \msg_info:nn { l3doc-TUB } { print-changes-howto } } }
+ { \AtEndDocument { \msg_info:nn { l3doc } { print-changes-howto } } }
\bool_if:NTF \g__codedoc_typeset_implementation_bool
{
\RecordChanges
@@ -2295,12 +2464,12 @@
}
%%FMi
-
+
\def\maketitle{\@ifstar
{\@articletitlefalse\@r@maketitle}%
{\@articletitletrue\@r@maketitle}%
}
-
+
%%
%%
-%% End of file `l3doc-TUB.cls'.
+%% End of file `l3doc.cls'.
diff --git a/macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdf b/macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdf
index 481c4e5c6e..75743c49a8 100644
--- a/macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdf
+++ b/macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdf b/macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdf
index 1410dcedcb..cba2aa8ab9 100644
--- a/macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdf
+++ b/macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf b/macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf
index 9cdb8133b1..bc27d7ef12 100644
--- a/macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf
+++ b/macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf
Binary files differ
diff --git a/macros/latex/contrib/unicodefonttable/unicodefonttable.dtx b/macros/latex/contrib/unicodefonttable/unicodefonttable.dtx
index 30f419801c..4c04b15350 100644
--- a/macros/latex/contrib/unicodefonttable/unicodefonttable.dtx
+++ b/macros/latex/contrib/unicodefonttable/unicodefonttable.dtx
@@ -17,12 +17,12 @@
% for those people who are interested or want to report an issue.
%
-\def\unicodefonttabledate {2024/03/01}
-\def\unicodefonttableversion{1.0h}
+\def\unicodefonttabledate {2024/06/06}
+\def\unicodefonttableversion{1.0i}
%<*driver>
-\documentclass{l3doc-TUB}
+\documentclass{l3doc-TUB2024}
% some fixes local to this documentation
@@ -238,10 +238,7 @@
% In the lists below the default settings are indicated by an
% underline.
%
-% \begin{variable}{
-% header, noheader,
-% title-format, title-format-cont,
-% }
+% \begin{variable}{header,noheader,title-format,title-format-cont}
% The first set of keys is concerned with the overall look and
% feel of the generated table.
% \begin{description}
@@ -267,11 +264,7 @@
% \end{variable}
%
%
-% \begin{variable}{
-% display-block,
-% hex-digits, hex-digits-font,hex-digits-row-format,
-% color,
-% }
+% \begin{variable}{display-block,hex-digits, hex-digits-font,hex-digits-row-format,color}
% These keys handle the inner parts of the table.
%
% \begin{description}
@@ -343,10 +336,7 @@
% \end{variable}
%
%
-% \begin{variable}{
-% statistics, nostatistics,
-% statistics-font,statistics-format,
-% }
+% \begin{variable}{statistics, nostatistics,statistics-font,statistics-format}
% The next set of keys allows altering the statistics that are produced.
% \begin{description}
%
@@ -371,10 +361,7 @@
%
%
%
-% \begin{variable}{
-% glyph-width,
-% missing-glyph, missing-glyph-font, missing-glyph-color,
-% }
+% \begin{variable}{glyph-width,missing-glyph, missing-glyph-font, missing-glyph-color}
% Another set of keys deals with customization on the glyph level.
% \begin{description}
% \item[\key{glyph-width}]
@@ -409,9 +396,7 @@
% \end{variable}
%
%
-% \begin{variable}{
-% compare-with,compare-color, compare-bgcolor,statistics-compare-format
-% }
+% \begin{variable}{compare-with,compare-color, compare-bgcolor,statistics-compare-format}
%
% You can make comparisons between two fonts, which is useful, for
% example when dealing with incomplete math fonts and you need to
@@ -453,9 +438,7 @@
% \end{variable}
%
%
-% \begin{variable}{
-% range-start, range-end,
-% }
+% \begin{variable}{range-start, range-end}
% Finally there are two keys for restricting the display range.
% \begin{description}
% \item[\key{range-start}, \key{range-end}]
@@ -757,6 +740,18 @@
{\unicodefonttableversion}
{Producing font tables for Unicode and other fonts}
% \end{macrocode}
+%
+% This is a tmp fix for code in \texttt{lttabbing.dtx} until that
+% is corrected there (probably 2024/11).
+% \begin{macrocode}
+\cs_set:Npn \tbl_crcr:n #1 {
+ \int_compare:nNnT \g__tbl_col_int > 0
+ {
+ \tbl_count_missing_cells:n {#1}
+ }
+ \crcr
+ }
+% \end{macrocode}
%
% \newcommand\hex[1]{$\langle\textit{hex}_{#1}\rangle$}
%
diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README
index 6d589988de..c73460f0b4 100644
--- a/macros/latex/contrib/univie-ling/README
+++ b/macros/latex/contrib/univie-ling/README
@@ -97,6 +97,29 @@ also have a look at the example files.
== CHANGES ==
+V. 2.7 (2024-07-23):
+ - univie-ling-wlg: Use proper spacing with covington's
+ reflist environment.
+ - univie-ling-poster: add smallmargins option.
+ - univie-ling-thesis: fix running headers in twoside mode.
+ - univie-ling-handout:
+ - univie-ling-expose:
+ - univie-ling-paper:
+ - univie-ling-thesis:
+ - univie-ling-wlg:
+ * Fix empty argument check in \weblink.
+ * Fix spacing after \weblink.
+
+V. 2.6 (2024-06-27):
+ - univie-ling-poster: add smallmargins option.
+ - univie-ling-thesis: fix running headers in twoside mode.
+ - univie-ling-handout:
+ - univie-ling-expose:
+ - univie-ling-paper:
+ - univie-ling-thesis:
+ - univie-ling-wlg:
+ * provide \weblink, \SetURLDate and \urldate macros.
+
V. 2.5 (2024-05-09):
- univie-ling-paper: implement "short" option.
- univie-ling-poster: Add \restspace accessibility helper function.
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
index 60172f7ebd..985dc19f98 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
@@ -38,7 +38,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.bbx}[2024/05/09 v.2.5 biblatex bibliography style]
+\ProvidesFile{univie-ling.bbx}[2024/07/23 v.2.7 biblatex bibliography style]
% Load base style (authoryear-comp)
\RequireBibliographyStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
index 837f66d53d..7600056940 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
@@ -36,7 +36,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.cbx}[2024/05/09 v.2.5 biblatex citation style]
+\ProvidesFile{univie-ling.cbx}[2024/07/23 v.2.7 biblatex citation style]
\RequireCitationStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
index 022d7b0ffb..8652b32a5b 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
index bd912dfba4..a8ac59e821 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
index bab72dbf24..48b41cac87 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
index c7add82055..608e203154 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
index f701cadb32..5ac9aba1d1 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
index 9ca6f625cc..49efca45fa 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
index 0ed4b5d7cc..f2260ffeb4 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
index ed8866e79a..b16ccfe334 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
index 38fe04556c..9673abfdb0 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
index eb482b6af2..0d550fa286 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
index ffaa154e26..8a1d9155c6 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
index 65411031cc..f811c049e4 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
index c4540b6210..7efd2c2f36 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
index 9a9fc48809..c3d1c66805 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -102,6 +102,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{csquotes}: Context sensitive quotations.
\item \textsf{datetime2}: Date localization.
\item \textsf{graphicx}: Graphic support.
+ \item \textsf{isodate}: Format URL dates.
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{scrlayer-scrpage}: Page layout settings.
\item \textsf{setspace}: Line spacing adjustments.
@@ -268,6 +269,34 @@ You can redefine each of these commands, if needed, like this:
\renewcommand*\Meaning[1]{\enquote*{#1}}
\end{lstlisting}
+\section{Hyperlinks}
+
+The stylesheet requires you to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the preferred way (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://linguistics.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://linguistics.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
+
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
+
\section{Linguistic examples and glosses}
The class automatically loads the \textsf{covington} package which provides macros for examples and glosses.
@@ -341,6 +370,15 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
index 4576acd967..a253d4003e 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
index f67e3f1846..bdd72da44e 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -98,6 +98,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{csquotes}: Context sensitive quotations.
\item \textsf{graphicx}: Graphic support.
\item \textsf{geometry}: Page layout settings.
+ \item \textsf{isodate}: Format URL dates.
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{translator}: Localization machinery.
\item \textsf{url}: Support for typesetting URLs.
@@ -305,6 +306,34 @@ You can redefine each of these commands, if needed, like this:
\renewcommand*\Meaning[1]{\enquote*{#1}}
\end{lstlisting}
+\section{Hyperlinks}
+
+It is good practice to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the preferred way (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://linguistics.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://linguistics.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
+
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
+
\section{Linguistic examples and glosses}
The class automatically loads the \textsf{covington} package which provides macros for examples and glosses.
@@ -386,6 +415,15 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item Add \jcsmacro{hoDate}.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
index 26aaaabcd5..e04efcd52f 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
index 773dfdb47d..d6f5293a89 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -99,6 +99,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{scrartcl}: KOMA-Script article class (base class).
\item \textsf{csquotes}: Context sensitive quotations.
\item \textsf{graphicx}: Graphic support.
+ \item \textsf{isodate}: Format URL dates.
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{scrlayer-scrpage}: Page layout settings.
\item \textsf{setspace}: Line spacing adjustments.
@@ -308,6 +309,34 @@ You can redefine each of these commands, if needed, like this:
\renewcommand*\Meaning[1]{\enquote*{#1}}
\end{lstlisting}
+\section{Hyperlinks}
+
+The stylesheet requires you to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the preferred way (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://linguistics.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://linguistics.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
+
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
+
\section{Linguistic examples and glosses}
The class automatically loads the \textsf{covington} package which provides macros for examples and glosses.
@@ -382,6 +411,15 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item Implement \joption{short} option.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
index 391bec0c00..06d64c7638 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
index dcd04b3338..1985658b78 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
@@ -65,7 +65,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -107,6 +107,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{csquotes}: Context sensitive quotations.
\item \textsf{graphicx}: Graphic support.
\item \textsf{geometry}: Page layout settings.
+ \item \textsf{isodate}: Format URL dates.
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{translator}: Localization machinery.
\item \textsf{url}: Support for typesetting URLs.
@@ -207,6 +208,9 @@ The following layout options are available
\item{\joption{portrait=true|false}} Set the poster to portrait format (default is landscape).
This also adjusts the logo positioning.
\item{\joption{scale=<double>}} Scales the contents of the poster. The default is \texttt{1.4}.
+ \item{\joption{smallmargins=true|false}} By default, and following the corporate design, posters
+ have a larger left margin that make the poster title and text align with the logo.
+ If you need more space or do prefer equal left and right margin sizes, set this to true.
\end{description}
\subsection{Language setting}
@@ -406,6 +410,34 @@ Since texts on posters might be larger than usual, the class provides three size
(in increasing size): \verb|\veryHuge|, \verb|\VeryHuge|, and \verb|\VERYHuge|. Like the legacy size commands, these
are switches.
+\section{Hyperlinks}
+
+It is good practice to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the preferred way (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://linguistics.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://linguistics.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
+
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
+
\subsection{Linguistic examples and glosses}\label{sec:examples}
The class automatically loads the \textsf{covington} package which provides macros for examples and glosses.
@@ -545,6 +577,16 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \item Add \joption{smallmargins} class option.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item Add \verb|\restspace| accessibility helper function.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
index 199dd750a3..b77ad97265 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
index 9b99e1db6c..2feb157bce 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -96,6 +96,7 @@ The following class and packages are required and loaded by \uvlt:
\item \textsf{csquotes}: Context sensitive quotations.
\item \textsf{geometry}: Page layout settings.
\item \textsf{graphicx}: Graphic support.
+ \item \textsf{isodate}: Format URL dates.
\item \textsf{l3keys}: Key-value interface for class options.
\item \textsf{scrlayer-scrpage}: Page header settings.
\item \textsf{setspace}: Line spacing adjustments.
@@ -310,6 +311,34 @@ You can redefine each of these commands, if needed, like this:
\renewcommand*\Meaning[1]{\enquote*{#1}}
\end{lstlisting}
+\section{Hyperlinks}
+
+The stylesheet requires you to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the preferred way (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://linguistics.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://linguistics.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
+
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
+
\section{Linguistic examples and glosses}
The class automatically loads the \textsf{covington} package which provides macros for examples and glosses.
@@ -404,6 +433,16 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \item Fix running headers in twoside mode.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
index c9d37e2221..f2a5a48dc2 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
index 96cf80916f..6ca75cc0ed 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -219,8 +219,37 @@ You can redefine each of these commands, if needed, like this:
\renewcommand*\Concept[1]{\textsc{#1}}
\renewcommand*\Meaning[1]{\enquote*{#1}}
\end{lstlisting}
+%
+Furthermore, the class features a \jcsmacro{versal\{<text>\}} macro to typeset capital text and acronyms
+(slightly scaled and tracked).
+
+\section{Hyperlinks}
+
+The journal stylesheet requires you to always give last access dates to web links (URLs). To make this easier,
+\uvlt\ provides a number of convenience macros. To begin with, you can easily enter URLs with the last date you
+accessed the site with the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{<URL>}[<date>]
+\end{lstlisting}
+%
+This will format the date in the way preferred by the journal (``[last accessed: <date>]''), localized to English or German.
+The argument can be given in the form YYYY-MM-DD, DD/MM/YYYY, or DD.MM.YYYY, e.g.
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={weblink}]
+\weblink{https://wlg.univie.ac.at}[27/06/2024]
+\end{lstlisting}
+%
+will print: \url{https://wlg.univie.ac.at} [last accessed: 27/06/2024].
+If you do not give the optional date argument, no date is printed unless you have specified a general last access date
+by means of the function
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,morekeywords={SetURLDate}]
+\SetURLDate{<date>}
+\end{lstlisting}
+%
+which takes the same date format as argument. This function might come in handy if you have the same access date
+for all, or many, URLs. And it lets you update all URL access dates with a single change.
-Furthermore, the class features a \jcsmacro{versal\{<text>\}} macro to typeset capital text and acronyms (slightly scaled and tracked).
+For hyperlinks without date, you can also use the legacy command \jcsmacro{url\{<URL>\}}.
+To output the date information only, you can use the macro \jcsmacro{urldate\{<date>\}}.
\section{Linguistic examples and glosses}
@@ -234,6 +263,10 @@ If the class option \joption{biblatex=true} is set, the \uvlt\ class loads a bib
\emph{Unified Style Sheet for Linguistics} of the LSA (\emph{Linguistic Society of America}).
In order to conform to this style, the \uvlt\ class uses the \textsf{biblatex} package with the \textsf{univie-ling} style that is included in the \textsf{univie-ling} bundle.
+If, for some reason, you do not want to use \textsf{biblatex} and prefer to have a manually constituted bibliography\footnote{A reason might be that you transform
+a paper submitted in a an office file format to \LaTeX.}, use the \texttt{reflist} environment
+and separate each entry by a blank line. Since this environment is provided by \textsf{covington}, the \joption{covington} options must not be \joption{false}.
+
\section{\LyX\ layouts and templates}
A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-wlg.layout}.
@@ -245,6 +278,16 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m
\raggedright
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Use proper spacing with \textsf{covington}'s \texttt{reflist} environment.
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
+ \item 2024/06/27 (v.\,2.6)
+ \begin{itemize}
+ \item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
+ \end{itemize}
\item 2024/05/09 (v.\,2.5)
\begin{itemize}
\item Update the editorial structure.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
index 057fd5d0ff..394cddb692 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.tex b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
index 6cc4ac25f8..f88f1fcea4 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
@@ -42,7 +42,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.5, 2024/05/09}
+\date{Version 2.7, 2024/07/23}
\maketitle
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
index 29576a930f..f7ff0916f4 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-expose}[2024/05/09 v.2.5 Univie Linguistic Exposes (JSp)]
+\ProvidesPackage{univie-ling-expose}[2024/07/23 v.2.7 Univie Linguistic Exposes (JSp)]
%% ============================================================
@@ -218,6 +218,8 @@
\deftranslation[to=English]{cosupervisor}{Co-Supervisor}
\deftranslation[to=German]{beirat}{Beirat}
\deftranslation[to=English]{beirat}{Advisory board}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -261,6 +263,24 @@
{\def\UrlFont{\rmfamily\itshape}
}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
index 22a451329d..73c5a325da 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
@@ -35,7 +35,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-handout}[2024/05/09 v.2.5 Univie Ling handout class (JSp)]
+\ProvidesClass{univie-ling-handout}[2024/07/23 v.2.7 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -652,6 +652,8 @@
\deftranslation[to=English]{footnote}{fn.}
\deftranslation[to=German]{example}{Beispiel}
\deftranslation[to=English]{example}{example}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -920,6 +922,24 @@
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Covington
\if@uvh@covington
\RequirePackage{covington}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
index 4ee6eaf8f8..eda1430345 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
@@ -32,7 +32,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-paper}[2024/05/09 v.2.5 Univie Linguistic Papers (JSp)]
+\ProvidesPackage{univie-ling-paper}[2024/07/23 v.2.7 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -243,6 +243,8 @@ This includes all drawings, sketches, graphics and internet sources.}
\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.}
\deftranslation[to=German]{wien}{Wien}
\deftranslation[to=English]{wien}{Vienna}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
@@ -283,6 +285,24 @@ This includes all drawings, sketches, graphics and internet sources.}
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
index d2b68940af..87f5092d4c 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
@@ -34,7 +34,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-poster}[2024/05/09 v.2.5 Univie Ling poster class (JSp)]
+\ProvidesClass{univie-ling-poster}[2024/07/23 v.2.7 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -52,6 +52,7 @@
\newif\if@uvpt@pplogo\@uvpt@pplogotrue
\newif\if@uvpt@psfonts\@uvpt@psfontstrue
\newif\if@uvpt@refsp\@uvpt@refsptrue
+\newif\if@uvpt@smallmargins\@uvpt@smallmarginsfalse
\newif\if@uvpt@tcolorbox\@uvpt@tcolorboxtrue
\newif\if@uvpt@usefontenc\@uvpt@usefontenctrue
\def\uvpt@fontenc{T1}
@@ -136,6 +137,10 @@
% Set portrait
portrait.legacy_if_set:n = @uvpt@portrait,
portrait.usage:n = preamble,
+ % smallmargins=<true|false>
+ % Set compact margins
+ smallmargins.legacy_if_set:n = @uvpt@smallmargins,
+ smallmargins.usage:n = preamble,
% microtype=<true|false>
% Load microtype
microtype.legacy_if_set:n = @uvpt@microtype,
@@ -287,6 +292,7 @@
\RequirePackage{url}
\def\UrlFont{\rmfamily\itshape\color{black}}
+
%% ============================================================
%% COLORS
%% ============================================================
@@ -384,23 +390,36 @@
% Headline
\newlength\titleindent
\newlength\restwidth
+\newlength\unitindent
+\newlength\lmoffset
\newlength\univieposter@leftmargin
\defbeamertemplate*{headline}{univie}
{%
+ \setlength\unitindent{0pt}%
+ \setlength\lmoffset{0pt}%
\if@uvpt@portrait
- \setlength\titleindent{.09\paperwidth}
- \setlength\restwidth{.991\paperwidth}
+ \if@uvpt@smallmargins
+ \setlength\unitindent{.09\paperwidth}
+ \else
+ \setlength\titleindent{.09\paperwidth}
+ \setlength\restwidth{.991\paperwidth}
+ \fi
\else
- \setlength\titleindent{.065\paperwidth}
- \setlength\restwidth{.935\paperwidth}
- \fi
+ \if@uvpt@smallmargins
+ \setlength\unitindent{.065\paperwidth}%
+ \setlength\lmoffset{-.02\paperwidth}%
+ \else
+ \setlength\titleindent{.065\paperwidth}%
+ \setlength\restwidth{.935\paperwidth}%
+ \fi%
+ \fi%
\begin{columns}
\begin{column}{\titleindent}
\end{column}
    \begin{column}{0.475\textwidth}
\begin{beamercolorbox}[wd=\columnwidth,sep=.028\textwidth]{univieunit}
- \usebox{\uvpt@box@logo}\par
- \vspace*{.7em}\hspace*{\titleindent}\usebeamerfont{univieunit}\usebeamercolor[fg]{univieunit}\uvpt@department
+ \hspace*{\lmoffset}\usebox{\uvpt@box@logo}\par
+ \vspace*{.7em}\hspace*{\lmoffset}\hspace*{\titleindent}\hspace*{\unitindent}\usebeamerfont{univieunit}\usebeamercolor[fg]{univieunit}\uvpt@department
\end{beamercolorbox}
\end{column}
    \begin{column}{0.48\textwidth}
@@ -432,7 +451,7 @@
\end{columns}
\vspace*{-1.8mm}
\begin{beamercolorbox}[sep=.014\textwidth]{titlebox}
- \hspace*{\titleindent}\hspace{.013\textwidth}%
+ \hspace*{.25\lmoffset}\hspace*{\titleindent}\hspace{.013\textwidth}%
\begin{minipage}{.8\textwidth}%
\usebeamerfont{title in headline}\inserttitle\par%
\ifx\insertsubtitle\@empty%
@@ -622,7 +641,9 @@
\else
\addtolength\univieposter@leftmargin{.065\paperwidth}
\fi
- \setbeamersize{text margin left=\univieposter@leftmargin}
+ \if@uvpt@smallmargins\else
+ \setbeamersize{text margin left=\univieposter@leftmargin}
+ \fi
}
@@ -694,6 +715,8 @@
\deftranslation[to=English]{footnote}{fn.}
\deftranslation[to=German]{example}{Beispiel}
\deftranslation[to=English]{example}{example}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% =============================================================
@@ -875,6 +898,24 @@
% URLs italic
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Covington
\if@uvpt@covington
% Rename the beamer example(s) environment
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
index bfe9204471..91d34276a0 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-thesis}[2024/05/09 v.2.5 Univie Linguistic Theses (JSp)]
+\ProvidesPackage{univie-ling-thesis}[2024/07/23 v.2.7 Univie Linguistic Theses (JSp)]
%% ============================================================
@@ -234,6 +234,8 @@ This includes all drawings, sketches, graphics and internet sources.}
\deftranslation[to=English]{selbst3p}{Furthermore, we declare that this paper has not been submitted as an examination already, neither as a whole nor in parts.}
\deftranslation[to=German]{wien}{Wien}
\deftranslation[to=English]{wien}{Vienna}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
%% ============================================================
%% FONTS AND EMPHASIZING:
@@ -275,6 +277,24 @@ This includes all drawings, sketches, graphics and internet sources.}
{\def\UrlFont{\rmfamily\itshape}
}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Fix for \slash-Makro, by Donald Arsenau
\def\slash{/\penalty\exhyphenpenalty\hskip\z@skip}
@@ -424,7 +444,7 @@ This includes all drawings, sketches, graphics and internet sources.}
\clearmainofpairofpagestyles
\ihead{\headmark}
\ohead{\pagemark}
-\automark{chapter}
+\automark[section]{chapter}
\KOMAoptions{headsepline=true}
\pagestyle{scrheadings}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
index 0bdf4b8552..00deb089cc 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
@@ -34,7 +34,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-wlg}[2024/05/09 v.2.5 Univie WLG journal layout (JSp)]
+\ProvidesPackage{univie-ling-wlg}[2024/07/23 v.2.7 Univie WLG journal layout (JSp)]
%% ============================================================
@@ -214,6 +214,24 @@
% Italic URLs
\def\UrlFont{\rmfamily\itshape}
+% Format URL dates
+\def\wlg@urldate{}
+\newcommand*\SetURLDate[1]{\gdef\wlg@urldate{#1}}
+\AddToHook{begindocument}{
+ \RequirePackage[english,ngerman]{isodate}
+ \numdate
+ \providecommand*\urldate[1]{[\translate{urlaccess} \printdate{#1}]}
+ % Convenience function
+ \NewDocumentCommand\weblink{mo}{%
+ \url{#1}%
+ \IfNoValueTF{#2}%
+ {\ifx\wlg@urldate\empty\else%
+ \ \urldate{\wlg@urldate}%
+ \fi}%
+ {\ \urldate{#2}}%
+ }
+}
+
% Microtype tweaks
\RequirePackage{microtype}
@@ -313,6 +331,8 @@
(Namensnennung -- Nicht kommerziell -- Keine Bearbeitungen)}
\deftranslation[to=English]{license}{This work is published under a Creative Commons \doclicenseNameRef\ license\\
(Attribution-NonCommercial-NoDerivatives)}
+\deftranslation[to=German]{urlaccess}{Abruf am:}
+\deftranslation[to=English]{urlaccess}{last accessed:}
\AtBeginDocument{%
@@ -1023,6 +1043,8 @@
\if@wlg@covington
\RequirePackage{covington}
\renewcommand{\p@equation}[1]{(#1)}
+ \setlength\reflistindent{\parindent}
+ \setlength\reflistparsep{0pt}
\fi
diff --git a/macros/latex/contrib/xfrac/CHANGELOG.md b/macros/latex/contrib/xfrac/CHANGELOG.md
index e2f119f66a..9505bc35fa 100644
--- a/macros/latex/contrib/xfrac/CHANGELOG.md
+++ b/macros/latex/contrib/xfrac/CHANGELOG.md
@@ -8,6 +8,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), this project uses date-based
## [Unreleased]
+## [2024-06-04]
+
+### Changed
+
+- Update for kernel change from `\IfInstanceExistTF`
+ to `\IfInstanceExistsTF`
+
## [2024-02-13]
### Changed
@@ -15,5 +22,6 @@ Changelog](https://keepachangelog.com/en/1.0.0/), this project uses date-based
- Updated package dependencies (track kernel improvements)
- Preparation for move of `xtemplate` concepts to the kernel
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-02-13...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-06-04...HEAD
+[2024-06-04]: https://github.com/latex3/xfrac/compare/2024-02-13...2024-06-04
[2024-02-13]: https://github.com/latex3/xfrac/compare/2023-10-10...2024-02-13
diff --git a/macros/latex/contrib/xfrac/README.md b/macros/latex/contrib/xfrac/README.md
index 8af29b97d2..50c5cdb97a 100644
--- a/macros/latex/contrib/xfrac/README.md
+++ b/macros/latex/contrib/xfrac/README.md
@@ -1,6 +1,6 @@
# `xfrac`: Split level fractions
-Release 2024-02-13
+Release 2024-06-04
## Overview
diff --git a/macros/latex/contrib/xfrac/xfrac.dtx b/macros/latex/contrib/xfrac/xfrac.dtx
index 55c26ca76f..1d2a109cd1 100644
--- a/macros/latex/contrib/xfrac/xfrac.dtx
+++ b/macros/latex/contrib/xfrac/xfrac.dtx
@@ -50,7 +50,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-13}
+% \date{Released 2024-06-04}
%
% \maketitle
%
@@ -512,7 +512,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xfrac}{2024-02-13}{}
+\ProvidesExplPackage{xfrac}{2024-06-04}{}
{Split-level fractions}
% \end{macrocode}
%
@@ -567,6 +567,8 @@
\IfFormatAtLeastTF { 2024-06-01 }
{ }
{ \RequirePackage { xtemplate } }
+\cs_if_exist:NF \IfInstanceExistsTF
+ { \cs_new_eq:NN \IfInstanceExistsTF \IfInstanceExistTF }
% \end{macrocode}
%
% \begin{variable}{\l_@@_slash_box}
@@ -1109,16 +1111,16 @@
{
\mode_if_math:TF
{
- \IfInstanceExistTF { xfrac } { mathfam \number \fam }
+ \IfInstanceExistsTF { xfrac } { mathfam \number \fam }
{ \UseInstance { xfrac } { mathfam \number \fam } }
{ \UseInstance { xfrac } { mathdefault } }
{#2} {#3} {#4}
}
{
- \IfInstanceExistTF { xfrac } {#1}
+ \IfInstanceExistsTF { xfrac } {#1}
{ \UseInstance { xfrac } {#1} }
{
- \IfInstanceExistTF { xfrac } { \f@family }
+ \IfInstanceExistsTF { xfrac } { \f@family }
{ \UseInstance { xfrac } { \f@family } }
{ \UseInstance { xfrac } { default } }
}
diff --git a/macros/latex/contrib/xfrac/xfrac.pdf b/macros/latex/contrib/xfrac/xfrac.pdf
index e79462c3dd..e480dc4b66 100644
--- a/macros/latex/contrib/xfrac/xfrac.pdf
+++ b/macros/latex/contrib/xfrac/xfrac.pdf
Binary files differ
diff --git a/macros/latex/contrib/xint-regression/README.md b/macros/latex/contrib/xint-regression/README.md
new file mode 100644
index 0000000000..4b2977a59b
--- /dev/null
+++ b/macros/latex/contrib/xint-regression/README.md
@@ -0,0 +1,7 @@
+xint-regression is a package to work with classic regressions, with xint.
+-----------------------------------------------------------------------------------------
+xint-regression est un package pour travailler avec des régressions classiques, avec xint.
+------------------------------------------------------------------------------------------
+Author.......: Cédric Pierquet
+email........: cpierquet@outlook.fr
+Licence......: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/xint-regression/doc/xint-regression-doc.pdf b/macros/latex/contrib/xint-regression/doc/xint-regression-doc.pdf
new file mode 100644
index 0000000000..744ccda47f
--- /dev/null
+++ b/macros/latex/contrib/xint-regression/doc/xint-regression-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/xint-regression/doc/xint-regression-doc.tex b/macros/latex/contrib/xint-regression/doc/xint-regression-doc.tex
new file mode 100644
index 0000000000..b42f725cdf
--- /dev/null
+++ b/macros/latex/contrib/xint-regression/doc/xint-regression-doc.tex
@@ -0,0 +1,447 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[11pt,a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{xint-regression}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{hyperref}
+\usepackage{tkz-grapheur}
+\usepackage{tcolorbox}
+\tcbuselibrary{skins,minted}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [xint-regression]}
+\rfoot{\sffamily\small - \thepage{} -}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=2cm]{geometry}
+\setlength{\parindent}{0pt}
+\def\TPversion{0.1.0}
+\def\TPdate{05/06/2024}
+\usepackage{soul}
+\usepackage{tabularray}
+\sethlcolor{lightgray!25}
+\NewDocumentCommand\MontreCode{ m }{%
+ \hl{\vphantom{\texttt{pf}}\texttt{#1}}%
+}
+\usepackage{babel}
+
+\renewcommand{\footnoterule}{\vfill\kern -3pt \hrule width 0.4\columnwidth \kern 2.6pt}
+
+\begin{document}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\begin{center}
+ \begin{minipage}{0.88\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{xint-regression}}\\
+ \\
+ {\LARGE Classic regressions, with \textsf{xint}.}\\
+ \\
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{tabular}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://forge.apps.education.fr/pierquetcedric/package-latex-xintreg}} \\
+\end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\def\LISTEX{1,2,3,4,5,6}
+\def\LISTEY{8.74,8.80,9.52,10.42,11.83,14.62}
+
+\xintexpreg[Alt]{\LISTEX}{\LISTEY} %raw results
+$a \approx \exprega$ and $b \approx \expregb$
+
+\xintexpreg[Alt,round=2]{\LISTEX}{\LISTEY} %rounded results
+$a \approx \exprega$ and $b \approx \expregb$\\
+
+So $y \approx \exprega x+\expregb$.
+\end{tcblisting}
+
+\vspace*{5mm}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\def\LISTEXX{0,50,100,140}
+\def\LISTEYY{275,290,315,350}
+
+\xintexpoffreg[offset=250]{\LISTEXX}{\LISTEYY} %raw results
+$a \approx \expregoffa$ and $b \approx \expregoffb$
+
+\xintexpoffreg[offset=250,round=2/1]{\LISTEXX}{\LISTEYY} %rounded results
+$a \approx \expregoffa$ and $b \approx \expregoffb$\\
+
+So $y \approx 250+\expregoffb e^{\expregoffa x}$
+\end{tcblisting}
+
+\vfill
+
+\vspace*{5mm}
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+\hrule
+
+\vspace*{5mm}
+
+\pagebreak
+
+\section{Introduction}
+
+\subsection{Global usage}
+
+This package offers \textsf{xint}-based commands for working with classical regressions :
+
+\begin{itemize}
+ \item linear regression $ax+b$ ;
+ \item quadratic regression $ax^2+bx+c$ ;
+ \item cubic regression $ax^3+bx^2+cx+d$ ;
+ \item power regression $ax^b$ ;
+ \item exponential regression $ab^x$ or $e^{ax+b}$ or $be^{ax}$ or $C + be^{ax}$ ;
+ \item logarithmic regression $a+b\log(x)$ ;
+ \item hyperbolic regression $a+\displaystyle\frac{b}{x}$.
+\end{itemize}
+
+For each type of regression, results can be stored in macros, either raw or with rounding (with individuals \MontreCode{[optional keys]}).
+
+\subsection{Packages used}
+
+This package uses \MontreCode{simplekv}, \MontreCode{xintexpr}, \MontreCode{listofitems} and \MontreCode{xstring}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%loading
+\usepackage{xint-regression}
+\end{tcblisting}
+
+\subsection{Warnings}
+
+The precision of the (determination) results seems to be good, which should normally guarantee satisfactory calculations and plots.
+
+Nevertheless, it is advisable to be cautious about the results obtained and those expected.
+
+\pagebreak
+
+\section{The commands}
+
+\subsection{Linear regression}
+
+The equation is \fbox{$ax+b$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xintlinreg[coeffa=...,coeffa=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=linrega} ; \MontreCode{coeffb=linregb} and \MontreCode{round} is empty.
+
+\MontreCode{round=...} can be given within \MontreCode{round=global} or \MontreCode{round=a/b/...}.
+
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%default output
+\xintlinreg{\LLX}{\LLY}%
+$a \approx \linrega$ and $b \approx \linregb$
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%personal macros + global rounding
+\xintlinreg[coeffa=LINa,coeffb=LINb,round=2]{\LLX}{\LLY}%
+$a \approx \LINa$ and $b \approx \LINb$
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%personal macros + individual rounding
+\xintlinreg[coeffa=LINEARa,coeffb=LINEARb,round=2/0]{\LLX}{\LLY}%
+$a \approx \LINEARa$ and $b \approx \LINEARb$
+\end{tcblisting}
+
+\subsection{Quadratic regression}
+
+The equation is \fbox{$ax^2+bx+c$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xintquadreg[coeffa=...,coeffb=...,coeffc=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=quadrega} ; \MontreCode{coeffb=quadregb}, \MontreCode{coeffc=quadrega} and \MontreCode{round} is empty.
+
+\MontreCode{round=...} can be given within \MontreCode{round=global} or \MontreCode{round=a/b/...}.
+
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%default output
+\xintquadreg{\LLX}{\LLY}%
+$a \approx \quadrega$ ; $b \approx \quadregb$ and $c \approx \quadregc$
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%personal macros + global rounding
+\xintquadreg[coeffa=QUADa,coeffb=QUADb,coeffc=QUADc,round=2]{\LLX}{\LLY}%
+$a \approx \QUADa$ ; $b \approx \QUADb$ and $c \approx \QUADc$
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%personal macros + individual rounding
+\xintquadreg[coeffa=QUADRAa,coeffb=QUADRAb,coeffc=QUADRAc,round=4/3/2]{\LLX}{\LLY}%
+$a \approx \QUADRAa$ ; $b \approx \QUADRAb$ and $c \approx \QUADRAc$
+\end{tcblisting}
+
+\subsection{Cubic regression}%, hyperbolic and logarithmic regression}
+
+The equation for cubic is \fbox{$ax^3+bx^2+cx+d$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xintcubreg[coeffa=...,coeffb=...,coeffc=...,coeffd=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=cubrega} ; \MontreCode{coeffb=cubregb} ; \MontreCode{coeffc=cubregc} and \MontreCode{coeffd=cubregd}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%individual roudings
+\xintcubreg[round=5/3/2/1]{\LLX}{\LLY}%
+$a \approx \cubrega$ ; $b \approx \cubregb$ ; $c \approx \cubregc$ and $d \approx \cubregd$
+\end{tcblisting}
+
+\subsection{Hyperbolic regression}
+
+The equation for hyperbolic is \fbox{$a+\displaystyle\frac{b}{x}$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xinthypreg[coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=hyprega} and \MontreCode{coeffb=hypregb}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%global roudings
+\xinthypreg[round=2]{\LLX}{\LLY}%
+$a \approx \hyprega$ and $b \approx \hypregb$
+\end{tcblisting}
+
+\subsection{Logarithmic regression}
+
+The equation for logarithmic is \fbox{$a+b\,\log(x)$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xintlogreg[coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=logrega} and \MontreCode{coeffb=logregb}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%individual roudings
+\xintlogreg[round=1/4]{\LLX}{\LLY}%
+$a \approx \logrega$ and $b \approx \logregb$
+\end{tcblisting}
+
+\subsection{Power regression}
+
+The equation for power is \fbox{$a \times x^{b}$}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\xintpowreg[coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=powrega} and \MontreCode{coeffb=powregb}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%default output
+\xintpowreg{\LLX}{\LLY}%
+$a \approx \powrega$ and $b \approx \powregb$
+\end{tcblisting}
+
+\subsection{Exponential regression}
+
+Available regressions are :
+
+\begin{itemize}
+ \item \fbox{$a \times b^{x}$} ;
+ \item \fbox{$e^{ax+b}$} ;
+ \item \fbox{$b\,e^{ax}$} ;
+ \item \fbox{$C+b\,e^{ax}$}.
+\end{itemize}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%a*b^x
+\xintexpabreg[coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=expabrega} and \MontreCode{coeffb=expabregb}.
+
+\smallskip
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%e^(ax+b)
+\xintexpreg[coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=exprega} and \MontreCode{coeffb=expregb}.
+
+\smallskip
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%b*e^(ax)
+\xintexpreg[Alt,coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=exprega} and \MontreCode{coeffb=expregb}.
+
+\smallskip
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+%C+b*e^(ax)
+\xintexpoffreg[offset=C,coeffa=...,coeffb=...,round=...]{xlist}{ylist}
+\end{tcblisting}
+
+By default, \MontreCode{coeffa=expregoffa} and \MontreCode{coeffb=expregoffb}.
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only}
+\def\LLX{83,71,64,69,69,64,68,59,81,91,57,65,58,62}%
+\def\LLY{183,168,171,178,176,172,165,158,183,182,163,175,164,175}%
+\end{tcblisting}
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%a*b^x
+\xintexpabreg{\LLX}{\LLY}
+$a \approx \expabrega$ and $b \approx \expabregb$
+
+%e^(ax+b)
+\xintexpreg{\LLX}{\LLY}
+$a \approx \exprega$ and $b \approx \expregb$
+
+%b*e^(ax)
+\xintexpreg[Alt]{\LLX}{\LLY}
+$a \approx \exprega$ and $b \approx \expregb$
+
+%C+b*e^(ax)
+\xintexpoffreg[offset=50]{\LLX}{\LLY}
+$a \approx \expregoffa$ and $b \approx \expregoffb$
+\end{tcblisting}
+
+\pagebreak
+
+\section{Integration with other packages}
+
+\subsection{Number formatting}
+
+It is possible to format the results, according to locale rules, for example with \textsf{sinuitx}.
+
+\smallskip
+
+With \MontreCode{[locale=FR]} :
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+%a*b^x
+\xintexpabreg[round=1/3]{\LLX}{\LLY}%
+So we obtain $y \approx \num{\expabrega} \times e^{\num{\expabregb}\times x}$
+\end{tcblisting}
+
+\subsection{Plotting}
+
+It is also possible to integrate the package's commands into a plotting environment, such as \textsf{tikz} or \textsf{pgfplots}.
+
+\smallskip
+
+For example, with \textsf{tkz-grapheur} package :
+
+\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5}
+\def\LISTEXX{0,50,100,140}%
+\def\LISTEYY{275,290,315,350}%
+
+\begin{GraphiqueTikz}
+ [x=0.05cm,y=0.04cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10,
+ Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5]
+ %window
+ \TracerAxesGrilles[Elargir=2.5mm,Police=\footnotesize]{auto}{auto}
+ %points
+ \TracerNuage[Style=o,CouleurNuage=red]{\LISTEXX}{\LISTEYY}
+ %regression expoffset C+b*epx(ax)
+ \xintexpoffreg[offset=250]{\LISTEXX}{\LISTEYY}
+ \DefinirCourbe[Nom=ajust,Couleur=blue,Trace]
+ <ajust>
+ {250+\expregoffb*exp(\expregoffa*x)}
+ %constructions
+ \PlacerImages[Couleurs=cyan/magenta,Traits]{ajust}{80}
+ \PlacerAntecedents[Style=x,Couleurs=blue/green!50!black,Traits]{ajust}{325}
+\end{GraphiqueTikz}
+\end{tcblisting}
+
+\pagebreak
+
+\section{History}
+
+\begin{quote}
+\begin{verbatim}
+0.1.0 : Initial version
+\end{verbatim}
+\end{quote}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/xint-regression/tex/xint-regression.sty b/macros/latex/contrib/xint-regression/tex/xint-regression.sty
new file mode 100644
index 0000000000..71413005aa
--- /dev/null
+++ b/macros/latex/contrib/xint-regression/tex/xint-regression.sty
@@ -0,0 +1,662 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c
+% or later, see http://www.latex-project.org/lppl.txtf
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xint-regression}[2024/06/05 0.1.0 Some classic regressions, with xint]
+%0.1.0 Initial version
+
+%------Packages utiles
+\RequirePackage{simplekv}
+\RequirePackage{xintexpr}
+\RequirePackage{listofitems}
+\RequirePackage{xstring}
+
+%régression linéaire
+\defKV[CoefRegLin]{%
+ coeffa=\def\RegLinCoefa{#1},%
+ coeffb=\def\RegLinCoefb{#1},%
+ round=\def\RegLinRound{#1}
+}
+
+\setKVdefault[CoefRegLin]{%
+ coeffa=linrega,%
+ coeffb=linregb,%
+ round={}
+}
+
+\newcommand\xintlinreg[3][]{%
+ \useKVdefault[CoefRegLin]%
+ \setKV[CoefRegLin]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme des LX et des LY OK
+ \xdef\LXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+(\LX[##1])}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+(\LY[##1])}}%
+ }%
+ %moyenne des LX et des LY OK
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ %variance des LX et des LY OK
+ \xdef\LXvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXvar{\xintfloateval{\LXvar+(\LX[##1]-(\LXmoy))*(\LX[##1]-(\LXmoy))}}%
+ }
+ \xdef\LXvar{\xintfloateval{\LXvar/\LNB}}%
+ \xdef\LYvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYvar{\xintfloateval{\LYvar+(\LY[##1]-(\LYmoy))*(\LY[##1]-(\LYmoy))}}%
+ }%
+ \xdef\LYvar{\xintfloateval{\LYvar/\LNB}}%
+ %covariance des XY OK
+ \xdef\LXYvar{0}%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXYvar{\xintfloateval{\LXYvar+(\LX[##1]-(\LXmoy))*(\LY[##1]-(\LYmoy))}}%
+ }%
+ \xdef\LXYvar{\xintfloateval{\LXYvar/\LNB}}%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@lin@a{\xintfloateval{\LXYvar/\LXvar}}%
+ \xdef\tmp@reg@lin@b{\xintfloateval{\LYmoy-(\tmp@reg@lin@a)*(\LXmoy)}}%
+ %STOCKAGE
+ \IfStrEq{\RegLinRound}{}%
+ {%
+ \expandafter\def\csname\RegLinCoefa\endcsname{\tmp@reg@lin@a}%
+ \expandafter\def\csname\RegLinCoefb\endcsname{\tmp@reg@lin@b}%
+ }%
+ {%
+ \IfSubStr{\RegLinRound}{/}%
+ {%
+ \StrCut{\RegLinRound}{/}{\xintarrondisreglina}{\xintarrondisreglinb}%
+ }%
+ {%
+ \xdef\xintarrondisreglina{\RegLinRound}\xdef\xintarrondisreglinb{\RegLinRound}%
+ }%
+ \expandafter\def\csname\RegLinCoefa\endcsname{\xintfloateval{round(\tmp@reg@lin@a,\xintarrondisreglina)}}%
+ \expandafter\def\csname\RegLinCoefb\endcsname{\xintfloateval{round(\tmp@reg@lin@b,\xintarrondisreglinb)}}%
+ }%
+}
+
+
+
+%régression quadratique
+\defKV[CoeffRegQuad]{%
+ coeffa=\def\RegQuadCoefa{#1},%
+ coeffb=\def\RegQuadCoefb{#1},%
+ coeffc=\def\RegQuadCoefc{#1},%
+ round=\def\RegQuadRound{#1}
+}
+
+\setKVdefault[CoeffRegQuad]{%
+ coeffa=quadrega,%
+ coeffb=quadregb,%
+ coeffc=quadregc,%
+ round={}
+}
+
+\newcommand\xintquadreg[3][]{%
+ \useKVdefault[CoeffRegQuad]%
+ \setKV[CoeffRegQuad]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+(\LX[##1])}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[##1])^2}}%
+ }%
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+(\LY[##1])}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[##1]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[##1]-\LXmoy)*(\LY[##1]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[##1]-\LXmoy)*((\LX[##1])*(\LX[##1])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[##1])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[##1])^2-\LXCmoy)*(\LY[##1]-\LYmoy)}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@quad@b{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \xdef\tmp@reg@quad@a{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \xdef\tmp@reg@quad@c{\xintfloateval{\LYmoy-(\tmp@reg@quad@b)*\LXmoy-(\tmp@reg@quad@a)*\LXCmoy}}%
+ %STOCKAGE
+ \IfStrEq{\RegQuadRound}{}%
+ {%
+ \expandafter\def\csname\RegQuadCoefb\endcsname{\tmp@reg@quad@b}%
+ \expandafter\def\csname\RegQuadCoefa\endcsname{\tmp@reg@quad@a}%
+ \expandafter\def\csname\RegQuadCoefc\endcsname{\tmp@reg@quad@c}%
+ }%
+ {%
+ \IfSubStr{\RegQuadRound}{/}%
+ {%
+ \StrBefore[1]{\RegQuadRound}{/}[\xintarrondisregquada]%
+ \StrBetween[1,2]{\RegQuadRound}{/}{/}[\xintarrondisregquadb]%
+ \StrBehind[2]{\RegQuadRound}{/}[\xintarrondisregquadc]%
+ }%
+ {%
+ \xdef\xintarrondisregquada{\RegQuadRound}%
+ \xdef\xintarrondisregquadb{\RegQuadRound}%
+ \xdef\xintarrondisregquadc{\RegQuadRound}%
+
+ }%
+ \expandafter\def\csname\RegQuadCoefb\endcsname{\xintfloateval{round(\tmp@reg@quad@b,\xintarrondisregquadb)}}%
+ \expandafter\def\csname\RegQuadCoefa\endcsname{\xintfloateval{round(\tmp@reg@quad@a,\xintarrondisregquada)}}%
+ \expandafter\def\csname\RegQuadCoefc\endcsname{\xintfloateval{round(\tmp@reg@quad@c,\xintarrondisregquadc)}}%
+ }%
+}
+
+%régression puissance a*x^b
+\defKV[CoeffRegPuiss]{%
+ coeffa=\def\RegPuissCoefa{#1},%
+ coeffb=\def\RegPuissCoefb{#1},%
+ round=\def\RegPuissRound{#1}
+}
+
+\setKVdefault[CoeffRegPuiss]{%
+ coeffa=powrega,%
+ coeffb=powregb,%
+ round={}
+}
+
+\newcommand\xintpowreg[3][]{%
+ \useKVdefault[CoeffRegPuiss]%
+ \setKV[CoeffRegPuiss]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LlnXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LlnXlnYSomme{0}%
+ \xdef\LlncXSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LlnXSomme{\xintfloateval{\LlnXSomme+log(\LX[##1])}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LlnXlnYSomme{\xintfloateval{\LlnXlnYSomme+log(\LX[##1])*log(\LY[##1])}}%
+ \xdef\LlncXSomme{\xintfloateval{\LlncXSomme+(log(\LX[##1]))^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@pow@b{\xintfloateval{(\LNB*\LlnXlnYSomme-\LlnXSomme*\LlnYSomme)/(\LNB*\LlncXSomme-(\LlnXSomme)^2)}}%
+ \xdef\tmp@reg@pow@a{\xintfloateval{exp(1/\LNB*\LlnYSomme-(\tmp@reg@pow@b)/\LNB*\LlnXSomme)}}%
+ %STOCKAGE
+ \IfStrEq{\RegPuissRound}{}%
+ {%
+ \expandafter\def\csname\RegPuissCoefb\endcsname{\xintfloateval{\tmp@reg@pow@b}}%
+ \expandafter\def\csname\RegPuissCoefa\endcsname{\xintfloateval{\tmp@reg@pow@a}}%
+ }%
+ {%
+ \IfSubStr{\RegPuissRound}{/}%
+ {%
+ \StrCut{\RegPuissRound}{/}{\xintarrondisregpowa}{\xintarrondisregpowb}%
+ }%
+ {%
+ \xdef\xintarrondisregpowa{\RegPuissRound}\xdef\xintrrondisregpowb{\RegPuissRound}%
+ }%
+ \expandafter\def\csname\RegPuissCoefb\endcsname{\xintfloateval{round(\tmp@reg@pow@b,\xintarrondisregpowb)}}%
+ \expandafter\def\csname\RegPuissCoefa\endcsname{\xintfloateval{round(\tmp@reg@pow@a,\xintarrondisregpowa)}}%
+ }%
+}
+
+%régression a*b^x
+\defKV[CoeffRegExpoAB]{%
+ coeffa=\def\RegExpoCoefa{#1},%
+ coeffb=\def\RegExpoCoefb{#1},%
+ round=\def\RegExpoRound{#1}
+}
+
+\setKVdefault[CoeffRegExpoAB]{%
+ coeffa=expabrega,%
+ coeffb=expabregb,%
+ round={}
+}
+
+\newcommand\xintexpabreg[3][]{%
+ \useKVdefault[CoeffRegExpoAB]%
+ \setKV[CoeffRegExpoAB]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1])}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@expab@b{\xintfloateval{exp((\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2))}}%
+ \xdef\tmp@reg@expab@a{\xintfloateval{exp(1/\LNB*\LlnYSomme-log(\tmp@reg@expab@b)/\LNB*\LXSomme)}}%
+ %STOCKAGE
+ \IfStrEq{\RegExpoRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoCoefb\endcsname{\tmp@reg@expab@b}%
+ \expandafter\def\csname\RegExpoCoefa\endcsname{\tmp@reg@expab@a}%
+ }%
+ {%
+ \IfSubStr{\RegExpoRound}{/}%
+ {%
+ \StrCut{\RegExpoRound}{/}{\xintarrondisregexpoaba}{\xintarrondisregexpoabb}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoaba{\RegExpoRound}\xdef\xintarrondisregexpoabb{\RegExpoRound}%
+ }%
+ \expandafter\def\csname\RegExpoCoefb\endcsname{\xintfloateval{round(\tmp@reg@expab@b,\xintarrondisregexpoabb)}}%
+ \expandafter\def\csname\RegExpoCoefa\endcsname{\xintfloateval{round(\tmp@reg@expab@a,\xintarrondisregexpoaba)}}%
+ }%
+}
+
+%régression a+b/x
+\defKV[CoeffRegHyperb]{%
+ coeffa=\def\RegHyperbCoefa{#1},%
+ coeffb=\def\RegHyperbCoefb{#1},%
+ round=\def\RegHyperbRound{#1}
+}
+
+\setKVdefault[CoeffRegHyperb]{%
+ coeffa=hyprega,%
+ coeffb=hypregb,%
+ round={}
+}
+
+\newcommand\xinthypreg[3][]{%
+ \useKVdefault[CoeffRegHyperb]%
+ \setKV[CoeffRegHyperb]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LinvXSomme{0}%
+ \xdef\LYdivXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LinvXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LinvXSomme{\xintfloateval{\LinvXSomme+1/\LX[##1]}}%
+ \xdef\LYdivXSomme{\xintfloateval{\LYdivXSomme+\LY[##1]/\LX[##1]}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LinvXcSomme{\xintfloateval{\LinvXcSomme+1/(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@hyp@b{\xintfloateval{(\LNB*\LYdivXSomme-\LinvXSomme*\LYSomme)/(\LNB*\LinvXcSomme-(\LinvXSomme)^2)}}%
+ \xdef\tmp@reg@hyp@a{\xintfloateval{1/\LNB*\LYSomme-(\tmp@reg@hyp@b)/\LNB*\LinvXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegHyperbRound}{}%
+ {%
+ \expandafter\def\csname\RegHyperbCoefb\endcsname{\tmp@reg@hyp@b}%
+ \expandafter\def\csname\RegHyperbCoefa\endcsname{\tmp@reg@hyp@a}%
+ }%
+ {%
+ \IfSubStr{\RegHyperbRound}{/}%
+ {%
+ \StrCut{\RegHyperbRound}{/}{\xintarrondisreghypa}{\xintarrondisreghypb}%
+ }%
+ {%
+ \xdef\xintarrondisreghypa{\RegHyperbRound}\xdef\xintarrondisreghypb{\RegHyperbRound}%
+ }%
+ \expandafter\def\csname\RegHyperbCoefb\endcsname{\xintfloateval{round(\tmp@reg@hyp@b,\xintarrondisreghypb)}}%
+ \expandafter\def\csname\RegHyperbCoefa\endcsname{\xintfloateval{round(\tmp@reg@hyp@a,\xintarrondisreghypa)}}%
+ }%
+}
+
+%régression a+b*ln(x)
+\defKV[CoeffRegLog]{%
+ coeffa=\def\RegLogCoefa{#1},%
+ coeffb=\def\RegLogCoefb{#1},%
+ round=\def\RegLogRound{#1}
+}
+
+\setKVdefault[CoeffRegLog]{%
+ coeffa=logrega,%
+ coeffb=logregb,%
+ round={}
+}
+
+\newcommand\xintlogreg[3][]{%
+ \useKVdefault[CoeffRegLog]%
+ \setKV[CoeffRegLog]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LYlnXSomme{0}%
+ \xdef\LlnXSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LYlncXSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LYlnXSomme{\xintfloateval{\LYlnXSomme+\LY[##1]*log(\LX[##1])}}%
+ \xdef\LlnXSomme{\xintfloateval{\LlnXSomme+log(\LX[##1])}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LYlncXSomme{\xintfloateval{\LYlncXSomme+log(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@log@b{\xintfloateval{(\LNB*\LYlnXSomme-\LlnXSomme*\LYSomme)/(\LNB*\LYlncXSomme-(\LlnXSomme)^2)}}%
+ \xdef\tmp@reg@log@a{\xintfloateval{1/\LNB*\LYSomme-(\tmp@reg@log@b)/\LNB*\LlnXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegLogRound}{}%
+ {%
+ \expandafter\def\csname\RegLogCoefb\endcsname{\tmp@reg@log@b}%
+ \expandafter\def\csname\RegLogCoefa\endcsname{\tmp@reg@log@a}%
+ }%
+ {%
+ \IfSubStr{\RegLogRound}{/}%
+ {%
+ \StrCut{\RegLogRound}{/}{\xintarrondisregloga}{\xintarrondisreglogb}%
+ }%
+ {%
+ \xdef\xintarrondisregloga{\RegLogRound}\xdef\xintarrondisreglogb{\RegLogRound}%
+ }%
+ \expandafter\def\csname\RegLogCoefb\endcsname{\xintfloateval{round(\tmp@reg@log@b,\xintarrondisreglogb)}}%
+ \expandafter\def\csname\RegLogCoefa\endcsname{\xintfloateval{round(\tmp@reg@log@a,\xintarrondisregloga)}}%
+ }%
+}
+
+%régression e^(ax+b)
+\defKV[CoeffRegExpo]{%
+ coeffa=\def\RegExpoNCoefa{#1},%
+ coeffb=\def\RegExpoNCoefb{#1},%
+ round=\def\RegExpoNRound{#1}
+}
+
+\setKVdefault[CoeffRegExpo]{%
+ coeffa=exprega,%
+ coeffb=expregb,%
+ Alt=false,%
+ round={}
+}
+
+\newcommand\xintexpreg[3][]{%
+ \useKVdefault[CoeffRegExpo]%
+ \setKV[CoeffRegExpo]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1])}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1])}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES
+ \xdef\TmpCoeffExpoA{\xintfloateval{(\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2)}}%
+ \xdef\TmpCoeffExpoB{\xintfloateval{1/\LNB*\LlnYSomme-(\TmpCoeffExpoA)/\LNB*\LXSomme}}%
+ \ifboolKV[CoeffRegExpo]{Alt}%
+ {%
+ %STOCKAGE
+ \IfStrEq{\RegExpoNRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{exp(\TmpCoeffExpoB)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\TmpCoeffExpoA}%
+ }%
+ {%
+ \IfSubStr{\RegExpoNRound}{/}%
+ {%
+ \StrCut{\RegExpoNRound}{/}{\xintarrondisregexpoa}{\xintarrondisregexpob}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoa{\RegExpoNRound}\xdef\xintarrondisregexpob{\RegExpoNRound}%
+ }%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{round(exp(\TmpCoeffExpoB),\xintarrondisregexpob)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoa)}}%
+ }%
+ }%
+ {%
+ %STOCKAGE
+ \IfStrEq{\RegExpoNRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\TmpCoeffExpoB}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\TmpCoeffExpoA}%
+ }%
+ {%
+ \IfSubStr{\RegExpoNRound}{/}%
+ {%
+ \StrCut{\RegExpoNRound}{/}{\xintarrondisregexpoa}{\xintarrondisregexpob}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoa{\RegExpoNRound}\xdef\xintarrondisregexpob{\RegExpoNRound}%
+ }%
+ \expandafter\def\csname\RegExpoNCoefb\endcsname{\xintfloateval{round(\TmpCoeffExpoB,\xintarrondisregexpob)}}%
+ \expandafter\def\csname\RegExpoNCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoa)}}%
+ }%
+ }%
+}
+
+%régression C + b*e^(ax)
+\defKV[CoeffRegExpoOff]{%
+ coeffa=\def\RegExpoOffCoefa{#1},%
+ coeffb=\def\RegExpoOffCoefb{#1},%
+ offset=\def\RegExpoOffset{#1},%
+ round=\def\RegExpoOffRound{#1}
+}
+
+\setKVdefault[CoeffRegExpoOff]{%
+ coeffa=expregoffa,%
+ coeffb=expregoffb,%
+ offset=0,%
+ round={}
+}
+
+\newcommand\xintexpoffreg[3][]{%
+ \useKVdefault[CoeffRegExpoOff]%
+ \setKV[CoeffRegExpoOff]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXlnYSomme{0}%
+ \xdef\LXSomme{0}%
+ \xdef\LlnYSomme{0}%
+ \xdef\LXcSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXlnYSomme{\xintfloateval{\LXlnYSomme+\LX[##1]*log(\LY[##1]-\RegExpoOffset)}}%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LlnYSomme{\xintfloateval{\LlnYSomme+log(\LY[##1]-\RegExpoOffset)}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^2}}%
+ }%
+ %COEFFS TEMPORAIRES
+ \xdef\TmpCoeffExpoA{\xintfloateval{(\LNB*\LXlnYSomme-\LXSomme*\LlnYSomme)/(\LNB*\LXcSomme-(\LXSomme)^2)}}%
+ \xdef\TmpCoeffExpoB{\xintfloateval{1/\LNB*\LlnYSomme-(\TmpCoeffExpoA)/\LNB*\LXSomme}}%
+ %STOCKAGE
+ \IfStrEq{\RegExpoOffRound}{}%
+ {%
+ \expandafter\def\csname\RegExpoOffCoefb\endcsname{\xintfloateval{exp(\TmpCoeffExpoB)}}%
+ \expandafter\def\csname\RegExpoOffCoefa\endcsname{\xintfloateval{\TmpCoeffExpoA}}%
+ }%
+ {%
+ \IfSubStr{\RegExpoOffRound}{/}%
+ {%
+ \StrCut{\RegExpoOffRound}{/}{\xintarrondisregexpoffa}{\xintarrondisregexpoffb}%
+ }%
+ {%
+ \xdef\xintarrondisregexpoffa{\RegExpoOffRound}\xdef\xintarrondisregexpoffb{\RegExpoOffRound}%
+ }%
+ \expandafter\def\csname\RegExpoOffCoefb\endcsname{\xintfloateval{round(exp(\TmpCoeffExpoB),\xintarrondisregexpoffb)}}%
+ \expandafter\def\csname\RegExpoOffCoefa\endcsname{\xintfloateval{round(\TmpCoeffExpoA,\xintarrondisregexpoffa)}}%
+ }%
+}
+
+%régression cubique
+\defKV[CoeffRegCubic]{%
+ coeffa=\def\RegCubicCoefa{#1},%
+ coeffb=\def\RegCubicCoefb{#1},%
+ coeffc=\def\RegCubicCoefc{#1},%
+ coeffd=\def\RegCubicCoefd{#1},%
+ round=\def\RegCubicRound{#1}
+}
+
+\setKVdefault[CoeffRegCubic]{%
+ coeffa=cubrega,%
+ coeffb=cubregb,%
+ coeffc=cubregc,%
+ coeffd=cubregd,%
+ round={}
+}
+
+\newcommand\xintcubreg[3][]{%
+ \useKVdefault[CoeffRegCubic]%
+ \setKV[CoeffRegCubic]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}%
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXdSomme{0}%
+ \xdef\LXtSomme{0}%
+ \xdef\LXqSomme{0}%
+ \xdef\LXcSomme{0}%
+ \xdef\LXsSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXdYSomme{0}%
+ \xdef\LXtYSomme{0}%
+ %calculs
+ \xintFor* ##1 in {\xintSeq{1}{\LNB}}\do{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[##1]}}%
+ \xdef\LXdSomme{\xintfloateval{\LXdSomme+(\LX[##1])^2}}%
+ \xdef\LXtSomme{\xintfloateval{\LXtSomme+(\LX[##1])^3}}%
+ \xdef\LXqSomme{\xintfloateval{\LXqSomme+(\LX[##1])^4}}%
+ \xdef\LXcSomme{\xintfloateval{\LXcSomme+(\LX[##1])^5}}%
+ \xdef\LXsSomme{\xintfloateval{\LXsSomme+(\LX[##1])^6}}%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[##1]}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+\LX[##1]*\LY[##1]}}%
+ \xdef\LXdYSomme{\xintfloateval{\LXdYSomme+(\LX[##1])^2*\LY[##1]}}%
+ \xdef\LXtYSomme{\xintfloateval{\LXtYSomme+(\LX[##1])^3*\LY[##1]}}%
+ }%
+ %calculs suites, avec des matrices !!
+ \def\MatA{\LXtSomme}%
+ \def\MatB{\LXdSomme}%
+ \def\MatC{\LXSomme}%
+ \def\MatD{\LNB}%
+ \def\MatE{\LXqSomme}%
+ \def\MatF{\LXtSomme}%
+ \def\MatG{\LXdSomme}%
+ \def\MatH{\LXSomme}%
+ \def\MatI{\LXcSomme}%
+ \def\MatJ{\LXqSomme}%
+ \def\MatK{\LXtSomme}%
+ \def\MatL{\LXdSomme}%
+ \def\MatM{\LXsSomme}%
+ \def\MatN{\LXcSomme}%
+ \def\MatO{\LXqSomme}%
+ \def\MatP{\LXtSomme}%
+ \def\MatBA{\LYSomme}%
+ \def\MatBB{\LXYSomme}%
+ \def\MatBC{\LXdYSomme}%
+ \def\MatBD{\LXtYSomme}%
+ \def\DETMATRICE{\xintfloateval{\MatA*\MatF*\MatK*\MatP-\MatA*\MatF*\MatL*\MatO-\MatA*\MatG*\MatJ*\MatP+\MatA*\MatG*\MatL*\MatN+\MatA*\MatH*\MatJ*\MatO-\MatA*\MatH*\MatK*\MatN-\MatB*\MatE*\MatK*\MatP+\MatB*\MatE*\MatL*\MatO+\MatB*\MatG*\MatI*\MatP-\MatB*\MatG*\MatL*\MatM-\MatB*\MatH*\MatI*\MatO+\MatB*\MatH*\MatK*\MatM+\MatC*\MatE*\MatJ*\MatP-\MatC*\MatE*\MatL*\MatN-\MatC*\MatF*\MatI*\MatP+\MatC*\MatF*\MatL*\MatM+\MatC*\MatH*\MatI*\MatN-\MatC*\MatH*\MatJ*\MatM-\MatD*\MatE*\MatJ*\MatO+\MatD*\MatE*\MatK*\MatN+\MatD*\MatF*\MatI*\MatO-\MatD*\MatF*\MatK*\MatM-\MatD*\MatG*\MatI*\MatN+\MatD*\MatG*\MatJ*\MatM}}%
+ \def\MatInvA{(\MatF*\MatK*\MatP-\MatF*\MatL*\MatO-\MatG*\MatJ*\MatP+\MatG*\MatL*\MatN+\MatH*\MatJ*\MatO-\MatH*\MatK*\MatN)/\DETMATRICE}%
+ \def\MatInvB{(-\MatB*\MatK*\MatP+\MatB*\MatL*\MatO+\MatC*\MatJ*\MatP-\MatC*\MatL*\MatN-\MatD*\MatJ*\MatO+\MatD*\MatK*\MatN)/\DETMATRICE}%
+ \def\MatInvC{(\MatB*\MatG*\MatP-\MatB*\MatH*\MatO-\MatC*\MatF*\MatP+\MatC*\MatH*\MatN+\MatD*\MatF*\MatO-\MatD*\MatG*\MatN)/\DETMATRICE}%
+ \def\MatInvD{(-\MatB*\MatG*\MatL+\MatB*\MatH*\MatK+\MatC*\MatF*\MatL-\MatC*\MatH*\MatJ-\MatD*\MatF*\MatK+\MatD*\MatG*\MatJ)/\DETMATRICE}%
+ \def\MatInvE{(-\MatE*\MatK*\MatP+\MatE*\MatL*\MatO+\MatG*\MatI*\MatP-\MatG*\MatL*\MatM-\MatH*\MatI*\MatO+\MatH*\MatK*\MatM)/\DETMATRICE}%
+ \def\MatInvF{(\MatA*\MatK*\MatP-\MatA*\MatL*\MatO-\MatC*\MatI*\MatP+\MatC*\MatL*\MatM+\MatD*\MatI*\MatO-\MatD*\MatK*\MatM)/\DETMATRICE}%
+ \def\MatInvG{(-\MatA*\MatG*\MatP+\MatA*\MatH*\MatO+\MatC*\MatE*\MatP-\MatC*\MatH*\MatM-\MatD*\MatE*\MatO+\MatD*\MatG*\MatM)/\DETMATRICE}%
+ \def\MatInvH{(\MatA*\MatG*\MatL-\MatA*\MatH*\MatK-\MatC*\MatE*\MatL+\MatC*\MatH*\MatI+\MatD*\MatE*\MatK-\MatD*\MatG*\MatI)/\DETMATRICE}%
+ \def\MatInvI{(\MatE*\MatJ*\MatP-\MatE*\MatL*\MatN-\MatF*\MatI*\MatP+\MatF*\MatL*\MatM+\MatH*\MatI*\MatN-\MatH*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvJ{(-\MatA*\MatJ*\MatP+\MatA*\MatL*\MatN+\MatB*\MatI*\MatP-\MatB*\MatL*\MatM-\MatD*\MatI*\MatN+\MatD*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvK{(\MatA*\MatF*\MatP-\MatA*\MatH*\MatN-\MatB*\MatE*\MatP+\MatB*\MatH*\MatM+\MatD*\MatE*\MatN-\MatD*\MatF*\MatM)/\DETMATRICE}%
+ \def\MatInvL{(-\MatA*\MatF*\MatL+\MatA*\MatH*\MatJ+\MatB*\MatE*\MatL-\MatB*\MatH*\MatI-\MatD*\MatE*\MatJ+\MatD*\MatF*\MatI)/\DETMATRICE}%
+ \def\MatInvM{(-\MatE*\MatJ*\MatO+\MatE*\MatK*\MatN+\MatF*\MatI*\MatO-\MatF*\MatK*\MatM-\MatG*\MatI*\MatN+\MatG*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvN{(\MatA*\MatJ*\MatO-\MatA*\MatK*\MatN-\MatB*\MatI*\MatO+\MatB*\MatK*\MatM+\MatC*\MatI*\MatN-\MatC*\MatJ*\MatM)/\DETMATRICE}%
+ \def\MatInvO{(-\MatA*\MatF*\MatO+\MatA*\MatG*\MatN+\MatB*\MatE*\MatO-\MatB*\MatG*\MatM-\MatC*\MatE*\MatN+\MatC*\MatF*\MatM)/\DETMATRICE}%
+ \def\MatInvP{(\MatA*\MatF*\MatK-\MatA*\MatG*\MatJ-\MatB*\MatE*\MatK+\MatB*\MatG*\MatI+\MatC*\MatE*\MatJ-\MatC*\MatF*\MatI)/\DETMATRICE}%
+ %COEFFS TEMPORAIRES OK
+ \xdef\tmp@reg@cub@a{\xintfloateval{\MatInvA*\MatBA+\MatInvB*\MatBB+\MatInvC*\MatBC+\MatInvD*\MatBD}}%
+ \xdef\tmp@reg@cub@b{\xintfloateval{\MatInvE*\MatBA+\MatInvF*\MatBB+\MatInvG*\MatBC+\MatInvH*\MatBD}}%
+ \xdef\tmp@reg@cub@c{\xintfloateval{\MatInvI*\MatBA+\MatInvJ*\MatBB+\MatInvK*\MatBC+\MatInvL*\MatBD}}%
+ \xdef\tmp@reg@cub@d{\xintfloateval{\MatInvM*\MatBA+\MatInvN*\MatBB+\MatInvO*\MatBC+\MatInvP*\MatBD}}%
+ %STOCKAGE
+ \IfStrEq{\RegCubicRound}{}%
+ {%
+ \expandafter\def\csname\RegCubicCoefa\endcsname{\tmp@reg@cub@a}%
+ \expandafter\def\csname\RegCubicCoefb\endcsname{\tmp@reg@cub@b}%
+ \expandafter\def\csname\RegCubicCoefc\endcsname{\tmp@reg@cub@c}%
+ \expandafter\def\csname\RegCubicCoefd\endcsname{\tmp@reg@cub@d}%
+ }%
+ {%
+ \IfSubStr{\RegCubicRound}{/}%
+ {%
+ \StrBefore[1]{\RegCubicRound}{/}[\xintarrondisregcuba]%
+ \StrBetween[1,2]{\RegCubicRound}{/}{/}[\xintarrondisregcubb]%
+ \StrBetween[2,3]{\RegCubicRound}{/}{/}[\xintarrondisregcubc]%
+ \StrBehind[3]{\RegCubicRound}{/}[\xintarrondisregcubd]%
+ }%
+ {%
+ \xdef\xintarrondisregcuba{\RegCubicRound}%
+ \xdef\xintarrondisregcubb{\RegCubicRound}%
+ \xdef\xintarrondisregcubc{\RegCubicRound}%
+ \xdef\xintarrondisregcubd{\RegCubicRound}%
+ }%
+ \expandafter\def\csname\RegCubicCoefa\endcsname{\xintfloateval{round(\tmp@reg@cub@a,\xintarrondisregcuba)}}%
+ \expandafter\def\csname\RegCubicCoefb\endcsname{\xintfloateval{round(\tmp@reg@cub@b,\xintarrondisregcubb)}}%
+ \expandafter\def\csname\RegCubicCoefc\endcsname{\xintfloateval{round(\tmp@reg@cub@c,\xintarrondisregcubc)}}%
+ \expandafter\def\csname\RegCubicCoefd\endcsname{\xintfloateval{round(\tmp@reg@cub@d,\xintarrondisregcubd)}}%
+ }%
+}
+
+\endinput \ No newline at end of file